"use strict";
var __create = Object.create;
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __getProtoOf = Object.getPrototypeOf;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __esm = (fn2, res) => function __init() {
return fn2 && (res = (0, fn2[__getOwnPropNames(fn2)[0]])(fn2 = 0)), res;
};
var __commonJS = (cb, mod) => function __require() {
return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
};
var __export = (target, all) => {
for (var name in all)
__defProp(target, name, { get: all[name], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") {
for (let key of __getOwnPropNames(from))
if (!__hasOwnProp.call(to, key) && key !== except)
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
}
return to;
};
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
// If the importer is in node compatibility mode or this is not an ESM
// file that has been converted to a CommonJS file using a Babel-
// compatible transform (i.e. "__esModule" has not been set), then set
// "default" to the CommonJS "module.exports" for node compatibility.
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
mod
));
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
// ../../../usr/share/nodejs/typanion/lib/index.mjs
var lib_exports = {};
__export(lib_exports, {
KeyRelationship: () => KeyRelationship,
TypeAssertionError: () => TypeAssertionError,
applyCascade: () => applyCascade,
as: () => as,
assert: () => assert,
assertWithErrors: () => assertWithErrors,
cascade: () => cascade,
fn: () => fn,
hasAtLeastOneKey: () => hasAtLeastOneKey,
hasExactLength: () => hasExactLength,
hasForbiddenKeys: () => hasForbiddenKeys,
hasKeyRelationship: () => hasKeyRelationship,
hasMaxLength: () => hasMaxLength,
hasMinLength: () => hasMinLength,
hasMutuallyExclusiveKeys: () => hasMutuallyExclusiveKeys,
hasRequiredKeys: () => hasRequiredKeys,
hasUniqueItems: () => hasUniqueItems,
isArray: () => isArray,
isAtLeast: () => isAtLeast,
isAtMost: () => isAtMost,
isBase64: () => isBase64,
isBoolean: () => isBoolean,
isDate: () => isDate,
isDict: () => isDict,
isEnum: () => isEnum,
isHexColor: () => isHexColor,
isISO8601: () => isISO8601,
isInExclusiveRange: () => isInExclusiveRange,
isInInclusiveRange: () => isInInclusiveRange,
isInstanceOf: () => isInstanceOf,
isInteger: () => isInteger,
isJSON: () => isJSON,
isLiteral: () => isLiteral,
isLowerCase: () => isLowerCase,
isMap: () => isMap,
isNegative: () => isNegative,
isNullable: () => isNullable,
isNumber: () => isNumber,
isObject: () => isObject,
isOneOf: () => isOneOf,
isOptional: () => isOptional,
isPartial: () => isPartial,
isPayload: () => isPayload,
isPositive: () => isPositive,
isRecord: () => isRecord,
isSet: () => isSet,
isString: () => isString,
isTuple: () => isTuple,
isUUID4: () => isUUID4,
isUnknown: () => isUnknown,
isUpperCase: () => isUpperCase,
makeTrait: () => makeTrait,
makeValidator: () => makeValidator,
matchesRegExp: () => matchesRegExp,
softAssert: () => softAssert
});
function getPrintable(value) {
if (value === null)
return `null`;
if (value === void 0)
return `undefined`;
if (value === ``)
return `an empty string`;
if (typeof value === "symbol")
return `<${value.toString()}>`;
if (Array.isArray(value))
return `an array`;
return JSON.stringify(value);
}
function getPrintableArray(value, conjunction) {
if (value.length === 0)
return `nothing`;
if (value.length === 1)
return getPrintable(value[0]);
const rest = value.slice(0, -1);
const trailing = value[value.length - 1];
const separator = value.length > 2 ? `, ${conjunction} ` : ` ${conjunction} `;
return `${rest.map((value2) => getPrintable(value2)).join(`, `)}${separator}${getPrintable(trailing)}`;
}
function computeKey(state, key) {
var _a, _b, _c;
if (typeof key === `number`) {
return `${(_a = state === null || state === void 0 ? void 0 : state.p) !== null && _a !== void 0 ? _a : `.`}[${key}]`;
} else if (simpleKeyRegExp.test(key)) {
return `${(_b = state === null || state === void 0 ? void 0 : state.p) !== null && _b !== void 0 ? _b : ``}.${key}`;
} else {
return `${(_c = state === null || state === void 0 ? void 0 : state.p) !== null && _c !== void 0 ? _c : `.`}[${JSON.stringify(key)}]`;
}
}
function plural(n, singular, plural2) {
return n === 1 ? singular : plural2;
}
function pushError({ errors, p } = {}, message) {
errors === null || errors === void 0 ? void 0 : errors.push(`${p !== null && p !== void 0 ? p : `.`}: ${message}`);
return false;
}
function makeSetter(target, key) {
return (v) => {
target[key] = v;
};
}
function makeCoercionFn(target, key) {
return (v) => {
const previous = target[key];
target[key] = v;
return makeCoercionFn(target, key).bind(null, previous);
};
}
function makeLazyCoercionFn(fn2, orig, generator) {
const commit = () => {
fn2(generator());
return revert;
};
const revert = () => {
fn2(orig);
return commit;
};
return commit;
}
function isUnknown() {
return makeValidator({
test: (value, state) => {
return true;
}
});
}
function isLiteral(expected) {
return makeValidator({
test: (value, state) => {
if (value !== expected)
return pushError(state, `Expected ${getPrintable(expected)} (got ${getPrintable(value)})`);
return true;
}
});
}
function isString() {
return makeValidator({
test: (value, state) => {
if (typeof value !== `string`)
return pushError(state, `Expected a string (got ${getPrintable(value)})`);
return true;
}
});
}
function isEnum(enumSpec) {
const valuesArray = Array.isArray(enumSpec) ? enumSpec : Object.values(enumSpec);
const isAlphaNum = valuesArray.every((item) => typeof item === "string" || typeof item === "number");
const values = new Set(valuesArray);
if (values.size === 1)
return isLiteral([...values][0]);
return makeValidator({
test: (value, state) => {
if (!values.has(value)) {
if (isAlphaNum) {
return pushError(state, `Expected one of ${getPrintableArray(valuesArray, `or`)} (got ${getPrintable(value)})`);
} else {
return pushError(state, `Expected a valid enumeration value (got ${getPrintable(value)})`);
}
}
return true;
}
});
}
function isBoolean() {
return makeValidator({
test: (value, state) => {
var _a;
if (typeof value !== `boolean`) {
if (typeof (state === null || state === void 0 ? void 0 : state.coercions) !== `undefined`) {
if (typeof (state === null || state === void 0 ? void 0 : state.coercion) === `undefined`)
return pushError(state, `Unbound coercion result`);
const coercion = BOOLEAN_COERCIONS.get(value);
if (typeof coercion !== `undefined`) {
state.coercions.push([(_a = state.p) !== null && _a !== void 0 ? _a : `.`, state.coercion.bind(null, coercion)]);
return true;
}
}
return pushError(state, `Expected a boolean (got ${getPrintable(value)})`);
}
return true;
}
});
}
function isNumber() {
return makeValidator({
test: (value, state) => {
var _a;
if (typeof value !== `number`) {
if (typeof (state === null || state === void 0 ? void 0 : state.coercions) !== `undefined`) {
if (typeof (state === null || state === void 0 ? void 0 : state.coercion) === `undefined`)
return pushError(state, `Unbound coercion result`);
let coercion;
if (typeof value === `string`) {
let val;
try {
val = JSON.parse(value);
} catch (_b) {
}
if (typeof val === `number`) {
if (JSON.stringify(val) === value) {
coercion = val;
} else {
return pushError(state, `Received a number that can't be safely represented by the runtime (${value})`);
}
}
}
if (typeof coercion !== `undefined`) {
state.coercions.push([(_a = state.p) !== null && _a !== void 0 ? _a : `.`, state.coercion.bind(null, coercion)]);
return true;
}
}
return pushError(state, `Expected a number (got ${getPrintable(value)})`);
}
return true;
}
});
}
function isPayload(spec) {
return makeValidator({
test: (value, state) => {
var _a;
if (typeof (state === null || state === void 0 ? void 0 : state.coercions) === `undefined`)
return pushError(state, `The isPayload predicate can only be used with coercion enabled`);
if (typeof state.coercion === `undefined`)
return pushError(state, `Unbound coercion result`);
if (typeof value !== `string`)
return pushError(state, `Expected a string (got ${getPrintable(value)})`);
let inner;
try {
inner = JSON.parse(value);
} catch (_b) {
return pushError(state, `Expected a JSON string (got ${getPrintable(value)})`);
}
const wrapper = { value: inner };
if (!spec(inner, Object.assign(Object.assign({}, state), { coercion: makeCoercionFn(wrapper, `value`) })))
return false;
state.coercions.push([(_a = state.p) !== null && _a !== void 0 ? _a : `.`, state.coercion.bind(null, wrapper.value)]);
return true;
}
});
}
function isDate() {
return makeValidator({
test: (value, state) => {
var _a;
if (!(value instanceof Date)) {
if (typeof (state === null || state === void 0 ? void 0 : state.coercions) !== `undefined`) {
if (typeof (state === null || state === void 0 ? void 0 : state.coercion) === `undefined`)
return pushError(state, `Unbound coercion result`);
let coercion;
if (typeof value === `string` && iso8601RegExp.test(value)) {
coercion = new Date(value);
} else {
let timestamp;
if (typeof value === `string`) {
let val;
try {
val = JSON.parse(value);
} catch (_b) {
}
if (typeof val === `number`) {
timestamp = val;
}
} else if (typeof value === `number`) {
timestamp = value;
}
if (typeof timestamp !== `undefined`) {
if (Number.isSafeInteger(timestamp) || !Number.isSafeInteger(timestamp * 1e3)) {
coercion = new Date(timestamp * 1e3);
} else {
return pushError(state, `Received a timestamp that can't be safely represented by the runtime (${value})`);
}
}
}
if (typeof coercion !== `undefined`) {
state.coercions.push([(_a = state.p) !== null && _a !== void 0 ? _a : `.`, state.coercion.bind(null, coercion)]);
return true;
}
}
return pushError(state, `Expected a date (got ${getPrintable(value)})`);
}
return true;
}
});
}
function isArray(spec, { delimiter } = {}) {
return makeValidator({
test: (value, state) => {
var _a;
const originalValue = value;
if (typeof value === `string` && typeof delimiter !== `undefined`) {
if (typeof (state === null || state === void 0 ? void 0 : state.coercions) !== `undefined`) {
if (typeof (state === null || state === void 0 ? void 0 : state.coercion) === `undefined`)
return pushError(state, `Unbound coercion result`);
value = value.split(delimiter);
}
}
if (!Array.isArray(value))
return pushError(state, `Expected an array (got ${getPrintable(value)})`);
let valid = true;
for (let t = 0, T = value.length; t < T; ++t) {
valid = spec(value[t], Object.assign(Object.assign({}, state), { p: computeKey(state, t), coercion: makeCoercionFn(value, t) })) && valid;
if (!valid && (state === null || state === void 0 ? void 0 : state.errors) == null) {
break;
}
}
if (value !== originalValue)
state.coercions.push([(_a = state.p) !== null && _a !== void 0 ? _a : `.`, state.coercion.bind(null, value)]);
return valid;
}
});
}
function isSet(spec, { delimiter } = {}) {
const isArrayValidator = isArray(spec, { delimiter });
return makeValidator({
test: (value, state) => {
var _a, _b;
if (Object.getPrototypeOf(value).toString() === `[object Set]`) {
if (typeof (state === null || state === void 0 ? void 0 : state.coercions) !== `undefined`) {
if (typeof (state === null || state === void 0 ? void 0 : state.coercion) === `undefined`)
return pushError(state, `Unbound coercion result`);
const originalValues = [...value];
const coercedValues = [...value];
if (!isArrayValidator(coercedValues, Object.assign(Object.assign({}, state), { coercion: void 0 })))
return false;
const updateValue = () => coercedValues.some((val, t) => val !== originalValues[t]) ? new Set(coercedValues) : value;
state.coercions.push([(_a = state.p) !== null && _a !== void 0 ? _a : `.`, makeLazyCoercionFn(state.coercion, value, updateValue)]);
return true;
} else {
let valid = true;
for (const subValue of value) {
valid = spec(subValue, Object.assign({}, state)) && valid;
if (!valid && (state === null || state === void 0 ? void 0 : state.errors) == null) {
break;
}
}
return valid;
}
}
if (typeof (state === null || state === void 0 ? void 0 : state.coercions) !== `undefined`) {
if (typeof (state === null || state === void 0 ? void 0 : state.coercion) === `undefined`)
return pushError(state, `Unbound coercion result`);
const store = { value };
if (!isArrayValidator(value, Object.assign(Object.assign({}, state), { coercion: makeCoercionFn(store, `value`) })))
return false;
state.coercions.push([(_b = state.p) !== null && _b !== void 0 ? _b : `.`, makeLazyCoercionFn(state.coercion, value, () => new Set(store.value))]);
return true;
}
return pushError(state, `Expected a set (got ${getPrintable(value)})`);
}
});
}
function isMap(keySpec, valueSpec) {
const isArrayValidator = isArray(isTuple([keySpec, valueSpec]));
const isRecordValidator = isRecord(valueSpec, { keys: keySpec });
return makeValidator({
test: (value, state) => {
var _a, _b, _c;
if (Object.getPrototypeOf(value).toString() === `[object Map]`) {
if (typeof (state === null || state === void 0 ? void 0 : state.coercions) !== `undefined`) {
if (typeof (state === null || state === void 0 ? void 0 : state.coercion) === `undefined`)
return pushError(state, `Unbound coercion result`);
const originalValues = [...value];
const coercedValues = [...value];
if (!isArrayValidator(coercedValues, Object.assign(Object.assign({}, state), { coercion: void 0 })))
return false;
const updateValue = () => coercedValues.some((val, t) => val[0] !== originalValues[t][0] || val[1] !== originalValues[t][1]) ? new Map(coercedValues) : value;
state.coercions.push([(_a = state.p) !== null && _a !== void 0 ? _a : `.`, makeLazyCoercionFn(state.coercion, value, updateValue)]);
return true;
} else {
let valid = true;
for (const [key, subValue] of value) {
valid = keySpec(key, Object.assign({}, state)) && valid;
if (!valid && (state === null || state === void 0 ? void 0 : state.errors) == null) {
break;
}
valid = valueSpec(subValue, Object.assign(Object.assign({}, state), { p: computeKey(state, key) })) && valid;
if (!valid && (state === null || state === void 0 ? void 0 : state.errors) == null) {
break;
}
}
return valid;
}
}
if (typeof (state === null || state === void 0 ? void 0 : state.coercions) !== `undefined`) {
if (typeof (state === null || state === void 0 ? void 0 : state.coercion) === `undefined`)
return pushError(state, `Unbound coercion result`);
const store = { value };
if (Array.isArray(value)) {
if (!isArrayValidator(value, Object.assign(Object.assign({}, state), { coercion: void 0 })))
return false;
state.coercions.push([(_b = state.p) !== null && _b !== void 0 ? _b : `.`, makeLazyCoercionFn(state.coercion, value, () => new Map(store.value))]);
return true;
} else {
if (!isRecordValidator(value, Object.assign(Object.assign({}, state), { coercion: makeCoercionFn(store, `value`) })))
return false;
state.coercions.push([(_c = state.p) !== null && _c !== void 0 ? _c : `.`, makeLazyCoercionFn(state.coercion, value, () => new Map(Object.entries(store.value)))]);
return true;
}
}
return pushError(state, `Expected a map (got ${getPrintable(value)})`);
}
});
}
function isTuple(spec, { delimiter } = {}) {
const lengthValidator = hasExactLength(spec.length);
return makeValidator({
test: (value, state) => {
var _a;
if (typeof value === `string` && typeof delimiter !== `undefined`) {
if (typeof (state === null || state === void 0 ? void 0 : state.coercions) !== `undefined`) {
if (typeof (state === null || state === void 0 ? void 0 : state.coercion) === `undefined`)
return pushError(state, `Unbound coercion result`);
value = value.split(delimiter);
state.coercions.push([(_a = state.p) !== null && _a !== void 0 ? _a : `.`, state.coercion.bind(null, value)]);
}
}
if (!Array.isArray(value))
return pushError(state, `Expected a tuple (got ${getPrintable(value)})`);
let valid = lengthValidator(value, Object.assign({}, state));
for (let t = 0, T = value.length; t < T && t < spec.length; ++t) {
valid = spec[t](value[t], Object.assign(Object.assign({}, state), { p: computeKey(state, t), coercion: makeCoercionFn(value, t) })) && valid;
if (!valid && (state === null || state === void 0 ? void 0 : state.errors) == null) {
break;
}
}
return valid;
}
});
}
function isRecord(spec, { keys: keySpec = null } = {}) {
const isArrayValidator = isArray(isTuple([keySpec !== null && keySpec !== void 0 ? keySpec : isString(), spec]));
return makeValidator({
test: (value, state) => {
var _a;
if (Array.isArray(value)) {
if (typeof (state === null || state === void 0 ? void 0 : state.coercions) !== `undefined`) {
if (typeof (state === null || state === void 0 ? void 0 : state.coercion) === `undefined`)
return pushError(state, `Unbound coercion result`);
if (!isArrayValidator(value, Object.assign(Object.assign({}, state), { coercion: void 0 })))
return false;
value = Object.fromEntries(value);
state.coercions.push([(_a = state.p) !== null && _a !== void 0 ? _a : `.`, state.coercion.bind(null, value)]);
return true;
}
}
if (typeof value !== `object` || value === null)
return pushError(state, `Expected an object (got ${getPrintable(value)})`);
const keys = Object.keys(value);
let valid = true;
for (let t = 0, T = keys.length; t < T && (valid || (state === null || state === void 0 ? void 0 : state.errors) != null); ++t) {
const key = keys[t];
const sub = value[key];
if (key === `__proto__` || key === `constructor`) {
valid = pushError(Object.assign(Object.assign({}, state), { p: computeKey(state, key) }), `Unsafe property name`);
continue;
}
if (keySpec !== null && !keySpec(key, state)) {
valid = false;
continue;
}
if (!spec(sub, Object.assign(Object.assign({}, state), { p: computeKey(state, key), coercion: makeCoercionFn(value, key) }))) {
valid = false;
continue;
}
}
return valid;
}
});
}
function isDict(spec, opts = {}) {
return isRecord(spec, opts);
}
function isObject(props, { extra: extraSpec = null } = {}) {
const specKeys = Object.keys(props);
const validator = makeValidator({
test: (value, state) => {
if (typeof value !== `object` || value === null)
return pushError(state, `Expected an object (got ${getPrintable(value)})`);
const keys = /* @__PURE__ */ new Set([...specKeys, ...Object.keys(value)]);
const extra = {};
let valid = true;
for (const key of keys) {
if (key === `constructor` || key === `__proto__`) {
valid = pushError(Object.assign(Object.assign({}, state), { p: computeKey(state, key) }), `Unsafe property name`);
} else {
const spec = Object.prototype.hasOwnProperty.call(props, key) ? props[key] : void 0;
const sub = Object.prototype.hasOwnProperty.call(value, key) ? value[key] : void 0;
if (typeof spec !== `undefined`) {
valid = spec(sub, Object.assign(Object.assign({}, state), { p: computeKey(state, key), coercion: makeCoercionFn(value, key) })) && valid;
} else if (extraSpec === null) {
valid = pushError(Object.assign(Object.assign({}, state), { p: computeKey(state, key) }), `Extraneous property (got ${getPrintable(sub)})`);
} else {
Object.defineProperty(extra, key, {
enumerable: true,
get: () => sub,
set: makeSetter(value, key)
});
}
}
if (!valid && (state === null || state === void 0 ? void 0 : state.errors) == null) {
break;
}
}
if (extraSpec !== null && (valid || (state === null || state === void 0 ? void 0 : state.errors) != null))
valid = extraSpec(extra, state) && valid;
return valid;
}
});
return Object.assign(validator, {
properties: props
});
}
function isPartial(props) {
return isObject(props, { extra: isRecord(isUnknown()) });
}
function makeTrait(value) {
return () => {
return value;
};
}
function makeValidator({ test }) {
return makeTrait(test)();
}
function assert(val, validator) {
if (!validator(val)) {
throw new TypeAssertionError();
}
}
function assertWithErrors(val, validator) {
const errors = [];
if (!validator(val, { errors })) {
throw new TypeAssertionError({ errors });
}
}
function softAssert(val, validator) {
}
function as(value, validator, { coerce = false, errors: storeErrors, throw: throws } = {}) {
const errors = storeErrors ? [] : void 0;
if (!coerce) {
if (validator(value, { errors })) {
return throws ? value : { value, errors: void 0 };
} else if (!throws) {
return { value: void 0, errors: errors !== null && errors !== void 0 ? errors : true };
} else {
throw new TypeAssertionError({ errors });
}
}
const state = { value };
const coercion = makeCoercionFn(state, `value`);
const coercions = [];
if (!validator(value, { errors, coercion, coercions })) {
if (!throws) {
return { value: void 0, errors: errors !== null && errors !== void 0 ? errors : true };
} else {
throw new TypeAssertionError({ errors });
}
}
for (const [, apply] of coercions)
apply();
if (throws) {
return state.value;
} else {
return { value: state.value, errors: void 0 };
}
}
function fn(validators, fn2) {
const isValidArgList = isTuple(validators);
return (...args) => {
const check = isValidArgList(args);
if (!check)
throw new TypeAssertionError();
return fn2(...args);
};
}
function hasMinLength(length) {
return makeValidator({
test: (value, state) => {
if (!(value.length >= length))
return pushError(state, `Expected to have a length of at least ${length} elements (got ${value.length})`);
return true;
}
});
}
function hasMaxLength(length) {
return makeValidator({
test: (value, state) => {
if (!(value.length <= length))
return pushError(state, `Expected to have a length of at most ${length} elements (got ${value.length})`);
return true;
}
});
}
function hasExactLength(length) {
return makeValidator({
test: (value, state) => {
if (!(value.length === length))
return pushError(state, `Expected to have a length of exactly ${length} elements (got ${value.length})`);
return true;
}
});
}
function hasUniqueItems({ map } = {}) {
return makeValidator({
test: (value, state) => {
const set = /* @__PURE__ */ new Set();
const dup = /* @__PURE__ */ new Set();
for (let t = 0, T = value.length; t < T; ++t) {
const sub = value[t];
const key = typeof map !== `undefined` ? map(sub) : sub;
if (set.has(key)) {
if (dup.has(key))
continue;
pushError(state, `Expected to contain unique elements; got a duplicate with ${getPrintable(value)}`);
dup.add(key);
} else {
set.add(key);
}
}
return dup.size === 0;
}
});
}
function isNegative() {
return makeValidator({
test: (value, state) => {
if (!(value <= 0))
return pushError(state, `Expected to be negative (got ${value})`);
return true;
}
});
}
function isPositive() {
return makeValidator({
test: (value, state) => {
if (!(value >= 0))
return pushError(state, `Expected to be positive (got ${value})`);
return true;
}
});
}
function isAtLeast(n) {
return makeValidator({
test: (value, state) => {
if (!(value >= n))
return pushError(state, `Expected to be at least ${n} (got ${value})`);
return true;
}
});
}
function isAtMost(n) {
return makeValidator({
test: (value, state) => {
if (!(value <= n))
return pushError(state, `Expected to be at most ${n} (got ${value})`);
return true;
}
});
}
function isInInclusiveRange(a, b) {
return makeValidator({
test: (value, state) => {
if (!(value >= a && value <= b))
return pushError(state, `Expected to be in the [${a}; ${b}] range (got ${value})`);
return true;
}
});
}
function isInExclusiveRange(a, b) {
return makeValidator({
test: (value, state) => {
if (!(value >= a && value < b))
return pushError(state, `Expected to be in the [${a}; ${b}[ range (got ${value})`);
return true;
}
});
}
function isInteger({ unsafe = false } = {}) {
return makeValidator({
test: (value, state) => {
if (value !== Math.round(value))
return pushError(state, `Expected to be an integer (got ${value})`);
if (!unsafe && !Number.isSafeInteger(value))
return pushError(state, `Expected to be a safe integer (got ${value})`);
return true;
}
});
}
function matchesRegExp(regExp) {
return makeValidator({
test: (value, state) => {
if (!regExp.test(value))
return pushError(state, `Expected to match the pattern ${regExp.toString()} (got ${getPrintable(value)})`);
return true;
}
});
}
function isLowerCase() {
return makeValidator({
test: (value, state) => {
if (value !== value.toLowerCase())
return pushError(state, `Expected to be all-lowercase (got ${value})`);
return true;
}
});
}
function isUpperCase() {
return makeValidator({
test: (value, state) => {
if (value !== value.toUpperCase())
return pushError(state, `Expected to be all-uppercase (got ${value})`);
return true;
}
});
}
function isUUID4() {
return makeValidator({
test: (value, state) => {
if (!uuid4RegExp.test(value))
return pushError(state, `Expected to be a valid UUID v4 (got ${getPrintable(value)})`);
return true;
}
});
}
function isISO8601() {
return makeValidator({
test: (value, state) => {
if (!iso8601RegExp.test(value))
return pushError(state, `Expected to be a valid ISO 8601 date string (got ${getPrintable(value)})`);
return true;
}
});
}
function isHexColor({ alpha = false }) {
return makeValidator({
test: (value, state) => {
const res = alpha ? colorStringRegExp.test(value) : colorStringAlphaRegExp.test(value);
if (!res)
return pushError(state, `Expected to be a valid hexadecimal color string (got ${getPrintable(value)})`);
return true;
}
});
}
function isBase64() {
return makeValidator({
test: (value, state) => {
if (!base64RegExp.test(value))
return pushError(state, `Expected to be a valid base 64 string (got ${getPrintable(value)})`);
return true;
}
});
}
function isJSON(spec = isUnknown()) {
return makeValidator({
test: (value, state) => {
let data;
try {
data = JSON.parse(value);
} catch (_a) {
return pushError(state, `Expected to be a valid JSON string (got ${getPrintable(value)})`);
}
return spec(data, state);
}
});
}
function cascade(spec, ...followups) {
const resolvedFollowups = Array.isArray(followups[0]) ? followups[0] : followups;
return makeValidator({
test: (value, state) => {
var _a, _b;
const context = { value };
const subCoercion = typeof (state === null || state === void 0 ? void 0 : state.coercions) !== `undefined` ? makeCoercionFn(context, `value`) : void 0;
const subCoercions = typeof (state === null || state === void 0 ? void 0 : state.coercions) !== `undefined` ? [] : void 0;
if (!spec(value, Object.assign(Object.assign({}, state), { coercion: subCoercion, coercions: subCoercions })))
return false;
const reverts = [];
if (typeof subCoercions !== `undefined`)
for (const [, coercion] of subCoercions)
reverts.push(coercion());
try {
if (typeof (state === null || state === void 0 ? void 0 : state.coercions) !== `undefined`) {
if (context.value !== value) {
if (typeof (state === null || state === void 0 ? void 0 : state.coercion) === `undefined`)
return pushError(state, `Unbound coercion result`);
state.coercions.push([(_a = state.p) !== null && _a !== void 0 ? _a : `.`, state.coercion.bind(null, context.value)]);
}
(_b = state === null || state === void 0 ? void 0 : state.coercions) === null || _b === void 0 ? void 0 : _b.push(...subCoercions);
}
return resolvedFollowups.every((spec2) => {
return spec2(context.value, state);
});
} finally {
for (const revert of reverts) {
revert();
}
}
}
});
}
function applyCascade(spec, ...followups) {
const resolvedFollowups = Array.isArray(followups[0]) ? followups[0] : followups;
return cascade(spec, resolvedFollowups);
}
function isOptional(spec) {
return makeValidator({
test: (value, state) => {
if (typeof value === `undefined`)
return true;
return spec(value, state);
}
});
}
function isNullable(spec) {
return makeValidator({
test: (value, state) => {
if (value === null)
return true;
return spec(value, state);
}
});
}
function hasRequiredKeys(requiredKeys, options) {
var _a;
const requiredSet = new Set(requiredKeys);
const check = checks[(_a = options === null || options === void 0 ? void 0 : options.missingIf) !== null && _a !== void 0 ? _a : "missing"];
return makeValidator({
test: (value, state) => {
const keys = new Set(Object.keys(value));
const problems = [];
for (const key of requiredSet)
if (!check(keys, key, value))
problems.push(key);
if (problems.length > 0)
return pushError(state, `Missing required ${plural(problems.length, `property`, `properties`)} ${getPrintableArray(problems, `and`)}`);
return true;
}
});
}
function hasAtLeastOneKey(requiredKeys, options) {
var _a;
const requiredSet = new Set(requiredKeys);
const check = checks[(_a = options === null || options === void 0 ? void 0 : options.missingIf) !== null && _a !== void 0 ? _a : "missing"];
return makeValidator({
test: (value, state) => {
const keys = Object.keys(value);
const valid = keys.some((key) => check(requiredSet, key, value));
if (!valid)
return pushError(state, `Missing at least one property from ${getPrintableArray(Array.from(requiredSet), `or`)}`);
return true;
}
});
}
function hasForbiddenKeys(forbiddenKeys, options) {
var _a;
const forbiddenSet = new Set(forbiddenKeys);
const check = checks[(_a = options === null || options === void 0 ? void 0 : options.missingIf) !== null && _a !== void 0 ? _a : "missing"];
return makeValidator({
test: (value, state) => {
const keys = new Set(Object.keys(value));
const problems = [];
for (const key of forbiddenSet)
if (check(keys, key, value))
problems.push(key);
if (problems.length > 0)
return pushError(state, `Forbidden ${plural(problems.length, `property`, `properties`)} ${getPrintableArray(problems, `and`)}`);
return true;
}
});
}
function hasMutuallyExclusiveKeys(exclusiveKeys, options) {
var _a;
const exclusiveSet = new Set(exclusiveKeys);
const check = checks[(_a = options === null || options === void 0 ? void 0 : options.missingIf) !== null && _a !== void 0 ? _a : "missing"];
return makeValidator({
test: (value, state) => {
const keys = new Set(Object.keys(value));
const used = [];
for (const key of exclusiveSet)
if (check(keys, key, value))
used.push(key);
if (used.length > 1)
return pushError(state, `Mutually exclusive properties ${getPrintableArray(used, `and`)}`);
return true;
}
});
}
function hasKeyRelationship(subject, relationship, others, options) {
var _a, _b;
const skipped = new Set((_a = options === null || options === void 0 ? void 0 : options.ignore) !== null && _a !== void 0 ? _a : []);
const check = checks[(_b = options === null || options === void 0 ? void 0 : options.missingIf) !== null && _b !== void 0 ? _b : "missing"];
const otherSet = new Set(others);
const spec = keyRelationships[relationship];
const conjunction = relationship === KeyRelationship.Forbids ? `or` : `and`;
return makeValidator({
test: (value, state) => {
const keys = new Set(Object.keys(value));
if (!check(keys, subject, value) || skipped.has(value[subject]))
return true;
const problems = [];
for (const key of otherSet)
if ((check(keys, key, value) && !skipped.has(value[key])) !== spec.expect)
problems.push(key);
if (problems.length >= 1)
return pushError(state, `Property "${subject}" ${spec.message} ${plural(problems.length, `property`, `properties`)} ${getPrintableArray(problems, conjunction)}`);
return true;
}
});
}
var simpleKeyRegExp, colorStringRegExp, colorStringAlphaRegExp, base64RegExp, uuid4RegExp, iso8601RegExp, BOOLEAN_COERCIONS, isInstanceOf, isOneOf, TypeAssertionError, checks, KeyRelationship, keyRelationships;
var init_lib = __esm({
"../../../usr/share/nodejs/typanion/lib/index.mjs"() {
simpleKeyRegExp = /^[a-zA-Z_][a-zA-Z0-9_]*$/;
colorStringRegExp = /^#[0-9a-f]{6}$/i;
colorStringAlphaRegExp = /^#[0-9a-f]{6}([0-9a-f]{2})?$/i;
base64RegExp = /^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/;
uuid4RegExp = /^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89aAbB][a-f0-9]{3}-[a-f0-9]{12}$/i;
iso8601RegExp = /^(?:[1-9]\d{3}(-?)(?:(?:0[1-9]|1[0-2])\1(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])\1(?:29|30)|(?:0[13578]|1[02])(?:\1)31|00[1-9]|0[1-9]\d|[12]\d{2}|3(?:[0-5]\d|6[0-5]))|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)(?:(-?)02(?:\2)29|-?366))T(?:[01]\d|2[0-3])(:?)[0-5]\d(?:\3[0-5]\d)?(?:Z|[+-][01]\d(?:\3[0-5]\d)?)$/;
BOOLEAN_COERCIONS = /* @__PURE__ */ new Map([
[`true`, true],
[`True`, true],
[`1`, true],
[1, true],
[`false`, false],
[`False`, false],
[`0`, false],
[0, false]
]);
isInstanceOf = (constructor) => makeValidator({
test: (value, state) => {
if (!(value instanceof constructor))
return pushError(state, `Expected an instance of ${constructor.name} (got ${getPrintable(value)})`);
return true;
}
});
isOneOf = (specs, { exclusive = false } = {}) => makeValidator({
test: (value, state) => {
var _a, _b, _c;
const matches = [];
const errorBuffer = typeof (state === null || state === void 0 ? void 0 : state.errors) !== `undefined` ? [] : void 0;
for (let t = 0, T = specs.length; t < T; ++t) {
const subErrors = typeof (state === null || state === void 0 ? void 0 : state.errors) !== `undefined` ? [] : void 0;
const subCoercions = typeof (state === null || state === void 0 ? void 0 : state.coercions) !== `undefined` ? [] : void 0;
if (specs[t](value, Object.assign(Object.assign({}, state), { errors: subErrors, coercions: subCoercions, p: `${(_a = state === null || state === void 0 ? void 0 : state.p) !== null && _a !== void 0 ? _a : `.`}#${t + 1}` }))) {
matches.push([`#${t + 1}`, subCoercions]);
if (!exclusive) {
break;
}
} else {
errorBuffer === null || errorBuffer === void 0 ? void 0 : errorBuffer.push(subErrors[0]);
}
}
if (matches.length === 1) {
const [, subCoercions] = matches[0];
if (typeof subCoercions !== `undefined`)
(_b = state === null || state === void 0 ? void 0 : state.coercions) === null || _b === void 0 ? void 0 : _b.push(...subCoercions);
return true;
}
if (matches.length > 1)
pushError(state, `Expected to match exactly a single predicate (matched ${matches.join(`, `)})`);
else
(_c = state === null || state === void 0 ? void 0 : state.errors) === null || _c === void 0 ? void 0 : _c.push(...errorBuffer);
return false;
}
});
TypeAssertionError = class extends Error {
constructor({ errors } = {}) {
let errorMessage = `Type mismatch`;
if (errors && errors.length > 0) {
errorMessage += `
`;
for (const error of errors) {
errorMessage += `
- ${error}`;
}
}
super(errorMessage);
}
};
checks = {
missing: (keys, key) => keys.has(key),
undefined: (keys, key, value) => keys.has(key) && typeof value[key] !== `undefined`,
nil: (keys, key, value) => keys.has(key) && value[key] != null,
falsy: (keys, key, value) => keys.has(key) && !!value[key]
};
(function(KeyRelationship2) {
KeyRelationship2["Forbids"] = "Forbids";
KeyRelationship2["Requires"] = "Requires";
})(KeyRelationship || (KeyRelationship = {}));
keyRelationships = {
[KeyRelationship.Forbids]: {
expect: false,
message: `forbids using`
},
[KeyRelationship.Requires]: {
expect: true,
message: `requires using`
}
};
}
});
// ../../../usr/share/nodejs/semver/internal/constants.js
var require_constants = __commonJS({
"../../../usr/share/nodejs/semver/internal/constants.js"(exports2, module2) {
var SEMVER_SPEC_VERSION = "2.0.0";
var MAX_LENGTH = 256;
var MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || /* istanbul ignore next */
9007199254740991;
var MAX_SAFE_COMPONENT_LENGTH = 16;
var MAX_SAFE_BUILD_LENGTH = MAX_LENGTH - 6;
var RELEASE_TYPES = [
"major",
"premajor",
"minor",
"preminor",
"patch",
"prepatch",
"prerelease"
];
module2.exports = {
MAX_LENGTH,
MAX_SAFE_COMPONENT_LENGTH,
MAX_SAFE_BUILD_LENGTH,
MAX_SAFE_INTEGER,
RELEASE_TYPES,
SEMVER_SPEC_VERSION,
FLAG_INCLUDE_PRERELEASE: 1,
FLAG_LOOSE: 2
};
}
});
// ../../../usr/share/nodejs/semver/internal/debug.js
var require_debug = __commonJS({
"../../../usr/share/nodejs/semver/internal/debug.js"(exports2, module2) {
var debug2 = typeof process === "object" && process.env && process.env.NODE_DEBUG && /\bsemver\b/i.test(process.env.NODE_DEBUG) ? (...args) => console.error("SEMVER", ...args) : () => {
};
module2.exports = debug2;
}
});
// ../../../usr/share/nodejs/semver/internal/re.js
var require_re = __commonJS({
"../../../usr/share/nodejs/semver/internal/re.js"(exports2, module2) {
var {
MAX_SAFE_COMPONENT_LENGTH,
MAX_SAFE_BUILD_LENGTH,
MAX_LENGTH
} = require_constants();
var debug2 = require_debug();
exports2 = module2.exports = {};
var re = exports2.re = [];
var safeRe = exports2.safeRe = [];
var src = exports2.src = [];
var t = exports2.t = {};
var R = 0;
var LETTERDASHNUMBER = "[a-zA-Z0-9-]";
var safeRegexReplacements = [
["\\s", 1],
["\\d", MAX_LENGTH],
[LETTERDASHNUMBER, MAX_SAFE_BUILD_LENGTH]
];
var makeSafeRegex = (value) => {
for (const [token, max] of safeRegexReplacements) {
value = value.split(`${token}*`).join(`${token}{0,${max}}`).split(`${token}+`).join(`${token}{1,${max}}`);
}
return value;
};
var createToken = (name, value, isGlobal) => {
const safe = makeSafeRegex(value);
const index = R++;
debug2(name, index, value);
t[name] = index;
src[index] = value;
re[index] = new RegExp(value, isGlobal ? "g" : void 0);
safeRe[index] = new RegExp(safe, isGlobal ? "g" : void 0);
};
createToken("NUMERICIDENTIFIER", "0|[1-9]\\d*");
createToken("NUMERICIDENTIFIERLOOSE", "\\d+");
createToken("NONNUMERICIDENTIFIER", `\\d*[a-zA-Z-]${LETTERDASHNUMBER}*`);
createToken("MAINVERSION", `(${src[t.NUMERICIDENTIFIER]})\\.(${src[t.NUMERICIDENTIFIER]})\\.(${src[t.NUMERICIDENTIFIER]})`);
createToken("MAINVERSIONLOOSE", `(${src[t.NUMERICIDENTIFIERLOOSE]})\\.(${src[t.NUMERICIDENTIFIERLOOSE]})\\.(${src[t.NUMERICIDENTIFIERLOOSE]})`);
createToken("PRERELEASEIDENTIFIER", `(?:${src[t.NUMERICIDENTIFIER]}|${src[t.NONNUMERICIDENTIFIER]})`);
createToken("PRERELEASEIDENTIFIERLOOSE", `(?:${src[t.NUMERICIDENTIFIERLOOSE]}|${src[t.NONNUMERICIDENTIFIER]})`);
createToken("PRERELEASE", `(?:-(${src[t.PRERELEASEIDENTIFIER]}(?:\\.${src[t.PRERELEASEIDENTIFIER]})*))`);
createToken("PRERELEASELOOSE", `(?:-?(${src[t.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${src[t.PRERELEASEIDENTIFIERLOOSE]})*))`);
createToken("BUILDIDENTIFIER", `${LETTERDASHNUMBER}+`);
createToken("BUILD", `(?:\\+(${src[t.BUILDIDENTIFIER]}(?:\\.${src[t.BUILDIDENTIFIER]})*))`);
createToken("FULLPLAIN", `v?${src[t.MAINVERSION]}${src[t.PRERELEASE]}?${src[t.BUILD]}?`);
createToken("FULL", `^${src[t.FULLPLAIN]}$`);
createToken("LOOSEPLAIN", `[v=\\s]*${src[t.MAINVERSIONLOOSE]}${src[t.PRERELEASELOOSE]}?${src[t.BUILD]}?`);
createToken("LOOSE", `^${src[t.LOOSEPLAIN]}$`);
createToken("GTLT", "((?:<|>)?=?)");
createToken("XRANGEIDENTIFIERLOOSE", `${src[t.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);
createToken("XRANGEIDENTIFIER", `${src[t.NUMERICIDENTIFIER]}|x|X|\\*`);
createToken("XRANGEPLAIN", `[v=\\s]*(${src[t.XRANGEIDENTIFIER]})(?:\\.(${src[t.XRANGEIDENTIFIER]})(?:\\.(${src[t.XRANGEIDENTIFIER]})(?:${src[t.PRERELEASE]})?${src[t.BUILD]}?)?)?`);
createToken("XRANGEPLAINLOOSE", `[v=\\s]*(${src[t.XRANGEIDENTIFIERLOOSE]})(?:\\.(${src[t.XRANGEIDENTIFIERLOOSE]})(?:\\.(${src[t.XRANGEIDENTIFIERLOOSE]})(?:${src[t.PRERELEASELOOSE]})?${src[t.BUILD]}?)?)?`);
createToken("XRANGE", `^${src[t.GTLT]}\\s*${src[t.XRANGEPLAIN]}$`);
createToken("XRANGELOOSE", `^${src[t.GTLT]}\\s*${src[t.XRANGEPLAINLOOSE]}$`);
createToken("COERCEPLAIN", `${"(^|[^\\d])(\\d{1,"}${MAX_SAFE_COMPONENT_LENGTH}})(?:\\.(\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?(?:\\.(\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?`);
createToken("COERCE", `${src[t.COERCEPLAIN]}(?:$|[^\\d])`);
createToken("COERCEFULL", src[t.COERCEPLAIN] + `(?:${src[t.PRERELEASE]})?(?:${src[t.BUILD]})?(?:$|[^\\d])`);
createToken("COERCERTL", src[t.COERCE], true);
createToken("COERCERTLFULL", src[t.COERCEFULL], true);
createToken("LONETILDE", "(?:~>?)");
createToken("TILDETRIM", `(\\s*)${src[t.LONETILDE]}\\s+`, true);
exports2.tildeTrimReplace = "$1~";
createToken("TILDE", `^${src[t.LONETILDE]}${src[t.XRANGEPLAIN]}$`);
createToken("TILDELOOSE", `^${src[t.LONETILDE]}${src[t.XRANGEPLAINLOOSE]}$`);
createToken("LONECARET", "(?:\\^)");
createToken("CARETTRIM", `(\\s*)${src[t.LONECARET]}\\s+`, true);
exports2.caretTrimReplace = "$1^";
createToken("CARET", `^${src[t.LONECARET]}${src[t.XRANGEPLAIN]}$`);
createToken("CARETLOOSE", `^${src[t.LONECARET]}${src[t.XRANGEPLAINLOOSE]}$`);
createToken("COMPARATORLOOSE", `^${src[t.GTLT]}\\s*(${src[t.LOOSEPLAIN]})$|^$`);
createToken("COMPARATOR", `^${src[t.GTLT]}\\s*(${src[t.FULLPLAIN]})$|^$`);
createToken("COMPARATORTRIM", `(\\s*)${src[t.GTLT]}\\s*(${src[t.LOOSEPLAIN]}|${src[t.XRANGEPLAIN]})`, true);
exports2.comparatorTrimReplace = "$1$2$3";
createToken("HYPHENRANGE", `^\\s*(${src[t.XRANGEPLAIN]})\\s+-\\s+(${src[t.XRANGEPLAIN]})\\s*$`);
createToken("HYPHENRANGELOOSE", `^\\s*(${src[t.XRANGEPLAINLOOSE]})\\s+-\\s+(${src[t.XRANGEPLAINLOOSE]})\\s*$`);
createToken("STAR", "(<|>)?=?\\s*\\*");
createToken("GTE0", "^\\s*>=\\s*0\\.0\\.0\\s*$");
createToken("GTE0PRE", "^\\s*>=\\s*0\\.0\\.0-0\\s*$");
}
});
// ../../../usr/share/nodejs/semver/internal/parse-options.js
var require_parse_options = __commonJS({
"../../../usr/share/nodejs/semver/internal/parse-options.js"(exports2, module2) {
var looseOption = Object.freeze({ loose: true });
var emptyOpts = Object.freeze({});
var parseOptions = (options) => {
if (!options) {
return emptyOpts;
}
if (typeof options !== "object") {
return looseOption;
}
return options;
};
module2.exports = parseOptions;
}
});
// ../../../usr/share/nodejs/semver/internal/identifiers.js
var require_identifiers = __commonJS({
"../../../usr/share/nodejs/semver/internal/identifiers.js"(exports2, module2) {
var numeric = /^[0-9]+$/;
var compareIdentifiers = (a, b) => {
const anum = numeric.test(a);
const bnum = numeric.test(b);
if (anum && bnum) {
a = +a;
b = +b;
}
return a === b ? 0 : anum && !bnum ? -1 : bnum && !anum ? 1 : a < b ? -1 : 1;
};
var rcompareIdentifiers = (a, b) => compareIdentifiers(b, a);
module2.exports = {
compareIdentifiers,
rcompareIdentifiers
};
}
});
// ../../../usr/share/nodejs/semver/classes/semver.js
var require_semver = __commonJS({
"../../../usr/share/nodejs/semver/classes/semver.js"(exports2, module2) {
var debug2 = require_debug();
var { MAX_LENGTH, MAX_SAFE_INTEGER } = require_constants();
var { safeRe: re, t } = require_re();
var parseOptions = require_parse_options();
var { compareIdentifiers } = require_identifiers();
var SemVer = class _SemVer {
constructor(version2, options) {
options = parseOptions(options);
if (version2 instanceof _SemVer) {
if (version2.loose === !!options.loose && version2.includePrerelease === !!options.includePrerelease) {
return version2;
} else {
version2 = version2.version;
}
} else if (typeof version2 !== "string") {
throw new TypeError(`Invalid version. Must be a string. Got type "${typeof version2}".`);
}
if (version2.length > MAX_LENGTH) {
throw new TypeError(
`version is longer than ${MAX_LENGTH} characters`
);
}
debug2("SemVer", version2, options);
this.options = options;
this.loose = !!options.loose;
this.includePrerelease = !!options.includePrerelease;
const m = version2.trim().match(options.loose ? re[t.LOOSE] : re[t.FULL]);
if (!m) {
throw new TypeError(`Invalid Version: ${version2}`);
}
this.raw = version2;
this.major = +m[1];
this.minor = +m[2];
this.patch = +m[3];
if (this.major > MAX_SAFE_INTEGER || this.major < 0) {
throw new TypeError("Invalid major version");
}
if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) {
throw new TypeError("Invalid minor version");
}
if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) {
throw new TypeError("Invalid patch version");
}
if (!m[4]) {
this.prerelease = [];
} else {
this.prerelease = m[4].split(".").map((id) => {
if (/^[0-9]+$/.test(id)) {
const num = +id;
if (num >= 0 && num < MAX_SAFE_INTEGER) {
return num;
}
}
return id;
});
}
this.build = m[5] ? m[5].split(".") : [];
this.format();
}
format() {
this.version = `${this.major}.${this.minor}.${this.patch}`;
if (this.prerelease.length) {
this.version += `-${this.prerelease.join(".")}`;
}
return this.version;
}
toString() {
return this.version;
}
compare(other) {
debug2("SemVer.compare", this.version, this.options, other);
if (!(other instanceof _SemVer)) {
if (typeof other === "string" && other === this.version) {
return 0;
}
other = new _SemVer(other, this.options);
}
if (other.version === this.version) {
return 0;
}
return this.compareMain(other) || this.comparePre(other);
}
compareMain(other) {
if (!(other instanceof _SemVer)) {
other = new _SemVer(other, this.options);
}
return compareIdentifiers(this.major, other.major) || compareIdentifiers(this.minor, other.minor) || compareIdentifiers(this.patch, other.patch);
}
comparePre(other) {
if (!(other instanceof _SemVer)) {
other = new _SemVer(other, this.options);
}
if (this.prerelease.length && !other.prerelease.length) {
return -1;
} else if (!this.prerelease.length && other.prerelease.length) {
return 1;
} else if (!this.prerelease.length && !other.prerelease.length) {
return 0;
}
let i = 0;
do {
const a = this.prerelease[i];
const b = other.prerelease[i];
debug2("prerelease compare", i, a, b);
if (a === void 0 && b === void 0) {
return 0;
} else if (b === void 0) {
return 1;
} else if (a === void 0) {
return -1;
} else if (a === b) {
continue;
} else {
return compareIdentifiers(a, b);
}
} while (++i);
}
compareBuild(other) {
if (!(other instanceof _SemVer)) {
other = new _SemVer(other, this.options);
}
let i = 0;
do {
const a = this.build[i];
const b = other.build[i];
debug2("build compare", i, a, b);
if (a === void 0 && b === void 0) {
return 0;
} else if (b === void 0) {
return 1;
} else if (a === void 0) {
return -1;
} else if (a === b) {
continue;
} else {
return compareIdentifiers(a, b);
}
} while (++i);
}
// preminor will bump the version up to the next minor release, and immediately
// down to pre-release. premajor and prepatch work the same way.
inc(release, identifier, identifierBase) {
switch (release) {
case "premajor":
this.prerelease.length = 0;
this.patch = 0;
this.minor = 0;
this.major++;
this.inc("pre", identifier, identifierBase);
break;
case "preminor":
this.prerelease.length = 0;
this.patch = 0;
this.minor++;
this.inc("pre", identifier, identifierBase);
break;
case "prepatch":
this.prerelease.length = 0;
this.inc("patch", identifier, identifierBase);
this.inc("pre", identifier, identifierBase);
break;
// If the input is a non-prerelease version, this acts the same as
// prepatch.
case "prerelease":
if (this.prerelease.length === 0) {
this.inc("patch", identifier, identifierBase);
}
this.inc("pre", identifier, identifierBase);
break;
case "major":
if (this.minor !== 0 || this.patch !== 0 || this.prerelease.length === 0) {
this.major++;
}
this.minor = 0;
this.patch = 0;
this.prerelease = [];
break;
case "minor":
if (this.patch !== 0 || this.prerelease.length === 0) {
this.minor++;
}
this.patch = 0;
this.prerelease = [];
break;
case "patch":
if (this.prerelease.length === 0) {
this.patch++;
}
this.prerelease = [];
break;
// This probably shouldn't be used publicly.
// 1.0.0 'pre' would become 1.0.0-0 which is the wrong direction.
case "pre": {
const base = Number(identifierBase) ? 1 : 0;
if (!identifier && identifierBase === false) {
throw new Error("invalid increment argument: identifier is empty");
}
if (this.prerelease.length === 0) {
this.prerelease = [base];
} else {
let i = this.prerelease.length;
while (--i >= 0) {
if (typeof this.prerelease[i] === "number") {
this.prerelease[i]++;
i = -2;
}
}
if (i === -1) {
if (identifier === this.prerelease.join(".") && identifierBase === false) {
throw new Error("invalid increment argument: identifier already exists");
}
this.prerelease.push(base);
}
}
if (identifier) {
let prerelease = [identifier, base];
if (identifierBase === false) {
prerelease = [identifier];
}
if (compareIdentifiers(this.prerelease[0], identifier) === 0) {
if (isNaN(this.prerelease[1])) {
this.prerelease = prerelease;
}
} else {
this.prerelease = prerelease;
}
}
break;
}
default:
throw new Error(`invalid increment argument: ${release}`);
}
this.raw = this.format();
if (this.build.length) {
this.raw += `+${this.build.join(".")}`;
}
return this;
}
};
module2.exports = SemVer;
}
});
// ../../../usr/share/nodejs/semver/functions/parse.js
var require_parse = __commonJS({
"../../../usr/share/nodejs/semver/functions/parse.js"(exports2, module2) {
var SemVer = require_semver();
var parse = (version2, options, throwErrors = false) => {
if (version2 instanceof SemVer) {
return version2;
}
try {
return new SemVer(version2, options);
} catch (er) {
if (!throwErrors) {
return null;
}
throw er;
}
};
module2.exports = parse;
}
});
// ../../../usr/share/nodejs/semver/functions/valid.js
var require_valid = __commonJS({
"../../../usr/share/nodejs/semver/functions/valid.js"(exports2, module2) {
var parse = require_parse();
var valid = (version2, options) => {
const v = parse(version2, options);
return v ? v.version : null;
};
module2.exports = valid;
}
});
// ../../../usr/share/nodejs/semver/functions/clean.js
var require_clean = __commonJS({
"../../../usr/share/nodejs/semver/functions/clean.js"(exports2, module2) {
var parse = require_parse();
var clean = (version2, options) => {
const s = parse(version2.trim().replace(/^[=v]+/, ""), options);
return s ? s.version : null;
};
module2.exports = clean;
}
});
// ../../../usr/share/nodejs/semver/functions/inc.js
var require_inc = __commonJS({
"../../../usr/share/nodejs/semver/functions/inc.js"(exports2, module2) {
var SemVer = require_semver();
var inc = (version2, release, options, identifier, identifierBase) => {
if (typeof options === "string") {
identifierBase = identifier;
identifier = options;
options = void 0;
}
try {
return new SemVer(
version2 instanceof SemVer ? version2.version : version2,
options
).inc(release, identifier, identifierBase).version;
} catch (er) {
return null;
}
};
module2.exports = inc;
}
});
// ../../../usr/share/nodejs/semver/functions/diff.js
var require_diff = __commonJS({
"../../../usr/share/nodejs/semver/functions/diff.js"(exports2, module2) {
var parse = require_parse();
var diff = (version1, version2) => {
const v1 = parse(version1, null, true);
const v2 = parse(version2, null, true);
const comparison = v1.compare(v2);
if (comparison === 0) {
return null;
}
const v1Higher = comparison > 0;
const highVersion = v1Higher ? v1 : v2;
const lowVersion = v1Higher ? v2 : v1;
const highHasPre = !!highVersion.prerelease.length;
const lowHasPre = !!lowVersion.prerelease.length;
if (lowHasPre && !highHasPre) {
if (!lowVersion.patch && !lowVersion.minor) {
return "major";
}
if (highVersion.patch) {
return "patch";
}
if (highVersion.minor) {
return "minor";
}
return "major";
}
const prefix = highHasPre ? "pre" : "";
if (v1.major !== v2.major) {
return prefix + "major";
}
if (v1.minor !== v2.minor) {
return prefix + "minor";
}
if (v1.patch !== v2.patch) {
return prefix + "patch";
}
return "prerelease";
};
module2.exports = diff;
}
});
// ../../../usr/share/nodejs/semver/functions/major.js
var require_major = __commonJS({
"../../../usr/share/nodejs/semver/functions/major.js"(exports2, module2) {
var SemVer = require_semver();
var major = (a, loose) => new SemVer(a, loose).major;
module2.exports = major;
}
});
// ../../../usr/share/nodejs/semver/functions/minor.js
var require_minor = __commonJS({
"../../../usr/share/nodejs/semver/functions/minor.js"(exports2, module2) {
var SemVer = require_semver();
var minor = (a, loose) => new SemVer(a, loose).minor;
module2.exports = minor;
}
});
// ../../../usr/share/nodejs/semver/functions/patch.js
var require_patch = __commonJS({
"../../../usr/share/nodejs/semver/functions/patch.js"(exports2, module2) {
var SemVer = require_semver();
var patch = (a, loose) => new SemVer(a, loose).patch;
module2.exports = patch;
}
});
// ../../../usr/share/nodejs/semver/functions/prerelease.js
var require_prerelease = __commonJS({
"../../../usr/share/nodejs/semver/functions/prerelease.js"(exports2, module2) {
var parse = require_parse();
var prerelease = (version2, options) => {
const parsed = parse(version2, options);
return parsed && parsed.prerelease.length ? parsed.prerelease : null;
};
module2.exports = prerelease;
}
});
// ../../../usr/share/nodejs/semver/functions/compare.js
var require_compare = __commonJS({
"../../../usr/share/nodejs/semver/functions/compare.js"(exports2, module2) {
var SemVer = require_semver();
var compare = (a, b, loose) => new SemVer(a, loose).compare(new SemVer(b, loose));
module2.exports = compare;
}
});
// ../../../usr/share/nodejs/semver/functions/rcompare.js
var require_rcompare = __commonJS({
"../../../usr/share/nodejs/semver/functions/rcompare.js"(exports2, module2) {
var compare = require_compare();
var rcompare = (a, b, loose) => compare(b, a, loose);
module2.exports = rcompare;
}
});
// ../../../usr/share/nodejs/semver/functions/compare-loose.js
var require_compare_loose = __commonJS({
"../../../usr/share/nodejs/semver/functions/compare-loose.js"(exports2, module2) {
var compare = require_compare();
var compareLoose = (a, b) => compare(a, b, true);
module2.exports = compareLoose;
}
});
// ../../../usr/share/nodejs/semver/functions/compare-build.js
var require_compare_build = __commonJS({
"../../../usr/share/nodejs/semver/functions/compare-build.js"(exports2, module2) {
var SemVer = require_semver();
var compareBuild = (a, b, loose) => {
const versionA = new SemVer(a, loose);
const versionB = new SemVer(b, loose);
return versionA.compare(versionB) || versionA.compareBuild(versionB);
};
module2.exports = compareBuild;
}
});
// ../../../usr/share/nodejs/semver/functions/sort.js
var require_sort = __commonJS({
"../../../usr/share/nodejs/semver/functions/sort.js"(exports2, module2) {
var compareBuild = require_compare_build();
var sort = (list, loose) => list.sort((a, b) => compareBuild(a, b, loose));
module2.exports = sort;
}
});
// ../../../usr/share/nodejs/semver/functions/rsort.js
var require_rsort = __commonJS({
"../../../usr/share/nodejs/semver/functions/rsort.js"(exports2, module2) {
var compareBuild = require_compare_build();
var rsort = (list, loose) => list.sort((a, b) => compareBuild(b, a, loose));
module2.exports = rsort;
}
});
// ../../../usr/share/nodejs/semver/functions/gt.js
var require_gt = __commonJS({
"../../../usr/share/nodejs/semver/functions/gt.js"(exports2, module2) {
var compare = require_compare();
var gt = (a, b, loose) => compare(a, b, loose) > 0;
module2.exports = gt;
}
});
// ../../../usr/share/nodejs/semver/functions/lt.js
var require_lt = __commonJS({
"../../../usr/share/nodejs/semver/functions/lt.js"(exports2, module2) {
var compare = require_compare();
var lt = (a, b, loose) => compare(a, b, loose) < 0;
module2.exports = lt;
}
});
// ../../../usr/share/nodejs/semver/functions/eq.js
var require_eq = __commonJS({
"../../../usr/share/nodejs/semver/functions/eq.js"(exports2, module2) {
var compare = require_compare();
var eq = (a, b, loose) => compare(a, b, loose) === 0;
module2.exports = eq;
}
});
// ../../../usr/share/nodejs/semver/functions/neq.js
var require_neq = __commonJS({
"../../../usr/share/nodejs/semver/functions/neq.js"(exports2, module2) {
var compare = require_compare();
var neq = (a, b, loose) => compare(a, b, loose) !== 0;
module2.exports = neq;
}
});
// ../../../usr/share/nodejs/semver/functions/gte.js
var require_gte = __commonJS({
"../../../usr/share/nodejs/semver/functions/gte.js"(exports2, module2) {
var compare = require_compare();
var gte = (a, b, loose) => compare(a, b, loose) >= 0;
module2.exports = gte;
}
});
// ../../../usr/share/nodejs/semver/functions/lte.js
var require_lte = __commonJS({
"../../../usr/share/nodejs/semver/functions/lte.js"(exports2, module2) {
var compare = require_compare();
var lte = (a, b, loose) => compare(a, b, loose) <= 0;
module2.exports = lte;
}
});
// ../../../usr/share/nodejs/semver/functions/cmp.js
var require_cmp = __commonJS({
"../../../usr/share/nodejs/semver/functions/cmp.js"(exports2, module2) {
var eq = require_eq();
var neq = require_neq();
var gt = require_gt();
var gte = require_gte();
var lt = require_lt();
var lte = require_lte();
var cmp = (a, op, b, loose) => {
switch (op) {
case "===":
if (typeof a === "object") {
a = a.version;
}
if (typeof b === "object") {
b = b.version;
}
return a === b;
case "!==":
if (typeof a === "object") {
a = a.version;
}
if (typeof b === "object") {
b = b.version;
}
return a !== b;
case "":
case "=":
case "==":
return eq(a, b, loose);
case "!=":
return neq(a, b, loose);
case ">":
return gt(a, b, loose);
case ">=":
return gte(a, b, loose);
case "<":
return lt(a, b, loose);
case "<=":
return lte(a, b, loose);
default:
throw new TypeError(`Invalid operator: ${op}`);
}
};
module2.exports = cmp;
}
});
// ../../../usr/share/nodejs/semver/functions/coerce.js
var require_coerce = __commonJS({
"../../../usr/share/nodejs/semver/functions/coerce.js"(exports2, module2) {
var SemVer = require_semver();
var parse = require_parse();
var { safeRe: re, t } = require_re();
var coerce = (version2, options) => {
if (version2 instanceof SemVer) {
return version2;
}
if (typeof version2 === "number") {
version2 = String(version2);
}
if (typeof version2 !== "string") {
return null;
}
options = options || {};
let match = null;
if (!options.rtl) {
match = version2.match(options.includePrerelease ? re[t.COERCEFULL] : re[t.COERCE]);
} else {
const coerceRtlRegex = options.includePrerelease ? re[t.COERCERTLFULL] : re[t.COERCERTL];
let next;
while ((next = coerceRtlRegex.exec(version2)) && (!match || match.index + match[0].length !== version2.length)) {
if (!match || next.index + next[0].length !== match.index + match[0].length) {
match = next;
}
coerceRtlRegex.lastIndex = next.index + next[1].length + next[2].length;
}
coerceRtlRegex.lastIndex = -1;
}
if (match === null) {
return null;
}
const major = match[2];
const minor = match[3] || "0";
const patch = match[4] || "0";
const prerelease = options.includePrerelease && match[5] ? `-${match[5]}` : "";
const build = options.includePrerelease && match[6] ? `+${match[6]}` : "";
return parse(`${major}.${minor}.${patch}${prerelease}${build}`, options);
};
module2.exports = coerce;
}
});
// ../../../usr/share/nodejs/semver/internal/lrucache.js
var require_lrucache = __commonJS({
"../../../usr/share/nodejs/semver/internal/lrucache.js"(exports2, module2) {
var LRUCache = class {
constructor() {
this.max = 1e3;
this.map = /* @__PURE__ */ new Map();
}
get(key) {
const value = this.map.get(key);
if (value === void 0) {
return void 0;
} else {
this.map.delete(key);
this.map.set(key, value);
return value;
}
}
delete(key) {
if (this.map.has(key)) {
this.map.delete(key);
return true;
} else {
return false;
}
}
set(key, value) {
const deleted = this.delete(key);
if (!deleted && value !== void 0) {
if (this.map.size >= this.max) {
const firstKey = this.map.keys().next().value;
this.delete(firstKey);
}
this.map.set(key, value);
}
return this;
}
};
module2.exports = LRUCache;
}
});
// ../../../usr/share/nodejs/semver/classes/range.js
var require_range = __commonJS({
"../../../usr/share/nodejs/semver/classes/range.js"(exports2, module2) {
var Range = class _Range {
constructor(range, options) {
options = parseOptions(options);
if (range instanceof _Range) {
if (range.loose === !!options.loose && range.includePrerelease === !!options.includePrerelease) {
return range;
} else {
return new _Range(range.raw, options);
}
}
if (range instanceof Comparator) {
this.raw = range.value;
this.set = [[range]];
this.format();
return this;
}
this.options = options;
this.loose = !!options.loose;
this.includePrerelease = !!options.includePrerelease;
this.raw = range.trim().split(/\s+/).join(" ");
this.set = this.raw.split("||").map((r) => this.parseRange(r.trim())).filter((c) => c.length);
if (!this.set.length) {
throw new TypeError(`Invalid SemVer Range: ${this.raw}`);
}
if (this.set.length > 1) {
const first = this.set[0];
this.set = this.set.filter((c) => !isNullSet(c[0]));
if (this.set.length === 0) {
this.set = [first];
} else if (this.set.length > 1) {
for (const c of this.set) {
if (c.length === 1 && isAny(c[0])) {
this.set = [c];
break;
}
}
}
}
this.format();
}
format() {
this.range = this.set.map((comps) => comps.join(" ").trim()).join("||").trim();
return this.range;
}
toString() {
return this.range;
}
parseRange(range) {
const memoOpts = (this.options.includePrerelease && FLAG_INCLUDE_PRERELEASE) | (this.options.loose && FLAG_LOOSE);
const memoKey = memoOpts + ":" + range;
const cached = cache.get(memoKey);
if (cached) {
return cached;
}
const loose = this.options.loose;
const hr = loose ? re[t.HYPHENRANGELOOSE] : re[t.HYPHENRANGE];
range = range.replace(hr, hyphenReplace(this.options.includePrerelease));
debug2("hyphen replace", range);
range = range.replace(re[t.COMPARATORTRIM], comparatorTrimReplace);
debug2("comparator trim", range);
range = range.replace(re[t.TILDETRIM], tildeTrimReplace);
debug2("tilde trim", range);
range = range.replace(re[t.CARETTRIM], caretTrimReplace);
debug2("caret trim", range);
let rangeList = range.split(" ").map((comp) => parseComparator(comp, this.options)).join(" ").split(/\s+/).map((comp) => replaceGTE0(comp, this.options));
if (loose) {
rangeList = rangeList.filter((comp) => {
debug2("loose invalid filter", comp, this.options);
return !!comp.match(re[t.COMPARATORLOOSE]);
});
}
debug2("range list", rangeList);
const rangeMap = /* @__PURE__ */ new Map();
const comparators = rangeList.map((comp) => new Comparator(comp, this.options));
for (const comp of comparators) {
if (isNullSet(comp)) {
return [comp];
}
rangeMap.set(comp.value, comp);
}
if (rangeMap.size > 1 && rangeMap.has("")) {
rangeMap.delete("");
}
const result = [...rangeMap.values()];
cache.set(memoKey, result);
return result;
}
intersects(range, options) {
if (!(range instanceof _Range)) {
throw new TypeError("a Range is required");
}
return this.set.some((thisComparators) => {
return isSatisfiable(thisComparators, options) && range.set.some((rangeComparators) => {
return isSatisfiable(rangeComparators, options) && thisComparators.every((thisComparator) => {
return rangeComparators.every((rangeComparator) => {
return thisComparator.intersects(rangeComparator, options);
});
});
});
});
}
// if ANY of the sets match ALL of its comparators, then pass
test(version2) {
if (!version2) {
return false;
}
if (typeof version2 === "string") {
try {
version2 = new SemVer(version2, this.options);
} catch (er) {
return false;
}
}
for (let i = 0; i < this.set.length; i++) {
if (testSet(this.set[i], version2, this.options)) {
return true;
}
}
return false;
}
};
module2.exports = Range;
var LRU = require_lrucache();
var cache = new LRU();
var parseOptions = require_parse_options();
var Comparator = require_comparator();
var debug2 = require_debug();
var SemVer = require_semver();
var {
safeRe: re,
t,
comparatorTrimReplace,
tildeTrimReplace,
caretTrimReplace
} = require_re();
var { FLAG_INCLUDE_PRERELEASE, FLAG_LOOSE } = require_constants();
var isNullSet = (c) => c.value === "<0.0.0-0";
var isAny = (c) => c.value === "";
var isSatisfiable = (comparators, options) => {
let result = true;
const remainingComparators = comparators.slice();
let testComparator = remainingComparators.pop();
while (result && remainingComparators.length) {
result = remainingComparators.every((otherComparator) => {
return testComparator.intersects(otherComparator, options);
});
testComparator = remainingComparators.pop();
}
return result;
};
var parseComparator = (comp, options) => {
debug2("comp", comp, options);
comp = replaceCarets(comp, options);
debug2("caret", comp);
comp = replaceTildes(comp, options);
debug2("tildes", comp);
comp = replaceXRanges(comp, options);
debug2("xrange", comp);
comp = replaceStars(comp, options);
debug2("stars", comp);
return comp;
};
var isX = (id) => !id || id.toLowerCase() === "x" || id === "*";
var replaceTildes = (comp, options) => {
return comp.trim().split(/\s+/).map((c) => replaceTilde(c, options)).join(" ");
};
var replaceTilde = (comp, options) => {
const r = options.loose ? re[t.TILDELOOSE] : re[t.TILDE];
return comp.replace(r, (_, M, m, p, pr) => {
debug2("tilde", comp, _, M, m, p, pr);
let ret;
if (isX(M)) {
ret = "";
} else if (isX(m)) {
ret = `>=${M}.0.0 <${+M + 1}.0.0-0`;
} else if (isX(p)) {
ret = `>=${M}.${m}.0 <${M}.${+m + 1}.0-0`;
} else if (pr) {
debug2("replaceTilde pr", pr);
ret = `>=${M}.${m}.${p}-${pr} <${M}.${+m + 1}.0-0`;
} else {
ret = `>=${M}.${m}.${p} <${M}.${+m + 1}.0-0`;
}
debug2("tilde return", ret);
return ret;
});
};
var replaceCarets = (comp, options) => {
return comp.trim().split(/\s+/).map((c) => replaceCaret(c, options)).join(" ");
};
var replaceCaret = (comp, options) => {
debug2("caret", comp, options);
const r = options.loose ? re[t.CARETLOOSE] : re[t.CARET];
const z = options.includePrerelease ? "-0" : "";
return comp.replace(r, (_, M, m, p, pr) => {
debug2("caret", comp, _, M, m, p, pr);
let ret;
if (isX(M)) {
ret = "";
} else if (isX(m)) {
ret = `>=${M}.0.0${z} <${+M + 1}.0.0-0`;
} else if (isX(p)) {
if (M === "0") {
ret = `>=${M}.${m}.0${z} <${M}.${+m + 1}.0-0`;
} else {
ret = `>=${M}.${m}.0${z} <${+M + 1}.0.0-0`;
}
} else if (pr) {
debug2("replaceCaret pr", pr);
if (M === "0") {
if (m === "0") {
ret = `>=${M}.${m}.${p}-${pr} <${M}.${m}.${+p + 1}-0`;
} else {
ret = `>=${M}.${m}.${p}-${pr} <${M}.${+m + 1}.0-0`;
}
} else {
ret = `>=${M}.${m}.${p}-${pr} <${+M + 1}.0.0-0`;
}
} else {
debug2("no pr");
if (M === "0") {
if (m === "0") {
ret = `>=${M}.${m}.${p}${z} <${M}.${m}.${+p + 1}-0`;
} else {
ret = `>=${M}.${m}.${p}${z} <${M}.${+m + 1}.0-0`;
}
} else {
ret = `>=${M}.${m}.${p} <${+M + 1}.0.0-0`;
}
}
debug2("caret return", ret);
return ret;
});
};
var replaceXRanges = (comp, options) => {
debug2("replaceXRanges", comp, options);
return comp.split(/\s+/).map((c) => replaceXRange(c, options)).join(" ");
};
var replaceXRange = (comp, options) => {
comp = comp.trim();
const r = options.loose ? re[t.XRANGELOOSE] : re[t.XRANGE];
return comp.replace(r, (ret, gtlt, M, m, p, pr) => {
debug2("xRange", comp, ret, gtlt, M, m, p, pr);
const xM = isX(M);
const xm = xM || isX(m);
const xp = xm || isX(p);
const anyX = xp;
if (gtlt === "=" && anyX) {
gtlt = "";
}
pr = options.includePrerelease ? "-0" : "";
if (xM) {
if (gtlt === ">" || gtlt === "<") {
ret = "<0.0.0-0";
} else {
ret = "*";
}
} else if (gtlt && anyX) {
if (xm) {
m = 0;
}
p = 0;
if (gtlt === ">") {
gtlt = ">=";
if (xm) {
M = +M + 1;
m = 0;
p = 0;
} else {
m = +m + 1;
p = 0;
}
} else if (gtlt === "<=") {
gtlt = "<";
if (xm) {
M = +M + 1;
} else {
m = +m + 1;
}
}
if (gtlt === "<") {
pr = "-0";
}
ret = `${gtlt + M}.${m}.${p}${pr}`;
} else if (xm) {
ret = `>=${M}.0.0${pr} <${+M + 1}.0.0-0`;
} else if (xp) {
ret = `>=${M}.${m}.0${pr} <${M}.${+m + 1}.0-0`;
}
debug2("xRange return", ret);
return ret;
});
};
var replaceStars = (comp, options) => {
debug2("replaceStars", comp, options);
return comp.trim().replace(re[t.STAR], "");
};
var replaceGTE0 = (comp, options) => {
debug2("replaceGTE0", comp, options);
return comp.trim().replace(re[options.includePrerelease ? t.GTE0PRE : t.GTE0], "");
};
var hyphenReplace = (incPr) => ($0, from, fM, fm, fp, fpr, fb, to, tM, tm, tp, tpr) => {
if (isX(fM)) {
from = "";
} else if (isX(fm)) {
from = `>=${fM}.0.0${incPr ? "-0" : ""}`;
} else if (isX(fp)) {
from = `>=${fM}.${fm}.0${incPr ? "-0" : ""}`;
} else if (fpr) {
from = `>=${from}`;
} else {
from = `>=${from}${incPr ? "-0" : ""}`;
}
if (isX(tM)) {
to = "";
} else if (isX(tm)) {
to = `<${+tM + 1}.0.0-0`;
} else if (isX(tp)) {
to = `<${tM}.${+tm + 1}.0-0`;
} else if (tpr) {
to = `<=${tM}.${tm}.${tp}-${tpr}`;
} else if (incPr) {
to = `<${tM}.${tm}.${+tp + 1}-0`;
} else {
to = `<=${to}`;
}
return `${from} ${to}`.trim();
};
var testSet = (set, version2, options) => {
for (let i = 0; i < set.length; i++) {
if (!set[i].test(version2)) {
return false;
}
}
if (version2.prerelease.length && !options.includePrerelease) {
for (let i = 0; i < set.length; i++) {
debug2(set[i].semver);
if (set[i].semver === Comparator.ANY) {
continue;
}
if (set[i].semver.prerelease.length > 0) {
const allowed = set[i].semver;
if (allowed.major === version2.major && allowed.minor === version2.minor && allowed.patch === version2.patch) {
return true;
}
}
}
return false;
}
return true;
};
}
});
// ../../../usr/share/nodejs/semver/classes/comparator.js
var require_comparator = __commonJS({
"../../../usr/share/nodejs/semver/classes/comparator.js"(exports2, module2) {
var ANY = Symbol("SemVer ANY");
var Comparator = class _Comparator {
static get ANY() {
return ANY;
}
constructor(comp, options) {
options = parseOptions(options);
if (comp instanceof _Comparator) {
if (comp.loose === !!options.loose) {
return comp;
} else {
comp = comp.value;
}
}
comp = comp.trim().split(/\s+/).join(" ");
debug2("comparator", comp, options);
this.options = options;
this.loose = !!options.loose;
this.parse(comp);
if (this.semver === ANY) {
this.value = "";
} else {
this.value = this.operator + this.semver.version;
}
debug2("comp", this);
}
parse(comp) {
const r = this.options.loose ? re[t.COMPARATORLOOSE] : re[t.COMPARATOR];
const m = comp.match(r);
if (!m) {
throw new TypeError(`Invalid comparator: ${comp}`);
}
this.operator = m[1] !== void 0 ? m[1] : "";
if (this.operator === "=") {
this.operator = "";
}
if (!m[2]) {
this.semver = ANY;
} else {
this.semver = new SemVer(m[2], this.options.loose);
}
}
toString() {
return this.value;
}
test(version2) {
debug2("Comparator.test", version2, this.options.loose);
if (this.semver === ANY || version2 === ANY) {
return true;
}
if (typeof version2 === "string") {
try {
version2 = new SemVer(version2, this.options);
} catch (er) {
return false;
}
}
return cmp(version2, this.operator, this.semver, this.options);
}
intersects(comp, options) {
if (!(comp instanceof _Comparator)) {
throw new TypeError("a Comparator is required");
}
if (this.operator === "") {
if (this.value === "") {
return true;
}
return new Range(comp.value, options).test(this.value);
} else if (comp.operator === "") {
if (comp.value === "") {
return true;
}
return new Range(this.value, options).test(comp.semver);
}
options = parseOptions(options);
if (options.includePrerelease && (this.value === "<0.0.0-0" || comp.value === "<0.0.0-0")) {
return false;
}
if (!options.includePrerelease && (this.value.startsWith("<0.0.0") || comp.value.startsWith("<0.0.0"))) {
return false;
}
if (this.operator.startsWith(">") && comp.operator.startsWith(">")) {
return true;
}
if (this.operator.startsWith("<") && comp.operator.startsWith("<")) {
return true;
}
if (this.semver.version === comp.semver.version && this.operator.includes("=") && comp.operator.includes("=")) {
return true;
}
if (cmp(this.semver, "<", comp.semver, options) && this.operator.startsWith(">") && comp.operator.startsWith("<")) {
return true;
}
if (cmp(this.semver, ">", comp.semver, options) && this.operator.startsWith("<") && comp.operator.startsWith(">")) {
return true;
}
return false;
}
};
module2.exports = Comparator;
var parseOptions = require_parse_options();
var { safeRe: re, t } = require_re();
var cmp = require_cmp();
var debug2 = require_debug();
var SemVer = require_semver();
var Range = require_range();
}
});
// ../../../usr/share/nodejs/semver/functions/satisfies.js
var require_satisfies = __commonJS({
"../../../usr/share/nodejs/semver/functions/satisfies.js"(exports2, module2) {
var Range = require_range();
var satisfies = (version2, range, options) => {
try {
range = new Range(range, options);
} catch (er) {
return false;
}
return range.test(version2);
};
module2.exports = satisfies;
}
});
// ../../../usr/share/nodejs/semver/ranges/to-comparators.js
var require_to_comparators = __commonJS({
"../../../usr/share/nodejs/semver/ranges/to-comparators.js"(exports2, module2) {
var Range = require_range();
var toComparators = (range, options) => new Range(range, options).set.map((comp) => comp.map((c) => c.value).join(" ").trim().split(" "));
module2.exports = toComparators;
}
});
// ../../../usr/share/nodejs/semver/ranges/max-satisfying.js
var require_max_satisfying = __commonJS({
"../../../usr/share/nodejs/semver/ranges/max-satisfying.js"(exports2, module2) {
var SemVer = require_semver();
var Range = require_range();
var maxSatisfying = (versions, range, options) => {
let max = null;
let maxSV = null;
let rangeObj = null;
try {
rangeObj = new Range(range, options);
} catch (er) {
return null;
}
versions.forEach((v) => {
if (rangeObj.test(v)) {
if (!max || maxSV.compare(v) === -1) {
max = v;
maxSV = new SemVer(max, options);
}
}
});
return max;
};
module2.exports = maxSatisfying;
}
});
// ../../../usr/share/nodejs/semver/ranges/min-satisfying.js
var require_min_satisfying = __commonJS({
"../../../usr/share/nodejs/semver/ranges/min-satisfying.js"(exports2, module2) {
var SemVer = require_semver();
var Range = require_range();
var minSatisfying = (versions, range, options) => {
let min = null;
let minSV = null;
let rangeObj = null;
try {
rangeObj = new Range(range, options);
} catch (er) {
return null;
}
versions.forEach((v) => {
if (rangeObj.test(v)) {
if (!min || minSV.compare(v) === 1) {
min = v;
minSV = new SemVer(min, options);
}
}
});
return min;
};
module2.exports = minSatisfying;
}
});
// ../../../usr/share/nodejs/semver/ranges/min-version.js
var require_min_version = __commonJS({
"../../../usr/share/nodejs/semver/ranges/min-version.js"(exports2, module2) {
var SemVer = require_semver();
var Range = require_range();
var gt = require_gt();
var minVersion = (range, loose) => {
range = new Range(range, loose);
let minver = new SemVer("0.0.0");
if (range.test(minver)) {
return minver;
}
minver = new SemVer("0.0.0-0");
if (range.test(minver)) {
return minver;
}
minver = null;
for (let i = 0; i < range.set.length; ++i) {
const comparators = range.set[i];
let setMin = null;
comparators.forEach((comparator) => {
const compver = new SemVer(comparator.semver.version);
switch (comparator.operator) {
case ">":
if (compver.prerelease.length === 0) {
compver.patch++;
} else {
compver.prerelease.push(0);
}
compver.raw = compver.format();
/* fallthrough */
case "":
case ">=":
if (!setMin || gt(compver, setMin)) {
setMin = compver;
}
break;
case "<":
case "<=":
break;
/* istanbul ignore next */
default:
throw new Error(`Unexpected operation: ${comparator.operator}`);
}
});
if (setMin && (!minver || gt(minver, setMin))) {
minver = setMin;
}
}
if (minver && range.test(minver)) {
return minver;
}
return null;
};
module2.exports = minVersion;
}
});
// ../../../usr/share/nodejs/semver/ranges/valid.js
var require_valid2 = __commonJS({
"../../../usr/share/nodejs/semver/ranges/valid.js"(exports2, module2) {
var Range = require_range();
var validRange = (range, options) => {
try {
return new Range(range, options).range || "*";
} catch (er) {
return null;
}
};
module2.exports = validRange;
}
});
// ../../../usr/share/nodejs/semver/ranges/outside.js
var require_outside = __commonJS({
"../../../usr/share/nodejs/semver/ranges/outside.js"(exports2, module2) {
var SemVer = require_semver();
var Comparator = require_comparator();
var { ANY } = Comparator;
var Range = require_range();
var satisfies = require_satisfies();
var gt = require_gt();
var lt = require_lt();
var lte = require_lte();
var gte = require_gte();
var outside = (version2, range, hilo, options) => {
version2 = new SemVer(version2, options);
range = new Range(range, options);
let gtfn, ltefn, ltfn, comp, ecomp;
switch (hilo) {
case ">":
gtfn = gt;
ltefn = lte;
ltfn = lt;
comp = ">";
ecomp = ">=";
break;
case "<":
gtfn = lt;
ltefn = gte;
ltfn = gt;
comp = "<";
ecomp = "<=";
break;
default:
throw new TypeError('Must provide a hilo val of "<" or ">"');
}
if (satisfies(version2, range, options)) {
return false;
}
for (let i = 0; i < range.set.length; ++i) {
const comparators = range.set[i];
let high = null;
let low = null;
comparators.forEach((comparator) => {
if (comparator.semver === ANY) {
comparator = new Comparator(">=0.0.0");
}
high = high || comparator;
low = low || comparator;
if (gtfn(comparator.semver, high.semver, options)) {
high = comparator;
} else if (ltfn(comparator.semver, low.semver, options)) {
low = comparator;
}
});
if (high.operator === comp || high.operator === ecomp) {
return false;
}
if ((!low.operator || low.operator === comp) && ltefn(version2, low.semver)) {
return false;
} else if (low.operator === ecomp && ltfn(version2, low.semver)) {
return false;
}
}
return true;
};
module2.exports = outside;
}
});
// ../../../usr/share/nodejs/semver/ranges/gtr.js
var require_gtr = __commonJS({
"../../../usr/share/nodejs/semver/ranges/gtr.js"(exports2, module2) {
var outside = require_outside();
var gtr = (version2, range, options) => outside(version2, range, ">", options);
module2.exports = gtr;
}
});
// ../../../usr/share/nodejs/semver/ranges/ltr.js
var require_ltr = __commonJS({
"../../../usr/share/nodejs/semver/ranges/ltr.js"(exports2, module2) {
var outside = require_outside();
var ltr = (version2, range, options) => outside(version2, range, "<", options);
module2.exports = ltr;
}
});
// ../../../usr/share/nodejs/semver/ranges/intersects.js
var require_intersects = __commonJS({
"../../../usr/share/nodejs/semver/ranges/intersects.js"(exports2, module2) {
var Range = require_range();
var intersects = (r1, r2, options) => {
r1 = new Range(r1, options);
r2 = new Range(r2, options);
return r1.intersects(r2, options);
};
module2.exports = intersects;
}
});
// ../../../usr/share/nodejs/semver/ranges/simplify.js
var require_simplify = __commonJS({
"../../../usr/share/nodejs/semver/ranges/simplify.js"(exports2, module2) {
var satisfies = require_satisfies();
var compare = require_compare();
module2.exports = (versions, range, options) => {
const set = [];
let first = null;
let prev = null;
const v = versions.sort((a, b) => compare(a, b, options));
for (const version2 of v) {
const included = satisfies(version2, range, options);
if (included) {
prev = version2;
if (!first) {
first = version2;
}
} else {
if (prev) {
set.push([first, prev]);
}
prev = null;
first = null;
}
}
if (first) {
set.push([first, null]);
}
const ranges = [];
for (const [min, max] of set) {
if (min === max) {
ranges.push(min);
} else if (!max && min === v[0]) {
ranges.push("*");
} else if (!max) {
ranges.push(`>=${min}`);
} else if (min === v[0]) {
ranges.push(`<=${max}`);
} else {
ranges.push(`${min} - ${max}`);
}
}
const simplified = ranges.join(" || ");
const original = typeof range.raw === "string" ? range.raw : String(range);
return simplified.length < original.length ? simplified : range;
};
}
});
// ../../../usr/share/nodejs/semver/ranges/subset.js
var require_subset = __commonJS({
"../../../usr/share/nodejs/semver/ranges/subset.js"(exports2, module2) {
var Range = require_range();
var Comparator = require_comparator();
var { ANY } = Comparator;
var satisfies = require_satisfies();
var compare = require_compare();
var subset = (sub, dom, options = {}) => {
if (sub === dom) {
return true;
}
sub = new Range(sub, options);
dom = new Range(dom, options);
let sawNonNull = false;
OUTER: for (const simpleSub of sub.set) {
for (const simpleDom of dom.set) {
const isSub = simpleSubset(simpleSub, simpleDom, options);
sawNonNull = sawNonNull || isSub !== null;
if (isSub) {
continue OUTER;
}
}
if (sawNonNull) {
return false;
}
}
return true;
};
var minimumVersionWithPreRelease = [new Comparator(">=0.0.0-0")];
var minimumVersion = [new Comparator(">=0.0.0")];
var simpleSubset = (sub, dom, options) => {
if (sub === dom) {
return true;
}
if (sub.length === 1 && sub[0].semver === ANY) {
if (dom.length === 1 && dom[0].semver === ANY) {
return true;
} else if (options.includePrerelease) {
sub = minimumVersionWithPreRelease;
} else {
sub = minimumVersion;
}
}
if (dom.length === 1 && dom[0].semver === ANY) {
if (options.includePrerelease) {
return true;
} else {
dom = minimumVersion;
}
}
const eqSet = /* @__PURE__ */ new Set();
let gt, lt;
for (const c of sub) {
if (c.operator === ">" || c.operator === ">=") {
gt = higherGT(gt, c, options);
} else if (c.operator === "<" || c.operator === "<=") {
lt = lowerLT(lt, c, options);
} else {
eqSet.add(c.semver);
}
}
if (eqSet.size > 1) {
return null;
}
let gtltComp;
if (gt && lt) {
gtltComp = compare(gt.semver, lt.semver, options);
if (gtltComp > 0) {
return null;
} else if (gtltComp === 0 && (gt.operator !== ">=" || lt.operator !== "<=")) {
return null;
}
}
for (const eq of eqSet) {
if (gt && !satisfies(eq, String(gt), options)) {
return null;
}
if (lt && !satisfies(eq, String(lt), options)) {
return null;
}
for (const c of dom) {
if (!satisfies(eq, String(c), options)) {
return false;
}
}
return true;
}
let higher, lower;
let hasDomLT, hasDomGT;
let needDomLTPre = lt && !options.includePrerelease && lt.semver.prerelease.length ? lt.semver : false;
let needDomGTPre = gt && !options.includePrerelease && gt.semver.prerelease.length ? gt.semver : false;
if (needDomLTPre && needDomLTPre.prerelease.length === 1 && lt.operator === "<" && needDomLTPre.prerelease[0] === 0) {
needDomLTPre = false;
}
for (const c of dom) {
hasDomGT = hasDomGT || c.operator === ">" || c.operator === ">=";
hasDomLT = hasDomLT || c.operator === "<" || c.operator === "<=";
if (gt) {
if (needDomGTPre) {
if (c.semver.prerelease && c.semver.prerelease.length && c.semver.major === needDomGTPre.major && c.semver.minor === needDomGTPre.minor && c.semver.patch === needDomGTPre.patch) {
needDomGTPre = false;
}
}
if (c.operator === ">" || c.operator === ">=") {
higher = higherGT(gt, c, options);
if (higher === c && higher !== gt) {
return false;
}
} else if (gt.operator === ">=" && !satisfies(gt.semver, String(c), options)) {
return false;
}
}
if (lt) {
if (needDomLTPre) {
if (c.semver.prerelease && c.semver.prerelease.length && c.semver.major === needDomLTPre.major && c.semver.minor === needDomLTPre.minor && c.semver.patch === needDomLTPre.patch) {
needDomLTPre = false;
}
}
if (c.operator === "<" || c.operator === "<=") {
lower = lowerLT(lt, c, options);
if (lower === c && lower !== lt) {
return false;
}
} else if (lt.operator === "<=" && !satisfies(lt.semver, String(c), options)) {
return false;
}
}
if (!c.operator && (lt || gt) && gtltComp !== 0) {
return false;
}
}
if (gt && hasDomLT && !lt && gtltComp !== 0) {
return false;
}
if (lt && hasDomGT && !gt && gtltComp !== 0) {
return false;
}
if (needDomGTPre || needDomLTPre) {
return false;
}
return true;
};
var higherGT = (a, b, options) => {
if (!a) {
return b;
}
const comp = compare(a.semver, b.semver, options);
return comp > 0 ? a : comp < 0 ? b : b.operator === ">" && a.operator === ">=" ? b : a;
};
var lowerLT = (a, b, options) => {
if (!a) {
return b;
}
const comp = compare(a.semver, b.semver, options);
return comp < 0 ? a : comp > 0 ? b : b.operator === "<" && a.operator === "<=" ? b : a;
};
module2.exports = subset;
}
});
// ../../../usr/share/nodejs/semver/index.js
var require_semver2 = __commonJS({
"../../../usr/share/nodejs/semver/index.js"(exports2, module2) {
var internalRe = require_re();
var constants = require_constants();
var SemVer = require_semver();
var identifiers = require_identifiers();
var parse = require_parse();
var valid = require_valid();
var clean = require_clean();
var inc = require_inc();
var diff = require_diff();
var major = require_major();
var minor = require_minor();
var patch = require_patch();
var prerelease = require_prerelease();
var compare = require_compare();
var rcompare = require_rcompare();
var compareLoose = require_compare_loose();
var compareBuild = require_compare_build();
var sort = require_sort();
var rsort = require_rsort();
var gt = require_gt();
var lt = require_lt();
var eq = require_eq();
var neq = require_neq();
var gte = require_gte();
var lte = require_lte();
var cmp = require_cmp();
var coerce = require_coerce();
var Comparator = require_comparator();
var Range = require_range();
var satisfies = require_satisfies();
var toComparators = require_to_comparators();
var maxSatisfying = require_max_satisfying();
var minSatisfying = require_min_satisfying();
var minVersion = require_min_version();
var validRange = require_valid2();
var outside = require_outside();
var gtr = require_gtr();
var ltr = require_ltr();
var intersects = require_intersects();
var simplifyRange = require_simplify();
var subset = require_subset();
module2.exports = {
parse,
valid,
clean,
inc,
diff,
major,
minor,
patch,
prerelease,
compare,
rcompare,
compareLoose,
compareBuild,
sort,
rsort,
gt,
lt,
eq,
neq,
gte,
lte,
cmp,
coerce,
Comparator,
Range,
satisfies,
toComparators,
maxSatisfying,
minSatisfying,
minVersion,
validRange,
outside,
gtr,
ltr,
intersects,
simplifyRange,
subset,
SemVer,
re: internalRe.re,
src: internalRe.src,
tokens: internalRe.t,
SEMVER_SPEC_VERSION: constants.SEMVER_SPEC_VERSION,
RELEASE_TYPES: constants.RELEASE_TYPES,
compareIdentifiers: identifiers.compareIdentifiers,
rcompareIdentifiers: identifiers.rcompareIdentifiers
};
}
});
// ../../../usr/share/nodejs/ms/index.js
var require_ms = __commonJS({
"../../../usr/share/nodejs/ms/index.js"(exports2, module2) {
var s = 1e3;
var m = s * 60;
var h = m * 60;
var d = h * 24;
var w = d * 7;
var y = d * 365.25;
module2.exports = function(val, options) {
options = options || {};
var type = typeof val;
if (type === "string" && val.length > 0) {
return parse(val);
} else if (type === "number" && isFinite(val)) {
return options.long ? fmtLong(val) : fmtShort(val);
}
throw new Error(
"val is not a non-empty string or a valid number. val=" + JSON.stringify(val)
);
};
function parse(str) {
str = String(str);
if (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]);
var type = (match[2] || "ms").toLowerCase();
switch (type) {
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 void 0;
}
}
function fmtShort(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";
}
function fmtLong(ms) {
var msAbs = Math.abs(ms);
if (msAbs >= d) {
return plural2(ms, msAbs, d, "day");
}
if (msAbs >= h) {
return plural2(ms, msAbs, h, "hour");
}
if (msAbs >= m) {
return plural2(ms, msAbs, m, "minute");
}
if (msAbs >= s) {
return plural2(ms, msAbs, s, "second");
}
return ms + " ms";
}
function plural2(ms, msAbs, n, name) {
var isPlural = msAbs >= n * 1.5;
return Math.round(ms / n) + " " + name + (isPlural ? "s" : "");
}
}
});
// ../../../usr/share/nodejs/debug/src/common.js
var require_common = __commonJS({
"../../../usr/share/nodejs/debug/src/common.js"(exports2, module2) {
function setup(env) {
createDebug.debug = createDebug;
createDebug.default = createDebug;
createDebug.coerce = coerce;
createDebug.disable = disable;
createDebug.enable = enable;
createDebug.enabled = enabled;
createDebug.humanize = require_ms();
createDebug.destroy = destroy;
Object.keys(env).forEach((key) => {
createDebug[key] = env[key];
});
createDebug.names = [];
createDebug.skips = [];
createDebug.formatters = {};
function selectColor(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.selectColor = selectColor;
function createDebug(namespace) {
let prevTime;
let enableOverride = null;
let namespacesCache;
let enabledCache;
function debug2(...args) {
if (!debug2.enabled) {
return;
}
const self2 = debug2;
const curr = Number(/* @__PURE__ */ new Date());
const ms = curr - (prevTime || curr);
self2.diff = ms;
self2.prev = prevTime;
self2.curr = curr;
prevTime = curr;
args[0] = createDebug.coerce(args[0]);
if (typeof args[0] !== "string") {
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 (typeof formatter === "function") {
const val = args[index];
match = formatter.call(self2, val);
args.splice(index, 1);
index--;
}
return match;
});
createDebug.formatArgs.call(self2, args);
const logFn = self2.log || createDebug.log;
logFn.apply(self2, args);
}
debug2.namespace = namespace;
debug2.useColors = createDebug.useColors();
debug2.color = createDebug.selectColor(namespace);
debug2.extend = extend;
debug2.destroy = createDebug.destroy;
Object.defineProperty(debug2, "enabled", {
enumerable: true,
configurable: false,
get: () => {
if (enableOverride !== null) {
return enableOverride;
}
if (namespacesCache !== createDebug.namespaces) {
namespacesCache = createDebug.namespaces;
enabledCache = createDebug.enabled(namespace);
}
return enabledCache;
},
set: (v) => {
enableOverride = v;
}
});
if (typeof createDebug.init === "function") {
createDebug.init(debug2);
}
return debug2;
}
function extend(namespace, delimiter) {
const newDebug = createDebug(this.namespace + (typeof delimiter === "undefined" ? ":" : delimiter) + namespace);
newDebug.log = this.log;
return newDebug;
}
function enable(namespaces) {
createDebug.save(namespaces);
createDebug.namespaces = namespaces;
createDebug.names = [];
createDebug.skips = [];
let i;
const split = (typeof namespaces === "string" ? namespaces : "").split(/[\s,]+/);
const len = split.length;
for (i = 0; i < len; i++) {
if (!split[i]) {
continue;
}
namespaces = split[i].replace(/\*/g, ".*?");
if (namespaces[0] === "-") {
createDebug.skips.push(new RegExp("^" + namespaces.slice(1) + "$"));
} else {
createDebug.names.push(new RegExp("^" + namespaces + "$"));
}
}
}
function disable() {
const namespaces = [
...createDebug.names.map(toNamespace),
...createDebug.skips.map(toNamespace).map((namespace) => "-" + namespace)
].join(",");
createDebug.enable("");
return namespaces;
}
function enabled(name) {
if (name[name.length - 1] === "*") {
return true;
}
let i;
let len;
for (i = 0, len = createDebug.skips.length; i < len; i++) {
if (createDebug.skips[i].test(name)) {
return false;
}
}
for (i = 0, len = createDebug.names.length; i < len; i++) {
if (createDebug.names[i].test(name)) {
return true;
}
}
return false;
}
function toNamespace(regexp) {
return regexp.toString().substring(2, regexp.toString().length - 2).replace(/\.\*\?$/, "*");
}
function coerce(val) {
if (val instanceof Error) {
return val.stack || val.message;
}
return val;
}
function destroy() {
console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");
}
createDebug.enable(createDebug.load());
return createDebug;
}
module2.exports = setup;
}
});
// ../../../usr/share/nodejs/debug/src/browser.js
var require_browser = __commonJS({
"../../../usr/share/nodejs/debug/src/browser.js"(exports2, module2) {
exports2.formatArgs = formatArgs;
exports2.save = save;
exports2.load = load;
exports2.useColors = useColors;
exports2.storage = localstorage();
exports2.destroy = /* @__PURE__ */ (() => {
let warned = false;
return () => {
if (!warned) {
warned = true;
console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");
}
};
})();
exports2.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"
];
function useColors() {
if (typeof window !== "undefined" && window.process && (window.process.type === "renderer" || window.process.__nwjs)) {
return true;
}
if (typeof navigator !== "undefined" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)) {
return false;
}
return typeof document !== "undefined" && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance || // Is firebug? http://stackoverflow.com/a/398120/376773
typeof window !== "undefined" && window.console && (window.console.firebug || window.console.exception && window.console.table) || // Is firefox >= v31?
// https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages
typeof navigator !== "undefined" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/) && parseInt(RegExp.$1, 10) >= 31 || // Double check webkit in userAgent just in case we are in a worker
typeof navigator !== "undefined" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/);
}
function formatArgs(args) {
args[0] = (this.useColors ? "%c" : "") + this.namespace + (this.useColors ? " %c" : " ") + args[0] + (this.useColors ? "%c " : " ") + "+" + module2.exports.humanize(this.diff);
if (!this.useColors) {
return;
}
const c = "color: " + this.color;
args.splice(1, 0, c, "color: inherit");
let index = 0;
let lastC = 0;
args[0].replace(/%[a-zA-Z%]/g, (match) => {
if (match === "%%") {
return;
}
index++;
if (match === "%c") {
lastC = index;
}
});
args.splice(lastC, 0, c);
}
exports2.log = console.debug || console.log || (() => {
});
function save(namespaces) {
try {
if (namespaces) {
exports2.storage.setItem("debug", namespaces);
} else {
exports2.storage.removeItem("debug");
}
} catch (error) {
}
}
function load() {
let r;
try {
r = exports2.storage.getItem("debug");
} catch (error) {
}
if (!r && typeof process !== "undefined" && "env" in process) {
r = process.env.DEBUG;
}
return r;
}
function localstorage() {
try {
return localStorage;
} catch (error) {
}
}
module2.exports = require_common()(exports2);
var { formatters } = module2.exports;
formatters.j = function(v) {
try {
return JSON.stringify(v);
} catch (error) {
return "[UnexpectedJSONParseError]: " + error.message;
}
};
}
});
// ../../../usr/share/nodejs/has-flag/index.cjs
var require_has_flag = __commonJS({
"../../../usr/share/nodejs/has-flag/index.cjs"(exports2, module2) {
var process4 = require("process");
function _interopDefault(e) {
return e && e.__esModule ? e : { default: e };
}
var process__default = /* @__PURE__ */ _interopDefault(process4);
function hasFlag(flag, argv = process__default.default.argv) {
const prefix = flag.startsWith("-") ? "" : flag.length === 1 ? "-" : "--";
const position = argv.indexOf(prefix + flag);
const terminatorPosition = argv.indexOf("--");
return position !== -1 && (terminatorPosition === -1 || position < terminatorPosition);
}
module2.exports = hasFlag;
}
});
// ../../../usr/share/nodejs/supports-color/index.js
var require_supports_color = __commonJS({
"../../../usr/share/nodejs/supports-color/index.js"(exports2, module2) {
"use strict";
var os2 = require("os");
var tty2 = require("tty");
var hasFlag = require_has_flag();
var { env } = process;
var flagForceColor;
if (hasFlag("no-color") || hasFlag("no-colors") || hasFlag("color=false") || hasFlag("color=never")) {
flagForceColor = 0;
} else if (hasFlag("color") || hasFlag("colors") || hasFlag("color=true") || hasFlag("color=always")) {
flagForceColor = 1;
}
function envForceColor() {
if ("FORCE_COLOR" in env) {
if (env.FORCE_COLOR === "true") {
return 1;
}
if (env.FORCE_COLOR === "false") {
return 0;
}
return env.FORCE_COLOR.length === 0 ? 1 : Math.min(Number.parseInt(env.FORCE_COLOR, 10), 3);
}
}
function translateLevel(level) {
if (level === 0) {
return false;
}
return {
level,
hasBasic: true,
has256: level >= 2,
has16m: level >= 3
};
}
function supportsColor(haveStream, { streamIsTTY, sniffFlags = true } = {}) {
const noFlagForceColor = envForceColor();
if (noFlagForceColor !== void 0) {
flagForceColor = noFlagForceColor;
}
const forceColor = sniffFlags ? flagForceColor : noFlagForceColor;
if (forceColor === 0) {
return 0;
}
if (sniffFlags) {
if (hasFlag("color=16m") || hasFlag("color=full") || hasFlag("color=truecolor")) {
return 3;
}
if (hasFlag("color=256")) {
return 2;
}
}
if (haveStream && !streamIsTTY && forceColor === void 0) {
return 0;
}
const min = forceColor || 0;
if (env.TERM === "dumb") {
return min;
}
if (process.platform === "win32") {
const osRelease = os2.release().split(".");
if (Number(osRelease[0]) >= 10 && Number(osRelease[2]) >= 10586) {
return Number(osRelease[2]) >= 14931 ? 3 : 2;
}
return 1;
}
if ("CI" in env) {
if (["TRAVIS", "CIRCLECI", "APPVEYOR", "GITLAB_CI", "GITHUB_ACTIONS", "BUILDKITE", "DRONE"].some((sign) => sign in env) || env.CI_NAME === "codeship") {
return 1;
}
return min;
}
if ("TEAMCITY_VERSION" in env) {
return /^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0;
}
if (env.COLORTERM === "truecolor") {
return 3;
}
if ("TERM_PROGRAM" in env) {
const version2 = Number.parseInt((env.TERM_PROGRAM_VERSION || "").split(".")[0], 10);
switch (env.TERM_PROGRAM) {
case "iTerm.app":
return version2 >= 3 ? 3 : 2;
case "Apple_Terminal":
return 2;
}
}
if (/-256(color)?$/i.test(env.TERM)) {
return 2;
}
if (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) {
return 1;
}
if ("COLORTERM" in env) {
return 1;
}
return min;
}
function getSupportLevel(stream, options = {}) {
const level = supportsColor(stream, {
streamIsTTY: stream && stream.isTTY,
...options
});
return translateLevel(level);
}
module2.exports = {
supportsColor: getSupportLevel,
stdout: getSupportLevel({ isTTY: tty2.isatty(1) }),
stderr: getSupportLevel({ isTTY: tty2.isatty(2) })
};
}
});
// ../../../usr/share/nodejs/debug/src/node.js
var require_node = __commonJS({
"../../../usr/share/nodejs/debug/src/node.js"(exports2, module2) {
var tty2 = require("tty");
var util = require("util");
exports2.init = init;
exports2.log = log2;
exports2.formatArgs = formatArgs;
exports2.save = save;
exports2.load = load;
exports2.useColors = useColors;
exports2.destroy = util.deprecate(
() => {
},
"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."
);
exports2.colors = [6, 2, 3, 4, 5, 1];
try {
const supportsColor = require_supports_color();
if (supportsColor && (supportsColor.stderr || supportsColor).level >= 2) {
exports2.colors = [
20,
21,
26,
27,
32,
33,
38,
39,
40,
41,
42,
43,
44,
45,
56,
57,
62,
63,
68,
69,
74,
75,
76,
77,
78,
79,
80,
81,
92,
93,
98,
99,
112,
113,
128,
129,
134,
135,
148,
149,
160,
161,
162,
163,
164,
165,
166,
167,
168,
169,
170,
171,
172,
173,
178,
179,
184,
185,
196,
197,
198,
199,
200,
201,
202,
203,
204,
205,
206,
207,
208,
209,
214,
215,
220,
221
];
}
} catch (error) {
}
exports2.inspectOpts = Object.keys(process.env).filter((key) => {
return /^debug_/i.test(key);
}).reduce((obj, key) => {
const prop = key.substring(6).toLowerCase().replace(/_([a-z])/g, (_, k) => {
return k.toUpperCase();
});
let val = process.env[key];
if (/^(yes|on|true|enabled)$/i.test(val)) {
val = true;
} else if (/^(no|off|false|disabled)$/i.test(val)) {
val = false;
} else if (val === "null") {
val = null;
} else {
val = Number(val);
}
obj[prop] = val;
return obj;
}, {});
function useColors() {
return "colors" in exports2.inspectOpts ? Boolean(exports2.inspectOpts.colors) : tty2.isatty(process.stderr.fd);
}
function formatArgs(args) {
const { namespace: name, useColors: useColors2 } = this;
if (useColors2) {
const c = this.color;
const colorCode = "\x1B[3" + (c < 8 ? c : "8;5;" + c);
const prefix = ` ${colorCode};1m${name} \x1B[0m`;
args[0] = prefix + args[0].split("\n").join("\n" + prefix);
args.push(colorCode + "m+" + module2.exports.humanize(this.diff) + "\x1B[0m");
} else {
args[0] = getDate() + name + " " + args[0];
}
}
function getDate() {
if (exports2.inspectOpts.hideDate) {
return "";
}
return (/* @__PURE__ */ new Date()).toISOString() + " ";
}
function log2(...args) {
return process.stderr.write(util.format(...args) + "\n");
}
function save(namespaces) {
if (namespaces) {
process.env.DEBUG = namespaces;
} else {
delete process.env.DEBUG;
}
}
function load() {
return process.env.DEBUG;
}
function init(debug2) {
debug2.inspectOpts = {};
const keys = Object.keys(exports2.inspectOpts);
for (let i = 0; i < keys.length; i++) {
debug2.inspectOpts[keys[i]] = exports2.inspectOpts[keys[i]];
}
}
module2.exports = require_common()(exports2);
var { formatters } = module2.exports;
formatters.o = function(v) {
this.inspectOpts.colors = this.useColors;
return util.inspect(v, this.inspectOpts).split("\n").map((str) => str.trim()).join(" ");
};
formatters.O = function(v) {
this.inspectOpts.colors = this.useColors;
return util.inspect(v, this.inspectOpts);
};
}
});
// ../../../usr/share/nodejs/debug/src/index.js
var require_src = __commonJS({
"../../../usr/share/nodejs/debug/src/index.js"(exports2, module2) {
if (typeof process === "undefined" || process.type === "renderer" || process.browser === true || process.__nwjs) {
module2.exports = require_browser();
} else {
module2.exports = require_node();
}
}
});
// ../../../usr/share/nodejs/lru-cache/dist/cjs/index.js
var require_cjs = __commonJS({
"../../../usr/share/nodejs/lru-cache/dist/cjs/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.LRUCache = void 0;
var perf = typeof performance === "object" && performance && typeof performance.now === "function" ? performance : Date;
var warned = /* @__PURE__ */ new Set();
var PROCESS = typeof process === "object" && !!process ? process : {};
var emitWarning = (msg, type, code, fn2) => {
typeof PROCESS.emitWarning === "function" ? PROCESS.emitWarning(msg, type, code, fn2) : console.error(`[${code}] ${type}: ${msg}`);
};
var AC = globalThis.AbortController;
var AS = globalThis.AbortSignal;
if (typeof AC === "undefined") {
AS = class AbortSignal {
onabort;
_onabort = [];
reason;
aborted = false;
addEventListener(_, fn2) {
this._onabort.push(fn2);
}
};
AC = class AbortController {
constructor() {
warnACPolyfill();
}
signal = new AS();
abort(reason) {
if (this.signal.aborted)
return;
this.signal.reason = reason;
this.signal.aborted = true;
for (const fn2 of this.signal._onabort) {
fn2(reason);
}
this.signal.onabort?.(reason);
}
};
let printACPolyfillWarning = PROCESS.env?.LRU_CACHE_IGNORE_AC_WARNING !== "1";
const warnACPolyfill = () => {
if (!printACPolyfillWarning)
return;
printACPolyfillWarning = false;
emitWarning("AbortController is not defined. If using lru-cache in node 14, load an AbortController polyfill from the `node-abort-controller` package. A minimal polyfill is provided for use by LRUCache.fetch(), but it should not be relied upon in other contexts (eg, passing it to other APIs that use AbortController/AbortSignal might have undesirable effects). You may disable this with LRU_CACHE_IGNORE_AC_WARNING=1 in the env.", "NO_ABORT_CONTROLLER", "ENOTSUP", warnACPolyfill);
};
}
var shouldWarn = (code) => !warned.has(code);
var TYPE = Symbol("type");
var isPosInt = (n) => n && n === Math.floor(n) && n > 0 && isFinite(n);
var getUintArray = (max) => !isPosInt(max) ? null : max <= Math.pow(2, 8) ? Uint8Array : max <= Math.pow(2, 16) ? Uint16Array : max <= Math.pow(2, 32) ? Uint32Array : max <= Number.MAX_SAFE_INTEGER ? ZeroArray : null;
var ZeroArray = class extends Array {
constructor(size) {
super(size);
this.fill(0);
}
};
var Stack = class _Stack {
heap;
length;
// private constructor
static #constructing = false;
static create(max) {
const HeapCls = getUintArray(max);
if (!HeapCls)
return [];
_Stack.#constructing = true;
const s = new _Stack(max, HeapCls);
_Stack.#constructing = false;
return s;
}
constructor(max, HeapCls) {
if (!_Stack.#constructing) {
throw new TypeError("instantiate Stack using Stack.create(n)");
}
this.heap = new HeapCls(max);
this.length = 0;
}
push(n) {
this.heap[this.length++] = n;
}
pop() {
return this.heap[--this.length];
}
};
var LRUCache = class _LRUCache {
// properties coming in from the options of these, only max and maxSize
// really *need* to be protected. The rest can be modified, as they just
// set defaults for various methods.
#max;
#maxSize;
#dispose;
#disposeAfter;
#fetchMethod;
/**
* {@link LRUCache.OptionsBase.ttl}
*/
ttl;
/**
* {@link LRUCache.OptionsBase.ttlResolution}
*/
ttlResolution;
/**
* {@link LRUCache.OptionsBase.ttlAutopurge}
*/
ttlAutopurge;
/**
* {@link LRUCache.OptionsBase.updateAgeOnGet}
*/
updateAgeOnGet;
/**
* {@link LRUCache.OptionsBase.updateAgeOnHas}
*/
updateAgeOnHas;
/**
* {@link LRUCache.OptionsBase.allowStale}
*/
allowStale;
/**
* {@link LRUCache.OptionsBase.noDisposeOnSet}
*/
noDisposeOnSet;
/**
* {@link LRUCache.OptionsBase.noUpdateTTL}
*/
noUpdateTTL;
/**
* {@link LRUCache.OptionsBase.maxEntrySize}
*/
maxEntrySize;
/**
* {@link LRUCache.OptionsBase.sizeCalculation}
*/
sizeCalculation;
/**
* {@link LRUCache.OptionsBase.noDeleteOnFetchRejection}
*/
noDeleteOnFetchRejection;
/**
* {@link LRUCache.OptionsBase.noDeleteOnStaleGet}
*/
noDeleteOnStaleGet;
/**
* {@link LRUCache.OptionsBase.allowStaleOnFetchAbort}
*/
allowStaleOnFetchAbort;
/**
* {@link LRUCache.OptionsBase.allowStaleOnFetchRejection}
*/
allowStaleOnFetchRejection;
/**
* {@link LRUCache.OptionsBase.ignoreFetchAbort}
*/
ignoreFetchAbort;
// computed properties
#size;
#calculatedSize;
#keyMap;
#keyList;
#valList;
#next;
#prev;
#head;
#tail;
#free;
#disposed;
#sizes;
#starts;
#ttls;
#hasDispose;
#hasFetchMethod;
#hasDisposeAfter;
/**
* Do not call this method unless you need to inspect the
* inner workings of the cache. If anything returned by this
* object is modified in any way, strange breakage may occur.
*
* These fields are private for a reason!
*
* @internal
*/
static unsafeExposeInternals(c) {
return {
// properties
starts: c.#starts,
ttls: c.#ttls,
sizes: c.#sizes,
keyMap: c.#keyMap,
keyList: c.#keyList,
valList: c.#valList,
next: c.#next,
prev: c.#prev,
get head() {
return c.#head;
},
get tail() {
return c.#tail;
},
free: c.#free,
// methods
isBackgroundFetch: (p) => c.#isBackgroundFetch(p),
backgroundFetch: (k, index, options, context) => c.#backgroundFetch(k, index, options, context),
moveToTail: (index) => c.#moveToTail(index),
indexes: (options) => c.#indexes(options),
rindexes: (options) => c.#rindexes(options),
isStale: (index) => c.#isStale(index)
};
}
// Protected read-only members
/**
* {@link LRUCache.OptionsBase.max} (read-only)
*/
get max() {
return this.#max;
}
/**
* {@link LRUCache.OptionsBase.maxSize} (read-only)
*/
get maxSize() {
return this.#maxSize;
}
/**
* The total computed size of items in the cache (read-only)
*/
get calculatedSize() {
return this.#calculatedSize;
}
/**
* The number of items stored in the cache (read-only)
*/
get size() {
return this.#size;
}
/**
* {@link LRUCache.OptionsBase.fetchMethod} (read-only)
*/
get fetchMethod() {
return this.#fetchMethod;
}
/**
* {@link LRUCache.OptionsBase.dispose} (read-only)
*/
get dispose() {
return this.#dispose;
}
/**
* {@link LRUCache.OptionsBase.disposeAfter} (read-only)
*/
get disposeAfter() {
return this.#disposeAfter;
}
constructor(options) {
const { max = 0, ttl, ttlResolution = 1, ttlAutopurge, updateAgeOnGet, updateAgeOnHas, allowStale, dispose, disposeAfter, noDisposeOnSet, noUpdateTTL, maxSize = 0, maxEntrySize = 0, sizeCalculation, fetchMethod, noDeleteOnFetchRejection, noDeleteOnStaleGet, allowStaleOnFetchRejection, allowStaleOnFetchAbort, ignoreFetchAbort } = options;
if (max !== 0 && !isPosInt(max)) {
throw new TypeError("max option must be a nonnegative integer");
}
const UintArray = max ? getUintArray(max) : Array;
if (!UintArray) {
throw new Error("invalid max value: " + max);
}
this.#max = max;
this.#maxSize = maxSize;
this.maxEntrySize = maxEntrySize || this.#maxSize;
this.sizeCalculation = sizeCalculation;
if (this.sizeCalculation) {
if (!this.#maxSize && !this.maxEntrySize) {
throw new TypeError("cannot set sizeCalculation without setting maxSize or maxEntrySize");
}
if (typeof this.sizeCalculation !== "function") {
throw new TypeError("sizeCalculation set to non-function");
}
}
if (fetchMethod !== void 0 && typeof fetchMethod !== "function") {
throw new TypeError("fetchMethod must be a function if specified");
}
this.#fetchMethod = fetchMethod;
this.#hasFetchMethod = !!fetchMethod;
this.#keyMap = /* @__PURE__ */ new Map();
this.#keyList = new Array(max).fill(void 0);
this.#valList = new Array(max).fill(void 0);
this.#next = new UintArray(max);
this.#prev = new UintArray(max);
this.#head = 0;
this.#tail = 0;
this.#free = Stack.create(max);
this.#size = 0;
this.#calculatedSize = 0;
if (typeof dispose === "function") {
this.#dispose = dispose;
}
if (typeof disposeAfter === "function") {
this.#disposeAfter = disposeAfter;
this.#disposed = [];
} else {
this.#disposeAfter = void 0;
this.#disposed = void 0;
}
this.#hasDispose = !!this.#dispose;
this.#hasDisposeAfter = !!this.#disposeAfter;
this.noDisposeOnSet = !!noDisposeOnSet;
this.noUpdateTTL = !!noUpdateTTL;
this.noDeleteOnFetchRejection = !!noDeleteOnFetchRejection;
this.allowStaleOnFetchRejection = !!allowStaleOnFetchRejection;
this.allowStaleOnFetchAbort = !!allowStaleOnFetchAbort;
this.ignoreFetchAbort = !!ignoreFetchAbort;
if (this.maxEntrySize !== 0) {
if (this.#maxSize !== 0) {
if (!isPosInt(this.#maxSize)) {
throw new TypeError("maxSize must be a positive integer if specified");
}
}
if (!isPosInt(this.maxEntrySize)) {
throw new TypeError("maxEntrySize must be a positive integer if specified");
}
this.#initializeSizeTracking();
}
this.allowStale = !!allowStale;
this.noDeleteOnStaleGet = !!noDeleteOnStaleGet;
this.updateAgeOnGet = !!updateAgeOnGet;
this.updateAgeOnHas = !!updateAgeOnHas;
this.ttlResolution = isPosInt(ttlResolution) || ttlResolution === 0 ? ttlResolution : 1;
this.ttlAutopurge = !!ttlAutopurge;
this.ttl = ttl || 0;
if (this.ttl) {
if (!isPosInt(this.ttl)) {
throw new TypeError("ttl must be a positive integer if specified");
}
this.#initializeTTLTracking();
}
if (this.#max === 0 && this.ttl === 0 && this.#maxSize === 0) {
throw new TypeError("At least one of max, maxSize, or ttl is required");
}
if (!this.ttlAutopurge && !this.#max && !this.#maxSize) {
const code = "LRU_CACHE_UNBOUNDED";
if (shouldWarn(code)) {
warned.add(code);
const msg = "TTL caching without ttlAutopurge, max, or maxSize can result in unbounded memory consumption.";
emitWarning(msg, "UnboundedCacheWarning", code, _LRUCache);
}
}
}
/**
* Return the remaining TTL time for a given entry key
*/
getRemainingTTL(key) {
return this.#keyMap.has(key) ? Infinity : 0;
}
#initializeTTLTracking() {
const ttls = new ZeroArray(this.#max);
const starts = new ZeroArray(this.#max);
this.#ttls = ttls;
this.#starts = starts;
this.#setItemTTL = (index, ttl, start = perf.now()) => {
starts[index] = ttl !== 0 ? start : 0;
ttls[index] = ttl;
if (ttl !== 0 && this.ttlAutopurge) {
const t = setTimeout(() => {
if (this.#isStale(index)) {
this.delete(this.#keyList[index]);
}
}, ttl + 1);
if (t.unref) {
t.unref();
}
}
};
this.#updateItemAge = (index) => {
starts[index] = ttls[index] !== 0 ? perf.now() : 0;
};
this.#statusTTL = (status, index) => {
if (ttls[index]) {
const ttl = ttls[index];
const start = starts[index];
status.ttl = ttl;
status.start = start;
status.now = cachedNow || getNow();
const age = status.now - start;
status.remainingTTL = ttl - age;
}
};
let cachedNow = 0;
const getNow = () => {
const n = perf.now();
if (this.ttlResolution > 0) {
cachedNow = n;
const t = setTimeout(() => cachedNow = 0, this.ttlResolution);
if (t.unref) {
t.unref();
}
}
return n;
};
this.getRemainingTTL = (key) => {
const index = this.#keyMap.get(key);
if (index === void 0) {
return 0;
}
const ttl = ttls[index];
const start = starts[index];
if (ttl === 0 || start === 0) {
return Infinity;
}
const age = (cachedNow || getNow()) - start;
return ttl - age;
};
this.#isStale = (index) => {
return ttls[index] !== 0 && starts[index] !== 0 && (cachedNow || getNow()) - starts[index] > ttls[index];
};
}
// conditionally set private methods related to TTL
#updateItemAge = () => {
};
#statusTTL = () => {
};
#setItemTTL = () => {
};
/* c8 ignore stop */
#isStale = () => false;
#initializeSizeTracking() {
const sizes = new ZeroArray(this.#max);
this.#calculatedSize = 0;
this.#sizes = sizes;
this.#removeItemSize = (index) => {
this.#calculatedSize -= sizes[index];
sizes[index] = 0;
};
this.#requireSize = (k, v, size, sizeCalculation) => {
if (this.#isBackgroundFetch(v)) {
return 0;
}
if (!isPosInt(size)) {
if (sizeCalculation) {
if (typeof sizeCalculation !== "function") {
throw new TypeError("sizeCalculation must be a function");
}
size = sizeCalculation(v, k);
if (!isPosInt(size)) {
throw new TypeError("sizeCalculation return invalid (expect positive integer)");
}
} else {
throw new TypeError("invalid size value (must be positive integer). When maxSize or maxEntrySize is used, sizeCalculation or size must be set.");
}
}
return size;
};
this.#addItemSize = (index, size, status) => {
sizes[index] = size;
if (this.#maxSize) {
const maxSize = this.#maxSize - sizes[index];
while (this.#calculatedSize > maxSize) {
this.#evict(true);
}
}
this.#calculatedSize += sizes[index];
if (status) {
status.entrySize = size;
status.totalCalculatedSize = this.#calculatedSize;
}
};
}
#removeItemSize = (_i) => {
};
#addItemSize = (_i, _s, _st) => {
};
#requireSize = (_k, _v, size, sizeCalculation) => {
if (size || sizeCalculation) {
throw new TypeError("cannot set size without setting maxSize or maxEntrySize on cache");
}
return 0;
};
*#indexes({ allowStale = this.allowStale } = {}) {
if (this.#size) {
for (let i = this.#tail; true; ) {
if (!this.#isValidIndex(i)) {
break;
}
if (allowStale || !this.#isStale(i)) {
yield i;
}
if (i === this.#head) {
break;
} else {
i = this.#prev[i];
}
}
}
}
*#rindexes({ allowStale = this.allowStale } = {}) {
if (this.#size) {
for (let i = this.#head; true; ) {
if (!this.#isValidIndex(i)) {
break;
}
if (allowStale || !this.#isStale(i)) {
yield i;
}
if (i === this.#tail) {
break;
} else {
i = this.#next[i];
}
}
}
}
#isValidIndex(index) {
return index !== void 0 && this.#keyMap.get(this.#keyList[index]) === index;
}
/**
* Return a generator yielding `[key, value]` pairs,
* in order from most recently used to least recently used.
*/
*entries() {
for (const i of this.#indexes()) {
if (this.#valList[i] !== void 0 && this.#keyList[i] !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) {
yield [this.#keyList[i], this.#valList[i]];
}
}
}
/**
* Inverse order version of {@link LRUCache.entries}
*
* Return a generator yielding `[key, value]` pairs,
* in order from least recently used to most recently used.
*/
*rentries() {
for (const i of this.#rindexes()) {
if (this.#valList[i] !== void 0 && this.#keyList[i] !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) {
yield [this.#keyList[i], this.#valList[i]];
}
}
}
/**
* Return a generator yielding the keys in the cache,
* in order from most recently used to least recently used.
*/
*keys() {
for (const i of this.#indexes()) {
const k = this.#keyList[i];
if (k !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) {
yield k;
}
}
}
/**
* Inverse order version of {@link LRUCache.keys}
*
* Return a generator yielding the keys in the cache,
* in order from least recently used to most recently used.
*/
*rkeys() {
for (const i of this.#rindexes()) {
const k = this.#keyList[i];
if (k !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) {
yield k;
}
}
}
/**
* Return a generator yielding the values in the cache,
* in order from most recently used to least recently used.
*/
*values() {
for (const i of this.#indexes()) {
const v = this.#valList[i];
if (v !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) {
yield this.#valList[i];
}
}
}
/**
* Inverse order version of {@link LRUCache.values}
*
* Return a generator yielding the values in the cache,
* in order from least recently used to most recently used.
*/
*rvalues() {
for (const i of this.#rindexes()) {
const v = this.#valList[i];
if (v !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) {
yield this.#valList[i];
}
}
}
/**
* Iterating over the cache itself yields the same results as
* {@link LRUCache.entries}
*/
[Symbol.iterator]() {
return this.entries();
}
/**
* A String value that is used in the creation of the default string description of an object.
* Called by the built-in method Object.prototype.toString.
*/
[Symbol.toStringTag] = "LRUCache";
/**
* Find a value for which the supplied fn method returns a truthy value,
* similar to Array.find(). fn is called as fn(value, key, cache).
*/
find(fn2, getOptions = {}) {
for (const i of this.#indexes()) {
const v = this.#valList[i];
const value = this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
if (value === void 0)
continue;
if (fn2(value, this.#keyList[i], this)) {
return this.get(this.#keyList[i], getOptions);
}
}
}
/**
* Call the supplied function on each item in the cache, in order from
* most recently used to least recently used. fn is called as
* fn(value, key, cache). Does not update age or recenty of use.
* Does not iterate over stale values.
*/
forEach(fn2, thisp = this) {
for (const i of this.#indexes()) {
const v = this.#valList[i];
const value = this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
if (value === void 0)
continue;
fn2.call(thisp, value, this.#keyList[i], this);
}
}
/**
* The same as {@link LRUCache.forEach} but items are iterated over in
* reverse order. (ie, less recently used items are iterated over first.)
*/
rforEach(fn2, thisp = this) {
for (const i of this.#rindexes()) {
const v = this.#valList[i];
const value = this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
if (value === void 0)
continue;
fn2.call(thisp, value, this.#keyList[i], this);
}
}
/**
* Delete any stale entries. Returns true if anything was removed,
* false otherwise.
*/
purgeStale() {
let deleted = false;
for (const i of this.#rindexes({ allowStale: true })) {
if (this.#isStale(i)) {
this.delete(this.#keyList[i]);
deleted = true;
}
}
return deleted;
}
/**
* Return an array of [key, {@link LRUCache.Entry}] tuples which can be
* passed to cache.load()
*/
dump() {
const arr = [];
for (const i of this.#indexes({ allowStale: true })) {
const key = this.#keyList[i];
const v = this.#valList[i];
const value = this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
if (value === void 0 || key === void 0)
continue;
const entry = { value };
if (this.#ttls && this.#starts) {
entry.ttl = this.#ttls[i];
const age = perf.now() - this.#starts[i];
entry.start = Math.floor(Date.now() - age);
}
if (this.#sizes) {
entry.size = this.#sizes[i];
}
arr.unshift([key, entry]);
}
return arr;
}
/**
* Reset the cache and load in the items in entries in the order listed.
* Note that the shape of the resulting cache may be different if the
* same options are not used in both caches.
*/
load(arr) {
this.clear();
for (const [key, entry] of arr) {
if (entry.start) {
const age = Date.now() - entry.start;
entry.start = perf.now() - age;
}
this.set(key, entry.value, entry);
}
}
/**
* Add a value to the cache.
*
* Note: if `undefined` is specified as a value, this is an alias for
* {@link LRUCache#delete}
*/
set(k, v, setOptions = {}) {
if (v === void 0) {
this.delete(k);
return this;
}
const { ttl = this.ttl, start, noDisposeOnSet = this.noDisposeOnSet, sizeCalculation = this.sizeCalculation, status } = setOptions;
let { noUpdateTTL = this.noUpdateTTL } = setOptions;
const size = this.#requireSize(k, v, setOptions.size || 0, sizeCalculation);
if (this.maxEntrySize && size > this.maxEntrySize) {
if (status) {
status.set = "miss";
status.maxEntrySizeExceeded = true;
}
this.delete(k);
return this;
}
let index = this.#size === 0 ? void 0 : this.#keyMap.get(k);
if (index === void 0) {
index = this.#size === 0 ? this.#tail : this.#free.length !== 0 ? this.#free.pop() : this.#size === this.#max ? this.#evict(false) : this.#size;
this.#keyList[index] = k;
this.#valList[index] = v;
this.#keyMap.set(k, index);
this.#next[this.#tail] = index;
this.#prev[index] = this.#tail;
this.#tail = index;
this.#size++;
this.#addItemSize(index, size, status);
if (status)
status.set = "add";
noUpdateTTL = false;
} else {
this.#moveToTail(index);
const oldVal = this.#valList[index];
if (v !== oldVal) {
if (this.#hasFetchMethod && this.#isBackgroundFetch(oldVal)) {
oldVal.__abortController.abort(new Error("replaced"));
const { __staleWhileFetching: s } = oldVal;
if (s !== void 0 && !noDisposeOnSet) {
if (this.#hasDispose) {
this.#dispose?.(s, k, "set");
}
if (this.#hasDisposeAfter) {
this.#disposed?.push([s, k, "set"]);
}
}
} else if (!noDisposeOnSet) {
if (this.#hasDispose) {
this.#dispose?.(oldVal, k, "set");
}
if (this.#hasDisposeAfter) {
this.#disposed?.push([oldVal, k, "set"]);
}
}
this.#removeItemSize(index);
this.#addItemSize(index, size, status);
this.#valList[index] = v;
if (status) {
status.set = "replace";
const oldValue = oldVal && this.#isBackgroundFetch(oldVal) ? oldVal.__staleWhileFetching : oldVal;
if (oldValue !== void 0)
status.oldValue = oldValue;
}
} else if (status) {
status.set = "update";
}
}
if (ttl !== 0 && !this.#ttls) {
this.#initializeTTLTracking();
}
if (this.#ttls) {
if (!noUpdateTTL) {
this.#setItemTTL(index, ttl, start);
}
if (status)
this.#statusTTL(status, index);
}
if (!noDisposeOnSet && this.#hasDisposeAfter && this.#disposed) {
const dt = this.#disposed;
let task;
while (task = dt?.shift()) {
this.#disposeAfter?.(...task);
}
}
return this;
}
/**
* Evict the least recently used item, returning its value or
* `undefined` if cache is empty.
*/
pop() {
try {
while (this.#size) {
const val = this.#valList[this.#head];
this.#evict(true);
if (this.#isBackgroundFetch(val)) {
if (val.__staleWhileFetching) {
return val.__staleWhileFetching;
}
} else if (val !== void 0) {
return val;
}
}
} finally {
if (this.#hasDisposeAfter && this.#disposed) {
const dt = this.#disposed;
let task;
while (task = dt?.shift()) {
this.#disposeAfter?.(...task);
}
}
}
}
#evict(free) {
const head = this.#head;
const k = this.#keyList[head];
const v = this.#valList[head];
if (this.#hasFetchMethod && this.#isBackgroundFetch(v)) {
v.__abortController.abort(new Error("evicted"));
} else if (this.#hasDispose || this.#hasDisposeAfter) {
if (this.#hasDispose) {
this.#dispose?.(v, k, "evict");
}
if (this.#hasDisposeAfter) {
this.#disposed?.push([v, k, "evict"]);
}
}
this.#removeItemSize(head);
if (free) {
this.#keyList[head] = void 0;
this.#valList[head] = void 0;
this.#free.push(head);
}
if (this.#size === 1) {
this.#head = this.#tail = 0;
this.#free.length = 0;
} else {
this.#head = this.#next[head];
}
this.#keyMap.delete(k);
this.#size--;
return head;
}
/**
* Check if a key is in the cache, without updating the recency of use.
* Will return false if the item is stale, even though it is technically
* in the cache.
*
* Will not update item age unless
* {@link LRUCache.OptionsBase.updateAgeOnHas} is set.
*/
has(k, hasOptions = {}) {
const { updateAgeOnHas = this.updateAgeOnHas, status } = hasOptions;
const index = this.#keyMap.get(k);
if (index !== void 0) {
const v = this.#valList[index];
if (this.#isBackgroundFetch(v) && v.__staleWhileFetching === void 0) {
return false;
}
if (!this.#isStale(index)) {
if (updateAgeOnHas) {
this.#updateItemAge(index);
}
if (status) {
status.has = "hit";
this.#statusTTL(status, index);
}
return true;
} else if (status) {
status.has = "stale";
this.#statusTTL(status, index);
}
} else if (status) {
status.has = "miss";
}
return false;
}
/**
* Like {@link LRUCache#get} but doesn't update recency or delete stale
* items.
*
* Returns `undefined` if the item is stale, unless
* {@link LRUCache.OptionsBase.allowStale} is set.
*/
peek(k, peekOptions = {}) {
const { allowStale = this.allowStale } = peekOptions;
const index = this.#keyMap.get(k);
if (index !== void 0 && (allowStale || !this.#isStale(index))) {
const v = this.#valList[index];
return this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
}
}
#backgroundFetch(k, index, options, context) {
const v = index === void 0 ? void 0 : this.#valList[index];
if (this.#isBackgroundFetch(v)) {
return v;
}
const ac = new AC();
const { signal } = options;
signal?.addEventListener("abort", () => ac.abort(signal.reason), {
signal: ac.signal
});
const fetchOpts = {
signal: ac.signal,
options,
context
};
const cb = (v2, updateCache = false) => {
const { aborted } = ac.signal;
const ignoreAbort = options.ignoreFetchAbort && v2 !== void 0;
if (options.status) {
if (aborted && !updateCache) {
options.status.fetchAborted = true;
options.status.fetchError = ac.signal.reason;
if (ignoreAbort)
options.status.fetchAbortIgnored = true;
} else {
options.status.fetchResolved = true;
}
}
if (aborted && !ignoreAbort && !updateCache) {
return fetchFail(ac.signal.reason);
}
const bf2 = p;
if (this.#valList[index] === p) {
if (v2 === void 0) {
if (bf2.__staleWhileFetching) {
this.#valList[index] = bf2.__staleWhileFetching;
} else {
this.delete(k);
}
} else {
if (options.status)
options.status.fetchUpdated = true;
this.set(k, v2, fetchOpts.options);
}
}
return v2;
};
const eb = (er) => {
if (options.status) {
options.status.fetchRejected = true;
options.status.fetchError = er;
}
return fetchFail(er);
};
const fetchFail = (er) => {
const { aborted } = ac.signal;
const allowStaleAborted = aborted && options.allowStaleOnFetchAbort;
const allowStale = allowStaleAborted || options.allowStaleOnFetchRejection;
const noDelete = allowStale || options.noDeleteOnFetchRejection;
const bf2 = p;
if (this.#valList[index] === p) {
const del = !noDelete || bf2.__staleWhileFetching === void 0;
if (del) {
this.delete(k);
} else if (!allowStaleAborted) {
this.#valList[index] = bf2.__staleWhileFetching;
}
}
if (allowStale) {
if (options.status && bf2.__staleWhileFetching !== void 0) {
options.status.returnedStale = true;
}
return bf2.__staleWhileFetching;
} else if (bf2.__returned === bf2) {
throw er;
}
};
const pcall = (res, rej) => {
const fmp = this.#fetchMethod?.(k, v, fetchOpts);
if (fmp && fmp instanceof Promise) {
fmp.then((v2) => res(v2 === void 0 ? void 0 : v2), rej);
}
ac.signal.addEventListener("abort", () => {
if (!options.ignoreFetchAbort || options.allowStaleOnFetchAbort) {
res(void 0);
if (options.allowStaleOnFetchAbort) {
res = (v2) => cb(v2, true);
}
}
});
};
if (options.status)
options.status.fetchDispatched = true;
const p = new Promise(pcall).then(cb, eb);
const bf = Object.assign(p, {
__abortController: ac,
__staleWhileFetching: v,
__returned: void 0
});
if (index === void 0) {
this.set(k, bf, { ...fetchOpts.options, status: void 0 });
index = this.#keyMap.get(k);
} else {
this.#valList[index] = bf;
}
return bf;
}
#isBackgroundFetch(p) {
if (!this.#hasFetchMethod)
return false;
const b = p;
return !!b && b instanceof Promise && b.hasOwnProperty("__staleWhileFetching") && b.__abortController instanceof AC;
}
async fetch(k, fetchOptions = {}) {
const {
// get options
allowStale = this.allowStale,
updateAgeOnGet = this.updateAgeOnGet,
noDeleteOnStaleGet = this.noDeleteOnStaleGet,
// set options
ttl = this.ttl,
noDisposeOnSet = this.noDisposeOnSet,
size = 0,
sizeCalculation = this.sizeCalculation,
noUpdateTTL = this.noUpdateTTL,
// fetch exclusive options
noDeleteOnFetchRejection = this.noDeleteOnFetchRejection,
allowStaleOnFetchRejection = this.allowStaleOnFetchRejection,
ignoreFetchAbort = this.ignoreFetchAbort,
allowStaleOnFetchAbort = this.allowStaleOnFetchAbort,
context,
forceRefresh = false,
status,
signal
} = fetchOptions;
if (!this.#hasFetchMethod) {
if (status)
status.fetch = "get";
return this.get(k, {
allowStale,
updateAgeOnGet,
noDeleteOnStaleGet,
status
});
}
const options = {
allowStale,
updateAgeOnGet,
noDeleteOnStaleGet,
ttl,
noDisposeOnSet,
size,
sizeCalculation,
noUpdateTTL,
noDeleteOnFetchRejection,
allowStaleOnFetchRejection,
allowStaleOnFetchAbort,
ignoreFetchAbort,
status,
signal
};
let index = this.#keyMap.get(k);
if (index === void 0) {
if (status)
status.fetch = "miss";
const p = this.#backgroundFetch(k, index, options, context);
return p.__returned = p;
} else {
const v = this.#valList[index];
if (this.#isBackgroundFetch(v)) {
const stale = allowStale && v.__staleWhileFetching !== void 0;
if (status) {
status.fetch = "inflight";
if (stale)
status.returnedStale = true;
}
return stale ? v.__staleWhileFetching : v.__returned = v;
}
const isStale = this.#isStale(index);
if (!forceRefresh && !isStale) {
if (status)
status.fetch = "hit";
this.#moveToTail(index);
if (updateAgeOnGet) {
this.#updateItemAge(index);
}
if (status)
this.#statusTTL(status, index);
return v;
}
const p = this.#backgroundFetch(k, index, options, context);
const hasStale = p.__staleWhileFetching !== void 0;
const staleVal = hasStale && allowStale;
if (status) {
status.fetch = isStale ? "stale" : "refresh";
if (staleVal && isStale)
status.returnedStale = true;
}
return staleVal ? p.__staleWhileFetching : p.__returned = p;
}
}
/**
* Return a value from the cache. Will update the recency of the cache
* entry found.
*
* If the key is not found, get() will return `undefined`.
*/
get(k, getOptions = {}) {
const { allowStale = this.allowStale, updateAgeOnGet = this.updateAgeOnGet, noDeleteOnStaleGet = this.noDeleteOnStaleGet, status } = getOptions;
const index = this.#keyMap.get(k);
if (index !== void 0) {
const value = this.#valList[index];
const fetching = this.#isBackgroundFetch(value);
if (status)
this.#statusTTL(status, index);
if (this.#isStale(index)) {
if (status)
status.get = "stale";
if (!fetching) {
if (!noDeleteOnStaleGet) {
this.delete(k);
}
if (status && allowStale)
status.returnedStale = true;
return allowStale ? value : void 0;
} else {
if (status && allowStale && value.__staleWhileFetching !== void 0) {
status.returnedStale = true;
}
return allowStale ? value.__staleWhileFetching : void 0;
}
} else {
if (status)
status.get = "hit";
if (fetching) {
return value.__staleWhileFetching;
}
this.#moveToTail(index);
if (updateAgeOnGet) {
this.#updateItemAge(index);
}
return value;
}
} else if (status) {
status.get = "miss";
}
}
#connect(p, n) {
this.#prev[n] = p;
this.#next[p] = n;
}
#moveToTail(index) {
if (index !== this.#tail) {
if (index === this.#head) {
this.#head = this.#next[index];
} else {
this.#connect(this.#prev[index], this.#next[index]);
}
this.#connect(this.#tail, index);
this.#tail = index;
}
}
/**
* Deletes a key out of the cache.
* Returns true if the key was deleted, false otherwise.
*/
delete(k) {
let deleted = false;
if (this.#size !== 0) {
const index = this.#keyMap.get(k);
if (index !== void 0) {
deleted = true;
if (this.#size === 1) {
this.clear();
} else {
this.#removeItemSize(index);
const v = this.#valList[index];
if (this.#isBackgroundFetch(v)) {
v.__abortController.abort(new Error("deleted"));
} else if (this.#hasDispose || this.#hasDisposeAfter) {
if (this.#hasDispose) {
this.#dispose?.(v, k, "delete");
}
if (this.#hasDisposeAfter) {
this.#disposed?.push([v, k, "delete"]);
}
}
this.#keyMap.delete(k);
this.#keyList[index] = void 0;
this.#valList[index] = void 0;
if (index === this.#tail) {
this.#tail = this.#prev[index];
} else if (index === this.#head) {
this.#head = this.#next[index];
} else {
this.#next[this.#prev[index]] = this.#next[index];
this.#prev[this.#next[index]] = this.#prev[index];
}
this.#size--;
this.#free.push(index);
}
}
}
if (this.#hasDisposeAfter && this.#disposed?.length) {
const dt = this.#disposed;
let task;
while (task = dt?.shift()) {
this.#disposeAfter?.(...task);
}
}
return deleted;
}
/**
* Clear the cache entirely, throwing away all values.
*/
clear() {
for (const index of this.#rindexes({ allowStale: true })) {
const v = this.#valList[index];
if (this.#isBackgroundFetch(v)) {
v.__abortController.abort(new Error("deleted"));
} else {
const k = this.#keyList[index];
if (this.#hasDispose) {
this.#dispose?.(v, k, "delete");
}
if (this.#hasDisposeAfter) {
this.#disposed?.push([v, k, "delete"]);
}
}
}
this.#keyMap.clear();
this.#valList.fill(void 0);
this.#keyList.fill(void 0);
if (this.#ttls && this.#starts) {
this.#ttls.fill(0);
this.#starts.fill(0);
}
if (this.#sizes) {
this.#sizes.fill(0);
}
this.#head = 0;
this.#tail = 0;
this.#free.length = 0;
this.#calculatedSize = 0;
this.#size = 0;
if (this.#hasDisposeAfter && this.#disposed) {
const dt = this.#disposed;
let task;
while (task = dt?.shift()) {
this.#disposeAfter?.(...task);
}
}
}
};
exports2.LRUCache = LRUCache;
}
});
// ../../../usr/share/nodejs/lru-cache/dist/cjs/index-cjs.js
var require_index_cjs = __commonJS({
"../../../usr/share/nodejs/lru-cache/dist/cjs/index-cjs.js"(exports2, module2) {
"use strict";
var index_js_1 = require_cjs();
module2.exports = Object.assign(index_js_1.LRUCache, { default: index_js_1.LRUCache, LRUCache: index_js_1.LRUCache });
}
});
// ../../../usr/share/nodejs/agent-base/dist/helpers.js
var require_helpers = __commonJS({
"../../../usr/share/nodejs/agent-base/dist/helpers.js"(exports2) {
"use strict";
var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
if (k2 === void 0) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() {
return m[k];
} };
}
Object.defineProperty(o, k2, desc);
} : function(o, m, k, k2) {
if (k2 === void 0) k2 = k;
o[k2] = m[k];
});
var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
} : function(o, v) {
o["default"] = v;
});
var __importStar2 = exports2 && exports2.__importStar || function(mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) {
for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
}
__setModuleDefault2(result, mod);
return result;
};
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.req = exports2.json = exports2.toBuffer = void 0;
var http = __importStar2(require("http"));
var https = __importStar2(require("https"));
async function toBuffer(stream) {
let length = 0;
const chunks = [];
for await (const chunk of stream) {
length += chunk.length;
chunks.push(chunk);
}
return Buffer.concat(chunks, length);
}
exports2.toBuffer = toBuffer;
async function json(stream) {
const buf = await toBuffer(stream);
const str = buf.toString("utf8");
try {
return JSON.parse(str);
} catch (_err) {
const err = _err;
err.message += ` (input: ${str})`;
throw err;
}
}
exports2.json = json;
function req(url, opts = {}) {
const href = typeof url === "string" ? url : url.href;
const req2 = (href.startsWith("https:") ? https : http).request(url, opts);
const promise = new Promise((resolve, reject) => {
req2.once("response", resolve).once("error", reject).end();
});
req2.then = promise.then.bind(promise);
return req2;
}
exports2.req = req;
}
});
// ../../../usr/share/nodejs/agent-base/dist/index.js
var require_dist = __commonJS({
"../../../usr/share/nodejs/agent-base/dist/index.js"(exports2) {
"use strict";
var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
if (k2 === void 0) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() {
return m[k];
} };
}
Object.defineProperty(o, k2, desc);
} : function(o, m, k, k2) {
if (k2 === void 0) k2 = k;
o[k2] = m[k];
});
var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
} : function(o, v) {
o["default"] = v;
});
var __importStar2 = exports2 && exports2.__importStar || function(mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) {
for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
}
__setModuleDefault2(result, mod);
return result;
};
var __exportStar2 = exports2 && exports2.__exportStar || function(m, exports3) {
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) __createBinding2(exports3, m, p);
};
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.Agent = void 0;
var net = __importStar2(require("net"));
var http = __importStar2(require("http"));
var https_1 = require("https");
__exportStar2(require_helpers(), exports2);
var INTERNAL = Symbol("AgentBaseInternalState");
var Agent = class extends http.Agent {
constructor(opts) {
super(opts);
this[INTERNAL] = {};
}
/**
* Determine whether this is an `http` or `https` request.
*/
isSecureEndpoint(options) {
if (options) {
if (typeof options.secureEndpoint === "boolean") {
return options.secureEndpoint;
}
if (typeof options.protocol === "string") {
return options.protocol === "https:";
}
}
const { stack } = new Error();
if (typeof stack !== "string")
return false;
return stack.split("\n").some((l) => l.indexOf("(https.js:") !== -1 || l.indexOf("node:https:") !== -1);
}
// In order to support async signatures in `connect()` and Node's native
// connection pooling in `http.Agent`, the array of sockets for each origin
// has to be updated synchronously. This is so the length of the array is
// accurate when `addRequest()` is next called. We achieve this by creating a
// fake socket and adding it to `sockets[origin]` and incrementing
// `totalSocketCount`.
incrementSockets(name) {
if (this.maxSockets === Infinity && this.maxTotalSockets === Infinity) {
return null;
}
if (!this.sockets[name]) {
this.sockets[name] = [];
}
const fakeSocket = new net.Socket({ writable: false });
this.sockets[name].push(fakeSocket);
this.totalSocketCount++;
return fakeSocket;
}
decrementSockets(name, socket) {
if (!this.sockets[name] || socket === null) {
return;
}
const sockets = this.sockets[name];
const index = sockets.indexOf(socket);
if (index !== -1) {
sockets.splice(index, 1);
this.totalSocketCount--;
if (sockets.length === 0) {
delete this.sockets[name];
}
}
}
// In order to properly update the socket pool, we need to call `getName()` on
// the core `https.Agent` if it is a secureEndpoint.
getName(options) {
const secureEndpoint = typeof options.secureEndpoint === "boolean" ? options.secureEndpoint : this.isSecureEndpoint(options);
if (secureEndpoint) {
return https_1.Agent.prototype.getName.call(this, options);
}
return super.getName(options);
}
createSocket(req, options, cb) {
const connectOpts = {
...options,
secureEndpoint: this.isSecureEndpoint(options)
};
const name = this.getName(connectOpts);
const fakeSocket = this.incrementSockets(name);
Promise.resolve().then(() => this.connect(req, connectOpts)).then((socket) => {
this.decrementSockets(name, fakeSocket);
if (socket instanceof http.Agent) {
return socket.addRequest(req, connectOpts);
}
this[INTERNAL].currentSocket = socket;
super.createSocket(req, options, cb);
}, (err) => {
this.decrementSockets(name, fakeSocket);
cb(err);
});
}
createConnection() {
const socket = this[INTERNAL].currentSocket;
this[INTERNAL].currentSocket = void 0;
if (!socket) {
throw new Error("No socket was returned in the `connect()` function");
}
return socket;
}
get defaultPort() {
return this[INTERNAL].defaultPort ?? (this.protocol === "https:" ? 443 : 80);
}
set defaultPort(v) {
if (this[INTERNAL]) {
this[INTERNAL].defaultPort = v;
}
}
get protocol() {
return this[INTERNAL].protocol ?? (this.isSecureEndpoint() ? "https:" : "http:");
}
set protocol(v) {
if (this[INTERNAL]) {
this[INTERNAL].protocol = v;
}
}
};
exports2.Agent = Agent;
}
});
// ../../../usr/share/nodejs/proxy-from-env/index.js
var require_proxy_from_env = __commonJS({
"../../../usr/share/nodejs/proxy-from-env/index.js"(exports2) {
"use strict";
var parseUrl = require("url").parse;
var DEFAULT_PORTS = {
ftp: 21,
gopher: 70,
http: 80,
https: 443,
ws: 80,
wss: 443
};
var stringEndsWith = String.prototype.endsWith || function(s) {
return s.length <= this.length && this.indexOf(s, this.length - s.length) !== -1;
};
function getProxyForUrl(url) {
var parsedUrl = typeof url === "string" ? parseUrl(url) : url || {};
var proto = parsedUrl.protocol;
var hostname = parsedUrl.host;
var port = parsedUrl.port;
if (typeof hostname !== "string" || !hostname || typeof proto !== "string") {
return "";
}
proto = proto.split(":", 1)[0];
hostname = hostname.replace(/:\d*$/, "");
port = parseInt(port) || DEFAULT_PORTS[proto] || 0;
if (!shouldProxy(hostname, port)) {
return "";
}
var proxy = getEnv("npm_config_" + proto + "_proxy") || getEnv(proto + "_proxy") || getEnv("npm_config_proxy") || getEnv("all_proxy");
if (proxy && proxy.indexOf("://") === -1) {
proxy = proto + "://" + proxy;
}
return proxy;
}
function shouldProxy(hostname, port) {
var NO_PROXY = (getEnv("npm_config_no_proxy") || getEnv("no_proxy")).toLowerCase();
if (!NO_PROXY) {
return true;
}
if (NO_PROXY === "*") {
return false;
}
return NO_PROXY.split(/[,\s]/).every(function(proxy) {
if (!proxy) {
return true;
}
var parsedProxy = proxy.match(/^(.+):(\d+)$/);
var parsedProxyHostname = parsedProxy ? parsedProxy[1] : proxy;
var parsedProxyPort = parsedProxy ? parseInt(parsedProxy[2]) : 0;
if (parsedProxyPort && parsedProxyPort !== port) {
return true;
}
if (!/^[.*]/.test(parsedProxyHostname)) {
return hostname !== parsedProxyHostname;
}
if (parsedProxyHostname.charAt(0) === "*") {
parsedProxyHostname = parsedProxyHostname.slice(1);
}
return !stringEndsWith.call(hostname, parsedProxyHostname);
});
}
function getEnv(key) {
return process.env[key.toLowerCase()] || process.env[key.toUpperCase()] || "";
}
exports2.getProxyForUrl = getProxyForUrl;
}
});
// ../../../usr/share/nodejs/http-proxy-agent/dist/index.js
var require_dist2 = __commonJS({
"../../../usr/share/nodejs/http-proxy-agent/dist/index.js"(exports2) {
"use strict";
var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
if (k2 === void 0) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() {
return m[k];
} };
}
Object.defineProperty(o, k2, desc);
} : function(o, m, k, k2) {
if (k2 === void 0) k2 = k;
o[k2] = m[k];
});
var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
} : function(o, v) {
o["default"] = v;
});
var __importStar2 = exports2 && exports2.__importStar || function(mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) {
for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
}
__setModuleDefault2(result, mod);
return result;
};
var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
return mod && mod.__esModule ? mod : { "default": mod };
};
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.HttpProxyAgent = void 0;
var net = __importStar2(require("net"));
var tls = __importStar2(require("tls"));
var debug_1 = __importDefault2(require_src());
var events_1 = require("events");
var agent_base_1 = require_dist();
var url_1 = require("url");
var debug2 = (0, debug_1.default)("http-proxy-agent");
var HttpProxyAgent = class extends agent_base_1.Agent {
constructor(proxy, opts) {
super(opts);
this.proxy = typeof proxy === "string" ? new url_1.URL(proxy) : proxy;
this.proxyHeaders = opts?.headers ?? {};
debug2("Creating new HttpProxyAgent instance: %o", this.proxy.href);
const host = (this.proxy.hostname || this.proxy.host).replace(/^\[|\]$/g, "");
const port = this.proxy.port ? parseInt(this.proxy.port, 10) : this.proxy.protocol === "https:" ? 443 : 80;
this.connectOpts = {
...opts ? omit(opts, "headers") : null,
host,
port
};
}
addRequest(req, opts) {
req._header = null;
this.setRequestProps(req, opts);
super.addRequest(req, opts);
}
setRequestProps(req, opts) {
const { proxy } = this;
const protocol = opts.secureEndpoint ? "https:" : "http:";
const hostname = req.getHeader("host") || "localhost";
const base = `${protocol}//${hostname}`;
const url = new url_1.URL(req.path, base);
if (opts.port !== 80) {
url.port = String(opts.port);
}
req.path = String(url);
const headers = typeof this.proxyHeaders === "function" ? this.proxyHeaders() : { ...this.proxyHeaders };
if (proxy.username || proxy.password) {
const auth = `${decodeURIComponent(proxy.username)}:${decodeURIComponent(proxy.password)}`;
headers["Proxy-Authorization"] = `Basic ${Buffer.from(auth).toString("base64")}`;
}
if (!headers["Proxy-Connection"]) {
headers["Proxy-Connection"] = this.keepAlive ? "Keep-Alive" : "close";
}
for (const name of Object.keys(headers)) {
const value = headers[name];
if (value) {
req.setHeader(name, value);
}
}
}
async connect(req, opts) {
req._header = null;
if (!req.path.includes("://")) {
this.setRequestProps(req, opts);
}
let first;
let endOfHeaders;
debug2("Regenerating stored HTTP header string for request");
req._implicitHeader();
if (req.outputData && req.outputData.length > 0) {
debug2("Patching connection write() output buffer with updated header");
first = req.outputData[0].data;
endOfHeaders = first.indexOf("\r\n\r\n") + 4;
req.outputData[0].data = req._header + first.substring(endOfHeaders);
debug2("Output buffer: %o", req.outputData[0].data);
}
let socket;
if (this.proxy.protocol === "https:") {
debug2("Creating `tls.Socket`: %o", this.connectOpts);
socket = tls.connect(this.connectOpts);
} else {
debug2("Creating `net.Socket`: %o", this.connectOpts);
socket = net.connect(this.connectOpts);
}
await (0, events_1.once)(socket, "connect");
return socket;
}
};
exports2.HttpProxyAgent = HttpProxyAgent;
HttpProxyAgent.protocols = ["http", "https"];
function omit(obj, ...keys) {
const ret = {};
let key;
for (key in obj) {
if (!keys.includes(key)) {
ret[key] = obj[key];
}
}
return ret;
}
}
});
// ../../../usr/share/nodejs/https-proxy-agent/dist/parse-proxy-response.js
var require_parse_proxy_response = __commonJS({
"../../../usr/share/nodejs/https-proxy-agent/dist/parse-proxy-response.js"(exports2) {
"use strict";
var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
return mod && mod.__esModule ? mod : { "default": mod };
};
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.parseProxyResponse = void 0;
var debug_1 = __importDefault2(require_src());
var debug2 = (0, debug_1.default)("https-proxy-agent:parse-proxy-response");
function parseProxyResponse(socket) {
return new Promise((resolve, reject) => {
let buffersLength = 0;
const buffers = [];
function read() {
const b = socket.read();
if (b)
ondata(b);
else
socket.once("readable", read);
}
function cleanup() {
socket.removeListener("end", onend);
socket.removeListener("error", onerror);
socket.removeListener("readable", read);
}
function onend() {
cleanup();
debug2("onend");
reject(new Error("Proxy connection ended before receiving CONNECT response"));
}
function onerror(err) {
cleanup();
debug2("onerror %o", err);
reject(err);
}
function ondata(b) {
buffers.push(b);
buffersLength += b.length;
const buffered = Buffer.concat(buffers, buffersLength);
const endOfHeaders = buffered.indexOf("\r\n\r\n");
if (endOfHeaders === -1) {
debug2("have not received end of HTTP headers yet...");
read();
return;
}
const headerParts = buffered.slice(0, endOfHeaders).toString("ascii").split("\r\n");
const firstLine = headerParts.shift();
if (!firstLine) {
socket.destroy();
return reject(new Error("No header received from proxy CONNECT response"));
}
const firstLineParts = firstLine.split(" ");
const statusCode = +firstLineParts[1];
const statusText = firstLineParts.slice(2).join(" ");
const headers = {};
for (const header of headerParts) {
if (!header)
continue;
const firstColon = header.indexOf(":");
if (firstColon === -1) {
socket.destroy();
return reject(new Error(`Invalid header from proxy CONNECT response: "${header}"`));
}
const key = header.slice(0, firstColon).toLowerCase();
const value = header.slice(firstColon + 1).trimStart();
const current = headers[key];
if (typeof current === "string") {
headers[key] = [current, value];
} else if (Array.isArray(current)) {
current.push(value);
} else {
headers[key] = value;
}
}
debug2("got proxy server response: %o %o", firstLine, headers);
cleanup();
resolve({
connect: {
statusCode,
statusText,
headers
},
buffered
});
}
socket.on("error", onerror);
socket.on("end", onend);
read();
});
}
exports2.parseProxyResponse = parseProxyResponse;
}
});
// ../../../usr/share/nodejs/https-proxy-agent/dist/index.js
var require_dist3 = __commonJS({
"../../../usr/share/nodejs/https-proxy-agent/dist/index.js"(exports2) {
"use strict";
var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
if (k2 === void 0) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() {
return m[k];
} };
}
Object.defineProperty(o, k2, desc);
} : function(o, m, k, k2) {
if (k2 === void 0) k2 = k;
o[k2] = m[k];
});
var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
} : function(o, v) {
o["default"] = v;
});
var __importStar2 = exports2 && exports2.__importStar || function(mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) {
for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
}
__setModuleDefault2(result, mod);
return result;
};
var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
return mod && mod.__esModule ? mod : { "default": mod };
};
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.HttpsProxyAgent = void 0;
var net = __importStar2(require("net"));
var tls = __importStar2(require("tls"));
var assert_1 = __importDefault2(require("assert"));
var debug_1 = __importDefault2(require_src());
var agent_base_1 = require_dist();
var url_1 = require("url");
var parse_proxy_response_1 = require_parse_proxy_response();
var debug2 = (0, debug_1.default)("https-proxy-agent");
var HttpsProxyAgent = class extends agent_base_1.Agent {
constructor(proxy, opts) {
super(opts);
this.options = { path: void 0 };
this.proxy = typeof proxy === "string" ? new url_1.URL(proxy) : proxy;
this.proxyHeaders = opts?.headers ?? {};
debug2("Creating new HttpsProxyAgent instance: %o", this.proxy.href);
const host = (this.proxy.hostname || this.proxy.host).replace(/^\[|\]$/g, "");
const port = this.proxy.port ? parseInt(this.proxy.port, 10) : this.proxy.protocol === "https:" ? 443 : 80;
this.connectOpts = {
// Attempt to negotiate http/1.1 for proxy servers that support http/2
ALPNProtocols: ["http/1.1"],
...opts ? omit(opts, "headers") : null,
host,
port
};
}
/**
* Called when the node-core HTTP client library is creating a
* new HTTP request.
*/
async connect(req, opts) {
const { proxy } = this;
if (!opts.host) {
throw new TypeError('No "host" provided');
}
let socket;
if (proxy.protocol === "https:") {
debug2("Creating `tls.Socket`: %o", this.connectOpts);
const servername = this.connectOpts.servername || this.connectOpts.host;
socket = tls.connect({
...this.connectOpts,
servername
});
} else {
debug2("Creating `net.Socket`: %o", this.connectOpts);
socket = net.connect(this.connectOpts);
}
const headers = typeof this.proxyHeaders === "function" ? this.proxyHeaders() : { ...this.proxyHeaders };
const host = net.isIPv6(opts.host) ? `[${opts.host}]` : opts.host;
let payload = `CONNECT ${host}:${opts.port} HTTP/1.1\r
`;
if (proxy.username || proxy.password) {
const auth = `${decodeURIComponent(proxy.username)}:${decodeURIComponent(proxy.password)}`;
headers["Proxy-Authorization"] = `Basic ${Buffer.from(auth).toString("base64")}`;
}
headers.Host = `${host}:${opts.port}`;
if (!headers["Proxy-Connection"]) {
headers["Proxy-Connection"] = this.keepAlive ? "Keep-Alive" : "close";
}
for (const name of Object.keys(headers)) {
payload += `${name}: ${headers[name]}\r
`;
}
const proxyResponsePromise = (0, parse_proxy_response_1.parseProxyResponse)(socket);
socket.write(`${payload}\r
`);
const { connect, buffered } = await proxyResponsePromise;
req.emit("proxyConnect", connect);
this.emit("proxyConnect", connect, req);
if (connect.statusCode === 200) {
req.once("socket", resume);
if (opts.secureEndpoint) {
debug2("Upgrading socket connection to TLS");
const servername = opts.servername || opts.host;
return tls.connect({
...omit(opts, "host", "path", "port"),
socket,
servername
});
}
return socket;
}
socket.destroy();
const fakeSocket = new net.Socket({ writable: false });
fakeSocket.readable = true;
req.once("socket", (s) => {
debug2("Replaying proxy buffer for failed request");
(0, assert_1.default)(s.listenerCount("data") > 0);
s.push(buffered);
s.push(null);
});
return fakeSocket;
}
};
exports2.HttpsProxyAgent = HttpsProxyAgent;
HttpsProxyAgent.protocols = ["http", "https"];
function resume(socket) {
socket.resume();
}
function omit(obj, ...keys) {
const ret = {};
let key;
for (key in obj) {
if (!keys.includes(key)) {
ret[key] = obj[key];
}
}
return ret;
}
}
});
// ../../../usr/share/nodejs/ip/lib/ip.js
var require_ip = __commonJS({
"../../../usr/share/nodejs/ip/lib/ip.js"(exports2) {
var ip = exports2;
var { Buffer: Buffer2 } = require("buffer");
var os2 = require("os");
var net = require("net");
ip.toBuffer = function(ip2, buff, offset) {
offset = ~~offset;
let result;
if (this.isV4Format(ip2)) {
result = buff || Buffer2.alloc(offset + 4);
ip2.split(/\./g).map((byte) => {
result[offset++] = parseInt(byte, 10) & 255;
});
} else if (this.isV6Format(ip2)) {
const sections = ip2.split(":", 8);
let i;
for (i = 0; i < sections.length; i++) {
const isv4 = this.isV4Format(sections[i]);
let v4Buffer;
if (isv4) {
v4Buffer = this.toBuffer(sections[i]);
sections[i] = v4Buffer.slice(0, 2).toString("hex");
}
if (v4Buffer && ++i < 8) {
sections.splice(i, 0, v4Buffer.slice(2, 4).toString("hex"));
}
}
if (sections[0] === "") {
while (sections.length < 8) sections.unshift("0");
} else if (sections[sections.length - 1] === "") {
while (sections.length < 8) sections.push("0");
} else if (sections.length < 8) {
for (i = 0; i < sections.length && sections[i] !== ""; i++) ;
const argv = [i, 1];
for (i = 9 - sections.length; i > 0; i--) {
argv.push("0");
}
sections.splice(...argv);
}
result = buff || Buffer2.alloc(offset + 16);
for (i = 0; i < sections.length; i++) {
const word = parseInt(sections[i], 16);
result[offset++] = word >> 8 & 255;
result[offset++] = word & 255;
}
}
if (!result) {
throw Error(`Invalid ip address: ${ip2}`);
}
return result;
};
ip.toString = function(buff, offset, length) {
offset = ~~offset;
length = length || buff.length - offset;
let result = [];
if (length === 4) {
for (let i = 0; i < length; i++) {
result.push(buff[offset + i]);
}
result = result.join(".");
} else if (length === 16) {
for (let i = 0; i < length; i += 2) {
result.push(buff.readUInt16BE(offset + i).toString(16));
}
result = result.join(":");
result = result.replace(/(^|:)0(:0)*:0(:|$)/, "$1::$3");
result = result.replace(/:{3,4}/, "::");
}
return result;
};
ip.isV4Format = net.isIPv4;
ip.isV6Format = net.isIPv6;
ip.isValid = function(addr) {
return net.isIP(addr) !== 0;
};
ip.normalizeStrict = function(addr) {
let family;
switch (net.isIP(addr)) {
case 4:
family = "ipv4";
break;
case 6:
family = "ipv6";
break;
default:
throw new Error(`Invalid ip address: ${addr}`);
}
const { address } = new net.SocketAddress({ address: addr, family });
return address;
};
function _normalizeFamily(family) {
if (family === 4) {
return "ipv4";
}
if (family === 6) {
return "ipv6";
}
return family ? family.toLowerCase() : "ipv4";
}
ip.fromPrefixLen = function(prefixlen, family) {
if (prefixlen > 32) {
family = "ipv6";
} else {
family = _normalizeFamily(family);
}
let len = 4;
if (family === "ipv6") {
len = 16;
}
const buff = Buffer2.alloc(len);
for (let i = 0, n = buff.length; i < n; ++i) {
let bits = 8;
if (prefixlen < 8) {
bits = prefixlen;
}
prefixlen -= bits;
buff[i] = ~(255 >> bits) & 255;
}
return ip.toString(buff);
};
ip.mask = function(addr, mask) {
addr = ip.toBuffer(addr);
mask = ip.toBuffer(mask);
const result = Buffer2.alloc(Math.max(addr.length, mask.length));
let i;
if (addr.length === mask.length) {
for (i = 0; i < addr.length; i++) {
result[i] = addr[i] & mask[i];
}
} else if (mask.length === 4) {
for (i = 0; i < mask.length; i++) {
result[i] = addr[addr.length - 4 + i] & mask[i];
}
} else {
for (i = 0; i < result.length - 6; i++) {
result[i] = 0;
}
result[10] = 255;
result[11] = 255;
for (i = 0; i < addr.length; i++) {
result[i + 12] = addr[i] & mask[i + 12];
}
i += 12;
}
for (; i < result.length; i++) {
result[i] = 0;
}
return ip.toString(result);
};
ip.cidr = function(cidrString) {
const cidrParts = cidrString.split("/");
const addr = cidrParts[0];
if (cidrParts.length !== 2) {
throw new Error(`invalid CIDR subnet: ${addr}`);
}
const mask = ip.fromPrefixLen(parseInt(cidrParts[1], 10));
return ip.mask(addr, mask);
};
ip.subnet = function(addr, mask) {
const networkAddress = ip.toLong(ip.mask(addr, mask));
const maskBuffer = ip.toBuffer(mask);
let maskLength = 0;
for (let i = 0; i < maskBuffer.length; i++) {
if (maskBuffer[i] === 255) {
maskLength += 8;
} else {
let octet = maskBuffer[i] & 255;
while (octet) {
octet = octet << 1 & 255;
maskLength++;
}
}
}
const numberOfAddresses = 2 ** (32 - maskLength);
return {
networkAddress: ip.fromLong(networkAddress),
firstAddress: numberOfAddresses <= 2 ? ip.fromLong(networkAddress) : ip.fromLong(networkAddress + 1),
lastAddress: numberOfAddresses <= 2 ? ip.fromLong(networkAddress + numberOfAddresses - 1) : ip.fromLong(networkAddress + numberOfAddresses - 2),
broadcastAddress: ip.fromLong(networkAddress + numberOfAddresses - 1),
subnetMask: mask,
subnetMaskLength: maskLength,
numHosts: numberOfAddresses <= 2 ? numberOfAddresses : numberOfAddresses - 2,
length: numberOfAddresses,
contains(other) {
return networkAddress === ip.toLong(ip.mask(other, mask));
}
};
};
ip.cidrSubnet = function(cidrString) {
const cidrParts = cidrString.split("/");
const addr = cidrParts[0];
if (cidrParts.length !== 2) {
throw new Error(`invalid CIDR subnet: ${addr}`);
}
const mask = ip.fromPrefixLen(parseInt(cidrParts[1], 10));
return ip.subnet(addr, mask);
};
ip.not = function(addr) {
const buff = ip.toBuffer(addr);
for (let i = 0; i < buff.length; i++) {
buff[i] = 255 ^ buff[i];
}
return ip.toString(buff);
};
ip.or = function(a, b) {
a = ip.toBuffer(a);
b = ip.toBuffer(b);
if (a.length === b.length) {
for (let i = 0; i < a.length; ++i) {
a[i] |= b[i];
}
return ip.toString(a);
}
let buff = a;
let other = b;
if (b.length > a.length) {
buff = b;
other = a;
}
const offset = buff.length - other.length;
for (let i = offset; i < buff.length; ++i) {
buff[i] |= other[i - offset];
}
return ip.toString(buff);
};
ip.isEqual = function(a, b) {
a = ip.toBuffer(a);
b = ip.toBuffer(b);
if (a.length === b.length) {
for (let i = 0; i < a.length; i++) {
if (a[i] !== b[i]) return false;
}
return true;
}
if (b.length === 4) {
const t = b;
b = a;
a = t;
}
for (let i = 0; i < 10; i++) {
if (b[i] !== 0) return false;
}
const word = b.readUInt16BE(10);
if (word !== 0 && word !== 65535) return false;
for (let i = 0; i < 4; i++) {
if (a[i] !== b[i + 12]) return false;
}
return true;
};
ip.isPrivate = function(addr) {
addr = ip.normalizeStrict(addr);
return /^(::f{4}:)?127\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/i.test(addr) || /^(::f{4}:)?10\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/i.test(addr) || /^(::f{4}:)?192\.168\.([0-9]{1,3})\.([0-9]{1,3})$/i.test(addr) || /^(::f{4}:)?172\.(1[6-9]|2\d|30|31)\.([0-9]{1,3})\.([0-9]{1,3})$/i.test(addr) || /^(::f{4}:)?169\.254\.([0-9]{1,3})\.([0-9]{1,3})$/i.test(addr) || /^f[cd][0-9a-f]{2}:/i.test(addr) || /^fe80:/i.test(addr) || /^::1$/.test(addr) || /^::$/.test(addr);
};
ip.isPublic = function(addr) {
return !ip.isPrivate(addr);
};
ip.isValidAndPrivate = function(addr) {
try {
return ip.isPrivate(addr);
} catch {
return false;
}
};
ip.isValidAndPublic = function(addr) {
try {
return ip.isPublic(addr);
} catch {
return false;
}
};
ip.isLoopback = function(addr) {
addr = ip.normalizeStrict(addr);
return /^(::f{4}:)?127\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})/.test(addr) || /^fe80::1$/i.test(addr) || /^::1$/.test(addr) || /^::$/.test(addr);
};
ip.loopback = function(family) {
family = _normalizeFamily(family);
if (family !== "ipv4" && family !== "ipv6") {
throw new Error("family must be ipv4 or ipv6");
}
return family === "ipv4" ? "127.0.0.1" : "fe80::1";
};
ip.address = function(name, family) {
const interfaces = os2.networkInterfaces();
family = _normalizeFamily(family);
if (name && name !== "private" && name !== "public") {
const res = interfaces[name].filter((details) => {
const itemFamily = _normalizeFamily(details.family);
return itemFamily === family;
});
if (res.length === 0) {
return void 0;
}
return res[0].address;
}
const all = Object.keys(interfaces).map((nic) => {
const addresses = interfaces[nic].filter((details) => {
details.family = _normalizeFamily(details.family);
if (details.family !== family || ip.isLoopback(details.address)) {
return false;
}
if (!name) {
return true;
}
return name === "public" ? ip.isPrivate(details.address) : ip.isPublic(details.address);
});
return addresses.length ? addresses[0].address : void 0;
}).filter(Boolean);
return !all.length ? ip.loopback(family) : all[0];
};
ip.toLong = function(ip2) {
let ipl = 0;
ip2.split(".").forEach((octet) => {
ipl <<= 8;
ipl += parseInt(octet);
});
return ipl >>> 0;
};
ip.fromLong = function(ipl) {
return `${ipl >>> 24}.${ipl >> 16 & 255}.${ipl >> 8 & 255}.${ipl & 255}`;
};
ip.normalizeToLong = function(addr) {
if (typeof addr !== "string") return -1;
const parts = addr.split(".").map((part) => {
if (part.startsWith("0x") || part.startsWith("0X")) {
return parseInt(part, 16);
} else if (part.startsWith("0") && part !== "0" && /^[0-7]+$/.test(part)) {
return parseInt(part, 8);
} else if (/^[1-9]\d*$/.test(part) || part === "0") {
return parseInt(part, 10);
} else {
return NaN;
}
});
if (parts.some(isNaN)) return -1;
let val = 0;
const n = parts.length;
switch (n) {
case 1:
if (parts[0] > 4294967295) return -1;
val = parts[0];
break;
case 2:
if (parts[0] > 255 || parts[1] > 16777215) return -1;
val = parts[0] << 24 | parts[1] & 16777215;
break;
case 3:
if (parts[0] > 255 || parts[1] > 255 || parts[2] > 65535) return -1;
val = parts[0] << 24 | parts[1] << 16 | parts[2] & 65535;
break;
case 4:
if (parts.some((part) => part > 255)) return -1;
val = parts[0] << 24 | parts[1] << 16 | parts[2] << 8 | parts[3];
break;
default:
return -1;
}
return val >>> 0;
};
ip.normalizeLax = function(addr) {
if (ip.isV6Format(addr)) {
const { address } = new net.SocketAddress({ address: addr, family: "ipv6" });
return address;
}
const ipl = ip.normalizeToLong(addr);
if (ipl < 0) {
throw Error(`Invalid ip address: ${addr}`);
}
return ip.fromLong(ipl);
};
}
});
// ../../../usr/share/nodejs/smart-buffer/build/utils.js
var require_utils = __commonJS({
"../../../usr/share/nodejs/smart-buffer/build/utils.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.bigIntAndBufferInt64Check = exports2.checkTargetOffset = exports2.checkLengthValue = exports2.checkOffsetValue = exports2.checkEncoding = exports2.isFiniteInteger = exports2.ERRORS = void 0;
var buffer_1 = require("buffer");
var ERRORS = {
INVALID_ENCODING: "Invalid encoding provided. Please specify a valid encoding the internal Node.js Buffer supports.",
INVALID_SMARTBUFFER_SIZE: "Invalid size provided. Size must be a valid integer greater than zero.",
INVALID_SMARTBUFFER_BUFFER: "Invalid Buffer provided in SmartBufferOptions.",
INVALID_SMARTBUFFER_OBJECT: "Invalid SmartBufferOptions object supplied to SmartBuffer constructor or factory methods.",
INVALID_OFFSET: "An invalid offset value was provided.",
INVALID_OFFSET_NON_NUMBER: "An invalid offset value was provided. A numeric value is required.",
INVALID_LENGTH: "An invalid length value was provided.",
INVALID_LENGTH_NON_NUMBER: "An invalid length value was provived. A numeric value is required.",
INVALID_TARGET_OFFSET: "Target offset is beyond the bounds of the internal SmartBuffer data.",
INVALID_TARGET_LENGTH: "Specified length value moves cursor beyong the bounds of the internal SmartBuffer data.",
INVALID_READ_BEYOND_BOUNDS: "Attempted to read beyond the bounds of the managed data.",
INVALID_WRITE_BEYOND_BOUNDS: "Attempted to write beyond the bounds of the managed data."
};
exports2.ERRORS = ERRORS;
function checkEncoding(encoding) {
if (!buffer_1.Buffer.isEncoding(encoding)) {
throw new Error(ERRORS.INVALID_ENCODING);
}
}
exports2.checkEncoding = checkEncoding;
function isFiniteInteger(value) {
return typeof value === "number" && isFinite(value) && isInteger2(value);
}
exports2.isFiniteInteger = isFiniteInteger;
function checkOffsetOrLengthValue(value, offset) {
if (typeof value === "number") {
if (!isFiniteInteger(value) || value < 0) {
throw new Error(offset ? ERRORS.INVALID_OFFSET : ERRORS.INVALID_LENGTH);
}
} else {
throw new Error(offset ? ERRORS.INVALID_OFFSET_NON_NUMBER : ERRORS.INVALID_LENGTH_NON_NUMBER);
}
}
function checkLengthValue(length) {
checkOffsetOrLengthValue(length, false);
}
exports2.checkLengthValue = checkLengthValue;
function checkOffsetValue(offset) {
checkOffsetOrLengthValue(offset, true);
}
exports2.checkOffsetValue = checkOffsetValue;
function checkTargetOffset(offset, buff) {
if (offset < 0 || offset > buff.length) {
throw new Error(ERRORS.INVALID_TARGET_OFFSET);
}
}
exports2.checkTargetOffset = checkTargetOffset;
function isInteger2(value) {
return typeof value === "number" && isFinite(value) && Math.floor(value) === value;
}
function bigIntAndBufferInt64Check(bufferMethod) {
if (typeof BigInt === "undefined") {
throw new Error("Platform does not support JS BigInt type.");
}
if (typeof buffer_1.Buffer.prototype[bufferMethod] === "undefined") {
throw new Error("Platform does not support Buffer.prototype." + String(bufferMethod));
}
}
exports2.bigIntAndBufferInt64Check = bigIntAndBufferInt64Check;
}
});
// ../../../usr/share/nodejs/smart-buffer/build/smartbuffer.js
var require_smartbuffer = __commonJS({
"../../../usr/share/nodejs/smart-buffer/build/smartbuffer.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.SmartBuffer = void 0;
var utils_1 = require_utils();
var DEFAULT_SMARTBUFFER_SIZE = 4096;
var DEFAULT_SMARTBUFFER_ENCODING = "utf8";
var SmartBuffer = class _SmartBuffer {
/**
* Creates a new SmartBuffer instance.
*
* @param options { SmartBufferOptions } The SmartBufferOptions to apply to this instance.
*/
constructor(options) {
this.length = 0;
this._encoding = DEFAULT_SMARTBUFFER_ENCODING;
this._writeOffset = 0;
this._readOffset = 0;
if (_SmartBuffer.isSmartBufferOptions(options)) {
if (options.encoding) {
(0, utils_1.checkEncoding)(options.encoding);
this._encoding = options.encoding;
}
if (options.size) {
if ((0, utils_1.isFiniteInteger)(options.size) && options.size > 0) {
this._buff = Buffer.allocUnsafe(options.size);
} else {
throw new Error(utils_1.ERRORS.INVALID_SMARTBUFFER_SIZE);
}
} else if (options.buff) {
if (Buffer.isBuffer(options.buff)) {
this._buff = options.buff;
this.length = options.buff.length;
} else {
throw new Error(utils_1.ERRORS.INVALID_SMARTBUFFER_BUFFER);
}
} else {
this._buff = Buffer.allocUnsafe(DEFAULT_SMARTBUFFER_SIZE);
}
} else {
if (typeof options !== "undefined") {
throw new Error(utils_1.ERRORS.INVALID_SMARTBUFFER_OBJECT);
}
this._buff = Buffer.allocUnsafe(DEFAULT_SMARTBUFFER_SIZE);
}
}
/**
* Creates a new SmartBuffer instance with the provided internal Buffer size and optional encoding.
*
* @param size { Number } The size of the internal Buffer.
* @param encoding { String } The BufferEncoding to use for strings.
*
* @return { SmartBuffer }
*/
static fromSize(size, encoding) {
return new this({
size,
encoding
});
}
/**
* Creates a new SmartBuffer instance with the provided Buffer and optional encoding.
*
* @param buffer { Buffer } The Buffer to use as the internal Buffer value.
* @param encoding { String } The BufferEncoding to use for strings.
*
* @return { SmartBuffer }
*/
static fromBuffer(buff, encoding) {
return new this({
buff,
encoding
});
}
/**
* Creates a new SmartBuffer instance with the provided SmartBufferOptions options.
*
* @param options { SmartBufferOptions } The options to use when creating the SmartBuffer instance.
*/
static fromOptions(options) {
return new this(options);
}
/**
* Type checking function that determines if an object is a SmartBufferOptions object.
*/
static isSmartBufferOptions(options) {
const castOptions = options;
return castOptions && (castOptions.encoding !== void 0 || castOptions.size !== void 0 || castOptions.buff !== void 0);
}
// Signed integers
/**
* Reads an Int8 value from the current read position or an optionally provided offset.
*
* @param offset { Number } The offset to read data from (optional)
* @return { Number }
*/
readInt8(offset) {
return this._readNumberValue(Buffer.prototype.readInt8, 1, offset);
}
/**
* Reads an Int16BE value from the current read position or an optionally provided offset.
*
* @param offset { Number } The offset to read data from (optional)
* @return { Number }
*/
readInt16BE(offset) {
return this._readNumberValue(Buffer.prototype.readInt16BE, 2, offset);
}
/**
* Reads an Int16LE value from the current read position or an optionally provided offset.
*
* @param offset { Number } The offset to read data from (optional)
* @return { Number }
*/
readInt16LE(offset) {
return this._readNumberValue(Buffer.prototype.readInt16LE, 2, offset);
}
/**
* Reads an Int32BE value from the current read position or an optionally provided offset.
*
* @param offset { Number } The offset to read data from (optional)
* @return { Number }
*/
readInt32BE(offset) {
return this._readNumberValue(Buffer.prototype.readInt32BE, 4, offset);
}
/**
* Reads an Int32LE value from the current read position or an optionally provided offset.
*
* @param offset { Number } The offset to read data from (optional)
* @return { Number }
*/
readInt32LE(offset) {
return this._readNumberValue(Buffer.prototype.readInt32LE, 4, offset);
}
/**
* Reads a BigInt64BE value from the current read position or an optionally provided offset.
*
* @param offset { Number } The offset to read data from (optional)
* @return { BigInt }
*/
readBigInt64BE(offset) {
(0, utils_1.bigIntAndBufferInt64Check)("readBigInt64BE");
return this._readNumberValue(Buffer.prototype.readBigInt64BE, 8, offset);
}
/**
* Reads a BigInt64LE value from the current read position or an optionally provided offset.
*
* @param offset { Number } The offset to read data from (optional)
* @return { BigInt }
*/
readBigInt64LE(offset) {
(0, utils_1.bigIntAndBufferInt64Check)("readBigInt64LE");
return this._readNumberValue(Buffer.prototype.readBigInt64LE, 8, offset);
}
/**
* Writes an Int8 value to the current write position (or at optional offset).
*
* @param value { Number } The value to write.
* @param offset { Number } The offset to write the value at.
*
* @return this
*/
writeInt8(value, offset) {
this._writeNumberValue(Buffer.prototype.writeInt8, 1, value, offset);
return this;
}
/**
* Inserts an Int8 value at the given offset value.
*
* @param value { Number } The value to insert.
* @param offset { Number } The offset to insert the value at.
*
* @return this
*/
insertInt8(value, offset) {
return this._insertNumberValue(Buffer.prototype.writeInt8, 1, value, offset);
}
/**
* Writes an Int16BE value to the current write position (or at optional offset).
*
* @param value { Number } The value to write.
* @param offset { Number } The offset to write the value at.
*
* @return this
*/
writeInt16BE(value, offset) {
return this._writeNumberValue(Buffer.prototype.writeInt16BE, 2, value, offset);
}
/**
* Inserts an Int16BE value at the given offset value.
*
* @param value { Number } The value to insert.
* @param offset { Number } The offset to insert the value at.
*
* @return this
*/
insertInt16BE(value, offset) {
return this._insertNumberValue(Buffer.prototype.writeInt16BE, 2, value, offset);
}
/**
* Writes an Int16LE value to the current write position (or at optional offset).
*
* @param value { Number } The value to write.
* @param offset { Number } The offset to write the value at.
*
* @return this
*/
writeInt16LE(value, offset) {
return this._writeNumberValue(Buffer.prototype.writeInt16LE, 2, value, offset);
}
/**
* Inserts an Int16LE value at the given offset value.
*
* @param value { Number } The value to insert.
* @param offset { Number } The offset to insert the value at.
*
* @return this
*/
insertInt16LE(value, offset) {
return this._insertNumberValue(Buffer.prototype.writeInt16LE, 2, value, offset);
}
/**
* Writes an Int32BE value to the current write position (or at optional offset).
*
* @param value { Number } The value to write.
* @param offset { Number } The offset to write the value at.
*
* @return this
*/
writeInt32BE(value, offset) {
return this._writeNumberValue(Buffer.prototype.writeInt32BE, 4, value, offset);
}
/**
* Inserts an Int32BE value at the given offset value.
*
* @param value { Number } The value to insert.
* @param offset { Number } The offset to insert the value at.
*
* @return this
*/
insertInt32BE(value, offset) {
return this._insertNumberValue(Buffer.prototype.writeInt32BE, 4, value, offset);
}
/**
* Writes an Int32LE value to the current write position (or at optional offset).
*
* @param value { Number } The value to write.
* @param offset { Number } The offset to write the value at.
*
* @return this
*/
writeInt32LE(value, offset) {
return this._writeNumberValue(Buffer.prototype.writeInt32LE, 4, value, offset);
}
/**
* Inserts an Int32LE value at the given offset value.
*
* @param value { Number } The value to insert.
* @param offset { Number } The offset to insert the value at.
*
* @return this
*/
insertInt32LE(value, offset) {
return this._insertNumberValue(Buffer.prototype.writeInt32LE, 4, value, offset);
}
/**
* Writes a BigInt64BE value to the current write position (or at optional offset).
*
* @param value { BigInt } The value to write.
* @param offset { Number } The offset to write the value at.
*
* @return this
*/
writeBigInt64BE(value, offset) {
(0, utils_1.bigIntAndBufferInt64Check)("writeBigInt64BE");
return this._writeNumberValue(Buffer.prototype.writeBigInt64BE, 8, value, offset);
}
/**
* Inserts a BigInt64BE value at the given offset value.
*
* @param value { BigInt } The value to insert.
* @param offset { Number } The offset to insert the value at.
*
* @return this
*/
insertBigInt64BE(value, offset) {
(0, utils_1.bigIntAndBufferInt64Check)("writeBigInt64BE");
return this._insertNumberValue(Buffer.prototype.writeBigInt64BE, 8, value, offset);
}
/**
* Writes a BigInt64LE value to the current write position (or at optional offset).
*
* @param value { BigInt } The value to write.
* @param offset { Number } The offset to write the value at.
*
* @return this
*/
writeBigInt64LE(value, offset) {
(0, utils_1.bigIntAndBufferInt64Check)("writeBigInt64LE");
return this._writeNumberValue(Buffer.prototype.writeBigInt64LE, 8, value, offset);
}
/**
* Inserts a Int64LE value at the given offset value.
*
* @param value { BigInt } The value to insert.
* @param offset { Number } The offset to insert the value at.
*
* @return this
*/
insertBigInt64LE(value, offset) {
(0, utils_1.bigIntAndBufferInt64Check)("writeBigInt64LE");
return this._insertNumberValue(Buffer.prototype.writeBigInt64LE, 8, value, offset);
}
// Unsigned Integers
/**
* Reads an UInt8 value from the current read position or an optionally provided offset.
*
* @param offset { Number } The offset to read data from (optional)
* @return { Number }
*/
readUInt8(offset) {
return this._readNumberValue(Buffer.prototype.readUInt8, 1, offset);
}
/**
* Reads an UInt16BE value from the current read position or an optionally provided offset.
*
* @param offset { Number } The offset to read data from (optional)
* @return { Number }
*/
readUInt16BE(offset) {
return this._readNumberValue(Buffer.prototype.readUInt16BE, 2, offset);
}
/**
* Reads an UInt16LE value from the current read position or an optionally provided offset.
*
* @param offset { Number } The offset to read data from (optional)
* @return { Number }
*/
readUInt16LE(offset) {
return this._readNumberValue(Buffer.prototype.readUInt16LE, 2, offset);
}
/**
* Reads an UInt32BE value from the current read position or an optionally provided offset.
*
* @param offset { Number } The offset to read data from (optional)
* @return { Number }
*/
readUInt32BE(offset) {
return this._readNumberValue(Buffer.prototype.readUInt32BE, 4, offset);
}
/**
* Reads an UInt32LE value from the current read position or an optionally provided offset.
*
* @param offset { Number } The offset to read data from (optional)
* @return { Number }
*/
readUInt32LE(offset) {
return this._readNumberValue(Buffer.prototype.readUInt32LE, 4, offset);
}
/**
* Reads a BigUInt64BE value from the current read position or an optionally provided offset.
*
* @param offset { Number } The offset to read data from (optional)
* @return { BigInt }
*/
readBigUInt64BE(offset) {
(0, utils_1.bigIntAndBufferInt64Check)("readBigUInt64BE");
return this._readNumberValue(Buffer.prototype.readBigUInt64BE, 8, offset);
}
/**
* Reads a BigUInt64LE value from the current read position or an optionally provided offset.
*
* @param offset { Number } The offset to read data from (optional)
* @return { BigInt }
*/
readBigUInt64LE(offset) {
(0, utils_1.bigIntAndBufferInt64Check)("readBigUInt64LE");
return this._readNumberValue(Buffer.prototype.readBigUInt64LE, 8, offset);
}
/**
* Writes an UInt8 value to the current write position (or at optional offset).
*
* @param value { Number } The value to write.
* @param offset { Number } The offset to write the value at.
*
* @return this
*/
writeUInt8(value, offset) {
return this._writeNumberValue(Buffer.prototype.writeUInt8, 1, value, offset);
}
/**
* Inserts an UInt8 value at the given offset value.
*
* @param value { Number } The value to insert.
* @param offset { Number } The offset to insert the value at.
*
* @return this
*/
insertUInt8(value, offset) {
return this._insertNumberValue(Buffer.prototype.writeUInt8, 1, value, offset);
}
/**
* Writes an UInt16BE value to the current write position (or at optional offset).
*
* @param value { Number } The value to write.
* @param offset { Number } The offset to write the value at.
*
* @return this
*/
writeUInt16BE(value, offset) {
return this._writeNumberValue(Buffer.prototype.writeUInt16BE, 2, value, offset);
}
/**
* Inserts an UInt16BE value at the given offset value.
*
* @param value { Number } The value to insert.
* @param offset { Number } The offset to insert the value at.
*
* @return this
*/
insertUInt16BE(value, offset) {
return this._insertNumberValue(Buffer.prototype.writeUInt16BE, 2, value, offset);
}
/**
* Writes an UInt16LE value to the current write position (or at optional offset).
*
* @param value { Number } The value to write.
* @param offset { Number } The offset to write the value at.
*
* @return this
*/
writeUInt16LE(value, offset) {
return this._writeNumberValue(Buffer.prototype.writeUInt16LE, 2, value, offset);
}
/**
* Inserts an UInt16LE value at the given offset value.
*
* @param value { Number } The value to insert.
* @param offset { Number } The offset to insert the value at.
*
* @return this
*/
insertUInt16LE(value, offset) {
return this._insertNumberValue(Buffer.prototype.writeUInt16LE, 2, value, offset);
}
/**
* Writes an UInt32BE value to the current write position (or at optional offset).
*
* @param value { Number } The value to write.
* @param offset { Number } The offset to write the value at.
*
* @return this
*/
writeUInt32BE(value, offset) {
return this._writeNumberValue(Buffer.prototype.writeUInt32BE, 4, value, offset);
}
/**
* Inserts an UInt32BE value at the given offset value.
*
* @param value { Number } The value to insert.
* @param offset { Number } The offset to insert the value at.
*
* @return this
*/
insertUInt32BE(value, offset) {
return this._insertNumberValue(Buffer.prototype.writeUInt32BE, 4, value, offset);
}
/**
* Writes an UInt32LE value to the current write position (or at optional offset).
*
* @param value { Number } The value to write.
* @param offset { Number } The offset to write the value at.
*
* @return this
*/
writeUInt32LE(value, offset) {
return this._writeNumberValue(Buffer.prototype.writeUInt32LE, 4, value, offset);
}
/**
* Inserts an UInt32LE value at the given offset value.
*
* @param value { Number } The value to insert.
* @param offset { Number } The offset to insert the value at.
*
* @return this
*/
insertUInt32LE(value, offset) {
return this._insertNumberValue(Buffer.prototype.writeUInt32LE, 4, value, offset);
}
/**
* Writes a BigUInt64BE value to the current write position (or at optional offset).
*
* @param value { Number } The value to write.
* @param offset { Number } The offset to write the value at.
*
* @return this
*/
writeBigUInt64BE(value, offset) {
(0, utils_1.bigIntAndBufferInt64Check)("writeBigUInt64BE");
return this._writeNumberValue(Buffer.prototype.writeBigUInt64BE, 8, value, offset);
}
/**
* Inserts a BigUInt64BE value at the given offset value.
*
* @param value { Number } The value to insert.
* @param offset { Number } The offset to insert the value at.
*
* @return this
*/
insertBigUInt64BE(value, offset) {
(0, utils_1.bigIntAndBufferInt64Check)("writeBigUInt64BE");
return this._insertNumberValue(Buffer.prototype.writeBigUInt64BE, 8, value, offset);
}
/**
* Writes a BigUInt64LE value to the current write position (or at optional offset).
*
* @param value { Number } The value to write.
* @param offset { Number } The offset to write the value at.
*
* @return this
*/
writeBigUInt64LE(value, offset) {
(0, utils_1.bigIntAndBufferInt64Check)("writeBigUInt64LE");
return this._writeNumberValue(Buffer.prototype.writeBigUInt64LE, 8, value, offset);
}
/**
* Inserts a BigUInt64LE value at the given offset value.
*
* @param value { Number } The value to insert.
* @param offset { Number } The offset to insert the value at.
*
* @return this
*/
insertBigUInt64LE(value, offset) {
(0, utils_1.bigIntAndBufferInt64Check)("writeBigUInt64LE");
return this._insertNumberValue(Buffer.prototype.writeBigUInt64LE, 8, value, offset);
}
// Floating Point
/**
* Reads an FloatBE value from the current read position or an optionally provided offset.
*
* @param offset { Number } The offset to read data from (optional)
* @return { Number }
*/
readFloatBE(offset) {
return this._readNumberValue(Buffer.prototype.readFloatBE, 4, offset);
}
/**
* Reads an FloatLE value from the current read position or an optionally provided offset.
*
* @param offset { Number } The offset to read data from (optional)
* @return { Number }
*/
readFloatLE(offset) {
return this._readNumberValue(Buffer.prototype.readFloatLE, 4, offset);
}
/**
* Writes a FloatBE value to the current write position (or at optional offset).
*
* @param value { Number } The value to write.
* @param offset { Number } The offset to write the value at.
*
* @return this
*/
writeFloatBE(value, offset) {
return this._writeNumberValue(Buffer.prototype.writeFloatBE, 4, value, offset);
}
/**
* Inserts a FloatBE value at the given offset value.
*
* @param value { Number } The value to insert.
* @param offset { Number } The offset to insert the value at.
*
* @return this
*/
insertFloatBE(value, offset) {
return this._insertNumberValue(Buffer.prototype.writeFloatBE, 4, value, offset);
}
/**
* Writes a FloatLE value to the current write position (or at optional offset).
*
* @param value { Number } The value to write.
* @param offset { Number } The offset to write the value at.
*
* @return this
*/
writeFloatLE(value, offset) {
return this._writeNumberValue(Buffer.prototype.writeFloatLE, 4, value, offset);
}
/**
* Inserts a FloatLE value at the given offset value.
*
* @param value { Number } The value to insert.
* @param offset { Number } The offset to insert the value at.
*
* @return this
*/
insertFloatLE(value, offset) {
return this._insertNumberValue(Buffer.prototype.writeFloatLE, 4, value, offset);
}
// Double Floating Point
/**
* Reads an DoublEBE value from the current read position or an optionally provided offset.
*
* @param offset { Number } The offset to read data from (optional)
* @return { Number }
*/
readDoubleBE(offset) {
return this._readNumberValue(Buffer.prototype.readDoubleBE, 8, offset);
}
/**
* Reads an DoubleLE value from the current read position or an optionally provided offset.
*
* @param offset { Number } The offset to read data from (optional)
* @return { Number }
*/
readDoubleLE(offset) {
return this._readNumberValue(Buffer.prototype.readDoubleLE, 8, offset);
}
/**
* Writes a DoubleBE value to the current write position (or at optional offset).
*
* @param value { Number } The value to write.
* @param offset { Number } The offset to write the value at.
*
* @return this
*/
writeDoubleBE(value, offset) {
return this._writeNumberValue(Buffer.prototype.writeDoubleBE, 8, value, offset);
}
/**
* Inserts a DoubleBE value at the given offset value.
*
* @param value { Number } The value to insert.
* @param offset { Number } The offset to insert the value at.
*
* @return this
*/
insertDoubleBE(value, offset) {
return this._insertNumberValue(Buffer.prototype.writeDoubleBE, 8, value, offset);
}
/**
* Writes a DoubleLE value to the current write position (or at optional offset).
*
* @param value { Number } The value to write.
* @param offset { Number } The offset to write the value at.
*
* @return this
*/
writeDoubleLE(value, offset) {
return this._writeNumberValue(Buffer.prototype.writeDoubleLE, 8, value, offset);
}
/**
* Inserts a DoubleLE value at the given offset value.
*
* @param value { Number } The value to insert.
* @param offset { Number } The offset to insert the value at.
*
* @return this
*/
insertDoubleLE(value, offset) {
return this._insertNumberValue(Buffer.prototype.writeDoubleLE, 8, value, offset);
}
// Strings
/**
* Reads a String from the current read position.
*
* @param arg1 { Number | String } The number of bytes to read as a String, or the BufferEncoding to use for
* the string (Defaults to instance level encoding).
* @param encoding { String } The BufferEncoding to use for the string (Defaults to instance level encoding).
*
* @return { String }
*/
readString(arg1, encoding) {
let lengthVal;
if (typeof arg1 === "number") {
(0, utils_1.checkLengthValue)(arg1);
lengthVal = Math.min(arg1, this.length - this._readOffset);
} else {
encoding = arg1;
lengthVal = this.length - this._readOffset;
}
if (typeof encoding !== "undefined") {
(0, utils_1.checkEncoding)(encoding);
}
const value = this._buff.slice(this._readOffset, this._readOffset + lengthVal).toString(encoding || this._encoding);
this._readOffset += lengthVal;
return value;
}
/**
* Inserts a String
*
* @param value { String } The String value to insert.
* @param offset { Number } The offset to insert the string at.
* @param encoding { String } The BufferEncoding to use for writing strings (defaults to instance encoding).
*
* @return this
*/
insertString(value, offset, encoding) {
(0, utils_1.checkOffsetValue)(offset);
return this._handleString(value, true, offset, encoding);
}
/**
* Writes a String
*
* @param value { String } The String value to write.
* @param arg2 { Number | String } The offset to write the string at, or the BufferEncoding to use.
* @param encoding { String } The BufferEncoding to use for writing strings (defaults to instance encoding).
*
* @return this
*/
writeString(value, arg2, encoding) {
return this._handleString(value, false, arg2, encoding);
}
/**
* Reads a null-terminated String from the current read position.
*
* @param encoding { String } The BufferEncoding to use for the string (Defaults to instance level encoding).
*
* @return { String }
*/
readStringNT(encoding) {
if (typeof encoding !== "undefined") {
(0, utils_1.checkEncoding)(encoding);
}
let nullPos = this.length;
for (let i = this._readOffset; i < this.length; i++) {
if (this._buff[i] === 0) {
nullPos = i;
break;
}
}
const value = this._buff.slice(this._readOffset, nullPos);
this._readOffset = nullPos + 1;
return value.toString(encoding || this._encoding);
}
/**
* Inserts a null-terminated String.
*
* @param value { String } The String value to write.
* @param arg2 { Number | String } The offset to write the string to, or the BufferEncoding to use.
* @param encoding { String } The BufferEncoding to use for writing strings (defaults to instance encoding).
*
* @return this
*/
insertStringNT(value, offset, encoding) {
(0, utils_1.checkOffsetValue)(offset);
this.insertString(value, offset, encoding);
this.insertUInt8(0, offset + value.length);
return this;
}
/**
* Writes a null-terminated String.
*
* @param value { String } The String value to write.
* @param arg2 { Number | String } The offset to write the string to, or the BufferEncoding to use.
* @param encoding { String } The BufferEncoding to use for writing strings (defaults to instance encoding).
*
* @return this
*/
writeStringNT(value, arg2, encoding) {
this.writeString(value, arg2, encoding);
this.writeUInt8(0, typeof arg2 === "number" ? arg2 + value.length : this.writeOffset);
return this;
}
// Buffers
/**
* Reads a Buffer from the internal read position.
*
* @param length { Number } The length of data to read as a Buffer.
*
* @return { Buffer }
*/
readBuffer(length) {
if (typeof length !== "undefined") {
(0, utils_1.checkLengthValue)(length);
}
const lengthVal = typeof length === "number" ? length : this.length;
const endPoint = Math.min(this.length, this._readOffset + lengthVal);
const value = this._buff.slice(this._readOffset, endPoint);
this._readOffset = endPoint;
return value;
}
/**
* Writes a Buffer to the current write position.
*
* @param value { Buffer } The Buffer to write.
* @param offset { Number } The offset to write the Buffer to.
*
* @return this
*/
insertBuffer(value, offset) {
(0, utils_1.checkOffsetValue)(offset);
return this._handleBuffer(value, true, offset);
}
/**
* Writes a Buffer to the current write position.
*
* @param value { Buffer } The Buffer to write.
* @param offset { Number } The offset to write the Buffer to.
*
* @return this
*/
writeBuffer(value, offset) {
return this._handleBuffer(value, false, offset);
}
/**
* Reads a null-terminated Buffer from the current read poisiton.
*
* @return { Buffer }
*/
readBufferNT() {
let nullPos = this.length;
for (let i = this._readOffset; i < this.length; i++) {
if (this._buff[i] === 0) {
nullPos = i;
break;
}
}
const value = this._buff.slice(this._readOffset, nullPos);
this._readOffset = nullPos + 1;
return value;
}
/**
* Inserts a null-terminated Buffer.
*
* @param value { Buffer } The Buffer to write.
* @param offset { Number } The offset to write the Buffer to.
*
* @return this
*/
insertBufferNT(value, offset) {
(0, utils_1.checkOffsetValue)(offset);
this.insertBuffer(value, offset);
this.insertUInt8(0, offset + value.length);
return this;
}
/**
* Writes a null-terminated Buffer.
*
* @param value { Buffer } The Buffer to write.
* @param offset { Number } The offset to write the Buffer to.
*
* @return this
*/
writeBufferNT(value, offset) {
if (typeof offset !== "undefined") {
(0, utils_1.checkOffsetValue)(offset);
}
this.writeBuffer(value, offset);
this.writeUInt8(0, typeof offset === "number" ? offset + value.length : this._writeOffset);
return this;
}
/**
* Clears the SmartBuffer instance to its original empty state.
*/
clear() {
this._writeOffset = 0;
this._readOffset = 0;
this.length = 0;
return this;
}
/**
* Gets the remaining data left to be read from the SmartBuffer instance.
*
* @return { Number }
*/
remaining() {
return this.length - this._readOffset;
}
/**
* Gets the current read offset value of the SmartBuffer instance.
*
* @return { Number }
*/
get readOffset() {
return this._readOffset;
}
/**
* Sets the read offset value of the SmartBuffer instance.
*
* @param offset { Number } - The offset value to set.
*/
set readOffset(offset) {
(0, utils_1.checkOffsetValue)(offset);
(0, utils_1.checkTargetOffset)(offset, this);
this._readOffset = offset;
}
/**
* Gets the current write offset value of the SmartBuffer instance.
*
* @return { Number }
*/
get writeOffset() {
return this._writeOffset;
}
/**
* Sets the write offset value of the SmartBuffer instance.
*
* @param offset { Number } - The offset value to set.
*/
set writeOffset(offset) {
(0, utils_1.checkOffsetValue)(offset);
(0, utils_1.checkTargetOffset)(offset, this);
this._writeOffset = offset;
}
/**
* Gets the currently set string encoding of the SmartBuffer instance.
*
* @return { BufferEncoding } The string Buffer encoding currently set.
*/
get encoding() {
return this._encoding;
}
/**
* Sets the string encoding of the SmartBuffer instance.
*
* @param encoding { BufferEncoding } The string Buffer encoding to set.
*/
set encoding(encoding) {
(0, utils_1.checkEncoding)(encoding);
this._encoding = encoding;
}
/**
* Gets the underlying internal Buffer. (This includes unmanaged data in the Buffer)
*
* @return { Buffer } The Buffer value.
*/
get internalBuffer() {
return this._buff;
}
/**
* Gets the value of the internal managed Buffer (Includes managed data only)
*
* @param { Buffer }
*/
toBuffer() {
return this._buff.slice(0, this.length);
}
/**
* Gets the String value of the internal managed Buffer
*
* @param encoding { String } The BufferEncoding to display the Buffer as (defaults to instance level encoding).
*/
toString(encoding) {
const encodingVal = typeof encoding === "string" ? encoding : this._encoding;
(0, utils_1.checkEncoding)(encodingVal);
return this._buff.toString(encodingVal, 0, this.length);
}
/**
* Destroys the SmartBuffer instance.
*/
destroy() {
this.clear();
return this;
}
/**
* Handles inserting and writing strings.
*
* @param value { String } The String value to insert.
* @param isInsert { Boolean } True if inserting a string, false if writing.
* @param arg2 { Number | String } The offset to insert the string at, or the BufferEncoding to use.
* @param encoding { String } The BufferEncoding to use for writing strings (defaults to instance encoding).
*/
_handleString(value, isInsert, arg3, encoding) {
let offsetVal = this._writeOffset;
let encodingVal = this._encoding;
if (typeof arg3 === "number") {
offsetVal = arg3;
} else if (typeof arg3 === "string") {
(0, utils_1.checkEncoding)(arg3);
encodingVal = arg3;
}
if (typeof encoding === "string") {
(0, utils_1.checkEncoding)(encoding);
encodingVal = encoding;
}
const byteLength = Buffer.byteLength(value, encodingVal);
if (isInsert) {
this.ensureInsertable(byteLength, offsetVal);
} else {
this._ensureWriteable(byteLength, offsetVal);
}
this._buff.write(value, offsetVal, byteLength, encodingVal);
if (isInsert) {
this._writeOffset += byteLength;
} else {
if (typeof arg3 === "number") {
this._writeOffset = Math.max(this._writeOffset, offsetVal + byteLength);
} else {
this._writeOffset += byteLength;
}
}
return this;
}
/**
* Handles writing or insert of a Buffer.
*
* @param value { Buffer } The Buffer to write.
* @param offset { Number } The offset to write the Buffer to.
*/
_handleBuffer(value, isInsert, offset) {
const offsetVal = typeof offset === "number" ? offset : this._writeOffset;
if (isInsert) {
this.ensureInsertable(value.length, offsetVal);
} else {
this._ensureWriteable(value.length, offsetVal);
}
value.copy(this._buff, offsetVal);
if (isInsert) {
this._writeOffset += value.length;
} else {
if (typeof offset === "number") {
this._writeOffset = Math.max(this._writeOffset, offsetVal + value.length);
} else {
this._writeOffset += value.length;
}
}
return this;
}
/**
* Ensures that the internal Buffer is large enough to read data.
*
* @param length { Number } The length of the data that needs to be read.
* @param offset { Number } The offset of the data that needs to be read.
*/
ensureReadable(length, offset) {
let offsetVal = this._readOffset;
if (typeof offset !== "undefined") {
(0, utils_1.checkOffsetValue)(offset);
offsetVal = offset;
}
if (offsetVal < 0 || offsetVal + length > this.length) {
throw new Error(utils_1.ERRORS.INVALID_READ_BEYOND_BOUNDS);
}
}
/**
* Ensures that the internal Buffer is large enough to insert data.
*
* @param dataLength { Number } The length of the data that needs to be written.
* @param offset { Number } The offset of the data to be written.
*/
ensureInsertable(dataLength, offset) {
(0, utils_1.checkOffsetValue)(offset);
this._ensureCapacity(this.length + dataLength);
if (offset < this.length) {
this._buff.copy(this._buff, offset + dataLength, offset, this._buff.length);
}
if (offset + dataLength > this.length) {
this.length = offset + dataLength;
} else {
this.length += dataLength;
}
}
/**
* Ensures that the internal Buffer is large enough to write data.
*
* @param dataLength { Number } The length of the data that needs to be written.
* @param offset { Number } The offset of the data to be written (defaults to writeOffset).
*/
_ensureWriteable(dataLength, offset) {
const offsetVal = typeof offset === "number" ? offset : this._writeOffset;
this._ensureCapacity(offsetVal + dataLength);
if (offsetVal + dataLength > this.length) {
this.length = offsetVal + dataLength;
}
}
/**
* Ensures that the internal Buffer is large enough to write at least the given amount of data.
*
* @param minLength { Number } The minimum length of the data needs to be written.
*/
_ensureCapacity(minLength) {
const oldLength = this._buff.length;
if (minLength > oldLength) {
let data = this._buff;
let newLength = oldLength * 3 / 2 + 1;
if (newLength < minLength) {
newLength = minLength;
}
this._buff = Buffer.allocUnsafe(newLength);
data.copy(this._buff, 0, 0, oldLength);
}
}
/**
* Reads a numeric number value using the provided function.
*
* @typeparam T { number | bigint } The type of the value to be read
*
* @param func { Function(offset: number) => number } The function to read data on the internal Buffer with.
* @param byteSize { Number } The number of bytes read.
* @param offset { Number } The offset to read from (optional). When this is not provided, the managed readOffset is used instead.
*
* @returns { T } the number value
*/
_readNumberValue(func, byteSize, offset) {
this.ensureReadable(byteSize, offset);
const value = func.call(this._buff, typeof offset === "number" ? offset : this._readOffset);
if (typeof offset === "undefined") {
this._readOffset += byteSize;
}
return value;
}
/**
* Inserts a numeric number value based on the given offset and value.
*
* @typeparam T { number | bigint } The type of the value to be written
*
* @param func { Function(offset: T, offset?) => number} The function to write data on the internal Buffer with.
* @param byteSize { Number } The number of bytes written.
* @param value { T } The number value to write.
* @param offset { Number } the offset to write the number at (REQUIRED).
*
* @returns SmartBuffer this buffer
*/
_insertNumberValue(func, byteSize, value, offset) {
(0, utils_1.checkOffsetValue)(offset);
this.ensureInsertable(byteSize, offset);
func.call(this._buff, value, offset);
this._writeOffset += byteSize;
return this;
}
/**
* Writes a numeric number value based on the given offset and value.
*
* @typeparam T { number | bigint } The type of the value to be written
*
* @param func { Function(offset: T, offset?) => number} The function to write data on the internal Buffer with.
* @param byteSize { Number } The number of bytes written.
* @param value { T } The number value to write.
* @param offset { Number } the offset to write the number at (REQUIRED).
*
* @returns SmartBuffer this buffer
*/
_writeNumberValue(func, byteSize, value, offset) {
if (typeof offset === "number") {
if (offset < 0) {
throw new Error(utils_1.ERRORS.INVALID_WRITE_BEYOND_BOUNDS);
}
(0, utils_1.checkOffsetValue)(offset);
}
const offsetVal = typeof offset === "number" ? offset : this._writeOffset;
this._ensureWriteable(byteSize, offsetVal);
func.call(this._buff, value, offsetVal);
if (typeof offset === "number") {
this._writeOffset = Math.max(this._writeOffset, offsetVal + byteSize);
} else {
this._writeOffset += byteSize;
}
return this;
}
};
exports2.SmartBuffer = SmartBuffer;
}
});
// ../../../usr/share/nodejs/socks/build/common/constants.js
var require_constants2 = __commonJS({
"../../../usr/share/nodejs/socks/build/common/constants.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.SOCKS5_NO_ACCEPTABLE_AUTH = exports2.SOCKS5_CUSTOM_AUTH_END = exports2.SOCKS5_CUSTOM_AUTH_START = exports2.SOCKS_INCOMING_PACKET_SIZES = exports2.SocksClientState = exports2.Socks5Response = exports2.Socks5HostType = exports2.Socks5Auth = exports2.Socks4Response = exports2.SocksCommand = exports2.ERRORS = exports2.DEFAULT_TIMEOUT = void 0;
var DEFAULT_TIMEOUT = 3e4;
exports2.DEFAULT_TIMEOUT = DEFAULT_TIMEOUT;
var ERRORS = {
InvalidSocksCommand: "An invalid SOCKS command was provided. Valid options are connect, bind, and associate.",
InvalidSocksCommandForOperation: "An invalid SOCKS command was provided. Only a subset of commands are supported for this operation.",
InvalidSocksCommandChain: "An invalid SOCKS command was provided. Chaining currently only supports the connect command.",
InvalidSocksClientOptionsDestination: "An invalid destination host was provided.",
InvalidSocksClientOptionsExistingSocket: "An invalid existing socket was provided. This should be an instance of stream.Duplex.",
InvalidSocksClientOptionsProxy: "Invalid SOCKS proxy details were provided.",
InvalidSocksClientOptionsTimeout: "An invalid timeout value was provided. Please enter a value above 0 (in ms).",
InvalidSocksClientOptionsProxiesLength: "At least two socks proxies must be provided for chaining.",
InvalidSocksClientOptionsCustomAuthRange: "Custom auth must be a value between 0x80 and 0xFE.",
InvalidSocksClientOptionsCustomAuthOptions: "When a custom_auth_method is provided, custom_auth_request_handler, custom_auth_response_size, and custom_auth_response_handler must also be provided and valid.",
NegotiationError: "Negotiation error",
SocketClosed: "Socket closed",
ProxyConnectionTimedOut: "Proxy connection timed out",
InternalError: "SocksClient internal error (this should not happen)",
InvalidSocks4HandshakeResponse: "Received invalid Socks4 handshake response",
Socks4ProxyRejectedConnection: "Socks4 Proxy rejected connection",
InvalidSocks4IncomingConnectionResponse: "Socks4 invalid incoming connection response",
Socks4ProxyRejectedIncomingBoundConnection: "Socks4 Proxy rejected incoming bound connection",
InvalidSocks5InitialHandshakeResponse: "Received invalid Socks5 initial handshake response",
InvalidSocks5IntiailHandshakeSocksVersion: "Received invalid Socks5 initial handshake (invalid socks version)",
InvalidSocks5InitialHandshakeNoAcceptedAuthType: "Received invalid Socks5 initial handshake (no accepted authentication type)",
InvalidSocks5InitialHandshakeUnknownAuthType: "Received invalid Socks5 initial handshake (unknown authentication type)",
Socks5AuthenticationFailed: "Socks5 Authentication failed",
InvalidSocks5FinalHandshake: "Received invalid Socks5 final handshake response",
InvalidSocks5FinalHandshakeRejected: "Socks5 proxy rejected connection",
InvalidSocks5IncomingConnectionResponse: "Received invalid Socks5 incoming connection response",
Socks5ProxyRejectedIncomingBoundConnection: "Socks5 Proxy rejected incoming bound connection"
};
exports2.ERRORS = ERRORS;
var SOCKS_INCOMING_PACKET_SIZES = {
Socks5InitialHandshakeResponse: 2,
Socks5UserPassAuthenticationResponse: 2,
// Command response + incoming connection (bind)
Socks5ResponseHeader: 5,
Socks5ResponseIPv4: 10,
Socks5ResponseIPv6: 22,
Socks5ResponseHostname: (hostNameLength) => hostNameLength + 7,
// Command response + incoming connection (bind)
Socks4Response: 8
// 2 header + 2 port + 4 ip
};
exports2.SOCKS_INCOMING_PACKET_SIZES = SOCKS_INCOMING_PACKET_SIZES;
var SocksCommand;
(function(SocksCommand2) {
SocksCommand2[SocksCommand2["connect"] = 1] = "connect";
SocksCommand2[SocksCommand2["bind"] = 2] = "bind";
SocksCommand2[SocksCommand2["associate"] = 3] = "associate";
})(SocksCommand || (SocksCommand = {}));
exports2.SocksCommand = SocksCommand;
var Socks4Response;
(function(Socks4Response2) {
Socks4Response2[Socks4Response2["Granted"] = 90] = "Granted";
Socks4Response2[Socks4Response2["Failed"] = 91] = "Failed";
Socks4Response2[Socks4Response2["Rejected"] = 92] = "Rejected";
Socks4Response2[Socks4Response2["RejectedIdent"] = 93] = "RejectedIdent";
})(Socks4Response || (Socks4Response = {}));
exports2.Socks4Response = Socks4Response;
var Socks5Auth;
(function(Socks5Auth2) {
Socks5Auth2[Socks5Auth2["NoAuth"] = 0] = "NoAuth";
Socks5Auth2[Socks5Auth2["GSSApi"] = 1] = "GSSApi";
Socks5Auth2[Socks5Auth2["UserPass"] = 2] = "UserPass";
})(Socks5Auth || (Socks5Auth = {}));
exports2.Socks5Auth = Socks5Auth;
var SOCKS5_CUSTOM_AUTH_START = 128;
exports2.SOCKS5_CUSTOM_AUTH_START = SOCKS5_CUSTOM_AUTH_START;
var SOCKS5_CUSTOM_AUTH_END = 254;
exports2.SOCKS5_CUSTOM_AUTH_END = SOCKS5_CUSTOM_AUTH_END;
var SOCKS5_NO_ACCEPTABLE_AUTH = 255;
exports2.SOCKS5_NO_ACCEPTABLE_AUTH = SOCKS5_NO_ACCEPTABLE_AUTH;
var Socks5Response;
(function(Socks5Response2) {
Socks5Response2[Socks5Response2["Granted"] = 0] = "Granted";
Socks5Response2[Socks5Response2["Failure"] = 1] = "Failure";
Socks5Response2[Socks5Response2["NotAllowed"] = 2] = "NotAllowed";
Socks5Response2[Socks5Response2["NetworkUnreachable"] = 3] = "NetworkUnreachable";
Socks5Response2[Socks5Response2["HostUnreachable"] = 4] = "HostUnreachable";
Socks5Response2[Socks5Response2["ConnectionRefused"] = 5] = "ConnectionRefused";
Socks5Response2[Socks5Response2["TTLExpired"] = 6] = "TTLExpired";
Socks5Response2[Socks5Response2["CommandNotSupported"] = 7] = "CommandNotSupported";
Socks5Response2[Socks5Response2["AddressNotSupported"] = 8] = "AddressNotSupported";
})(Socks5Response || (Socks5Response = {}));
exports2.Socks5Response = Socks5Response;
var Socks5HostType;
(function(Socks5HostType2) {
Socks5HostType2[Socks5HostType2["IPv4"] = 1] = "IPv4";
Socks5HostType2[Socks5HostType2["Hostname"] = 3] = "Hostname";
Socks5HostType2[Socks5HostType2["IPv6"] = 4] = "IPv6";
})(Socks5HostType || (Socks5HostType = {}));
exports2.Socks5HostType = Socks5HostType;
var SocksClientState;
(function(SocksClientState2) {
SocksClientState2[SocksClientState2["Created"] = 0] = "Created";
SocksClientState2[SocksClientState2["Connecting"] = 1] = "Connecting";
SocksClientState2[SocksClientState2["Connected"] = 2] = "Connected";
SocksClientState2[SocksClientState2["SentInitialHandshake"] = 3] = "SentInitialHandshake";
SocksClientState2[SocksClientState2["ReceivedInitialHandshakeResponse"] = 4] = "ReceivedInitialHandshakeResponse";
SocksClientState2[SocksClientState2["SentAuthentication"] = 5] = "SentAuthentication";
SocksClientState2[SocksClientState2["ReceivedAuthenticationResponse"] = 6] = "ReceivedAuthenticationResponse";
SocksClientState2[SocksClientState2["SentFinalHandshake"] = 7] = "SentFinalHandshake";
SocksClientState2[SocksClientState2["ReceivedFinalResponse"] = 8] = "ReceivedFinalResponse";
SocksClientState2[SocksClientState2["BoundWaitingForConnection"] = 9] = "BoundWaitingForConnection";
SocksClientState2[SocksClientState2["Established"] = 10] = "Established";
SocksClientState2[SocksClientState2["Disconnected"] = 11] = "Disconnected";
SocksClientState2[SocksClientState2["Error"] = 99] = "Error";
})(SocksClientState || (SocksClientState = {}));
exports2.SocksClientState = SocksClientState;
}
});
// ../../../usr/share/nodejs/socks/build/common/util.js
var require_util = __commonJS({
"../../../usr/share/nodejs/socks/build/common/util.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.shuffleArray = exports2.SocksClientError = void 0;
var SocksClientError = class extends Error {
constructor(message, options) {
super(message);
this.options = options;
}
};
exports2.SocksClientError = SocksClientError;
function shuffleArray(array) {
for (let i = array.length - 1; i > 0; i--) {
const j = Math.floor(Math.random() * (i + 1));
[array[i], array[j]] = [array[j], array[i]];
}
}
exports2.shuffleArray = shuffleArray;
}
});
// ../../../usr/share/nodejs/socks/build/common/helpers.js
var require_helpers2 = __commonJS({
"../../../usr/share/nodejs/socks/build/common/helpers.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.validateSocksClientChainOptions = exports2.validateSocksClientOptions = void 0;
var util_1 = require_util();
var constants_1 = require_constants2();
var stream = require("stream");
function validateSocksClientOptions(options, acceptedCommands = ["connect", "bind", "associate"]) {
if (!constants_1.SocksCommand[options.command]) {
throw new util_1.SocksClientError(constants_1.ERRORS.InvalidSocksCommand, options);
}
if (acceptedCommands.indexOf(options.command) === -1) {
throw new util_1.SocksClientError(constants_1.ERRORS.InvalidSocksCommandForOperation, options);
}
if (!isValidSocksRemoteHost(options.destination)) {
throw new util_1.SocksClientError(constants_1.ERRORS.InvalidSocksClientOptionsDestination, options);
}
if (!isValidSocksProxy(options.proxy)) {
throw new util_1.SocksClientError(constants_1.ERRORS.InvalidSocksClientOptionsProxy, options);
}
validateCustomProxyAuth(options.proxy, options);
if (options.timeout && !isValidTimeoutValue(options.timeout)) {
throw new util_1.SocksClientError(constants_1.ERRORS.InvalidSocksClientOptionsTimeout, options);
}
if (options.existing_socket && !(options.existing_socket instanceof stream.Duplex)) {
throw new util_1.SocksClientError(constants_1.ERRORS.InvalidSocksClientOptionsExistingSocket, options);
}
}
exports2.validateSocksClientOptions = validateSocksClientOptions;
function validateSocksClientChainOptions(options) {
if (options.command !== "connect") {
throw new util_1.SocksClientError(constants_1.ERRORS.InvalidSocksCommandChain, options);
}
if (!isValidSocksRemoteHost(options.destination)) {
throw new util_1.SocksClientError(constants_1.ERRORS.InvalidSocksClientOptionsDestination, options);
}
if (!(options.proxies && Array.isArray(options.proxies) && options.proxies.length >= 2)) {
throw new util_1.SocksClientError(constants_1.ERRORS.InvalidSocksClientOptionsProxiesLength, options);
}
options.proxies.forEach((proxy) => {
if (!isValidSocksProxy(proxy)) {
throw new util_1.SocksClientError(constants_1.ERRORS.InvalidSocksClientOptionsProxy, options);
}
validateCustomProxyAuth(proxy, options);
});
if (options.timeout && !isValidTimeoutValue(options.timeout)) {
throw new util_1.SocksClientError(constants_1.ERRORS.InvalidSocksClientOptionsTimeout, options);
}
}
exports2.validateSocksClientChainOptions = validateSocksClientChainOptions;
function validateCustomProxyAuth(proxy, options) {
if (proxy.custom_auth_method !== void 0) {
if (proxy.custom_auth_method < constants_1.SOCKS5_CUSTOM_AUTH_START || proxy.custom_auth_method > constants_1.SOCKS5_CUSTOM_AUTH_END) {
throw new util_1.SocksClientError(constants_1.ERRORS.InvalidSocksClientOptionsCustomAuthRange, options);
}
if (proxy.custom_auth_request_handler === void 0 || typeof proxy.custom_auth_request_handler !== "function") {
throw new util_1.SocksClientError(constants_1.ERRORS.InvalidSocksClientOptionsCustomAuthOptions, options);
}
if (proxy.custom_auth_response_size === void 0) {
throw new util_1.SocksClientError(constants_1.ERRORS.InvalidSocksClientOptionsCustomAuthOptions, options);
}
if (proxy.custom_auth_response_handler === void 0 || typeof proxy.custom_auth_response_handler !== "function") {
throw new util_1.SocksClientError(constants_1.ERRORS.InvalidSocksClientOptionsCustomAuthOptions, options);
}
}
}
function isValidSocksRemoteHost(remoteHost) {
return remoteHost && typeof remoteHost.host === "string" && typeof remoteHost.port === "number" && remoteHost.port >= 0 && remoteHost.port <= 65535;
}
function isValidSocksProxy(proxy) {
return proxy && (typeof proxy.host === "string" || typeof proxy.ipaddress === "string") && typeof proxy.port === "number" && proxy.port >= 0 && proxy.port <= 65535 && (proxy.type === 4 || proxy.type === 5);
}
function isValidTimeoutValue(value) {
return typeof value === "number" && value > 0;
}
}
});
// ../../../usr/share/nodejs/socks/build/common/receivebuffer.js
var require_receivebuffer = __commonJS({
"../../../usr/share/nodejs/socks/build/common/receivebuffer.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.ReceiveBuffer = void 0;
var ReceiveBuffer = class {
constructor(size = 4096) {
this.buffer = Buffer.allocUnsafe(size);
this.offset = 0;
this.originalSize = size;
}
get length() {
return this.offset;
}
append(data) {
if (!Buffer.isBuffer(data)) {
throw new Error("Attempted to append a non-buffer instance to ReceiveBuffer.");
}
if (this.offset + data.length >= this.buffer.length) {
const tmp = this.buffer;
this.buffer = Buffer.allocUnsafe(Math.max(this.buffer.length + this.originalSize, this.buffer.length + data.length));
tmp.copy(this.buffer);
}
data.copy(this.buffer, this.offset);
return this.offset += data.length;
}
peek(length) {
if (length > this.offset) {
throw new Error("Attempted to read beyond the bounds of the managed internal data.");
}
return this.buffer.slice(0, length);
}
get(length) {
if (length > this.offset) {
throw new Error("Attempted to read beyond the bounds of the managed internal data.");
}
const value = Buffer.allocUnsafe(length);
this.buffer.slice(0, length).copy(value);
this.buffer.copyWithin(0, length, length + this.offset - length);
this.offset -= length;
return value;
}
};
exports2.ReceiveBuffer = ReceiveBuffer;
}
});
// ../../../usr/share/nodejs/socks/build/client/socksclient.js
var require_socksclient = __commonJS({
"../../../usr/share/nodejs/socks/build/client/socksclient.js"(exports2) {
"use strict";
var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
function adopt(value) {
return value instanceof P ? value : new P(function(resolve) {
resolve(value);
});
}
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) {
result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
}
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.SocksClientError = exports2.SocksClient = void 0;
var events_1 = require("events");
var net = require("net");
var ip = require_ip();
var smart_buffer_1 = require_smartbuffer();
var constants_1 = require_constants2();
var helpers_1 = require_helpers2();
var receivebuffer_1 = require_receivebuffer();
var util_1 = require_util();
Object.defineProperty(exports2, "SocksClientError", { enumerable: true, get: function() {
return util_1.SocksClientError;
} });
var SocksClient = class _SocksClient extends events_1.EventEmitter {
constructor(options) {
super();
this.options = Object.assign({}, options);
(0, helpers_1.validateSocksClientOptions)(options);
this.setState(constants_1.SocksClientState.Created);
}
/**
* Creates a new SOCKS connection.
*
* Note: Supports callbacks and promises. Only supports the connect command.
* @param options { SocksClientOptions } Options.
* @param callback { Function } An optional callback function.
* @returns { Promise }
*/
static createConnection(options, callback) {
return new Promise((resolve, reject) => {
try {
(0, helpers_1.validateSocksClientOptions)(options, ["connect"]);
} catch (err) {
if (typeof callback === "function") {
callback(err);
return resolve(err);
} else {
return reject(err);
}
}
const client = new _SocksClient(options);
client.connect(options.existing_socket);
client.once("established", (info) => {
client.removeAllListeners();
if (typeof callback === "function") {
callback(null, info);
resolve(info);
} else {
resolve(info);
}
});
client.once("error", (err) => {
client.removeAllListeners();
if (typeof callback === "function") {
callback(err);
resolve(err);
} else {
reject(err);
}
});
});
}
/**
* Creates a new SOCKS connection chain to a destination host through 2 or more SOCKS proxies.
*
* Note: Supports callbacks and promises. Only supports the connect method.
* Note: Implemented via createConnection() factory function.
* @param options { SocksClientChainOptions } Options
* @param callback { Function } An optional callback function.
* @returns { Promise }
*/
static createConnectionChain(options, callback) {
return new Promise((resolve, reject) => __awaiter2(this, void 0, void 0, function* () {
try {
(0, helpers_1.validateSocksClientChainOptions)(options);
} catch (err) {
if (typeof callback === "function") {
callback(err);
return resolve(err);
} else {
return reject(err);
}
}
if (options.randomizeChain) {
(0, util_1.shuffleArray)(options.proxies);
}
try {
let sock;
for (let i = 0; i < options.proxies.length; i++) {
const nextProxy = options.proxies[i];
const nextDestination = i === options.proxies.length - 1 ? options.destination : {
host: options.proxies[i + 1].host || options.proxies[i + 1].ipaddress,
port: options.proxies[i + 1].port
};
const result = yield _SocksClient.createConnection({
command: "connect",
proxy: nextProxy,
destination: nextDestination,
existing_socket: sock
});
sock = sock || result.socket;
}
if (typeof callback === "function") {
callback(null, { socket: sock });
resolve({ socket: sock });
} else {
resolve({ socket: sock });
}
} catch (err) {
if (typeof callback === "function") {
callback(err);
resolve(err);
} else {
reject(err);
}
}
}));
}
/**
* Creates a SOCKS UDP Frame.
* @param options
*/
static createUDPFrame(options) {
const buff = new smart_buffer_1.SmartBuffer();
buff.writeUInt16BE(0);
buff.writeUInt8(options.frameNumber || 0);
if (net.isIPv4(options.remoteHost.host)) {
buff.writeUInt8(constants_1.Socks5HostType.IPv4);
buff.writeUInt32BE(ip.toLong(options.remoteHost.host));
} else if (net.isIPv6(options.remoteHost.host)) {
buff.writeUInt8(constants_1.Socks5HostType.IPv6);
buff.writeBuffer(ip.toBuffer(options.remoteHost.host));
} else {
buff.writeUInt8(constants_1.Socks5HostType.Hostname);
buff.writeUInt8(Buffer.byteLength(options.remoteHost.host));
buff.writeString(options.remoteHost.host);
}
buff.writeUInt16BE(options.remoteHost.port);
buff.writeBuffer(options.data);
return buff.toBuffer();
}
/**
* Parses a SOCKS UDP frame.
* @param data
*/
static parseUDPFrame(data) {
const buff = smart_buffer_1.SmartBuffer.fromBuffer(data);
buff.readOffset = 2;
const frameNumber = buff.readUInt8();
const hostType = buff.readUInt8();
let remoteHost;
if (hostType === constants_1.Socks5HostType.IPv4) {
remoteHost = ip.fromLong(buff.readUInt32BE());
} else if (hostType === constants_1.Socks5HostType.IPv6) {
remoteHost = ip.toString(buff.readBuffer(16));
} else {
remoteHost = buff.readString(buff.readUInt8());
}
const remotePort = buff.readUInt16BE();
return {
frameNumber,
remoteHost: {
host: remoteHost,
port: remotePort
},
data: buff.readBuffer()
};
}
/**
* Internal state setter. If the SocksClient is in an error state, it cannot be changed to a non error state.
*/
setState(newState) {
if (this.state !== constants_1.SocksClientState.Error) {
this.state = newState;
}
}
/**
* Starts the connection establishment to the proxy and destination.
* @param existingSocket Connected socket to use instead of creating a new one (internal use).
*/
connect(existingSocket) {
this.onDataReceived = (data) => this.onDataReceivedHandler(data);
this.onClose = () => this.onCloseHandler();
this.onError = (err) => this.onErrorHandler(err);
this.onConnect = () => this.onConnectHandler();
const timer = setTimeout(() => this.onEstablishedTimeout(), this.options.timeout || constants_1.DEFAULT_TIMEOUT);
if (timer.unref && typeof timer.unref === "function") {
timer.unref();
}
if (existingSocket) {
this.socket = existingSocket;
} else {
this.socket = new net.Socket();
}
this.socket.once("close", this.onClose);
this.socket.once("error", this.onError);
this.socket.once("connect", this.onConnect);
this.socket.on("data", this.onDataReceived);
this.setState(constants_1.SocksClientState.Connecting);
this.receiveBuffer = new receivebuffer_1.ReceiveBuffer();
if (existingSocket) {
this.socket.emit("connect");
} else {
this.socket.connect(this.getSocketOptions());
if (this.options.set_tcp_nodelay !== void 0 && this.options.set_tcp_nodelay !== null) {
this.socket.setNoDelay(!!this.options.set_tcp_nodelay);
}
}
this.prependOnceListener("established", (info) => {
setImmediate(() => {
if (this.receiveBuffer.length > 0) {
const excessData = this.receiveBuffer.get(this.receiveBuffer.length);
info.socket.emit("data", excessData);
}
info.socket.resume();
});
});
}
// Socket options (defaults host/port to options.proxy.host/options.proxy.port)
getSocketOptions() {
return Object.assign(Object.assign({}, this.options.socket_options), { host: this.options.proxy.host || this.options.proxy.ipaddress, port: this.options.proxy.port });
}
/**
* Handles internal Socks timeout callback.
* Note: If the Socks client is not BoundWaitingForConnection or Established, the connection will be closed.
*/
onEstablishedTimeout() {
if (this.state !== constants_1.SocksClientState.Established && this.state !== constants_1.SocksClientState.BoundWaitingForConnection) {
this.closeSocket(constants_1.ERRORS.ProxyConnectionTimedOut);
}
}
/**
* Handles Socket connect event.
*/
onConnectHandler() {
this.setState(constants_1.SocksClientState.Connected);
if (this.options.proxy.type === 4) {
this.sendSocks4InitialHandshake();
} else {
this.sendSocks5InitialHandshake();
}
this.setState(constants_1.SocksClientState.SentInitialHandshake);
}
/**
* Handles Socket data event.
* @param data
*/
onDataReceivedHandler(data) {
this.receiveBuffer.append(data);
this.processData();
}
/**
* Handles processing of the data we have received.
*/
processData() {
while (this.state !== constants_1.SocksClientState.Established && this.state !== constants_1.SocksClientState.Error && this.receiveBuffer.length >= this.nextRequiredPacketBufferSize) {
if (this.state === constants_1.SocksClientState.SentInitialHandshake) {
if (this.options.proxy.type === 4) {
this.handleSocks4FinalHandshakeResponse();
} else {
this.handleInitialSocks5HandshakeResponse();
}
} else if (this.state === constants_1.SocksClientState.SentAuthentication) {
this.handleInitialSocks5AuthenticationHandshakeResponse();
} else if (this.state === constants_1.SocksClientState.SentFinalHandshake) {
this.handleSocks5FinalHandshakeResponse();
} else if (this.state === constants_1.SocksClientState.BoundWaitingForConnection) {
if (this.options.proxy.type === 4) {
this.handleSocks4IncomingConnectionResponse();
} else {
this.handleSocks5IncomingConnectionResponse();
}
} else {
this.closeSocket(constants_1.ERRORS.InternalError);
break;
}
}
}
/**
* Handles Socket close event.
* @param had_error
*/
onCloseHandler() {
this.closeSocket(constants_1.ERRORS.SocketClosed);
}
/**
* Handles Socket error event.
* @param err
*/
onErrorHandler(err) {
this.closeSocket(err.message);
}
/**
* Removes internal event listeners on the underlying Socket.
*/
removeInternalSocketHandlers() {
this.socket.pause();
this.socket.removeListener("data", this.onDataReceived);
this.socket.removeListener("close", this.onClose);
this.socket.removeListener("error", this.onError);
this.socket.removeListener("connect", this.onConnect);
}
/**
* Closes and destroys the underlying Socket. Emits an error event.
* @param err { String } An error string to include in error event.
*/
closeSocket(err) {
if (this.state !== constants_1.SocksClientState.Error) {
this.setState(constants_1.SocksClientState.Error);
this.socket.destroy();
this.removeInternalSocketHandlers();
this.emit("error", new util_1.SocksClientError(err, this.options));
}
}
/**
* Sends initial Socks v4 handshake request.
*/
sendSocks4InitialHandshake() {
const userId = this.options.proxy.userId || "";
const buff = new smart_buffer_1.SmartBuffer();
buff.writeUInt8(4);
buff.writeUInt8(constants_1.SocksCommand[this.options.command]);
buff.writeUInt16BE(this.options.destination.port);
if (net.isIPv4(this.options.destination.host)) {
buff.writeBuffer(ip.toBuffer(this.options.destination.host));
buff.writeStringNT(userId);
} else {
buff.writeUInt8(0);
buff.writeUInt8(0);
buff.writeUInt8(0);
buff.writeUInt8(1);
buff.writeStringNT(userId);
buff.writeStringNT(this.options.destination.host);
}
this.nextRequiredPacketBufferSize = constants_1.SOCKS_INCOMING_PACKET_SIZES.Socks4Response;
this.socket.write(buff.toBuffer());
}
/**
* Handles Socks v4 handshake response.
* @param data
*/
handleSocks4FinalHandshakeResponse() {
const data = this.receiveBuffer.get(8);
if (data[1] !== constants_1.Socks4Response.Granted) {
this.closeSocket(`${constants_1.ERRORS.Socks4ProxyRejectedConnection} - (${constants_1.Socks4Response[data[1]]})`);
} else {
if (constants_1.SocksCommand[this.options.command] === constants_1.SocksCommand.bind) {
const buff = smart_buffer_1.SmartBuffer.fromBuffer(data);
buff.readOffset = 2;
const remoteHost = {
port: buff.readUInt16BE(),
host: ip.fromLong(buff.readUInt32BE())
};
if (remoteHost.host === "0.0.0.0") {
remoteHost.host = this.options.proxy.ipaddress;
}
this.setState(constants_1.SocksClientState.BoundWaitingForConnection);
this.emit("bound", { remoteHost, socket: this.socket });
} else {
this.setState(constants_1.SocksClientState.Established);
this.removeInternalSocketHandlers();
this.emit("established", { socket: this.socket });
}
}
}
/**
* Handles Socks v4 incoming connection request (BIND)
* @param data
*/
handleSocks4IncomingConnectionResponse() {
const data = this.receiveBuffer.get(8);
if (data[1] !== constants_1.Socks4Response.Granted) {
this.closeSocket(`${constants_1.ERRORS.Socks4ProxyRejectedIncomingBoundConnection} - (${constants_1.Socks4Response[data[1]]})`);
} else {
const buff = smart_buffer_1.SmartBuffer.fromBuffer(data);
buff.readOffset = 2;
const remoteHost = {
port: buff.readUInt16BE(),
host: ip.fromLong(buff.readUInt32BE())
};
this.setState(constants_1.SocksClientState.Established);
this.removeInternalSocketHandlers();
this.emit("established", { remoteHost, socket: this.socket });
}
}
/**
* Sends initial Socks v5 handshake request.
*/
sendSocks5InitialHandshake() {
const buff = new smart_buffer_1.SmartBuffer();
const supportedAuthMethods = [constants_1.Socks5Auth.NoAuth];
if (this.options.proxy.userId || this.options.proxy.password) {
supportedAuthMethods.push(constants_1.Socks5Auth.UserPass);
}
if (this.options.proxy.custom_auth_method !== void 0) {
supportedAuthMethods.push(this.options.proxy.custom_auth_method);
}
buff.writeUInt8(5);
buff.writeUInt8(supportedAuthMethods.length);
for (const authMethod of supportedAuthMethods) {
buff.writeUInt8(authMethod);
}
this.nextRequiredPacketBufferSize = constants_1.SOCKS_INCOMING_PACKET_SIZES.Socks5InitialHandshakeResponse;
this.socket.write(buff.toBuffer());
this.setState(constants_1.SocksClientState.SentInitialHandshake);
}
/**
* Handles initial Socks v5 handshake response.
* @param data
*/
handleInitialSocks5HandshakeResponse() {
const data = this.receiveBuffer.get(2);
if (data[0] !== 5) {
this.closeSocket(constants_1.ERRORS.InvalidSocks5IntiailHandshakeSocksVersion);
} else if (data[1] === constants_1.SOCKS5_NO_ACCEPTABLE_AUTH) {
this.closeSocket(constants_1.ERRORS.InvalidSocks5InitialHandshakeNoAcceptedAuthType);
} else {
if (data[1] === constants_1.Socks5Auth.NoAuth) {
this.socks5ChosenAuthType = constants_1.Socks5Auth.NoAuth;
this.sendSocks5CommandRequest();
} else if (data[1] === constants_1.Socks5Auth.UserPass) {
this.socks5ChosenAuthType = constants_1.Socks5Auth.UserPass;
this.sendSocks5UserPassAuthentication();
} else if (data[1] === this.options.proxy.custom_auth_method) {
this.socks5ChosenAuthType = this.options.proxy.custom_auth_method;
this.sendSocks5CustomAuthentication();
} else {
this.closeSocket(constants_1.ERRORS.InvalidSocks5InitialHandshakeUnknownAuthType);
}
}
}
/**
* Sends Socks v5 user & password auth handshake.
*
* Note: No auth and user/pass are currently supported.
*/
sendSocks5UserPassAuthentication() {
const userId = this.options.proxy.userId || "";
const password = this.options.proxy.password || "";
const buff = new smart_buffer_1.SmartBuffer();
buff.writeUInt8(1);
buff.writeUInt8(Buffer.byteLength(userId));
buff.writeString(userId);
buff.writeUInt8(Buffer.byteLength(password));
buff.writeString(password);
this.nextRequiredPacketBufferSize = constants_1.SOCKS_INCOMING_PACKET_SIZES.Socks5UserPassAuthenticationResponse;
this.socket.write(buff.toBuffer());
this.setState(constants_1.SocksClientState.SentAuthentication);
}
sendSocks5CustomAuthentication() {
return __awaiter2(this, void 0, void 0, function* () {
this.nextRequiredPacketBufferSize = this.options.proxy.custom_auth_response_size;
this.socket.write(yield this.options.proxy.custom_auth_request_handler());
this.setState(constants_1.SocksClientState.SentAuthentication);
});
}
handleSocks5CustomAuthHandshakeResponse(data) {
return __awaiter2(this, void 0, void 0, function* () {
return yield this.options.proxy.custom_auth_response_handler(data);
});
}
handleSocks5AuthenticationNoAuthHandshakeResponse(data) {
return __awaiter2(this, void 0, void 0, function* () {
return data[1] === 0;
});
}
handleSocks5AuthenticationUserPassHandshakeResponse(data) {
return __awaiter2(this, void 0, void 0, function* () {
return data[1] === 0;
});
}
/**
* Handles Socks v5 auth handshake response.
* @param data
*/
handleInitialSocks5AuthenticationHandshakeResponse() {
return __awaiter2(this, void 0, void 0, function* () {
this.setState(constants_1.SocksClientState.ReceivedAuthenticationResponse);
let authResult = false;
if (this.socks5ChosenAuthType === constants_1.Socks5Auth.NoAuth) {
authResult = yield this.handleSocks5AuthenticationNoAuthHandshakeResponse(this.receiveBuffer.get(2));
} else if (this.socks5ChosenAuthType === constants_1.Socks5Auth.UserPass) {
authResult = yield this.handleSocks5AuthenticationUserPassHandshakeResponse(this.receiveBuffer.get(2));
} else if (this.socks5ChosenAuthType === this.options.proxy.custom_auth_method) {
authResult = yield this.handleSocks5CustomAuthHandshakeResponse(this.receiveBuffer.get(this.options.proxy.custom_auth_response_size));
}
if (!authResult) {
this.closeSocket(constants_1.ERRORS.Socks5AuthenticationFailed);
} else {
this.sendSocks5CommandRequest();
}
});
}
/**
* Sends Socks v5 final handshake request.
*/
sendSocks5CommandRequest() {
const buff = new smart_buffer_1.SmartBuffer();
buff.writeUInt8(5);
buff.writeUInt8(constants_1.SocksCommand[this.options.command]);
buff.writeUInt8(0);
if (net.isIPv4(this.options.destination.host)) {
buff.writeUInt8(constants_1.Socks5HostType.IPv4);
buff.writeBuffer(ip.toBuffer(this.options.destination.host));
} else if (net.isIPv6(this.options.destination.host)) {
buff.writeUInt8(constants_1.Socks5HostType.IPv6);
buff.writeBuffer(ip.toBuffer(this.options.destination.host));
} else {
buff.writeUInt8(constants_1.Socks5HostType.Hostname);
buff.writeUInt8(this.options.destination.host.length);
buff.writeString(this.options.destination.host);
}
buff.writeUInt16BE(this.options.destination.port);
this.nextRequiredPacketBufferSize = constants_1.SOCKS_INCOMING_PACKET_SIZES.Socks5ResponseHeader;
this.socket.write(buff.toBuffer());
this.setState(constants_1.SocksClientState.SentFinalHandshake);
}
/**
* Handles Socks v5 final handshake response.
* @param data
*/
handleSocks5FinalHandshakeResponse() {
const header = this.receiveBuffer.peek(5);
if (header[0] !== 5 || header[1] !== constants_1.Socks5Response.Granted) {
this.closeSocket(`${constants_1.ERRORS.InvalidSocks5FinalHandshakeRejected} - ${constants_1.Socks5Response[header[1]]}`);
} else {
const addressType = header[3];
let remoteHost;
let buff;
if (addressType === constants_1.Socks5HostType.IPv4) {
const dataNeeded = constants_1.SOCKS_INCOMING_PACKET_SIZES.Socks5ResponseIPv4;
if (this.receiveBuffer.length < dataNeeded) {
this.nextRequiredPacketBufferSize = dataNeeded;
return;
}
buff = smart_buffer_1.SmartBuffer.fromBuffer(this.receiveBuffer.get(dataNeeded).slice(4));
remoteHost = {
host: ip.fromLong(buff.readUInt32BE()),
port: buff.readUInt16BE()
};
if (remoteHost.host === "0.0.0.0") {
remoteHost.host = this.options.proxy.ipaddress;
}
} else if (addressType === constants_1.Socks5HostType.Hostname) {
const hostLength = header[4];
const dataNeeded = constants_1.SOCKS_INCOMING_PACKET_SIZES.Socks5ResponseHostname(hostLength);
if (this.receiveBuffer.length < dataNeeded) {
this.nextRequiredPacketBufferSize = dataNeeded;
return;
}
buff = smart_buffer_1.SmartBuffer.fromBuffer(this.receiveBuffer.get(dataNeeded).slice(5));
remoteHost = {
host: buff.readString(hostLength),
port: buff.readUInt16BE()
};
} else if (addressType === constants_1.Socks5HostType.IPv6) {
const dataNeeded = constants_1.SOCKS_INCOMING_PACKET_SIZES.Socks5ResponseIPv6;
if (this.receiveBuffer.length < dataNeeded) {
this.nextRequiredPacketBufferSize = dataNeeded;
return;
}
buff = smart_buffer_1.SmartBuffer.fromBuffer(this.receiveBuffer.get(dataNeeded).slice(4));
remoteHost = {
host: ip.toString(buff.readBuffer(16)),
port: buff.readUInt16BE()
};
}
this.setState(constants_1.SocksClientState.ReceivedFinalResponse);
if (constants_1.SocksCommand[this.options.command] === constants_1.SocksCommand.connect) {
this.setState(constants_1.SocksClientState.Established);
this.removeInternalSocketHandlers();
this.emit("established", { remoteHost, socket: this.socket });
} else if (constants_1.SocksCommand[this.options.command] === constants_1.SocksCommand.bind) {
this.setState(constants_1.SocksClientState.BoundWaitingForConnection);
this.nextRequiredPacketBufferSize = constants_1.SOCKS_INCOMING_PACKET_SIZES.Socks5ResponseHeader;
this.emit("bound", { remoteHost, socket: this.socket });
} else if (constants_1.SocksCommand[this.options.command] === constants_1.SocksCommand.associate) {
this.setState(constants_1.SocksClientState.Established);
this.removeInternalSocketHandlers();
this.emit("established", {
remoteHost,
socket: this.socket
});
}
}
}
/**
* Handles Socks v5 incoming connection request (BIND).
*/
handleSocks5IncomingConnectionResponse() {
const header = this.receiveBuffer.peek(5);
if (header[0] !== 5 || header[1] !== constants_1.Socks5Response.Granted) {
this.closeSocket(`${constants_1.ERRORS.Socks5ProxyRejectedIncomingBoundConnection} - ${constants_1.Socks5Response[header[1]]}`);
} else {
const addressType = header[3];
let remoteHost;
let buff;
if (addressType === constants_1.Socks5HostType.IPv4) {
const dataNeeded = constants_1.SOCKS_INCOMING_PACKET_SIZES.Socks5ResponseIPv4;
if (this.receiveBuffer.length < dataNeeded) {
this.nextRequiredPacketBufferSize = dataNeeded;
return;
}
buff = smart_buffer_1.SmartBuffer.fromBuffer(this.receiveBuffer.get(dataNeeded).slice(4));
remoteHost = {
host: ip.fromLong(buff.readUInt32BE()),
port: buff.readUInt16BE()
};
if (remoteHost.host === "0.0.0.0") {
remoteHost.host = this.options.proxy.ipaddress;
}
} else if (addressType === constants_1.Socks5HostType.Hostname) {
const hostLength = header[4];
const dataNeeded = constants_1.SOCKS_INCOMING_PACKET_SIZES.Socks5ResponseHostname(hostLength);
if (this.receiveBuffer.length < dataNeeded) {
this.nextRequiredPacketBufferSize = dataNeeded;
return;
}
buff = smart_buffer_1.SmartBuffer.fromBuffer(this.receiveBuffer.get(dataNeeded).slice(5));
remoteHost = {
host: buff.readString(hostLength),
port: buff.readUInt16BE()
};
} else if (addressType === constants_1.Socks5HostType.IPv6) {
const dataNeeded = constants_1.SOCKS_INCOMING_PACKET_SIZES.Socks5ResponseIPv6;
if (this.receiveBuffer.length < dataNeeded) {
this.nextRequiredPacketBufferSize = dataNeeded;
return;
}
buff = smart_buffer_1.SmartBuffer.fromBuffer(this.receiveBuffer.get(dataNeeded).slice(4));
remoteHost = {
host: ip.toString(buff.readBuffer(16)),
port: buff.readUInt16BE()
};
}
this.setState(constants_1.SocksClientState.Established);
this.removeInternalSocketHandlers();
this.emit("established", { remoteHost, socket: this.socket });
}
}
get socksClientOptions() {
return Object.assign({}, this.options);
}
};
exports2.SocksClient = SocksClient;
}
});
// ../../../usr/share/nodejs/socks/build/index.js
var require_build = __commonJS({
"../../../usr/share/nodejs/socks/build/index.js"(exports2) {
"use strict";
var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
if (k2 === void 0) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() {
return m[k];
} };
}
Object.defineProperty(o, k2, desc);
} : function(o, m, k, k2) {
if (k2 === void 0) k2 = k;
o[k2] = m[k];
});
var __exportStar2 = exports2 && exports2.__exportStar || function(m, exports3) {
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) __createBinding2(exports3, m, p);
};
Object.defineProperty(exports2, "__esModule", { value: true });
__exportStar2(require_socksclient(), exports2);
}
});
// ../../../usr/share/nodejs/socks-proxy-agent/dist/index.js
var require_dist4 = __commonJS({
"../../../usr/share/nodejs/socks-proxy-agent/dist/index.js"(exports2) {
"use strict";
var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
if (k2 === void 0) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() {
return m[k];
} };
}
Object.defineProperty(o, k2, desc);
} : function(o, m, k, k2) {
if (k2 === void 0) k2 = k;
o[k2] = m[k];
});
var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
} : function(o, v) {
o["default"] = v;
});
var __importStar2 = exports2 && exports2.__importStar || function(mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) {
for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
}
__setModuleDefault2(result, mod);
return result;
};
var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
return mod && mod.__esModule ? mod : { "default": mod };
};
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.SocksProxyAgent = void 0;
var socks_1 = require_build();
var agent_base_1 = require_dist();
var debug_1 = __importDefault2(require_src());
var dns = __importStar2(require("dns"));
var tls = __importStar2(require("tls"));
var url_1 = require("url");
var debug2 = (0, debug_1.default)("socks-proxy-agent");
function parseSocksURL(url) {
let lookup = false;
let type = 5;
const host = url.hostname;
const port = parseInt(url.port, 10) || 1080;
switch (url.protocol.replace(":", "")) {
case "socks4":
lookup = true;
type = 4;
break;
// pass through
case "socks4a":
type = 4;
break;
case "socks5":
lookup = true;
type = 5;
break;
// pass through
case "socks":
type = 5;
break;
case "socks5h":
type = 5;
break;
default:
throw new TypeError(`A "socks" protocol must be specified! Got: ${String(url.protocol)}`);
}
const proxy = {
host,
port,
type
};
if (url.username) {
Object.defineProperty(proxy, "userId", {
value: decodeURIComponent(url.username),
enumerable: false
});
}
if (url.password != null) {
Object.defineProperty(proxy, "password", {
value: decodeURIComponent(url.password),
enumerable: false
});
}
return { lookup, proxy };
}
var SocksProxyAgent = class extends agent_base_1.Agent {
constructor(uri, opts) {
super(opts);
const url = typeof uri === "string" ? new url_1.URL(uri) : uri;
const { proxy, lookup } = parseSocksURL(url);
this.shouldLookup = lookup;
this.proxy = proxy;
this.timeout = opts?.timeout ?? null;
this.socketOptions = opts?.socketOptions ?? null;
}
/**
* Initiates a SOCKS connection to the specified SOCKS proxy server,
* which in turn connects to the specified remote host and port.
*/
async connect(req, opts) {
const { shouldLookup, proxy, timeout } = this;
if (!opts.host) {
throw new Error("No `host` defined!");
}
let { host } = opts;
const { port, lookup: lookupFn = dns.lookup } = opts;
if (shouldLookup) {
host = await new Promise((resolve, reject) => {
lookupFn(host, {}, (err, res) => {
if (err) {
reject(err);
} else {
resolve(res);
}
});
});
}
const socksOpts = {
proxy,
destination: {
host,
port: typeof port === "number" ? port : parseInt(port, 10)
},
command: "connect",
timeout: timeout ?? void 0,
// @ts-expect-error the type supplied by socks for socket_options is wider
// than necessary since socks will always override the host and port
socket_options: this.socketOptions ?? void 0
};
const cleanup = (tlsSocket) => {
req.destroy();
socket.destroy();
if (tlsSocket)
tlsSocket.destroy();
};
debug2("Creating socks proxy connection: %o", socksOpts);
const { socket } = await socks_1.SocksClient.createConnection(socksOpts);
debug2("Successfully created socks proxy connection");
if (timeout !== null) {
socket.setTimeout(timeout);
socket.on("timeout", () => cleanup());
}
if (opts.secureEndpoint) {
debug2("Upgrading socket connection to TLS");
const servername = opts.servername || opts.host;
const tlsSocket = tls.connect({
...omit(opts, "host", "path", "port"),
socket,
servername
});
tlsSocket.once("error", (error) => {
debug2("Socket TLS error", error.message);
cleanup(tlsSocket);
});
return tlsSocket;
}
return socket;
}
};
exports2.SocksProxyAgent = SocksProxyAgent;
SocksProxyAgent.protocols = [
"socks",
"socks4",
"socks4a",
"socks5",
"socks5h"
];
function omit(obj, ...keys) {
const ret = {};
let key;
for (key in obj) {
if (!keys.includes(key)) {
ret[key] = obj[key];
}
}
return ret;
}
}
});
// ../../../usr/share/nodejs/data-uri-to-buffer/dist/common.js
var require_common2 = __commonJS({
"../../../usr/share/nodejs/data-uri-to-buffer/dist/common.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.makeDataUriToBuffer = void 0;
var makeDataUriToBuffer = (convert) => (uri) => {
uri = String(uri);
if (!/^data:/i.test(uri)) {
throw new TypeError('`uri` does not appear to be a Data URI (must begin with "data:")');
}
uri = uri.replace(/\r?\n/g, "");
const firstComma = uri.indexOf(",");
if (firstComma === -1 || firstComma <= 4) {
throw new TypeError("malformed data: URI");
}
const meta = uri.substring(5, firstComma).split(";");
let charset = "";
let base64 = false;
const type = meta[0] || "text/plain";
let typeFull = type;
for (let i = 1; i < meta.length; i++) {
if (meta[i] === "base64") {
base64 = true;
} else if (meta[i]) {
typeFull += `;${meta[i]}`;
if (meta[i].indexOf("charset=") === 0) {
charset = meta[i].substring(8);
}
}
}
if (!meta[0] && !charset.length) {
typeFull += ";charset=US-ASCII";
charset = "US-ASCII";
}
const data = unescape(uri.substring(firstComma + 1));
const buffer = base64 ? convert.base64ToArrayBuffer(data) : convert.stringToBuffer(data);
return {
type,
typeFull,
charset,
buffer
};
};
exports2.makeDataUriToBuffer = makeDataUriToBuffer;
}
});
// ../../../usr/share/nodejs/data-uri-to-buffer/dist/node.js
var require_node2 = __commonJS({
"../../../usr/share/nodejs/data-uri-to-buffer/dist/node.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.dataUriToBuffer = void 0;
var common_1 = require_common2();
function nodeBuffertoArrayBuffer(nodeBuf) {
if (nodeBuf.byteLength === nodeBuf.buffer.byteLength) {
return nodeBuf.buffer;
}
const buffer = new ArrayBuffer(nodeBuf.byteLength);
const view = new Uint8Array(buffer);
view.set(nodeBuf);
return buffer;
}
function base64ToArrayBuffer(base64) {
return nodeBuffertoArrayBuffer(Buffer.from(base64, "base64"));
}
function stringToBuffer(str) {
return nodeBuffertoArrayBuffer(Buffer.from(str, "ascii"));
}
exports2.dataUriToBuffer = (0, common_1.makeDataUriToBuffer)({ stringToBuffer, base64ToArrayBuffer });
}
});
// ../../../usr/share/nodejs/get-uri/dist/notmodified.js
var require_notmodified = __commonJS({
"../../../usr/share/nodejs/get-uri/dist/notmodified.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var NotModifiedError = class extends Error {
constructor(message) {
super(message || 'Source has not been modified since the provied "cache", re-use previous results');
this.code = "ENOTMODIFIED";
}
};
exports2.default = NotModifiedError;
}
});
// ../../../usr/share/nodejs/get-uri/dist/data.js
var require_data = __commonJS({
"../../../usr/share/nodejs/get-uri/dist/data.js"(exports2) {
"use strict";
var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
return mod && mod.__esModule ? mod : { "default": mod };
};
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.data = void 0;
var debug_1 = __importDefault2(require_src());
var stream_1 = require("stream");
var crypto_1 = require("crypto");
var data_uri_to_buffer_1 = require_node2();
var notmodified_1 = __importDefault2(require_notmodified());
var debug2 = (0, debug_1.default)("get-uri:data");
var DataReadable = class extends stream_1.Readable {
constructor(hash, buf) {
super();
this.push(buf);
this.push(null);
this.hash = hash;
}
};
var data = async ({ href: uri }, { cache } = {}) => {
const shasum = (0, crypto_1.createHash)("sha1");
shasum.update(uri);
const hash = shasum.digest("hex");
debug2('generated SHA1 hash for "data:" URI: %o', hash);
if (cache?.hash === hash) {
debug2("got matching cache SHA1 hash: %o", hash);
throw new notmodified_1.default();
} else {
debug2('creating Readable stream from "data:" URI buffer');
const { buffer } = (0, data_uri_to_buffer_1.dataUriToBuffer)(uri);
return new DataReadable(hash, Buffer.from(buffer));
}
};
exports2.data = data;
}
});
// ../../../usr/share/nodejs/universalify/index.js
var require_universalify = __commonJS({
"../../../usr/share/nodejs/universalify/index.js"(exports2) {
"use strict";
exports2.fromCallback = function(fn2) {
return Object.defineProperty(function(...args) {
if (typeof args[args.length - 1] === "function") fn2.apply(this, args);
else {
return new Promise((resolve, reject) => {
fn2.call(
this,
...args,
(err, res) => err != null ? reject(err) : resolve(res)
);
});
}
}, "name", { value: fn2.name });
};
exports2.fromPromise = function(fn2) {
return Object.defineProperty(function(...args) {
const cb = args[args.length - 1];
if (typeof cb !== "function") return fn2.apply(this, args);
else fn2.apply(this, args.slice(0, -1)).then((r) => cb(null, r), cb);
}, "name", { value: fn2.name });
};
}
});
// ../../../usr/share/nodejs/graceful-fs/polyfills.js
var require_polyfills = __commonJS({
"../../../usr/share/nodejs/graceful-fs/polyfills.js"(exports2, module2) {
var constants = require("constants");
var origCwd = process.cwd;
var cwd = null;
var platform = process.env.GRACEFUL_FS_PLATFORM || process.platform;
process.cwd = function() {
if (!cwd)
cwd = origCwd.call(process);
return cwd;
};
try {
process.cwd();
} catch (er) {
}
if (typeof process.chdir === "function") {
chdir = process.chdir;
process.chdir = function(d) {
cwd = null;
chdir.call(process, d);
};
if (Object.setPrototypeOf) Object.setPrototypeOf(process.chdir, chdir);
}
var chdir;
module2.exports = patch;
function patch(fs8) {
if (constants.hasOwnProperty("O_SYMLINK") && process.version.match(/^v0\.6\.[0-2]|^v0\.5\./)) {
patchLchmod(fs8);
}
if (!fs8.lutimes) {
patchLutimes(fs8);
}
fs8.chown = chownFix(fs8.chown);
fs8.fchown = chownFix(fs8.fchown);
fs8.lchown = chownFix(fs8.lchown);
fs8.chmod = chmodFix(fs8.chmod);
fs8.fchmod = chmodFix(fs8.fchmod);
fs8.lchmod = chmodFix(fs8.lchmod);
fs8.chownSync = chownFixSync(fs8.chownSync);
fs8.fchownSync = chownFixSync(fs8.fchownSync);
fs8.lchownSync = chownFixSync(fs8.lchownSync);
fs8.chmodSync = chmodFixSync(fs8.chmodSync);
fs8.fchmodSync = chmodFixSync(fs8.fchmodSync);
fs8.lchmodSync = chmodFixSync(fs8.lchmodSync);
fs8.stat = statFix(fs8.stat);
fs8.fstat = statFix(fs8.fstat);
fs8.lstat = statFix(fs8.lstat);
fs8.statSync = statFixSync(fs8.statSync);
fs8.fstatSync = statFixSync(fs8.fstatSync);
fs8.lstatSync = statFixSync(fs8.lstatSync);
if (fs8.chmod && !fs8.lchmod) {
fs8.lchmod = function(path10, mode, cb) {
if (cb) process.nextTick(cb);
};
fs8.lchmodSync = function() {
};
}
if (fs8.chown && !fs8.lchown) {
fs8.lchown = function(path10, uid, gid, cb) {
if (cb) process.nextTick(cb);
};
fs8.lchownSync = function() {
};
}
if (platform === "win32") {
fs8.rename = typeof fs8.rename !== "function" ? fs8.rename : function(fs$rename) {
function rename(from, to, cb) {
var start = Date.now();
var backoff = 0;
fs$rename(from, to, function CB(er) {
if (er && (er.code === "EACCES" || er.code === "EPERM") && Date.now() - start < 6e4) {
setTimeout(function() {
fs8.stat(to, function(stater, st) {
if (stater && stater.code === "ENOENT")
fs$rename(from, to, CB);
else
cb(er);
});
}, backoff);
if (backoff < 100)
backoff += 10;
return;
}
if (cb) cb(er);
});
}
if (Object.setPrototypeOf) Object.setPrototypeOf(rename, fs$rename);
return rename;
}(fs8.rename);
}
fs8.read = typeof fs8.read !== "function" ? fs8.read : function(fs$read) {
function read(fd, buffer, offset, length, position, callback_) {
var callback;
if (callback_ && typeof callback_ === "function") {
var eagCounter = 0;
callback = function(er, _, __) {
if (er && er.code === "EAGAIN" && eagCounter < 10) {
eagCounter++;
return fs$read.call(fs8, fd, buffer, offset, length, position, callback);
}
callback_.apply(this, arguments);
};
}
return fs$read.call(fs8, fd, buffer, offset, length, position, callback);
}
if (Object.setPrototypeOf) Object.setPrototypeOf(read, fs$read);
return read;
}(fs8.read);
fs8.readSync = typeof fs8.readSync !== "function" ? fs8.readSync : /* @__PURE__ */ function(fs$readSync) {
return function(fd, buffer, offset, length, position) {
var eagCounter = 0;
while (true) {
try {
return fs$readSync.call(fs8, fd, buffer, offset, length, position);
} catch (er) {
if (er.code === "EAGAIN" && eagCounter < 10) {
eagCounter++;
continue;
}
throw er;
}
}
};
}(fs8.readSync);
function patchLchmod(fs9) {
fs9.lchmod = function(path10, mode, callback) {
fs9.open(
path10,
constants.O_WRONLY | constants.O_SYMLINK,
mode,
function(err, fd) {
if (err) {
if (callback) callback(err);
return;
}
fs9.fchmod(fd, mode, function(err2) {
fs9.close(fd, function(err22) {
if (callback) callback(err2 || err22);
});
});
}
);
};
fs9.lchmodSync = function(path10, mode) {
var fd = fs9.openSync(path10, constants.O_WRONLY | constants.O_SYMLINK, mode);
var threw = true;
var ret;
try {
ret = fs9.fchmodSync(fd, mode);
threw = false;
} finally {
if (threw) {
try {
fs9.closeSync(fd);
} catch (er) {
}
} else {
fs9.closeSync(fd);
}
}
return ret;
};
}
function patchLutimes(fs9) {
if (constants.hasOwnProperty("O_SYMLINK") && fs9.futimes) {
fs9.lutimes = function(path10, at, mt, cb) {
fs9.open(path10, constants.O_SYMLINK, function(er, fd) {
if (er) {
if (cb) cb(er);
return;
}
fs9.futimes(fd, at, mt, function(er2) {
fs9.close(fd, function(er22) {
if (cb) cb(er2 || er22);
});
});
});
};
fs9.lutimesSync = function(path10, at, mt) {
var fd = fs9.openSync(path10, constants.O_SYMLINK);
var ret;
var threw = true;
try {
ret = fs9.futimesSync(fd, at, mt);
threw = false;
} finally {
if (threw) {
try {
fs9.closeSync(fd);
} catch (er) {
}
} else {
fs9.closeSync(fd);
}
}
return ret;
};
} else if (fs9.futimes) {
fs9.lutimes = function(_a, _b, _c, cb) {
if (cb) process.nextTick(cb);
};
fs9.lutimesSync = function() {
};
}
}
function chmodFix(orig) {
if (!orig) return orig;
return function(target, mode, cb) {
return orig.call(fs8, target, mode, function(er) {
if (chownErOk(er)) er = null;
if (cb) cb.apply(this, arguments);
});
};
}
function chmodFixSync(orig) {
if (!orig) return orig;
return function(target, mode) {
try {
return orig.call(fs8, target, mode);
} catch (er) {
if (!chownErOk(er)) throw er;
}
};
}
function chownFix(orig) {
if (!orig) return orig;
return function(target, uid, gid, cb) {
return orig.call(fs8, target, uid, gid, function(er) {
if (chownErOk(er)) er = null;
if (cb) cb.apply(this, arguments);
});
};
}
function chownFixSync(orig) {
if (!orig) return orig;
return function(target, uid, gid) {
try {
return orig.call(fs8, target, uid, gid);
} catch (er) {
if (!chownErOk(er)) throw er;
}
};
}
function statFix(orig) {
if (!orig) return orig;
return function(target, options, cb) {
if (typeof options === "function") {
cb = options;
options = null;
}
function callback(er, stats) {
if (stats) {
if (stats.uid < 0) stats.uid += 4294967296;
if (stats.gid < 0) stats.gid += 4294967296;
}
if (cb) cb.apply(this, arguments);
}
return options ? orig.call(fs8, target, options, callback) : orig.call(fs8, target, callback);
};
}
function statFixSync(orig) {
if (!orig) return orig;
return function(target, options) {
var stats = options ? orig.call(fs8, target, options) : orig.call(fs8, target);
if (stats) {
if (stats.uid < 0) stats.uid += 4294967296;
if (stats.gid < 0) stats.gid += 4294967296;
}
return stats;
};
}
function chownErOk(er) {
if (!er)
return true;
if (er.code === "ENOSYS")
return true;
var nonroot = !process.getuid || process.getuid() !== 0;
if (nonroot) {
if (er.code === "EINVAL" || er.code === "EPERM")
return true;
}
return false;
}
}
}
});
// ../../../usr/share/nodejs/graceful-fs/legacy-streams.js
var require_legacy_streams = __commonJS({
"../../../usr/share/nodejs/graceful-fs/legacy-streams.js"(exports2, module2) {
var Stream = require("stream").Stream;
module2.exports = legacy;
function legacy(fs8) {
return {
ReadStream,
WriteStream
};
function ReadStream(path10, options) {
if (!(this instanceof ReadStream)) return new ReadStream(path10, options);
Stream.call(this);
var self2 = this;
this.path = path10;
this.fd = null;
this.readable = true;
this.paused = false;
this.flags = "r";
this.mode = 438;
this.bufferSize = 64 * 1024;
options = options || {};
var keys = Object.keys(options);
for (var index = 0, length = keys.length; index < length; index++) {
var key = keys[index];
this[key] = options[key];
}
if (this.encoding) this.setEncoding(this.encoding);
if (this.start !== void 0) {
if ("number" !== typeof this.start) {
throw TypeError("start must be a Number");
}
if (this.end === void 0) {
this.end = Infinity;
} else if ("number" !== typeof this.end) {
throw TypeError("end must be a Number");
}
if (this.start > this.end) {
throw new Error("start must be <= end");
}
this.pos = this.start;
}
if (this.fd !== null) {
process.nextTick(function() {
self2._read();
});
return;
}
fs8.open(this.path, this.flags, this.mode, function(err, fd) {
if (err) {
self2.emit("error", err);
self2.readable = false;
return;
}
self2.fd = fd;
self2.emit("open", fd);
self2._read();
});
}
function WriteStream(path10, options) {
if (!(this instanceof WriteStream)) return new WriteStream(path10, options);
Stream.call(this);
this.path = path10;
this.fd = null;
this.writable = true;
this.flags = "w";
this.encoding = "binary";
this.mode = 438;
this.bytesWritten = 0;
options = options || {};
var keys = Object.keys(options);
for (var index = 0, length = keys.length; index < length; index++) {
var key = keys[index];
this[key] = options[key];
}
if (this.start !== void 0) {
if ("number" !== typeof this.start) {
throw TypeError("start must be a Number");
}
if (this.start < 0) {
throw new Error("start must be >= zero");
}
this.pos = this.start;
}
this.busy = false;
this._queue = [];
if (this.fd === null) {
this._open = fs8.open;
this._queue.push([this._open, this.path, this.flags, this.mode, void 0]);
this.flush();
}
}
}
}
});
// ../../../usr/share/nodejs/graceful-fs/clone.js
var require_clone = __commonJS({
"../../../usr/share/nodejs/graceful-fs/clone.js"(exports2, module2) {
"use strict";
module2.exports = clone;
var getPrototypeOf = Object.getPrototypeOf || function(obj) {
return obj.__proto__;
};
function clone(obj) {
if (obj === null || typeof obj !== "object")
return obj;
if (obj instanceof Object)
var copy = { __proto__: getPrototypeOf(obj) };
else
var copy = /* @__PURE__ */ Object.create(null);
Object.getOwnPropertyNames(obj).forEach(function(key) {
Object.defineProperty(copy, key, Object.getOwnPropertyDescriptor(obj, key));
});
return copy;
}
}
});
// ../../../usr/share/nodejs/graceful-fs/graceful-fs.js
var require_graceful_fs = __commonJS({
"../../../usr/share/nodejs/graceful-fs/graceful-fs.js"(exports2, module2) {
var fs8 = require("fs");
var polyfills = require_polyfills();
var legacy = require_legacy_streams();
var clone = require_clone();
var util = require("util");
var gracefulQueue;
var previousSymbol;
if (typeof Symbol === "function" && typeof Symbol.for === "function") {
gracefulQueue = Symbol.for("graceful-fs.queue");
previousSymbol = Symbol.for("graceful-fs.previous");
} else {
gracefulQueue = "___graceful-fs.queue";
previousSymbol = "___graceful-fs.previous";
}
function noop() {
}
function publishQueue(context, queue2) {
Object.defineProperty(context, gracefulQueue, {
get: function() {
return queue2;
}
});
}
var debug2 = noop;
if (util.debuglog)
debug2 = util.debuglog("gfs4");
else if (/\bgfs4\b/i.test(process.env.NODE_DEBUG || ""))
debug2 = function() {
var m = util.format.apply(util, arguments);
m = "GFS4: " + m.split(/\n/).join("\nGFS4: ");
console.error(m);
};
if (!fs8[gracefulQueue]) {
queue = global[gracefulQueue] || [];
publishQueue(fs8, queue);
fs8.close = function(fs$close) {
function close(fd, cb) {
return fs$close.call(fs8, fd, function(err) {
if (!err) {
resetQueue();
}
if (typeof cb === "function")
cb.apply(this, arguments);
});
}
Object.defineProperty(close, previousSymbol, {
value: fs$close
});
return close;
}(fs8.close);
fs8.closeSync = function(fs$closeSync) {
function closeSync(fd) {
fs$closeSync.apply(fs8, arguments);
resetQueue();
}
Object.defineProperty(closeSync, previousSymbol, {
value: fs$closeSync
});
return closeSync;
}(fs8.closeSync);
if (/\bgfs4\b/i.test(process.env.NODE_DEBUG || "")) {
process.on("exit", function() {
debug2(fs8[gracefulQueue]);
require("assert").equal(fs8[gracefulQueue].length, 0);
});
}
}
var queue;
if (!global[gracefulQueue]) {
publishQueue(global, fs8[gracefulQueue]);
}
module2.exports = patch(clone(fs8));
if (process.env.TEST_GRACEFUL_FS_GLOBAL_PATCH && !fs8.__patched) {
module2.exports = patch(fs8);
fs8.__patched = true;
}
function patch(fs9) {
polyfills(fs9);
fs9.gracefulify = patch;
fs9.createReadStream = createReadStream;
fs9.createWriteStream = createWriteStream;
var fs$readFile = fs9.readFile;
fs9.readFile = readFile;
function readFile(path10, options, cb) {
if (typeof options === "function")
cb = options, options = null;
return go$readFile(path10, options, cb);
function go$readFile(path11, options2, cb2, startTime) {
return fs$readFile(path11, options2, function(err) {
if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
enqueue([go$readFile, [path11, options2, cb2], err, startTime || Date.now(), Date.now()]);
else {
if (typeof cb2 === "function")
cb2.apply(this, arguments);
}
});
}
}
var fs$writeFile = fs9.writeFile;
fs9.writeFile = writeFile;
function writeFile(path10, data, options, cb) {
if (typeof options === "function")
cb = options, options = null;
return go$writeFile(path10, data, options, cb);
function go$writeFile(path11, data2, options2, cb2, startTime) {
return fs$writeFile(path11, data2, options2, function(err) {
if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
enqueue([go$writeFile, [path11, data2, options2, cb2], err, startTime || Date.now(), Date.now()]);
else {
if (typeof cb2 === "function")
cb2.apply(this, arguments);
}
});
}
}
var fs$appendFile = fs9.appendFile;
if (fs$appendFile)
fs9.appendFile = appendFile;
function appendFile(path10, data, options, cb) {
if (typeof options === "function")
cb = options, options = null;
return go$appendFile(path10, data, options, cb);
function go$appendFile(path11, data2, options2, cb2, startTime) {
return fs$appendFile(path11, data2, options2, function(err) {
if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
enqueue([go$appendFile, [path11, data2, options2, cb2], err, startTime || Date.now(), Date.now()]);
else {
if (typeof cb2 === "function")
cb2.apply(this, arguments);
}
});
}
}
var fs$copyFile = fs9.copyFile;
if (fs$copyFile)
fs9.copyFile = copyFile;
function copyFile(src, dest, flags, cb) {
if (typeof flags === "function") {
cb = flags;
flags = 0;
}
return go$copyFile(src, dest, flags, cb);
function go$copyFile(src2, dest2, flags2, cb2, startTime) {
return fs$copyFile(src2, dest2, flags2, function(err) {
if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
enqueue([go$copyFile, [src2, dest2, flags2, cb2], err, startTime || Date.now(), Date.now()]);
else {
if (typeof cb2 === "function")
cb2.apply(this, arguments);
}
});
}
}
var fs$readdir = fs9.readdir;
fs9.readdir = readdir;
var noReaddirOptionVersions = /^v[0-5]\./;
function readdir(path10, options, cb) {
if (typeof options === "function")
cb = options, options = null;
var go$readdir = noReaddirOptionVersions.test(process.version) ? function go$readdir2(path11, options2, cb2, startTime) {
return fs$readdir(path11, fs$readdirCallback(
path11,
options2,
cb2,
startTime
));
} : function go$readdir2(path11, options2, cb2, startTime) {
return fs$readdir(path11, options2, fs$readdirCallback(
path11,
options2,
cb2,
startTime
));
};
return go$readdir(path10, options, cb);
function fs$readdirCallback(path11, options2, cb2, startTime) {
return function(err, files) {
if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
enqueue([
go$readdir,
[path11, options2, cb2],
err,
startTime || Date.now(),
Date.now()
]);
else {
if (files && files.sort)
files.sort();
if (typeof cb2 === "function")
cb2.call(this, err, files);
}
};
}
}
if (process.version.substr(0, 4) === "v0.8") {
var legStreams = legacy(fs9);
ReadStream = legStreams.ReadStream;
WriteStream = legStreams.WriteStream;
}
var fs$ReadStream = fs9.ReadStream;
if (fs$ReadStream) {
ReadStream.prototype = Object.create(fs$ReadStream.prototype);
ReadStream.prototype.open = ReadStream$open;
}
var fs$WriteStream = fs9.WriteStream;
if (fs$WriteStream) {
WriteStream.prototype = Object.create(fs$WriteStream.prototype);
WriteStream.prototype.open = WriteStream$open;
}
Object.defineProperty(fs9, "ReadStream", {
get: function() {
return ReadStream;
},
set: function(val) {
ReadStream = val;
},
enumerable: true,
configurable: true
});
Object.defineProperty(fs9, "WriteStream", {
get: function() {
return WriteStream;
},
set: function(val) {
WriteStream = val;
},
enumerable: true,
configurable: true
});
var FileReadStream = ReadStream;
Object.defineProperty(fs9, "FileReadStream", {
get: function() {
return FileReadStream;
},
set: function(val) {
FileReadStream = val;
},
enumerable: true,
configurable: true
});
var FileWriteStream = WriteStream;
Object.defineProperty(fs9, "FileWriteStream", {
get: function() {
return FileWriteStream;
},
set: function(val) {
FileWriteStream = val;
},
enumerable: true,
configurable: true
});
function ReadStream(path10, options) {
if (this instanceof ReadStream)
return fs$ReadStream.apply(this, arguments), this;
else
return ReadStream.apply(Object.create(ReadStream.prototype), arguments);
}
function ReadStream$open() {
var that = this;
open(that.path, that.flags, that.mode, function(err, fd) {
if (err) {
if (that.autoClose)
that.destroy();
that.emit("error", err);
} else {
that.fd = fd;
that.emit("open", fd);
that.read();
}
});
}
function WriteStream(path10, options) {
if (this instanceof WriteStream)
return fs$WriteStream.apply(this, arguments), this;
else
return WriteStream.apply(Object.create(WriteStream.prototype), arguments);
}
function WriteStream$open() {
var that = this;
open(that.path, that.flags, that.mode, function(err, fd) {
if (err) {
that.destroy();
that.emit("error", err);
} else {
that.fd = fd;
that.emit("open", fd);
}
});
}
function createReadStream(path10, options) {
return new fs9.ReadStream(path10, options);
}
function createWriteStream(path10, options) {
return new fs9.WriteStream(path10, options);
}
var fs$open = fs9.open;
fs9.open = open;
function open(path10, flags, mode, cb) {
if (typeof mode === "function")
cb = mode, mode = null;
return go$open(path10, flags, mode, cb);
function go$open(path11, flags2, mode2, cb2, startTime) {
return fs$open(path11, flags2, mode2, function(err, fd) {
if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
enqueue([go$open, [path11, flags2, mode2, cb2], err, startTime || Date.now(), Date.now()]);
else {
if (typeof cb2 === "function")
cb2.apply(this, arguments);
}
});
}
}
return fs9;
}
function enqueue(elem) {
debug2("ENQUEUE", elem[0].name, elem[1]);
fs8[gracefulQueue].push(elem);
retry();
}
var retryTimer;
function resetQueue() {
var now = Date.now();
for (var i = 0; i < fs8[gracefulQueue].length; ++i) {
if (fs8[gracefulQueue][i].length > 2) {
fs8[gracefulQueue][i][3] = now;
fs8[gracefulQueue][i][4] = now;
}
}
retry();
}
function retry() {
clearTimeout(retryTimer);
retryTimer = void 0;
if (fs8[gracefulQueue].length === 0)
return;
var elem = fs8[gracefulQueue].shift();
var fn2 = elem[0];
var args = elem[1];
var err = elem[2];
var startTime = elem[3];
var lastTime = elem[4];
if (startTime === void 0) {
debug2("RETRY", fn2.name, args);
fn2.apply(null, args);
} else if (Date.now() - startTime >= 6e4) {
debug2("TIMEOUT", fn2.name, args);
var cb = args.pop();
if (typeof cb === "function")
cb.call(null, err);
} else {
var sinceAttempt = Date.now() - lastTime;
var sinceStart = Math.max(lastTime - startTime, 1);
var desiredDelay = Math.min(sinceStart * 1.2, 100);
if (sinceAttempt >= desiredDelay) {
debug2("RETRY", fn2.name, args);
fn2.apply(null, args.concat([startTime]));
} else {
fs8[gracefulQueue].push(elem);
}
}
if (retryTimer === void 0) {
retryTimer = setTimeout(retry, 0);
}
}
}
});
// ../../../usr/share/nodejs/fs-extra/lib/fs/index.js
var require_fs = __commonJS({
"../../../usr/share/nodejs/fs-extra/lib/fs/index.js"(exports2) {
"use strict";
var u = require_universalify().fromCallback;
var fs8 = require_graceful_fs();
var api = [
"access",
"appendFile",
"chmod",
"chown",
"close",
"copyFile",
"fchmod",
"fchown",
"fdatasync",
"fstat",
"fsync",
"ftruncate",
"futimes",
"lchmod",
"lchown",
"link",
"lstat",
"mkdir",
"mkdtemp",
"open",
"opendir",
"readdir",
"readFile",
"readlink",
"realpath",
"rename",
"rm",
"rmdir",
"stat",
"symlink",
"truncate",
"unlink",
"utimes",
"writeFile"
].filter((key) => {
return typeof fs8[key] === "function";
});
Object.assign(exports2, fs8);
api.forEach((method) => {
exports2[method] = u(fs8[method]);
});
exports2.exists = function(filename, callback) {
if (typeof callback === "function") {
return fs8.exists(filename, callback);
}
return new Promise((resolve) => {
return fs8.exists(filename, resolve);
});
};
exports2.read = function(fd, buffer, offset, length, position, callback) {
if (typeof callback === "function") {
return fs8.read(fd, buffer, offset, length, position, callback);
}
return new Promise((resolve, reject) => {
fs8.read(fd, buffer, offset, length, position, (err, bytesRead, buffer2) => {
if (err) return reject(err);
resolve({ bytesRead, buffer: buffer2 });
});
});
};
exports2.write = function(fd, buffer, ...args) {
if (typeof args[args.length - 1] === "function") {
return fs8.write(fd, buffer, ...args);
}
return new Promise((resolve, reject) => {
fs8.write(fd, buffer, ...args, (err, bytesWritten, buffer2) => {
if (err) return reject(err);
resolve({ bytesWritten, buffer: buffer2 });
});
});
};
if (typeof fs8.writev === "function") {
exports2.writev = function(fd, buffers, ...args) {
if (typeof args[args.length - 1] === "function") {
return fs8.writev(fd, buffers, ...args);
}
return new Promise((resolve, reject) => {
fs8.writev(fd, buffers, ...args, (err, bytesWritten, buffers2) => {
if (err) return reject(err);
resolve({ bytesWritten, buffers: buffers2 });
});
});
};
}
if (typeof fs8.realpath.native === "function") {
exports2.realpath.native = u(fs8.realpath.native);
} else {
process.emitWarning(
"fs.realpath.native is not a function. Is fs being monkey-patched?",
"Warning",
"fs-extra-WARN0003"
);
}
}
});
// ../../../usr/share/nodejs/fs-extra/lib/mkdirs/utils.js
var require_utils2 = __commonJS({
"../../../usr/share/nodejs/fs-extra/lib/mkdirs/utils.js"(exports2, module2) {
"use strict";
var path10 = require("path");
module2.exports.checkPath = function checkPath(pth) {
if (process.platform === "win32") {
const pathHasInvalidWinCharacters = /[<>:"|?*]/.test(pth.replace(path10.parse(pth).root, ""));
if (pathHasInvalidWinCharacters) {
const error = new Error(`Path contains invalid characters: ${pth}`);
error.code = "EINVAL";
throw error;
}
}
};
}
});
// ../../../usr/share/nodejs/fs-extra/lib/mkdirs/make-dir.js
var require_make_dir = __commonJS({
"../../../usr/share/nodejs/fs-extra/lib/mkdirs/make-dir.js"(exports2, module2) {
"use strict";
var fs8 = require_fs();
var { checkPath } = require_utils2();
var getMode = (options) => {
const defaults = { mode: 511 };
if (typeof options === "number") return options;
return { ...defaults, ...options }.mode;
};
module2.exports.makeDir = async (dir, options) => {
checkPath(dir);
return fs8.mkdir(dir, {
mode: getMode(options),
recursive: true
});
};
module2.exports.makeDirSync = (dir, options) => {
checkPath(dir);
return fs8.mkdirSync(dir, {
mode: getMode(options),
recursive: true
});
};
}
});
// ../../../usr/share/nodejs/fs-extra/lib/mkdirs/index.js
var require_mkdirs = __commonJS({
"../../../usr/share/nodejs/fs-extra/lib/mkdirs/index.js"(exports2, module2) {
"use strict";
var u = require_universalify().fromPromise;
var { makeDir: _makeDir, makeDirSync } = require_make_dir();
var makeDir = u(_makeDir);
module2.exports = {
mkdirs: makeDir,
mkdirsSync: makeDirSync,
// alias
mkdirp: makeDir,
mkdirpSync: makeDirSync,
ensureDir: makeDir,
ensureDirSync: makeDirSync
};
}
});
// ../../../usr/share/nodejs/fs-extra/lib/path-exists/index.js
var require_path_exists = __commonJS({
"../../../usr/share/nodejs/fs-extra/lib/path-exists/index.js"(exports2, module2) {
"use strict";
var u = require_universalify().fromPromise;
var fs8 = require_fs();
function pathExists(path10) {
return fs8.access(path10).then(() => true).catch(() => false);
}
module2.exports = {
pathExists: u(pathExists),
pathExistsSync: fs8.existsSync
};
}
});
// ../../../usr/share/nodejs/fs-extra/lib/util/utimes.js
var require_utimes = __commonJS({
"../../../usr/share/nodejs/fs-extra/lib/util/utimes.js"(exports2, module2) {
"use strict";
var fs8 = require_graceful_fs();
function utimesMillis(path10, atime, mtime, callback) {
fs8.open(path10, "r+", (err, fd) => {
if (err) return callback(err);
fs8.futimes(fd, atime, mtime, (futimesErr) => {
fs8.close(fd, (closeErr) => {
if (callback) callback(futimesErr || closeErr);
});
});
});
}
function utimesMillisSync(path10, atime, mtime) {
const fd = fs8.openSync(path10, "r+");
fs8.futimesSync(fd, atime, mtime);
return fs8.closeSync(fd);
}
module2.exports = {
utimesMillis,
utimesMillisSync
};
}
});
// ../../../usr/share/nodejs/fs-extra/lib/util/stat.js
var require_stat = __commonJS({
"../../../usr/share/nodejs/fs-extra/lib/util/stat.js"(exports2, module2) {
"use strict";
var fs8 = require_fs();
var path10 = require("path");
var util = require("util");
function getStats(src, dest, opts) {
const statFunc = opts.dereference ? (file) => fs8.stat(file, { bigint: true }) : (file) => fs8.lstat(file, { bigint: true });
return Promise.all([
statFunc(src),
statFunc(dest).catch((err) => {
if (err.code === "ENOENT") return null;
throw err;
})
]).then(([srcStat, destStat]) => ({ srcStat, destStat }));
}
function getStatsSync(src, dest, opts) {
let destStat;
const statFunc = opts.dereference ? (file) => fs8.statSync(file, { bigint: true }) : (file) => fs8.lstatSync(file, { bigint: true });
const srcStat = statFunc(src);
try {
destStat = statFunc(dest);
} catch (err) {
if (err.code === "ENOENT") return { srcStat, destStat: null };
throw err;
}
return { srcStat, destStat };
}
function checkPaths(src, dest, funcName, opts, cb) {
util.callbackify(getStats)(src, dest, opts, (err, stats) => {
if (err) return cb(err);
const { srcStat, destStat } = stats;
if (destStat) {
if (areIdentical(srcStat, destStat)) {
const srcBaseName = path10.basename(src);
const destBaseName = path10.basename(dest);
if (funcName === "move" && srcBaseName !== destBaseName && srcBaseName.toLowerCase() === destBaseName.toLowerCase()) {
return cb(null, { srcStat, destStat, isChangingCase: true });
}
return cb(new Error("Source and destination must not be the same."));
}
if (srcStat.isDirectory() && !destStat.isDirectory()) {
return cb(new Error(`Cannot overwrite non-directory '${dest}' with directory '${src}'.`));
}
if (!srcStat.isDirectory() && destStat.isDirectory()) {
return cb(new Error(`Cannot overwrite directory '${dest}' with non-directory '${src}'.`));
}
}
if (srcStat.isDirectory() && isSrcSubdir(src, dest)) {
return cb(new Error(errMsg(src, dest, funcName)));
}
return cb(null, { srcStat, destStat });
});
}
function checkPathsSync(src, dest, funcName, opts) {
const { srcStat, destStat } = getStatsSync(src, dest, opts);
if (destStat) {
if (areIdentical(srcStat, destStat)) {
const srcBaseName = path10.basename(src);
const destBaseName = path10.basename(dest);
if (funcName === "move" && srcBaseName !== destBaseName && srcBaseName.toLowerCase() === destBaseName.toLowerCase()) {
return { srcStat, destStat, isChangingCase: true };
}
throw new Error("Source and destination must not be the same.");
}
if (srcStat.isDirectory() && !destStat.isDirectory()) {
throw new Error(`Cannot overwrite non-directory '${dest}' with directory '${src}'.`);
}
if (!srcStat.isDirectory() && destStat.isDirectory()) {
throw new Error(`Cannot overwrite directory '${dest}' with non-directory '${src}'.`);
}
}
if (srcStat.isDirectory() && isSrcSubdir(src, dest)) {
throw new Error(errMsg(src, dest, funcName));
}
return { srcStat, destStat };
}
function checkParentPaths(src, srcStat, dest, funcName, cb) {
const srcParent = path10.resolve(path10.dirname(src));
const destParent = path10.resolve(path10.dirname(dest));
if (destParent === srcParent || destParent === path10.parse(destParent).root) return cb();
fs8.stat(destParent, { bigint: true }, (err, destStat) => {
if (err) {
if (err.code === "ENOENT") return cb();
return cb(err);
}
if (areIdentical(srcStat, destStat)) {
return cb(new Error(errMsg(src, dest, funcName)));
}
return checkParentPaths(src, srcStat, destParent, funcName, cb);
});
}
function checkParentPathsSync(src, srcStat, dest, funcName) {
const srcParent = path10.resolve(path10.dirname(src));
const destParent = path10.resolve(path10.dirname(dest));
if (destParent === srcParent || destParent === path10.parse(destParent).root) return;
let destStat;
try {
destStat = fs8.statSync(destParent, { bigint: true });
} catch (err) {
if (err.code === "ENOENT") return;
throw err;
}
if (areIdentical(srcStat, destStat)) {
throw new Error(errMsg(src, dest, funcName));
}
return checkParentPathsSync(src, srcStat, destParent, funcName);
}
function areIdentical(srcStat, destStat) {
return destStat.ino && destStat.dev && destStat.ino === srcStat.ino && destStat.dev === srcStat.dev;
}
function isSrcSubdir(src, dest) {
const srcArr = path10.resolve(src).split(path10.sep).filter((i) => i);
const destArr = path10.resolve(dest).split(path10.sep).filter((i) => i);
return srcArr.reduce((acc, cur, i) => acc && destArr[i] === cur, true);
}
function errMsg(src, dest, funcName) {
return `Cannot ${funcName} '${src}' to a subdirectory of itself, '${dest}'.`;
}
module2.exports = {
checkPaths,
checkPathsSync,
checkParentPaths,
checkParentPathsSync,
isSrcSubdir,
areIdentical
};
}
});
// ../../../usr/share/nodejs/fs-extra/lib/copy/copy.js
var require_copy = __commonJS({
"../../../usr/share/nodejs/fs-extra/lib/copy/copy.js"(exports2, module2) {
"use strict";
var fs8 = require_graceful_fs();
var path10 = require("path");
var mkdirs = require_mkdirs().mkdirs;
var pathExists = require_path_exists().pathExists;
var utimesMillis = require_utimes().utimesMillis;
var stat = require_stat();
function copy(src, dest, opts, cb) {
if (typeof opts === "function" && !cb) {
cb = opts;
opts = {};
} else if (typeof opts === "function") {
opts = { filter: opts };
}
cb = cb || function() {
};
opts = opts || {};
opts.clobber = "clobber" in opts ? !!opts.clobber : true;
opts.overwrite = "overwrite" in opts ? !!opts.overwrite : opts.clobber;
if (opts.preserveTimestamps && process.arch === "ia32") {
process.emitWarning(
"Using the preserveTimestamps option in 32-bit node is not recommended;\n\n see https://github.com/jprichardson/node-fs-extra/issues/269",
"Warning",
"fs-extra-WARN0001"
);
}
stat.checkPaths(src, dest, "copy", opts, (err, stats) => {
if (err) return cb(err);
const { srcStat, destStat } = stats;
stat.checkParentPaths(src, srcStat, dest, "copy", (err2) => {
if (err2) return cb(err2);
if (opts.filter) return handleFilter(checkParentDir, destStat, src, dest, opts, cb);
return checkParentDir(destStat, src, dest, opts, cb);
});
});
}
function checkParentDir(destStat, src, dest, opts, cb) {
const destParent = path10.dirname(dest);
pathExists(destParent, (err, dirExists) => {
if (err) return cb(err);
if (dirExists) return getStats(destStat, src, dest, opts, cb);
mkdirs(destParent, (err2) => {
if (err2) return cb(err2);
return getStats(destStat, src, dest, opts, cb);
});
});
}
function handleFilter(onInclude, destStat, src, dest, opts, cb) {
Promise.resolve(opts.filter(src, dest)).then((include) => {
if (include) return onInclude(destStat, src, dest, opts, cb);
return cb();
}, (error) => cb(error));
}
function startCopy(destStat, src, dest, opts, cb) {
if (opts.filter) return handleFilter(getStats, destStat, src, dest, opts, cb);
return getStats(destStat, src, dest, opts, cb);
}
function getStats(destStat, src, dest, opts, cb) {
const stat2 = opts.dereference ? fs8.stat : fs8.lstat;
stat2(src, (err, srcStat) => {
if (err) return cb(err);
if (srcStat.isDirectory()) return onDir(srcStat, destStat, src, dest, opts, cb);
else if (srcStat.isFile() || srcStat.isCharacterDevice() || srcStat.isBlockDevice()) return onFile(srcStat, destStat, src, dest, opts, cb);
else if (srcStat.isSymbolicLink()) return onLink(destStat, src, dest, opts, cb);
else if (srcStat.isSocket()) return cb(new Error(`Cannot copy a socket file: ${src}`));
else if (srcStat.isFIFO()) return cb(new Error(`Cannot copy a FIFO pipe: ${src}`));
return cb(new Error(`Unknown file: ${src}`));
});
}
function onFile(srcStat, destStat, src, dest, opts, cb) {
if (!destStat) return copyFile(srcStat, src, dest, opts, cb);
return mayCopyFile(srcStat, src, dest, opts, cb);
}
function mayCopyFile(srcStat, src, dest, opts, cb) {
if (opts.overwrite) {
fs8.unlink(dest, (err) => {
if (err) return cb(err);
return copyFile(srcStat, src, dest, opts, cb);
});
} else if (opts.errorOnExist) {
return cb(new Error(`'${dest}' already exists`));
} else return cb();
}
function copyFile(srcStat, src, dest, opts, cb) {
fs8.copyFile(src, dest, (err) => {
if (err) return cb(err);
if (opts.preserveTimestamps) return handleTimestampsAndMode(srcStat.mode, src, dest, cb);
return setDestMode(dest, srcStat.mode, cb);
});
}
function handleTimestampsAndMode(srcMode, src, dest, cb) {
if (fileIsNotWritable(srcMode)) {
return makeFileWritable(dest, srcMode, (err) => {
if (err) return cb(err);
return setDestTimestampsAndMode(srcMode, src, dest, cb);
});
}
return setDestTimestampsAndMode(srcMode, src, dest, cb);
}
function fileIsNotWritable(srcMode) {
return (srcMode & 128) === 0;
}
function makeFileWritable(dest, srcMode, cb) {
return setDestMode(dest, srcMode | 128, cb);
}
function setDestTimestampsAndMode(srcMode, src, dest, cb) {
setDestTimestamps(src, dest, (err) => {
if (err) return cb(err);
return setDestMode(dest, srcMode, cb);
});
}
function setDestMode(dest, srcMode, cb) {
return fs8.chmod(dest, srcMode, cb);
}
function setDestTimestamps(src, dest, cb) {
fs8.stat(src, (err, updatedSrcStat) => {
if (err) return cb(err);
return utimesMillis(dest, updatedSrcStat.atime, updatedSrcStat.mtime, cb);
});
}
function onDir(srcStat, destStat, src, dest, opts, cb) {
if (!destStat) return mkDirAndCopy(srcStat.mode, src, dest, opts, cb);
return copyDir(src, dest, opts, cb);
}
function mkDirAndCopy(srcMode, src, dest, opts, cb) {
fs8.mkdir(dest, (err) => {
if (err) return cb(err);
copyDir(src, dest, opts, (err2) => {
if (err2) return cb(err2);
return setDestMode(dest, srcMode, cb);
});
});
}
function copyDir(src, dest, opts, cb) {
fs8.readdir(src, (err, items) => {
if (err) return cb(err);
return copyDirItems(items, src, dest, opts, cb);
});
}
function copyDirItems(items, src, dest, opts, cb) {
const item = items.pop();
if (!item) return cb();
return copyDirItem(items, item, src, dest, opts, cb);
}
function copyDirItem(items, item, src, dest, opts, cb) {
const srcItem = path10.join(src, item);
const destItem = path10.join(dest, item);
stat.checkPaths(srcItem, destItem, "copy", opts, (err, stats) => {
if (err) return cb(err);
const { destStat } = stats;
startCopy(destStat, srcItem, destItem, opts, (err2) => {
if (err2) return cb(err2);
return copyDirItems(items, src, dest, opts, cb);
});
});
}
function onLink(destStat, src, dest, opts, cb) {
fs8.readlink(src, (err, resolvedSrc) => {
if (err) return cb(err);
if (opts.dereference) {
resolvedSrc = path10.resolve(process.cwd(), resolvedSrc);
}
if (!destStat) {
return fs8.symlink(resolvedSrc, dest, cb);
} else {
fs8.readlink(dest, (err2, resolvedDest) => {
if (err2) {
if (err2.code === "EINVAL" || err2.code === "UNKNOWN") return fs8.symlink(resolvedSrc, dest, cb);
return cb(err2);
}
if (opts.dereference) {
resolvedDest = path10.resolve(process.cwd(), resolvedDest);
}
if (stat.isSrcSubdir(resolvedSrc, resolvedDest)) {
return cb(new Error(`Cannot copy '${resolvedSrc}' to a subdirectory of itself, '${resolvedDest}'.`));
}
if (destStat.isDirectory() && stat.isSrcSubdir(resolvedDest, resolvedSrc)) {
return cb(new Error(`Cannot overwrite '${resolvedDest}' with '${resolvedSrc}'.`));
}
return copyLink(resolvedSrc, dest, cb);
});
}
});
}
function copyLink(resolvedSrc, dest, cb) {
fs8.unlink(dest, (err) => {
if (err) return cb(err);
return fs8.symlink(resolvedSrc, dest, cb);
});
}
module2.exports = copy;
}
});
// ../../../usr/share/nodejs/fs-extra/lib/copy/copy-sync.js
var require_copy_sync = __commonJS({
"../../../usr/share/nodejs/fs-extra/lib/copy/copy-sync.js"(exports2, module2) {
"use strict";
var fs8 = require_graceful_fs();
var path10 = require("path");
var mkdirsSync = require_mkdirs().mkdirsSync;
var utimesMillisSync = require_utimes().utimesMillisSync;
var stat = require_stat();
function copySync(src, dest, opts) {
if (typeof opts === "function") {
opts = { filter: opts };
}
opts = opts || {};
opts.clobber = "clobber" in opts ? !!opts.clobber : true;
opts.overwrite = "overwrite" in opts ? !!opts.overwrite : opts.clobber;
if (opts.preserveTimestamps && process.arch === "ia32") {
process.emitWarning(
"Using the preserveTimestamps option in 32-bit node is not recommended;\n\n see https://github.com/jprichardson/node-fs-extra/issues/269",
"Warning",
"fs-extra-WARN0002"
);
}
const { srcStat, destStat } = stat.checkPathsSync(src, dest, "copy", opts);
stat.checkParentPathsSync(src, srcStat, dest, "copy");
return handleFilterAndCopy(destStat, src, dest, opts);
}
function handleFilterAndCopy(destStat, src, dest, opts) {
if (opts.filter && !opts.filter(src, dest)) return;
const destParent = path10.dirname(dest);
if (!fs8.existsSync(destParent)) mkdirsSync(destParent);
return getStats(destStat, src, dest, opts);
}
function startCopy(destStat, src, dest, opts) {
if (opts.filter && !opts.filter(src, dest)) return;
return getStats(destStat, src, dest, opts);
}
function getStats(destStat, src, dest, opts) {
const statSync = opts.dereference ? fs8.statSync : fs8.lstatSync;
const srcStat = statSync(src);
if (srcStat.isDirectory()) return onDir(srcStat, destStat, src, dest, opts);
else if (srcStat.isFile() || srcStat.isCharacterDevice() || srcStat.isBlockDevice()) return onFile(srcStat, destStat, src, dest, opts);
else if (srcStat.isSymbolicLink()) return onLink(destStat, src, dest, opts);
else if (srcStat.isSocket()) throw new Error(`Cannot copy a socket file: ${src}`);
else if (srcStat.isFIFO()) throw new Error(`Cannot copy a FIFO pipe: ${src}`);
throw new Error(`Unknown file: ${src}`);
}
function onFile(srcStat, destStat, src, dest, opts) {
if (!destStat) return copyFile(srcStat, src, dest, opts);
return mayCopyFile(srcStat, src, dest, opts);
}
function mayCopyFile(srcStat, src, dest, opts) {
if (opts.overwrite) {
fs8.unlinkSync(dest);
return copyFile(srcStat, src, dest, opts);
} else if (opts.errorOnExist) {
throw new Error(`'${dest}' already exists`);
}
}
function copyFile(srcStat, src, dest, opts) {
fs8.copyFileSync(src, dest);
if (opts.preserveTimestamps) handleTimestamps(srcStat.mode, src, dest);
return setDestMode(dest, srcStat.mode);
}
function handleTimestamps(srcMode, src, dest) {
if (fileIsNotWritable(srcMode)) makeFileWritable(dest, srcMode);
return setDestTimestamps(src, dest);
}
function fileIsNotWritable(srcMode) {
return (srcMode & 128) === 0;
}
function makeFileWritable(dest, srcMode) {
return setDestMode(dest, srcMode | 128);
}
function setDestMode(dest, srcMode) {
return fs8.chmodSync(dest, srcMode);
}
function setDestTimestamps(src, dest) {
const updatedSrcStat = fs8.statSync(src);
return utimesMillisSync(dest, updatedSrcStat.atime, updatedSrcStat.mtime);
}
function onDir(srcStat, destStat, src, dest, opts) {
if (!destStat) return mkDirAndCopy(srcStat.mode, src, dest, opts);
return copyDir(src, dest, opts);
}
function mkDirAndCopy(srcMode, src, dest, opts) {
fs8.mkdirSync(dest);
copyDir(src, dest, opts);
return setDestMode(dest, srcMode);
}
function copyDir(src, dest, opts) {
fs8.readdirSync(src).forEach((item) => copyDirItem(item, src, dest, opts));
}
function copyDirItem(item, src, dest, opts) {
const srcItem = path10.join(src, item);
const destItem = path10.join(dest, item);
const { destStat } = stat.checkPathsSync(srcItem, destItem, "copy", opts);
return startCopy(destStat, srcItem, destItem, opts);
}
function onLink(destStat, src, dest, opts) {
let resolvedSrc = fs8.readlinkSync(src);
if (opts.dereference) {
resolvedSrc = path10.resolve(process.cwd(), resolvedSrc);
}
if (!destStat) {
return fs8.symlinkSync(resolvedSrc, dest);
} else {
let resolvedDest;
try {
resolvedDest = fs8.readlinkSync(dest);
} catch (err) {
if (err.code === "EINVAL" || err.code === "UNKNOWN") return fs8.symlinkSync(resolvedSrc, dest);
throw err;
}
if (opts.dereference) {
resolvedDest = path10.resolve(process.cwd(), resolvedDest);
}
if (stat.isSrcSubdir(resolvedSrc, resolvedDest)) {
throw new Error(`Cannot copy '${resolvedSrc}' to a subdirectory of itself, '${resolvedDest}'.`);
}
if (fs8.statSync(dest).isDirectory() && stat.isSrcSubdir(resolvedDest, resolvedSrc)) {
throw new Error(`Cannot overwrite '${resolvedDest}' with '${resolvedSrc}'.`);
}
return copyLink(resolvedSrc, dest);
}
}
function copyLink(resolvedSrc, dest) {
fs8.unlinkSync(dest);
return fs8.symlinkSync(resolvedSrc, dest);
}
module2.exports = copySync;
}
});
// ../../../usr/share/nodejs/fs-extra/lib/copy/index.js
var require_copy2 = __commonJS({
"../../../usr/share/nodejs/fs-extra/lib/copy/index.js"(exports2, module2) {
"use strict";
var u = require_universalify().fromCallback;
module2.exports = {
copy: u(require_copy()),
copySync: require_copy_sync()
};
}
});
// ../../../usr/share/nodejs/fs-extra/lib/remove/rimraf.js
var require_rimraf = __commonJS({
"../../../usr/share/nodejs/fs-extra/lib/remove/rimraf.js"(exports2, module2) {
"use strict";
var fs8 = require_graceful_fs();
var path10 = require("path");
var assert2 = require("assert");
var isWindows = process.platform === "win32";
function defaults(options) {
const methods = [
"unlink",
"chmod",
"stat",
"lstat",
"rmdir",
"readdir"
];
methods.forEach((m) => {
options[m] = options[m] || fs8[m];
m = m + "Sync";
options[m] = options[m] || fs8[m];
});
options.maxBusyTries = options.maxBusyTries || 3;
}
function rimraf2(p, options, cb) {
let busyTries = 0;
if (typeof options === "function") {
cb = options;
options = {};
}
assert2(p, "rimraf: missing path");
assert2.strictEqual(typeof p, "string", "rimraf: path should be a string");
assert2.strictEqual(typeof cb, "function", "rimraf: callback function required");
assert2(options, "rimraf: invalid options argument provided");
assert2.strictEqual(typeof options, "object", "rimraf: options should be object");
defaults(options);
rimraf_(p, options, function CB(er) {
if (er) {
if ((er.code === "EBUSY" || er.code === "ENOTEMPTY" || er.code === "EPERM") && busyTries < options.maxBusyTries) {
busyTries++;
const time = busyTries * 100;
return setTimeout(() => rimraf_(p, options, CB), time);
}
if (er.code === "ENOENT") er = null;
}
cb(er);
});
}
function rimraf_(p, options, cb) {
assert2(p);
assert2(options);
assert2(typeof cb === "function");
options.lstat(p, (er, st) => {
if (er && er.code === "ENOENT") {
return cb(null);
}
if (er && er.code === "EPERM" && isWindows) {
return fixWinEPERM(p, options, er, cb);
}
if (st && st.isDirectory()) {
return rmdir(p, options, er, cb);
}
options.unlink(p, (er2) => {
if (er2) {
if (er2.code === "ENOENT") {
return cb(null);
}
if (er2.code === "EPERM") {
return isWindows ? fixWinEPERM(p, options, er2, cb) : rmdir(p, options, er2, cb);
}
if (er2.code === "EISDIR") {
return rmdir(p, options, er2, cb);
}
}
return cb(er2);
});
});
}
function fixWinEPERM(p, options, er, cb) {
assert2(p);
assert2(options);
assert2(typeof cb === "function");
options.chmod(p, 438, (er2) => {
if (er2) {
cb(er2.code === "ENOENT" ? null : er);
} else {
options.stat(p, (er3, stats) => {
if (er3) {
cb(er3.code === "ENOENT" ? null : er);
} else if (stats.isDirectory()) {
rmdir(p, options, er, cb);
} else {
options.unlink(p, cb);
}
});
}
});
}
function fixWinEPERMSync(p, options, er) {
let stats;
assert2(p);
assert2(options);
try {
options.chmodSync(p, 438);
} catch (er2) {
if (er2.code === "ENOENT") {
return;
} else {
throw er;
}
}
try {
stats = options.statSync(p);
} catch (er3) {
if (er3.code === "ENOENT") {
return;
} else {
throw er;
}
}
if (stats.isDirectory()) {
rmdirSync(p, options, er);
} else {
options.unlinkSync(p);
}
}
function rmdir(p, options, originalEr, cb) {
assert2(p);
assert2(options);
assert2(typeof cb === "function");
options.rmdir(p, (er) => {
if (er && (er.code === "ENOTEMPTY" || er.code === "EEXIST" || er.code === "EPERM")) {
rmkids(p, options, cb);
} else if (er && er.code === "ENOTDIR") {
cb(originalEr);
} else {
cb(er);
}
});
}
function rmkids(p, options, cb) {
assert2(p);
assert2(options);
assert2(typeof cb === "function");
options.readdir(p, (er, files) => {
if (er) return cb(er);
let n = files.length;
let errState;
if (n === 0) return options.rmdir(p, cb);
files.forEach((f) => {
rimraf2(path10.join(p, f), options, (er2) => {
if (errState) {
return;
}
if (er2) return cb(errState = er2);
if (--n === 0) {
options.rmdir(p, cb);
}
});
});
});
}
function rimrafSync(p, options) {
let st;
options = options || {};
defaults(options);
assert2(p, "rimraf: missing path");
assert2.strictEqual(typeof p, "string", "rimraf: path should be a string");
assert2(options, "rimraf: missing options");
assert2.strictEqual(typeof options, "object", "rimraf: options should be object");
try {
st = options.lstatSync(p);
} catch (er) {
if (er.code === "ENOENT") {
return;
}
if (er.code === "EPERM" && isWindows) {
fixWinEPERMSync(p, options, er);
}
}
try {
if (st && st.isDirectory()) {
rmdirSync(p, options, null);
} else {
options.unlinkSync(p);
}
} catch (er) {
if (er.code === "ENOENT") {
return;
} else if (er.code === "EPERM") {
return isWindows ? fixWinEPERMSync(p, options, er) : rmdirSync(p, options, er);
} else if (er.code !== "EISDIR") {
throw er;
}
rmdirSync(p, options, er);
}
}
function rmdirSync(p, options, originalEr) {
assert2(p);
assert2(options);
try {
options.rmdirSync(p);
} catch (er) {
if (er.code === "ENOTDIR") {
throw originalEr;
} else if (er.code === "ENOTEMPTY" || er.code === "EEXIST" || er.code === "EPERM") {
rmkidsSync(p, options);
} else if (er.code !== "ENOENT") {
throw er;
}
}
}
function rmkidsSync(p, options) {
assert2(p);
assert2(options);
options.readdirSync(p).forEach((f) => rimrafSync(path10.join(p, f), options));
if (isWindows) {
const startTime = Date.now();
do {
try {
const ret = options.rmdirSync(p, options);
return ret;
} catch {
}
} while (Date.now() - startTime < 500);
} else {
const ret = options.rmdirSync(p, options);
return ret;
}
}
module2.exports = rimraf2;
rimraf2.sync = rimrafSync;
}
});
// ../../../usr/share/nodejs/fs-extra/lib/remove/index.js
var require_remove = __commonJS({
"../../../usr/share/nodejs/fs-extra/lib/remove/index.js"(exports2, module2) {
"use strict";
var fs8 = require_graceful_fs();
var u = require_universalify().fromCallback;
var rimraf2 = require_rimraf();
function remove(path10, callback) {
if (fs8.rm) return fs8.rm(path10, { recursive: true, force: true }, callback);
rimraf2(path10, callback);
}
function removeSync(path10) {
if (fs8.rmSync) return fs8.rmSync(path10, { recursive: true, force: true });
rimraf2.sync(path10);
}
module2.exports = {
remove: u(remove),
removeSync
};
}
});
// ../../../usr/share/nodejs/fs-extra/lib/empty/index.js
var require_empty = __commonJS({
"../../../usr/share/nodejs/fs-extra/lib/empty/index.js"(exports2, module2) {
"use strict";
var u = require_universalify().fromPromise;
var fs8 = require_fs();
var path10 = require("path");
var mkdir4 = require_mkdirs();
var remove = require_remove();
var emptyDir = u(async function emptyDir2(dir) {
let items;
try {
items = await fs8.readdir(dir);
} catch {
return mkdir4.mkdirs(dir);
}
return Promise.all(items.map((item) => remove.remove(path10.join(dir, item))));
});
function emptyDirSync(dir) {
let items;
try {
items = fs8.readdirSync(dir);
} catch {
return mkdir4.mkdirsSync(dir);
}
items.forEach((item) => {
item = path10.join(dir, item);
remove.removeSync(item);
});
}
module2.exports = {
emptyDirSync,
emptydirSync: emptyDirSync,
emptyDir,
emptydir: emptyDir
};
}
});
// ../../../usr/share/nodejs/fs-extra/lib/ensure/file.js
var require_file = __commonJS({
"../../../usr/share/nodejs/fs-extra/lib/ensure/file.js"(exports2, module2) {
"use strict";
var u = require_universalify().fromCallback;
var path10 = require("path");
var fs8 = require_graceful_fs();
var mkdir4 = require_mkdirs();
function createFile(file, callback) {
function makeFile() {
fs8.writeFile(file, "", (err) => {
if (err) return callback(err);
callback();
});
}
fs8.stat(file, (err, stats) => {
if (!err && stats.isFile()) return callback();
const dir = path10.dirname(file);
fs8.stat(dir, (err2, stats2) => {
if (err2) {
if (err2.code === "ENOENT") {
return mkdir4.mkdirs(dir, (err3) => {
if (err3) return callback(err3);
makeFile();
});
}
return callback(err2);
}
if (stats2.isDirectory()) makeFile();
else {
fs8.readdir(dir, (err3) => {
if (err3) return callback(err3);
});
}
});
});
}
function createFileSync(file) {
let stats;
try {
stats = fs8.statSync(file);
} catch {
}
if (stats && stats.isFile()) return;
const dir = path10.dirname(file);
try {
if (!fs8.statSync(dir).isDirectory()) {
fs8.readdirSync(dir);
}
} catch (err) {
if (err && err.code === "ENOENT") mkdir4.mkdirsSync(dir);
else throw err;
}
fs8.writeFileSync(file, "");
}
module2.exports = {
createFile: u(createFile),
createFileSync
};
}
});
// ../../../usr/share/nodejs/fs-extra/lib/ensure/link.js
var require_link = __commonJS({
"../../../usr/share/nodejs/fs-extra/lib/ensure/link.js"(exports2, module2) {
"use strict";
var u = require_universalify().fromCallback;
var path10 = require("path");
var fs8 = require_graceful_fs();
var mkdir4 = require_mkdirs();
var pathExists = require_path_exists().pathExists;
var { areIdentical } = require_stat();
function createLink(srcpath, dstpath, callback) {
function makeLink(srcpath2, dstpath2) {
fs8.link(srcpath2, dstpath2, (err) => {
if (err) return callback(err);
callback(null);
});
}
fs8.lstat(dstpath, (_, dstStat) => {
fs8.lstat(srcpath, (err, srcStat) => {
if (err) {
err.message = err.message.replace("lstat", "ensureLink");
return callback(err);
}
if (dstStat && areIdentical(srcStat, dstStat)) return callback(null);
const dir = path10.dirname(dstpath);
pathExists(dir, (err2, dirExists) => {
if (err2) return callback(err2);
if (dirExists) return makeLink(srcpath, dstpath);
mkdir4.mkdirs(dir, (err3) => {
if (err3) return callback(err3);
makeLink(srcpath, dstpath);
});
});
});
});
}
function createLinkSync(srcpath, dstpath) {
let dstStat;
try {
dstStat = fs8.lstatSync(dstpath);
} catch {
}
try {
const srcStat = fs8.lstatSync(srcpath);
if (dstStat && areIdentical(srcStat, dstStat)) return;
} catch (err) {
err.message = err.message.replace("lstat", "ensureLink");
throw err;
}
const dir = path10.dirname(dstpath);
const dirExists = fs8.existsSync(dir);
if (dirExists) return fs8.linkSync(srcpath, dstpath);
mkdir4.mkdirsSync(dir);
return fs8.linkSync(srcpath, dstpath);
}
module2.exports = {
createLink: u(createLink),
createLinkSync
};
}
});
// ../../../usr/share/nodejs/fs-extra/lib/ensure/symlink-paths.js
var require_symlink_paths = __commonJS({
"../../../usr/share/nodejs/fs-extra/lib/ensure/symlink-paths.js"(exports2, module2) {
"use strict";
var path10 = require("path");
var fs8 = require_graceful_fs();
var pathExists = require_path_exists().pathExists;
function symlinkPaths(srcpath, dstpath, callback) {
if (path10.isAbsolute(srcpath)) {
return fs8.lstat(srcpath, (err) => {
if (err) {
err.message = err.message.replace("lstat", "ensureSymlink");
return callback(err);
}
return callback(null, {
toCwd: srcpath,
toDst: srcpath
});
});
} else {
const dstdir = path10.dirname(dstpath);
const relativeToDst = path10.join(dstdir, srcpath);
return pathExists(relativeToDst, (err, exists) => {
if (err) return callback(err);
if (exists) {
return callback(null, {
toCwd: relativeToDst,
toDst: srcpath
});
} else {
return fs8.lstat(srcpath, (err2) => {
if (err2) {
err2.message = err2.message.replace("lstat", "ensureSymlink");
return callback(err2);
}
return callback(null, {
toCwd: srcpath,
toDst: path10.relative(dstdir, srcpath)
});
});
}
});
}
}
function symlinkPathsSync(srcpath, dstpath) {
let exists;
if (path10.isAbsolute(srcpath)) {
exists = fs8.existsSync(srcpath);
if (!exists) throw new Error("absolute srcpath does not exist");
return {
toCwd: srcpath,
toDst: srcpath
};
} else {
const dstdir = path10.dirname(dstpath);
const relativeToDst = path10.join(dstdir, srcpath);
exists = fs8.existsSync(relativeToDst);
if (exists) {
return {
toCwd: relativeToDst,
toDst: srcpath
};
} else {
exists = fs8.existsSync(srcpath);
if (!exists) throw new Error("relative srcpath does not exist");
return {
toCwd: srcpath,
toDst: path10.relative(dstdir, srcpath)
};
}
}
}
module2.exports = {
symlinkPaths,
symlinkPathsSync
};
}
});
// ../../../usr/share/nodejs/fs-extra/lib/ensure/symlink-type.js
var require_symlink_type = __commonJS({
"../../../usr/share/nodejs/fs-extra/lib/ensure/symlink-type.js"(exports2, module2) {
"use strict";
var fs8 = require_graceful_fs();
function symlinkType(srcpath, type, callback) {
callback = typeof type === "function" ? type : callback;
type = typeof type === "function" ? false : type;
if (type) return callback(null, type);
fs8.lstat(srcpath, (err, stats) => {
if (err) return callback(null, "file");
type = stats && stats.isDirectory() ? "dir" : "file";
callback(null, type);
});
}
function symlinkTypeSync(srcpath, type) {
let stats;
if (type) return type;
try {
stats = fs8.lstatSync(srcpath);
} catch {
return "file";
}
return stats && stats.isDirectory() ? "dir" : "file";
}
module2.exports = {
symlinkType,
symlinkTypeSync
};
}
});
// ../../../usr/share/nodejs/fs-extra/lib/ensure/symlink.js
var require_symlink = __commonJS({
"../../../usr/share/nodejs/fs-extra/lib/ensure/symlink.js"(exports2, module2) {
"use strict";
var u = require_universalify().fromCallback;
var path10 = require("path");
var fs8 = require_fs();
var _mkdirs = require_mkdirs();
var mkdirs = _mkdirs.mkdirs;
var mkdirsSync = _mkdirs.mkdirsSync;
var _symlinkPaths = require_symlink_paths();
var symlinkPaths = _symlinkPaths.symlinkPaths;
var symlinkPathsSync = _symlinkPaths.symlinkPathsSync;
var _symlinkType = require_symlink_type();
var symlinkType = _symlinkType.symlinkType;
var symlinkTypeSync = _symlinkType.symlinkTypeSync;
var pathExists = require_path_exists().pathExists;
var { areIdentical } = require_stat();
function createSymlink(srcpath, dstpath, type, callback) {
callback = typeof type === "function" ? type : callback;
type = typeof type === "function" ? false : type;
fs8.lstat(dstpath, (err, stats) => {
if (!err && stats.isSymbolicLink()) {
Promise.all([
fs8.stat(srcpath),
fs8.stat(dstpath)
]).then(([srcStat, dstStat]) => {
if (areIdentical(srcStat, dstStat)) return callback(null);
_createSymlink(srcpath, dstpath, type, callback);
});
} else _createSymlink(srcpath, dstpath, type, callback);
});
}
function _createSymlink(srcpath, dstpath, type, callback) {
symlinkPaths(srcpath, dstpath, (err, relative) => {
if (err) return callback(err);
srcpath = relative.toDst;
symlinkType(relative.toCwd, type, (err2, type2) => {
if (err2) return callback(err2);
const dir = path10.dirname(dstpath);
pathExists(dir, (err3, dirExists) => {
if (err3) return callback(err3);
if (dirExists) return fs8.symlink(srcpath, dstpath, type2, callback);
mkdirs(dir, (err4) => {
if (err4) return callback(err4);
fs8.symlink(srcpath, dstpath, type2, callback);
});
});
});
});
}
function createSymlinkSync(srcpath, dstpath, type) {
let stats;
try {
stats = fs8.lstatSync(dstpath);
} catch {
}
if (stats && stats.isSymbolicLink()) {
const srcStat = fs8.statSync(srcpath);
const dstStat = fs8.statSync(dstpath);
if (areIdentical(srcStat, dstStat)) return;
}
const relative = symlinkPathsSync(srcpath, dstpath);
srcpath = relative.toDst;
type = symlinkTypeSync(relative.toCwd, type);
const dir = path10.dirname(dstpath);
const exists = fs8.existsSync(dir);
if (exists) return fs8.symlinkSync(srcpath, dstpath, type);
mkdirsSync(dir);
return fs8.symlinkSync(srcpath, dstpath, type);
}
module2.exports = {
createSymlink: u(createSymlink),
createSymlinkSync
};
}
});
// ../../../usr/share/nodejs/fs-extra/lib/ensure/index.js
var require_ensure = __commonJS({
"../../../usr/share/nodejs/fs-extra/lib/ensure/index.js"(exports2, module2) {
"use strict";
var { createFile, createFileSync } = require_file();
var { createLink, createLinkSync } = require_link();
var { createSymlink, createSymlinkSync } = require_symlink();
module2.exports = {
// file
createFile,
createFileSync,
ensureFile: createFile,
ensureFileSync: createFileSync,
// link
createLink,
createLinkSync,
ensureLink: createLink,
ensureLinkSync: createLinkSync,
// symlink
createSymlink,
createSymlinkSync,
ensureSymlink: createSymlink,
ensureSymlinkSync: createSymlinkSync
};
}
});
// ../../../usr/share/nodejs/jsonfile/utils.js
var require_utils3 = __commonJS({
"../../../usr/share/nodejs/jsonfile/utils.js"(exports2, module2) {
function stringify(obj, { EOL = "\n", finalEOL = true, replacer = null, spaces } = {}) {
const EOF = finalEOL ? EOL : "";
const str = JSON.stringify(obj, replacer, spaces);
return str.replace(/\n/g, EOL) + EOF;
}
function stripBom(content) {
if (Buffer.isBuffer(content)) content = content.toString("utf8");
return content.replace(/^\uFEFF/, "");
}
module2.exports = { stringify, stripBom };
}
});
// ../../../usr/share/nodejs/jsonfile/index.js
var require_jsonfile = __commonJS({
"../../../usr/share/nodejs/jsonfile/index.js"(exports2, module2) {
var _fs;
try {
_fs = require_graceful_fs();
} catch (_) {
_fs = require("fs");
}
var universalify = require_universalify();
var { stringify, stripBom } = require_utils3();
async function _readFile(file, options = {}) {
if (typeof options === "string") {
options = { encoding: options };
}
const fs8 = options.fs || _fs;
const shouldThrow = "throws" in options ? options.throws : true;
let data = await universalify.fromCallback(fs8.readFile)(file, options);
data = stripBom(data);
let obj;
try {
obj = JSON.parse(data, options ? options.reviver : null);
} catch (err) {
if (shouldThrow) {
err.message = `${file}: ${err.message}`;
throw err;
} else {
return null;
}
}
return obj;
}
var readFile = universalify.fromPromise(_readFile);
function readFileSync(file, options = {}) {
if (typeof options === "string") {
options = { encoding: options };
}
const fs8 = options.fs || _fs;
const shouldThrow = "throws" in options ? options.throws : true;
try {
let content = fs8.readFileSync(file, options);
content = stripBom(content);
return JSON.parse(content, options.reviver);
} catch (err) {
if (shouldThrow) {
err.message = `${file}: ${err.message}`;
throw err;
} else {
return null;
}
}
}
async function _writeFile(file, obj, options = {}) {
const fs8 = options.fs || _fs;
const str = stringify(obj, options);
await universalify.fromCallback(fs8.writeFile)(file, str, options);
}
var writeFile = universalify.fromPromise(_writeFile);
function writeFileSync(file, obj, options = {}) {
const fs8 = options.fs || _fs;
const str = stringify(obj, options);
return fs8.writeFileSync(file, str, options);
}
var jsonfile = {
readFile,
readFileSync,
writeFile,
writeFileSync
};
module2.exports = jsonfile;
}
});
// ../../../usr/share/nodejs/fs-extra/lib/json/jsonfile.js
var require_jsonfile2 = __commonJS({
"../../../usr/share/nodejs/fs-extra/lib/json/jsonfile.js"(exports2, module2) {
"use strict";
var jsonFile = require_jsonfile();
module2.exports = {
// jsonfile exports
readJson: jsonFile.readFile,
readJsonSync: jsonFile.readFileSync,
writeJson: jsonFile.writeFile,
writeJsonSync: jsonFile.writeFileSync
};
}
});
// ../../../usr/share/nodejs/fs-extra/lib/output-file/index.js
var require_output_file = __commonJS({
"../../../usr/share/nodejs/fs-extra/lib/output-file/index.js"(exports2, module2) {
"use strict";
var u = require_universalify().fromCallback;
var fs8 = require_graceful_fs();
var path10 = require("path");
var mkdir4 = require_mkdirs();
var pathExists = require_path_exists().pathExists;
function outputFile(file, data, encoding, callback) {
if (typeof encoding === "function") {
callback = encoding;
encoding = "utf8";
}
const dir = path10.dirname(file);
pathExists(dir, (err, itDoes) => {
if (err) return callback(err);
if (itDoes) return fs8.writeFile(file, data, encoding, callback);
mkdir4.mkdirs(dir, (err2) => {
if (err2) return callback(err2);
fs8.writeFile(file, data, encoding, callback);
});
});
}
function outputFileSync(file, ...args) {
const dir = path10.dirname(file);
if (fs8.existsSync(dir)) {
return fs8.writeFileSync(file, ...args);
}
mkdir4.mkdirsSync(dir);
fs8.writeFileSync(file, ...args);
}
module2.exports = {
outputFile: u(outputFile),
outputFileSync
};
}
});
// ../../../usr/share/nodejs/fs-extra/lib/json/output-json.js
var require_output_json = __commonJS({
"../../../usr/share/nodejs/fs-extra/lib/json/output-json.js"(exports2, module2) {
"use strict";
var { stringify } = require_utils3();
var { outputFile } = require_output_file();
async function outputJson(file, data, options = {}) {
const str = stringify(data, options);
await outputFile(file, str, options);
}
module2.exports = outputJson;
}
});
// ../../../usr/share/nodejs/fs-extra/lib/json/output-json-sync.js
var require_output_json_sync = __commonJS({
"../../../usr/share/nodejs/fs-extra/lib/json/output-json-sync.js"(exports2, module2) {
"use strict";
var { stringify } = require_utils3();
var { outputFileSync } = require_output_file();
function outputJsonSync(file, data, options) {
const str = stringify(data, options);
outputFileSync(file, str, options);
}
module2.exports = outputJsonSync;
}
});
// ../../../usr/share/nodejs/fs-extra/lib/json/index.js
var require_json = __commonJS({
"../../../usr/share/nodejs/fs-extra/lib/json/index.js"(exports2, module2) {
"use strict";
var u = require_universalify().fromPromise;
var jsonFile = require_jsonfile2();
jsonFile.outputJson = u(require_output_json());
jsonFile.outputJsonSync = require_output_json_sync();
jsonFile.outputJSON = jsonFile.outputJson;
jsonFile.outputJSONSync = jsonFile.outputJsonSync;
jsonFile.writeJSON = jsonFile.writeJson;
jsonFile.writeJSONSync = jsonFile.writeJsonSync;
jsonFile.readJSON = jsonFile.readJson;
jsonFile.readJSONSync = jsonFile.readJsonSync;
module2.exports = jsonFile;
}
});
// ../../../usr/share/nodejs/fs-extra/lib/move/move.js
var require_move = __commonJS({
"../../../usr/share/nodejs/fs-extra/lib/move/move.js"(exports2, module2) {
"use strict";
var fs8 = require_graceful_fs();
var path10 = require("path");
var copy = require_copy2().copy;
var remove = require_remove().remove;
var mkdirp = require_mkdirs().mkdirp;
var pathExists = require_path_exists().pathExists;
var stat = require_stat();
function move(src, dest, opts, cb) {
if (typeof opts === "function") {
cb = opts;
opts = {};
}
opts = opts || {};
const overwrite = opts.overwrite || opts.clobber || false;
stat.checkPaths(src, dest, "move", opts, (err, stats) => {
if (err) return cb(err);
const { srcStat, isChangingCase = false } = stats;
stat.checkParentPaths(src, srcStat, dest, "move", (err2) => {
if (err2) return cb(err2);
if (isParentRoot(dest)) return doRename(src, dest, overwrite, isChangingCase, cb);
mkdirp(path10.dirname(dest), (err3) => {
if (err3) return cb(err3);
return doRename(src, dest, overwrite, isChangingCase, cb);
});
});
});
}
function isParentRoot(dest) {
const parent = path10.dirname(dest);
const parsedPath = path10.parse(parent);
return parsedPath.root === parent;
}
function doRename(src, dest, overwrite, isChangingCase, cb) {
if (isChangingCase) return rename(src, dest, overwrite, cb);
if (overwrite) {
return remove(dest, (err) => {
if (err) return cb(err);
return rename(src, dest, overwrite, cb);
});
}
pathExists(dest, (err, destExists) => {
if (err) return cb(err);
if (destExists) return cb(new Error("dest already exists."));
return rename(src, dest, overwrite, cb);
});
}
function rename(src, dest, overwrite, cb) {
fs8.rename(src, dest, (err) => {
if (!err) return cb();
if (err.code !== "EXDEV") return cb(err);
return moveAcrossDevice(src, dest, overwrite, cb);
});
}
function moveAcrossDevice(src, dest, overwrite, cb) {
const opts = {
overwrite,
errorOnExist: true
};
copy(src, dest, opts, (err) => {
if (err) return cb(err);
return remove(src, cb);
});
}
module2.exports = move;
}
});
// ../../../usr/share/nodejs/fs-extra/lib/move/move-sync.js
var require_move_sync = __commonJS({
"../../../usr/share/nodejs/fs-extra/lib/move/move-sync.js"(exports2, module2) {
"use strict";
var fs8 = require_graceful_fs();
var path10 = require("path");
var copySync = require_copy2().copySync;
var removeSync = require_remove().removeSync;
var mkdirpSync = require_mkdirs().mkdirpSync;
var stat = require_stat();
function moveSync(src, dest, opts) {
opts = opts || {};
const overwrite = opts.overwrite || opts.clobber || false;
const { srcStat, isChangingCase = false } = stat.checkPathsSync(src, dest, "move", opts);
stat.checkParentPathsSync(src, srcStat, dest, "move");
if (!isParentRoot(dest)) mkdirpSync(path10.dirname(dest));
return doRename(src, dest, overwrite, isChangingCase);
}
function isParentRoot(dest) {
const parent = path10.dirname(dest);
const parsedPath = path10.parse(parent);
return parsedPath.root === parent;
}
function doRename(src, dest, overwrite, isChangingCase) {
if (isChangingCase) return rename(src, dest, overwrite);
if (overwrite) {
removeSync(dest);
return rename(src, dest, overwrite);
}
if (fs8.existsSync(dest)) throw new Error("dest already exists.");
return rename(src, dest, overwrite);
}
function rename(src, dest, overwrite) {
try {
fs8.renameSync(src, dest);
} catch (err) {
if (err.code !== "EXDEV") throw err;
return moveAcrossDevice(src, dest, overwrite);
}
}
function moveAcrossDevice(src, dest, overwrite) {
const opts = {
overwrite,
errorOnExist: true
};
copySync(src, dest, opts);
return removeSync(src);
}
module2.exports = moveSync;
}
});
// ../../../usr/share/nodejs/fs-extra/lib/move/index.js
var require_move2 = __commonJS({
"../../../usr/share/nodejs/fs-extra/lib/move/index.js"(exports2, module2) {
"use strict";
var u = require_universalify().fromCallback;
module2.exports = {
move: u(require_move()),
moveSync: require_move_sync()
};
}
});
// ../../../usr/share/nodejs/fs-extra/lib/index.js
var require_lib = __commonJS({
"../../../usr/share/nodejs/fs-extra/lib/index.js"(exports2, module2) {
"use strict";
module2.exports = {
// Export promiseified graceful-fs:
...require_fs(),
// Export extra methods:
...require_copy2(),
...require_empty(),
...require_ensure(),
...require_json(),
...require_mkdirs(),
...require_move2(),
...require_output_file(),
...require_path_exists(),
...require_remove()
};
}
});
// ../../../usr/share/nodejs/get-uri/dist/notfound.js
var require_notfound = __commonJS({
"../../../usr/share/nodejs/get-uri/dist/notfound.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var NotFoundError = class extends Error {
constructor(message) {
super(message || "File does not exist at the specified endpoint");
this.code = "ENOTFOUND";
}
};
exports2.default = NotFoundError;
}
});
// ../../../usr/share/nodejs/get-uri/dist/file.js
var require_file2 = __commonJS({
"../../../usr/share/nodejs/get-uri/dist/file.js"(exports2) {
"use strict";
var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
return mod && mod.__esModule ? mod : { "default": mod };
};
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.file = void 0;
var debug_1 = __importDefault2(require_src());
var fs_1 = require("fs");
var fs_extra_1 = require_lib();
var notfound_1 = __importDefault2(require_notfound());
var notmodified_1 = __importDefault2(require_notmodified());
var url_1 = require("url");
var debug2 = (0, debug_1.default)("get-uri:file");
var file = async ({ href: uri }, opts = {}) => {
const {
cache,
flags = "r",
mode = 438
// =0666
} = opts;
try {
const filepath = (0, url_1.fileURLToPath)(uri);
debug2("Normalized pathname: %o", filepath);
const fd = await (0, fs_extra_1.open)(filepath, flags, mode);
const stat = await (0, fs_extra_1.fstat)(fd);
if (cache && cache.stat && stat && isNotModified(cache.stat, stat)) {
throw new notmodified_1.default();
}
const rs = (0, fs_1.createReadStream)(null, {
autoClose: true,
...opts,
fd
});
rs.stat = stat;
return rs;
} catch (err) {
if (err.code === "ENOENT") {
throw new notfound_1.default();
}
throw err;
}
};
exports2.file = file;
function isNotModified(prev, curr) {
return +prev.mtime === +curr.mtime;
}
}
});
// ../../../usr/share/nodejs/basic-ftp/dist/parseControlResponse.js
var require_parseControlResponse = __commonJS({
"../../../usr/share/nodejs/basic-ftp/dist/parseControlResponse.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.positiveIntermediate = exports2.positiveCompletion = exports2.isMultiline = exports2.isSingleLine = exports2.parseControlResponse = void 0;
var LF = "\n";
function parseControlResponse(text) {
const lines = text.split(/\r?\n/).filter(isNotBlank);
const messages = [];
let startAt = 0;
let tokenRegex;
for (let i = 0; i < lines.length; i++) {
const line = lines[i];
if (!tokenRegex) {
if (isMultiline(line)) {
const token = line.substr(0, 3);
tokenRegex = new RegExp(`^${token}(?:$| )`);
startAt = i;
} else if (isSingleLine(line)) {
messages.push(line);
}
} else if (tokenRegex.test(line)) {
tokenRegex = void 0;
messages.push(lines.slice(startAt, i + 1).join(LF));
}
}
const rest = tokenRegex ? lines.slice(startAt).join(LF) + LF : "";
return { messages, rest };
}
exports2.parseControlResponse = parseControlResponse;
function isSingleLine(line) {
return /^\d\d\d(?:$| )/.test(line);
}
exports2.isSingleLine = isSingleLine;
function isMultiline(line) {
return /^\d\d\d-/.test(line);
}
exports2.isMultiline = isMultiline;
function positiveCompletion(code) {
return code >= 200 && code < 300;
}
exports2.positiveCompletion = positiveCompletion;
function positiveIntermediate(code) {
return code >= 300 && code < 400;
}
exports2.positiveIntermediate = positiveIntermediate;
function isNotBlank(str) {
return str.trim() !== "";
}
}
});
// ../../../usr/share/nodejs/basic-ftp/dist/FtpContext.js
var require_FtpContext = __commonJS({
"../../../usr/share/nodejs/basic-ftp/dist/FtpContext.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.FTPContext = exports2.FTPError = void 0;
var net_1 = require("net");
var parseControlResponse_1 = require_parseControlResponse();
var FTPError = class extends Error {
constructor(res) {
super(res.message);
this.name = this.constructor.name;
this.code = res.code;
}
};
exports2.FTPError = FTPError;
function doNothing() {
}
var FTPContext = class {
/**
* Instantiate an FTP context.
*
* @param timeout - Timeout in milliseconds to apply to control and data connections. Use 0 for no timeout.
* @param encoding - Encoding to use for control connection. UTF-8 by default. Use "latin1" for older servers.
*/
constructor(timeout = 0, encoding = "utf8") {
this.timeout = timeout;
this.verbose = false;
this.ipFamily = void 0;
this.tlsOptions = {};
this._partialResponse = "";
this._encoding = encoding;
this._socket = this.socket = this._newSocket();
this._dataSocket = void 0;
}
/**
* Close the context.
*/
close() {
const message = this._task ? "User closed client during task" : "User closed client";
const err = new Error(message);
this.closeWithError(err);
}
/**
* Close the context with an error.
*/
closeWithError(err) {
if (this._closingError) {
return;
}
this._closingError = err;
this._closeControlSocket();
this._closeSocket(this._dataSocket);
this._passToHandler(err);
this._stopTrackingTask();
}
/**
* Returns true if this context has been closed or hasn't been connected yet. You can reopen it with `access`.
*/
get closed() {
return this.socket.remoteAddress === void 0 || this._closingError !== void 0;
}
/**
* Reset this contex and all of its state.
*/
reset() {
this.socket = this._newSocket();
}
/**
* Get the FTP control socket.
*/
get socket() {
return this._socket;
}
/**
* Set the socket for the control connection. This will only close the current control socket
* if the new one is not an upgrade to the current one.
*/
set socket(socket) {
this.dataSocket = void 0;
this.tlsOptions = {};
this._partialResponse = "";
if (this._socket) {
const newSocketUpgradesExisting = socket.localPort === this._socket.localPort;
if (newSocketUpgradesExisting) {
this._removeSocketListeners(this.socket);
} else {
this._closeControlSocket();
}
}
if (socket) {
this._closingError = void 0;
socket.setTimeout(0);
socket.setEncoding(this._encoding);
socket.setKeepAlive(true);
socket.on("data", (data) => this._onControlSocketData(data));
socket.on("end", () => this.closeWithError(new Error("Server sent FIN packet unexpectedly, closing connection.")));
socket.on("close", (hadError) => {
if (!hadError)
this.closeWithError(new Error("Server closed connection unexpectedly."));
});
this._setupDefaultErrorHandlers(socket, "control socket");
}
this._socket = socket;
}
/**
* Get the current FTP data connection if present.
*/
get dataSocket() {
return this._dataSocket;
}
/**
* Set the socket for the data connection. This will automatically close the former data socket.
*/
set dataSocket(socket) {
this._closeSocket(this._dataSocket);
if (socket) {
socket.setTimeout(0);
this._setupDefaultErrorHandlers(socket, "data socket");
}
this._dataSocket = socket;
}
/**
* Get the currently used encoding.
*/
get encoding() {
return this._encoding;
}
/**
* Set the encoding used for the control socket.
*
* See https://nodejs.org/api/buffer.html#buffer_buffers_and_character_encodings for what encodings
* are supported by Node.
*/
set encoding(encoding) {
this._encoding = encoding;
if (this.socket) {
this.socket.setEncoding(encoding);
}
}
/**
* Send an FTP command without waiting for or handling the result.
*/
send(command) {
const containsPassword = command.startsWith("PASS");
const message = containsPassword ? "> PASS ###" : `> ${command}`;
this.log(message);
this._socket.write(command + "\r\n", this.encoding);
}
/**
* Send an FTP command and handle the first response. Use this if you have a simple
* request-response situation.
*/
request(command) {
return this.handle(command, (res, task) => {
if (res instanceof Error) {
task.reject(res);
} else {
task.resolve(res);
}
});
}
/**
* Send an FTP command and handle any response until you resolve/reject. Use this if you expect multiple responses
* to a request. This returns a Promise that will hold whatever the response handler passed on when resolving/rejecting its task.
*/
handle(command, responseHandler) {
if (this._task) {
const err = new Error("User launched a task while another one is still running. Forgot to use 'await' or '.then()'?");
err.stack += `
Running task launched at: ${this._task.stack}`;
this.closeWithError(err);
}
return new Promise((resolveTask, rejectTask) => {
this._task = {
stack: new Error().stack || "Unknown call stack",
responseHandler,
resolver: {
resolve: (arg) => {
this._stopTrackingTask();
resolveTask(arg);
},
reject: (err) => {
this._stopTrackingTask();
rejectTask(err);
}
}
};
if (this._closingError) {
const err = new Error(`Client is closed because ${this._closingError.message}`);
err.stack += `
Closing reason: ${this._closingError.stack}`;
err.code = this._closingError.code !== void 0 ? this._closingError.code : "0";
this._passToHandler(err);
return;
}
this.socket.setTimeout(this.timeout);
if (command) {
this.send(command);
}
});
}
/**
* Log message if set to be verbose.
*/
log(message) {
if (this.verbose) {
console.log(message);
}
}
/**
* Return true if the control socket is using TLS. This does not mean that a session
* has already been negotiated.
*/
get hasTLS() {
return "encrypted" in this._socket;
}
/**
* Removes reference to current task and handler. This won't resolve or reject the task.
* @protected
*/
_stopTrackingTask() {
this.socket.setTimeout(0);
this._task = void 0;
}
/**
* Handle incoming data on the control socket. The chunk is going to be of type `string`
* because we let `socket` handle encoding with `setEncoding`.
* @protected
*/
_onControlSocketData(chunk) {
this.log(`< ${chunk}`);
const completeResponse = this._partialResponse + chunk;
const parsed = (0, parseControlResponse_1.parseControlResponse)(completeResponse);
this._partialResponse = parsed.rest;
for (const message of parsed.messages) {
const code = parseInt(message.substr(0, 3), 10);
const response = { code, message };
const err = code >= 400 ? new FTPError(response) : void 0;
this._passToHandler(err ? err : response);
}
}
/**
* Send the current handler a response. This is usually a control socket response
* or a socket event, like an error or timeout.
* @protected
*/
_passToHandler(response) {
if (this._task) {
this._task.responseHandler(response, this._task.resolver);
}
}
/**
* Setup all error handlers for a socket.
* @protected
*/
_setupDefaultErrorHandlers(socket, identifier) {
socket.once("error", (error) => {
error.message += ` (${identifier})`;
this.closeWithError(error);
});
socket.once("close", (hadError) => {
if (hadError) {
this.closeWithError(new Error(`Socket closed due to transmission error (${identifier})`));
}
});
socket.once("timeout", () => {
socket.destroy();
this.closeWithError(new Error(`Timeout (${identifier})`));
});
}
/**
* Close the control socket. Sends QUIT, then FIN, and ignores any response or error.
*/
_closeControlSocket() {
this._removeSocketListeners(this._socket);
this._socket.on("error", doNothing);
this.send("QUIT");
this._closeSocket(this._socket);
}
/**
* Close a socket, ignores any error.
* @protected
*/
_closeSocket(socket) {
if (socket) {
this._removeSocketListeners(socket);
socket.on("error", doNothing);
socket.destroy();
}
}
/**
* Remove all default listeners for socket.
* @protected
*/
_removeSocketListeners(socket) {
socket.removeAllListeners();
socket.removeAllListeners("timeout");
socket.removeAllListeners("data");
socket.removeAllListeners("end");
socket.removeAllListeners("error");
socket.removeAllListeners("close");
socket.removeAllListeners("connect");
}
/**
* Provide a new socket instance.
*
* Internal use only, replaced for unit tests.
*/
_newSocket() {
return new net_1.Socket();
}
};
exports2.FTPContext = FTPContext;
}
});
// ../../../usr/share/nodejs/basic-ftp/dist/FileInfo.js
var require_FileInfo = __commonJS({
"../../../usr/share/nodejs/basic-ftp/dist/FileInfo.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.FileInfo = exports2.FileType = void 0;
var FileType;
(function(FileType2) {
FileType2[FileType2["Unknown"] = 0] = "Unknown";
FileType2[FileType2["File"] = 1] = "File";
FileType2[FileType2["Directory"] = 2] = "Directory";
FileType2[FileType2["SymbolicLink"] = 3] = "SymbolicLink";
})(FileType = exports2.FileType || (exports2.FileType = {}));
var FileInfo = class {
constructor(name) {
this.name = name;
this.type = FileType.Unknown;
this.size = 0;
this.rawModifiedAt = "";
this.modifiedAt = void 0;
this.permissions = void 0;
this.hardLinkCount = void 0;
this.link = void 0;
this.group = void 0;
this.user = void 0;
this.uniqueID = void 0;
this.name = name;
}
get isDirectory() {
return this.type === FileType.Directory;
}
get isSymbolicLink() {
return this.type === FileType.SymbolicLink;
}
get isFile() {
return this.type === FileType.File;
}
/**
* Deprecated, legacy API. Use `rawModifiedAt` instead.
* @deprecated
*/
get date() {
return this.rawModifiedAt;
}
set date(rawModifiedAt) {
this.rawModifiedAt = rawModifiedAt;
}
};
exports2.FileInfo = FileInfo;
FileInfo.UnixPermission = {
Read: 4,
Write: 2,
Execute: 1
};
}
});
// ../../../usr/share/nodejs/basic-ftp/dist/parseListDOS.js
var require_parseListDOS = __commonJS({
"../../../usr/share/nodejs/basic-ftp/dist/parseListDOS.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.transformList = exports2.parseLine = exports2.testLine = void 0;
var FileInfo_1 = require_FileInfo();
var RE_LINE = new RegExp(
"(\\S+)\\s+(\\S+)\\s+(?:(
)|([0-9]+))\\s+(\\S.*)"
// First non-space followed by rest of line (name)
);
function testLine(line) {
return /^\d{2}/.test(line) && RE_LINE.test(line);
}
exports2.testLine = testLine;
function parseLine(line) {
const groups = line.match(RE_LINE);
if (groups === null) {
return void 0;
}
const name = groups[5];
if (name === "." || name === "..") {
return void 0;
}
const file = new FileInfo_1.FileInfo(name);
const fileType = groups[3];
if (fileType === "") {
file.type = FileInfo_1.FileType.Directory;
file.size = 0;
} else {
file.type = FileInfo_1.FileType.File;
file.size = parseInt(groups[4], 10);
}
file.rawModifiedAt = groups[1] + " " + groups[2];
return file;
}
exports2.parseLine = parseLine;
function transformList(files) {
return files;
}
exports2.transformList = transformList;
}
});
// ../../../usr/share/nodejs/basic-ftp/dist/parseListUnix.js
var require_parseListUnix = __commonJS({
"../../../usr/share/nodejs/basic-ftp/dist/parseListUnix.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.transformList = exports2.parseLine = exports2.testLine = void 0;
var FileInfo_1 = require_FileInfo();
var JA_MONTH = "\u6708";
var JA_DAY = "\u65E5";
var JA_YEAR = "\u5E74";
var RE_LINE = new RegExp("([bcdelfmpSs-])(((r|-)(w|-)([xsStTL-]))((r|-)(w|-)([xsStTL-]))((r|-)(w|-)([xsStTL-]?)))\\+?\\s*(\\d+)\\s+(?:(\\S+(?:\\s\\S+)*?)\\s+)?(?:(\\S+(?:\\s\\S+)*)\\s+)?(\\d+(?:,\\s*\\d+)?)\\s+((?:\\d+[-/]\\d+[-/]\\d+)|(?:\\S{3}\\s+\\d{1,2})|(?:\\d{1,2}\\s+\\S{3})|(?:\\d{1,2}" + JA_MONTH + "\\s+\\d{1,2}" + JA_DAY + "))\\s+((?:\\d+(?::\\d+)?)|(?:\\d{4}" + JA_YEAR + "))\\s(.*)");
function testLine(line) {
return RE_LINE.test(line);
}
exports2.testLine = testLine;
function parseLine(line) {
const groups = line.match(RE_LINE);
if (groups === null) {
return void 0;
}
const name = groups[21];
if (name === "." || name === "..") {
return void 0;
}
const file = new FileInfo_1.FileInfo(name);
file.size = parseInt(groups[18], 10);
file.user = groups[16];
file.group = groups[17];
file.hardLinkCount = parseInt(groups[15], 10);
file.rawModifiedAt = groups[19] + " " + groups[20];
file.permissions = {
user: parseMode(groups[4], groups[5], groups[6]),
group: parseMode(groups[8], groups[9], groups[10]),
world: parseMode(groups[12], groups[13], groups[14])
};
switch (groups[1].charAt(0)) {
case "d":
file.type = FileInfo_1.FileType.Directory;
break;
case "e":
file.type = FileInfo_1.FileType.SymbolicLink;
break;
case "l":
file.type = FileInfo_1.FileType.SymbolicLink;
break;
case "b":
case "c":
file.type = FileInfo_1.FileType.File;
break;
case "f":
case "-":
file.type = FileInfo_1.FileType.File;
break;
default:
file.type = FileInfo_1.FileType.Unknown;
}
if (file.isSymbolicLink) {
const end = name.indexOf(" -> ");
if (end !== -1) {
file.name = name.substring(0, end);
file.link = name.substring(end + 4);
}
}
return file;
}
exports2.parseLine = parseLine;
function transformList(files) {
return files;
}
exports2.transformList = transformList;
function parseMode(r, w, x) {
let value = 0;
if (r !== "-") {
value += FileInfo_1.FileInfo.UnixPermission.Read;
}
if (w !== "-") {
value += FileInfo_1.FileInfo.UnixPermission.Write;
}
const execToken = x.charAt(0);
if (execToken !== "-" && execToken.toUpperCase() !== execToken) {
value += FileInfo_1.FileInfo.UnixPermission.Execute;
}
return value;
}
}
});
// ../../../usr/share/nodejs/basic-ftp/dist/parseListMLSD.js
var require_parseListMLSD = __commonJS({
"../../../usr/share/nodejs/basic-ftp/dist/parseListMLSD.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.parseMLSxDate = exports2.transformList = exports2.parseLine = exports2.testLine = void 0;
var FileInfo_1 = require_FileInfo();
function parseSize(value, info) {
info.size = parseInt(value, 10);
}
var factHandlersByName = {
"size": parseSize,
"sizd": parseSize,
"unique": (value, info) => {
info.uniqueID = value;
},
"modify": (value, info) => {
info.modifiedAt = parseMLSxDate(value);
info.rawModifiedAt = info.modifiedAt.toISOString();
},
"type": (value, info) => {
if (value.startsWith("OS.unix=slink")) {
info.type = FileInfo_1.FileType.SymbolicLink;
info.link = value.substr(value.indexOf(":") + 1);
return 1;
}
switch (value) {
case "file":
info.type = FileInfo_1.FileType.File;
break;
case "dir":
info.type = FileInfo_1.FileType.Directory;
break;
case "OS.unix=symlink":
info.type = FileInfo_1.FileType.SymbolicLink;
break;
case "cdir":
// Current directory being listed
case "pdir":
return 2;
// Don't include these entries in the listing
default:
info.type = FileInfo_1.FileType.Unknown;
}
return 1;
},
"unix.mode": (value, info) => {
const digits = value.substr(-3);
info.permissions = {
user: parseInt(digits[0], 10),
group: parseInt(digits[1], 10),
world: parseInt(digits[2], 10)
};
},
"unix.ownername": (value, info) => {
info.user = value;
},
"unix.owner": (value, info) => {
if (info.user === void 0)
info.user = value;
},
get "unix.uid"() {
return this["unix.owner"];
},
"unix.groupname": (value, info) => {
info.group = value;
},
"unix.group": (value, info) => {
if (info.group === void 0)
info.group = value;
},
get "unix.gid"() {
return this["unix.group"];
}
// Regarding the fact "perm":
// We don't handle permission information stored in "perm" because its information is conceptually
// different from what users of FTP clients usually associate with "permissions". Those that have
// some expectations (and probably want to edit them with a SITE command) often unknowingly expect
// the Unix permission system. The information passed by "perm" describes what FTP commands can be
// executed with a file/directory. But even this can be either incomplete or just meant as a "guide"
// as the spec mentions. From https://tools.ietf.org/html/rfc3659#section-7.5.5: "The permissions are
// described here as they apply to FTP commands. They may not map easily into particular permissions
// available on the server's operating system." The parser by Apache Commons tries to translate these
// to Unix permissions – this is misleading users and might not even be correct.
};
function splitStringOnce(str, delimiter) {
const pos = str.indexOf(delimiter);
const a = str.substr(0, pos);
const b = str.substr(pos + delimiter.length);
return [a, b];
}
function testLine(line) {
return /^\S+=\S+;/.test(line) || line.startsWith(" ");
}
exports2.testLine = testLine;
function parseLine(line) {
const [packedFacts, name] = splitStringOnce(line, " ");
if (name === "" || name === "." || name === "..") {
return void 0;
}
const info = new FileInfo_1.FileInfo(name);
const facts = packedFacts.split(";");
for (const fact of facts) {
const [factName, factValue] = splitStringOnce(fact, "=");
if (!factValue) {
continue;
}
const factHandler = factHandlersByName[factName.toLowerCase()];
if (!factHandler) {
continue;
}
const result = factHandler(factValue, info);
if (result === 2) {
return void 0;
}
}
return info;
}
exports2.parseLine = parseLine;
function transformList(files) {
const nonLinksByID = /* @__PURE__ */ new Map();
for (const file of files) {
if (!file.isSymbolicLink && file.uniqueID !== void 0) {
nonLinksByID.set(file.uniqueID, file);
}
}
const resolvedFiles = [];
for (const file of files) {
if (file.isSymbolicLink && file.uniqueID !== void 0 && file.link === void 0) {
const target = nonLinksByID.get(file.uniqueID);
if (target !== void 0) {
file.link = target.name;
}
}
const isPartOfDirectory = !file.name.includes("/");
if (isPartOfDirectory) {
resolvedFiles.push(file);
}
}
return resolvedFiles;
}
exports2.transformList = transformList;
function parseMLSxDate(fact) {
return new Date(Date.UTC(
+fact.slice(0, 4),
// Year
+fact.slice(4, 6) - 1,
// Month
+fact.slice(6, 8),
// Date
+fact.slice(8, 10),
// Hours
+fact.slice(10, 12),
// Minutes
+fact.slice(12, 14),
// Seconds
+fact.slice(15, 18)
// Milliseconds
));
}
exports2.parseMLSxDate = parseMLSxDate;
}
});
// ../../../usr/share/nodejs/basic-ftp/dist/parseList.js
var require_parseList = __commonJS({
"../../../usr/share/nodejs/basic-ftp/dist/parseList.js"(exports2) {
"use strict";
var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
if (k2 === void 0) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() {
return m[k];
} };
}
Object.defineProperty(o, k2, desc);
} : function(o, m, k, k2) {
if (k2 === void 0) k2 = k;
o[k2] = m[k];
});
var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
} : function(o, v) {
o["default"] = v;
});
var __importStar2 = exports2 && exports2.__importStar || function(mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) {
for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
}
__setModuleDefault2(result, mod);
return result;
};
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.parseList = void 0;
var dosParser = __importStar2(require_parseListDOS());
var unixParser = __importStar2(require_parseListUnix());
var mlsdParser = __importStar2(require_parseListMLSD());
var availableParsers = [
dosParser,
unixParser,
mlsdParser
// Keep MLSD last, may accept filename only
];
function firstCompatibleParser(line, parsers) {
return parsers.find((parser) => parser.testLine(line) === true);
}
function isNotBlank(str) {
return str.trim() !== "";
}
function isNotMeta(str) {
return !str.startsWith("total");
}
var REGEX_NEWLINE = /\r?\n/;
function parseList(rawList) {
const lines = rawList.split(REGEX_NEWLINE).filter(isNotBlank).filter(isNotMeta);
if (lines.length === 0) {
return [];
}
const testLine = lines[lines.length - 1];
const parser = firstCompatibleParser(testLine, availableParsers);
if (!parser) {
throw new Error("This library only supports MLSD, Unix- or DOS-style directory listing. Your FTP server seems to be using another format. You can see the transmitted listing when setting `client.ftp.verbose = true`. You can then provide a custom parser to `client.parseList`, see the documentation for details.");
}
const files = lines.map(parser.parseLine).filter((info) => info !== void 0);
return parser.transformList(files);
}
exports2.parseList = parseList;
}
});
// ../../../usr/share/nodejs/basic-ftp/dist/ProgressTracker.js
var require_ProgressTracker = __commonJS({
"../../../usr/share/nodejs/basic-ftp/dist/ProgressTracker.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.ProgressTracker = void 0;
var ProgressTracker = class {
constructor() {
this.bytesOverall = 0;
this.intervalMs = 500;
this.onStop = noop;
this.onHandle = noop;
}
/**
* Register a new handler for progress info. Use `undefined` to disable reporting.
*/
reportTo(onHandle = noop) {
this.onHandle = onHandle;
}
/**
* Start tracking transfer progress of a socket.
*
* @param socket The socket to observe.
* @param name A name associated with this progress tracking, e.g. a filename.
* @param type The type of the transfer, typically "upload" or "download".
*/
start(socket, name, type) {
let lastBytes = 0;
this.onStop = poll(this.intervalMs, () => {
const bytes = socket.bytesRead + socket.bytesWritten;
this.bytesOverall += bytes - lastBytes;
lastBytes = bytes;
this.onHandle({
name,
type,
bytes,
bytesOverall: this.bytesOverall
});
});
}
/**
* Stop tracking transfer progress.
*/
stop() {
this.onStop(false);
}
/**
* Call the progress handler one more time, then stop tracking.
*/
updateAndStop() {
this.onStop(true);
}
};
exports2.ProgressTracker = ProgressTracker;
function poll(intervalMs, updateFunc) {
const id = setInterval(updateFunc, intervalMs);
const stopFunc = (stopWithUpdate) => {
clearInterval(id);
if (stopWithUpdate) {
updateFunc();
}
updateFunc = noop;
};
updateFunc();
return stopFunc;
}
function noop() {
}
}
});
// ../../../usr/share/nodejs/basic-ftp/dist/StringWriter.js
var require_StringWriter = __commonJS({
"../../../usr/share/nodejs/basic-ftp/dist/StringWriter.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.StringWriter = void 0;
var stream_1 = require("stream");
var StringWriter = class extends stream_1.Writable {
constructor() {
super(...arguments);
this.buf = Buffer.alloc(0);
}
_write(chunk, _, callback) {
if (chunk instanceof Buffer) {
this.buf = Buffer.concat([this.buf, chunk]);
callback(null);
} else {
callback(new Error("StringWriter expects chunks of type 'Buffer'."));
}
}
getText(encoding) {
return this.buf.toString(encoding);
}
};
exports2.StringWriter = StringWriter;
}
});
// ../../../usr/share/nodejs/basic-ftp/dist/netUtils.js
var require_netUtils = __commonJS({
"../../../usr/share/nodejs/basic-ftp/dist/netUtils.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.ipIsPrivateV4Address = exports2.upgradeSocket = exports2.describeAddress = exports2.describeTLS = void 0;
var tls_1 = require("tls");
function describeTLS(socket) {
if (socket instanceof tls_1.TLSSocket) {
const protocol = socket.getProtocol();
return protocol ? protocol : "Server socket or disconnected client socket";
}
return "No encryption";
}
exports2.describeTLS = describeTLS;
function describeAddress(socket) {
if (socket.remoteFamily === "IPv6") {
return `[${socket.remoteAddress}]:${socket.remotePort}`;
}
return `${socket.remoteAddress}:${socket.remotePort}`;
}
exports2.describeAddress = describeAddress;
function upgradeSocket(socket, options) {
return new Promise((resolve, reject) => {
const tlsOptions = Object.assign({}, options, {
socket
});
const tlsSocket = (0, tls_1.connect)(tlsOptions, () => {
const expectCertificate = tlsOptions.rejectUnauthorized !== false;
if (expectCertificate && !tlsSocket.authorized) {
reject(tlsSocket.authorizationError);
} else {
tlsSocket.removeAllListeners("error");
resolve(tlsSocket);
}
}).once("error", (error) => {
reject(error);
});
});
}
exports2.upgradeSocket = upgradeSocket;
function ipIsPrivateV4Address(ip = "") {
if (ip.startsWith("::ffff:")) {
ip = ip.substr(7);
}
const octets = ip.split(".").map((o) => parseInt(o, 10));
return octets[0] === 10 || octets[0] === 172 && octets[1] >= 16 && octets[1] <= 31 || octets[0] === 192 && octets[1] === 168 || ip === "127.0.0.1";
}
exports2.ipIsPrivateV4Address = ipIsPrivateV4Address;
}
});
// ../../../usr/share/nodejs/basic-ftp/dist/transfer.js
var require_transfer = __commonJS({
"../../../usr/share/nodejs/basic-ftp/dist/transfer.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.downloadTo = exports2.uploadFrom = exports2.connectForPassiveTransfer = exports2.parsePasvResponse = exports2.enterPassiveModeIPv4 = exports2.parseEpsvResponse = exports2.enterPassiveModeIPv6 = void 0;
var netUtils_1 = require_netUtils();
var stream_1 = require("stream");
var tls_1 = require("tls");
var parseControlResponse_1 = require_parseControlResponse();
async function enterPassiveModeIPv6(ftp) {
const res = await ftp.request("EPSV");
const port = parseEpsvResponse(res.message);
if (!port) {
throw new Error("Can't parse EPSV response: " + res.message);
}
const controlHost = ftp.socket.remoteAddress;
if (controlHost === void 0) {
throw new Error("Control socket is disconnected, can't get remote address.");
}
await connectForPassiveTransfer(controlHost, port, ftp);
return res;
}
exports2.enterPassiveModeIPv6 = enterPassiveModeIPv6;
function parseEpsvResponse(message) {
const groups = message.match(/[|!]{3}(.+)[|!]/);
if (groups === null || groups[1] === void 0) {
throw new Error(`Can't parse response to 'EPSV': ${message}`);
}
const port = parseInt(groups[1], 10);
if (Number.isNaN(port)) {
throw new Error(`Can't parse response to 'EPSV', port is not a number: ${message}`);
}
return port;
}
exports2.parseEpsvResponse = parseEpsvResponse;
async function enterPassiveModeIPv4(ftp) {
const res = await ftp.request("PASV");
const target = parsePasvResponse(res.message);
if (!target) {
throw new Error("Can't parse PASV response: " + res.message);
}
const controlHost = ftp.socket.remoteAddress;
if ((0, netUtils_1.ipIsPrivateV4Address)(target.host) && controlHost && !(0, netUtils_1.ipIsPrivateV4Address)(controlHost)) {
target.host = controlHost;
}
await connectForPassiveTransfer(target.host, target.port, ftp);
return res;
}
exports2.enterPassiveModeIPv4 = enterPassiveModeIPv4;
function parsePasvResponse(message) {
const groups = message.match(/([-\d]+,[-\d]+,[-\d]+,[-\d]+),([-\d]+),([-\d]+)/);
if (groups === null || groups.length !== 4) {
throw new Error(`Can't parse response to 'PASV': ${message}`);
}
return {
host: groups[1].replace(/,/g, "."),
port: (parseInt(groups[2], 10) & 255) * 256 + (parseInt(groups[3], 10) & 255)
};
}
exports2.parsePasvResponse = parsePasvResponse;
function connectForPassiveTransfer(host, port, ftp) {
return new Promise((resolve, reject) => {
let socket = ftp._newSocket();
const handleConnErr = function(err) {
err.message = "Can't open data connection in passive mode: " + err.message;
reject(err);
};
const handleTimeout = function() {
socket.destroy();
reject(new Error(`Timeout when trying to open data connection to ${host}:${port}`));
};
socket.setTimeout(ftp.timeout);
socket.on("error", handleConnErr);
socket.on("timeout", handleTimeout);
socket.connect({ port, host, family: ftp.ipFamily }, () => {
if (ftp.socket instanceof tls_1.TLSSocket) {
socket = (0, tls_1.connect)(Object.assign({}, ftp.tlsOptions, {
socket,
// Reuse the TLS session negotiated earlier when the control connection
// was upgraded. Servers expect this because it provides additional
// security: If a completely new session would be negotiated, a hacker
// could guess the port and connect to the new data connection before we do
// by just starting his/her own TLS session.
session: ftp.socket.getSession()
}));
}
socket.removeListener("error", handleConnErr);
socket.removeListener("timeout", handleTimeout);
ftp.dataSocket = socket;
resolve();
});
});
}
exports2.connectForPassiveTransfer = connectForPassiveTransfer;
var TransferResolver = class {
/**
* Instantiate a TransferResolver
*/
constructor(ftp, progress) {
this.ftp = ftp;
this.progress = progress;
this.response = void 0;
this.dataTransferDone = false;
}
/**
* Mark the beginning of a transfer.
*
* @param name - Name of the transfer, usually the filename.
* @param type - Type of transfer, usually "upload" or "download".
*/
onDataStart(name, type) {
if (this.ftp.dataSocket === void 0) {
throw new Error("Data transfer should start but there is no data connection.");
}
this.ftp.socket.setTimeout(0);
this.ftp.dataSocket.setTimeout(this.ftp.timeout);
this.progress.start(this.ftp.dataSocket, name, type);
}
/**
* The data connection has finished the transfer.
*/
onDataDone(task) {
this.progress.updateAndStop();
this.ftp.socket.setTimeout(this.ftp.timeout);
if (this.ftp.dataSocket) {
this.ftp.dataSocket.setTimeout(0);
}
this.dataTransferDone = true;
this.tryResolve(task);
}
/**
* The control connection reports the transfer as finished.
*/
onControlDone(task, response) {
this.response = response;
this.tryResolve(task);
}
/**
* An error has been reported and the task should be rejected.
*/
onError(task, err) {
this.progress.updateAndStop();
this.ftp.socket.setTimeout(this.ftp.timeout);
this.ftp.dataSocket = void 0;
task.reject(err);
}
/**
* Control connection sent an unexpected request requiring a response from our part. We
* can't provide that (because unknown) and have to close the contrext with an error because
* the FTP server is now caught up in a state we can't resolve.
*/
onUnexpectedRequest(response) {
const err = new Error(`Unexpected FTP response is requesting an answer: ${response.message}`);
this.ftp.closeWithError(err);
}
tryResolve(task) {
const canResolve = this.dataTransferDone && this.response !== void 0;
if (canResolve) {
this.ftp.dataSocket = void 0;
task.resolve(this.response);
}
}
};
function uploadFrom(source, config) {
const resolver = new TransferResolver(config.ftp, config.tracker);
const fullCommand = `${config.command} ${config.remotePath}`;
return config.ftp.handle(fullCommand, (res, task) => {
if (res instanceof Error) {
resolver.onError(task, res);
} else if (res.code === 150 || res.code === 125) {
const dataSocket = config.ftp.dataSocket;
if (!dataSocket) {
resolver.onError(task, new Error("Upload should begin but no data connection is available."));
return;
}
const canUpload = "getCipher" in dataSocket ? dataSocket.getCipher() !== void 0 : true;
onConditionOrEvent(canUpload, dataSocket, "secureConnect", () => {
config.ftp.log(`Uploading to ${(0, netUtils_1.describeAddress)(dataSocket)} (${(0, netUtils_1.describeTLS)(dataSocket)})`);
resolver.onDataStart(config.remotePath, config.type);
(0, stream_1.pipeline)(source, dataSocket, (err) => {
if (err) {
resolver.onError(task, err);
} else {
resolver.onDataDone(task);
}
});
});
} else if ((0, parseControlResponse_1.positiveCompletion)(res.code)) {
resolver.onControlDone(task, res);
} else if ((0, parseControlResponse_1.positiveIntermediate)(res.code)) {
resolver.onUnexpectedRequest(res);
}
});
}
exports2.uploadFrom = uploadFrom;
function downloadTo(destination, config) {
if (!config.ftp.dataSocket) {
throw new Error("Download will be initiated but no data connection is available.");
}
const resolver = new TransferResolver(config.ftp, config.tracker);
return config.ftp.handle(config.command, (res, task) => {
if (res instanceof Error) {
resolver.onError(task, res);
} else if (res.code === 150 || res.code === 125) {
const dataSocket = config.ftp.dataSocket;
if (!dataSocket) {
resolver.onError(task, new Error("Download should begin but no data connection is available."));
return;
}
config.ftp.log(`Downloading from ${(0, netUtils_1.describeAddress)(dataSocket)} (${(0, netUtils_1.describeTLS)(dataSocket)})`);
resolver.onDataStart(config.remotePath, config.type);
(0, stream_1.pipeline)(dataSocket, destination, (err) => {
if (err) {
resolver.onError(task, err);
} else {
resolver.onDataDone(task);
}
});
} else if (res.code === 350) {
config.ftp.send("RETR " + config.remotePath);
} else if ((0, parseControlResponse_1.positiveCompletion)(res.code)) {
resolver.onControlDone(task, res);
} else if ((0, parseControlResponse_1.positiveIntermediate)(res.code)) {
resolver.onUnexpectedRequest(res);
}
});
}
exports2.downloadTo = downloadTo;
function onConditionOrEvent(condition, emitter, eventName, action) {
if (condition === true) {
action();
} else {
emitter.once(eventName, () => action());
}
}
}
});
// ../../../usr/share/nodejs/basic-ftp/dist/Client.js
var require_Client = __commonJS({
"../../../usr/share/nodejs/basic-ftp/dist/Client.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.Client = void 0;
var fs_1 = require("fs");
var path_1 = require("path");
var tls_1 = require("tls");
var util_1 = require("util");
var FtpContext_1 = require_FtpContext();
var parseList_1 = require_parseList();
var ProgressTracker_1 = require_ProgressTracker();
var StringWriter_1 = require_StringWriter();
var parseListMLSD_1 = require_parseListMLSD();
var netUtils_1 = require_netUtils();
var transfer_1 = require_transfer();
var parseControlResponse_1 = require_parseControlResponse();
var fsReadDir = (0, util_1.promisify)(fs_1.readdir);
var fsMkDir = (0, util_1.promisify)(fs_1.mkdir);
var fsStat = (0, util_1.promisify)(fs_1.stat);
var fsOpen = (0, util_1.promisify)(fs_1.open);
var fsClose = (0, util_1.promisify)(fs_1.close);
var fsUnlink = (0, util_1.promisify)(fs_1.unlink);
var LIST_COMMANDS_DEFAULT = () => ["LIST -a", "LIST"];
var LIST_COMMANDS_MLSD = () => ["MLSD", "LIST -a", "LIST"];
var Client = class {
/**
* Instantiate an FTP client.
*
* @param timeout Timeout in milliseconds, use 0 for no timeout. Optional, default is 30 seconds.
*/
constructor(timeout = 3e4) {
this.availableListCommands = LIST_COMMANDS_DEFAULT();
this.ftp = new FtpContext_1.FTPContext(timeout);
this.prepareTransfer = this._enterFirstCompatibleMode([transfer_1.enterPassiveModeIPv6, transfer_1.enterPassiveModeIPv4]);
this.parseList = parseList_1.parseList;
this._progressTracker = new ProgressTracker_1.ProgressTracker();
}
/**
* Close the client and all open socket connections.
*
* Close the client and all open socket connections. The client can’t be used anymore after calling this method,
* you have to either reconnect with `access` or `connect` or instantiate a new instance to continue any work.
* A client is also closed automatically if any timeout or connection error occurs.
*/
close() {
this.ftp.close();
this._progressTracker.stop();
}
/**
* Returns true if the client is closed and can't be used anymore.
*/
get closed() {
return this.ftp.closed;
}
/**
* Connect (or reconnect) to an FTP server.
*
* This is an instance method and thus can be called multiple times during the lifecycle of a `Client`
* instance. Whenever you do, the client is reset with a new control connection. This also implies that
* you can reopen a `Client` instance that has been closed due to an error when reconnecting with this
* method. In fact, reconnecting is the only way to continue using a closed `Client`.
*
* @param host Host the client should connect to. Optional, default is "localhost".
* @param port Port the client should connect to. Optional, default is 21.
*/
connect(host = "localhost", port = 21) {
this.ftp.reset();
this.ftp.socket.connect({
host,
port,
family: this.ftp.ipFamily
}, () => this.ftp.log(`Connected to ${(0, netUtils_1.describeAddress)(this.ftp.socket)} (${(0, netUtils_1.describeTLS)(this.ftp.socket)})`));
return this._handleConnectResponse();
}
/**
* As `connect` but using implicit TLS. Implicit TLS is not an FTP standard and has been replaced by
* explicit TLS. There are still FTP servers that support only implicit TLS, though.
*/
connectImplicitTLS(host = "localhost", port = 21, tlsOptions = {}) {
this.ftp.reset();
this.ftp.socket = (0, tls_1.connect)(port, host, tlsOptions, () => this.ftp.log(`Connected to ${(0, netUtils_1.describeAddress)(this.ftp.socket)} (${(0, netUtils_1.describeTLS)(this.ftp.socket)})`));
this.ftp.tlsOptions = tlsOptions;
return this._handleConnectResponse();
}
/**
* Handles the first reponse by an FTP server after the socket connection has been established.
*/
_handleConnectResponse() {
return this.ftp.handle(void 0, (res, task) => {
if (res instanceof Error) {
task.reject(res);
} else if ((0, parseControlResponse_1.positiveCompletion)(res.code)) {
task.resolve(res);
} else {
task.reject(new FtpContext_1.FTPError(res));
}
});
}
/**
* Send an FTP command and handle the first response.
*/
send(command, ignoreErrorCodesDEPRECATED = false) {
if (ignoreErrorCodesDEPRECATED) {
this.ftp.log("Deprecated call using send(command, flag) with boolean flag to ignore errors. Use sendIgnoringError(command).");
return this.sendIgnoringError(command);
}
return this.ftp.request(command);
}
/**
* Send an FTP command and ignore an FTP error response. Any other kind of error or timeout will still reject the Promise.
*
* @param command
*/
sendIgnoringError(command) {
return this.ftp.handle(command, (res, task) => {
if (res instanceof FtpContext_1.FTPError) {
task.resolve({ code: res.code, message: res.message });
} else if (res instanceof Error) {
task.reject(res);
} else {
task.resolve(res);
}
});
}
/**
* Upgrade the current socket connection to TLS.
*
* @param options TLS options as in `tls.connect(options)`, optional.
* @param command Set the authentication command. Optional, default is "AUTH TLS".
*/
async useTLS(options = {}, command = "AUTH TLS") {
const ret = await this.send(command);
this.ftp.socket = await (0, netUtils_1.upgradeSocket)(this.ftp.socket, options);
this.ftp.tlsOptions = options;
this.ftp.log(`Control socket is using: ${(0, netUtils_1.describeTLS)(this.ftp.socket)}`);
return ret;
}
/**
* Login a user with a password.
*
* @param user Username to use for login. Optional, default is "anonymous".
* @param password Password to use for login. Optional, default is "guest".
*/
login(user = "anonymous", password = "guest") {
this.ftp.log(`Login security: ${(0, netUtils_1.describeTLS)(this.ftp.socket)}`);
return this.ftp.handle("USER " + user, (res, task) => {
if (res instanceof Error) {
task.reject(res);
} else if ((0, parseControlResponse_1.positiveCompletion)(res.code)) {
task.resolve(res);
} else if (res.code === 331) {
this.ftp.send("PASS " + password);
} else {
task.reject(new FtpContext_1.FTPError(res));
}
});
}
/**
* Set the usual default settings.
*
* Settings used:
* * Binary mode (TYPE I)
* * File structure (STRU F)
* * Additional settings for FTPS (PBSZ 0, PROT P)
*/
async useDefaultSettings() {
const features = await this.features();
const supportsMLSD = features.has("MLST");
this.availableListCommands = supportsMLSD ? LIST_COMMANDS_MLSD() : LIST_COMMANDS_DEFAULT();
await this.send("TYPE I");
await this.sendIgnoringError("STRU F");
await this.sendIgnoringError("OPTS UTF8 ON");
if (supportsMLSD) {
await this.sendIgnoringError("OPTS MLST type;size;modify;unique;unix.mode;unix.owner;unix.group;unix.ownername;unix.groupname;");
}
if (this.ftp.hasTLS) {
await this.sendIgnoringError("PBSZ 0");
await this.sendIgnoringError("PROT P");
}
}
/**
* Convenience method that calls `connect`, `useTLS`, `login` and `useDefaultSettings`.
*
* This is an instance method and thus can be called multiple times during the lifecycle of a `Client`
* instance. Whenever you do, the client is reset with a new control connection. This also implies that
* you can reopen a `Client` instance that has been closed due to an error when reconnecting with this
* method. In fact, reconnecting is the only way to continue using a closed `Client`.
*/
async access(options = {}) {
var _a, _b;
const useExplicitTLS = options.secure === true;
const useImplicitTLS = options.secure === "implicit";
let welcome;
if (useImplicitTLS) {
welcome = await this.connectImplicitTLS(options.host, options.port, options.secureOptions);
} else {
welcome = await this.connect(options.host, options.port);
}
if (useExplicitTLS) {
const secureOptions = (_a = options.secureOptions) !== null && _a !== void 0 ? _a : {};
secureOptions.host = (_b = secureOptions.host) !== null && _b !== void 0 ? _b : options.host;
await this.useTLS(secureOptions);
}
await this.sendIgnoringError("OPTS UTF8 ON");
await this.login(options.user, options.password);
await this.useDefaultSettings();
return welcome;
}
/**
* Get the current working directory.
*/
async pwd() {
const res = await this.send("PWD");
const parsed = res.message.match(/"(.+)"/);
if (parsed === null || parsed[1] === void 0) {
throw new Error(`Can't parse response to command 'PWD': ${res.message}`);
}
return parsed[1];
}
/**
* Get a description of supported features.
*
* This sends the FEAT command and parses the result into a Map where keys correspond to available commands
* and values hold further information. Be aware that your FTP servers might not support this
* command in which case this method will not throw an exception but just return an empty Map.
*/
async features() {
const res = await this.sendIgnoringError("FEAT");
const features = /* @__PURE__ */ new Map();
if (res.code < 400 && (0, parseControlResponse_1.isMultiline)(res.message)) {
res.message.split("\n").slice(1, -1).forEach((line) => {
const entry = line.trim().split(" ");
features.set(entry[0], entry[1] || "");
});
}
return features;
}
/**
* Set the working directory.
*/
async cd(path10) {
const validPath = await this.protectWhitespace(path10);
return this.send("CWD " + validPath);
}
/**
* Switch to the parent directory of the working directory.
*/
async cdup() {
return this.send("CDUP");
}
/**
* Get the last modified time of a file. This is not supported by every FTP server, in which case
* calling this method will throw an exception.
*/
async lastMod(path10) {
const validPath = await this.protectWhitespace(path10);
const res = await this.send(`MDTM ${validPath}`);
const date = res.message.slice(4);
return (0, parseListMLSD_1.parseMLSxDate)(date);
}
/**
* Get the size of a file.
*/
async size(path10) {
const validPath = await this.protectWhitespace(path10);
const command = `SIZE ${validPath}`;
const res = await this.send(command);
const size = parseInt(res.message.slice(4), 10);
if (Number.isNaN(size)) {
throw new Error(`Can't parse response to command '${command}' as a numerical value: ${res.message}`);
}
return size;
}
/**
* Rename a file.
*
* Depending on the FTP server this might also be used to move a file from one
* directory to another by providing full paths.
*/
async rename(srcPath, destPath) {
const validSrc = await this.protectWhitespace(srcPath);
const validDest = await this.protectWhitespace(destPath);
await this.send("RNFR " + validSrc);
return this.send("RNTO " + validDest);
}
/**
* Remove a file from the current working directory.
*
* You can ignore FTP error return codes which won't throw an exception if e.g.
* the file doesn't exist.
*/
async remove(path10, ignoreErrorCodes = false) {
const validPath = await this.protectWhitespace(path10);
if (ignoreErrorCodes) {
return this.sendIgnoringError(`DELE ${validPath}`);
}
return this.send(`DELE ${validPath}`);
}
/**
* Report transfer progress for any upload or download to a given handler.
*
* This will also reset the overall transfer counter that can be used for multiple transfers. You can
* also call the function without a handler to stop reporting to an earlier one.
*
* @param handler Handler function to call on transfer progress.
*/
trackProgress(handler) {
this._progressTracker.bytesOverall = 0;
this._progressTracker.reportTo(handler);
}
/**
* Upload data from a readable stream or a local file to a remote file.
*
* @param source Readable stream or path to a local file.
* @param toRemotePath Path to a remote file to write to.
*/
async uploadFrom(source, toRemotePath, options = {}) {
return this._uploadWithCommand(source, toRemotePath, "STOR", options);
}
/**
* Upload data from a readable stream or a local file by appending it to an existing file. If the file doesn't
* exist the FTP server should create it.
*
* @param source Readable stream or path to a local file.
* @param toRemotePath Path to a remote file to write to.
*/
async appendFrom(source, toRemotePath, options = {}) {
return this._uploadWithCommand(source, toRemotePath, "APPE", options);
}
/**
* @protected
*/
async _uploadWithCommand(source, remotePath, command, options) {
if (typeof source === "string") {
return this._uploadLocalFile(source, remotePath, command, options);
}
return this._uploadFromStream(source, remotePath, command);
}
/**
* @protected
*/
async _uploadLocalFile(localPath, remotePath, command, options) {
const fd = await fsOpen(localPath, "r");
const source = (0, fs_1.createReadStream)("", {
fd,
start: options.localStart,
end: options.localEndInclusive,
autoClose: false
});
try {
return await this._uploadFromStream(source, remotePath, command);
} finally {
await ignoreError(() => fsClose(fd));
}
}
/**
* @protected
*/
async _uploadFromStream(source, remotePath, command) {
const onError = (err) => this.ftp.closeWithError(err);
source.once("error", onError);
try {
const validPath = await this.protectWhitespace(remotePath);
await this.prepareTransfer(this.ftp);
return await (0, transfer_1.uploadFrom)(source, {
ftp: this.ftp,
tracker: this._progressTracker,
command,
remotePath: validPath,
type: "upload"
});
} finally {
source.removeListener("error", onError);
}
}
/**
* Download a remote file and pipe its data to a writable stream or to a local file.
*
* You can optionally define at which position of the remote file you'd like to start
* downloading. If the destination you provide is a file, the offset will be applied
* to it as well. For example: To resume a failed download, you'd request the size of
* the local, partially downloaded file and use that as the offset. Assuming the size
* is 23, you'd download the rest using `downloadTo("local.txt", "remote.txt", 23)`.
*
* @param destination Stream or path for a local file to write to.
* @param fromRemotePath Path of the remote file to read from.
* @param startAt Position within the remote file to start downloading at. If the destination is a file, this offset is also applied to it.
*/
async downloadTo(destination, fromRemotePath, startAt = 0) {
if (typeof destination === "string") {
return this._downloadToFile(destination, fromRemotePath, startAt);
}
return this._downloadToStream(destination, fromRemotePath, startAt);
}
/**
* @protected
*/
async _downloadToFile(localPath, remotePath, startAt) {
const appendingToLocalFile = startAt > 0;
const fileSystemFlags = appendingToLocalFile ? "r+" : "w";
const fd = await fsOpen(localPath, fileSystemFlags);
const destination = (0, fs_1.createWriteStream)("", {
fd,
start: startAt,
autoClose: false
});
try {
return await this._downloadToStream(destination, remotePath, startAt);
} catch (err) {
const localFileStats = await ignoreError(() => fsStat(localPath));
const hasDownloadedData = localFileStats && localFileStats.size > 0;
const shouldRemoveLocalFile = !appendingToLocalFile && !hasDownloadedData;
if (shouldRemoveLocalFile) {
await ignoreError(() => fsUnlink(localPath));
}
throw err;
} finally {
await ignoreError(() => fsClose(fd));
}
}
/**
* @protected
*/
async _downloadToStream(destination, remotePath, startAt) {
const onError = (err) => this.ftp.closeWithError(err);
destination.once("error", onError);
try {
const validPath = await this.protectWhitespace(remotePath);
await this.prepareTransfer(this.ftp);
return await (0, transfer_1.downloadTo)(destination, {
ftp: this.ftp,
tracker: this._progressTracker,
command: startAt > 0 ? `REST ${startAt}` : `RETR ${validPath}`,
remotePath: validPath,
type: "download"
});
} finally {
destination.removeListener("error", onError);
destination.end();
}
}
/**
* List files and directories in the current working directory, or from `path` if specified.
*
* @param [path] Path to remote file or directory.
*/
async list(path10 = "") {
const validPath = await this.protectWhitespace(path10);
let lastError;
for (const candidate of this.availableListCommands) {
const command = validPath === "" ? candidate : `${candidate} ${validPath}`;
await this.prepareTransfer(this.ftp);
try {
const parsedList = await this._requestListWithCommand(command);
this.availableListCommands = [candidate];
return parsedList;
} catch (err) {
const shouldTryNext = err instanceof FtpContext_1.FTPError;
if (!shouldTryNext) {
throw err;
}
lastError = err;
}
}
throw lastError;
}
/**
* @protected
*/
async _requestListWithCommand(command) {
const buffer = new StringWriter_1.StringWriter();
await (0, transfer_1.downloadTo)(buffer, {
ftp: this.ftp,
tracker: this._progressTracker,
command,
remotePath: "",
type: "list"
});
const text = buffer.getText(this.ftp.encoding);
this.ftp.log(text);
return this.parseList(text);
}
/**
* Remove a directory and all of its content.
*
* @param remoteDirPath The path of the remote directory to delete.
* @example client.removeDir("foo") // Remove directory 'foo' using a relative path.
* @example client.removeDir("foo/bar") // Remove directory 'bar' using a relative path.
* @example client.removeDir("/foo/bar") // Remove directory 'bar' using an absolute path.
* @example client.removeDir("/") // Remove everything.
*/
async removeDir(remoteDirPath) {
return this._exitAtCurrentDirectory(async () => {
await this.cd(remoteDirPath);
const absoluteDirPath = await this.pwd();
await this.clearWorkingDir();
const dirIsRoot = absoluteDirPath === "/";
if (!dirIsRoot) {
await this.cdup();
await this.removeEmptyDir(absoluteDirPath);
}
});
}
/**
* Remove all files and directories in the working directory without removing
* the working directory itself.
*/
async clearWorkingDir() {
for (const file of await this.list()) {
if (file.isDirectory) {
await this.cd(file.name);
await this.clearWorkingDir();
await this.cdup();
await this.removeEmptyDir(file.name);
} else {
await this.remove(file.name);
}
}
}
/**
* Upload the contents of a local directory to the remote working directory.
*
* This will overwrite existing files with the same names and reuse existing directories.
* Unrelated files and directories will remain untouched. You can optionally provide a `remoteDirPath`
* to put the contents inside a directory which will be created if necessary including all
* intermediate directories. If you did provide a remoteDirPath the working directory will stay
* the same as before calling this method.
*
* @param localDirPath Local path, e.g. "foo/bar" or "../test"
* @param [remoteDirPath] Remote path of a directory to upload to. Working directory if undefined.
*/
async uploadFromDir(localDirPath, remoteDirPath) {
return this._exitAtCurrentDirectory(async () => {
if (remoteDirPath) {
await this.ensureDir(remoteDirPath);
}
return await this._uploadToWorkingDir(localDirPath);
});
}
/**
* @protected
*/
async _uploadToWorkingDir(localDirPath) {
const files = await fsReadDir(localDirPath);
for (const file of files) {
const fullPath = (0, path_1.join)(localDirPath, file);
const stats = await fsStat(fullPath);
if (stats.isFile()) {
await this.uploadFrom(fullPath, file);
} else if (stats.isDirectory()) {
await this._openDir(file);
await this._uploadToWorkingDir(fullPath);
await this.cdup();
}
}
}
/**
* Download all files and directories of the working directory to a local directory.
*
* @param localDirPath The local directory to download to.
* @param remoteDirPath Remote directory to download. Current working directory if not specified.
*/
async downloadToDir(localDirPath, remoteDirPath) {
return this._exitAtCurrentDirectory(async () => {
if (remoteDirPath) {
await this.cd(remoteDirPath);
}
return await this._downloadFromWorkingDir(localDirPath);
});
}
/**
* @protected
*/
async _downloadFromWorkingDir(localDirPath) {
await ensureLocalDirectory(localDirPath);
for (const file of await this.list()) {
const localPath = (0, path_1.join)(localDirPath, file.name);
if (file.isDirectory) {
await this.cd(file.name);
await this._downloadFromWorkingDir(localPath);
await this.cdup();
} else if (file.isFile) {
await this.downloadTo(localPath, file.name);
}
}
}
/**
* Make sure a given remote path exists, creating all directories as necessary.
* This function also changes the current working directory to the given path.
*/
async ensureDir(remoteDirPath) {
if (remoteDirPath.startsWith("/")) {
await this.cd("/");
}
const names = remoteDirPath.split("/").filter((name) => name !== "");
for (const name of names) {
await this._openDir(name);
}
}
/**
* Try to create a directory and enter it. This will not raise an exception if the directory
* couldn't be created if for example it already exists.
* @protected
*/
async _openDir(dirName) {
await this.sendIgnoringError("MKD " + dirName);
await this.cd(dirName);
}
/**
* Remove an empty directory, will fail if not empty.
*/
async removeEmptyDir(path10) {
const validPath = await this.protectWhitespace(path10);
return this.send(`RMD ${validPath}`);
}
/**
* FTP servers can't handle filenames that have leading whitespace. This method transforms
* a given path to fix that issue for most cases.
*/
async protectWhitespace(path10) {
if (!path10.startsWith(" ")) {
return path10;
}
const pwd = await this.pwd();
const absolutePathPrefix = pwd.endsWith("/") ? pwd : pwd + "/";
return absolutePathPrefix + path10;
}
async _exitAtCurrentDirectory(func) {
const userDir = await this.pwd();
try {
return await func();
} finally {
if (!this.closed) {
await ignoreError(() => this.cd(userDir));
}
}
}
/**
* Try all available transfer strategies and pick the first one that works. Update `client` to
* use the working strategy for all successive transfer requests.
*
* @returns a function that will try the provided strategies.
*/
_enterFirstCompatibleMode(strategies) {
return async (ftp) => {
ftp.log("Trying to find optimal transfer strategy...");
let lastError = void 0;
for (const strategy of strategies) {
try {
const res = await strategy(ftp);
ftp.log("Optimal transfer strategy found.");
this.prepareTransfer = strategy;
return res;
} catch (err) {
lastError = err;
}
}
throw new Error(`None of the available transfer strategies work. Last error response was '${lastError}'.`);
};
}
/**
* DEPRECATED, use `uploadFrom`.
* @deprecated
*/
async upload(source, toRemotePath, options = {}) {
this.ftp.log("Warning: upload() has been deprecated, use uploadFrom().");
return this.uploadFrom(source, toRemotePath, options);
}
/**
* DEPRECATED, use `appendFrom`.
* @deprecated
*/
async append(source, toRemotePath, options = {}) {
this.ftp.log("Warning: append() has been deprecated, use appendFrom().");
return this.appendFrom(source, toRemotePath, options);
}
/**
* DEPRECATED, use `downloadTo`.
* @deprecated
*/
async download(destination, fromRemotePath, startAt = 0) {
this.ftp.log("Warning: download() has been deprecated, use downloadTo().");
return this.downloadTo(destination, fromRemotePath, startAt);
}
/**
* DEPRECATED, use `uploadFromDir`.
* @deprecated
*/
async uploadDir(localDirPath, remoteDirPath) {
this.ftp.log("Warning: uploadDir() has been deprecated, use uploadFromDir().");
return this.uploadFromDir(localDirPath, remoteDirPath);
}
/**
* DEPRECATED, use `downloadToDir`.
* @deprecated
*/
async downloadDir(localDirPath) {
this.ftp.log("Warning: downloadDir() has been deprecated, use downloadToDir().");
return this.downloadToDir(localDirPath);
}
};
exports2.Client = Client;
async function ensureLocalDirectory(path10) {
try {
await fsStat(path10);
} catch (err) {
await fsMkDir(path10, { recursive: true });
}
}
async function ignoreError(func) {
try {
return await func();
} catch (err) {
return void 0;
}
}
}
});
// ../../../usr/share/nodejs/basic-ftp/dist/StringEncoding.js
var require_StringEncoding = __commonJS({
"../../../usr/share/nodejs/basic-ftp/dist/StringEncoding.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
}
});
// ../../../usr/share/nodejs/basic-ftp/dist/index.js
var require_dist5 = __commonJS({
"../../../usr/share/nodejs/basic-ftp/dist/index.js"(exports2) {
"use strict";
var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
if (k2 === void 0) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() {
return m[k];
} };
}
Object.defineProperty(o, k2, desc);
} : function(o, m, k, k2) {
if (k2 === void 0) k2 = k;
o[k2] = m[k];
});
var __exportStar2 = exports2 && exports2.__exportStar || function(m, exports3) {
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) __createBinding2(exports3, m, p);
};
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.enterPassiveModeIPv6 = exports2.enterPassiveModeIPv4 = void 0;
__exportStar2(require_Client(), exports2);
__exportStar2(require_FtpContext(), exports2);
__exportStar2(require_FileInfo(), exports2);
__exportStar2(require_parseList(), exports2);
__exportStar2(require_StringEncoding(), exports2);
var transfer_1 = require_transfer();
Object.defineProperty(exports2, "enterPassiveModeIPv4", { enumerable: true, get: function() {
return transfer_1.enterPassiveModeIPv4;
} });
Object.defineProperty(exports2, "enterPassiveModeIPv6", { enumerable: true, get: function() {
return transfer_1.enterPassiveModeIPv6;
} });
}
});
// ../../../usr/share/nodejs/get-uri/dist/ftp.js
var require_ftp = __commonJS({
"../../../usr/share/nodejs/get-uri/dist/ftp.js"(exports2) {
"use strict";
var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
return mod && mod.__esModule ? mod : { "default": mod };
};
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.ftp = void 0;
var basic_ftp_1 = require_dist5();
var stream_1 = require("stream");
var path_1 = require("path");
var debug_1 = __importDefault2(require_src());
var notfound_1 = __importDefault2(require_notfound());
var notmodified_1 = __importDefault2(require_notmodified());
var debug2 = (0, debug_1.default)("get-uri:ftp");
var ftp = async (url, opts = {}) => {
const { cache } = opts;
const filepath = decodeURIComponent(url.pathname);
let lastModified;
if (!filepath) {
throw new TypeError('No "pathname"!');
}
const client = new basic_ftp_1.Client();
try {
const host = url.hostname || url.host || "localhost";
const port = parseInt(url.port || "0", 10) || 21;
const user = url.username ? decodeURIComponent(url.username) : void 0;
const password = url.password ? decodeURIComponent(url.password) : void 0;
await client.access({
host,
port,
user,
password,
...opts
});
try {
lastModified = await client.lastMod(filepath);
} catch (err) {
if (err.code === 550) {
throw new notfound_1.default();
}
}
if (!lastModified) {
const list = await client.list((0, path_1.dirname)(filepath));
const name = (0, path_1.basename)(filepath);
const entry = list.find((e) => e.name === name);
if (entry) {
lastModified = entry.modifiedAt;
}
}
if (lastModified) {
if (isNotModified()) {
throw new notmodified_1.default();
}
} else {
throw new notfound_1.default();
}
const stream = new stream_1.PassThrough();
const rs = stream;
client.downloadTo(stream, filepath).then((result) => {
debug2(result.message);
client.close();
});
rs.lastModified = lastModified;
return rs;
} catch (err) {
client.close();
throw err;
}
function isNotModified() {
if (cache?.lastModified && lastModified) {
return +cache.lastModified === +lastModified;
}
return false;
}
};
exports2.ftp = ftp;
}
});
// ../../../usr/share/nodejs/get-uri/dist/http-error.js
var require_http_error = __commonJS({
"../../../usr/share/nodejs/get-uri/dist/http-error.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var http_1 = require("http");
var HTTPError = class extends Error {
constructor(statusCode, message = http_1.STATUS_CODES[statusCode]) {
super(message);
this.statusCode = statusCode;
this.code = `E${String(message).toUpperCase().replace(/\s+/g, "")}`;
}
};
exports2.default = HTTPError;
}
});
// ../../../usr/share/nodejs/get-uri/dist/http.js
var require_http = __commonJS({
"../../../usr/share/nodejs/get-uri/dist/http.js"(exports2) {
"use strict";
var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
return mod && mod.__esModule ? mod : { "default": mod };
};
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.http = void 0;
var http_1 = __importDefault2(require("http"));
var https_1 = __importDefault2(require("https"));
var events_1 = require("events");
var debug_1 = __importDefault2(require_src());
var http_error_1 = __importDefault2(require_http_error());
var notfound_1 = __importDefault2(require_notfound());
var notmodified_1 = __importDefault2(require_notmodified());
var debug2 = (0, debug_1.default)("get-uri:http");
var http = async (url, opts = {}) => {
debug2("GET %o", url.href);
const cache = getCache(url, opts.cache);
if (cache && isFresh(cache) && typeof cache.statusCode === "number") {
const type2 = cache.statusCode / 100 | 0;
if (type2 === 3 && cache.headers.location) {
debug2("cached redirect");
throw new Error("TODO: implement cached redirects!");
}
throw new notmodified_1.default();
}
const maxRedirects = typeof opts.maxRedirects === "number" ? opts.maxRedirects : 5;
debug2("allowing %o max redirects", maxRedirects);
let mod;
if (opts.http) {
mod = opts.http;
debug2("using secure `https` core module");
} else {
mod = http_1.default;
debug2("using `http` core module");
}
const options = { ...opts };
if (cache) {
if (!options.headers) {
options.headers = {};
}
const lastModified = cache.headers["last-modified"];
if (lastModified) {
options.headers["If-Modified-Since"] = lastModified;
debug2('added "If-Modified-Since" request header: %o', lastModified);
}
const etag = cache.headers.etag;
if (etag) {
options.headers["If-None-Match"] = etag;
debug2('added "If-None-Match" request header: %o', etag);
}
}
const req = mod.get(url, options);
const [res] = await (0, events_1.once)(req, "response");
const code = res.statusCode || 0;
res.date = Date.now();
res.parsed = url;
debug2("got %o response status code", code);
const type = code / 100 | 0;
const location = res.headers.location;
if (type === 3 && location) {
if (!opts.redirects)
opts.redirects = [];
const redirects = opts.redirects;
if (redirects.length < maxRedirects) {
debug2('got a "redirect" status code with Location: %o', location);
res.resume();
redirects.push(res);
const newUri = new URL(location, url.href);
debug2("resolved redirect URL: %o", newUri.href);
const left = maxRedirects - redirects.length;
debug2("%o more redirects allowed after this one", left);
if (newUri.protocol !== url.protocol) {
opts.http = newUri.protocol === "https:" ? https_1.default : void 0;
}
return (0, exports2.http)(newUri, opts);
}
}
if (type !== 2) {
res.resume();
if (code === 304) {
throw new notmodified_1.default();
} else if (code === 404) {
throw new notfound_1.default();
}
throw new http_error_1.default(code);
}
if (opts.redirects) {
res.redirects = opts.redirects;
}
return res;
};
exports2.http = http;
function isFresh(cache) {
let fresh = false;
let expires = parseInt(cache.headers.expires || "", 10);
const cacheControl = cache.headers["cache-control"];
if (cacheControl) {
debug2("Cache-Control: %o", cacheControl);
const parts = cacheControl.split(/,\s*?\b/);
for (let i = 0; i < parts.length; i++) {
const part = parts[i];
const subparts = part.split("=");
const name = subparts[0];
switch (name) {
case "max-age":
expires = (cache.date || 0) + parseInt(subparts[1], 10) * 1e3;
fresh = Date.now() < expires;
if (fresh) {
debug2('cache is "fresh" due to previous %o Cache-Control param', part);
}
return fresh;
case "must-revalidate":
break;
case "no-cache":
case "no-store":
debug2('cache is "stale" due to explicit %o Cache-Control param', name);
return false;
default:
break;
}
}
} else if (expires) {
debug2("Expires: %o", expires);
fresh = Date.now() < expires;
if (fresh) {
debug2('cache is "fresh" due to previous Expires response header');
}
return fresh;
}
return false;
}
function getCache(url, cache) {
if (cache) {
if (cache.parsed && cache.parsed.href === url.href) {
return cache;
}
if (cache.redirects) {
for (let i = 0; i < cache.redirects.length; i++) {
const c = getCache(url, cache.redirects[i]);
if (c) {
return c;
}
}
}
}
return null;
}
}
});
// ../../../usr/share/nodejs/get-uri/dist/https.js
var require_https = __commonJS({
"../../../usr/share/nodejs/get-uri/dist/https.js"(exports2) {
"use strict";
var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
return mod && mod.__esModule ? mod : { "default": mod };
};
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.https = void 0;
var https_1 = __importDefault2(require("https"));
var http_1 = require_http();
var https = (url, opts) => {
return (0, http_1.http)(url, { ...opts, http: https_1.default });
};
exports2.https = https;
}
});
// ../../../usr/share/nodejs/get-uri/dist/index.js
var require_dist6 = __commonJS({
"../../../usr/share/nodejs/get-uri/dist/index.js"(exports2) {
"use strict";
var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
return mod && mod.__esModule ? mod : { "default": mod };
};
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.getUri = exports2.isValidProtocol = exports2.protocols = void 0;
var debug_1 = __importDefault2(require_src());
var data_1 = require_data();
var file_1 = require_file2();
var ftp_1 = require_ftp();
var http_1 = require_http();
var https_1 = require_https();
var debug2 = (0, debug_1.default)("get-uri");
exports2.protocols = {
data: data_1.data,
file: file_1.file,
ftp: ftp_1.ftp,
http: http_1.http,
https: https_1.https
};
var VALID_PROTOCOLS = new Set(Object.keys(exports2.protocols));
function isValidProtocol(p) {
return VALID_PROTOCOLS.has(p);
}
exports2.isValidProtocol = isValidProtocol;
async function getUri(uri, opts) {
debug2("getUri(%o)", uri);
if (!uri) {
throw new TypeError('Must pass in a URI to "getUri()"');
}
const url = typeof uri === "string" ? new URL(uri) : uri;
const protocol = url.protocol.replace(/:$/, "");
if (!isValidProtocol(protocol)) {
throw new TypeError(`Unsupported protocol "${protocol}" specified in URI: "${uri}"`);
}
const getter = exports2.protocols[protocol];
return getter(url, opts);
}
exports2.getUri = getUri;
}
});
// ../../../usr/share/nodejs/estraverse/estraverse.js
var require_estraverse = __commonJS({
"../../../usr/share/nodejs/estraverse/estraverse.js"(exports2) {
(function clone(exports3) {
"use strict";
var Syntax, VisitorOption, VisitorKeys, BREAK, SKIP, REMOVE;
function deepCopy(obj) {
var ret = {}, key, val;
for (key in obj) {
if (obj.hasOwnProperty(key)) {
val = obj[key];
if (typeof val === "object" && val !== null) {
ret[key] = deepCopy(val);
} else {
ret[key] = val;
}
}
}
return ret;
}
function upperBound(array, func) {
var diff, len, i, current;
len = array.length;
i = 0;
while (len) {
diff = len >>> 1;
current = i + diff;
if (func(array[current])) {
len = diff;
} else {
i = current + 1;
len -= diff + 1;
}
}
return i;
}
Syntax = {
AssignmentExpression: "AssignmentExpression",
AssignmentPattern: "AssignmentPattern",
ArrayExpression: "ArrayExpression",
ArrayPattern: "ArrayPattern",
ArrowFunctionExpression: "ArrowFunctionExpression",
AwaitExpression: "AwaitExpression",
// CAUTION: It's deferred to ES7.
BlockStatement: "BlockStatement",
BinaryExpression: "BinaryExpression",
BreakStatement: "BreakStatement",
CallExpression: "CallExpression",
CatchClause: "CatchClause",
ChainExpression: "ChainExpression",
ClassBody: "ClassBody",
ClassDeclaration: "ClassDeclaration",
ClassExpression: "ClassExpression",
ComprehensionBlock: "ComprehensionBlock",
// CAUTION: It's deferred to ES7.
ComprehensionExpression: "ComprehensionExpression",
// CAUTION: It's deferred to ES7.
ConditionalExpression: "ConditionalExpression",
ContinueStatement: "ContinueStatement",
DebuggerStatement: "DebuggerStatement",
DirectiveStatement: "DirectiveStatement",
DoWhileStatement: "DoWhileStatement",
EmptyStatement: "EmptyStatement",
ExportAllDeclaration: "ExportAllDeclaration",
ExportDefaultDeclaration: "ExportDefaultDeclaration",
ExportNamedDeclaration: "ExportNamedDeclaration",
ExportSpecifier: "ExportSpecifier",
ExpressionStatement: "ExpressionStatement",
ForStatement: "ForStatement",
ForInStatement: "ForInStatement",
ForOfStatement: "ForOfStatement",
FunctionDeclaration: "FunctionDeclaration",
FunctionExpression: "FunctionExpression",
GeneratorExpression: "GeneratorExpression",
// CAUTION: It's deferred to ES7.
Identifier: "Identifier",
IfStatement: "IfStatement",
ImportExpression: "ImportExpression",
ImportDeclaration: "ImportDeclaration",
ImportDefaultSpecifier: "ImportDefaultSpecifier",
ImportNamespaceSpecifier: "ImportNamespaceSpecifier",
ImportSpecifier: "ImportSpecifier",
Literal: "Literal",
LabeledStatement: "LabeledStatement",
LogicalExpression: "LogicalExpression",
MemberExpression: "MemberExpression",
MetaProperty: "MetaProperty",
MethodDefinition: "MethodDefinition",
ModuleSpecifier: "ModuleSpecifier",
NewExpression: "NewExpression",
ObjectExpression: "ObjectExpression",
ObjectPattern: "ObjectPattern",
PrivateIdentifier: "PrivateIdentifier",
Program: "Program",
Property: "Property",
PropertyDefinition: "PropertyDefinition",
RestElement: "RestElement",
ReturnStatement: "ReturnStatement",
SequenceExpression: "SequenceExpression",
SpreadElement: "SpreadElement",
Super: "Super",
SwitchStatement: "SwitchStatement",
SwitchCase: "SwitchCase",
TaggedTemplateExpression: "TaggedTemplateExpression",
TemplateElement: "TemplateElement",
TemplateLiteral: "TemplateLiteral",
ThisExpression: "ThisExpression",
ThrowStatement: "ThrowStatement",
TryStatement: "TryStatement",
UnaryExpression: "UnaryExpression",
UpdateExpression: "UpdateExpression",
VariableDeclaration: "VariableDeclaration",
VariableDeclarator: "VariableDeclarator",
WhileStatement: "WhileStatement",
WithStatement: "WithStatement",
YieldExpression: "YieldExpression"
};
VisitorKeys = {
AssignmentExpression: ["left", "right"],
AssignmentPattern: ["left", "right"],
ArrayExpression: ["elements"],
ArrayPattern: ["elements"],
ArrowFunctionExpression: ["params", "body"],
AwaitExpression: ["argument"],
// CAUTION: It's deferred to ES7.
BlockStatement: ["body"],
BinaryExpression: ["left", "right"],
BreakStatement: ["label"],
CallExpression: ["callee", "arguments"],
CatchClause: ["param", "body"],
ChainExpression: ["expression"],
ClassBody: ["body"],
ClassDeclaration: ["id", "superClass", "body"],
ClassExpression: ["id", "superClass", "body"],
ComprehensionBlock: ["left", "right"],
// CAUTION: It's deferred to ES7.
ComprehensionExpression: ["blocks", "filter", "body"],
// CAUTION: It's deferred to ES7.
ConditionalExpression: ["test", "consequent", "alternate"],
ContinueStatement: ["label"],
DebuggerStatement: [],
DirectiveStatement: [],
DoWhileStatement: ["body", "test"],
EmptyStatement: [],
ExportAllDeclaration: ["source"],
ExportDefaultDeclaration: ["declaration"],
ExportNamedDeclaration: ["declaration", "specifiers", "source"],
ExportSpecifier: ["exported", "local"],
ExpressionStatement: ["expression"],
ForStatement: ["init", "test", "update", "body"],
ForInStatement: ["left", "right", "body"],
ForOfStatement: ["left", "right", "body"],
FunctionDeclaration: ["id", "params", "body"],
FunctionExpression: ["id", "params", "body"],
GeneratorExpression: ["blocks", "filter", "body"],
// CAUTION: It's deferred to ES7.
Identifier: [],
IfStatement: ["test", "consequent", "alternate"],
ImportExpression: ["source"],
ImportDeclaration: ["specifiers", "source"],
ImportDefaultSpecifier: ["local"],
ImportNamespaceSpecifier: ["local"],
ImportSpecifier: ["imported", "local"],
Literal: [],
LabeledStatement: ["label", "body"],
LogicalExpression: ["left", "right"],
MemberExpression: ["object", "property"],
MetaProperty: ["meta", "property"],
MethodDefinition: ["key", "value"],
ModuleSpecifier: [],
NewExpression: ["callee", "arguments"],
ObjectExpression: ["properties"],
ObjectPattern: ["properties"],
PrivateIdentifier: [],
Program: ["body"],
Property: ["key", "value"],
PropertyDefinition: ["key", "value"],
RestElement: ["argument"],
ReturnStatement: ["argument"],
SequenceExpression: ["expressions"],
SpreadElement: ["argument"],
Super: [],
SwitchStatement: ["discriminant", "cases"],
SwitchCase: ["test", "consequent"],
TaggedTemplateExpression: ["tag", "quasi"],
TemplateElement: [],
TemplateLiteral: ["quasis", "expressions"],
ThisExpression: [],
ThrowStatement: ["argument"],
TryStatement: ["block", "handler", "finalizer"],
UnaryExpression: ["argument"],
UpdateExpression: ["argument"],
VariableDeclaration: ["declarations"],
VariableDeclarator: ["id", "init"],
WhileStatement: ["test", "body"],
WithStatement: ["object", "body"],
YieldExpression: ["argument"]
};
BREAK = {};
SKIP = {};
REMOVE = {};
VisitorOption = {
Break: BREAK,
Skip: SKIP,
Remove: REMOVE
};
function Reference(parent, key) {
this.parent = parent;
this.key = key;
}
Reference.prototype.replace = function replace2(node) {
this.parent[this.key] = node;
};
Reference.prototype.remove = function remove() {
if (Array.isArray(this.parent)) {
this.parent.splice(this.key, 1);
return true;
} else {
this.replace(null);
return false;
}
};
function Element(node, path10, wrap, ref) {
this.node = node;
this.path = path10;
this.wrap = wrap;
this.ref = ref;
}
function Controller() {
}
Controller.prototype.path = function path10() {
var i, iz, j, jz, result, element;
function addToPath(result2, path11) {
if (Array.isArray(path11)) {
for (j = 0, jz = path11.length; j < jz; ++j) {
result2.push(path11[j]);
}
} else {
result2.push(path11);
}
}
if (!this.__current.path) {
return null;
}
result = [];
for (i = 2, iz = this.__leavelist.length; i < iz; ++i) {
element = this.__leavelist[i];
addToPath(result, element.path);
}
addToPath(result, this.__current.path);
return result;
};
Controller.prototype.type = function() {
var node = this.current();
return node.type || this.__current.wrap;
};
Controller.prototype.parents = function parents() {
var i, iz, result;
result = [];
for (i = 1, iz = this.__leavelist.length; i < iz; ++i) {
result.push(this.__leavelist[i].node);
}
return result;
};
Controller.prototype.current = function current() {
return this.__current.node;
};
Controller.prototype.__execute = function __execute(callback, element) {
var previous, result;
result = void 0;
previous = this.__current;
this.__current = element;
this.__state = null;
if (callback) {
result = callback.call(this, element.node, this.__leavelist[this.__leavelist.length - 1].node);
}
this.__current = previous;
return result;
};
Controller.prototype.notify = function notify(flag) {
this.__state = flag;
};
Controller.prototype.skip = function() {
this.notify(SKIP);
};
Controller.prototype["break"] = function() {
this.notify(BREAK);
};
Controller.prototype.remove = function() {
this.notify(REMOVE);
};
Controller.prototype.__initialize = function(root, visitor) {
this.visitor = visitor;
this.root = root;
this.__worklist = [];
this.__leavelist = [];
this.__current = null;
this.__state = null;
this.__fallback = null;
if (visitor.fallback === "iteration") {
this.__fallback = Object.keys;
} else if (typeof visitor.fallback === "function") {
this.__fallback = visitor.fallback;
}
this.__keys = VisitorKeys;
if (visitor.keys) {
this.__keys = Object.assign(Object.create(this.__keys), visitor.keys);
}
};
function isNode(node) {
if (node == null) {
return false;
}
return typeof node === "object" && typeof node.type === "string";
}
function isProperty(nodeType, key) {
return (nodeType === Syntax.ObjectExpression || nodeType === Syntax.ObjectPattern) && "properties" === key;
}
function candidateExistsInLeaveList(leavelist, candidate) {
for (var i = leavelist.length - 1; i >= 0; --i) {
if (leavelist[i].node === candidate) {
return true;
}
}
return false;
}
Controller.prototype.traverse = function traverse2(root, visitor) {
var worklist, leavelist, element, node, nodeType, ret, key, current, current2, candidates, candidate, sentinel;
this.__initialize(root, visitor);
sentinel = {};
worklist = this.__worklist;
leavelist = this.__leavelist;
worklist.push(new Element(root, null, null, null));
leavelist.push(new Element(null, null, null, null));
while (worklist.length) {
element = worklist.pop();
if (element === sentinel) {
element = leavelist.pop();
ret = this.__execute(visitor.leave, element);
if (this.__state === BREAK || ret === BREAK) {
return;
}
continue;
}
if (element.node) {
ret = this.__execute(visitor.enter, element);
if (this.__state === BREAK || ret === BREAK) {
return;
}
worklist.push(sentinel);
leavelist.push(element);
if (this.__state === SKIP || ret === SKIP) {
continue;
}
node = element.node;
nodeType = node.type || element.wrap;
candidates = this.__keys[nodeType];
if (!candidates) {
if (this.__fallback) {
candidates = this.__fallback(node);
} else {
throw new Error("Unknown node type " + nodeType + ".");
}
}
current = candidates.length;
while ((current -= 1) >= 0) {
key = candidates[current];
candidate = node[key];
if (!candidate) {
continue;
}
if (Array.isArray(candidate)) {
current2 = candidate.length;
while ((current2 -= 1) >= 0) {
if (!candidate[current2]) {
continue;
}
if (candidateExistsInLeaveList(leavelist, candidate[current2])) {
continue;
}
if (isProperty(nodeType, candidates[current])) {
element = new Element(candidate[current2], [key, current2], "Property", null);
} else if (isNode(candidate[current2])) {
element = new Element(candidate[current2], [key, current2], null, null);
} else {
continue;
}
worklist.push(element);
}
} else if (isNode(candidate)) {
if (candidateExistsInLeaveList(leavelist, candidate)) {
continue;
}
worklist.push(new Element(candidate, key, null, null));
}
}
}
}
};
Controller.prototype.replace = function replace2(root, visitor) {
var worklist, leavelist, node, nodeType, target, element, current, current2, candidates, candidate, sentinel, outer, key;
function removeElem(element2) {
var i, key2, nextElem, parent;
if (element2.ref.remove()) {
key2 = element2.ref.key;
parent = element2.ref.parent;
i = worklist.length;
while (i--) {
nextElem = worklist[i];
if (nextElem.ref && nextElem.ref.parent === parent) {
if (nextElem.ref.key < key2) {
break;
}
--nextElem.ref.key;
}
}
}
}
this.__initialize(root, visitor);
sentinel = {};
worklist = this.__worklist;
leavelist = this.__leavelist;
outer = {
root
};
element = new Element(root, null, null, new Reference(outer, "root"));
worklist.push(element);
leavelist.push(element);
while (worklist.length) {
element = worklist.pop();
if (element === sentinel) {
element = leavelist.pop();
target = this.__execute(visitor.leave, element);
if (target !== void 0 && target !== BREAK && target !== SKIP && target !== REMOVE) {
element.ref.replace(target);
}
if (this.__state === REMOVE || target === REMOVE) {
removeElem(element);
}
if (this.__state === BREAK || target === BREAK) {
return outer.root;
}
continue;
}
target = this.__execute(visitor.enter, element);
if (target !== void 0 && target !== BREAK && target !== SKIP && target !== REMOVE) {
element.ref.replace(target);
element.node = target;
}
if (this.__state === REMOVE || target === REMOVE) {
removeElem(element);
element.node = null;
}
if (this.__state === BREAK || target === BREAK) {
return outer.root;
}
node = element.node;
if (!node) {
continue;
}
worklist.push(sentinel);
leavelist.push(element);
if (this.__state === SKIP || target === SKIP) {
continue;
}
nodeType = node.type || element.wrap;
candidates = this.__keys[nodeType];
if (!candidates) {
if (this.__fallback) {
candidates = this.__fallback(node);
} else {
throw new Error("Unknown node type " + nodeType + ".");
}
}
current = candidates.length;
while ((current -= 1) >= 0) {
key = candidates[current];
candidate = node[key];
if (!candidate) {
continue;
}
if (Array.isArray(candidate)) {
current2 = candidate.length;
while ((current2 -= 1) >= 0) {
if (!candidate[current2]) {
continue;
}
if (isProperty(nodeType, candidates[current])) {
element = new Element(candidate[current2], [key, current2], "Property", new Reference(candidate, current2));
} else if (isNode(candidate[current2])) {
element = new Element(candidate[current2], [key, current2], null, new Reference(candidate, current2));
} else {
continue;
}
worklist.push(element);
}
} else if (isNode(candidate)) {
worklist.push(new Element(candidate, key, null, new Reference(node, key)));
}
}
}
return outer.root;
};
function traverse(root, visitor) {
var controller = new Controller();
return controller.traverse(root, visitor);
}
function replace(root, visitor) {
var controller = new Controller();
return controller.replace(root, visitor);
}
function extendCommentRange(comment, tokens) {
var target;
target = upperBound(tokens, function search(token) {
return token.range[0] > comment.range[0];
});
comment.extendedRange = [comment.range[0], comment.range[1]];
if (target !== tokens.length) {
comment.extendedRange[1] = tokens[target].range[0];
}
target -= 1;
if (target >= 0) {
comment.extendedRange[0] = tokens[target].range[1];
}
return comment;
}
function attachComments(tree, providedComments, tokens) {
var comments = [], comment, len, i, cursor;
if (!tree.range) {
throw new Error("attachComments needs range information");
}
if (!tokens.length) {
if (providedComments.length) {
for (i = 0, len = providedComments.length; i < len; i += 1) {
comment = deepCopy(providedComments[i]);
comment.extendedRange = [0, tree.range[0]];
comments.push(comment);
}
tree.leadingComments = comments;
}
return tree;
}
for (i = 0, len = providedComments.length; i < len; i += 1) {
comments.push(extendCommentRange(deepCopy(providedComments[i]), tokens));
}
cursor = 0;
traverse(tree, {
enter: function(node) {
var comment2;
while (cursor < comments.length) {
comment2 = comments[cursor];
if (comment2.extendedRange[1] > node.range[0]) {
break;
}
if (comment2.extendedRange[1] === node.range[0]) {
if (!node.leadingComments) {
node.leadingComments = [];
}
node.leadingComments.push(comment2);
comments.splice(cursor, 1);
} else {
cursor += 1;
}
}
if (cursor === comments.length) {
return VisitorOption.Break;
}
if (comments[cursor].extendedRange[0] > node.range[1]) {
return VisitorOption.Skip;
}
}
});
cursor = 0;
traverse(tree, {
leave: function(node) {
var comment2;
while (cursor < comments.length) {
comment2 = comments[cursor];
if (node.range[1] < comment2.extendedRange[0]) {
break;
}
if (node.range[1] === comment2.extendedRange[0]) {
if (!node.trailingComments) {
node.trailingComments = [];
}
node.trailingComments.push(comment2);
comments.splice(cursor, 1);
} else {
cursor += 1;
}
}
if (cursor === comments.length) {
return VisitorOption.Break;
}
if (comments[cursor].extendedRange[0] > node.range[1]) {
return VisitorOption.Skip;
}
}
});
return tree;
}
exports3.Syntax = Syntax;
exports3.traverse = traverse;
exports3.replace = replace;
exports3.attachComments = attachComments;
exports3.VisitorKeys = VisitorKeys;
exports3.VisitorOption = VisitorOption;
exports3.Controller = Controller;
exports3.cloneEnvironment = function() {
return clone({});
};
return exports3;
})(exports2);
}
});
// ../../../usr/share/nodejs/esutils/lib/ast.js
var require_ast = __commonJS({
"../../../usr/share/nodejs/esutils/lib/ast.js"(exports2, module2) {
(function() {
"use strict";
function isExpression(node) {
if (node == null) {
return false;
}
switch (node.type) {
case "ArrayExpression":
case "AssignmentExpression":
case "BinaryExpression":
case "CallExpression":
case "ConditionalExpression":
case "FunctionExpression":
case "Identifier":
case "Literal":
case "LogicalExpression":
case "MemberExpression":
case "NewExpression":
case "ObjectExpression":
case "SequenceExpression":
case "ThisExpression":
case "UnaryExpression":
case "UpdateExpression":
return true;
}
return false;
}
function isIterationStatement(node) {
if (node == null) {
return false;
}
switch (node.type) {
case "DoWhileStatement":
case "ForInStatement":
case "ForStatement":
case "WhileStatement":
return true;
}
return false;
}
function isStatement(node) {
if (node == null) {
return false;
}
switch (node.type) {
case "BlockStatement":
case "BreakStatement":
case "ContinueStatement":
case "DebuggerStatement":
case "DoWhileStatement":
case "EmptyStatement":
case "ExpressionStatement":
case "ForInStatement":
case "ForStatement":
case "IfStatement":
case "LabeledStatement":
case "ReturnStatement":
case "SwitchStatement":
case "ThrowStatement":
case "TryStatement":
case "VariableDeclaration":
case "WhileStatement":
case "WithStatement":
return true;
}
return false;
}
function isSourceElement(node) {
return isStatement(node) || node != null && node.type === "FunctionDeclaration";
}
function trailingStatement(node) {
switch (node.type) {
case "IfStatement":
if (node.alternate != null) {
return node.alternate;
}
return node.consequent;
case "LabeledStatement":
case "ForStatement":
case "ForInStatement":
case "WhileStatement":
case "WithStatement":
return node.body;
}
return null;
}
function isProblematicIfStatement(node) {
var current;
if (node.type !== "IfStatement") {
return false;
}
if (node.alternate == null) {
return false;
}
current = node.consequent;
do {
if (current.type === "IfStatement") {
if (current.alternate == null) {
return true;
}
}
current = trailingStatement(current);
} while (current);
return false;
}
module2.exports = {
isExpression,
isStatement,
isIterationStatement,
isSourceElement,
isProblematicIfStatement,
trailingStatement
};
})();
}
});
// ../../../usr/share/nodejs/esutils/lib/code.js
var require_code = __commonJS({
"../../../usr/share/nodejs/esutils/lib/code.js"(exports2, module2) {
(function() {
"use strict";
var ES6Regex, ES5Regex, NON_ASCII_WHITESPACES, IDENTIFIER_START, IDENTIFIER_PART, ch;
ES5Regex = {
// ECMAScript 5.1/Unicode v15.0.0 NonAsciiIdentifierStart:
NonAsciiIdentifierStart: /[\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\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\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\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\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-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\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\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\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-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CA\uA7D0\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\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-\uAB69\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]/,
// ECMAScript 5.1/Unicode v15.0.0 NonAsciiIdentifierPart:
NonAsciiIdentifierPart: /[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\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\u0870-\u0887\u0889-\u088E\u0898-\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\u0B55-\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\u0C3C-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C5D\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDD\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1-\u0CF3\u0D00-\u0D0C\u0D0E-\u0D10\u0D12-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D81-\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-\u0ECE\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\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u1715\u171F-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u180F-\u1819\u1820-\u1878\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1ABF-\u1ACE\u1B00-\u1B4C\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CD0-\u1CD2\u1CD4-\u1CFA\u1D00-\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\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\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\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CA\uA7D0\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\uA827\uA82C\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-\uAB69\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]/
};
ES6Regex = {
// ECMAScript 6/Unicode v15.0.0 NonAsciiIdentifierStart:
NonAsciiIdentifierStart: /[\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\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\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\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\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-\u1711\u171F-\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-\u1B4C\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-\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-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CA\uA7D0\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\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-\uAB69\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\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\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\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF1C\uDF27\uDF30-\uDF45\uDF70-\uDF81\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE3F\uDE40\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-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDEB8\uDF00-\uDF1A\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCDF\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\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\uDF02\uDF04-\uDF10\uDF12-\uDF33\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883\uD885-\uD887][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2F\uDC41-\uDC46]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE70-\uDEBE\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE7F\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD32\uDD50-\uDD52\uDD55\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]|\uD837[\uDF00-\uDF1E\uDF25-\uDF2A]|\uD838[\uDC30-\uDC6D\uDD00-\uDD2C\uDD37-\uDD3D\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB]|\uD839[\uDCD0-\uDCEB\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\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]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF39\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A\uDF50-\uDFFF]|\uD888[\uDC00-\uDFAF]/,
// ECMAScript 6/Unicode v15.0.0 NonAsciiIdentifierPart:
NonAsciiIdentifierPart: /[\xAA\xB5\xB7\xBA\xC0-\xD6\xD8-\xF6\xF8-\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\u0870-\u0887\u0889-\u088E\u0898-\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\u0B55-\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\u0C3C-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C5D\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDD\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1-\u0CF3\u0D00-\u0D0C\u0D0E-\u0D10\u0D12-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D81-\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-\u0ECE\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-\u1715\u171F-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u180F-\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\u1ABF-\u1ACE\u1B00-\u1B4C\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CD0-\u1CD2\u1CD4-\u1CFA\u1D00-\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\u200C\u200D\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-\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-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CA\uA7D0\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\uA827\uA82C\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-\uAB69\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\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\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\uDE80-\uDEA9\uDEAB\uDEAC\uDEB0\uDEB1\uDEFD-\uDF1C\uDF27\uDF30-\uDF50\uDF70-\uDF85\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC00-\uDC46\uDC66-\uDC75\uDC7F-\uDCBA\uDCC2\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD44-\uDD47\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDC9-\uDDCC\uDDCE-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E-\uDE41\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-\uDC61\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\uDF40-\uDF46]|\uD806[\uDC00-\uDC3A\uDCA0-\uDCE9\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD35\uDD37\uDD38\uDD3B-\uDD43\uDD50-\uDD59\uDDA0-\uDDA7\uDDAA-\uDDD7\uDDDA-\uDDE1\uDDE3\uDDE4\uDE00-\uDE3E\uDE47\uDE50-\uDE99\uDE9D\uDEB0-\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\uDF00-\uDF10\uDF12-\uDF3A\uDF3E-\uDF42\uDF50-\uDF59\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883\uD885-\uD887][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2F\uDC40-\uDC55]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDE70-\uDEBE\uDEC0-\uDEC9\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\uDFE4\uDFF0\uDFF1]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD32\uDD50-\uDD52\uDD55\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD833[\uDF00-\uDF2D\uDF30-\uDF46]|\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]|\uD837[\uDF00-\uDF1E\uDF25-\uDF2A]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A\uDC30-\uDC6D\uDC8F\uDD00-\uDD2C\uDD30-\uDD3D\uDD40-\uDD49\uDD4E\uDE90-\uDEAE\uDEC0-\uDEF9]|\uD839[\uDCD0-\uDCF9\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\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]|\uD83E[\uDFF0-\uDFF9]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF39\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A\uDF50-\uDFFF]|\uD888[\uDC00-\uDFAF]|\uDB40[\uDD00-\uDDEF]/
};
function isDecimalDigit(ch2) {
return 48 <= ch2 && ch2 <= 57;
}
function isHexDigit(ch2) {
return 48 <= ch2 && ch2 <= 57 || // 0..9
97 <= ch2 && ch2 <= 102 || // a..f
65 <= ch2 && ch2 <= 70;
}
function isOctalDigit(ch2) {
return ch2 >= 48 && ch2 <= 55;
}
NON_ASCII_WHITESPACES = [
5760,
8192,
8193,
8194,
8195,
8196,
8197,
8198,
8199,
8200,
8201,
8202,
8239,
8287,
12288,
65279
];
function isWhiteSpace(ch2) {
return ch2 === 32 || ch2 === 9 || ch2 === 11 || ch2 === 12 || ch2 === 160 || ch2 >= 5760 && NON_ASCII_WHITESPACES.indexOf(ch2) >= 0;
}
function isLineTerminator(ch2) {
return ch2 === 10 || ch2 === 13 || ch2 === 8232 || ch2 === 8233;
}
function fromCodePoint(cp) {
if (cp <= 65535) {
return String.fromCharCode(cp);
}
var cu1 = String.fromCharCode(Math.floor((cp - 65536) / 1024) + 55296);
var cu2 = String.fromCharCode((cp - 65536) % 1024 + 56320);
return cu1 + cu2;
}
IDENTIFIER_START = new Array(128);
for (ch = 0; ch < 128; ++ch) {
IDENTIFIER_START[ch] = ch >= 97 && ch <= 122 || // a..z
ch >= 65 && ch <= 90 || // A..Z
ch === 36 || ch === 95;
}
IDENTIFIER_PART = new Array(128);
for (ch = 0; ch < 128; ++ch) {
IDENTIFIER_PART[ch] = ch >= 97 && ch <= 122 || // a..z
ch >= 65 && ch <= 90 || // A..Z
ch >= 48 && ch <= 57 || // 0..9
ch === 36 || ch === 95;
}
function isIdentifierStartES5(ch2) {
return ch2 < 128 ? IDENTIFIER_START[ch2] : ES5Regex.NonAsciiIdentifierStart.test(fromCodePoint(ch2));
}
function isIdentifierPartES5(ch2) {
return ch2 < 128 ? IDENTIFIER_PART[ch2] : ES5Regex.NonAsciiIdentifierPart.test(fromCodePoint(ch2));
}
function isIdentifierStartES6(ch2) {
return ch2 < 128 ? IDENTIFIER_START[ch2] : ES6Regex.NonAsciiIdentifierStart.test(fromCodePoint(ch2));
}
function isIdentifierPartES6(ch2) {
return ch2 < 128 ? IDENTIFIER_PART[ch2] : ES6Regex.NonAsciiIdentifierPart.test(fromCodePoint(ch2));
}
module2.exports = {
isDecimalDigit,
isHexDigit,
isOctalDigit,
isWhiteSpace,
isLineTerminator,
isIdentifierStartES5,
isIdentifierPartES5,
isIdentifierStartES6,
isIdentifierPartES6
};
})();
}
});
// ../../../usr/share/nodejs/esutils/lib/keyword.js
var require_keyword = __commonJS({
"../../../usr/share/nodejs/esutils/lib/keyword.js"(exports2, module2) {
(function() {
"use strict";
var code = require_code();
function isStrictModeReservedWordES6(id) {
switch (id) {
case "implements":
case "interface":
case "package":
case "private":
case "protected":
case "public":
case "static":
case "let":
return true;
default:
return false;
}
}
function isKeywordES5(id, strict) {
if (!strict && id === "yield") {
return false;
}
return isKeywordES6(id, strict);
}
function isKeywordES6(id, strict) {
if (strict && isStrictModeReservedWordES6(id)) {
return true;
}
switch (id.length) {
case 2:
return id === "if" || id === "in" || id === "do";
case 3:
return id === "var" || id === "for" || id === "new" || id === "try";
case 4:
return id === "this" || id === "else" || id === "case" || id === "void" || id === "with" || id === "enum";
case 5:
return id === "while" || id === "break" || id === "catch" || id === "throw" || id === "const" || id === "yield" || id === "class" || id === "super";
case 6:
return id === "return" || id === "typeof" || id === "delete" || id === "switch" || id === "export" || id === "import";
case 7:
return id === "default" || id === "finally" || id === "extends";
case 8:
return id === "function" || id === "continue" || id === "debugger";
case 10:
return id === "instanceof";
default:
return false;
}
}
function isReservedWordES5(id, strict) {
return id === "null" || id === "true" || id === "false" || isKeywordES5(id, strict);
}
function isReservedWordES6(id, strict) {
return id === "null" || id === "true" || id === "false" || isKeywordES6(id, strict);
}
function isRestrictedWord(id) {
return id === "eval" || id === "arguments";
}
function isIdentifierNameES5(id) {
var i, iz, ch;
if (id.length === 0) {
return false;
}
ch = id.charCodeAt(0);
if (!code.isIdentifierStartES5(ch)) {
return false;
}
for (i = 1, iz = id.length; i < iz; ++i) {
ch = id.charCodeAt(i);
if (!code.isIdentifierPartES5(ch)) {
return false;
}
}
return true;
}
function decodeUtf16(lead, trail) {
return (lead - 55296) * 1024 + (trail - 56320) + 65536;
}
function isIdentifierNameES6(id) {
var i, iz, ch, lowCh, check;
if (id.length === 0) {
return false;
}
check = code.isIdentifierStartES6;
for (i = 0, iz = id.length; i < iz; ++i) {
ch = id.charCodeAt(i);
if (55296 <= ch && ch <= 56319) {
++i;
if (i >= iz) {
return false;
}
lowCh = id.charCodeAt(i);
if (!(56320 <= lowCh && lowCh <= 57343)) {
return false;
}
ch = decodeUtf16(ch, lowCh);
}
if (!check(ch)) {
return false;
}
check = code.isIdentifierPartES6;
}
return true;
}
function isIdentifierES5(id, strict) {
return isIdentifierNameES5(id) && !isReservedWordES5(id, strict);
}
function isIdentifierES6(id, strict) {
return isIdentifierNameES6(id) && !isReservedWordES6(id, strict);
}
module2.exports = {
isKeywordES5,
isKeywordES6,
isReservedWordES5,
isReservedWordES6,
isRestrictedWord,
isIdentifierNameES5,
isIdentifierNameES6,
isIdentifierES5,
isIdentifierES6
};
})();
}
});
// ../../../usr/share/nodejs/esutils/lib/utils.js
var require_utils4 = __commonJS({
"../../../usr/share/nodejs/esutils/lib/utils.js"(exports2) {
(function() {
"use strict";
exports2.ast = require_ast();
exports2.code = require_code();
exports2.keyword = require_keyword();
})();
}
});
// ../../../usr/share/nodejs/source-map/lib/base64.js
var require_base64 = __commonJS({
"../../../usr/share/nodejs/source-map/lib/base64.js"(exports2) {
var intToCharMap = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split("");
exports2.encode = function(number) {
if (0 <= number && number < intToCharMap.length) {
return intToCharMap[number];
}
throw new TypeError("Must be between 0 and 63: " + number);
};
exports2.decode = function(charCode) {
var bigA = 65;
var bigZ = 90;
var littleA = 97;
var littleZ = 122;
var zero = 48;
var nine = 57;
var plus = 43;
var slash = 47;
var littleOffset = 26;
var numberOffset = 52;
if (bigA <= charCode && charCode <= bigZ) {
return charCode - bigA;
}
if (littleA <= charCode && charCode <= littleZ) {
return charCode - littleA + littleOffset;
}
if (zero <= charCode && charCode <= nine) {
return charCode - zero + numberOffset;
}
if (charCode == plus) {
return 62;
}
if (charCode == slash) {
return 63;
}
return -1;
};
}
});
// ../../../usr/share/nodejs/source-map/lib/base64-vlq.js
var require_base64_vlq = __commonJS({
"../../../usr/share/nodejs/source-map/lib/base64-vlq.js"(exports2) {
var base64 = require_base64();
var VLQ_BASE_SHIFT = 5;
var VLQ_BASE = 1 << VLQ_BASE_SHIFT;
var VLQ_BASE_MASK = VLQ_BASE - 1;
var VLQ_CONTINUATION_BIT = VLQ_BASE;
function toVLQSigned(aValue) {
return aValue < 0 ? (-aValue << 1) + 1 : (aValue << 1) + 0;
}
function fromVLQSigned(aValue) {
var isNegative2 = (aValue & 1) === 1;
var shifted = aValue >> 1;
return isNegative2 ? -shifted : shifted;
}
exports2.encode = function base64VLQ_encode(aValue) {
var encoded = "";
var digit;
var vlq = toVLQSigned(aValue);
do {
digit = vlq & VLQ_BASE_MASK;
vlq >>>= VLQ_BASE_SHIFT;
if (vlq > 0) {
digit |= VLQ_CONTINUATION_BIT;
}
encoded += base64.encode(digit);
} while (vlq > 0);
return encoded;
};
exports2.decode = function base64VLQ_decode(aStr, aIndex, aOutParam) {
var strLen = aStr.length;
var result = 0;
var shift = 0;
var continuation, digit;
do {
if (aIndex >= strLen) {
throw new Error("Expected more digits in base 64 VLQ value.");
}
digit = base64.decode(aStr.charCodeAt(aIndex++));
if (digit === -1) {
throw new Error("Invalid base64 digit: " + aStr.charAt(aIndex - 1));
}
continuation = !!(digit & VLQ_CONTINUATION_BIT);
digit &= VLQ_BASE_MASK;
result = result + (digit << shift);
shift += VLQ_BASE_SHIFT;
} while (continuation);
aOutParam.value = fromVLQSigned(result);
aOutParam.rest = aIndex;
};
}
});
// ../../../usr/share/nodejs/source-map/lib/util.js
var require_util2 = __commonJS({
"../../../usr/share/nodejs/source-map/lib/util.js"(exports2) {
function getArg(aArgs, aName, aDefaultValue) {
if (aName in aArgs) {
return aArgs[aName];
} else if (arguments.length === 3) {
return aDefaultValue;
} else {
throw new Error('"' + aName + '" is a required argument.');
}
}
exports2.getArg = getArg;
var urlRegexp = /^(?:([\w+\-.]+):)?\/\/(?:(\w+:\w+)@)?([\w.-]*)(?::(\d+))?(.*)$/;
var dataUrlRegexp = /^data:.+\,.+$/;
function urlParse(aUrl) {
var match = aUrl.match(urlRegexp);
if (!match) {
return null;
}
return {
scheme: match[1],
auth: match[2],
host: match[3],
port: match[4],
path: match[5]
};
}
exports2.urlParse = urlParse;
function urlGenerate(aParsedUrl) {
var url = "";
if (aParsedUrl.scheme) {
url += aParsedUrl.scheme + ":";
}
url += "//";
if (aParsedUrl.auth) {
url += aParsedUrl.auth + "@";
}
if (aParsedUrl.host) {
url += aParsedUrl.host;
}
if (aParsedUrl.port) {
url += ":" + aParsedUrl.port;
}
if (aParsedUrl.path) {
url += aParsedUrl.path;
}
return url;
}
exports2.urlGenerate = urlGenerate;
function normalize(aPath) {
var path10 = aPath;
var url = urlParse(aPath);
if (url) {
if (!url.path) {
return aPath;
}
path10 = url.path;
}
var isAbsolute = exports2.isAbsolute(path10);
var parts = path10.split(/\/+/);
for (var part, up = 0, i = parts.length - 1; i >= 0; i--) {
part = parts[i];
if (part === ".") {
parts.splice(i, 1);
} else if (part === "..") {
up++;
} else if (up > 0) {
if (part === "") {
parts.splice(i + 1, up);
up = 0;
} else {
parts.splice(i, 2);
up--;
}
}
}
path10 = parts.join("/");
if (path10 === "") {
path10 = isAbsolute ? "/" : ".";
}
if (url) {
url.path = path10;
return urlGenerate(url);
}
return path10;
}
exports2.normalize = normalize;
function join2(aRoot, aPath) {
if (aRoot === "") {
aRoot = ".";
}
if (aPath === "") {
aPath = ".";
}
var aPathUrl = urlParse(aPath);
var aRootUrl = urlParse(aRoot);
if (aRootUrl) {
aRoot = aRootUrl.path || "/";
}
if (aPathUrl && !aPathUrl.scheme) {
if (aRootUrl) {
aPathUrl.scheme = aRootUrl.scheme;
}
return urlGenerate(aPathUrl);
}
if (aPathUrl || aPath.match(dataUrlRegexp)) {
return aPath;
}
if (aRootUrl && !aRootUrl.host && !aRootUrl.path) {
aRootUrl.host = aPath;
return urlGenerate(aRootUrl);
}
var joined = aPath.charAt(0) === "/" ? aPath : normalize(aRoot.replace(/\/+$/, "") + "/" + aPath);
if (aRootUrl) {
aRootUrl.path = joined;
return urlGenerate(aRootUrl);
}
return joined;
}
exports2.join = join2;
exports2.isAbsolute = function(aPath) {
return aPath.charAt(0) === "/" || urlRegexp.test(aPath);
};
function relative(aRoot, aPath) {
if (aRoot === "") {
aRoot = ".";
}
aRoot = aRoot.replace(/\/$/, "");
var level = 0;
while (aPath.indexOf(aRoot + "/") !== 0) {
var index = aRoot.lastIndexOf("/");
if (index < 0) {
return aPath;
}
aRoot = aRoot.slice(0, index);
if (aRoot.match(/^([^\/]+:\/)?\/*$/)) {
return aPath;
}
++level;
}
return Array(level + 1).join("../") + aPath.substr(aRoot.length + 1);
}
exports2.relative = relative;
var supportsNullProto = function() {
var obj = /* @__PURE__ */ Object.create(null);
return !("__proto__" in obj);
}();
function identity(s) {
return s;
}
function toSetString(aStr) {
if (isProtoString(aStr)) {
return "$" + aStr;
}
return aStr;
}
exports2.toSetString = supportsNullProto ? identity : toSetString;
function fromSetString(aStr) {
if (isProtoString(aStr)) {
return aStr.slice(1);
}
return aStr;
}
exports2.fromSetString = supportsNullProto ? identity : fromSetString;
function isProtoString(s) {
if (!s) {
return false;
}
var length = s.length;
if (length < 9) {
return false;
}
if (s.charCodeAt(length - 1) !== 95 || s.charCodeAt(length - 2) !== 95 || s.charCodeAt(length - 3) !== 111 || s.charCodeAt(length - 4) !== 116 || s.charCodeAt(length - 5) !== 111 || s.charCodeAt(length - 6) !== 114 || s.charCodeAt(length - 7) !== 112 || s.charCodeAt(length - 8) !== 95 || s.charCodeAt(length - 9) !== 95) {
return false;
}
for (var i = length - 10; i >= 0; i--) {
if (s.charCodeAt(i) !== 36) {
return false;
}
}
return true;
}
function compareByOriginalPositions(mappingA, mappingB, onlyCompareOriginal) {
var cmp = strcmp(mappingA.source, mappingB.source);
if (cmp !== 0) {
return cmp;
}
cmp = mappingA.originalLine - mappingB.originalLine;
if (cmp !== 0) {
return cmp;
}
cmp = mappingA.originalColumn - mappingB.originalColumn;
if (cmp !== 0 || onlyCompareOriginal) {
return cmp;
}
cmp = mappingA.generatedColumn - mappingB.generatedColumn;
if (cmp !== 0) {
return cmp;
}
cmp = mappingA.generatedLine - mappingB.generatedLine;
if (cmp !== 0) {
return cmp;
}
return strcmp(mappingA.name, mappingB.name);
}
exports2.compareByOriginalPositions = compareByOriginalPositions;
function compareByGeneratedPositionsDeflated(mappingA, mappingB, onlyCompareGenerated) {
var cmp = mappingA.generatedLine - mappingB.generatedLine;
if (cmp !== 0) {
return cmp;
}
cmp = mappingA.generatedColumn - mappingB.generatedColumn;
if (cmp !== 0 || onlyCompareGenerated) {
return cmp;
}
cmp = strcmp(mappingA.source, mappingB.source);
if (cmp !== 0) {
return cmp;
}
cmp = mappingA.originalLine - mappingB.originalLine;
if (cmp !== 0) {
return cmp;
}
cmp = mappingA.originalColumn - mappingB.originalColumn;
if (cmp !== 0) {
return cmp;
}
return strcmp(mappingA.name, mappingB.name);
}
exports2.compareByGeneratedPositionsDeflated = compareByGeneratedPositionsDeflated;
function strcmp(aStr1, aStr2) {
if (aStr1 === aStr2) {
return 0;
}
if (aStr1 === null) {
return 1;
}
if (aStr2 === null) {
return -1;
}
if (aStr1 > aStr2) {
return 1;
}
return -1;
}
function compareByGeneratedPositionsInflated(mappingA, mappingB) {
var cmp = mappingA.generatedLine - mappingB.generatedLine;
if (cmp !== 0) {
return cmp;
}
cmp = mappingA.generatedColumn - mappingB.generatedColumn;
if (cmp !== 0) {
return cmp;
}
cmp = strcmp(mappingA.source, mappingB.source);
if (cmp !== 0) {
return cmp;
}
cmp = mappingA.originalLine - mappingB.originalLine;
if (cmp !== 0) {
return cmp;
}
cmp = mappingA.originalColumn - mappingB.originalColumn;
if (cmp !== 0) {
return cmp;
}
return strcmp(mappingA.name, mappingB.name);
}
exports2.compareByGeneratedPositionsInflated = compareByGeneratedPositionsInflated;
function parseSourceMapInput(str) {
return JSON.parse(str.replace(/^\)]}'[^\n]*\n/, ""));
}
exports2.parseSourceMapInput = parseSourceMapInput;
function computeSourceURL(sourceRoot, sourceURL, sourceMapURL) {
sourceURL = sourceURL || "";
if (sourceRoot) {
if (sourceRoot[sourceRoot.length - 1] !== "/" && sourceURL[0] !== "/") {
sourceRoot += "/";
}
sourceURL = sourceRoot + sourceURL;
}
if (sourceMapURL) {
var parsed = urlParse(sourceMapURL);
if (!parsed) {
throw new Error("sourceMapURL could not be parsed");
}
if (parsed.path) {
var index = parsed.path.lastIndexOf("/");
if (index >= 0) {
parsed.path = parsed.path.substring(0, index + 1);
}
}
sourceURL = join2(urlGenerate(parsed), sourceURL);
}
return normalize(sourceURL);
}
exports2.computeSourceURL = computeSourceURL;
}
});
// ../../../usr/share/nodejs/source-map/lib/array-set.js
var require_array_set = __commonJS({
"../../../usr/share/nodejs/source-map/lib/array-set.js"(exports2) {
var util = require_util2();
var has = Object.prototype.hasOwnProperty;
var hasNativeMap = typeof Map !== "undefined";
function ArraySet() {
this._array = [];
this._set = hasNativeMap ? /* @__PURE__ */ new Map() : /* @__PURE__ */ Object.create(null);
}
ArraySet.fromArray = function ArraySet_fromArray(aArray, aAllowDuplicates) {
var set = new ArraySet();
for (var i = 0, len = aArray.length; i < len; i++) {
set.add(aArray[i], aAllowDuplicates);
}
return set;
};
ArraySet.prototype.size = function ArraySet_size() {
return hasNativeMap ? this._set.size : Object.getOwnPropertyNames(this._set).length;
};
ArraySet.prototype.add = function ArraySet_add(aStr, aAllowDuplicates) {
var sStr = hasNativeMap ? aStr : util.toSetString(aStr);
var isDuplicate = hasNativeMap ? this.has(aStr) : has.call(this._set, sStr);
var idx = this._array.length;
if (!isDuplicate || aAllowDuplicates) {
this._array.push(aStr);
}
if (!isDuplicate) {
if (hasNativeMap) {
this._set.set(aStr, idx);
} else {
this._set[sStr] = idx;
}
}
};
ArraySet.prototype.has = function ArraySet_has(aStr) {
if (hasNativeMap) {
return this._set.has(aStr);
} else {
var sStr = util.toSetString(aStr);
return has.call(this._set, sStr);
}
};
ArraySet.prototype.indexOf = function ArraySet_indexOf(aStr) {
if (hasNativeMap) {
var idx = this._set.get(aStr);
if (idx >= 0) {
return idx;
}
} else {
var sStr = util.toSetString(aStr);
if (has.call(this._set, sStr)) {
return this._set[sStr];
}
}
throw new Error('"' + aStr + '" is not in the set.');
};
ArraySet.prototype.at = function ArraySet_at(aIdx) {
if (aIdx >= 0 && aIdx < this._array.length) {
return this._array[aIdx];
}
throw new Error("No element indexed by " + aIdx);
};
ArraySet.prototype.toArray = function ArraySet_toArray() {
return this._array.slice();
};
exports2.ArraySet = ArraySet;
}
});
// ../../../usr/share/nodejs/source-map/lib/mapping-list.js
var require_mapping_list = __commonJS({
"../../../usr/share/nodejs/source-map/lib/mapping-list.js"(exports2) {
var util = require_util2();
function generatedPositionAfter(mappingA, mappingB) {
var lineA = mappingA.generatedLine;
var lineB = mappingB.generatedLine;
var columnA = mappingA.generatedColumn;
var columnB = mappingB.generatedColumn;
return lineB > lineA || lineB == lineA && columnB >= columnA || util.compareByGeneratedPositionsInflated(mappingA, mappingB) <= 0;
}
function MappingList() {
this._array = [];
this._sorted = true;
this._last = { generatedLine: -1, generatedColumn: 0 };
}
MappingList.prototype.unsortedForEach = function MappingList_forEach(aCallback, aThisArg) {
this._array.forEach(aCallback, aThisArg);
};
MappingList.prototype.add = function MappingList_add(aMapping) {
if (generatedPositionAfter(this._last, aMapping)) {
this._last = aMapping;
this._array.push(aMapping);
} else {
this._sorted = false;
this._array.push(aMapping);
}
};
MappingList.prototype.toArray = function MappingList_toArray() {
if (!this._sorted) {
this._array.sort(util.compareByGeneratedPositionsInflated);
this._sorted = true;
}
return this._array;
};
exports2.MappingList = MappingList;
}
});
// ../../../usr/share/nodejs/source-map/lib/source-map-generator.js
var require_source_map_generator = __commonJS({
"../../../usr/share/nodejs/source-map/lib/source-map-generator.js"(exports2) {
var base64VLQ = require_base64_vlq();
var util = require_util2();
var ArraySet = require_array_set().ArraySet;
var MappingList = require_mapping_list().MappingList;
function SourceMapGenerator(aArgs) {
if (!aArgs) {
aArgs = {};
}
this._file = util.getArg(aArgs, "file", null);
this._sourceRoot = util.getArg(aArgs, "sourceRoot", null);
this._skipValidation = util.getArg(aArgs, "skipValidation", false);
this._sources = new ArraySet();
this._names = new ArraySet();
this._mappings = new MappingList();
this._sourcesContents = null;
}
SourceMapGenerator.prototype._version = 3;
SourceMapGenerator.fromSourceMap = function SourceMapGenerator_fromSourceMap(aSourceMapConsumer) {
var sourceRoot = aSourceMapConsumer.sourceRoot;
var generator = new SourceMapGenerator({
file: aSourceMapConsumer.file,
sourceRoot
});
aSourceMapConsumer.eachMapping(function(mapping) {
var newMapping = {
generated: {
line: mapping.generatedLine,
column: mapping.generatedColumn
}
};
if (mapping.source != null) {
newMapping.source = mapping.source;
if (sourceRoot != null) {
newMapping.source = util.relative(sourceRoot, newMapping.source);
}
newMapping.original = {
line: mapping.originalLine,
column: mapping.originalColumn
};
if (mapping.name != null) {
newMapping.name = mapping.name;
}
}
generator.addMapping(newMapping);
});
aSourceMapConsumer.sources.forEach(function(sourceFile) {
var sourceRelative = sourceFile;
if (sourceRoot !== null) {
sourceRelative = util.relative(sourceRoot, sourceFile);
}
if (!generator._sources.has(sourceRelative)) {
generator._sources.add(sourceRelative);
}
var content = aSourceMapConsumer.sourceContentFor(sourceFile);
if (content != null) {
generator.setSourceContent(sourceFile, content);
}
});
return generator;
};
SourceMapGenerator.prototype.addMapping = function SourceMapGenerator_addMapping(aArgs) {
var generated = util.getArg(aArgs, "generated");
var original = util.getArg(aArgs, "original", null);
var source = util.getArg(aArgs, "source", null);
var name = util.getArg(aArgs, "name", null);
if (!this._skipValidation) {
this._validateMapping(generated, original, source, name);
}
if (source != null) {
source = String(source);
if (!this._sources.has(source)) {
this._sources.add(source);
}
}
if (name != null) {
name = String(name);
if (!this._names.has(name)) {
this._names.add(name);
}
}
this._mappings.add({
generatedLine: generated.line,
generatedColumn: generated.column,
originalLine: original != null && original.line,
originalColumn: original != null && original.column,
source,
name
});
};
SourceMapGenerator.prototype.setSourceContent = function SourceMapGenerator_setSourceContent(aSourceFile, aSourceContent) {
var source = aSourceFile;
if (this._sourceRoot != null) {
source = util.relative(this._sourceRoot, source);
}
if (aSourceContent != null) {
if (!this._sourcesContents) {
this._sourcesContents = /* @__PURE__ */ Object.create(null);
}
this._sourcesContents[util.toSetString(source)] = aSourceContent;
} else if (this._sourcesContents) {
delete this._sourcesContents[util.toSetString(source)];
if (Object.keys(this._sourcesContents).length === 0) {
this._sourcesContents = null;
}
}
};
SourceMapGenerator.prototype.applySourceMap = function SourceMapGenerator_applySourceMap(aSourceMapConsumer, aSourceFile, aSourceMapPath) {
var sourceFile = aSourceFile;
if (aSourceFile == null) {
if (aSourceMapConsumer.file == null) {
throw new Error(
`SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, or the source map's "file" property. Both were omitted.`
);
}
sourceFile = aSourceMapConsumer.file;
}
var sourceRoot = this._sourceRoot;
if (sourceRoot != null) {
sourceFile = util.relative(sourceRoot, sourceFile);
}
var newSources = new ArraySet();
var newNames = new ArraySet();
this._mappings.unsortedForEach(function(mapping) {
if (mapping.source === sourceFile && mapping.originalLine != null) {
var original = aSourceMapConsumer.originalPositionFor({
line: mapping.originalLine,
column: mapping.originalColumn
});
if (original.source != null) {
mapping.source = original.source;
if (aSourceMapPath != null) {
mapping.source = util.join(aSourceMapPath, mapping.source);
}
if (sourceRoot != null) {
mapping.source = util.relative(sourceRoot, mapping.source);
}
mapping.originalLine = original.line;
mapping.originalColumn = original.column;
if (original.name != null) {
mapping.name = original.name;
}
}
}
var source = mapping.source;
if (source != null && !newSources.has(source)) {
newSources.add(source);
}
var name = mapping.name;
if (name != null && !newNames.has(name)) {
newNames.add(name);
}
}, this);
this._sources = newSources;
this._names = newNames;
aSourceMapConsumer.sources.forEach(function(sourceFile2) {
var content = aSourceMapConsumer.sourceContentFor(sourceFile2);
if (content != null) {
if (aSourceMapPath != null) {
sourceFile2 = util.join(aSourceMapPath, sourceFile2);
}
if (sourceRoot != null) {
sourceFile2 = util.relative(sourceRoot, sourceFile2);
}
this.setSourceContent(sourceFile2, content);
}
}, this);
};
SourceMapGenerator.prototype._validateMapping = function SourceMapGenerator_validateMapping(aGenerated, aOriginal, aSource, aName) {
if (aOriginal && typeof aOriginal.line !== "number" && typeof aOriginal.column !== "number") {
throw new Error(
"original.line and original.column are not numbers -- you probably meant to omit the original mapping entirely and only map the generated position. If so, pass null for the original mapping instead of an object with empty or null values."
);
}
if (aGenerated && "line" in aGenerated && "column" in aGenerated && aGenerated.line > 0 && aGenerated.column >= 0 && !aOriginal && !aSource && !aName) {
return;
} else if (aGenerated && "line" in aGenerated && "column" in aGenerated && aOriginal && "line" in aOriginal && "column" in aOriginal && aGenerated.line > 0 && aGenerated.column >= 0 && aOriginal.line > 0 && aOriginal.column >= 0 && aSource) {
return;
} else {
throw new Error("Invalid mapping: " + JSON.stringify({
generated: aGenerated,
source: aSource,
original: aOriginal,
name: aName
}));
}
};
SourceMapGenerator.prototype._serializeMappings = function SourceMapGenerator_serializeMappings() {
var previousGeneratedColumn = 0;
var previousGeneratedLine = 1;
var previousOriginalColumn = 0;
var previousOriginalLine = 0;
var previousName = 0;
var previousSource = 0;
var result = "";
var next;
var mapping;
var nameIdx;
var sourceIdx;
var mappings = this._mappings.toArray();
for (var i = 0, len = mappings.length; i < len; i++) {
mapping = mappings[i];
next = "";
if (mapping.generatedLine !== previousGeneratedLine) {
previousGeneratedColumn = 0;
while (mapping.generatedLine !== previousGeneratedLine) {
next += ";";
previousGeneratedLine++;
}
} else {
if (i > 0) {
if (!util.compareByGeneratedPositionsInflated(mapping, mappings[i - 1])) {
continue;
}
next += ",";
}
}
next += base64VLQ.encode(mapping.generatedColumn - previousGeneratedColumn);
previousGeneratedColumn = mapping.generatedColumn;
if (mapping.source != null) {
sourceIdx = this._sources.indexOf(mapping.source);
next += base64VLQ.encode(sourceIdx - previousSource);
previousSource = sourceIdx;
next += base64VLQ.encode(mapping.originalLine - 1 - previousOriginalLine);
previousOriginalLine = mapping.originalLine - 1;
next += base64VLQ.encode(mapping.originalColumn - previousOriginalColumn);
previousOriginalColumn = mapping.originalColumn;
if (mapping.name != null) {
nameIdx = this._names.indexOf(mapping.name);
next += base64VLQ.encode(nameIdx - previousName);
previousName = nameIdx;
}
}
result += next;
}
return result;
};
SourceMapGenerator.prototype._generateSourcesContent = function SourceMapGenerator_generateSourcesContent(aSources, aSourceRoot) {
return aSources.map(function(source) {
if (!this._sourcesContents) {
return null;
}
if (aSourceRoot != null) {
source = util.relative(aSourceRoot, source);
}
var key = util.toSetString(source);
return Object.prototype.hasOwnProperty.call(this._sourcesContents, key) ? this._sourcesContents[key] : null;
}, this);
};
SourceMapGenerator.prototype.toJSON = function SourceMapGenerator_toJSON() {
var map = {
version: this._version,
sources: this._sources.toArray(),
names: this._names.toArray(),
mappings: this._serializeMappings()
};
if (this._file != null) {
map.file = this._file;
}
if (this._sourceRoot != null) {
map.sourceRoot = this._sourceRoot;
}
if (this._sourcesContents) {
map.sourcesContent = this._generateSourcesContent(map.sources, map.sourceRoot);
}
return map;
};
SourceMapGenerator.prototype.toString = function SourceMapGenerator_toString() {
return JSON.stringify(this.toJSON());
};
exports2.SourceMapGenerator = SourceMapGenerator;
}
});
// ../../../usr/share/nodejs/source-map/lib/binary-search.js
var require_binary_search = __commonJS({
"../../../usr/share/nodejs/source-map/lib/binary-search.js"(exports2) {
exports2.GREATEST_LOWER_BOUND = 1;
exports2.LEAST_UPPER_BOUND = 2;
function recursiveSearch(aLow, aHigh, aNeedle, aHaystack, aCompare, aBias) {
var mid = Math.floor((aHigh - aLow) / 2) + aLow;
var cmp = aCompare(aNeedle, aHaystack[mid], true);
if (cmp === 0) {
return mid;
} else if (cmp > 0) {
if (aHigh - mid > 1) {
return recursiveSearch(mid, aHigh, aNeedle, aHaystack, aCompare, aBias);
}
if (aBias == exports2.LEAST_UPPER_BOUND) {
return aHigh < aHaystack.length ? aHigh : -1;
} else {
return mid;
}
} else {
if (mid - aLow > 1) {
return recursiveSearch(aLow, mid, aNeedle, aHaystack, aCompare, aBias);
}
if (aBias == exports2.LEAST_UPPER_BOUND) {
return mid;
} else {
return aLow < 0 ? -1 : aLow;
}
}
}
exports2.search = function search(aNeedle, aHaystack, aCompare, aBias) {
if (aHaystack.length === 0) {
return -1;
}
var index = recursiveSearch(
-1,
aHaystack.length,
aNeedle,
aHaystack,
aCompare,
aBias || exports2.GREATEST_LOWER_BOUND
);
if (index < 0) {
return -1;
}
while (index - 1 >= 0) {
if (aCompare(aHaystack[index], aHaystack[index - 1], true) !== 0) {
break;
}
--index;
}
return index;
};
}
});
// ../../../usr/share/nodejs/source-map/lib/quick-sort.js
var require_quick_sort = __commonJS({
"../../../usr/share/nodejs/source-map/lib/quick-sort.js"(exports2) {
function swap(ary, x, y) {
var temp = ary[x];
ary[x] = ary[y];
ary[y] = temp;
}
function randomIntInRange(low, high) {
return Math.round(low + Math.random() * (high - low));
}
function doQuickSort(ary, comparator, p, r) {
if (p < r) {
var pivotIndex = randomIntInRange(p, r);
var i = p - 1;
swap(ary, pivotIndex, r);
var pivot = ary[r];
for (var j = p; j < r; j++) {
if (comparator(ary[j], pivot) <= 0) {
i += 1;
swap(ary, i, j);
}
}
swap(ary, i + 1, j);
var q = i + 1;
doQuickSort(ary, comparator, p, q - 1);
doQuickSort(ary, comparator, q + 1, r);
}
}
exports2.quickSort = function(ary, comparator) {
doQuickSort(ary, comparator, 0, ary.length - 1);
};
}
});
// ../../../usr/share/nodejs/source-map/lib/source-map-consumer.js
var require_source_map_consumer = __commonJS({
"../../../usr/share/nodejs/source-map/lib/source-map-consumer.js"(exports2) {
var util = require_util2();
var binarySearch = require_binary_search();
var ArraySet = require_array_set().ArraySet;
var base64VLQ = require_base64_vlq();
var quickSort = require_quick_sort().quickSort;
function SourceMapConsumer(aSourceMap, aSourceMapURL) {
var sourceMap = aSourceMap;
if (typeof aSourceMap === "string") {
sourceMap = util.parseSourceMapInput(aSourceMap);
}
return sourceMap.sections != null ? new IndexedSourceMapConsumer(sourceMap, aSourceMapURL) : new BasicSourceMapConsumer(sourceMap, aSourceMapURL);
}
SourceMapConsumer.fromSourceMap = function(aSourceMap, aSourceMapURL) {
return BasicSourceMapConsumer.fromSourceMap(aSourceMap, aSourceMapURL);
};
SourceMapConsumer.prototype._version = 3;
SourceMapConsumer.prototype.__generatedMappings = null;
Object.defineProperty(SourceMapConsumer.prototype, "_generatedMappings", {
configurable: true,
enumerable: true,
get: function() {
if (!this.__generatedMappings) {
this._parseMappings(this._mappings, this.sourceRoot);
}
return this.__generatedMappings;
}
});
SourceMapConsumer.prototype.__originalMappings = null;
Object.defineProperty(SourceMapConsumer.prototype, "_originalMappings", {
configurable: true,
enumerable: true,
get: function() {
if (!this.__originalMappings) {
this._parseMappings(this._mappings, this.sourceRoot);
}
return this.__originalMappings;
}
});
SourceMapConsumer.prototype._charIsMappingSeparator = function SourceMapConsumer_charIsMappingSeparator(aStr, index) {
var c = aStr.charAt(index);
return c === ";" || c === ",";
};
SourceMapConsumer.prototype._parseMappings = function SourceMapConsumer_parseMappings(aStr, aSourceRoot) {
throw new Error("Subclasses must implement _parseMappings");
};
SourceMapConsumer.GENERATED_ORDER = 1;
SourceMapConsumer.ORIGINAL_ORDER = 2;
SourceMapConsumer.GREATEST_LOWER_BOUND = 1;
SourceMapConsumer.LEAST_UPPER_BOUND = 2;
SourceMapConsumer.prototype.eachMapping = function SourceMapConsumer_eachMapping(aCallback, aContext, aOrder) {
var context = aContext || null;
var order = aOrder || SourceMapConsumer.GENERATED_ORDER;
var mappings;
switch (order) {
case SourceMapConsumer.GENERATED_ORDER:
mappings = this._generatedMappings;
break;
case SourceMapConsumer.ORIGINAL_ORDER:
mappings = this._originalMappings;
break;
default:
throw new Error("Unknown order of iteration.");
}
var sourceRoot = this.sourceRoot;
mappings.map(function(mapping) {
var source = mapping.source === null ? null : this._sources.at(mapping.source);
source = util.computeSourceURL(sourceRoot, source, this._sourceMapURL);
return {
source,
generatedLine: mapping.generatedLine,
generatedColumn: mapping.generatedColumn,
originalLine: mapping.originalLine,
originalColumn: mapping.originalColumn,
name: mapping.name === null ? null : this._names.at(mapping.name)
};
}, this).forEach(aCallback, context);
};
SourceMapConsumer.prototype.allGeneratedPositionsFor = function SourceMapConsumer_allGeneratedPositionsFor(aArgs) {
var line = util.getArg(aArgs, "line");
var needle = {
source: util.getArg(aArgs, "source"),
originalLine: line,
originalColumn: util.getArg(aArgs, "column", 0)
};
needle.source = this._findSourceIndex(needle.source);
if (needle.source < 0) {
return [];
}
var mappings = [];
var index = this._findMapping(
needle,
this._originalMappings,
"originalLine",
"originalColumn",
util.compareByOriginalPositions,
binarySearch.LEAST_UPPER_BOUND
);
if (index >= 0) {
var mapping = this._originalMappings[index];
if (aArgs.column === void 0) {
var originalLine = mapping.originalLine;
while (mapping && mapping.originalLine === originalLine) {
mappings.push({
line: util.getArg(mapping, "generatedLine", null),
column: util.getArg(mapping, "generatedColumn", null),
lastColumn: util.getArg(mapping, "lastGeneratedColumn", null)
});
mapping = this._originalMappings[++index];
}
} else {
var originalColumn = mapping.originalColumn;
while (mapping && mapping.originalLine === line && mapping.originalColumn == originalColumn) {
mappings.push({
line: util.getArg(mapping, "generatedLine", null),
column: util.getArg(mapping, "generatedColumn", null),
lastColumn: util.getArg(mapping, "lastGeneratedColumn", null)
});
mapping = this._originalMappings[++index];
}
}
}
return mappings;
};
exports2.SourceMapConsumer = SourceMapConsumer;
function BasicSourceMapConsumer(aSourceMap, aSourceMapURL) {
var sourceMap = aSourceMap;
if (typeof aSourceMap === "string") {
sourceMap = util.parseSourceMapInput(aSourceMap);
}
var version2 = util.getArg(sourceMap, "version");
var sources = util.getArg(sourceMap, "sources");
var names = util.getArg(sourceMap, "names", []);
var sourceRoot = util.getArg(sourceMap, "sourceRoot", null);
var sourcesContent = util.getArg(sourceMap, "sourcesContent", null);
var mappings = util.getArg(sourceMap, "mappings");
var file = util.getArg(sourceMap, "file", null);
if (version2 != this._version) {
throw new Error("Unsupported version: " + version2);
}
if (sourceRoot) {
sourceRoot = util.normalize(sourceRoot);
}
sources = sources.map(String).map(util.normalize).map(function(source) {
return sourceRoot && util.isAbsolute(sourceRoot) && util.isAbsolute(source) ? util.relative(sourceRoot, source) : source;
});
this._names = ArraySet.fromArray(names.map(String), true);
this._sources = ArraySet.fromArray(sources, true);
this._absoluteSources = this._sources.toArray().map(function(s) {
return util.computeSourceURL(sourceRoot, s, aSourceMapURL);
});
this.sourceRoot = sourceRoot;
this.sourcesContent = sourcesContent;
this._mappings = mappings;
this._sourceMapURL = aSourceMapURL;
this.file = file;
}
BasicSourceMapConsumer.prototype = Object.create(SourceMapConsumer.prototype);
BasicSourceMapConsumer.prototype.consumer = SourceMapConsumer;
BasicSourceMapConsumer.prototype._findSourceIndex = function(aSource) {
var relativeSource = aSource;
if (this.sourceRoot != null) {
relativeSource = util.relative(this.sourceRoot, relativeSource);
}
if (this._sources.has(relativeSource)) {
return this._sources.indexOf(relativeSource);
}
var i;
for (i = 0; i < this._absoluteSources.length; ++i) {
if (this._absoluteSources[i] == aSource) {
return i;
}
}
return -1;
};
BasicSourceMapConsumer.fromSourceMap = function SourceMapConsumer_fromSourceMap(aSourceMap, aSourceMapURL) {
var smc = Object.create(BasicSourceMapConsumer.prototype);
var names = smc._names = ArraySet.fromArray(aSourceMap._names.toArray(), true);
var sources = smc._sources = ArraySet.fromArray(aSourceMap._sources.toArray(), true);
smc.sourceRoot = aSourceMap._sourceRoot;
smc.sourcesContent = aSourceMap._generateSourcesContent(
smc._sources.toArray(),
smc.sourceRoot
);
smc.file = aSourceMap._file;
smc._sourceMapURL = aSourceMapURL;
smc._absoluteSources = smc._sources.toArray().map(function(s) {
return util.computeSourceURL(smc.sourceRoot, s, aSourceMapURL);
});
var generatedMappings = aSourceMap._mappings.toArray().slice();
var destGeneratedMappings = smc.__generatedMappings = [];
var destOriginalMappings = smc.__originalMappings = [];
for (var i = 0, length = generatedMappings.length; i < length; i++) {
var srcMapping = generatedMappings[i];
var destMapping = new Mapping();
destMapping.generatedLine = srcMapping.generatedLine;
destMapping.generatedColumn = srcMapping.generatedColumn;
if (srcMapping.source) {
destMapping.source = sources.indexOf(srcMapping.source);
destMapping.originalLine = srcMapping.originalLine;
destMapping.originalColumn = srcMapping.originalColumn;
if (srcMapping.name) {
destMapping.name = names.indexOf(srcMapping.name);
}
destOriginalMappings.push(destMapping);
}
destGeneratedMappings.push(destMapping);
}
quickSort(smc.__originalMappings, util.compareByOriginalPositions);
return smc;
};
BasicSourceMapConsumer.prototype._version = 3;
Object.defineProperty(BasicSourceMapConsumer.prototype, "sources", {
get: function() {
return this._absoluteSources.slice();
}
});
function Mapping() {
this.generatedLine = 0;
this.generatedColumn = 0;
this.source = null;
this.originalLine = null;
this.originalColumn = null;
this.name = null;
}
BasicSourceMapConsumer.prototype._parseMappings = function SourceMapConsumer_parseMappings(aStr, aSourceRoot) {
var generatedLine = 1;
var previousGeneratedColumn = 0;
var previousOriginalLine = 0;
var previousOriginalColumn = 0;
var previousSource = 0;
var previousName = 0;
var length = aStr.length;
var index = 0;
var cachedSegments = {};
var temp = {};
var originalMappings = [];
var generatedMappings = [];
var mapping, str, segment, end, value;
while (index < length) {
if (aStr.charAt(index) === ";") {
generatedLine++;
index++;
previousGeneratedColumn = 0;
} else if (aStr.charAt(index) === ",") {
index++;
} else {
mapping = new Mapping();
mapping.generatedLine = generatedLine;
for (end = index; end < length; end++) {
if (this._charIsMappingSeparator(aStr, end)) {
break;
}
}
str = aStr.slice(index, end);
segment = cachedSegments[str];
if (segment) {
index += str.length;
} else {
segment = [];
while (index < end) {
base64VLQ.decode(aStr, index, temp);
value = temp.value;
index = temp.rest;
segment.push(value);
}
if (segment.length === 2) {
throw new Error("Found a source, but no line and column");
}
if (segment.length === 3) {
throw new Error("Found a source and line, but no column");
}
cachedSegments[str] = segment;
}
mapping.generatedColumn = previousGeneratedColumn + segment[0];
previousGeneratedColumn = mapping.generatedColumn;
if (segment.length > 1) {
mapping.source = previousSource + segment[1];
previousSource += segment[1];
mapping.originalLine = previousOriginalLine + segment[2];
previousOriginalLine = mapping.originalLine;
mapping.originalLine += 1;
mapping.originalColumn = previousOriginalColumn + segment[3];
previousOriginalColumn = mapping.originalColumn;
if (segment.length > 4) {
mapping.name = previousName + segment[4];
previousName += segment[4];
}
}
generatedMappings.push(mapping);
if (typeof mapping.originalLine === "number") {
originalMappings.push(mapping);
}
}
}
quickSort(generatedMappings, util.compareByGeneratedPositionsDeflated);
this.__generatedMappings = generatedMappings;
quickSort(originalMappings, util.compareByOriginalPositions);
this.__originalMappings = originalMappings;
};
BasicSourceMapConsumer.prototype._findMapping = function SourceMapConsumer_findMapping(aNeedle, aMappings, aLineName, aColumnName, aComparator, aBias) {
if (aNeedle[aLineName] <= 0) {
throw new TypeError("Line must be greater than or equal to 1, got " + aNeedle[aLineName]);
}
if (aNeedle[aColumnName] < 0) {
throw new TypeError("Column must be greater than or equal to 0, got " + aNeedle[aColumnName]);
}
return binarySearch.search(aNeedle, aMappings, aComparator, aBias);
};
BasicSourceMapConsumer.prototype.computeColumnSpans = function SourceMapConsumer_computeColumnSpans() {
for (var index = 0; index < this._generatedMappings.length; ++index) {
var mapping = this._generatedMappings[index];
if (index + 1 < this._generatedMappings.length) {
var nextMapping = this._generatedMappings[index + 1];
if (mapping.generatedLine === nextMapping.generatedLine) {
mapping.lastGeneratedColumn = nextMapping.generatedColumn - 1;
continue;
}
}
mapping.lastGeneratedColumn = Infinity;
}
};
BasicSourceMapConsumer.prototype.originalPositionFor = function SourceMapConsumer_originalPositionFor(aArgs) {
var needle = {
generatedLine: util.getArg(aArgs, "line"),
generatedColumn: util.getArg(aArgs, "column")
};
var index = this._findMapping(
needle,
this._generatedMappings,
"generatedLine",
"generatedColumn",
util.compareByGeneratedPositionsDeflated,
util.getArg(aArgs, "bias", SourceMapConsumer.GREATEST_LOWER_BOUND)
);
if (index >= 0) {
var mapping = this._generatedMappings[index];
if (mapping.generatedLine === needle.generatedLine) {
var source = util.getArg(mapping, "source", null);
if (source !== null) {
source = this._sources.at(source);
source = util.computeSourceURL(this.sourceRoot, source, this._sourceMapURL);
}
var name = util.getArg(mapping, "name", null);
if (name !== null) {
name = this._names.at(name);
}
return {
source,
line: util.getArg(mapping, "originalLine", null),
column: util.getArg(mapping, "originalColumn", null),
name
};
}
}
return {
source: null,
line: null,
column: null,
name: null
};
};
BasicSourceMapConsumer.prototype.hasContentsOfAllSources = function BasicSourceMapConsumer_hasContentsOfAllSources() {
if (!this.sourcesContent) {
return false;
}
return this.sourcesContent.length >= this._sources.size() && !this.sourcesContent.some(function(sc) {
return sc == null;
});
};
BasicSourceMapConsumer.prototype.sourceContentFor = function SourceMapConsumer_sourceContentFor(aSource, nullOnMissing) {
if (!this.sourcesContent) {
return null;
}
var index = this._findSourceIndex(aSource);
if (index >= 0) {
return this.sourcesContent[index];
}
var relativeSource = aSource;
if (this.sourceRoot != null) {
relativeSource = util.relative(this.sourceRoot, relativeSource);
}
var url;
if (this.sourceRoot != null && (url = util.urlParse(this.sourceRoot))) {
var fileUriAbsPath = relativeSource.replace(/^file:\/\//, "");
if (url.scheme == "file" && this._sources.has(fileUriAbsPath)) {
return this.sourcesContent[this._sources.indexOf(fileUriAbsPath)];
}
if ((!url.path || url.path == "/") && this._sources.has("/" + relativeSource)) {
return this.sourcesContent[this._sources.indexOf("/" + relativeSource)];
}
}
if (nullOnMissing) {
return null;
} else {
throw new Error('"' + relativeSource + '" is not in the SourceMap.');
}
};
BasicSourceMapConsumer.prototype.generatedPositionFor = function SourceMapConsumer_generatedPositionFor(aArgs) {
var source = util.getArg(aArgs, "source");
source = this._findSourceIndex(source);
if (source < 0) {
return {
line: null,
column: null,
lastColumn: null
};
}
var needle = {
source,
originalLine: util.getArg(aArgs, "line"),
originalColumn: util.getArg(aArgs, "column")
};
var index = this._findMapping(
needle,
this._originalMappings,
"originalLine",
"originalColumn",
util.compareByOriginalPositions,
util.getArg(aArgs, "bias", SourceMapConsumer.GREATEST_LOWER_BOUND)
);
if (index >= 0) {
var mapping = this._originalMappings[index];
if (mapping.source === needle.source) {
return {
line: util.getArg(mapping, "generatedLine", null),
column: util.getArg(mapping, "generatedColumn", null),
lastColumn: util.getArg(mapping, "lastGeneratedColumn", null)
};
}
}
return {
line: null,
column: null,
lastColumn: null
};
};
exports2.BasicSourceMapConsumer = BasicSourceMapConsumer;
function IndexedSourceMapConsumer(aSourceMap, aSourceMapURL) {
var sourceMap = aSourceMap;
if (typeof aSourceMap === "string") {
sourceMap = util.parseSourceMapInput(aSourceMap);
}
var version2 = util.getArg(sourceMap, "version");
var sections = util.getArg(sourceMap, "sections");
if (version2 != this._version) {
throw new Error("Unsupported version: " + version2);
}
this._sources = new ArraySet();
this._names = new ArraySet();
var lastOffset = {
line: -1,
column: 0
};
this._sections = sections.map(function(s) {
if (s.url) {
throw new Error("Support for url field in sections not implemented.");
}
var offset = util.getArg(s, "offset");
var offsetLine = util.getArg(offset, "line");
var offsetColumn = util.getArg(offset, "column");
if (offsetLine < lastOffset.line || offsetLine === lastOffset.line && offsetColumn < lastOffset.column) {
throw new Error("Section offsets must be ordered and non-overlapping.");
}
lastOffset = offset;
return {
generatedOffset: {
// The offset fields are 0-based, but we use 1-based indices when
// encoding/decoding from VLQ.
generatedLine: offsetLine + 1,
generatedColumn: offsetColumn + 1
},
consumer: new SourceMapConsumer(util.getArg(s, "map"), aSourceMapURL)
};
});
}
IndexedSourceMapConsumer.prototype = Object.create(SourceMapConsumer.prototype);
IndexedSourceMapConsumer.prototype.constructor = SourceMapConsumer;
IndexedSourceMapConsumer.prototype._version = 3;
Object.defineProperty(IndexedSourceMapConsumer.prototype, "sources", {
get: function() {
var sources = [];
for (var i = 0; i < this._sections.length; i++) {
for (var j = 0; j < this._sections[i].consumer.sources.length; j++) {
sources.push(this._sections[i].consumer.sources[j]);
}
}
return sources;
}
});
IndexedSourceMapConsumer.prototype.originalPositionFor = function IndexedSourceMapConsumer_originalPositionFor(aArgs) {
var needle = {
generatedLine: util.getArg(aArgs, "line"),
generatedColumn: util.getArg(aArgs, "column")
};
var sectionIndex = binarySearch.search(
needle,
this._sections,
function(needle2, section2) {
var cmp = needle2.generatedLine - section2.generatedOffset.generatedLine;
if (cmp) {
return cmp;
}
return needle2.generatedColumn - section2.generatedOffset.generatedColumn;
}
);
var section = this._sections[sectionIndex];
if (!section) {
return {
source: null,
line: null,
column: null,
name: null
};
}
return section.consumer.originalPositionFor({
line: needle.generatedLine - (section.generatedOffset.generatedLine - 1),
column: needle.generatedColumn - (section.generatedOffset.generatedLine === needle.generatedLine ? section.generatedOffset.generatedColumn - 1 : 0),
bias: aArgs.bias
});
};
IndexedSourceMapConsumer.prototype.hasContentsOfAllSources = function IndexedSourceMapConsumer_hasContentsOfAllSources() {
return this._sections.every(function(s) {
return s.consumer.hasContentsOfAllSources();
});
};
IndexedSourceMapConsumer.prototype.sourceContentFor = function IndexedSourceMapConsumer_sourceContentFor(aSource, nullOnMissing) {
for (var i = 0; i < this._sections.length; i++) {
var section = this._sections[i];
var content = section.consumer.sourceContentFor(aSource, true);
if (content) {
return content;
}
}
if (nullOnMissing) {
return null;
} else {
throw new Error('"' + aSource + '" is not in the SourceMap.');
}
};
IndexedSourceMapConsumer.prototype.generatedPositionFor = function IndexedSourceMapConsumer_generatedPositionFor(aArgs) {
for (var i = 0; i < this._sections.length; i++) {
var section = this._sections[i];
if (section.consumer._findSourceIndex(util.getArg(aArgs, "source")) === -1) {
continue;
}
var generatedPosition = section.consumer.generatedPositionFor(aArgs);
if (generatedPosition) {
var ret = {
line: generatedPosition.line + (section.generatedOffset.generatedLine - 1),
column: generatedPosition.column + (section.generatedOffset.generatedLine === generatedPosition.line ? section.generatedOffset.generatedColumn - 1 : 0)
};
return ret;
}
}
return {
line: null,
column: null
};
};
IndexedSourceMapConsumer.prototype._parseMappings = function IndexedSourceMapConsumer_parseMappings(aStr, aSourceRoot) {
this.__generatedMappings = [];
this.__originalMappings = [];
for (var i = 0; i < this._sections.length; i++) {
var section = this._sections[i];
var sectionMappings = section.consumer._generatedMappings;
for (var j = 0; j < sectionMappings.length; j++) {
var mapping = sectionMappings[j];
var source = section.consumer._sources.at(mapping.source);
source = util.computeSourceURL(section.consumer.sourceRoot, source, this._sourceMapURL);
this._sources.add(source);
source = this._sources.indexOf(source);
var name = null;
if (mapping.name) {
name = section.consumer._names.at(mapping.name);
this._names.add(name);
name = this._names.indexOf(name);
}
var adjustedMapping = {
source,
generatedLine: mapping.generatedLine + (section.generatedOffset.generatedLine - 1),
generatedColumn: mapping.generatedColumn + (section.generatedOffset.generatedLine === mapping.generatedLine ? section.generatedOffset.generatedColumn - 1 : 0),
originalLine: mapping.originalLine,
originalColumn: mapping.originalColumn,
name
};
this.__generatedMappings.push(adjustedMapping);
if (typeof adjustedMapping.originalLine === "number") {
this.__originalMappings.push(adjustedMapping);
}
}
}
quickSort(this.__generatedMappings, util.compareByGeneratedPositionsDeflated);
quickSort(this.__originalMappings, util.compareByOriginalPositions);
};
exports2.IndexedSourceMapConsumer = IndexedSourceMapConsumer;
}
});
// ../../../usr/share/nodejs/source-map/lib/source-node.js
var require_source_node = __commonJS({
"../../../usr/share/nodejs/source-map/lib/source-node.js"(exports2) {
var SourceMapGenerator = require_source_map_generator().SourceMapGenerator;
var util = require_util2();
var REGEX_NEWLINE = /(\r?\n)/;
var NEWLINE_CODE = 10;
var isSourceNode = "$$$isSourceNode$$$";
function SourceNode(aLine, aColumn, aSource, aChunks, aName) {
this.children = [];
this.sourceContents = {};
this.line = aLine == null ? null : aLine;
this.column = aColumn == null ? null : aColumn;
this.source = aSource == null ? null : aSource;
this.name = aName == null ? null : aName;
this[isSourceNode] = true;
if (aChunks != null) this.add(aChunks);
}
SourceNode.fromStringWithSourceMap = function SourceNode_fromStringWithSourceMap(aGeneratedCode, aSourceMapConsumer, aRelativePath) {
var node = new SourceNode();
var remainingLines = aGeneratedCode.split(REGEX_NEWLINE);
var remainingLinesIndex = 0;
var shiftNextLine = function() {
var lineContents = getNextLine();
var newLine = getNextLine() || "";
return lineContents + newLine;
function getNextLine() {
return remainingLinesIndex < remainingLines.length ? remainingLines[remainingLinesIndex++] : void 0;
}
};
var lastGeneratedLine = 1, lastGeneratedColumn = 0;
var lastMapping = null;
aSourceMapConsumer.eachMapping(function(mapping) {
if (lastMapping !== null) {
if (lastGeneratedLine < mapping.generatedLine) {
addMappingWithCode(lastMapping, shiftNextLine());
lastGeneratedLine++;
lastGeneratedColumn = 0;
} else {
var nextLine = remainingLines[remainingLinesIndex] || "";
var code = nextLine.substr(0, mapping.generatedColumn - lastGeneratedColumn);
remainingLines[remainingLinesIndex] = nextLine.substr(mapping.generatedColumn - lastGeneratedColumn);
lastGeneratedColumn = mapping.generatedColumn;
addMappingWithCode(lastMapping, code);
lastMapping = mapping;
return;
}
}
while (lastGeneratedLine < mapping.generatedLine) {
node.add(shiftNextLine());
lastGeneratedLine++;
}
if (lastGeneratedColumn < mapping.generatedColumn) {
var nextLine = remainingLines[remainingLinesIndex] || "";
node.add(nextLine.substr(0, mapping.generatedColumn));
remainingLines[remainingLinesIndex] = nextLine.substr(mapping.generatedColumn);
lastGeneratedColumn = mapping.generatedColumn;
}
lastMapping = mapping;
}, this);
if (remainingLinesIndex < remainingLines.length) {
if (lastMapping) {
addMappingWithCode(lastMapping, shiftNextLine());
}
node.add(remainingLines.splice(remainingLinesIndex).join(""));
}
aSourceMapConsumer.sources.forEach(function(sourceFile) {
var content = aSourceMapConsumer.sourceContentFor(sourceFile);
if (content != null) {
if (aRelativePath != null) {
sourceFile = util.join(aRelativePath, sourceFile);
}
node.setSourceContent(sourceFile, content);
}
});
return node;
function addMappingWithCode(mapping, code) {
if (mapping === null || mapping.source === void 0) {
node.add(code);
} else {
var source = aRelativePath ? util.join(aRelativePath, mapping.source) : mapping.source;
node.add(new SourceNode(
mapping.originalLine,
mapping.originalColumn,
source,
code,
mapping.name
));
}
}
};
SourceNode.prototype.add = function SourceNode_add(aChunk) {
if (Array.isArray(aChunk)) {
aChunk.forEach(function(chunk) {
this.add(chunk);
}, this);
} else if (aChunk[isSourceNode] || typeof aChunk === "string") {
if (aChunk) {
this.children.push(aChunk);
}
} else {
throw new TypeError(
"Expected a SourceNode, string, or an array of SourceNodes and strings. Got " + aChunk
);
}
return this;
};
SourceNode.prototype.prepend = function SourceNode_prepend(aChunk) {
if (Array.isArray(aChunk)) {
for (var i = aChunk.length - 1; i >= 0; i--) {
this.prepend(aChunk[i]);
}
} else if (aChunk[isSourceNode] || typeof aChunk === "string") {
this.children.unshift(aChunk);
} else {
throw new TypeError(
"Expected a SourceNode, string, or an array of SourceNodes and strings. Got " + aChunk
);
}
return this;
};
SourceNode.prototype.walk = function SourceNode_walk(aFn) {
var chunk;
for (var i = 0, len = this.children.length; i < len; i++) {
chunk = this.children[i];
if (chunk[isSourceNode]) {
chunk.walk(aFn);
} else {
if (chunk !== "") {
aFn(chunk, {
source: this.source,
line: this.line,
column: this.column,
name: this.name
});
}
}
}
};
SourceNode.prototype.join = function SourceNode_join(aSep) {
var newChildren;
var i;
var len = this.children.length;
if (len > 0) {
newChildren = [];
for (i = 0; i < len - 1; i++) {
newChildren.push(this.children[i]);
newChildren.push(aSep);
}
newChildren.push(this.children[i]);
this.children = newChildren;
}
return this;
};
SourceNode.prototype.replaceRight = function SourceNode_replaceRight(aPattern, aReplacement) {
var lastChild = this.children[this.children.length - 1];
if (lastChild[isSourceNode]) {
lastChild.replaceRight(aPattern, aReplacement);
} else if (typeof lastChild === "string") {
this.children[this.children.length - 1] = lastChild.replace(aPattern, aReplacement);
} else {
this.children.push("".replace(aPattern, aReplacement));
}
return this;
};
SourceNode.prototype.setSourceContent = function SourceNode_setSourceContent(aSourceFile, aSourceContent) {
this.sourceContents[util.toSetString(aSourceFile)] = aSourceContent;
};
SourceNode.prototype.walkSourceContents = function SourceNode_walkSourceContents(aFn) {
for (var i = 0, len = this.children.length; i < len; i++) {
if (this.children[i][isSourceNode]) {
this.children[i].walkSourceContents(aFn);
}
}
var sources = Object.keys(this.sourceContents);
for (var i = 0, len = sources.length; i < len; i++) {
aFn(util.fromSetString(sources[i]), this.sourceContents[sources[i]]);
}
};
SourceNode.prototype.toString = function SourceNode_toString() {
var str = "";
this.walk(function(chunk) {
str += chunk;
});
return str;
};
SourceNode.prototype.toStringWithSourceMap = function SourceNode_toStringWithSourceMap(aArgs) {
var generated = {
code: "",
line: 1,
column: 0
};
var map = new SourceMapGenerator(aArgs);
var sourceMappingActive = false;
var lastOriginalSource = null;
var lastOriginalLine = null;
var lastOriginalColumn = null;
var lastOriginalName = null;
this.walk(function(chunk, original) {
generated.code += chunk;
if (original.source !== null && original.line !== null && original.column !== null) {
if (lastOriginalSource !== original.source || lastOriginalLine !== original.line || lastOriginalColumn !== original.column || lastOriginalName !== original.name) {
map.addMapping({
source: original.source,
original: {
line: original.line,
column: original.column
},
generated: {
line: generated.line,
column: generated.column
},
name: original.name
});
}
lastOriginalSource = original.source;
lastOriginalLine = original.line;
lastOriginalColumn = original.column;
lastOriginalName = original.name;
sourceMappingActive = true;
} else if (sourceMappingActive) {
map.addMapping({
generated: {
line: generated.line,
column: generated.column
}
});
lastOriginalSource = null;
sourceMappingActive = false;
}
for (var idx = 0, length = chunk.length; idx < length; idx++) {
if (chunk.charCodeAt(idx) === NEWLINE_CODE) {
generated.line++;
generated.column = 0;
if (idx + 1 === length) {
lastOriginalSource = null;
sourceMappingActive = false;
} else if (sourceMappingActive) {
map.addMapping({
source: original.source,
original: {
line: original.line,
column: original.column
},
generated: {
line: generated.line,
column: generated.column
},
name: original.name
});
}
} else {
generated.column++;
}
}
});
this.walkSourceContents(function(sourceFile, sourceContent) {
map.setSourceContent(sourceFile, sourceContent);
});
return { code: generated.code, map };
};
exports2.SourceNode = SourceNode;
}
});
// ../../../usr/share/nodejs/source-map/source-map.js
var require_source_map = __commonJS({
"../../../usr/share/nodejs/source-map/source-map.js"(exports2) {
exports2.SourceMapGenerator = require_source_map_generator().SourceMapGenerator;
exports2.SourceMapConsumer = require_source_map_consumer().SourceMapConsumer;
exports2.SourceNode = require_source_node().SourceNode;
}
});
// ../../../usr/share/nodejs/escodegen/package.json
var require_package = __commonJS({
"../../../usr/share/nodejs/escodegen/package.json"(exports2, module2) {
module2.exports = {
name: "escodegen",
description: "ECMAScript code generator",
homepage: "http://github.com/estools/escodegen",
main: "escodegen.js",
bin: {
esgenerate: "./bin/esgenerate.js",
escodegen: "./bin/escodegen.js"
},
files: [
"LICENSE.BSD",
"README.md",
"bin",
"escodegen.js",
"package.json"
],
version: "2.1.0",
engines: {
node: ">=6.0"
},
maintainers: [
{
name: "Yusuke Suzuki",
email: "utatane.tea@gmail.com",
web: "http://github.com/Constellation"
}
],
repository: {
type: "git",
url: "http://github.com/estools/escodegen.git"
},
dependencies: {
estraverse: "^5.2.0",
esutils: "^2.0.2",
esprima: "^4.0.1"
},
optionalDependencies: {
"source-map": "~0.6.1"
},
devDependencies: {
acorn: "^8.0.4",
bluebird: "^3.4.7",
"bower-registry-client": "^1.0.0",
chai: "^4.2.0",
"chai-exclude": "^2.0.2",
"commonjs-everywhere": "^0.9.7",
gulp: "^4.0.2",
"gulp-eslint": "^6.0.0",
"gulp-mocha": "^7.0.2",
minimist: "^1.2.5",
optionator: "^0.9.1",
semver: "^7.3.4"
},
license: "BSD-2-Clause",
scripts: {
test: "gulp travis",
"unit-test": "gulp test",
lint: "gulp lint",
release: "node tools/release.js",
"build-min": "./node_modules/.bin/cjsify -ma path: tools/entry-point.js > escodegen.browser.min.js",
build: "./node_modules/.bin/cjsify -a path: tools/entry-point.js > escodegen.browser.js"
}
};
}
});
// ../../../usr/share/nodejs/escodegen/escodegen.js
var require_escodegen = __commonJS({
"../../../usr/share/nodejs/escodegen/escodegen.js"(exports2) {
(function() {
"use strict";
var Syntax, Precedence, BinaryPrecedence, SourceNode, estraverse, esutils, base, indent, json, renumber, hexadecimal, quotes, escapeless, newline, space, parentheses, semicolons, safeConcatenation, directive, extra, parse, sourceMap, sourceCode, preserveBlankLines, FORMAT_MINIFY, FORMAT_DEFAULTS;
estraverse = require_estraverse();
esutils = require_utils4();
Syntax = estraverse.Syntax;
function isExpression(node) {
return CodeGenerator.Expression.hasOwnProperty(node.type);
}
function isStatement(node) {
return CodeGenerator.Statement.hasOwnProperty(node.type);
}
Precedence = {
Sequence: 0,
Yield: 1,
Assignment: 1,
Conditional: 2,
ArrowFunction: 2,
Coalesce: 3,
LogicalOR: 4,
LogicalAND: 5,
BitwiseOR: 6,
BitwiseXOR: 7,
BitwiseAND: 8,
Equality: 9,
Relational: 10,
BitwiseSHIFT: 11,
Additive: 12,
Multiplicative: 13,
Exponentiation: 14,
Await: 15,
Unary: 15,
Postfix: 16,
OptionalChaining: 17,
Call: 18,
New: 19,
TaggedTemplate: 20,
Member: 21,
Primary: 22
};
BinaryPrecedence = {
"??": Precedence.Coalesce,
"||": Precedence.LogicalOR,
"&&": Precedence.LogicalAND,
"|": Precedence.BitwiseOR,
"^": Precedence.BitwiseXOR,
"&": Precedence.BitwiseAND,
"==": Precedence.Equality,
"!=": Precedence.Equality,
"===": Precedence.Equality,
"!==": Precedence.Equality,
"is": Precedence.Equality,
"isnt": Precedence.Equality,
"<": Precedence.Relational,
">": Precedence.Relational,
"<=": Precedence.Relational,
">=": Precedence.Relational,
"in": Precedence.Relational,
"instanceof": Precedence.Relational,
"<<": Precedence.BitwiseSHIFT,
">>": Precedence.BitwiseSHIFT,
">>>": Precedence.BitwiseSHIFT,
"+": Precedence.Additive,
"-": Precedence.Additive,
"*": Precedence.Multiplicative,
"%": Precedence.Multiplicative,
"/": Precedence.Multiplicative,
"**": Precedence.Exponentiation
};
var F_ALLOW_IN = 1, F_ALLOW_CALL = 1 << 1, F_ALLOW_UNPARATH_NEW = 1 << 2, F_FUNC_BODY = 1 << 3, F_DIRECTIVE_CTX = 1 << 4, F_SEMICOLON_OPT = 1 << 5, F_FOUND_COALESCE = 1 << 6;
var E_FTT = F_ALLOW_CALL | F_ALLOW_UNPARATH_NEW, E_TTF = F_ALLOW_IN | F_ALLOW_CALL, E_TTT = F_ALLOW_IN | F_ALLOW_CALL | F_ALLOW_UNPARATH_NEW, E_TFF = F_ALLOW_IN, E_FFT = F_ALLOW_UNPARATH_NEW, E_TFT = F_ALLOW_IN | F_ALLOW_UNPARATH_NEW;
var S_TFFF = F_ALLOW_IN, S_TFFT = F_ALLOW_IN | F_SEMICOLON_OPT, S_FFFF = 0, S_TFTF = F_ALLOW_IN | F_DIRECTIVE_CTX, S_TTFF = F_ALLOW_IN | F_FUNC_BODY;
function getDefaultOptions() {
return {
indent: null,
base: null,
parse: null,
comment: false,
format: {
indent: {
style: " ",
base: 0,
adjustMultilineComment: false
},
newline: "\n",
space: " ",
json: false,
renumber: false,
hexadecimal: false,
quotes: "single",
escapeless: false,
compact: false,
parentheses: true,
semicolons: true,
safeConcatenation: false,
preserveBlankLines: false
},
moz: {
comprehensionExpressionStartsWithAssignment: false,
starlessGenerator: false
},
sourceMap: null,
sourceMapRoot: null,
sourceMapWithCode: false,
directive: false,
raw: true,
verbatim: null,
sourceCode: null
};
}
function stringRepeat(str, num) {
var result = "";
for (num |= 0; num > 0; num >>>= 1, str += str) {
if (num & 1) {
result += str;
}
}
return result;
}
function hasLineTerminator(str) {
return /[\r\n]/g.test(str);
}
function endsWithLineTerminator(str) {
var len = str.length;
return len && esutils.code.isLineTerminator(str.charCodeAt(len - 1));
}
function merge(target, override) {
var key;
for (key in override) {
if (override.hasOwnProperty(key)) {
target[key] = override[key];
}
}
return target;
}
function updateDeeply(target, override) {
var key, val;
function isHashObject(target2) {
return typeof target2 === "object" && target2 instanceof Object && !(target2 instanceof RegExp);
}
for (key in override) {
if (override.hasOwnProperty(key)) {
val = override[key];
if (isHashObject(val)) {
if (isHashObject(target[key])) {
updateDeeply(target[key], val);
} else {
target[key] = updateDeeply({}, val);
}
} else {
target[key] = val;
}
}
}
return target;
}
function generateNumber(value) {
var result, point, temp, exponent, pos;
if (value !== value) {
throw new Error("Numeric literal whose value is NaN");
}
if (value < 0 || value === 0 && 1 / value < 0) {
throw new Error("Numeric literal whose value is negative");
}
if (value === 1 / 0) {
return json ? "null" : renumber ? "1e400" : "1e+400";
}
result = "" + value;
if (!renumber || result.length < 3) {
return result;
}
point = result.indexOf(".");
if (!json && result.charCodeAt(0) === 48 && point === 1) {
point = 0;
result = result.slice(1);
}
temp = result;
result = result.replace("e+", "e");
exponent = 0;
if ((pos = temp.indexOf("e")) > 0) {
exponent = +temp.slice(pos + 1);
temp = temp.slice(0, pos);
}
if (point >= 0) {
exponent -= temp.length - point - 1;
temp = +(temp.slice(0, point) + temp.slice(point + 1)) + "";
}
pos = 0;
while (temp.charCodeAt(temp.length + pos - 1) === 48) {
--pos;
}
if (pos !== 0) {
exponent -= pos;
temp = temp.slice(0, pos);
}
if (exponent !== 0) {
temp += "e" + exponent;
}
if ((temp.length < result.length || hexadecimal && value > 1e12 && Math.floor(value) === value && (temp = "0x" + value.toString(16)).length < result.length) && +temp === value) {
result = temp;
}
return result;
}
function escapeRegExpCharacter(ch, previousIsBackslash) {
if ((ch & ~1) === 8232) {
return (previousIsBackslash ? "u" : "\\u") + (ch === 8232 ? "2028" : "2029");
} else if (ch === 10 || ch === 13) {
return (previousIsBackslash ? "" : "\\") + (ch === 10 ? "n" : "r");
}
return String.fromCharCode(ch);
}
function generateRegExp(reg) {
var match, result, flags, i, iz, ch, characterInBrack, previousIsBackslash;
result = reg.toString();
if (reg.source) {
match = result.match(/\/([^/]*)$/);
if (!match) {
return result;
}
flags = match[1];
result = "";
characterInBrack = false;
previousIsBackslash = false;
for (i = 0, iz = reg.source.length; i < iz; ++i) {
ch = reg.source.charCodeAt(i);
if (!previousIsBackslash) {
if (characterInBrack) {
if (ch === 93) {
characterInBrack = false;
}
} else {
if (ch === 47) {
result += "\\";
} else if (ch === 91) {
characterInBrack = true;
}
}
result += escapeRegExpCharacter(ch, previousIsBackslash);
previousIsBackslash = ch === 92;
} else {
result += escapeRegExpCharacter(ch, previousIsBackslash);
previousIsBackslash = false;
}
}
return "/" + result + "/" + flags;
}
return result;
}
function escapeAllowedCharacter(code, next) {
var hex;
if (code === 8) {
return "\\b";
}
if (code === 12) {
return "\\f";
}
if (code === 9) {
return "\\t";
}
hex = code.toString(16).toUpperCase();
if (json || code > 255) {
return "\\u" + "0000".slice(hex.length) + hex;
} else if (code === 0 && !esutils.code.isDecimalDigit(next)) {
return "\\0";
} else if (code === 11) {
return "\\x0B";
} else {
return "\\x" + "00".slice(hex.length) + hex;
}
}
function escapeDisallowedCharacter(code) {
if (code === 92) {
return "\\\\";
}
if (code === 10) {
return "\\n";
}
if (code === 13) {
return "\\r";
}
if (code === 8232) {
return "\\u2028";
}
if (code === 8233) {
return "\\u2029";
}
throw new Error("Incorrectly classified character");
}
function escapeDirective(str) {
var i, iz, code, quote;
quote = quotes === "double" ? '"' : "'";
for (i = 0, iz = str.length; i < iz; ++i) {
code = str.charCodeAt(i);
if (code === 39) {
quote = '"';
break;
} else if (code === 34) {
quote = "'";
break;
} else if (code === 92) {
++i;
}
}
return quote + str + quote;
}
function escapeString(str) {
var result = "", i, len, code, singleQuotes = 0, doubleQuotes = 0, single, quote;
for (i = 0, len = str.length; i < len; ++i) {
code = str.charCodeAt(i);
if (code === 39) {
++singleQuotes;
} else if (code === 34) {
++doubleQuotes;
} else if (code === 47 && json) {
result += "\\";
} else if (esutils.code.isLineTerminator(code) || code === 92) {
result += escapeDisallowedCharacter(code);
continue;
} else if (!esutils.code.isIdentifierPartES5(code) && (json && code < 32 || !json && !escapeless && (code < 32 || code > 126))) {
result += escapeAllowedCharacter(code, str.charCodeAt(i + 1));
continue;
}
result += String.fromCharCode(code);
}
single = !(quotes === "double" || quotes === "auto" && doubleQuotes < singleQuotes);
quote = single ? "'" : '"';
if (!(single ? singleQuotes : doubleQuotes)) {
return quote + result + quote;
}
str = result;
result = quote;
for (i = 0, len = str.length; i < len; ++i) {
code = str.charCodeAt(i);
if (code === 39 && single || code === 34 && !single) {
result += "\\";
}
result += String.fromCharCode(code);
}
return result + quote;
}
function flattenToString(arr) {
var i, iz, elem, result = "";
for (i = 0, iz = arr.length; i < iz; ++i) {
elem = arr[i];
result += Array.isArray(elem) ? flattenToString(elem) : elem;
}
return result;
}
function toSourceNodeWhenNeeded(generated, node) {
if (!sourceMap) {
if (Array.isArray(generated)) {
return flattenToString(generated);
} else {
return generated;
}
}
if (node == null) {
if (generated instanceof SourceNode) {
return generated;
} else {
node = {};
}
}
if (node.loc == null) {
return new SourceNode(null, null, sourceMap, generated, node.name || null);
}
return new SourceNode(node.loc.start.line, node.loc.start.column, sourceMap === true ? node.loc.source || null : sourceMap, generated, node.name || null);
}
function noEmptySpace() {
return space ? space : " ";
}
function join2(left, right) {
var leftSource, rightSource, leftCharCode, rightCharCode;
leftSource = toSourceNodeWhenNeeded(left).toString();
if (leftSource.length === 0) {
return [right];
}
rightSource = toSourceNodeWhenNeeded(right).toString();
if (rightSource.length === 0) {
return [left];
}
leftCharCode = leftSource.charCodeAt(leftSource.length - 1);
rightCharCode = rightSource.charCodeAt(0);
if ((leftCharCode === 43 || leftCharCode === 45) && leftCharCode === rightCharCode || esutils.code.isIdentifierPartES5(leftCharCode) && esutils.code.isIdentifierPartES5(rightCharCode) || leftCharCode === 47 && rightCharCode === 105) {
return [left, noEmptySpace(), right];
} else if (esutils.code.isWhiteSpace(leftCharCode) || esutils.code.isLineTerminator(leftCharCode) || esutils.code.isWhiteSpace(rightCharCode) || esutils.code.isLineTerminator(rightCharCode)) {
return [left, right];
}
return [left, space, right];
}
function addIndent(stmt) {
return [base, stmt];
}
function withIndent(fn2) {
var previousBase;
previousBase = base;
base += indent;
fn2(base);
base = previousBase;
}
function calculateSpaces(str) {
var i;
for (i = str.length - 1; i >= 0; --i) {
if (esutils.code.isLineTerminator(str.charCodeAt(i))) {
break;
}
}
return str.length - 1 - i;
}
function adjustMultilineComment(value, specialBase) {
var array, i, len, line, j, spaces, previousBase, sn;
array = value.split(/\r\n|[\r\n]/);
spaces = Number.MAX_VALUE;
for (i = 1, len = array.length; i < len; ++i) {
line = array[i];
j = 0;
while (j < line.length && esutils.code.isWhiteSpace(line.charCodeAt(j))) {
++j;
}
if (spaces > j) {
spaces = j;
}
}
if (typeof specialBase !== "undefined") {
previousBase = base;
if (array[1][spaces] === "*") {
specialBase += " ";
}
base = specialBase;
} else {
if (spaces & 1) {
--spaces;
}
previousBase = base;
}
for (i = 1, len = array.length; i < len; ++i) {
sn = toSourceNodeWhenNeeded(addIndent(array[i].slice(spaces)));
array[i] = sourceMap ? sn.join("") : sn;
}
base = previousBase;
return array.join("\n");
}
function generateComment(comment, specialBase) {
if (comment.type === "Line") {
if (endsWithLineTerminator(comment.value)) {
return "//" + comment.value;
} else {
var result = "//" + comment.value;
if (!preserveBlankLines) {
result += "\n";
}
return result;
}
}
if (extra.format.indent.adjustMultilineComment && /[\n\r]/.test(comment.value)) {
return adjustMultilineComment("/*" + comment.value + "*/", specialBase);
}
return "/*" + comment.value + "*/";
}
function addComments(stmt, result) {
var i, len, comment, save, tailingToStatement, specialBase, fragment, extRange, range, prevRange, prefix, infix, suffix, count;
if (stmt.leadingComments && stmt.leadingComments.length > 0) {
save = result;
if (preserveBlankLines) {
comment = stmt.leadingComments[0];
result = [];
extRange = comment.extendedRange;
range = comment.range;
prefix = sourceCode.substring(extRange[0], range[0]);
count = (prefix.match(/\n/g) || []).length;
if (count > 0) {
result.push(stringRepeat("\n", count));
result.push(addIndent(generateComment(comment)));
} else {
result.push(prefix);
result.push(generateComment(comment));
}
prevRange = range;
for (i = 1, len = stmt.leadingComments.length; i < len; i++) {
comment = stmt.leadingComments[i];
range = comment.range;
infix = sourceCode.substring(prevRange[1], range[0]);
count = (infix.match(/\n/g) || []).length;
result.push(stringRepeat("\n", count));
result.push(addIndent(generateComment(comment)));
prevRange = range;
}
suffix = sourceCode.substring(range[1], extRange[1]);
count = (suffix.match(/\n/g) || []).length;
result.push(stringRepeat("\n", count));
} else {
comment = stmt.leadingComments[0];
result = [];
if (safeConcatenation && stmt.type === Syntax.Program && stmt.body.length === 0) {
result.push("\n");
}
result.push(generateComment(comment));
if (!endsWithLineTerminator(toSourceNodeWhenNeeded(result).toString())) {
result.push("\n");
}
for (i = 1, len = stmt.leadingComments.length; i < len; ++i) {
comment = stmt.leadingComments[i];
fragment = [generateComment(comment)];
if (!endsWithLineTerminator(toSourceNodeWhenNeeded(fragment).toString())) {
fragment.push("\n");
}
result.push(addIndent(fragment));
}
}
result.push(addIndent(save));
}
if (stmt.trailingComments) {
if (preserveBlankLines) {
comment = stmt.trailingComments[0];
extRange = comment.extendedRange;
range = comment.range;
prefix = sourceCode.substring(extRange[0], range[0]);
count = (prefix.match(/\n/g) || []).length;
if (count > 0) {
result.push(stringRepeat("\n", count));
result.push(addIndent(generateComment(comment)));
} else {
result.push(prefix);
result.push(generateComment(comment));
}
} else {
tailingToStatement = !endsWithLineTerminator(toSourceNodeWhenNeeded(result).toString());
specialBase = stringRepeat(" ", calculateSpaces(toSourceNodeWhenNeeded([base, result, indent]).toString()));
for (i = 0, len = stmt.trailingComments.length; i < len; ++i) {
comment = stmt.trailingComments[i];
if (tailingToStatement) {
if (i === 0) {
result = [result, indent];
} else {
result = [result, specialBase];
}
result.push(generateComment(comment, specialBase));
} else {
result = [result, addIndent(generateComment(comment))];
}
if (i !== len - 1 && !endsWithLineTerminator(toSourceNodeWhenNeeded(result).toString())) {
result = [result, "\n"];
}
}
}
}
return result;
}
function generateBlankLines(start, end, result) {
var j, newlineCount = 0;
for (j = start; j < end; j++) {
if (sourceCode[j] === "\n") {
newlineCount++;
}
}
for (j = 1; j < newlineCount; j++) {
result.push(newline);
}
}
function parenthesize(text, current, should) {
if (current < should) {
return ["(", text, ")"];
}
return text;
}
function generateVerbatimString(string) {
var i, iz, result;
result = string.split(/\r\n|\n/);
for (i = 1, iz = result.length; i < iz; i++) {
result[i] = newline + base + result[i];
}
return result;
}
function generateVerbatim(expr, precedence) {
var verbatim, result, prec;
verbatim = expr[extra.verbatim];
if (typeof verbatim === "string") {
result = parenthesize(generateVerbatimString(verbatim), Precedence.Sequence, precedence);
} else {
result = generateVerbatimString(verbatim.content);
prec = verbatim.precedence != null ? verbatim.precedence : Precedence.Sequence;
result = parenthesize(result, prec, precedence);
}
return toSourceNodeWhenNeeded(result, expr);
}
function CodeGenerator() {
}
CodeGenerator.prototype.maybeBlock = function(stmt, flags) {
var result, noLeadingComment, that = this;
noLeadingComment = !extra.comment || !stmt.leadingComments;
if (stmt.type === Syntax.BlockStatement && noLeadingComment) {
return [space, this.generateStatement(stmt, flags)];
}
if (stmt.type === Syntax.EmptyStatement && noLeadingComment) {
return ";";
}
withIndent(function() {
result = [
newline,
addIndent(that.generateStatement(stmt, flags))
];
});
return result;
};
CodeGenerator.prototype.maybeBlockSuffix = function(stmt, result) {
var ends = endsWithLineTerminator(toSourceNodeWhenNeeded(result).toString());
if (stmt.type === Syntax.BlockStatement && (!extra.comment || !stmt.leadingComments) && !ends) {
return [result, space];
}
if (ends) {
return [result, base];
}
return [result, newline, base];
};
function generateIdentifier(node) {
return toSourceNodeWhenNeeded(node.name, node);
}
function generateAsyncPrefix(node, spaceRequired) {
return node.async ? "async" + (spaceRequired ? noEmptySpace() : space) : "";
}
function generateStarSuffix(node) {
var isGenerator = node.generator && !extra.moz.starlessGenerator;
return isGenerator ? "*" + space : "";
}
function generateMethodPrefix(prop) {
var func = prop.value, prefix = "";
if (func.async) {
prefix += generateAsyncPrefix(func, !prop.computed);
}
if (func.generator) {
prefix += generateStarSuffix(func) ? "*" : "";
}
return prefix;
}
CodeGenerator.prototype.generatePattern = function(node, precedence, flags) {
if (node.type === Syntax.Identifier) {
return generateIdentifier(node);
}
return this.generateExpression(node, precedence, flags);
};
CodeGenerator.prototype.generateFunctionParams = function(node) {
var i, iz, result, hasDefault;
hasDefault = false;
if (node.type === Syntax.ArrowFunctionExpression && !node.rest && (!node.defaults || node.defaults.length === 0) && node.params.length === 1 && node.params[0].type === Syntax.Identifier) {
result = [generateAsyncPrefix(node, true), generateIdentifier(node.params[0])];
} else {
result = node.type === Syntax.ArrowFunctionExpression ? [generateAsyncPrefix(node, false)] : [];
result.push("(");
if (node.defaults) {
hasDefault = true;
}
for (i = 0, iz = node.params.length; i < iz; ++i) {
if (hasDefault && node.defaults[i]) {
result.push(this.generateAssignment(node.params[i], node.defaults[i], "=", Precedence.Assignment, E_TTT));
} else {
result.push(this.generatePattern(node.params[i], Precedence.Assignment, E_TTT));
}
if (i + 1 < iz) {
result.push("," + space);
}
}
if (node.rest) {
if (node.params.length) {
result.push("," + space);
}
result.push("...");
result.push(generateIdentifier(node.rest));
}
result.push(")");
}
return result;
};
CodeGenerator.prototype.generateFunctionBody = function(node) {
var result, expr;
result = this.generateFunctionParams(node);
if (node.type === Syntax.ArrowFunctionExpression) {
result.push(space);
result.push("=>");
}
if (node.expression) {
result.push(space);
expr = this.generateExpression(node.body, Precedence.Assignment, E_TTT);
if (expr.toString().charAt(0) === "{") {
expr = ["(", expr, ")"];
}
result.push(expr);
} else {
result.push(this.maybeBlock(node.body, S_TTFF));
}
return result;
};
CodeGenerator.prototype.generateIterationForStatement = function(operator, stmt, flags) {
var result = ["for" + (stmt.await ? noEmptySpace() + "await" : "") + space + "("], that = this;
withIndent(function() {
if (stmt.left.type === Syntax.VariableDeclaration) {
withIndent(function() {
result.push(stmt.left.kind + noEmptySpace());
result.push(that.generateStatement(stmt.left.declarations[0], S_FFFF));
});
} else {
result.push(that.generateExpression(stmt.left, Precedence.Call, E_TTT));
}
result = join2(result, operator);
result = [join2(
result,
that.generateExpression(stmt.right, Precedence.Assignment, E_TTT)
), ")"];
});
result.push(this.maybeBlock(stmt.body, flags));
return result;
};
CodeGenerator.prototype.generatePropertyKey = function(expr, computed) {
var result = [];
if (computed) {
result.push("[");
}
result.push(this.generateExpression(expr, Precedence.Assignment, E_TTT));
if (computed) {
result.push("]");
}
return result;
};
CodeGenerator.prototype.generateAssignment = function(left, right, operator, precedence, flags) {
if (Precedence.Assignment < precedence) {
flags |= F_ALLOW_IN;
}
return parenthesize(
[
this.generateExpression(left, Precedence.Call, flags),
space + operator + space,
this.generateExpression(right, Precedence.Assignment, flags)
],
Precedence.Assignment,
precedence
);
};
CodeGenerator.prototype.semicolon = function(flags) {
if (!semicolons && flags & F_SEMICOLON_OPT) {
return "";
}
return ";";
};
CodeGenerator.Statement = {
BlockStatement: function(stmt, flags) {
var range, content, result = ["{", newline], that = this;
withIndent(function() {
if (stmt.body.length === 0 && preserveBlankLines) {
range = stmt.range;
if (range[1] - range[0] > 2) {
content = sourceCode.substring(range[0] + 1, range[1] - 1);
if (content[0] === "\n") {
result = ["{"];
}
result.push(content);
}
}
var i, iz, fragment, bodyFlags;
bodyFlags = S_TFFF;
if (flags & F_FUNC_BODY) {
bodyFlags |= F_DIRECTIVE_CTX;
}
for (i = 0, iz = stmt.body.length; i < iz; ++i) {
if (preserveBlankLines) {
if (i === 0) {
if (stmt.body[0].leadingComments) {
range = stmt.body[0].leadingComments[0].extendedRange;
content = sourceCode.substring(range[0], range[1]);
if (content[0] === "\n") {
result = ["{"];
}
}
if (!stmt.body[0].leadingComments) {
generateBlankLines(stmt.range[0], stmt.body[0].range[0], result);
}
}
if (i > 0) {
if (!stmt.body[i - 1].trailingComments && !stmt.body[i].leadingComments) {
generateBlankLines(stmt.body[i - 1].range[1], stmt.body[i].range[0], result);
}
}
}
if (i === iz - 1) {
bodyFlags |= F_SEMICOLON_OPT;
}
if (stmt.body[i].leadingComments && preserveBlankLines) {
fragment = that.generateStatement(stmt.body[i], bodyFlags);
} else {
fragment = addIndent(that.generateStatement(stmt.body[i], bodyFlags));
}
result.push(fragment);
if (!endsWithLineTerminator(toSourceNodeWhenNeeded(fragment).toString())) {
if (preserveBlankLines && i < iz - 1) {
if (!stmt.body[i + 1].leadingComments) {
result.push(newline);
}
} else {
result.push(newline);
}
}
if (preserveBlankLines) {
if (i === iz - 1) {
if (!stmt.body[i].trailingComments) {
generateBlankLines(stmt.body[i].range[1], stmt.range[1], result);
}
}
}
}
});
result.push(addIndent("}"));
return result;
},
BreakStatement: function(stmt, flags) {
if (stmt.label) {
return "break " + stmt.label.name + this.semicolon(flags);
}
return "break" + this.semicolon(flags);
},
ContinueStatement: function(stmt, flags) {
if (stmt.label) {
return "continue " + stmt.label.name + this.semicolon(flags);
}
return "continue" + this.semicolon(flags);
},
ClassBody: function(stmt, flags) {
var result = ["{", newline], that = this;
withIndent(function(indent2) {
var i, iz;
for (i = 0, iz = stmt.body.length; i < iz; ++i) {
result.push(indent2);
result.push(that.generateExpression(stmt.body[i], Precedence.Sequence, E_TTT));
if (i + 1 < iz) {
result.push(newline);
}
}
});
if (!endsWithLineTerminator(toSourceNodeWhenNeeded(result).toString())) {
result.push(newline);
}
result.push(base);
result.push("}");
return result;
},
ClassDeclaration: function(stmt, flags) {
var result, fragment;
result = ["class"];
if (stmt.id) {
result = join2(result, this.generateExpression(stmt.id, Precedence.Sequence, E_TTT));
}
if (stmt.superClass) {
fragment = join2("extends", this.generateExpression(stmt.superClass, Precedence.Unary, E_TTT));
result = join2(result, fragment);
}
result.push(space);
result.push(this.generateStatement(stmt.body, S_TFFT));
return result;
},
DirectiveStatement: function(stmt, flags) {
if (extra.raw && stmt.raw) {
return stmt.raw + this.semicolon(flags);
}
return escapeDirective(stmt.directive) + this.semicolon(flags);
},
DoWhileStatement: function(stmt, flags) {
var result = join2("do", this.maybeBlock(stmt.body, S_TFFF));
result = this.maybeBlockSuffix(stmt.body, result);
return join2(result, [
"while" + space + "(",
this.generateExpression(stmt.test, Precedence.Sequence, E_TTT),
")" + this.semicolon(flags)
]);
},
CatchClause: function(stmt, flags) {
var result, that = this;
withIndent(function() {
var guard;
if (stmt.param) {
result = [
"catch" + space + "(",
that.generateExpression(stmt.param, Precedence.Sequence, E_TTT),
")"
];
if (stmt.guard) {
guard = that.generateExpression(stmt.guard, Precedence.Sequence, E_TTT);
result.splice(2, 0, " if ", guard);
}
} else {
result = ["catch"];
}
});
result.push(this.maybeBlock(stmt.body, S_TFFF));
return result;
},
DebuggerStatement: function(stmt, flags) {
return "debugger" + this.semicolon(flags);
},
EmptyStatement: function(stmt, flags) {
return ";";
},
ExportDefaultDeclaration: function(stmt, flags) {
var result = ["export"], bodyFlags;
bodyFlags = flags & F_SEMICOLON_OPT ? S_TFFT : S_TFFF;
result = join2(result, "default");
if (isStatement(stmt.declaration)) {
result = join2(result, this.generateStatement(stmt.declaration, bodyFlags));
} else {
result = join2(result, this.generateExpression(stmt.declaration, Precedence.Assignment, E_TTT) + this.semicolon(flags));
}
return result;
},
ExportNamedDeclaration: function(stmt, flags) {
var result = ["export"], bodyFlags, that = this;
bodyFlags = flags & F_SEMICOLON_OPT ? S_TFFT : S_TFFF;
if (stmt.declaration) {
return join2(result, this.generateStatement(stmt.declaration, bodyFlags));
}
if (stmt.specifiers) {
if (stmt.specifiers.length === 0) {
result = join2(result, "{" + space + "}");
} else if (stmt.specifiers[0].type === Syntax.ExportBatchSpecifier) {
result = join2(result, this.generateExpression(stmt.specifiers[0], Precedence.Sequence, E_TTT));
} else {
result = join2(result, "{");
withIndent(function(indent2) {
var i, iz;
result.push(newline);
for (i = 0, iz = stmt.specifiers.length; i < iz; ++i) {
result.push(indent2);
result.push(that.generateExpression(stmt.specifiers[i], Precedence.Sequence, E_TTT));
if (i + 1 < iz) {
result.push("," + newline);
}
}
});
if (!endsWithLineTerminator(toSourceNodeWhenNeeded(result).toString())) {
result.push(newline);
}
result.push(base + "}");
}
if (stmt.source) {
result = join2(result, [
"from" + space,
// ModuleSpecifier
this.generateExpression(stmt.source, Precedence.Sequence, E_TTT),
this.semicolon(flags)
]);
} else {
result.push(this.semicolon(flags));
}
}
return result;
},
ExportAllDeclaration: function(stmt, flags) {
return [
"export" + space,
"*" + space,
"from" + space,
// ModuleSpecifier
this.generateExpression(stmt.source, Precedence.Sequence, E_TTT),
this.semicolon(flags)
];
},
ExpressionStatement: function(stmt, flags) {
var result, fragment;
function isClassPrefixed(fragment2) {
var code;
if (fragment2.slice(0, 5) !== "class") {
return false;
}
code = fragment2.charCodeAt(5);
return code === 123 || esutils.code.isWhiteSpace(code) || esutils.code.isLineTerminator(code);
}
function isFunctionPrefixed(fragment2) {
var code;
if (fragment2.slice(0, 8) !== "function") {
return false;
}
code = fragment2.charCodeAt(8);
return code === 40 || esutils.code.isWhiteSpace(code) || code === 42 || esutils.code.isLineTerminator(code);
}
function isAsyncPrefixed(fragment2) {
var code, i, iz;
if (fragment2.slice(0, 5) !== "async") {
return false;
}
if (!esutils.code.isWhiteSpace(fragment2.charCodeAt(5))) {
return false;
}
for (i = 6, iz = fragment2.length; i < iz; ++i) {
if (!esutils.code.isWhiteSpace(fragment2.charCodeAt(i))) {
break;
}
}
if (i === iz) {
return false;
}
if (fragment2.slice(i, i + 8) !== "function") {
return false;
}
code = fragment2.charCodeAt(i + 8);
return code === 40 || esutils.code.isWhiteSpace(code) || code === 42 || esutils.code.isLineTerminator(code);
}
result = [this.generateExpression(stmt.expression, Precedence.Sequence, E_TTT)];
fragment = toSourceNodeWhenNeeded(result).toString();
if (fragment.charCodeAt(0) === 123 || // ObjectExpression
isClassPrefixed(fragment) || isFunctionPrefixed(fragment) || isAsyncPrefixed(fragment) || directive && flags & F_DIRECTIVE_CTX && stmt.expression.type === Syntax.Literal && typeof stmt.expression.value === "string") {
result = ["(", result, ")" + this.semicolon(flags)];
} else {
result.push(this.semicolon(flags));
}
return result;
},
ImportDeclaration: function(stmt, flags) {
var result, cursor, that = this;
if (stmt.specifiers.length === 0) {
return [
"import",
space,
// ModuleSpecifier
this.generateExpression(stmt.source, Precedence.Sequence, E_TTT),
this.semicolon(flags)
];
}
result = [
"import"
];
cursor = 0;
if (stmt.specifiers[cursor].type === Syntax.ImportDefaultSpecifier) {
result = join2(result, [
this.generateExpression(stmt.specifiers[cursor], Precedence.Sequence, E_TTT)
]);
++cursor;
}
if (stmt.specifiers[cursor]) {
if (cursor !== 0) {
result.push(",");
}
if (stmt.specifiers[cursor].type === Syntax.ImportNamespaceSpecifier) {
result = join2(result, [
space,
this.generateExpression(stmt.specifiers[cursor], Precedence.Sequence, E_TTT)
]);
} else {
result.push(space + "{");
if (stmt.specifiers.length - cursor === 1) {
result.push(space);
result.push(this.generateExpression(stmt.specifiers[cursor], Precedence.Sequence, E_TTT));
result.push(space + "}" + space);
} else {
withIndent(function(indent2) {
var i, iz;
result.push(newline);
for (i = cursor, iz = stmt.specifiers.length; i < iz; ++i) {
result.push(indent2);
result.push(that.generateExpression(stmt.specifiers[i], Precedence.Sequence, E_TTT));
if (i + 1 < iz) {
result.push("," + newline);
}
}
});
if (!endsWithLineTerminator(toSourceNodeWhenNeeded(result).toString())) {
result.push(newline);
}
result.push(base + "}" + space);
}
}
}
result = join2(result, [
"from" + space,
// ModuleSpecifier
this.generateExpression(stmt.source, Precedence.Sequence, E_TTT),
this.semicolon(flags)
]);
return result;
},
VariableDeclarator: function(stmt, flags) {
var itemFlags = flags & F_ALLOW_IN ? E_TTT : E_FTT;
if (stmt.init) {
return [
this.generateExpression(stmt.id, Precedence.Assignment, itemFlags),
space,
"=",
space,
this.generateExpression(stmt.init, Precedence.Assignment, itemFlags)
];
}
return this.generatePattern(stmt.id, Precedence.Assignment, itemFlags);
},
VariableDeclaration: function(stmt, flags) {
var result, i, iz, node, bodyFlags, that = this;
result = [stmt.kind];
bodyFlags = flags & F_ALLOW_IN ? S_TFFF : S_FFFF;
function block() {
node = stmt.declarations[0];
if (extra.comment && node.leadingComments) {
result.push("\n");
result.push(addIndent(that.generateStatement(node, bodyFlags)));
} else {
result.push(noEmptySpace());
result.push(that.generateStatement(node, bodyFlags));
}
for (i = 1, iz = stmt.declarations.length; i < iz; ++i) {
node = stmt.declarations[i];
if (extra.comment && node.leadingComments) {
result.push("," + newline);
result.push(addIndent(that.generateStatement(node, bodyFlags)));
} else {
result.push("," + space);
result.push(that.generateStatement(node, bodyFlags));
}
}
}
if (stmt.declarations.length > 1) {
withIndent(block);
} else {
block();
}
result.push(this.semicolon(flags));
return result;
},
ThrowStatement: function(stmt, flags) {
return [join2(
"throw",
this.generateExpression(stmt.argument, Precedence.Sequence, E_TTT)
), this.semicolon(flags)];
},
TryStatement: function(stmt, flags) {
var result, i, iz, guardedHandlers;
result = ["try", this.maybeBlock(stmt.block, S_TFFF)];
result = this.maybeBlockSuffix(stmt.block, result);
if (stmt.handlers) {
for (i = 0, iz = stmt.handlers.length; i < iz; ++i) {
result = join2(result, this.generateStatement(stmt.handlers[i], S_TFFF));
if (stmt.finalizer || i + 1 !== iz) {
result = this.maybeBlockSuffix(stmt.handlers[i].body, result);
}
}
} else {
guardedHandlers = stmt.guardedHandlers || [];
for (i = 0, iz = guardedHandlers.length; i < iz; ++i) {
result = join2(result, this.generateStatement(guardedHandlers[i], S_TFFF));
if (stmt.finalizer || i + 1 !== iz) {
result = this.maybeBlockSuffix(guardedHandlers[i].body, result);
}
}
if (stmt.handler) {
if (Array.isArray(stmt.handler)) {
for (i = 0, iz = stmt.handler.length; i < iz; ++i) {
result = join2(result, this.generateStatement(stmt.handler[i], S_TFFF));
if (stmt.finalizer || i + 1 !== iz) {
result = this.maybeBlockSuffix(stmt.handler[i].body, result);
}
}
} else {
result = join2(result, this.generateStatement(stmt.handler, S_TFFF));
if (stmt.finalizer) {
result = this.maybeBlockSuffix(stmt.handler.body, result);
}
}
}
}
if (stmt.finalizer) {
result = join2(result, ["finally", this.maybeBlock(stmt.finalizer, S_TFFF)]);
}
return result;
},
SwitchStatement: function(stmt, flags) {
var result, fragment, i, iz, bodyFlags, that = this;
withIndent(function() {
result = [
"switch" + space + "(",
that.generateExpression(stmt.discriminant, Precedence.Sequence, E_TTT),
")" + space + "{" + newline
];
});
if (stmt.cases) {
bodyFlags = S_TFFF;
for (i = 0, iz = stmt.cases.length; i < iz; ++i) {
if (i === iz - 1) {
bodyFlags |= F_SEMICOLON_OPT;
}
fragment = addIndent(this.generateStatement(stmt.cases[i], bodyFlags));
result.push(fragment);
if (!endsWithLineTerminator(toSourceNodeWhenNeeded(fragment).toString())) {
result.push(newline);
}
}
}
result.push(addIndent("}"));
return result;
},
SwitchCase: function(stmt, flags) {
var result, fragment, i, iz, bodyFlags, that = this;
withIndent(function() {
if (stmt.test) {
result = [
join2("case", that.generateExpression(stmt.test, Precedence.Sequence, E_TTT)),
":"
];
} else {
result = ["default:"];
}
i = 0;
iz = stmt.consequent.length;
if (iz && stmt.consequent[0].type === Syntax.BlockStatement) {
fragment = that.maybeBlock(stmt.consequent[0], S_TFFF);
result.push(fragment);
i = 1;
}
if (i !== iz && !endsWithLineTerminator(toSourceNodeWhenNeeded(result).toString())) {
result.push(newline);
}
bodyFlags = S_TFFF;
for (; i < iz; ++i) {
if (i === iz - 1 && flags & F_SEMICOLON_OPT) {
bodyFlags |= F_SEMICOLON_OPT;
}
fragment = addIndent(that.generateStatement(stmt.consequent[i], bodyFlags));
result.push(fragment);
if (i + 1 !== iz && !endsWithLineTerminator(toSourceNodeWhenNeeded(fragment).toString())) {
result.push(newline);
}
}
});
return result;
},
IfStatement: function(stmt, flags) {
var result, bodyFlags, semicolonOptional, that = this;
withIndent(function() {
result = [
"if" + space + "(",
that.generateExpression(stmt.test, Precedence.Sequence, E_TTT),
")"
];
});
semicolonOptional = flags & F_SEMICOLON_OPT;
bodyFlags = S_TFFF;
if (semicolonOptional) {
bodyFlags |= F_SEMICOLON_OPT;
}
if (stmt.alternate) {
result.push(this.maybeBlock(stmt.consequent, S_TFFF));
result = this.maybeBlockSuffix(stmt.consequent, result);
if (stmt.alternate.type === Syntax.IfStatement) {
result = join2(result, ["else ", this.generateStatement(stmt.alternate, bodyFlags)]);
} else {
result = join2(result, join2("else", this.maybeBlock(stmt.alternate, bodyFlags)));
}
} else {
result.push(this.maybeBlock(stmt.consequent, bodyFlags));
}
return result;
},
ForStatement: function(stmt, flags) {
var result, that = this;
withIndent(function() {
result = ["for" + space + "("];
if (stmt.init) {
if (stmt.init.type === Syntax.VariableDeclaration) {
result.push(that.generateStatement(stmt.init, S_FFFF));
} else {
result.push(that.generateExpression(stmt.init, Precedence.Sequence, E_FTT));
result.push(";");
}
} else {
result.push(";");
}
if (stmt.test) {
result.push(space);
result.push(that.generateExpression(stmt.test, Precedence.Sequence, E_TTT));
result.push(";");
} else {
result.push(";");
}
if (stmt.update) {
result.push(space);
result.push(that.generateExpression(stmt.update, Precedence.Sequence, E_TTT));
result.push(")");
} else {
result.push(")");
}
});
result.push(this.maybeBlock(stmt.body, flags & F_SEMICOLON_OPT ? S_TFFT : S_TFFF));
return result;
},
ForInStatement: function(stmt, flags) {
return this.generateIterationForStatement("in", stmt, flags & F_SEMICOLON_OPT ? S_TFFT : S_TFFF);
},
ForOfStatement: function(stmt, flags) {
return this.generateIterationForStatement("of", stmt, flags & F_SEMICOLON_OPT ? S_TFFT : S_TFFF);
},
LabeledStatement: function(stmt, flags) {
return [stmt.label.name + ":", this.maybeBlock(stmt.body, flags & F_SEMICOLON_OPT ? S_TFFT : S_TFFF)];
},
Program: function(stmt, flags) {
var result, fragment, i, iz, bodyFlags;
iz = stmt.body.length;
result = [safeConcatenation && iz > 0 ? "\n" : ""];
bodyFlags = S_TFTF;
for (i = 0; i < iz; ++i) {
if (!safeConcatenation && i === iz - 1) {
bodyFlags |= F_SEMICOLON_OPT;
}
if (preserveBlankLines) {
if (i === 0) {
if (!stmt.body[0].leadingComments) {
generateBlankLines(stmt.range[0], stmt.body[i].range[0], result);
}
}
if (i > 0) {
if (!stmt.body[i - 1].trailingComments && !stmt.body[i].leadingComments) {
generateBlankLines(stmt.body[i - 1].range[1], stmt.body[i].range[0], result);
}
}
}
fragment = addIndent(this.generateStatement(stmt.body[i], bodyFlags));
result.push(fragment);
if (i + 1 < iz && !endsWithLineTerminator(toSourceNodeWhenNeeded(fragment).toString())) {
if (preserveBlankLines) {
if (!stmt.body[i + 1].leadingComments) {
result.push(newline);
}
} else {
result.push(newline);
}
}
if (preserveBlankLines) {
if (i === iz - 1) {
if (!stmt.body[i].trailingComments) {
generateBlankLines(stmt.body[i].range[1], stmt.range[1], result);
}
}
}
}
return result;
},
FunctionDeclaration: function(stmt, flags) {
return [
generateAsyncPrefix(stmt, true),
"function",
generateStarSuffix(stmt) || noEmptySpace(),
stmt.id ? generateIdentifier(stmt.id) : "",
this.generateFunctionBody(stmt)
];
},
ReturnStatement: function(stmt, flags) {
if (stmt.argument) {
return [join2(
"return",
this.generateExpression(stmt.argument, Precedence.Sequence, E_TTT)
), this.semicolon(flags)];
}
return ["return" + this.semicolon(flags)];
},
WhileStatement: function(stmt, flags) {
var result, that = this;
withIndent(function() {
result = [
"while" + space + "(",
that.generateExpression(stmt.test, Precedence.Sequence, E_TTT),
")"
];
});
result.push(this.maybeBlock(stmt.body, flags & F_SEMICOLON_OPT ? S_TFFT : S_TFFF));
return result;
},
WithStatement: function(stmt, flags) {
var result, that = this;
withIndent(function() {
result = [
"with" + space + "(",
that.generateExpression(stmt.object, Precedence.Sequence, E_TTT),
")"
];
});
result.push(this.maybeBlock(stmt.body, flags & F_SEMICOLON_OPT ? S_TFFT : S_TFFF));
return result;
}
};
merge(CodeGenerator.prototype, CodeGenerator.Statement);
CodeGenerator.Expression = {
SequenceExpression: function(expr, precedence, flags) {
var result, i, iz;
if (Precedence.Sequence < precedence) {
flags |= F_ALLOW_IN;
}
result = [];
for (i = 0, iz = expr.expressions.length; i < iz; ++i) {
result.push(this.generateExpression(expr.expressions[i], Precedence.Assignment, flags));
if (i + 1 < iz) {
result.push("," + space);
}
}
return parenthesize(result, Precedence.Sequence, precedence);
},
AssignmentExpression: function(expr, precedence, flags) {
return this.generateAssignment(expr.left, expr.right, expr.operator, precedence, flags);
},
ArrowFunctionExpression: function(expr, precedence, flags) {
return parenthesize(this.generateFunctionBody(expr), Precedence.ArrowFunction, precedence);
},
ConditionalExpression: function(expr, precedence, flags) {
if (Precedence.Conditional < precedence) {
flags |= F_ALLOW_IN;
}
return parenthesize(
[
this.generateExpression(expr.test, Precedence.Coalesce, flags),
space + "?" + space,
this.generateExpression(expr.consequent, Precedence.Assignment, flags),
space + ":" + space,
this.generateExpression(expr.alternate, Precedence.Assignment, flags)
],
Precedence.Conditional,
precedence
);
},
LogicalExpression: function(expr, precedence, flags) {
if (expr.operator === "??") {
flags |= F_FOUND_COALESCE;
}
return this.BinaryExpression(expr, precedence, flags);
},
BinaryExpression: function(expr, precedence, flags) {
var result, leftPrecedence, rightPrecedence, currentPrecedence, fragment, leftSource;
currentPrecedence = BinaryPrecedence[expr.operator];
leftPrecedence = expr.operator === "**" ? Precedence.Postfix : currentPrecedence;
rightPrecedence = expr.operator === "**" ? currentPrecedence : currentPrecedence + 1;
if (currentPrecedence < precedence) {
flags |= F_ALLOW_IN;
}
fragment = this.generateExpression(expr.left, leftPrecedence, flags);
leftSource = fragment.toString();
if (leftSource.charCodeAt(leftSource.length - 1) === 47 && esutils.code.isIdentifierPartES5(expr.operator.charCodeAt(0))) {
result = [fragment, noEmptySpace(), expr.operator];
} else {
result = join2(fragment, expr.operator);
}
fragment = this.generateExpression(expr.right, rightPrecedence, flags);
if (expr.operator === "/" && fragment.toString().charAt(0) === "/" || expr.operator.slice(-1) === "<" && fragment.toString().slice(0, 3) === "!--") {
result.push(noEmptySpace());
result.push(fragment);
} else {
result = join2(result, fragment);
}
if (expr.operator === "in" && !(flags & F_ALLOW_IN)) {
return ["(", result, ")"];
}
if ((expr.operator === "||" || expr.operator === "&&") && flags & F_FOUND_COALESCE) {
return ["(", result, ")"];
}
return parenthesize(result, currentPrecedence, precedence);
},
CallExpression: function(expr, precedence, flags) {
var result, i, iz;
result = [this.generateExpression(expr.callee, Precedence.Call, E_TTF)];
if (expr.optional) {
result.push("?.");
}
result.push("(");
for (i = 0, iz = expr["arguments"].length; i < iz; ++i) {
result.push(this.generateExpression(expr["arguments"][i], Precedence.Assignment, E_TTT));
if (i + 1 < iz) {
result.push("," + space);
}
}
result.push(")");
if (!(flags & F_ALLOW_CALL)) {
return ["(", result, ")"];
}
return parenthesize(result, Precedence.Call, precedence);
},
ChainExpression: function(expr, precedence, flags) {
if (Precedence.OptionalChaining < precedence) {
flags |= F_ALLOW_CALL;
}
var result = this.generateExpression(expr.expression, Precedence.OptionalChaining, flags);
return parenthesize(result, Precedence.OptionalChaining, precedence);
},
NewExpression: function(expr, precedence, flags) {
var result, length, i, iz, itemFlags;
length = expr["arguments"].length;
itemFlags = flags & F_ALLOW_UNPARATH_NEW && !parentheses && length === 0 ? E_TFT : E_TFF;
result = join2(
"new",
this.generateExpression(expr.callee, Precedence.New, itemFlags)
);
if (!(flags & F_ALLOW_UNPARATH_NEW) || parentheses || length > 0) {
result.push("(");
for (i = 0, iz = length; i < iz; ++i) {
result.push(this.generateExpression(expr["arguments"][i], Precedence.Assignment, E_TTT));
if (i + 1 < iz) {
result.push("," + space);
}
}
result.push(")");
}
return parenthesize(result, Precedence.New, precedence);
},
MemberExpression: function(expr, precedence, flags) {
var result, fragment;
result = [this.generateExpression(expr.object, Precedence.Call, flags & F_ALLOW_CALL ? E_TTF : E_TFF)];
if (expr.computed) {
if (expr.optional) {
result.push("?.");
}
result.push("[");
result.push(this.generateExpression(expr.property, Precedence.Sequence, flags & F_ALLOW_CALL ? E_TTT : E_TFT));
result.push("]");
} else {
if (!expr.optional && expr.object.type === Syntax.Literal && typeof expr.object.value === "number") {
fragment = toSourceNodeWhenNeeded(result).toString();
if (fragment.indexOf(".") < 0 && !/[eExX]/.test(fragment) && esutils.code.isDecimalDigit(fragment.charCodeAt(fragment.length - 1)) && !(fragment.length >= 2 && fragment.charCodeAt(0) === 48)) {
result.push(" ");
}
}
result.push(expr.optional ? "?." : ".");
result.push(generateIdentifier(expr.property));
}
return parenthesize(result, Precedence.Member, precedence);
},
MetaProperty: function(expr, precedence, flags) {
var result;
result = [];
result.push(typeof expr.meta === "string" ? expr.meta : generateIdentifier(expr.meta));
result.push(".");
result.push(typeof expr.property === "string" ? expr.property : generateIdentifier(expr.property));
return parenthesize(result, Precedence.Member, precedence);
},
UnaryExpression: function(expr, precedence, flags) {
var result, fragment, rightCharCode, leftSource, leftCharCode;
fragment = this.generateExpression(expr.argument, Precedence.Unary, E_TTT);
if (space === "") {
result = join2(expr.operator, fragment);
} else {
result = [expr.operator];
if (expr.operator.length > 2) {
result = join2(result, fragment);
} else {
leftSource = toSourceNodeWhenNeeded(result).toString();
leftCharCode = leftSource.charCodeAt(leftSource.length - 1);
rightCharCode = fragment.toString().charCodeAt(0);
if ((leftCharCode === 43 || leftCharCode === 45) && leftCharCode === rightCharCode || esutils.code.isIdentifierPartES5(leftCharCode) && esutils.code.isIdentifierPartES5(rightCharCode)) {
result.push(noEmptySpace());
result.push(fragment);
} else {
result.push(fragment);
}
}
}
return parenthesize(result, Precedence.Unary, precedence);
},
YieldExpression: function(expr, precedence, flags) {
var result;
if (expr.delegate) {
result = "yield*";
} else {
result = "yield";
}
if (expr.argument) {
result = join2(
result,
this.generateExpression(expr.argument, Precedence.Yield, E_TTT)
);
}
return parenthesize(result, Precedence.Yield, precedence);
},
AwaitExpression: function(expr, precedence, flags) {
var result = join2(
expr.all ? "await*" : "await",
this.generateExpression(expr.argument, Precedence.Await, E_TTT)
);
return parenthesize(result, Precedence.Await, precedence);
},
UpdateExpression: function(expr, precedence, flags) {
if (expr.prefix) {
return parenthesize(
[
expr.operator,
this.generateExpression(expr.argument, Precedence.Unary, E_TTT)
],
Precedence.Unary,
precedence
);
}
return parenthesize(
[
this.generateExpression(expr.argument, Precedence.Postfix, E_TTT),
expr.operator
],
Precedence.Postfix,
precedence
);
},
FunctionExpression: function(expr, precedence, flags) {
var result = [
generateAsyncPrefix(expr, true),
"function"
];
if (expr.id) {
result.push(generateStarSuffix(expr) || noEmptySpace());
result.push(generateIdentifier(expr.id));
} else {
result.push(generateStarSuffix(expr) || space);
}
result.push(this.generateFunctionBody(expr));
return result;
},
ArrayPattern: function(expr, precedence, flags) {
return this.ArrayExpression(expr, precedence, flags, true);
},
ArrayExpression: function(expr, precedence, flags, isPattern) {
var result, multiline, that = this;
if (!expr.elements.length) {
return "[]";
}
multiline = isPattern ? false : expr.elements.length > 1;
result = ["[", multiline ? newline : ""];
withIndent(function(indent2) {
var i, iz;
for (i = 0, iz = expr.elements.length; i < iz; ++i) {
if (!expr.elements[i]) {
if (multiline) {
result.push(indent2);
}
if (i + 1 === iz) {
result.push(",");
}
} else {
result.push(multiline ? indent2 : "");
result.push(that.generateExpression(expr.elements[i], Precedence.Assignment, E_TTT));
}
if (i + 1 < iz) {
result.push("," + (multiline ? newline : space));
}
}
});
if (multiline && !endsWithLineTerminator(toSourceNodeWhenNeeded(result).toString())) {
result.push(newline);
}
result.push(multiline ? base : "");
result.push("]");
return result;
},
RestElement: function(expr, precedence, flags) {
return "..." + this.generatePattern(expr.argument);
},
ClassExpression: function(expr, precedence, flags) {
var result, fragment;
result = ["class"];
if (expr.id) {
result = join2(result, this.generateExpression(expr.id, Precedence.Sequence, E_TTT));
}
if (expr.superClass) {
fragment = join2("extends", this.generateExpression(expr.superClass, Precedence.Unary, E_TTT));
result = join2(result, fragment);
}
result.push(space);
result.push(this.generateStatement(expr.body, S_TFFT));
return result;
},
MethodDefinition: function(expr, precedence, flags) {
var result, fragment;
if (expr["static"]) {
result = ["static" + space];
} else {
result = [];
}
if (expr.kind === "get" || expr.kind === "set") {
fragment = [
join2(expr.kind, this.generatePropertyKey(expr.key, expr.computed)),
this.generateFunctionBody(expr.value)
];
} else {
fragment = [
generateMethodPrefix(expr),
this.generatePropertyKey(expr.key, expr.computed),
this.generateFunctionBody(expr.value)
];
}
return join2(result, fragment);
},
Property: function(expr, precedence, flags) {
if (expr.kind === "get" || expr.kind === "set") {
return [
expr.kind,
noEmptySpace(),
this.generatePropertyKey(expr.key, expr.computed),
this.generateFunctionBody(expr.value)
];
}
if (expr.shorthand) {
if (expr.value.type === "AssignmentPattern") {
return this.AssignmentPattern(expr.value, Precedence.Sequence, E_TTT);
}
return this.generatePropertyKey(expr.key, expr.computed);
}
if (expr.method) {
return [
generateMethodPrefix(expr),
this.generatePropertyKey(expr.key, expr.computed),
this.generateFunctionBody(expr.value)
];
}
return [
this.generatePropertyKey(expr.key, expr.computed),
":" + space,
this.generateExpression(expr.value, Precedence.Assignment, E_TTT)
];
},
ObjectExpression: function(expr, precedence, flags) {
var multiline, result, fragment, that = this;
if (!expr.properties.length) {
return "{}";
}
multiline = expr.properties.length > 1;
withIndent(function() {
fragment = that.generateExpression(expr.properties[0], Precedence.Sequence, E_TTT);
});
if (!multiline) {
if (!hasLineTerminator(toSourceNodeWhenNeeded(fragment).toString())) {
return ["{", space, fragment, space, "}"];
}
}
withIndent(function(indent2) {
var i, iz;
result = ["{", newline, indent2, fragment];
if (multiline) {
result.push("," + newline);
for (i = 1, iz = expr.properties.length; i < iz; ++i) {
result.push(indent2);
result.push(that.generateExpression(expr.properties[i], Precedence.Sequence, E_TTT));
if (i + 1 < iz) {
result.push("," + newline);
}
}
}
});
if (!endsWithLineTerminator(toSourceNodeWhenNeeded(result).toString())) {
result.push(newline);
}
result.push(base);
result.push("}");
return result;
},
AssignmentPattern: function(expr, precedence, flags) {
return this.generateAssignment(expr.left, expr.right, "=", precedence, flags);
},
ObjectPattern: function(expr, precedence, flags) {
var result, i, iz, multiline, property, that = this;
if (!expr.properties.length) {
return "{}";
}
multiline = false;
if (expr.properties.length === 1) {
property = expr.properties[0];
if (property.type === Syntax.Property && property.value.type !== Syntax.Identifier) {
multiline = true;
}
} else {
for (i = 0, iz = expr.properties.length; i < iz; ++i) {
property = expr.properties[i];
if (property.type === Syntax.Property && !property.shorthand) {
multiline = true;
break;
}
}
}
result = ["{", multiline ? newline : ""];
withIndent(function(indent2) {
var i2, iz2;
for (i2 = 0, iz2 = expr.properties.length; i2 < iz2; ++i2) {
result.push(multiline ? indent2 : "");
result.push(that.generateExpression(expr.properties[i2], Precedence.Sequence, E_TTT));
if (i2 + 1 < iz2) {
result.push("," + (multiline ? newline : space));
}
}
});
if (multiline && !endsWithLineTerminator(toSourceNodeWhenNeeded(result).toString())) {
result.push(newline);
}
result.push(multiline ? base : "");
result.push("}");
return result;
},
ThisExpression: function(expr, precedence, flags) {
return "this";
},
Super: function(expr, precedence, flags) {
return "super";
},
Identifier: function(expr, precedence, flags) {
return generateIdentifier(expr);
},
ImportDefaultSpecifier: function(expr, precedence, flags) {
return generateIdentifier(expr.id || expr.local);
},
ImportNamespaceSpecifier: function(expr, precedence, flags) {
var result = ["*"];
var id = expr.id || expr.local;
if (id) {
result.push(space + "as" + noEmptySpace() + generateIdentifier(id));
}
return result;
},
ImportSpecifier: function(expr, precedence, flags) {
var imported = expr.imported;
var result = [imported.name];
var local = expr.local;
if (local && local.name !== imported.name) {
result.push(noEmptySpace() + "as" + noEmptySpace() + generateIdentifier(local));
}
return result;
},
ExportSpecifier: function(expr, precedence, flags) {
var local = expr.local;
var result = [local.name];
var exported = expr.exported;
if (exported && exported.name !== local.name) {
result.push(noEmptySpace() + "as" + noEmptySpace() + generateIdentifier(exported));
}
return result;
},
Literal: function(expr, precedence, flags) {
var raw;
if (expr.hasOwnProperty("raw") && parse && extra.raw) {
try {
raw = parse(expr.raw).body[0].expression;
if (raw.type === Syntax.Literal) {
if (raw.value === expr.value) {
return expr.raw;
}
}
} catch (e) {
}
}
if (expr.regex) {
return "/" + expr.regex.pattern + "/" + expr.regex.flags;
}
if (typeof expr.value === "bigint") {
return expr.value.toString() + "n";
}
if (expr.bigint) {
return expr.bigint + "n";
}
if (expr.value === null) {
return "null";
}
if (typeof expr.value === "string") {
return escapeString(expr.value);
}
if (typeof expr.value === "number") {
return generateNumber(expr.value);
}
if (typeof expr.value === "boolean") {
return expr.value ? "true" : "false";
}
return generateRegExp(expr.value);
},
GeneratorExpression: function(expr, precedence, flags) {
return this.ComprehensionExpression(expr, precedence, flags);
},
ComprehensionExpression: function(expr, precedence, flags) {
var result, i, iz, fragment, that = this;
result = expr.type === Syntax.GeneratorExpression ? ["("] : ["["];
if (extra.moz.comprehensionExpressionStartsWithAssignment) {
fragment = this.generateExpression(expr.body, Precedence.Assignment, E_TTT);
result.push(fragment);
}
if (expr.blocks) {
withIndent(function() {
for (i = 0, iz = expr.blocks.length; i < iz; ++i) {
fragment = that.generateExpression(expr.blocks[i], Precedence.Sequence, E_TTT);
if (i > 0 || extra.moz.comprehensionExpressionStartsWithAssignment) {
result = join2(result, fragment);
} else {
result.push(fragment);
}
}
});
}
if (expr.filter) {
result = join2(result, "if" + space);
fragment = this.generateExpression(expr.filter, Precedence.Sequence, E_TTT);
result = join2(result, ["(", fragment, ")"]);
}
if (!extra.moz.comprehensionExpressionStartsWithAssignment) {
fragment = this.generateExpression(expr.body, Precedence.Assignment, E_TTT);
result = join2(result, fragment);
}
result.push(expr.type === Syntax.GeneratorExpression ? ")" : "]");
return result;
},
ComprehensionBlock: function(expr, precedence, flags) {
var fragment;
if (expr.left.type === Syntax.VariableDeclaration) {
fragment = [
expr.left.kind,
noEmptySpace(),
this.generateStatement(expr.left.declarations[0], S_FFFF)
];
} else {
fragment = this.generateExpression(expr.left, Precedence.Call, E_TTT);
}
fragment = join2(fragment, expr.of ? "of" : "in");
fragment = join2(fragment, this.generateExpression(expr.right, Precedence.Sequence, E_TTT));
return ["for" + space + "(", fragment, ")"];
},
SpreadElement: function(expr, precedence, flags) {
return [
"...",
this.generateExpression(expr.argument, Precedence.Assignment, E_TTT)
];
},
TaggedTemplateExpression: function(expr, precedence, flags) {
var itemFlags = E_TTF;
if (!(flags & F_ALLOW_CALL)) {
itemFlags = E_TFF;
}
var result = [
this.generateExpression(expr.tag, Precedence.Call, itemFlags),
this.generateExpression(expr.quasi, Precedence.Primary, E_FFT)
];
return parenthesize(result, Precedence.TaggedTemplate, precedence);
},
TemplateElement: function(expr, precedence, flags) {
return expr.value.raw;
},
TemplateLiteral: function(expr, precedence, flags) {
var result, i, iz;
result = ["`"];
for (i = 0, iz = expr.quasis.length; i < iz; ++i) {
result.push(this.generateExpression(expr.quasis[i], Precedence.Primary, E_TTT));
if (i + 1 < iz) {
result.push("${" + space);
result.push(this.generateExpression(expr.expressions[i], Precedence.Sequence, E_TTT));
result.push(space + "}");
}
}
result.push("`");
return result;
},
ModuleSpecifier: function(expr, precedence, flags) {
return this.Literal(expr, precedence, flags);
},
ImportExpression: function(expr, precedence, flag) {
return parenthesize([
"import(",
this.generateExpression(expr.source, Precedence.Assignment, E_TTT),
")"
], Precedence.Call, precedence);
}
};
merge(CodeGenerator.prototype, CodeGenerator.Expression);
CodeGenerator.prototype.generateExpression = function(expr, precedence, flags) {
var result, type;
type = expr.type || Syntax.Property;
if (extra.verbatim && expr.hasOwnProperty(extra.verbatim)) {
return generateVerbatim(expr, precedence);
}
result = this[type](expr, precedence, flags);
if (extra.comment) {
result = addComments(expr, result);
}
return toSourceNodeWhenNeeded(result, expr);
};
CodeGenerator.prototype.generateStatement = function(stmt, flags) {
var result, fragment;
result = this[stmt.type](stmt, flags);
if (extra.comment) {
result = addComments(stmt, result);
}
fragment = toSourceNodeWhenNeeded(result).toString();
if (stmt.type === Syntax.Program && !safeConcatenation && newline === "" && fragment.charAt(fragment.length - 1) === "\n") {
result = sourceMap ? toSourceNodeWhenNeeded(result).replaceRight(/\s+$/, "") : fragment.replace(/\s+$/, "");
}
return toSourceNodeWhenNeeded(result, stmt);
};
function generateInternal(node) {
var codegen;
codegen = new CodeGenerator();
if (isStatement(node)) {
return codegen.generateStatement(node, S_TFFF);
}
if (isExpression(node)) {
return codegen.generateExpression(node, Precedence.Sequence, E_TTT);
}
throw new Error("Unknown node type: " + node.type);
}
function generate(node, options) {
var defaultOptions = getDefaultOptions(), result, pair;
if (options != null) {
if (typeof options.indent === "string") {
defaultOptions.format.indent.style = options.indent;
}
if (typeof options.base === "number") {
defaultOptions.format.indent.base = options.base;
}
options = updateDeeply(defaultOptions, options);
indent = options.format.indent.style;
if (typeof options.base === "string") {
base = options.base;
} else {
base = stringRepeat(indent, options.format.indent.base);
}
} else {
options = defaultOptions;
indent = options.format.indent.style;
base = stringRepeat(indent, options.format.indent.base);
}
json = options.format.json;
renumber = options.format.renumber;
hexadecimal = json ? false : options.format.hexadecimal;
quotes = json ? "double" : options.format.quotes;
escapeless = options.format.escapeless;
newline = options.format.newline;
space = options.format.space;
if (options.format.compact) {
newline = space = indent = base = "";
}
parentheses = options.format.parentheses;
semicolons = options.format.semicolons;
safeConcatenation = options.format.safeConcatenation;
directive = options.directive;
parse = json ? null : options.parse;
sourceMap = options.sourceMap;
sourceCode = options.sourceCode;
preserveBlankLines = options.format.preserveBlankLines && sourceCode !== null;
extra = options;
if (sourceMap) {
if (!exports2.browser) {
SourceNode = require_source_map().SourceNode;
} else {
SourceNode = global.sourceMap.SourceNode;
}
}
result = generateInternal(node);
if (!sourceMap) {
pair = { code: result.toString(), map: null };
return options.sourceMapWithCode ? pair : pair.code;
}
pair = result.toStringWithSourceMap({
file: options.file,
sourceRoot: options.sourceMapRoot
});
if (options.sourceContent) {
pair.map.setSourceContent(
options.sourceMap,
options.sourceContent
);
}
if (options.sourceMapWithCode) {
return pair;
}
return pair.map.toString();
}
FORMAT_MINIFY = {
indent: {
style: "",
base: 0
},
renumber: true,
hexadecimal: true,
quotes: "auto",
escapeless: true,
compact: true,
parentheses: false,
semicolons: false
};
FORMAT_DEFAULTS = getDefaultOptions().format;
exports2.version = require_package().version;
exports2.generate = generate;
exports2.attachComments = estraverse.attachComments;
exports2.Precedence = updateDeeply({}, Precedence);
exports2.browser = false;
exports2.FORMAT_MINIFY = FORMAT_MINIFY;
exports2.FORMAT_DEFAULTS = FORMAT_DEFAULTS;
})();
}
});
// ../../../usr/share/nodejs/esprima/src/syntax.js
var require_syntax = __commonJS({
"../../../usr/share/nodejs/esprima/src/syntax.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.Syntax = void 0;
exports2.Syntax = {
AssignmentExpression: "AssignmentExpression",
AssignmentPattern: "AssignmentPattern",
ArrayExpression: "ArrayExpression",
ArrayPattern: "ArrayPattern",
ArrowFunctionExpression: "ArrowFunctionExpression",
AwaitExpression: "AwaitExpression",
BlockStatement: "BlockStatement",
BinaryExpression: "BinaryExpression",
BreakStatement: "BreakStatement",
CallExpression: "CallExpression",
CatchClause: "CatchClause",
ClassBody: "ClassBody",
ClassDeclaration: "ClassDeclaration",
ClassExpression: "ClassExpression",
ConditionalExpression: "ConditionalExpression",
ContinueStatement: "ContinueStatement",
DoWhileStatement: "DoWhileStatement",
DebuggerStatement: "DebuggerStatement",
EmptyStatement: "EmptyStatement",
ExportAllDeclaration: "ExportAllDeclaration",
ExportDefaultDeclaration: "ExportDefaultDeclaration",
ExportNamedDeclaration: "ExportNamedDeclaration",
ExportSpecifier: "ExportSpecifier",
ExpressionStatement: "ExpressionStatement",
ForStatement: "ForStatement",
ForOfStatement: "ForOfStatement",
ForInStatement: "ForInStatement",
FunctionDeclaration: "FunctionDeclaration",
FunctionExpression: "FunctionExpression",
Identifier: "Identifier",
IfStatement: "IfStatement",
ImportDeclaration: "ImportDeclaration",
ImportDefaultSpecifier: "ImportDefaultSpecifier",
ImportNamespaceSpecifier: "ImportNamespaceSpecifier",
ImportSpecifier: "ImportSpecifier",
Literal: "Literal",
LabeledStatement: "LabeledStatement",
LogicalExpression: "LogicalExpression",
MemberExpression: "MemberExpression",
MetaProperty: "MetaProperty",
MethodDefinition: "MethodDefinition",
NewExpression: "NewExpression",
ObjectExpression: "ObjectExpression",
ObjectPattern: "ObjectPattern",
Program: "Program",
Property: "Property",
RestElement: "RestElement",
ReturnStatement: "ReturnStatement",
SequenceExpression: "SequenceExpression",
SpreadElement: "SpreadElement",
Super: "Super",
SwitchCase: "SwitchCase",
SwitchStatement: "SwitchStatement",
TaggedTemplateExpression: "TaggedTemplateExpression",
TemplateElement: "TemplateElement",
TemplateLiteral: "TemplateLiteral",
ThisExpression: "ThisExpression",
ThrowStatement: "ThrowStatement",
TryStatement: "TryStatement",
UnaryExpression: "UnaryExpression",
UpdateExpression: "UpdateExpression",
VariableDeclaration: "VariableDeclaration",
VariableDeclarator: "VariableDeclarator",
WhileStatement: "WhileStatement",
WithStatement: "WithStatement",
YieldExpression: "YieldExpression"
};
}
});
// ../../../usr/share/nodejs/esprima/src/comment-handler.js
var require_comment_handler = __commonJS({
"../../../usr/share/nodejs/esprima/src/comment-handler.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.CommentHandler = void 0;
var syntax_1 = require_syntax();
var CommentHandler = (
/** @class */
function() {
function CommentHandler2() {
this.attach = false;
this.comments = [];
this.stack = [];
this.leading = [];
this.trailing = [];
}
CommentHandler2.prototype.insertInnerComments = function(node, metadata) {
if (node.type === syntax_1.Syntax.BlockStatement && node.body.length === 0) {
var innerComments = [];
for (var i = this.leading.length - 1; i >= 0; --i) {
var entry = this.leading[i];
if (metadata.end.offset >= entry.start) {
innerComments.unshift(entry.comment);
this.leading.splice(i, 1);
this.trailing.splice(i, 1);
}
}
if (innerComments.length) {
node.innerComments = innerComments;
}
}
};
CommentHandler2.prototype.findTrailingComments = function(metadata) {
var trailingComments = [];
if (this.trailing.length > 0) {
for (var i = this.trailing.length - 1; i >= 0; --i) {
var entry_1 = this.trailing[i];
if (entry_1.start >= metadata.end.offset) {
trailingComments.unshift(entry_1.comment);
}
}
this.trailing.length = 0;
return trailingComments;
}
var entry = this.stack[this.stack.length - 1];
if (entry && entry.node.trailingComments) {
var firstComment = entry.node.trailingComments[0];
if (firstComment && firstComment.range[0] >= metadata.end.offset) {
trailingComments = entry.node.trailingComments;
delete entry.node.trailingComments;
}
}
return trailingComments;
};
CommentHandler2.prototype.findLeadingComments = function(metadata) {
var leadingComments = [];
var target;
while (this.stack.length > 0) {
var entry = this.stack[this.stack.length - 1];
if (entry && entry.start >= metadata.start.offset) {
target = entry.node;
this.stack.pop();
} else {
break;
}
}
if (target) {
var count = target.leadingComments ? target.leadingComments.length : 0;
for (var i = count - 1; i >= 0; --i) {
var comment = target.leadingComments[i];
if (comment.range[1] <= metadata.start.offset) {
leadingComments.unshift(comment);
target.leadingComments.splice(i, 1);
}
}
if (target.leadingComments && target.leadingComments.length === 0) {
delete target.leadingComments;
}
return leadingComments;
}
for (var i = this.leading.length - 1; i >= 0; --i) {
var entry = this.leading[i];
if (entry.start <= metadata.start.offset) {
leadingComments.unshift(entry.comment);
this.leading.splice(i, 1);
}
}
return leadingComments;
};
CommentHandler2.prototype.visitNode = function(node, metadata) {
if (node.type === syntax_1.Syntax.Program && node.body.length > 0) {
return;
}
this.insertInnerComments(node, metadata);
var trailingComments = this.findTrailingComments(metadata);
var leadingComments = this.findLeadingComments(metadata);
if (leadingComments.length > 0) {
node.leadingComments = leadingComments;
}
if (trailingComments.length > 0) {
node.trailingComments = trailingComments;
}
this.stack.push({
node,
start: metadata.start.offset
});
};
CommentHandler2.prototype.visitComment = function(node, metadata) {
var type = node.type[0] === "L" ? "Line" : "Block";
var comment = {
type,
value: node.value
};
if (node.range) {
comment.range = node.range;
}
if (node.loc) {
comment.loc = node.loc;
}
this.comments.push(comment);
if (this.attach) {
var entry = {
comment: {
type,
value: node.value,
range: [metadata.start.offset, metadata.end.offset]
},
start: metadata.start.offset
};
if (node.loc) {
entry.comment.loc = node.loc;
}
node.type = type;
this.leading.push(entry);
this.trailing.push(entry);
}
};
CommentHandler2.prototype.visit = function(node, metadata) {
if (node.type === "LineComment") {
this.visitComment(node, metadata);
} else if (node.type === "BlockComment") {
this.visitComment(node, metadata);
} else if (this.attach) {
this.visitNode(node, metadata);
}
};
return CommentHandler2;
}()
);
exports2.CommentHandler = CommentHandler;
}
});
// ../../../usr/share/nodejs/esprima/src/character.js
var require_character = __commonJS({
"../../../usr/share/nodejs/esprima/src/character.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.Character = void 0;
var Regex = {
// Unicode v8.0.0 NonAsciiIdentifierStart:
NonAsciiIdentifierStart: /[\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\u16EE-\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\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-\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-\uA6EF\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-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\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-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\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[\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDEC0-\uDEF8]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F]|\uD82C[\uDC00\uDC01]|\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]|\uD83A[\uDC00-\uDCC4]|\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]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]/,
// Unicode v8.0.0 NonAsciiIdentifierPart:
NonAsciiIdentifierPart: /[\xAA\xB5\xB7\xBA\xC0-\xD6\xD8-\xF6\xF8-\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\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u08A0-\u08B4\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\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\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-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C81-\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\u0D01-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\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\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\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-\u1877\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\u1CD0-\u1CD2\u1CD4-\u1CF6\u1CF8\u1CF9\u1D00-\u1DF5\u1DFC-\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\u200C\u200D\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-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AD\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C4\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\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-\uAB65\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\uDF30-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\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-\uDE33\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]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\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\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDEC0-\uDEF8]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\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[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F]|\uD82C[\uDC00\uDC01]|\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]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6]|\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]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/
};
exports2.Character = {
/* tslint:disable:no-bitwise */
fromCodePoint: function(cp) {
return cp < 65536 ? String.fromCharCode(cp) : String.fromCharCode(55296 + (cp - 65536 >> 10)) + String.fromCharCode(56320 + (cp - 65536 & 1023));
},
// https://tc39.github.io/ecma262/#sec-white-space
isWhiteSpace: function(cp) {
return cp === 32 || cp === 9 || cp === 11 || cp === 12 || cp === 160 || cp >= 5760 && [5760, 8192, 8193, 8194, 8195, 8196, 8197, 8198, 8199, 8200, 8201, 8202, 8239, 8287, 12288, 65279].indexOf(cp) >= 0;
},
// https://tc39.github.io/ecma262/#sec-line-terminators
isLineTerminator: function(cp) {
return cp === 10 || cp === 13 || cp === 8232 || cp === 8233;
},
// https://tc39.github.io/ecma262/#sec-names-and-keywords
isIdentifierStart: function(cp) {
return cp === 36 || cp === 95 || // $ (dollar) and _ (underscore)
cp >= 65 && cp <= 90 || // A..Z
cp >= 97 && cp <= 122 || // a..z
cp === 92 || // \ (backslash)
cp >= 128 && Regex.NonAsciiIdentifierStart.test(exports2.Character.fromCodePoint(cp));
},
isIdentifierPart: function(cp) {
return cp === 36 || cp === 95 || // $ (dollar) and _ (underscore)
cp >= 65 && cp <= 90 || // A..Z
cp >= 97 && cp <= 122 || // a..z
cp >= 48 && cp <= 57 || // 0..9
cp === 92 || // \ (backslash)
cp >= 128 && Regex.NonAsciiIdentifierPart.test(exports2.Character.fromCodePoint(cp));
},
// https://tc39.github.io/ecma262/#sec-literals-numeric-literals
isDecimalDigit: function(cp) {
return cp >= 48 && cp <= 57;
},
isHexDigit: function(cp) {
return cp >= 48 && cp <= 57 || // 0..9
cp >= 65 && cp <= 70 || // A..F
cp >= 97 && cp <= 102;
},
isOctalDigit: function(cp) {
return cp >= 48 && cp <= 55;
}
};
}
});
// ../../../usr/share/nodejs/esprima/src/jsx-syntax.js
var require_jsx_syntax = __commonJS({
"../../../usr/share/nodejs/esprima/src/jsx-syntax.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.JSXSyntax = void 0;
exports2.JSXSyntax = {
JSXAttribute: "JSXAttribute",
JSXClosingElement: "JSXClosingElement",
JSXElement: "JSXElement",
JSXEmptyExpression: "JSXEmptyExpression",
JSXExpressionContainer: "JSXExpressionContainer",
JSXIdentifier: "JSXIdentifier",
JSXMemberExpression: "JSXMemberExpression",
JSXNamespacedName: "JSXNamespacedName",
JSXOpeningElement: "JSXOpeningElement",
JSXSpreadAttribute: "JSXSpreadAttribute",
JSXText: "JSXText"
};
}
});
// ../../../usr/share/nodejs/esprima/src/jsx-nodes.js
var require_jsx_nodes = __commonJS({
"../../../usr/share/nodejs/esprima/src/jsx-nodes.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.JSXText = exports2.JSXSpreadAttribute = exports2.JSXOpeningElement = exports2.JSXNamespacedName = exports2.JSXAttribute = exports2.JSXMemberExpression = exports2.JSXIdentifier = exports2.JSXExpressionContainer = exports2.JSXEmptyExpression = exports2.JSXElement = exports2.JSXClosingElement = void 0;
var jsx_syntax_1 = require_jsx_syntax();
var JSXClosingElement = (
/** @class */
/* @__PURE__ */ function() {
function JSXClosingElement2(name) {
this.type = jsx_syntax_1.JSXSyntax.JSXClosingElement;
this.name = name;
}
return JSXClosingElement2;
}()
);
exports2.JSXClosingElement = JSXClosingElement;
var JSXElement = (
/** @class */
/* @__PURE__ */ function() {
function JSXElement2(openingElement, children, closingElement) {
this.type = jsx_syntax_1.JSXSyntax.JSXElement;
this.openingElement = openingElement;
this.children = children;
this.closingElement = closingElement;
}
return JSXElement2;
}()
);
exports2.JSXElement = JSXElement;
var JSXEmptyExpression = (
/** @class */
/* @__PURE__ */ function() {
function JSXEmptyExpression2() {
this.type = jsx_syntax_1.JSXSyntax.JSXEmptyExpression;
}
return JSXEmptyExpression2;
}()
);
exports2.JSXEmptyExpression = JSXEmptyExpression;
var JSXExpressionContainer = (
/** @class */
/* @__PURE__ */ function() {
function JSXExpressionContainer2(expression) {
this.type = jsx_syntax_1.JSXSyntax.JSXExpressionContainer;
this.expression = expression;
}
return JSXExpressionContainer2;
}()
);
exports2.JSXExpressionContainer = JSXExpressionContainer;
var JSXIdentifier = (
/** @class */
/* @__PURE__ */ function() {
function JSXIdentifier2(name) {
this.type = jsx_syntax_1.JSXSyntax.JSXIdentifier;
this.name = name;
}
return JSXIdentifier2;
}()
);
exports2.JSXIdentifier = JSXIdentifier;
var JSXMemberExpression = (
/** @class */
/* @__PURE__ */ function() {
function JSXMemberExpression2(object, property) {
this.type = jsx_syntax_1.JSXSyntax.JSXMemberExpression;
this.object = object;
this.property = property;
}
return JSXMemberExpression2;
}()
);
exports2.JSXMemberExpression = JSXMemberExpression;
var JSXAttribute = (
/** @class */
/* @__PURE__ */ function() {
function JSXAttribute2(name, value) {
this.type = jsx_syntax_1.JSXSyntax.JSXAttribute;
this.name = name;
this.value = value;
}
return JSXAttribute2;
}()
);
exports2.JSXAttribute = JSXAttribute;
var JSXNamespacedName = (
/** @class */
/* @__PURE__ */ function() {
function JSXNamespacedName2(namespace, name) {
this.type = jsx_syntax_1.JSXSyntax.JSXNamespacedName;
this.namespace = namespace;
this.name = name;
}
return JSXNamespacedName2;
}()
);
exports2.JSXNamespacedName = JSXNamespacedName;
var JSXOpeningElement = (
/** @class */
/* @__PURE__ */ function() {
function JSXOpeningElement2(name, selfClosing, attributes) {
this.type = jsx_syntax_1.JSXSyntax.JSXOpeningElement;
this.name = name;
this.selfClosing = selfClosing;
this.attributes = attributes;
}
return JSXOpeningElement2;
}()
);
exports2.JSXOpeningElement = JSXOpeningElement;
var JSXSpreadAttribute = (
/** @class */
/* @__PURE__ */ function() {
function JSXSpreadAttribute2(argument) {
this.type = jsx_syntax_1.JSXSyntax.JSXSpreadAttribute;
this.argument = argument;
}
return JSXSpreadAttribute2;
}()
);
exports2.JSXSpreadAttribute = JSXSpreadAttribute;
var JSXText = (
/** @class */
/* @__PURE__ */ function() {
function JSXText2(value, raw) {
this.type = jsx_syntax_1.JSXSyntax.JSXText;
this.value = value;
this.raw = raw;
}
return JSXText2;
}()
);
exports2.JSXText = JSXText;
}
});
// ../../../usr/share/nodejs/esprima/src/nodes.js
var require_nodes = __commonJS({
"../../../usr/share/nodejs/esprima/src/nodes.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.RegexLiteral = exports2.Property = exports2.ObjectPattern = exports2.ObjectExpression = exports2.NewExpression = exports2.Module = exports2.MethodDefinition = exports2.MetaProperty = exports2.Literal = exports2.LabeledStatement = exports2.ImportSpecifier = exports2.ImportNamespaceSpecifier = exports2.ImportDefaultSpecifier = exports2.ImportDeclaration = exports2.IfStatement = exports2.Identifier = exports2.FunctionExpression = exports2.FunctionDeclaration = exports2.ForStatement = exports2.ForOfStatement = exports2.ForInStatement = exports2.ExpressionStatement = exports2.ExportSpecifier = exports2.ExportNamedDeclaration = exports2.ExportDefaultDeclaration = exports2.ExportAllDeclaration = exports2.EmptyStatement = exports2.DoWhileStatement = exports2.Directive = exports2.DebuggerStatement = exports2.ContinueStatement = exports2.ConditionalExpression = exports2.ComputedMemberExpression = exports2.ClassExpression = exports2.ClassDeclaration = exports2.ClassBody = exports2.CatchClause = exports2.CallExpression = exports2.BreakStatement = exports2.BlockStatement = exports2.BinaryExpression = exports2.AwaitExpression = exports2.AsyncFunctionExpression = exports2.AsyncFunctionDeclaration = exports2.AsyncArrowFunctionExpression = exports2.AssignmentPattern = exports2.AssignmentExpression = exports2.ArrowFunctionExpression = exports2.ArrayPattern = exports2.ArrayExpression = void 0;
exports2.YieldExpression = exports2.WithStatement = exports2.WhileStatement = exports2.VariableDeclarator = exports2.VariableDeclaration = exports2.UpdateExpression = exports2.UnaryExpression = exports2.TryStatement = exports2.ThrowStatement = exports2.ThisExpression = exports2.TemplateLiteral = exports2.TemplateElement = exports2.TaggedTemplateExpression = exports2.SwitchStatement = exports2.SwitchCase = exports2.Super = exports2.StaticMemberExpression = exports2.SpreadElement = exports2.SequenceExpression = exports2.Script = exports2.ReturnStatement = exports2.RestElement = void 0;
var syntax_1 = require_syntax();
var ArrayExpression = (
/** @class */
/* @__PURE__ */ function() {
function ArrayExpression2(elements) {
this.type = syntax_1.Syntax.ArrayExpression;
this.elements = elements;
}
return ArrayExpression2;
}()
);
exports2.ArrayExpression = ArrayExpression;
var ArrayPattern = (
/** @class */
/* @__PURE__ */ function() {
function ArrayPattern2(elements) {
this.type = syntax_1.Syntax.ArrayPattern;
this.elements = elements;
}
return ArrayPattern2;
}()
);
exports2.ArrayPattern = ArrayPattern;
var ArrowFunctionExpression = (
/** @class */
/* @__PURE__ */ function() {
function ArrowFunctionExpression2(params, body, expression) {
this.type = syntax_1.Syntax.ArrowFunctionExpression;
this.id = null;
this.params = params;
this.body = body;
this.generator = false;
this.expression = expression;
this.async = false;
}
return ArrowFunctionExpression2;
}()
);
exports2.ArrowFunctionExpression = ArrowFunctionExpression;
var AssignmentExpression = (
/** @class */
/* @__PURE__ */ function() {
function AssignmentExpression2(operator, left, right) {
this.type = syntax_1.Syntax.AssignmentExpression;
this.operator = operator;
this.left = left;
this.right = right;
}
return AssignmentExpression2;
}()
);
exports2.AssignmentExpression = AssignmentExpression;
var AssignmentPattern = (
/** @class */
/* @__PURE__ */ function() {
function AssignmentPattern2(left, right) {
this.type = syntax_1.Syntax.AssignmentPattern;
this.left = left;
this.right = right;
}
return AssignmentPattern2;
}()
);
exports2.AssignmentPattern = AssignmentPattern;
var AsyncArrowFunctionExpression = (
/** @class */
/* @__PURE__ */ function() {
function AsyncArrowFunctionExpression2(params, body, expression) {
this.type = syntax_1.Syntax.ArrowFunctionExpression;
this.id = null;
this.params = params;
this.body = body;
this.generator = false;
this.expression = expression;
this.async = true;
}
return AsyncArrowFunctionExpression2;
}()
);
exports2.AsyncArrowFunctionExpression = AsyncArrowFunctionExpression;
var AsyncFunctionDeclaration = (
/** @class */
/* @__PURE__ */ function() {
function AsyncFunctionDeclaration2(id, params, body) {
this.type = syntax_1.Syntax.FunctionDeclaration;
this.id = id;
this.params = params;
this.body = body;
this.generator = false;
this.expression = false;
this.async = true;
}
return AsyncFunctionDeclaration2;
}()
);
exports2.AsyncFunctionDeclaration = AsyncFunctionDeclaration;
var AsyncFunctionExpression = (
/** @class */
/* @__PURE__ */ function() {
function AsyncFunctionExpression2(id, params, body) {
this.type = syntax_1.Syntax.FunctionExpression;
this.id = id;
this.params = params;
this.body = body;
this.generator = false;
this.expression = false;
this.async = true;
}
return AsyncFunctionExpression2;
}()
);
exports2.AsyncFunctionExpression = AsyncFunctionExpression;
var AwaitExpression = (
/** @class */
/* @__PURE__ */ function() {
function AwaitExpression2(argument) {
this.type = syntax_1.Syntax.AwaitExpression;
this.argument = argument;
}
return AwaitExpression2;
}()
);
exports2.AwaitExpression = AwaitExpression;
var BinaryExpression = (
/** @class */
/* @__PURE__ */ function() {
function BinaryExpression2(operator, left, right) {
var logical = operator === "||" || operator === "&&";
this.type = logical ? syntax_1.Syntax.LogicalExpression : syntax_1.Syntax.BinaryExpression;
this.operator = operator;
this.left = left;
this.right = right;
}
return BinaryExpression2;
}()
);
exports2.BinaryExpression = BinaryExpression;
var BlockStatement = (
/** @class */
/* @__PURE__ */ function() {
function BlockStatement2(body) {
this.type = syntax_1.Syntax.BlockStatement;
this.body = body;
}
return BlockStatement2;
}()
);
exports2.BlockStatement = BlockStatement;
var BreakStatement = (
/** @class */
/* @__PURE__ */ function() {
function BreakStatement2(label) {
this.type = syntax_1.Syntax.BreakStatement;
this.label = label;
}
return BreakStatement2;
}()
);
exports2.BreakStatement = BreakStatement;
var CallExpression = (
/** @class */
/* @__PURE__ */ function() {
function CallExpression2(callee, args) {
this.type = syntax_1.Syntax.CallExpression;
this.callee = callee;
this.arguments = args;
}
return CallExpression2;
}()
);
exports2.CallExpression = CallExpression;
var CatchClause = (
/** @class */
/* @__PURE__ */ function() {
function CatchClause2(param, body) {
this.type = syntax_1.Syntax.CatchClause;
this.param = param;
this.body = body;
}
return CatchClause2;
}()
);
exports2.CatchClause = CatchClause;
var ClassBody = (
/** @class */
/* @__PURE__ */ function() {
function ClassBody2(body) {
this.type = syntax_1.Syntax.ClassBody;
this.body = body;
}
return ClassBody2;
}()
);
exports2.ClassBody = ClassBody;
var ClassDeclaration = (
/** @class */
/* @__PURE__ */ function() {
function ClassDeclaration2(id, superClass, body) {
this.type = syntax_1.Syntax.ClassDeclaration;
this.id = id;
this.superClass = superClass;
this.body = body;
}
return ClassDeclaration2;
}()
);
exports2.ClassDeclaration = ClassDeclaration;
var ClassExpression = (
/** @class */
/* @__PURE__ */ function() {
function ClassExpression2(id, superClass, body) {
this.type = syntax_1.Syntax.ClassExpression;
this.id = id;
this.superClass = superClass;
this.body = body;
}
return ClassExpression2;
}()
);
exports2.ClassExpression = ClassExpression;
var ComputedMemberExpression = (
/** @class */
/* @__PURE__ */ function() {
function ComputedMemberExpression2(object, property) {
this.type = syntax_1.Syntax.MemberExpression;
this.computed = true;
this.object = object;
this.property = property;
}
return ComputedMemberExpression2;
}()
);
exports2.ComputedMemberExpression = ComputedMemberExpression;
var ConditionalExpression = (
/** @class */
/* @__PURE__ */ function() {
function ConditionalExpression2(test, consequent, alternate) {
this.type = syntax_1.Syntax.ConditionalExpression;
this.test = test;
this.consequent = consequent;
this.alternate = alternate;
}
return ConditionalExpression2;
}()
);
exports2.ConditionalExpression = ConditionalExpression;
var ContinueStatement = (
/** @class */
/* @__PURE__ */ function() {
function ContinueStatement2(label) {
this.type = syntax_1.Syntax.ContinueStatement;
this.label = label;
}
return ContinueStatement2;
}()
);
exports2.ContinueStatement = ContinueStatement;
var DebuggerStatement = (
/** @class */
/* @__PURE__ */ function() {
function DebuggerStatement2() {
this.type = syntax_1.Syntax.DebuggerStatement;
}
return DebuggerStatement2;
}()
);
exports2.DebuggerStatement = DebuggerStatement;
var Directive = (
/** @class */
/* @__PURE__ */ function() {
function Directive2(expression, directive) {
this.type = syntax_1.Syntax.ExpressionStatement;
this.expression = expression;
this.directive = directive;
}
return Directive2;
}()
);
exports2.Directive = Directive;
var DoWhileStatement = (
/** @class */
/* @__PURE__ */ function() {
function DoWhileStatement2(body, test) {
this.type = syntax_1.Syntax.DoWhileStatement;
this.body = body;
this.test = test;
}
return DoWhileStatement2;
}()
);
exports2.DoWhileStatement = DoWhileStatement;
var EmptyStatement = (
/** @class */
/* @__PURE__ */ function() {
function EmptyStatement2() {
this.type = syntax_1.Syntax.EmptyStatement;
}
return EmptyStatement2;
}()
);
exports2.EmptyStatement = EmptyStatement;
var ExportAllDeclaration = (
/** @class */
/* @__PURE__ */ function() {
function ExportAllDeclaration2(source) {
this.type = syntax_1.Syntax.ExportAllDeclaration;
this.source = source;
}
return ExportAllDeclaration2;
}()
);
exports2.ExportAllDeclaration = ExportAllDeclaration;
var ExportDefaultDeclaration = (
/** @class */
/* @__PURE__ */ function() {
function ExportDefaultDeclaration2(declaration) {
this.type = syntax_1.Syntax.ExportDefaultDeclaration;
this.declaration = declaration;
}
return ExportDefaultDeclaration2;
}()
);
exports2.ExportDefaultDeclaration = ExportDefaultDeclaration;
var ExportNamedDeclaration = (
/** @class */
/* @__PURE__ */ function() {
function ExportNamedDeclaration2(declaration, specifiers, source) {
this.type = syntax_1.Syntax.ExportNamedDeclaration;
this.declaration = declaration;
this.specifiers = specifiers;
this.source = source;
}
return ExportNamedDeclaration2;
}()
);
exports2.ExportNamedDeclaration = ExportNamedDeclaration;
var ExportSpecifier = (
/** @class */
/* @__PURE__ */ function() {
function ExportSpecifier2(local, exported) {
this.type = syntax_1.Syntax.ExportSpecifier;
this.exported = exported;
this.local = local;
}
return ExportSpecifier2;
}()
);
exports2.ExportSpecifier = ExportSpecifier;
var ExpressionStatement = (
/** @class */
/* @__PURE__ */ function() {
function ExpressionStatement2(expression) {
this.type = syntax_1.Syntax.ExpressionStatement;
this.expression = expression;
}
return ExpressionStatement2;
}()
);
exports2.ExpressionStatement = ExpressionStatement;
var ForInStatement = (
/** @class */
/* @__PURE__ */ function() {
function ForInStatement2(left, right, body) {
this.type = syntax_1.Syntax.ForInStatement;
this.left = left;
this.right = right;
this.body = body;
this.each = false;
}
return ForInStatement2;
}()
);
exports2.ForInStatement = ForInStatement;
var ForOfStatement = (
/** @class */
/* @__PURE__ */ function() {
function ForOfStatement2(left, right, body) {
this.type = syntax_1.Syntax.ForOfStatement;
this.left = left;
this.right = right;
this.body = body;
}
return ForOfStatement2;
}()
);
exports2.ForOfStatement = ForOfStatement;
var ForStatement = (
/** @class */
/* @__PURE__ */ function() {
function ForStatement2(init, test, update, body) {
this.type = syntax_1.Syntax.ForStatement;
this.init = init;
this.test = test;
this.update = update;
this.body = body;
}
return ForStatement2;
}()
);
exports2.ForStatement = ForStatement;
var FunctionDeclaration = (
/** @class */
/* @__PURE__ */ function() {
function FunctionDeclaration2(id, params, body, generator) {
this.type = syntax_1.Syntax.FunctionDeclaration;
this.id = id;
this.params = params;
this.body = body;
this.generator = generator;
this.expression = false;
this.async = false;
}
return FunctionDeclaration2;
}()
);
exports2.FunctionDeclaration = FunctionDeclaration;
var FunctionExpression = (
/** @class */
/* @__PURE__ */ function() {
function FunctionExpression2(id, params, body, generator) {
this.type = syntax_1.Syntax.FunctionExpression;
this.id = id;
this.params = params;
this.body = body;
this.generator = generator;
this.expression = false;
this.async = false;
}
return FunctionExpression2;
}()
);
exports2.FunctionExpression = FunctionExpression;
var Identifier = (
/** @class */
/* @__PURE__ */ function() {
function Identifier2(name) {
this.type = syntax_1.Syntax.Identifier;
this.name = name;
}
return Identifier2;
}()
);
exports2.Identifier = Identifier;
var IfStatement = (
/** @class */
/* @__PURE__ */ function() {
function IfStatement2(test, consequent, alternate) {
this.type = syntax_1.Syntax.IfStatement;
this.test = test;
this.consequent = consequent;
this.alternate = alternate;
}
return IfStatement2;
}()
);
exports2.IfStatement = IfStatement;
var ImportDeclaration = (
/** @class */
/* @__PURE__ */ function() {
function ImportDeclaration2(specifiers, source) {
this.type = syntax_1.Syntax.ImportDeclaration;
this.specifiers = specifiers;
this.source = source;
}
return ImportDeclaration2;
}()
);
exports2.ImportDeclaration = ImportDeclaration;
var ImportDefaultSpecifier = (
/** @class */
/* @__PURE__ */ function() {
function ImportDefaultSpecifier2(local) {
this.type = syntax_1.Syntax.ImportDefaultSpecifier;
this.local = local;
}
return ImportDefaultSpecifier2;
}()
);
exports2.ImportDefaultSpecifier = ImportDefaultSpecifier;
var ImportNamespaceSpecifier = (
/** @class */
/* @__PURE__ */ function() {
function ImportNamespaceSpecifier2(local) {
this.type = syntax_1.Syntax.ImportNamespaceSpecifier;
this.local = local;
}
return ImportNamespaceSpecifier2;
}()
);
exports2.ImportNamespaceSpecifier = ImportNamespaceSpecifier;
var ImportSpecifier = (
/** @class */
/* @__PURE__ */ function() {
function ImportSpecifier2(local, imported) {
this.type = syntax_1.Syntax.ImportSpecifier;
this.local = local;
this.imported = imported;
}
return ImportSpecifier2;
}()
);
exports2.ImportSpecifier = ImportSpecifier;
var LabeledStatement = (
/** @class */
/* @__PURE__ */ function() {
function LabeledStatement2(label, body) {
this.type = syntax_1.Syntax.LabeledStatement;
this.label = label;
this.body = body;
}
return LabeledStatement2;
}()
);
exports2.LabeledStatement = LabeledStatement;
var Literal = (
/** @class */
/* @__PURE__ */ function() {
function Literal2(value, raw) {
this.type = syntax_1.Syntax.Literal;
this.value = value;
this.raw = raw;
}
return Literal2;
}()
);
exports2.Literal = Literal;
var MetaProperty = (
/** @class */
/* @__PURE__ */ function() {
function MetaProperty2(meta, property) {
this.type = syntax_1.Syntax.MetaProperty;
this.meta = meta;
this.property = property;
}
return MetaProperty2;
}()
);
exports2.MetaProperty = MetaProperty;
var MethodDefinition = (
/** @class */
/* @__PURE__ */ function() {
function MethodDefinition2(key, computed, value, kind, isStatic) {
this.type = syntax_1.Syntax.MethodDefinition;
this.key = key;
this.computed = computed;
this.value = value;
this.kind = kind;
this.static = isStatic;
}
return MethodDefinition2;
}()
);
exports2.MethodDefinition = MethodDefinition;
var Module2 = (
/** @class */
/* @__PURE__ */ function() {
function Module3(body) {
this.type = syntax_1.Syntax.Program;
this.body = body;
this.sourceType = "module";
}
return Module3;
}()
);
exports2.Module = Module2;
var NewExpression = (
/** @class */
/* @__PURE__ */ function() {
function NewExpression2(callee, args) {
this.type = syntax_1.Syntax.NewExpression;
this.callee = callee;
this.arguments = args;
}
return NewExpression2;
}()
);
exports2.NewExpression = NewExpression;
var ObjectExpression = (
/** @class */
/* @__PURE__ */ function() {
function ObjectExpression2(properties) {
this.type = syntax_1.Syntax.ObjectExpression;
this.properties = properties;
}
return ObjectExpression2;
}()
);
exports2.ObjectExpression = ObjectExpression;
var ObjectPattern = (
/** @class */
/* @__PURE__ */ function() {
function ObjectPattern2(properties) {
this.type = syntax_1.Syntax.ObjectPattern;
this.properties = properties;
}
return ObjectPattern2;
}()
);
exports2.ObjectPattern = ObjectPattern;
var Property = (
/** @class */
/* @__PURE__ */ function() {
function Property2(kind, key, computed, value, method, shorthand) {
this.type = syntax_1.Syntax.Property;
this.key = key;
this.computed = computed;
this.value = value;
this.kind = kind;
this.method = method;
this.shorthand = shorthand;
}
return Property2;
}()
);
exports2.Property = Property;
var RegexLiteral = (
/** @class */
/* @__PURE__ */ function() {
function RegexLiteral2(value, raw, pattern, flags) {
this.type = syntax_1.Syntax.Literal;
this.value = value;
this.raw = raw;
this.regex = { pattern, flags };
}
return RegexLiteral2;
}()
);
exports2.RegexLiteral = RegexLiteral;
var RestElement = (
/** @class */
/* @__PURE__ */ function() {
function RestElement2(argument) {
this.type = syntax_1.Syntax.RestElement;
this.argument = argument;
}
return RestElement2;
}()
);
exports2.RestElement = RestElement;
var ReturnStatement = (
/** @class */
/* @__PURE__ */ function() {
function ReturnStatement2(argument) {
this.type = syntax_1.Syntax.ReturnStatement;
this.argument = argument;
}
return ReturnStatement2;
}()
);
exports2.ReturnStatement = ReturnStatement;
var Script = (
/** @class */
/* @__PURE__ */ function() {
function Script2(body) {
this.type = syntax_1.Syntax.Program;
this.body = body;
this.sourceType = "script";
}
return Script2;
}()
);
exports2.Script = Script;
var SequenceExpression = (
/** @class */
/* @__PURE__ */ function() {
function SequenceExpression2(expressions) {
this.type = syntax_1.Syntax.SequenceExpression;
this.expressions = expressions;
}
return SequenceExpression2;
}()
);
exports2.SequenceExpression = SequenceExpression;
var SpreadElement = (
/** @class */
/* @__PURE__ */ function() {
function SpreadElement2(argument) {
this.type = syntax_1.Syntax.SpreadElement;
this.argument = argument;
}
return SpreadElement2;
}()
);
exports2.SpreadElement = SpreadElement;
var StaticMemberExpression = (
/** @class */
/* @__PURE__ */ function() {
function StaticMemberExpression2(object, property) {
this.type = syntax_1.Syntax.MemberExpression;
this.computed = false;
this.object = object;
this.property = property;
}
return StaticMemberExpression2;
}()
);
exports2.StaticMemberExpression = StaticMemberExpression;
var Super = (
/** @class */
/* @__PURE__ */ function() {
function Super2() {
this.type = syntax_1.Syntax.Super;
}
return Super2;
}()
);
exports2.Super = Super;
var SwitchCase = (
/** @class */
/* @__PURE__ */ function() {
function SwitchCase2(test, consequent) {
this.type = syntax_1.Syntax.SwitchCase;
this.test = test;
this.consequent = consequent;
}
return SwitchCase2;
}()
);
exports2.SwitchCase = SwitchCase;
var SwitchStatement = (
/** @class */
/* @__PURE__ */ function() {
function SwitchStatement2(discriminant, cases) {
this.type = syntax_1.Syntax.SwitchStatement;
this.discriminant = discriminant;
this.cases = cases;
}
return SwitchStatement2;
}()
);
exports2.SwitchStatement = SwitchStatement;
var TaggedTemplateExpression = (
/** @class */
/* @__PURE__ */ function() {
function TaggedTemplateExpression2(tag, quasi) {
this.type = syntax_1.Syntax.TaggedTemplateExpression;
this.tag = tag;
this.quasi = quasi;
}
return TaggedTemplateExpression2;
}()
);
exports2.TaggedTemplateExpression = TaggedTemplateExpression;
var TemplateElement = (
/** @class */
/* @__PURE__ */ function() {
function TemplateElement2(value, tail) {
this.type = syntax_1.Syntax.TemplateElement;
this.value = value;
this.tail = tail;
}
return TemplateElement2;
}()
);
exports2.TemplateElement = TemplateElement;
var TemplateLiteral = (
/** @class */
/* @__PURE__ */ function() {
function TemplateLiteral2(quasis, expressions) {
this.type = syntax_1.Syntax.TemplateLiteral;
this.quasis = quasis;
this.expressions = expressions;
}
return TemplateLiteral2;
}()
);
exports2.TemplateLiteral = TemplateLiteral;
var ThisExpression = (
/** @class */
/* @__PURE__ */ function() {
function ThisExpression2() {
this.type = syntax_1.Syntax.ThisExpression;
}
return ThisExpression2;
}()
);
exports2.ThisExpression = ThisExpression;
var ThrowStatement = (
/** @class */
/* @__PURE__ */ function() {
function ThrowStatement2(argument) {
this.type = syntax_1.Syntax.ThrowStatement;
this.argument = argument;
}
return ThrowStatement2;
}()
);
exports2.ThrowStatement = ThrowStatement;
var TryStatement = (
/** @class */
/* @__PURE__ */ function() {
function TryStatement2(block, handler, finalizer) {
this.type = syntax_1.Syntax.TryStatement;
this.block = block;
this.handler = handler;
this.finalizer = finalizer;
}
return TryStatement2;
}()
);
exports2.TryStatement = TryStatement;
var UnaryExpression = (
/** @class */
/* @__PURE__ */ function() {
function UnaryExpression2(operator, argument) {
this.type = syntax_1.Syntax.UnaryExpression;
this.operator = operator;
this.argument = argument;
this.prefix = true;
}
return UnaryExpression2;
}()
);
exports2.UnaryExpression = UnaryExpression;
var UpdateExpression = (
/** @class */
/* @__PURE__ */ function() {
function UpdateExpression2(operator, argument, prefix) {
this.type = syntax_1.Syntax.UpdateExpression;
this.operator = operator;
this.argument = argument;
this.prefix = prefix;
}
return UpdateExpression2;
}()
);
exports2.UpdateExpression = UpdateExpression;
var VariableDeclaration = (
/** @class */
/* @__PURE__ */ function() {
function VariableDeclaration2(declarations, kind) {
this.type = syntax_1.Syntax.VariableDeclaration;
this.declarations = declarations;
this.kind = kind;
}
return VariableDeclaration2;
}()
);
exports2.VariableDeclaration = VariableDeclaration;
var VariableDeclarator = (
/** @class */
/* @__PURE__ */ function() {
function VariableDeclarator2(id, init) {
this.type = syntax_1.Syntax.VariableDeclarator;
this.id = id;
this.init = init;
}
return VariableDeclarator2;
}()
);
exports2.VariableDeclarator = VariableDeclarator;
var WhileStatement = (
/** @class */
/* @__PURE__ */ function() {
function WhileStatement2(test, body) {
this.type = syntax_1.Syntax.WhileStatement;
this.test = test;
this.body = body;
}
return WhileStatement2;
}()
);
exports2.WhileStatement = WhileStatement;
var WithStatement = (
/** @class */
/* @__PURE__ */ function() {
function WithStatement2(object, body) {
this.type = syntax_1.Syntax.WithStatement;
this.object = object;
this.body = body;
}
return WithStatement2;
}()
);
exports2.WithStatement = WithStatement;
var YieldExpression = (
/** @class */
/* @__PURE__ */ function() {
function YieldExpression2(argument, delegate) {
this.type = syntax_1.Syntax.YieldExpression;
this.argument = argument;
this.delegate = delegate;
}
return YieldExpression2;
}()
);
exports2.YieldExpression = YieldExpression;
}
});
// ../../../usr/share/nodejs/esprima/src/assert.js
var require_assert = __commonJS({
"../../../usr/share/nodejs/esprima/src/assert.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.assert = void 0;
function assert2(condition, message) {
if (!condition) {
throw new Error("ASSERT: " + message);
}
}
exports2.assert = assert2;
}
});
// ../../../usr/share/nodejs/esprima/src/error-handler.js
var require_error_handler = __commonJS({
"../../../usr/share/nodejs/esprima/src/error-handler.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.ErrorHandler = void 0;
var ErrorHandler = (
/** @class */
function() {
function ErrorHandler2() {
this.errors = [];
this.tolerant = false;
}
ErrorHandler2.prototype.recordError = function(error) {
this.errors.push(error);
};
ErrorHandler2.prototype.tolerate = function(error) {
if (this.tolerant) {
this.recordError(error);
} else {
throw error;
}
};
ErrorHandler2.prototype.constructError = function(msg, column) {
var error = new Error(msg);
try {
throw error;
} catch (base) {
if (Object.create && Object.defineProperty) {
error = Object.create(base);
Object.defineProperty(error, "column", { value: column });
}
}
return error;
};
ErrorHandler2.prototype.createError = function(index, line, col, description) {
var msg = "Line " + line + ": " + description;
var error = this.constructError(msg, col);
error.index = index;
error.lineNumber = line;
error.description = description;
return error;
};
ErrorHandler2.prototype.throwError = function(index, line, col, description) {
throw this.createError(index, line, col, description);
};
ErrorHandler2.prototype.tolerateError = function(index, line, col, description) {
var error = this.createError(index, line, col, description);
if (this.tolerant) {
this.recordError(error);
} else {
throw error;
}
};
return ErrorHandler2;
}()
);
exports2.ErrorHandler = ErrorHandler;
}
});
// ../../../usr/share/nodejs/esprima/src/messages.js
var require_messages = __commonJS({
"../../../usr/share/nodejs/esprima/src/messages.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.Messages = void 0;
exports2.Messages = {
BadGetterArity: "Getter must not have any formal parameters",
BadSetterArity: "Setter must have exactly one formal parameter",
BadSetterRestParameter: "Setter function argument must not be a rest parameter",
ConstructorIsAsync: "Class constructor may not be an async method",
ConstructorSpecialMethod: "Class constructor may not be an accessor",
DeclarationMissingInitializer: "Missing initializer in %0 declaration",
DefaultRestParameter: "Unexpected token =",
DuplicateBinding: "Duplicate binding %0",
DuplicateConstructor: "A class may only have one constructor",
DuplicateProtoProperty: "Duplicate __proto__ fields are not allowed in object literals",
ForInOfLoopInitializer: "%0 loop variable declaration may not have an initializer",
GeneratorInLegacyContext: "Generator declarations are not allowed in legacy contexts",
IllegalBreak: "Illegal break statement",
IllegalContinue: "Illegal continue statement",
IllegalExportDeclaration: "Unexpected token",
IllegalImportDeclaration: "Unexpected token",
IllegalLanguageModeDirective: "Illegal 'use strict' directive in function with non-simple parameter list",
IllegalReturn: "Illegal return statement",
InvalidEscapedReservedWord: "Keyword must not contain escaped characters",
InvalidHexEscapeSequence: "Invalid hexadecimal escape sequence",
InvalidLHSInAssignment: "Invalid left-hand side in assignment",
InvalidLHSInForIn: "Invalid left-hand side in for-in",
InvalidLHSInForLoop: "Invalid left-hand side in for-loop",
InvalidModuleSpecifier: "Unexpected token",
InvalidRegExp: "Invalid regular expression",
LetInLexicalBinding: "let is disallowed as a lexically bound name",
MissingFromClause: "Unexpected token",
MultipleDefaultsInSwitch: "More than one default clause in switch statement",
NewlineAfterThrow: "Illegal newline after throw",
NoAsAfterImportNamespace: "Unexpected token",
NoCatchOrFinally: "Missing catch or finally after try",
ParameterAfterRestParameter: "Rest parameter must be last formal parameter",
Redeclaration: "%0 '%1' has already been declared",
StaticPrototype: "Classes may not have static property named prototype",
StrictCatchVariable: "Catch variable may not be eval or arguments in strict mode",
StrictDelete: "Delete of an unqualified identifier in strict mode.",
StrictFunction: "In strict mode code, functions can only be declared at top level or inside a block",
StrictFunctionName: "Function name may not be eval or arguments in strict mode",
StrictLHSAssignment: "Assignment to eval or arguments is not allowed in strict mode",
StrictLHSPostfix: "Postfix increment/decrement may not have eval or arguments operand in strict mode",
StrictLHSPrefix: "Prefix increment/decrement may not have eval or arguments operand in strict mode",
StrictModeWith: "Strict mode code may not include a with statement",
StrictOctalLiteral: "Octal literals are not allowed in strict mode.",
StrictParamDupe: "Strict mode function may not have duplicate parameter names",
StrictParamName: "Parameter name eval or arguments is not allowed in strict mode",
StrictReservedWord: "Use of future reserved word in strict mode",
StrictVarName: "Variable name may not be eval or arguments in strict mode",
TemplateOctalLiteral: "Octal literals are not allowed in template strings.",
UnexpectedEOS: "Unexpected end of input",
UnexpectedIdentifier: "Unexpected identifier",
UnexpectedNumber: "Unexpected number",
UnexpectedReserved: "Unexpected reserved word",
UnexpectedString: "Unexpected string",
UnexpectedTemplate: "Unexpected quasi %0",
UnexpectedToken: "Unexpected token %0",
UnexpectedTokenIllegal: "Unexpected token ILLEGAL",
UnknownLabel: "Undefined label '%0'",
UnterminatedRegExp: "Invalid regular expression: missing /"
};
}
});
// ../../../usr/share/nodejs/esprima/src/scanner.js
var require_scanner = __commonJS({
"../../../usr/share/nodejs/esprima/src/scanner.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.Scanner = void 0;
var assert_1 = require_assert();
var character_1 = require_character();
var messages_1 = require_messages();
function hexValue(ch) {
return "0123456789abcdef".indexOf(ch.toLowerCase());
}
function octalValue(ch) {
return "01234567".indexOf(ch);
}
var Scanner = (
/** @class */
function() {
function Scanner2(code, handler) {
this.source = code;
this.errorHandler = handler;
this.trackComment = false;
this.isModule = false;
this.length = code.length;
this.index = 0;
this.lineNumber = code.length > 0 ? 1 : 0;
this.lineStart = 0;
this.curlyStack = [];
}
Scanner2.prototype.saveState = function() {
return {
index: this.index,
lineNumber: this.lineNumber,
lineStart: this.lineStart
};
};
Scanner2.prototype.restoreState = function(state) {
this.index = state.index;
this.lineNumber = state.lineNumber;
this.lineStart = state.lineStart;
};
Scanner2.prototype.eof = function() {
return this.index >= this.length;
};
Scanner2.prototype.throwUnexpectedToken = function(message) {
if (message === void 0) {
message = messages_1.Messages.UnexpectedTokenIllegal;
}
return this.errorHandler.throwError(this.index, this.lineNumber, this.index - this.lineStart + 1, message);
};
Scanner2.prototype.tolerateUnexpectedToken = function(message) {
if (message === void 0) {
message = messages_1.Messages.UnexpectedTokenIllegal;
}
this.errorHandler.tolerateError(this.index, this.lineNumber, this.index - this.lineStart + 1, message);
};
Scanner2.prototype.skipSingleLineComment = function(offset) {
var comments = [];
var start, loc;
if (this.trackComment) {
comments = [];
start = this.index - offset;
loc = {
start: {
line: this.lineNumber,
column: this.index - this.lineStart - offset
},
end: {}
};
}
while (!this.eof()) {
var ch = this.source.charCodeAt(this.index);
++this.index;
if (character_1.Character.isLineTerminator(ch)) {
if (this.trackComment) {
loc.end = {
line: this.lineNumber,
column: this.index - this.lineStart - 1
};
var entry = {
multiLine: false,
slice: [start + offset, this.index - 1],
range: [start, this.index - 1],
loc
};
comments.push(entry);
}
if (ch === 13 && this.source.charCodeAt(this.index) === 10) {
++this.index;
}
++this.lineNumber;
this.lineStart = this.index;
return comments;
}
}
if (this.trackComment) {
loc.end = {
line: this.lineNumber,
column: this.index - this.lineStart
};
var entry = {
multiLine: false,
slice: [start + offset, this.index],
range: [start, this.index],
loc
};
comments.push(entry);
}
return comments;
};
Scanner2.prototype.skipMultiLineComment = function() {
var comments = [];
var start, loc;
if (this.trackComment) {
comments = [];
start = this.index - 2;
loc = {
start: {
line: this.lineNumber,
column: this.index - this.lineStart - 2
},
end: {}
};
}
while (!this.eof()) {
var ch = this.source.charCodeAt(this.index);
if (character_1.Character.isLineTerminator(ch)) {
if (ch === 13 && this.source.charCodeAt(this.index + 1) === 10) {
++this.index;
}
++this.lineNumber;
++this.index;
this.lineStart = this.index;
} else if (ch === 42) {
if (this.source.charCodeAt(this.index + 1) === 47) {
this.index += 2;
if (this.trackComment) {
loc.end = {
line: this.lineNumber,
column: this.index - this.lineStart
};
var entry = {
multiLine: true,
slice: [start + 2, this.index - 2],
range: [start, this.index],
loc
};
comments.push(entry);
}
return comments;
}
++this.index;
} else {
++this.index;
}
}
if (this.trackComment) {
loc.end = {
line: this.lineNumber,
column: this.index - this.lineStart
};
var entry = {
multiLine: true,
slice: [start + 2, this.index],
range: [start, this.index],
loc
};
comments.push(entry);
}
this.tolerateUnexpectedToken();
return comments;
};
Scanner2.prototype.scanComments = function() {
var comments;
if (this.trackComment) {
comments = [];
}
var start = this.index === 0;
while (!this.eof()) {
var ch = this.source.charCodeAt(this.index);
if (character_1.Character.isWhiteSpace(ch)) {
++this.index;
} else if (character_1.Character.isLineTerminator(ch)) {
++this.index;
if (ch === 13 && this.source.charCodeAt(this.index) === 10) {
++this.index;
}
++this.lineNumber;
this.lineStart = this.index;
start = true;
} else if (ch === 47) {
ch = this.source.charCodeAt(this.index + 1);
if (ch === 47) {
this.index += 2;
var comment = this.skipSingleLineComment(2);
if (this.trackComment) {
comments = comments.concat(comment);
}
start = true;
} else if (ch === 42) {
this.index += 2;
var comment = this.skipMultiLineComment();
if (this.trackComment) {
comments = comments.concat(comment);
}
} else {
break;
}
} else if (start && ch === 45) {
if (this.source.charCodeAt(this.index + 1) === 45 && this.source.charCodeAt(this.index + 2) === 62) {
this.index += 3;
var comment = this.skipSingleLineComment(3);
if (this.trackComment) {
comments = comments.concat(comment);
}
} else {
break;
}
} else if (ch === 60 && !this.isModule) {
if (this.source.slice(this.index + 1, this.index + 4) === "!--") {
this.index += 4;
var comment = this.skipSingleLineComment(4);
if (this.trackComment) {
comments = comments.concat(comment);
}
} else {
break;
}
} else {
break;
}
}
return comments;
};
Scanner2.prototype.isFutureReservedWord = function(id) {
switch (id) {
case "enum":
case "export":
case "import":
case "super":
return true;
default:
return false;
}
};
Scanner2.prototype.isStrictModeReservedWord = function(id) {
switch (id) {
case "implements":
case "interface":
case "package":
case "private":
case "protected":
case "public":
case "static":
case "yield":
case "let":
return true;
default:
return false;
}
};
Scanner2.prototype.isRestrictedWord = function(id) {
return id === "eval" || id === "arguments";
};
Scanner2.prototype.isKeyword = function(id) {
switch (id.length) {
case 2:
return id === "if" || id === "in" || id === "do";
case 3:
return id === "var" || id === "for" || id === "new" || id === "try" || id === "let";
case 4:
return id === "this" || id === "else" || id === "case" || id === "void" || id === "with" || id === "enum";
case 5:
return id === "while" || id === "break" || id === "catch" || id === "throw" || id === "const" || id === "yield" || id === "class" || id === "super";
case 6:
return id === "return" || id === "typeof" || id === "delete" || id === "switch" || id === "export" || id === "import";
case 7:
return id === "default" || id === "finally" || id === "extends";
case 8:
return id === "function" || id === "continue" || id === "debugger";
case 10:
return id === "instanceof";
default:
return false;
}
};
Scanner2.prototype.codePointAt = function(i) {
var cp = this.source.charCodeAt(i);
if (cp >= 55296 && cp <= 56319) {
var second = this.source.charCodeAt(i + 1);
if (second >= 56320 && second <= 57343) {
var first = cp;
cp = (first - 55296) * 1024 + second - 56320 + 65536;
}
}
return cp;
};
Scanner2.prototype.scanHexEscape = function(prefix) {
var len = prefix === "u" ? 4 : 2;
var code = 0;
for (var i = 0; i < len; ++i) {
if (!this.eof() && character_1.Character.isHexDigit(this.source.charCodeAt(this.index))) {
code = code * 16 + hexValue(this.source[this.index++]);
} else {
return null;
}
}
return String.fromCharCode(code);
};
Scanner2.prototype.scanUnicodeCodePointEscape = function() {
var ch = this.source[this.index];
var code = 0;
if (ch === "}") {
this.throwUnexpectedToken();
}
while (!this.eof()) {
ch = this.source[this.index++];
if (!character_1.Character.isHexDigit(ch.charCodeAt(0))) {
break;
}
code = code * 16 + hexValue(ch);
}
if (code > 1114111 || ch !== "}") {
this.throwUnexpectedToken();
}
return character_1.Character.fromCodePoint(code);
};
Scanner2.prototype.getIdentifier = function() {
var start = this.index++;
while (!this.eof()) {
var ch = this.source.charCodeAt(this.index);
if (ch === 92) {
this.index = start;
return this.getComplexIdentifier();
} else if (ch >= 55296 && ch < 57343) {
this.index = start;
return this.getComplexIdentifier();
}
if (character_1.Character.isIdentifierPart(ch)) {
++this.index;
} else {
break;
}
}
return this.source.slice(start, this.index);
};
Scanner2.prototype.getComplexIdentifier = function() {
var cp = this.codePointAt(this.index);
var id = character_1.Character.fromCodePoint(cp);
this.index += id.length;
var ch;
if (cp === 92) {
if (this.source.charCodeAt(this.index) !== 117) {
this.throwUnexpectedToken();
}
++this.index;
if (this.source[this.index] === "{") {
++this.index;
ch = this.scanUnicodeCodePointEscape();
} else {
ch = this.scanHexEscape("u");
if (ch === null || ch === "\\" || !character_1.Character.isIdentifierStart(ch.charCodeAt(0))) {
this.throwUnexpectedToken();
}
}
id = ch;
}
while (!this.eof()) {
cp = this.codePointAt(this.index);
if (!character_1.Character.isIdentifierPart(cp)) {
break;
}
ch = character_1.Character.fromCodePoint(cp);
id += ch;
this.index += ch.length;
if (cp === 92) {
id = id.substr(0, id.length - 1);
if (this.source.charCodeAt(this.index) !== 117) {
this.throwUnexpectedToken();
}
++this.index;
if (this.source[this.index] === "{") {
++this.index;
ch = this.scanUnicodeCodePointEscape();
} else {
ch = this.scanHexEscape("u");
if (ch === null || ch === "\\" || !character_1.Character.isIdentifierPart(ch.charCodeAt(0))) {
this.throwUnexpectedToken();
}
}
id += ch;
}
}
return id;
};
Scanner2.prototype.octalToDecimal = function(ch) {
var octal = ch !== "0";
var code = octalValue(ch);
if (!this.eof() && character_1.Character.isOctalDigit(this.source.charCodeAt(this.index))) {
octal = true;
code = code * 8 + octalValue(this.source[this.index++]);
if ("0123".indexOf(ch) >= 0 && !this.eof() && character_1.Character.isOctalDigit(this.source.charCodeAt(this.index))) {
code = code * 8 + octalValue(this.source[this.index++]);
}
}
return {
code,
octal
};
};
Scanner2.prototype.scanIdentifier = function() {
var type;
var start = this.index;
var id = this.source.charCodeAt(start) === 92 ? this.getComplexIdentifier() : this.getIdentifier();
if (id.length === 1) {
type = 3;
} else if (this.isKeyword(id)) {
type = 4;
} else if (id === "null") {
type = 5;
} else if (id === "true" || id === "false") {
type = 1;
} else {
type = 3;
}
if (type !== 3 && start + id.length !== this.index) {
var restore = this.index;
this.index = start;
this.tolerateUnexpectedToken(messages_1.Messages.InvalidEscapedReservedWord);
this.index = restore;
}
return {
type,
value: id,
lineNumber: this.lineNumber,
lineStart: this.lineStart,
start,
end: this.index
};
};
Scanner2.prototype.scanPunctuator = function() {
var start = this.index;
var str = this.source[this.index];
switch (str) {
case "(":
case "{":
if (str === "{") {
this.curlyStack.push("{");
}
++this.index;
break;
case ".":
++this.index;
if (this.source[this.index] === "." && this.source[this.index + 1] === ".") {
this.index += 2;
str = "...";
}
break;
case "}":
++this.index;
this.curlyStack.pop();
break;
case ")":
case ";":
case ",":
case "[":
case "]":
case ":":
case "?":
case "~":
++this.index;
break;
default:
str = this.source.substr(this.index, 4);
if (str === ">>>=") {
this.index += 4;
} else {
str = str.substr(0, 3);
if (str === "===" || str === "!==" || str === ">>>" || str === "<<=" || str === ">>=" || str === "**=") {
this.index += 3;
} else {
str = str.substr(0, 2);
if (str === "&&" || str === "||" || str === "==" || str === "!=" || str === "+=" || str === "-=" || str === "*=" || str === "/=" || str === "++" || str === "--" || str === "<<" || str === ">>" || str === "&=" || str === "|=" || str === "^=" || str === "%=" || str === "<=" || str === ">=" || str === "=>" || str === "**") {
this.index += 2;
} else {
str = this.source[this.index];
if ("<>=!+-*%&|^/".indexOf(str) >= 0) {
++this.index;
}
}
}
}
}
if (this.index === start) {
this.throwUnexpectedToken();
}
return {
type: 7,
value: str,
lineNumber: this.lineNumber,
lineStart: this.lineStart,
start,
end: this.index
};
};
Scanner2.prototype.scanHexLiteral = function(start) {
var num = "";
while (!this.eof()) {
if (!character_1.Character.isHexDigit(this.source.charCodeAt(this.index))) {
break;
}
num += this.source[this.index++];
}
if (num.length === 0) {
this.throwUnexpectedToken();
}
if (character_1.Character.isIdentifierStart(this.source.charCodeAt(this.index))) {
this.throwUnexpectedToken();
}
return {
type: 6,
value: parseInt("0x" + num, 16),
lineNumber: this.lineNumber,
lineStart: this.lineStart,
start,
end: this.index
};
};
Scanner2.prototype.scanBinaryLiteral = function(start) {
var num = "";
var ch;
while (!this.eof()) {
ch = this.source[this.index];
if (ch !== "0" && ch !== "1") {
break;
}
num += this.source[this.index++];
}
if (num.length === 0) {
this.throwUnexpectedToken();
}
if (!this.eof()) {
ch = this.source.charCodeAt(this.index);
if (character_1.Character.isIdentifierStart(ch) || character_1.Character.isDecimalDigit(ch)) {
this.throwUnexpectedToken();
}
}
return {
type: 6,
value: parseInt(num, 2),
lineNumber: this.lineNumber,
lineStart: this.lineStart,
start,
end: this.index
};
};
Scanner2.prototype.scanOctalLiteral = function(prefix, start) {
var num = "";
var octal = false;
if (character_1.Character.isOctalDigit(prefix.charCodeAt(0))) {
octal = true;
num = "0" + this.source[this.index++];
} else {
++this.index;
}
while (!this.eof()) {
if (!character_1.Character.isOctalDigit(this.source.charCodeAt(this.index))) {
break;
}
num += this.source[this.index++];
}
if (!octal && num.length === 0) {
this.throwUnexpectedToken();
}
if (character_1.Character.isIdentifierStart(this.source.charCodeAt(this.index)) || character_1.Character.isDecimalDigit(this.source.charCodeAt(this.index))) {
this.throwUnexpectedToken();
}
return {
type: 6,
value: parseInt(num, 8),
octal,
lineNumber: this.lineNumber,
lineStart: this.lineStart,
start,
end: this.index
};
};
Scanner2.prototype.isImplicitOctalLiteral = function() {
for (var i = this.index + 1; i < this.length; ++i) {
var ch = this.source[i];
if (ch === "8" || ch === "9") {
return false;
}
if (!character_1.Character.isOctalDigit(ch.charCodeAt(0))) {
return true;
}
}
return true;
};
Scanner2.prototype.scanNumericLiteral = function() {
var start = this.index;
var ch = this.source[start];
(0, assert_1.assert)(character_1.Character.isDecimalDigit(ch.charCodeAt(0)) || ch === ".", "Numeric literal must start with a decimal digit or a decimal point");
var num = "";
if (ch !== ".") {
num = this.source[this.index++];
ch = this.source[this.index];
if (num === "0") {
if (ch === "x" || ch === "X") {
++this.index;
return this.scanHexLiteral(start);
}
if (ch === "b" || ch === "B") {
++this.index;
return this.scanBinaryLiteral(start);
}
if (ch === "o" || ch === "O") {
return this.scanOctalLiteral(ch, start);
}
if (ch && character_1.Character.isOctalDigit(ch.charCodeAt(0))) {
if (this.isImplicitOctalLiteral()) {
return this.scanOctalLiteral(ch, start);
}
}
}
while (character_1.Character.isDecimalDigit(this.source.charCodeAt(this.index))) {
num += this.source[this.index++];
}
ch = this.source[this.index];
}
if (ch === ".") {
num += this.source[this.index++];
while (character_1.Character.isDecimalDigit(this.source.charCodeAt(this.index))) {
num += this.source[this.index++];
}
ch = this.source[this.index];
}
if (ch === "e" || ch === "E") {
num += this.source[this.index++];
ch = this.source[this.index];
if (ch === "+" || ch === "-") {
num += this.source[this.index++];
}
if (character_1.Character.isDecimalDigit(this.source.charCodeAt(this.index))) {
while (character_1.Character.isDecimalDigit(this.source.charCodeAt(this.index))) {
num += this.source[this.index++];
}
} else {
this.throwUnexpectedToken();
}
}
if (character_1.Character.isIdentifierStart(this.source.charCodeAt(this.index))) {
this.throwUnexpectedToken();
}
return {
type: 6,
value: parseFloat(num),
lineNumber: this.lineNumber,
lineStart: this.lineStart,
start,
end: this.index
};
};
Scanner2.prototype.scanStringLiteral = function() {
var start = this.index;
var quote = this.source[start];
(0, assert_1.assert)(quote === "'" || quote === '"', "String literal must starts with a quote");
++this.index;
var octal = false;
var str = "";
while (!this.eof()) {
var ch = this.source[this.index++];
if (ch === quote) {
quote = "";
break;
} else if (ch === "\\") {
ch = this.source[this.index++];
if (!ch || !character_1.Character.isLineTerminator(ch.charCodeAt(0))) {
switch (ch) {
case "u":
if (this.source[this.index] === "{") {
++this.index;
str += this.scanUnicodeCodePointEscape();
} else {
var unescaped_1 = this.scanHexEscape(ch);
if (unescaped_1 === null) {
this.throwUnexpectedToken();
}
str += unescaped_1;
}
break;
case "x":
var unescaped = this.scanHexEscape(ch);
if (unescaped === null) {
this.throwUnexpectedToken(messages_1.Messages.InvalidHexEscapeSequence);
}
str += unescaped;
break;
case "n":
str += "\n";
break;
case "r":
str += "\r";
break;
case "t":
str += " ";
break;
case "b":
str += "\b";
break;
case "f":
str += "\f";
break;
case "v":
str += "\v";
break;
case "8":
case "9":
str += ch;
this.tolerateUnexpectedToken();
break;
default:
if (ch && character_1.Character.isOctalDigit(ch.charCodeAt(0))) {
var octToDec = this.octalToDecimal(ch);
octal = octToDec.octal || octal;
str += String.fromCharCode(octToDec.code);
} else {
str += ch;
}
break;
}
} else {
++this.lineNumber;
if (ch === "\r" && this.source[this.index] === "\n") {
++this.index;
}
this.lineStart = this.index;
}
} else if (character_1.Character.isLineTerminator(ch.charCodeAt(0))) {
break;
} else {
str += ch;
}
}
if (quote !== "") {
this.index = start;
this.throwUnexpectedToken();
}
return {
type: 8,
value: str,
octal,
lineNumber: this.lineNumber,
lineStart: this.lineStart,
start,
end: this.index
};
};
Scanner2.prototype.scanTemplate = function() {
var cooked = "";
var terminated = false;
var start = this.index;
var head = this.source[start] === "`";
var tail = false;
var rawOffset = 2;
++this.index;
while (!this.eof()) {
var ch = this.source[this.index++];
if (ch === "`") {
rawOffset = 1;
tail = true;
terminated = true;
break;
} else if (ch === "$") {
if (this.source[this.index] === "{") {
this.curlyStack.push("${");
++this.index;
terminated = true;
break;
}
cooked += ch;
} else if (ch === "\\") {
ch = this.source[this.index++];
if (!character_1.Character.isLineTerminator(ch.charCodeAt(0))) {
switch (ch) {
case "n":
cooked += "\n";
break;
case "r":
cooked += "\r";
break;
case "t":
cooked += " ";
break;
case "u":
if (this.source[this.index] === "{") {
++this.index;
cooked += this.scanUnicodeCodePointEscape();
} else {
var restore = this.index;
var unescaped_2 = this.scanHexEscape(ch);
if (unescaped_2 !== null) {
cooked += unescaped_2;
} else {
this.index = restore;
cooked += ch;
}
}
break;
case "x":
var unescaped = this.scanHexEscape(ch);
if (unescaped === null) {
this.throwUnexpectedToken(messages_1.Messages.InvalidHexEscapeSequence);
}
cooked += unescaped;
break;
case "b":
cooked += "\b";
break;
case "f":
cooked += "\f";
break;
case "v":
cooked += "\v";
break;
default:
if (ch === "0") {
if (character_1.Character.isDecimalDigit(this.source.charCodeAt(this.index))) {
this.throwUnexpectedToken(messages_1.Messages.TemplateOctalLiteral);
}
cooked += "\0";
} else if (character_1.Character.isOctalDigit(ch.charCodeAt(0))) {
this.throwUnexpectedToken(messages_1.Messages.TemplateOctalLiteral);
} else {
cooked += ch;
}
break;
}
} else {
++this.lineNumber;
if (ch === "\r" && this.source[this.index] === "\n") {
++this.index;
}
this.lineStart = this.index;
}
} else if (character_1.Character.isLineTerminator(ch.charCodeAt(0))) {
++this.lineNumber;
if (ch === "\r" && this.source[this.index] === "\n") {
++this.index;
}
this.lineStart = this.index;
cooked += "\n";
} else {
cooked += ch;
}
}
if (!terminated) {
this.throwUnexpectedToken();
}
if (!head) {
this.curlyStack.pop();
}
return {
type: 10,
value: this.source.slice(start + 1, this.index - rawOffset),
cooked,
head,
tail,
lineNumber: this.lineNumber,
lineStart: this.lineStart,
start,
end: this.index
};
};
Scanner2.prototype.testRegExp = function(pattern, flags) {
var astralSubstitute = "\uFFFF";
var tmp = pattern;
var self2 = this;
if (flags.indexOf("u") >= 0) {
tmp = tmp.replace(/\\u\{([0-9a-fA-F]+)\}|\\u([a-fA-F0-9]{4})/g, function($0, $1, $2) {
var codePoint = parseInt($1 || $2, 16);
if (codePoint > 1114111) {
self2.throwUnexpectedToken(messages_1.Messages.InvalidRegExp);
}
if (codePoint <= 65535) {
return String.fromCharCode(codePoint);
}
return astralSubstitute;
}).replace(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g, astralSubstitute);
}
try {
RegExp(tmp);
} catch (e) {
this.throwUnexpectedToken(messages_1.Messages.InvalidRegExp);
}
try {
return new RegExp(pattern, flags);
} catch (exception) {
return null;
}
};
Scanner2.prototype.scanRegExpBody = function() {
var ch = this.source[this.index];
(0, assert_1.assert)(ch === "/", "Regular expression literal must start with a slash");
var str = this.source[this.index++];
var classMarker = false;
var terminated = false;
while (!this.eof()) {
ch = this.source[this.index++];
str += ch;
if (ch === "\\") {
ch = this.source[this.index++];
if (character_1.Character.isLineTerminator(ch.charCodeAt(0))) {
this.throwUnexpectedToken(messages_1.Messages.UnterminatedRegExp);
}
str += ch;
} else if (character_1.Character.isLineTerminator(ch.charCodeAt(0))) {
this.throwUnexpectedToken(messages_1.Messages.UnterminatedRegExp);
} else if (classMarker) {
if (ch === "]") {
classMarker = false;
}
} else {
if (ch === "/") {
terminated = true;
break;
} else if (ch === "[") {
classMarker = true;
}
}
}
if (!terminated) {
this.throwUnexpectedToken(messages_1.Messages.UnterminatedRegExp);
}
return str.substr(1, str.length - 2);
};
Scanner2.prototype.scanRegExpFlags = function() {
var str = "";
var flags = "";
while (!this.eof()) {
var ch = this.source[this.index];
if (!character_1.Character.isIdentifierPart(ch.charCodeAt(0))) {
break;
}
++this.index;
if (ch === "\\" && !this.eof()) {
ch = this.source[this.index];
if (ch === "u") {
++this.index;
var restore = this.index;
var char = this.scanHexEscape("u");
if (char !== null) {
flags += char;
for (str += "\\u"; restore < this.index; ++restore) {
str += this.source[restore];
}
} else {
this.index = restore;
flags += "u";
str += "\\u";
}
this.tolerateUnexpectedToken();
} else {
str += "\\";
this.tolerateUnexpectedToken();
}
} else {
flags += ch;
str += ch;
}
}
return flags;
};
Scanner2.prototype.scanRegExp = function() {
var start = this.index;
var pattern = this.scanRegExpBody();
var flags = this.scanRegExpFlags();
var value = this.testRegExp(pattern, flags);
return {
type: 9,
value: "",
pattern,
flags,
regex: value,
lineNumber: this.lineNumber,
lineStart: this.lineStart,
start,
end: this.index
};
};
Scanner2.prototype.lex = function() {
if (this.eof()) {
return {
type: 2,
value: "",
lineNumber: this.lineNumber,
lineStart: this.lineStart,
start: this.index,
end: this.index
};
}
var cp = this.source.charCodeAt(this.index);
if (character_1.Character.isIdentifierStart(cp)) {
return this.scanIdentifier();
}
if (cp === 40 || cp === 41 || cp === 59) {
return this.scanPunctuator();
}
if (cp === 39 || cp === 34) {
return this.scanStringLiteral();
}
if (cp === 46) {
if (character_1.Character.isDecimalDigit(this.source.charCodeAt(this.index + 1))) {
return this.scanNumericLiteral();
}
return this.scanPunctuator();
}
if (character_1.Character.isDecimalDigit(cp)) {
return this.scanNumericLiteral();
}
if (cp === 96 || cp === 125 && this.curlyStack[this.curlyStack.length - 1] === "${") {
return this.scanTemplate();
}
if (cp >= 55296 && cp < 57343) {
if (character_1.Character.isIdentifierStart(this.codePointAt(this.index))) {
return this.scanIdentifier();
}
}
return this.scanPunctuator();
};
return Scanner2;
}()
);
exports2.Scanner = Scanner;
}
});
// ../../../usr/share/nodejs/esprima/src/token.js
var require_token = __commonJS({
"../../../usr/share/nodejs/esprima/src/token.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.TokenName = void 0;
exports2.TokenName = {};
exports2.TokenName[
1
/* BooleanLiteral */
] = "Boolean";
exports2.TokenName[
2
/* EOF */
] = "";
exports2.TokenName[
3
/* Identifier */
] = "Identifier";
exports2.TokenName[
4
/* Keyword */
] = "Keyword";
exports2.TokenName[
5
/* NullLiteral */
] = "Null";
exports2.TokenName[
6
/* NumericLiteral */
] = "Numeric";
exports2.TokenName[
7
/* Punctuator */
] = "Punctuator";
exports2.TokenName[
8
/* StringLiteral */
] = "String";
exports2.TokenName[
9
/* RegularExpression */
] = "RegularExpression";
exports2.TokenName[
10
/* Template */
] = "Template";
}
});
// ../../../usr/share/nodejs/esprima/src/parser.js
var require_parser = __commonJS({
"../../../usr/share/nodejs/esprima/src/parser.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.Parser = void 0;
var assert_1 = require_assert();
var error_handler_1 = require_error_handler();
var messages_1 = require_messages();
var Node = require_nodes();
var scanner_1 = require_scanner();
var syntax_1 = require_syntax();
var token_1 = require_token();
var ArrowParameterPlaceHolder = "ArrowParameterPlaceHolder";
var Parser = (
/** @class */
function() {
function Parser2(code, options, delegate) {
if (options === void 0) {
options = {};
}
this.config = {
range: typeof options.range === "boolean" && options.range,
loc: typeof options.loc === "boolean" && options.loc,
source: null,
tokens: typeof options.tokens === "boolean" && options.tokens,
comment: typeof options.comment === "boolean" && options.comment,
tolerant: typeof options.tolerant === "boolean" && options.tolerant
};
if (this.config.loc && options.source && options.source !== null) {
this.config.source = String(options.source);
}
this.delegate = delegate;
this.errorHandler = new error_handler_1.ErrorHandler();
this.errorHandler.tolerant = this.config.tolerant;
this.scanner = new scanner_1.Scanner(code, this.errorHandler);
this.scanner.trackComment = this.config.comment;
this.operatorPrecedence = {
")": 0,
";": 0,
",": 0,
"=": 0,
"]": 0,
"||": 1,
"&&": 2,
"|": 3,
"^": 4,
"&": 5,
"==": 6,
"!=": 6,
"===": 6,
"!==": 6,
"<": 7,
">": 7,
"<=": 7,
">=": 7,
"<<": 8,
">>": 8,
">>>": 8,
"+": 9,
"-": 9,
"*": 11,
"/": 11,
"%": 11
};
this.lookahead = {
type: 2,
value: "",
lineNumber: this.scanner.lineNumber,
lineStart: 0,
start: 0,
end: 0
};
this.hasLineTerminator = false;
this.context = {
isModule: false,
await: false,
allowIn: true,
allowStrictDirective: true,
allowYield: true,
firstCoverInitializedNameError: null,
isAssignmentTarget: false,
isBindingElement: false,
inFunctionBody: false,
inIteration: false,
inSwitch: false,
labelSet: {},
strict: false
};
this.tokens = [];
this.startMarker = {
index: 0,
line: this.scanner.lineNumber,
column: 0
};
this.lastMarker = {
index: 0,
line: this.scanner.lineNumber,
column: 0
};
this.nextToken();
this.lastMarker = {
index: this.scanner.index,
line: this.scanner.lineNumber,
column: this.scanner.index - this.scanner.lineStart
};
}
Parser2.prototype.throwError = function(messageFormat) {
var values = [];
for (var _i = 1; _i < arguments.length; _i++) {
values[_i - 1] = arguments[_i];
}
var args = Array.prototype.slice.call(arguments, 1);
var msg = messageFormat.replace(/%(\d)/g, function(whole, idx) {
(0, assert_1.assert)(idx < args.length, "Message reference must be in range");
return args[idx];
});
var index = this.lastMarker.index;
var line = this.lastMarker.line;
var column = this.lastMarker.column + 1;
throw this.errorHandler.createError(index, line, column, msg);
};
Parser2.prototype.tolerateError = function(messageFormat) {
var values = [];
for (var _i = 1; _i < arguments.length; _i++) {
values[_i - 1] = arguments[_i];
}
var args = Array.prototype.slice.call(arguments, 1);
var msg = messageFormat.replace(/%(\d)/g, function(whole, idx) {
(0, assert_1.assert)(idx < args.length, "Message reference must be in range");
return args[idx];
});
var index = this.lastMarker.index;
var line = this.scanner.lineNumber;
var column = this.lastMarker.column + 1;
this.errorHandler.tolerateError(index, line, column, msg);
};
Parser2.prototype.unexpectedTokenError = function(token, message) {
var msg = message || messages_1.Messages.UnexpectedToken;
var value;
if (token) {
if (!message) {
msg = token.type === 2 ? messages_1.Messages.UnexpectedEOS : token.type === 3 ? messages_1.Messages.UnexpectedIdentifier : token.type === 6 ? messages_1.Messages.UnexpectedNumber : token.type === 8 ? messages_1.Messages.UnexpectedString : token.type === 10 ? messages_1.Messages.UnexpectedTemplate : messages_1.Messages.UnexpectedToken;
if (token.type === 4) {
if (this.scanner.isFutureReservedWord(token.value)) {
msg = messages_1.Messages.UnexpectedReserved;
} else if (this.context.strict && this.scanner.isStrictModeReservedWord(token.value)) {
msg = messages_1.Messages.StrictReservedWord;
}
}
}
value = token.value;
} else {
value = "ILLEGAL";
}
msg = msg.replace("%0", value);
if (token && typeof token.lineNumber === "number") {
var index = token.start;
var line = token.lineNumber;
var lastMarkerLineStart = this.lastMarker.index - this.lastMarker.column;
var column = token.start - lastMarkerLineStart + 1;
return this.errorHandler.createError(index, line, column, msg);
} else {
var index = this.lastMarker.index;
var line = this.lastMarker.line;
var column = this.lastMarker.column + 1;
return this.errorHandler.createError(index, line, column, msg);
}
};
Parser2.prototype.throwUnexpectedToken = function(token, message) {
throw this.unexpectedTokenError(token, message);
};
Parser2.prototype.tolerateUnexpectedToken = function(token, message) {
this.errorHandler.tolerate(this.unexpectedTokenError(token, message));
};
Parser2.prototype.collectComments = function() {
if (!this.config.comment) {
this.scanner.scanComments();
} else {
var comments = this.scanner.scanComments();
if (comments.length > 0 && this.delegate) {
for (var i = 0; i < comments.length; ++i) {
var e = comments[i];
var node = void 0;
node = {
type: e.multiLine ? "BlockComment" : "LineComment",
value: this.scanner.source.slice(e.slice[0], e.slice[1])
};
if (this.config.range) {
node.range = e.range;
}
if (this.config.loc) {
node.loc = e.loc;
}
var metadata = {
start: {
line: e.loc.start.line,
column: e.loc.start.column,
offset: e.range[0]
},
end: {
line: e.loc.end.line,
column: e.loc.end.column,
offset: e.range[1]
}
};
this.delegate(node, metadata);
}
}
}
};
Parser2.prototype.getTokenRaw = function(token) {
return this.scanner.source.slice(token.start, token.end);
};
Parser2.prototype.convertToken = function(token) {
var t = {
type: token_1.TokenName[token.type],
value: this.getTokenRaw(token)
};
if (this.config.range) {
t.range = [token.start, token.end];
}
if (this.config.loc) {
t.loc = {
start: {
line: this.startMarker.line,
column: this.startMarker.column
},
end: {
line: this.scanner.lineNumber,
column: this.scanner.index - this.scanner.lineStart
}
};
}
if (token.type === 9) {
var pattern = token.pattern;
var flags = token.flags;
t.regex = { pattern, flags };
}
return t;
};
Parser2.prototype.nextToken = function() {
var token = this.lookahead;
this.lastMarker.index = this.scanner.index;
this.lastMarker.line = this.scanner.lineNumber;
this.lastMarker.column = this.scanner.index - this.scanner.lineStart;
this.collectComments();
if (this.scanner.index !== this.startMarker.index) {
this.startMarker.index = this.scanner.index;
this.startMarker.line = this.scanner.lineNumber;
this.startMarker.column = this.scanner.index - this.scanner.lineStart;
}
var next = this.scanner.lex();
this.hasLineTerminator = token.lineNumber !== next.lineNumber;
if (next && this.context.strict && next.type === 3) {
if (this.scanner.isStrictModeReservedWord(next.value)) {
next.type = 4;
}
}
this.lookahead = next;
if (this.config.tokens && next.type !== 2) {
this.tokens.push(this.convertToken(next));
}
return token;
};
Parser2.prototype.nextRegexToken = function() {
this.collectComments();
var token = this.scanner.scanRegExp();
if (this.config.tokens) {
this.tokens.pop();
this.tokens.push(this.convertToken(token));
}
this.lookahead = token;
this.nextToken();
return token;
};
Parser2.prototype.createNode = function() {
return {
index: this.startMarker.index,
line: this.startMarker.line,
column: this.startMarker.column
};
};
Parser2.prototype.startNode = function(token, lastLineStart) {
if (lastLineStart === void 0) {
lastLineStart = 0;
}
var column = token.start - token.lineStart;
var line = token.lineNumber;
if (column < 0) {
column += lastLineStart;
line--;
}
return {
index: token.start,
line,
column
};
};
Parser2.prototype.finalize = function(marker, node) {
if (this.config.range) {
node.range = [marker.index, this.lastMarker.index];
}
if (this.config.loc) {
node.loc = {
start: {
line: marker.line,
column: marker.column
},
end: {
line: this.lastMarker.line,
column: this.lastMarker.column
}
};
if (this.config.source) {
node.loc.source = this.config.source;
}
}
if (this.delegate) {
var metadata = {
start: {
line: marker.line,
column: marker.column,
offset: marker.index
},
end: {
line: this.lastMarker.line,
column: this.lastMarker.column,
offset: this.lastMarker.index
}
};
this.delegate(node, metadata);
}
return node;
};
Parser2.prototype.expect = function(value) {
var token = this.nextToken();
if (token.type !== 7 || token.value !== value) {
this.throwUnexpectedToken(token);
}
};
Parser2.prototype.expectCommaSeparator = function() {
if (this.config.tolerant) {
var token = this.lookahead;
if (token.type === 7 && token.value === ",") {
this.nextToken();
} else if (token.type === 7 && token.value === ";") {
this.nextToken();
this.tolerateUnexpectedToken(token);
} else {
this.tolerateUnexpectedToken(token, messages_1.Messages.UnexpectedToken);
}
} else {
this.expect(",");
}
};
Parser2.prototype.expectKeyword = function(keyword) {
var token = this.nextToken();
if (token.type !== 4 || token.value !== keyword) {
this.throwUnexpectedToken(token);
}
};
Parser2.prototype.match = function(value) {
return this.lookahead.type === 7 && this.lookahead.value === value;
};
Parser2.prototype.matchKeyword = function(keyword) {
return this.lookahead.type === 4 && this.lookahead.value === keyword;
};
Parser2.prototype.matchContextualKeyword = function(keyword) {
return this.lookahead.type === 3 && this.lookahead.value === keyword;
};
Parser2.prototype.matchAssign = function() {
if (this.lookahead.type !== 7) {
return false;
}
var op = this.lookahead.value;
return op === "=" || op === "*=" || op === "**=" || op === "/=" || op === "%=" || op === "+=" || op === "-=" || op === "<<=" || op === ">>=" || op === ">>>=" || op === "&=" || op === "^=" || op === "|=";
};
Parser2.prototype.isolateCoverGrammar = function(parseFunction) {
var previousIsBindingElement = this.context.isBindingElement;
var previousIsAssignmentTarget = this.context.isAssignmentTarget;
var previousFirstCoverInitializedNameError = this.context.firstCoverInitializedNameError;
this.context.isBindingElement = true;
this.context.isAssignmentTarget = true;
this.context.firstCoverInitializedNameError = null;
var result = parseFunction.call(this);
if (this.context.firstCoverInitializedNameError !== null) {
this.throwUnexpectedToken(this.context.firstCoverInitializedNameError);
}
this.context.isBindingElement = previousIsBindingElement;
this.context.isAssignmentTarget = previousIsAssignmentTarget;
this.context.firstCoverInitializedNameError = previousFirstCoverInitializedNameError;
return result;
};
Parser2.prototype.inheritCoverGrammar = function(parseFunction) {
var previousIsBindingElement = this.context.isBindingElement;
var previousIsAssignmentTarget = this.context.isAssignmentTarget;
var previousFirstCoverInitializedNameError = this.context.firstCoverInitializedNameError;
this.context.isBindingElement = true;
this.context.isAssignmentTarget = true;
this.context.firstCoverInitializedNameError = null;
var result = parseFunction.call(this);
this.context.isBindingElement = this.context.isBindingElement && previousIsBindingElement;
this.context.isAssignmentTarget = this.context.isAssignmentTarget && previousIsAssignmentTarget;
this.context.firstCoverInitializedNameError = previousFirstCoverInitializedNameError || this.context.firstCoverInitializedNameError;
return result;
};
Parser2.prototype.consumeSemicolon = function() {
if (this.match(";")) {
this.nextToken();
} else if (!this.hasLineTerminator) {
if (this.lookahead.type !== 2 && !this.match("}")) {
this.throwUnexpectedToken(this.lookahead);
}
this.lastMarker.index = this.startMarker.index;
this.lastMarker.line = this.startMarker.line;
this.lastMarker.column = this.startMarker.column;
}
};
Parser2.prototype.parsePrimaryExpression = function() {
var node = this.createNode();
var expr;
var token, raw;
switch (this.lookahead.type) {
case 3:
if ((this.context.isModule || this.context.await) && this.lookahead.value === "await") {
this.tolerateUnexpectedToken(this.lookahead);
}
expr = this.matchAsyncFunction() ? this.parseFunctionExpression() : this.finalize(node, new Node.Identifier(this.nextToken().value));
break;
case 6:
case 8:
if (this.context.strict && this.lookahead.octal) {
this.tolerateUnexpectedToken(this.lookahead, messages_1.Messages.StrictOctalLiteral);
}
this.context.isAssignmentTarget = false;
this.context.isBindingElement = false;
token = this.nextToken();
raw = this.getTokenRaw(token);
expr = this.finalize(node, new Node.Literal(token.value, raw));
break;
case 1:
this.context.isAssignmentTarget = false;
this.context.isBindingElement = false;
token = this.nextToken();
raw = this.getTokenRaw(token);
expr = this.finalize(node, new Node.Literal(token.value === "true", raw));
break;
case 5:
this.context.isAssignmentTarget = false;
this.context.isBindingElement = false;
token = this.nextToken();
raw = this.getTokenRaw(token);
expr = this.finalize(node, new Node.Literal(null, raw));
break;
case 10:
expr = this.parseTemplateLiteral();
break;
case 7:
switch (this.lookahead.value) {
case "(":
this.context.isBindingElement = false;
expr = this.inheritCoverGrammar(this.parseGroupExpression);
break;
case "[":
expr = this.inheritCoverGrammar(this.parseArrayInitializer);
break;
case "{":
expr = this.inheritCoverGrammar(this.parseObjectInitializer);
break;
case "/":
case "/=":
this.context.isAssignmentTarget = false;
this.context.isBindingElement = false;
this.scanner.index = this.startMarker.index;
token = this.nextRegexToken();
raw = this.getTokenRaw(token);
expr = this.finalize(node, new Node.RegexLiteral(token.regex, raw, token.pattern, token.flags));
break;
default:
expr = this.throwUnexpectedToken(this.nextToken());
}
break;
case 4:
if (!this.context.strict && this.context.allowYield && this.matchKeyword("yield")) {
expr = this.parseIdentifierName();
} else if (!this.context.strict && this.matchKeyword("let")) {
expr = this.finalize(node, new Node.Identifier(this.nextToken().value));
} else {
this.context.isAssignmentTarget = false;
this.context.isBindingElement = false;
if (this.matchKeyword("function")) {
expr = this.parseFunctionExpression();
} else if (this.matchKeyword("this")) {
this.nextToken();
expr = this.finalize(node, new Node.ThisExpression());
} else if (this.matchKeyword("class")) {
expr = this.parseClassExpression();
} else {
expr = this.throwUnexpectedToken(this.nextToken());
}
}
break;
default:
expr = this.throwUnexpectedToken(this.nextToken());
}
return expr;
};
Parser2.prototype.parseSpreadElement = function() {
var node = this.createNode();
this.expect("...");
var arg = this.inheritCoverGrammar(this.parseAssignmentExpression);
return this.finalize(node, new Node.SpreadElement(arg));
};
Parser2.prototype.parseArrayInitializer = function() {
var node = this.createNode();
var elements = [];
this.expect("[");
while (!this.match("]")) {
if (this.match(",")) {
this.nextToken();
elements.push(null);
} else if (this.match("...")) {
var element = this.parseSpreadElement();
if (!this.match("]")) {
this.context.isAssignmentTarget = false;
this.context.isBindingElement = false;
this.expect(",");
}
elements.push(element);
} else {
elements.push(this.inheritCoverGrammar(this.parseAssignmentExpression));
if (!this.match("]")) {
this.expect(",");
}
}
}
this.expect("]");
return this.finalize(node, new Node.ArrayExpression(elements));
};
Parser2.prototype.parsePropertyMethod = function(params) {
this.context.isAssignmentTarget = false;
this.context.isBindingElement = false;
var previousStrict = this.context.strict;
var previousAllowStrictDirective = this.context.allowStrictDirective;
this.context.allowStrictDirective = params.simple;
var body = this.isolateCoverGrammar(this.parseFunctionSourceElements);
if (this.context.strict && params.firstRestricted) {
this.tolerateUnexpectedToken(params.firstRestricted, params.message);
}
if (this.context.strict && params.stricted) {
this.tolerateUnexpectedToken(params.stricted, params.message);
}
this.context.strict = previousStrict;
this.context.allowStrictDirective = previousAllowStrictDirective;
return body;
};
Parser2.prototype.parsePropertyMethodFunction = function() {
var isGenerator = false;
var node = this.createNode();
var previousAllowYield = this.context.allowYield;
this.context.allowYield = true;
var params = this.parseFormalParameters();
var method = this.parsePropertyMethod(params);
this.context.allowYield = previousAllowYield;
return this.finalize(node, new Node.FunctionExpression(null, params.params, method, isGenerator));
};
Parser2.prototype.parsePropertyMethodAsyncFunction = function() {
var node = this.createNode();
var previousAllowYield = this.context.allowYield;
var previousAwait = this.context.await;
this.context.allowYield = false;
this.context.await = true;
var params = this.parseFormalParameters();
var method = this.parsePropertyMethod(params);
this.context.allowYield = previousAllowYield;
this.context.await = previousAwait;
return this.finalize(node, new Node.AsyncFunctionExpression(null, params.params, method));
};
Parser2.prototype.parseObjectPropertyKey = function() {
var node = this.createNode();
var token = this.nextToken();
var key;
switch (token.type) {
case 8:
case 6:
if (this.context.strict && token.octal) {
this.tolerateUnexpectedToken(token, messages_1.Messages.StrictOctalLiteral);
}
var raw = this.getTokenRaw(token);
key = this.finalize(node, new Node.Literal(token.value, raw));
break;
case 3:
case 1:
case 5:
case 4:
key = this.finalize(node, new Node.Identifier(token.value));
break;
case 7:
if (token.value === "[") {
key = this.isolateCoverGrammar(this.parseAssignmentExpression);
this.expect("]");
} else {
key = this.throwUnexpectedToken(token);
}
break;
default:
key = this.throwUnexpectedToken(token);
}
return key;
};
Parser2.prototype.isPropertyKey = function(key, value) {
return key.type === syntax_1.Syntax.Identifier && key.name === value || key.type === syntax_1.Syntax.Literal && key.value === value;
};
Parser2.prototype.parseObjectProperty = function(hasProto) {
var node = this.createNode();
var token = this.lookahead;
var kind;
var key = null;
var value = null;
var computed = false;
var method = false;
var shorthand = false;
var isAsync = false;
if (token.type === 3) {
var id = token.value;
this.nextToken();
computed = this.match("[");
isAsync = !this.hasLineTerminator && id === "async" && !this.match(":") && !this.match("(") && !this.match("*") && !this.match(",");
key = isAsync ? this.parseObjectPropertyKey() : this.finalize(node, new Node.Identifier(id));
} else if (this.match("*")) {
this.nextToken();
} else {
computed = this.match("[");
key = this.parseObjectPropertyKey();
}
var lookaheadPropertyKey = this.qualifiedPropertyName(this.lookahead);
if (token.type === 3 && !isAsync && token.value === "get" && lookaheadPropertyKey) {
kind = "get";
computed = this.match("[");
key = this.parseObjectPropertyKey();
this.context.allowYield = false;
value = this.parseGetterMethod();
} else if (token.type === 3 && !isAsync && token.value === "set" && lookaheadPropertyKey) {
kind = "set";
computed = this.match("[");
key = this.parseObjectPropertyKey();
value = this.parseSetterMethod();
} else if (token.type === 7 && token.value === "*" && lookaheadPropertyKey) {
kind = "init";
computed = this.match("[");
key = this.parseObjectPropertyKey();
value = this.parseGeneratorMethod();
method = true;
} else {
if (!key) {
this.throwUnexpectedToken(this.lookahead);
}
kind = "init";
if (this.match(":") && !isAsync) {
if (!computed && this.isPropertyKey(key, "__proto__")) {
if (hasProto.value) {
this.tolerateError(messages_1.Messages.DuplicateProtoProperty);
}
hasProto.value = true;
}
this.nextToken();
value = this.inheritCoverGrammar(this.parseAssignmentExpression);
} else if (this.match("(")) {
value = isAsync ? this.parsePropertyMethodAsyncFunction() : this.parsePropertyMethodFunction();
method = true;
} else if (token.type === 3) {
var id = this.finalize(node, new Node.Identifier(token.value));
if (this.match("=")) {
this.context.firstCoverInitializedNameError = this.lookahead;
this.nextToken();
shorthand = true;
var init = this.isolateCoverGrammar(this.parseAssignmentExpression);
value = this.finalize(node, new Node.AssignmentPattern(id, init));
} else {
shorthand = true;
value = id;
}
} else {
this.throwUnexpectedToken(this.nextToken());
}
}
return this.finalize(node, new Node.Property(kind, key, computed, value, method, shorthand));
};
Parser2.prototype.parseObjectInitializer = function() {
var node = this.createNode();
this.expect("{");
var properties = [];
var hasProto = { value: false };
while (!this.match("}")) {
properties.push(this.parseObjectProperty(hasProto));
if (!this.match("}")) {
this.expectCommaSeparator();
}
}
this.expect("}");
return this.finalize(node, new Node.ObjectExpression(properties));
};
Parser2.prototype.parseTemplateHead = function() {
(0, assert_1.assert)(this.lookahead.head, "Template literal must start with a template head");
var node = this.createNode();
var token = this.nextToken();
var raw = token.value;
var cooked = token.cooked;
return this.finalize(node, new Node.TemplateElement({ raw, cooked }, token.tail));
};
Parser2.prototype.parseTemplateElement = function() {
if (this.lookahead.type !== 10) {
this.throwUnexpectedToken();
}
var node = this.createNode();
var token = this.nextToken();
var raw = token.value;
var cooked = token.cooked;
return this.finalize(node, new Node.TemplateElement({ raw, cooked }, token.tail));
};
Parser2.prototype.parseTemplateLiteral = function() {
var node = this.createNode();
var expressions = [];
var quasis = [];
var quasi = this.parseTemplateHead();
quasis.push(quasi);
while (!quasi.tail) {
expressions.push(this.parseExpression());
quasi = this.parseTemplateElement();
quasis.push(quasi);
}
return this.finalize(node, new Node.TemplateLiteral(quasis, expressions));
};
Parser2.prototype.reinterpretExpressionAsPattern = function(expr) {
switch (expr.type) {
case syntax_1.Syntax.Identifier:
case syntax_1.Syntax.MemberExpression:
case syntax_1.Syntax.RestElement:
case syntax_1.Syntax.AssignmentPattern:
break;
case syntax_1.Syntax.SpreadElement:
expr.type = syntax_1.Syntax.RestElement;
this.reinterpretExpressionAsPattern(expr.argument);
break;
case syntax_1.Syntax.ArrayExpression:
expr.type = syntax_1.Syntax.ArrayPattern;
for (var i = 0; i < expr.elements.length; i++) {
if (expr.elements[i] !== null) {
this.reinterpretExpressionAsPattern(expr.elements[i]);
}
}
break;
case syntax_1.Syntax.ObjectExpression:
expr.type = syntax_1.Syntax.ObjectPattern;
for (var i = 0; i < expr.properties.length; i++) {
this.reinterpretExpressionAsPattern(expr.properties[i].value);
}
break;
case syntax_1.Syntax.AssignmentExpression:
expr.type = syntax_1.Syntax.AssignmentPattern;
delete expr.operator;
this.reinterpretExpressionAsPattern(expr.left);
break;
default:
break;
}
};
Parser2.prototype.parseGroupExpression = function() {
var expr;
this.expect("(");
if (this.match(")")) {
this.nextToken();
if (!this.match("=>")) {
this.expect("=>");
}
expr = {
type: ArrowParameterPlaceHolder,
params: [],
async: false
};
} else {
var startToken = this.lookahead;
var params = [];
if (this.match("...")) {
expr = this.parseRestElement(params);
this.expect(")");
if (!this.match("=>")) {
this.expect("=>");
}
expr = {
type: ArrowParameterPlaceHolder,
params: [expr],
async: false
};
} else {
var arrow = false;
this.context.isBindingElement = true;
expr = this.inheritCoverGrammar(this.parseAssignmentExpression);
if (this.match(",")) {
var expressions = [];
this.context.isAssignmentTarget = false;
expressions.push(expr);
while (this.lookahead.type !== 2) {
if (!this.match(",")) {
break;
}
this.nextToken();
if (this.match(")")) {
this.nextToken();
for (var i = 0; i < expressions.length; i++) {
this.reinterpretExpressionAsPattern(expressions[i]);
}
arrow = true;
expr = {
type: ArrowParameterPlaceHolder,
params: expressions,
async: false
};
} else if (this.match("...")) {
if (!this.context.isBindingElement) {
this.throwUnexpectedToken(this.lookahead);
}
expressions.push(this.parseRestElement(params));
this.expect(")");
if (!this.match("=>")) {
this.expect("=>");
}
this.context.isBindingElement = false;
for (var i = 0; i < expressions.length; i++) {
this.reinterpretExpressionAsPattern(expressions[i]);
}
arrow = true;
expr = {
type: ArrowParameterPlaceHolder,
params: expressions,
async: false
};
} else {
expressions.push(this.inheritCoverGrammar(this.parseAssignmentExpression));
}
if (arrow) {
break;
}
}
if (!arrow) {
expr = this.finalize(this.startNode(startToken), new Node.SequenceExpression(expressions));
}
}
if (!arrow) {
this.expect(")");
if (this.match("=>")) {
if (expr.type === syntax_1.Syntax.Identifier && expr.name === "yield") {
arrow = true;
expr = {
type: ArrowParameterPlaceHolder,
params: [expr],
async: false
};
}
if (!arrow) {
if (!this.context.isBindingElement) {
this.throwUnexpectedToken(this.lookahead);
}
if (expr.type === syntax_1.Syntax.SequenceExpression) {
for (var i = 0; i < expr.expressions.length; i++) {
this.reinterpretExpressionAsPattern(expr.expressions[i]);
}
} else {
this.reinterpretExpressionAsPattern(expr);
}
var parameters = expr.type === syntax_1.Syntax.SequenceExpression ? expr.expressions : [expr];
expr = {
type: ArrowParameterPlaceHolder,
params: parameters,
async: false
};
}
}
this.context.isBindingElement = false;
}
}
}
return expr;
};
Parser2.prototype.parseArguments = function() {
this.expect("(");
var args = [];
if (!this.match(")")) {
while (true) {
var expr = this.match("...") ? this.parseSpreadElement() : this.isolateCoverGrammar(this.parseAssignmentExpression);
args.push(expr);
if (this.match(")")) {
break;
}
this.expectCommaSeparator();
if (this.match(")")) {
break;
}
}
}
this.expect(")");
return args;
};
Parser2.prototype.isIdentifierName = function(token) {
return token.type === 3 || token.type === 4 || token.type === 1 || token.type === 5;
};
Parser2.prototype.parseIdentifierName = function() {
var node = this.createNode();
var token = this.nextToken();
if (!this.isIdentifierName(token)) {
this.throwUnexpectedToken(token);
}
return this.finalize(node, new Node.Identifier(token.value));
};
Parser2.prototype.parseNewExpression = function() {
var node = this.createNode();
var id = this.parseIdentifierName();
(0, assert_1.assert)(id.name === "new", "New expression must start with `new`");
var expr;
if (this.match(".")) {
this.nextToken();
if (this.lookahead.type === 3 && this.context.inFunctionBody && this.lookahead.value === "target") {
var property = this.parseIdentifierName();
expr = new Node.MetaProperty(id, property);
} else {
this.throwUnexpectedToken(this.lookahead);
}
} else {
var callee = this.isolateCoverGrammar(this.parseLeftHandSideExpression);
var args = this.match("(") ? this.parseArguments() : [];
expr = new Node.NewExpression(callee, args);
this.context.isAssignmentTarget = false;
this.context.isBindingElement = false;
}
return this.finalize(node, expr);
};
Parser2.prototype.parseAsyncArgument = function() {
var arg = this.parseAssignmentExpression();
this.context.firstCoverInitializedNameError = null;
return arg;
};
Parser2.prototype.parseAsyncArguments = function() {
this.expect("(");
var args = [];
if (!this.match(")")) {
while (true) {
var expr = this.match("...") ? this.parseSpreadElement() : this.isolateCoverGrammar(this.parseAsyncArgument);
args.push(expr);
if (this.match(")")) {
break;
}
this.expectCommaSeparator();
if (this.match(")")) {
break;
}
}
}
this.expect(")");
return args;
};
Parser2.prototype.parseLeftHandSideExpressionAllowCall = function() {
var startToken = this.lookahead;
var maybeAsync = this.matchContextualKeyword("async");
var previousAllowIn = this.context.allowIn;
this.context.allowIn = true;
var expr;
if (this.matchKeyword("super") && this.context.inFunctionBody) {
expr = this.createNode();
this.nextToken();
expr = this.finalize(expr, new Node.Super());
if (!this.match("(") && !this.match(".") && !this.match("[")) {
this.throwUnexpectedToken(this.lookahead);
}
} else {
expr = this.inheritCoverGrammar(this.matchKeyword("new") ? this.parseNewExpression : this.parsePrimaryExpression);
}
while (true) {
if (this.match(".")) {
this.context.isBindingElement = false;
this.context.isAssignmentTarget = true;
this.expect(".");
var property = this.parseIdentifierName();
expr = this.finalize(this.startNode(startToken), new Node.StaticMemberExpression(expr, property));
} else if (this.match("(")) {
var asyncArrow = maybeAsync && startToken.lineNumber === this.lookahead.lineNumber;
this.context.isBindingElement = false;
this.context.isAssignmentTarget = false;
var args = asyncArrow ? this.parseAsyncArguments() : this.parseArguments();
expr = this.finalize(this.startNode(startToken), new Node.CallExpression(expr, args));
if (asyncArrow && this.match("=>")) {
for (var i = 0; i < args.length; ++i) {
this.reinterpretExpressionAsPattern(args[i]);
}
expr = {
type: ArrowParameterPlaceHolder,
params: args,
async: true
};
}
} else if (this.match("[")) {
this.context.isBindingElement = false;
this.context.isAssignmentTarget = true;
this.expect("[");
var property = this.isolateCoverGrammar(this.parseExpression);
this.expect("]");
expr = this.finalize(this.startNode(startToken), new Node.ComputedMemberExpression(expr, property));
} else if (this.lookahead.type === 10 && this.lookahead.head) {
var quasi = this.parseTemplateLiteral();
expr = this.finalize(this.startNode(startToken), new Node.TaggedTemplateExpression(expr, quasi));
} else {
break;
}
}
this.context.allowIn = previousAllowIn;
return expr;
};
Parser2.prototype.parseSuper = function() {
var node = this.createNode();
this.expectKeyword("super");
if (!this.match("[") && !this.match(".")) {
this.throwUnexpectedToken(this.lookahead);
}
return this.finalize(node, new Node.Super());
};
Parser2.prototype.parseLeftHandSideExpression = function() {
(0, assert_1.assert)(this.context.allowIn, "callee of new expression always allow in keyword.");
var node = this.startNode(this.lookahead);
var expr = this.matchKeyword("super") && this.context.inFunctionBody ? this.parseSuper() : this.inheritCoverGrammar(this.matchKeyword("new") ? this.parseNewExpression : this.parsePrimaryExpression);
while (true) {
if (this.match("[")) {
this.context.isBindingElement = false;
this.context.isAssignmentTarget = true;
this.expect("[");
var property = this.isolateCoverGrammar(this.parseExpression);
this.expect("]");
expr = this.finalize(node, new Node.ComputedMemberExpression(expr, property));
} else if (this.match(".")) {
this.context.isBindingElement = false;
this.context.isAssignmentTarget = true;
this.expect(".");
var property = this.parseIdentifierName();
expr = this.finalize(node, new Node.StaticMemberExpression(expr, property));
} else if (this.lookahead.type === 10 && this.lookahead.head) {
var quasi = this.parseTemplateLiteral();
expr = this.finalize(node, new Node.TaggedTemplateExpression(expr, quasi));
} else {
break;
}
}
return expr;
};
Parser2.prototype.parseUpdateExpression = function() {
var expr;
var startToken = this.lookahead;
if (this.match("++") || this.match("--")) {
var node = this.startNode(startToken);
var token = this.nextToken();
expr = this.inheritCoverGrammar(this.parseUnaryExpression);
if (this.context.strict && expr.type === syntax_1.Syntax.Identifier && this.scanner.isRestrictedWord(expr.name)) {
this.tolerateError(messages_1.Messages.StrictLHSPrefix);
}
if (!this.context.isAssignmentTarget) {
this.tolerateError(messages_1.Messages.InvalidLHSInAssignment);
}
var prefix = true;
expr = this.finalize(node, new Node.UpdateExpression(token.value, expr, prefix));
this.context.isAssignmentTarget = false;
this.context.isBindingElement = false;
} else {
expr = this.inheritCoverGrammar(this.parseLeftHandSideExpressionAllowCall);
if (!this.hasLineTerminator && this.lookahead.type === 7) {
if (this.match("++") || this.match("--")) {
if (this.context.strict && expr.type === syntax_1.Syntax.Identifier && this.scanner.isRestrictedWord(expr.name)) {
this.tolerateError(messages_1.Messages.StrictLHSPostfix);
}
if (!this.context.isAssignmentTarget) {
this.tolerateError(messages_1.Messages.InvalidLHSInAssignment);
}
this.context.isAssignmentTarget = false;
this.context.isBindingElement = false;
var operator = this.nextToken().value;
var prefix = false;
expr = this.finalize(this.startNode(startToken), new Node.UpdateExpression(operator, expr, prefix));
}
}
}
return expr;
};
Parser2.prototype.parseAwaitExpression = function() {
var node = this.createNode();
this.nextToken();
var argument = this.parseUnaryExpression();
return this.finalize(node, new Node.AwaitExpression(argument));
};
Parser2.prototype.parseUnaryExpression = function() {
var expr;
if (this.match("+") || this.match("-") || this.match("~") || this.match("!") || this.matchKeyword("delete") || this.matchKeyword("void") || this.matchKeyword("typeof")) {
var node = this.startNode(this.lookahead);
var token = this.nextToken();
expr = this.inheritCoverGrammar(this.parseUnaryExpression);
expr = this.finalize(node, new Node.UnaryExpression(token.value, expr));
if (this.context.strict && expr.operator === "delete" && expr.argument.type === syntax_1.Syntax.Identifier) {
this.tolerateError(messages_1.Messages.StrictDelete);
}
this.context.isAssignmentTarget = false;
this.context.isBindingElement = false;
} else if (this.context.await && this.matchContextualKeyword("await")) {
expr = this.parseAwaitExpression();
} else {
expr = this.parseUpdateExpression();
}
return expr;
};
Parser2.prototype.parseExponentiationExpression = function() {
var startToken = this.lookahead;
var expr = this.inheritCoverGrammar(this.parseUnaryExpression);
if (expr.type !== syntax_1.Syntax.UnaryExpression && this.match("**")) {
this.nextToken();
this.context.isAssignmentTarget = false;
this.context.isBindingElement = false;
var left = expr;
var right = this.isolateCoverGrammar(this.parseExponentiationExpression);
expr = this.finalize(this.startNode(startToken), new Node.BinaryExpression("**", left, right));
}
return expr;
};
Parser2.prototype.binaryPrecedence = function(token) {
var op = token.value;
var precedence;
if (token.type === 7) {
precedence = this.operatorPrecedence[op] || 0;
} else if (token.type === 4) {
precedence = op === "instanceof" || this.context.allowIn && op === "in" ? 7 : 0;
} else {
precedence = 0;
}
return precedence;
};
Parser2.prototype.parseBinaryExpression = function() {
var startToken = this.lookahead;
var expr = this.inheritCoverGrammar(this.parseExponentiationExpression);
var token = this.lookahead;
var prec = this.binaryPrecedence(token);
if (prec > 0) {
this.nextToken();
this.context.isAssignmentTarget = false;
this.context.isBindingElement = false;
var markers = [startToken, this.lookahead];
var left = expr;
var right = this.isolateCoverGrammar(this.parseExponentiationExpression);
var stack = [left, token.value, right];
var precedences = [prec];
while (true) {
prec = this.binaryPrecedence(this.lookahead);
if (prec <= 0) {
break;
}
while (stack.length > 2 && prec <= precedences[precedences.length - 1]) {
right = stack.pop();
var operator = stack.pop();
precedences.pop();
left = stack.pop();
markers.pop();
var node = this.startNode(markers[markers.length - 1]);
stack.push(this.finalize(node, new Node.BinaryExpression(operator, left, right)));
}
stack.push(this.nextToken().value);
precedences.push(prec);
markers.push(this.lookahead);
stack.push(this.isolateCoverGrammar(this.parseExponentiationExpression));
}
var i = stack.length - 1;
expr = stack[i];
var lastMarker = markers.pop();
while (i > 1) {
var marker = markers.pop();
var lastLineStart = lastMarker && lastMarker.lineStart;
var node = this.startNode(marker, lastLineStart);
var operator = stack[i - 1];
expr = this.finalize(node, new Node.BinaryExpression(operator, stack[i - 2], expr));
i -= 2;
lastMarker = marker;
}
}
return expr;
};
Parser2.prototype.parseConditionalExpression = function() {
var startToken = this.lookahead;
var expr = this.inheritCoverGrammar(this.parseBinaryExpression);
if (this.match("?")) {
this.nextToken();
var previousAllowIn = this.context.allowIn;
this.context.allowIn = true;
var consequent = this.isolateCoverGrammar(this.parseAssignmentExpression);
this.context.allowIn = previousAllowIn;
this.expect(":");
var alternate = this.isolateCoverGrammar(this.parseAssignmentExpression);
expr = this.finalize(this.startNode(startToken), new Node.ConditionalExpression(expr, consequent, alternate));
this.context.isAssignmentTarget = false;
this.context.isBindingElement = false;
}
return expr;
};
Parser2.prototype.checkPatternParam = function(options, param) {
switch (param.type) {
case syntax_1.Syntax.Identifier:
this.validateParam(options, param, param.name);
break;
case syntax_1.Syntax.RestElement:
this.checkPatternParam(options, param.argument);
break;
case syntax_1.Syntax.AssignmentPattern:
this.checkPatternParam(options, param.left);
break;
case syntax_1.Syntax.ArrayPattern:
for (var i = 0; i < param.elements.length; i++) {
if (param.elements[i] !== null) {
this.checkPatternParam(options, param.elements[i]);
}
}
break;
case syntax_1.Syntax.ObjectPattern:
for (var i = 0; i < param.properties.length; i++) {
this.checkPatternParam(options, param.properties[i].value);
}
break;
default:
break;
}
options.simple = options.simple && param instanceof Node.Identifier;
};
Parser2.prototype.reinterpretAsCoverFormalsList = function(expr) {
var params = [expr];
var options;
var asyncArrow = false;
switch (expr.type) {
case syntax_1.Syntax.Identifier:
break;
case ArrowParameterPlaceHolder:
params = expr.params;
asyncArrow = expr.async;
break;
default:
return null;
}
options = {
simple: true,
paramSet: {}
};
for (var i = 0; i < params.length; ++i) {
var param = params[i];
if (param.type === syntax_1.Syntax.AssignmentPattern) {
if (param.right.type === syntax_1.Syntax.YieldExpression) {
if (param.right.argument) {
this.throwUnexpectedToken(this.lookahead);
}
param.right.type = syntax_1.Syntax.Identifier;
param.right.name = "yield";
delete param.right.argument;
delete param.right.delegate;
}
} else if (asyncArrow && param.type === syntax_1.Syntax.Identifier && param.name === "await") {
this.throwUnexpectedToken(this.lookahead);
}
this.checkPatternParam(options, param);
params[i] = param;
}
if (this.context.strict || !this.context.allowYield) {
for (var i = 0; i < params.length; ++i) {
var param = params[i];
if (param.type === syntax_1.Syntax.YieldExpression) {
this.throwUnexpectedToken(this.lookahead);
}
}
}
if (options.message === messages_1.Messages.StrictParamDupe) {
var token = this.context.strict ? options.stricted : options.firstRestricted;
this.throwUnexpectedToken(token, options.message);
}
return {
simple: options.simple,
params,
stricted: options.stricted,
firstRestricted: options.firstRestricted,
message: options.message
};
};
Parser2.prototype.parseAssignmentExpression = function() {
var expr;
if (!this.context.allowYield && this.matchKeyword("yield")) {
expr = this.parseYieldExpression();
} else {
var startToken = this.lookahead;
var token = startToken;
expr = this.parseConditionalExpression();
if (token.type === 3 && token.lineNumber === this.lookahead.lineNumber && token.value === "async") {
if (this.lookahead.type === 3 || this.matchKeyword("yield")) {
var arg = this.parsePrimaryExpression();
this.reinterpretExpressionAsPattern(arg);
expr = {
type: ArrowParameterPlaceHolder,
params: [arg],
async: true
};
}
}
if (expr.type === ArrowParameterPlaceHolder || this.match("=>")) {
this.context.isAssignmentTarget = false;
this.context.isBindingElement = false;
var isAsync = expr.async;
var list = this.reinterpretAsCoverFormalsList(expr);
if (list) {
if (this.hasLineTerminator) {
this.tolerateUnexpectedToken(this.lookahead);
}
this.context.firstCoverInitializedNameError = null;
var previousStrict = this.context.strict;
var previousAllowStrictDirective = this.context.allowStrictDirective;
this.context.allowStrictDirective = list.simple;
var previousAllowYield = this.context.allowYield;
var previousAwait = this.context.await;
this.context.allowYield = true;
this.context.await = isAsync;
var node = this.startNode(startToken);
this.expect("=>");
var body = void 0;
if (this.match("{")) {
var previousAllowIn = this.context.allowIn;
this.context.allowIn = true;
body = this.parseFunctionSourceElements();
this.context.allowIn = previousAllowIn;
} else {
body = this.isolateCoverGrammar(this.parseAssignmentExpression);
}
var expression = body.type !== syntax_1.Syntax.BlockStatement;
if (this.context.strict && list.firstRestricted) {
this.throwUnexpectedToken(list.firstRestricted, list.message);
}
if (this.context.strict && list.stricted) {
this.tolerateUnexpectedToken(list.stricted, list.message);
}
expr = isAsync ? this.finalize(node, new Node.AsyncArrowFunctionExpression(list.params, body, expression)) : this.finalize(node, new Node.ArrowFunctionExpression(list.params, body, expression));
this.context.strict = previousStrict;
this.context.allowStrictDirective = previousAllowStrictDirective;
this.context.allowYield = previousAllowYield;
this.context.await = previousAwait;
}
} else {
if (this.matchAssign()) {
if (!this.context.isAssignmentTarget) {
this.tolerateError(messages_1.Messages.InvalidLHSInAssignment);
}
if (this.context.strict && expr.type === syntax_1.Syntax.Identifier) {
var id = expr;
if (this.scanner.isRestrictedWord(id.name)) {
this.tolerateUnexpectedToken(token, messages_1.Messages.StrictLHSAssignment);
}
if (this.scanner.isStrictModeReservedWord(id.name)) {
this.tolerateUnexpectedToken(token, messages_1.Messages.StrictReservedWord);
}
}
if (!this.match("=")) {
this.context.isAssignmentTarget = false;
this.context.isBindingElement = false;
} else {
this.reinterpretExpressionAsPattern(expr);
}
token = this.nextToken();
var operator = token.value;
var right = this.isolateCoverGrammar(this.parseAssignmentExpression);
expr = this.finalize(this.startNode(startToken), new Node.AssignmentExpression(operator, expr, right));
this.context.firstCoverInitializedNameError = null;
}
}
}
return expr;
};
Parser2.prototype.parseExpression = function() {
var startToken = this.lookahead;
var expr = this.isolateCoverGrammar(this.parseAssignmentExpression);
if (this.match(",")) {
var expressions = [];
expressions.push(expr);
while (this.lookahead.type !== 2) {
if (!this.match(",")) {
break;
}
this.nextToken();
expressions.push(this.isolateCoverGrammar(this.parseAssignmentExpression));
}
expr = this.finalize(this.startNode(startToken), new Node.SequenceExpression(expressions));
}
return expr;
};
Parser2.prototype.parseStatementListItem = function() {
var statement;
this.context.isAssignmentTarget = true;
this.context.isBindingElement = true;
if (this.lookahead.type === 4) {
switch (this.lookahead.value) {
case "export":
if (!this.context.isModule) {
this.tolerateUnexpectedToken(this.lookahead, messages_1.Messages.IllegalExportDeclaration);
}
statement = this.parseExportDeclaration();
break;
case "import":
if (!this.context.isModule) {
this.tolerateUnexpectedToken(this.lookahead, messages_1.Messages.IllegalImportDeclaration);
}
statement = this.parseImportDeclaration();
break;
case "const":
statement = this.parseLexicalDeclaration({ inFor: false });
break;
case "function":
statement = this.parseFunctionDeclaration();
break;
case "class":
statement = this.parseClassDeclaration();
break;
case "let":
statement = this.isLexicalDeclaration() ? this.parseLexicalDeclaration({ inFor: false }) : this.parseStatement();
break;
default:
statement = this.parseStatement();
break;
}
} else {
statement = this.parseStatement();
}
return statement;
};
Parser2.prototype.parseBlock = function() {
var node = this.createNode();
this.expect("{");
var block = [];
while (true) {
if (this.match("}")) {
break;
}
block.push(this.parseStatementListItem());
}
this.expect("}");
return this.finalize(node, new Node.BlockStatement(block));
};
Parser2.prototype.parseLexicalBinding = function(kind, options) {
var node = this.createNode();
var params = [];
var id = this.parsePattern(params, kind);
if (this.context.strict && id.type === syntax_1.Syntax.Identifier) {
if (this.scanner.isRestrictedWord(id.name)) {
this.tolerateError(messages_1.Messages.StrictVarName);
}
}
var init = null;
if (kind === "const") {
if (!this.matchKeyword("in") && !this.matchContextualKeyword("of")) {
if (this.match("=")) {
this.nextToken();
init = this.isolateCoverGrammar(this.parseAssignmentExpression);
} else {
this.throwError(messages_1.Messages.DeclarationMissingInitializer, "const");
}
}
} else if (!options.inFor && id.type !== syntax_1.Syntax.Identifier || this.match("=")) {
this.expect("=");
init = this.isolateCoverGrammar(this.parseAssignmentExpression);
}
return this.finalize(node, new Node.VariableDeclarator(id, init));
};
Parser2.prototype.parseBindingList = function(kind, options) {
var list = [this.parseLexicalBinding(kind, options)];
while (this.match(",")) {
this.nextToken();
list.push(this.parseLexicalBinding(kind, options));
}
return list;
};
Parser2.prototype.isLexicalDeclaration = function() {
var state = this.scanner.saveState();
this.scanner.scanComments();
var next = this.scanner.lex();
this.scanner.restoreState(state);
return next.type === 3 || next.type === 7 && next.value === "[" || next.type === 7 && next.value === "{" || next.type === 4 && next.value === "let" || next.type === 4 && next.value === "yield";
};
Parser2.prototype.parseLexicalDeclaration = function(options) {
var node = this.createNode();
var kind = this.nextToken().value;
(0, assert_1.assert)(kind === "let" || kind === "const", "Lexical declaration must be either let or const");
var declarations = this.parseBindingList(kind, options);
this.consumeSemicolon();
return this.finalize(node, new Node.VariableDeclaration(declarations, kind));
};
Parser2.prototype.parseBindingRestElement = function(params, kind) {
var node = this.createNode();
this.expect("...");
var arg = this.parsePattern(params, kind);
return this.finalize(node, new Node.RestElement(arg));
};
Parser2.prototype.parseArrayPattern = function(params, kind) {
var node = this.createNode();
this.expect("[");
var elements = [];
while (!this.match("]")) {
if (this.match(",")) {
this.nextToken();
elements.push(null);
} else {
if (this.match("...")) {
elements.push(this.parseBindingRestElement(params, kind));
break;
} else {
elements.push(this.parsePatternWithDefault(params, kind));
}
if (!this.match("]")) {
this.expect(",");
}
}
}
this.expect("]");
return this.finalize(node, new Node.ArrayPattern(elements));
};
Parser2.prototype.parsePropertyPattern = function(params, kind) {
var node = this.createNode();
var computed = false;
var shorthand = false;
var method = false;
var key;
var value;
if (this.lookahead.type === 3) {
var keyToken = this.lookahead;
key = this.parseVariableIdentifier();
var init = this.finalize(node, new Node.Identifier(keyToken.value));
if (this.match("=")) {
params.push(keyToken);
shorthand = true;
this.nextToken();
var expr = this.parseAssignmentExpression();
value = this.finalize(this.startNode(keyToken), new Node.AssignmentPattern(init, expr));
} else if (!this.match(":")) {
params.push(keyToken);
shorthand = true;
value = init;
} else {
this.expect(":");
value = this.parsePatternWithDefault(params, kind);
}
} else {
computed = this.match("[");
key = this.parseObjectPropertyKey();
this.expect(":");
value = this.parsePatternWithDefault(params, kind);
}
return this.finalize(node, new Node.Property("init", key, computed, value, method, shorthand));
};
Parser2.prototype.parseObjectPattern = function(params, kind) {
var node = this.createNode();
var properties = [];
this.expect("{");
while (!this.match("}")) {
properties.push(this.parsePropertyPattern(params, kind));
if (!this.match("}")) {
this.expect(",");
}
}
this.expect("}");
return this.finalize(node, new Node.ObjectPattern(properties));
};
Parser2.prototype.parsePattern = function(params, kind) {
var pattern;
if (this.match("[")) {
pattern = this.parseArrayPattern(params, kind);
} else if (this.match("{")) {
pattern = this.parseObjectPattern(params, kind);
} else {
if (this.matchKeyword("let") && (kind === "const" || kind === "let")) {
this.tolerateUnexpectedToken(this.lookahead, messages_1.Messages.LetInLexicalBinding);
}
params.push(this.lookahead);
pattern = this.parseVariableIdentifier(kind);
}
return pattern;
};
Parser2.prototype.parsePatternWithDefault = function(params, kind) {
var startToken = this.lookahead;
var pattern = this.parsePattern(params, kind);
if (this.match("=")) {
this.nextToken();
var previousAllowYield = this.context.allowYield;
this.context.allowYield = true;
var right = this.isolateCoverGrammar(this.parseAssignmentExpression);
this.context.allowYield = previousAllowYield;
pattern = this.finalize(this.startNode(startToken), new Node.AssignmentPattern(pattern, right));
}
return pattern;
};
Parser2.prototype.parseVariableIdentifier = function(kind) {
var node = this.createNode();
var token = this.nextToken();
if (token.type === 4 && token.value === "yield") {
if (this.context.strict) {
this.tolerateUnexpectedToken(token, messages_1.Messages.StrictReservedWord);
} else if (!this.context.allowYield) {
this.throwUnexpectedToken(token);
}
} else if (token.type !== 3) {
if (this.context.strict && token.type === 4 && this.scanner.isStrictModeReservedWord(token.value)) {
this.tolerateUnexpectedToken(token, messages_1.Messages.StrictReservedWord);
} else {
if (this.context.strict || token.value !== "let" || kind !== "var") {
this.throwUnexpectedToken(token);
}
}
} else if ((this.context.isModule || this.context.await) && token.type === 3 && token.value === "await") {
this.tolerateUnexpectedToken(token);
}
return this.finalize(node, new Node.Identifier(token.value));
};
Parser2.prototype.parseVariableDeclaration = function(options) {
var node = this.createNode();
var params = [];
var id = this.parsePattern(params, "var");
if (this.context.strict && id.type === syntax_1.Syntax.Identifier) {
if (this.scanner.isRestrictedWord(id.name)) {
this.tolerateError(messages_1.Messages.StrictVarName);
}
}
var init = null;
if (this.match("=")) {
this.nextToken();
init = this.isolateCoverGrammar(this.parseAssignmentExpression);
} else if (id.type !== syntax_1.Syntax.Identifier && !options.inFor) {
this.expect("=");
}
return this.finalize(node, new Node.VariableDeclarator(id, init));
};
Parser2.prototype.parseVariableDeclarationList = function(options) {
var opt = { inFor: options.inFor };
var list = [];
list.push(this.parseVariableDeclaration(opt));
while (this.match(",")) {
this.nextToken();
list.push(this.parseVariableDeclaration(opt));
}
return list;
};
Parser2.prototype.parseVariableStatement = function() {
var node = this.createNode();
this.expectKeyword("var");
var declarations = this.parseVariableDeclarationList({ inFor: false });
this.consumeSemicolon();
return this.finalize(node, new Node.VariableDeclaration(declarations, "var"));
};
Parser2.prototype.parseEmptyStatement = function() {
var node = this.createNode();
this.expect(";");
return this.finalize(node, new Node.EmptyStatement());
};
Parser2.prototype.parseExpressionStatement = function() {
var node = this.createNode();
var expr = this.parseExpression();
this.consumeSemicolon();
return this.finalize(node, new Node.ExpressionStatement(expr));
};
Parser2.prototype.parseIfClause = function() {
if (this.context.strict && this.matchKeyword("function")) {
this.tolerateError(messages_1.Messages.StrictFunction);
}
return this.parseStatement();
};
Parser2.prototype.parseIfStatement = function() {
var node = this.createNode();
var consequent;
var alternate = null;
this.expectKeyword("if");
this.expect("(");
var test = this.parseExpression();
if (!this.match(")") && this.config.tolerant) {
this.tolerateUnexpectedToken(this.nextToken());
consequent = this.finalize(this.createNode(), new Node.EmptyStatement());
} else {
this.expect(")");
consequent = this.parseIfClause();
if (this.matchKeyword("else")) {
this.nextToken();
alternate = this.parseIfClause();
}
}
return this.finalize(node, new Node.IfStatement(test, consequent, alternate));
};
Parser2.prototype.parseDoWhileStatement = function() {
var node = this.createNode();
this.expectKeyword("do");
var previousInIteration = this.context.inIteration;
this.context.inIteration = true;
var body = this.parseStatement();
this.context.inIteration = previousInIteration;
this.expectKeyword("while");
this.expect("(");
var test = this.parseExpression();
if (!this.match(")") && this.config.tolerant) {
this.tolerateUnexpectedToken(this.nextToken());
} else {
this.expect(")");
if (this.match(";")) {
this.nextToken();
}
}
return this.finalize(node, new Node.DoWhileStatement(body, test));
};
Parser2.prototype.parseWhileStatement = function() {
var node = this.createNode();
var body;
this.expectKeyword("while");
this.expect("(");
var test = this.parseExpression();
if (!this.match(")") && this.config.tolerant) {
this.tolerateUnexpectedToken(this.nextToken());
body = this.finalize(this.createNode(), new Node.EmptyStatement());
} else {
this.expect(")");
var previousInIteration = this.context.inIteration;
this.context.inIteration = true;
body = this.parseStatement();
this.context.inIteration = previousInIteration;
}
return this.finalize(node, new Node.WhileStatement(test, body));
};
Parser2.prototype.parseForStatement = function() {
var init = null;
var test = null;
var update = null;
var forIn = true;
var left, right;
var node = this.createNode();
this.expectKeyword("for");
this.expect("(");
if (this.match(";")) {
this.nextToken();
} else {
if (this.matchKeyword("var")) {
init = this.createNode();
this.nextToken();
var previousAllowIn = this.context.allowIn;
this.context.allowIn = false;
var declarations = this.parseVariableDeclarationList({ inFor: true });
this.context.allowIn = previousAllowIn;
if (declarations.length === 1 && this.matchKeyword("in")) {
var decl = declarations[0];
if (decl.init && (decl.id.type === syntax_1.Syntax.ArrayPattern || decl.id.type === syntax_1.Syntax.ObjectPattern || this.context.strict)) {
this.tolerateError(messages_1.Messages.ForInOfLoopInitializer, "for-in");
}
init = this.finalize(init, new Node.VariableDeclaration(declarations, "var"));
this.nextToken();
left = init;
right = this.parseExpression();
init = null;
} else if (declarations.length === 1 && declarations[0].init === null && this.matchContextualKeyword("of")) {
init = this.finalize(init, new Node.VariableDeclaration(declarations, "var"));
this.nextToken();
left = init;
right = this.parseAssignmentExpression();
init = null;
forIn = false;
} else {
init = this.finalize(init, new Node.VariableDeclaration(declarations, "var"));
this.expect(";");
}
} else if (this.matchKeyword("const") || this.matchKeyword("let")) {
init = this.createNode();
var kind = this.nextToken().value;
if (!this.context.strict && this.lookahead.value === "in") {
init = this.finalize(init, new Node.Identifier(kind));
this.nextToken();
left = init;
right = this.parseExpression();
init = null;
} else {
var previousAllowIn = this.context.allowIn;
this.context.allowIn = false;
var declarations = this.parseBindingList(kind, { inFor: true });
this.context.allowIn = previousAllowIn;
if (declarations.length === 1 && declarations[0].init === null && this.matchKeyword("in")) {
init = this.finalize(init, new Node.VariableDeclaration(declarations, kind));
this.nextToken();
left = init;
right = this.parseExpression();
init = null;
} else if (declarations.length === 1 && declarations[0].init === null && this.matchContextualKeyword("of")) {
init = this.finalize(init, new Node.VariableDeclaration(declarations, kind));
this.nextToken();
left = init;
right = this.parseAssignmentExpression();
init = null;
forIn = false;
} else {
this.consumeSemicolon();
init = this.finalize(init, new Node.VariableDeclaration(declarations, kind));
}
}
} else {
var initStartToken = this.lookahead;
var previousAllowIn = this.context.allowIn;
this.context.allowIn = false;
init = this.inheritCoverGrammar(this.parseAssignmentExpression);
this.context.allowIn = previousAllowIn;
if (this.matchKeyword("in")) {
if (!this.context.isAssignmentTarget || init.type === syntax_1.Syntax.AssignmentExpression) {
this.tolerateError(messages_1.Messages.InvalidLHSInForIn);
}
this.nextToken();
this.reinterpretExpressionAsPattern(init);
left = init;
right = this.parseExpression();
init = null;
} else if (this.matchContextualKeyword("of")) {
if (!this.context.isAssignmentTarget || init.type === syntax_1.Syntax.AssignmentExpression) {
this.tolerateError(messages_1.Messages.InvalidLHSInForLoop);
}
this.nextToken();
this.reinterpretExpressionAsPattern(init);
left = init;
right = this.parseAssignmentExpression();
init = null;
forIn = false;
} else {
if (this.match(",")) {
var initSeq = [init];
while (this.match(",")) {
this.nextToken();
initSeq.push(this.isolateCoverGrammar(this.parseAssignmentExpression));
}
init = this.finalize(this.startNode(initStartToken), new Node.SequenceExpression(initSeq));
}
this.expect(";");
}
}
}
if (typeof left === "undefined") {
if (!this.match(";")) {
test = this.parseExpression();
}
this.expect(";");
if (!this.match(")")) {
update = this.parseExpression();
}
}
var body;
if (!this.match(")") && this.config.tolerant) {
this.tolerateUnexpectedToken(this.nextToken());
body = this.finalize(this.createNode(), new Node.EmptyStatement());
} else {
this.expect(")");
var previousInIteration = this.context.inIteration;
this.context.inIteration = true;
body = this.isolateCoverGrammar(this.parseStatement);
this.context.inIteration = previousInIteration;
}
return typeof left === "undefined" ? this.finalize(node, new Node.ForStatement(init, test, update, body)) : forIn ? this.finalize(node, new Node.ForInStatement(left, right, body)) : this.finalize(node, new Node.ForOfStatement(left, right, body));
};
Parser2.prototype.parseContinueStatement = function() {
var node = this.createNode();
this.expectKeyword("continue");
var label = null;
if (this.lookahead.type === 3 && !this.hasLineTerminator) {
var id = this.parseVariableIdentifier();
label = id;
var key = "$" + id.name;
if (!Object.prototype.hasOwnProperty.call(this.context.labelSet, key)) {
this.throwError(messages_1.Messages.UnknownLabel, id.name);
}
}
this.consumeSemicolon();
if (label === null && !this.context.inIteration) {
this.throwError(messages_1.Messages.IllegalContinue);
}
return this.finalize(node, new Node.ContinueStatement(label));
};
Parser2.prototype.parseBreakStatement = function() {
var node = this.createNode();
this.expectKeyword("break");
var label = null;
if (this.lookahead.type === 3 && !this.hasLineTerminator) {
var id = this.parseVariableIdentifier();
var key = "$" + id.name;
if (!Object.prototype.hasOwnProperty.call(this.context.labelSet, key)) {
this.throwError(messages_1.Messages.UnknownLabel, id.name);
}
label = id;
}
this.consumeSemicolon();
if (label === null && !this.context.inIteration && !this.context.inSwitch) {
this.throwError(messages_1.Messages.IllegalBreak);
}
return this.finalize(node, new Node.BreakStatement(label));
};
Parser2.prototype.parseReturnStatement = function() {
if (!this.context.inFunctionBody) {
this.tolerateError(messages_1.Messages.IllegalReturn);
}
var node = this.createNode();
this.expectKeyword("return");
var hasArgument = !this.match(";") && !this.match("}") && !this.hasLineTerminator && this.lookahead.type !== 2 || this.lookahead.type === 8 || this.lookahead.type === 10;
var argument = hasArgument ? this.parseExpression() : null;
this.consumeSemicolon();
return this.finalize(node, new Node.ReturnStatement(argument));
};
Parser2.prototype.parseWithStatement = function() {
if (this.context.strict) {
this.tolerateError(messages_1.Messages.StrictModeWith);
}
var node = this.createNode();
var body;
this.expectKeyword("with");
this.expect("(");
var object = this.parseExpression();
if (!this.match(")") && this.config.tolerant) {
this.tolerateUnexpectedToken(this.nextToken());
body = this.finalize(this.createNode(), new Node.EmptyStatement());
} else {
this.expect(")");
body = this.parseStatement();
}
return this.finalize(node, new Node.WithStatement(object, body));
};
Parser2.prototype.parseSwitchCase = function() {
var node = this.createNode();
var test;
if (this.matchKeyword("default")) {
this.nextToken();
test = null;
} else {
this.expectKeyword("case");
test = this.parseExpression();
}
this.expect(":");
var consequent = [];
while (true) {
if (this.match("}") || this.matchKeyword("default") || this.matchKeyword("case")) {
break;
}
consequent.push(this.parseStatementListItem());
}
return this.finalize(node, new Node.SwitchCase(test, consequent));
};
Parser2.prototype.parseSwitchStatement = function() {
var node = this.createNode();
this.expectKeyword("switch");
this.expect("(");
var discriminant = this.parseExpression();
this.expect(")");
var previousInSwitch = this.context.inSwitch;
this.context.inSwitch = true;
var cases = [];
var defaultFound = false;
this.expect("{");
while (true) {
if (this.match("}")) {
break;
}
var clause = this.parseSwitchCase();
if (clause.test === null) {
if (defaultFound) {
this.throwError(messages_1.Messages.MultipleDefaultsInSwitch);
}
defaultFound = true;
}
cases.push(clause);
}
this.expect("}");
this.context.inSwitch = previousInSwitch;
return this.finalize(node, new Node.SwitchStatement(discriminant, cases));
};
Parser2.prototype.parseLabelledStatement = function() {
var node = this.createNode();
var expr = this.parseExpression();
var statement;
if (expr.type === syntax_1.Syntax.Identifier && this.match(":")) {
this.nextToken();
var id = expr;
var key = "$" + id.name;
if (Object.prototype.hasOwnProperty.call(this.context.labelSet, key)) {
this.throwError(messages_1.Messages.Redeclaration, "Label", id.name);
}
this.context.labelSet[key] = true;
var body = void 0;
if (this.matchKeyword("class")) {
this.tolerateUnexpectedToken(this.lookahead);
body = this.parseClassDeclaration();
} else if (this.matchKeyword("function")) {
var token = this.lookahead;
var declaration = this.parseFunctionDeclaration();
if (this.context.strict) {
this.tolerateUnexpectedToken(token, messages_1.Messages.StrictFunction);
} else if (declaration.generator) {
this.tolerateUnexpectedToken(token, messages_1.Messages.GeneratorInLegacyContext);
}
body = declaration;
} else {
body = this.parseStatement();
}
delete this.context.labelSet[key];
statement = new Node.LabeledStatement(id, body);
} else {
this.consumeSemicolon();
statement = new Node.ExpressionStatement(expr);
}
return this.finalize(node, statement);
};
Parser2.prototype.parseThrowStatement = function() {
var node = this.createNode();
this.expectKeyword("throw");
if (this.hasLineTerminator) {
this.throwError(messages_1.Messages.NewlineAfterThrow);
}
var argument = this.parseExpression();
this.consumeSemicolon();
return this.finalize(node, new Node.ThrowStatement(argument));
};
Parser2.prototype.parseCatchClause = function() {
var node = this.createNode();
this.expectKeyword("catch");
this.expect("(");
if (this.match(")")) {
this.throwUnexpectedToken(this.lookahead);
}
var params = [];
var param = this.parsePattern(params);
var paramMap = {};
for (var i = 0; i < params.length; i++) {
var key = "$" + params[i].value;
if (Object.prototype.hasOwnProperty.call(paramMap, key)) {
this.tolerateError(messages_1.Messages.DuplicateBinding, params[i].value);
}
paramMap[key] = true;
}
if (this.context.strict && param.type === syntax_1.Syntax.Identifier) {
if (this.scanner.isRestrictedWord(param.name)) {
this.tolerateError(messages_1.Messages.StrictCatchVariable);
}
}
this.expect(")");
var body = this.parseBlock();
return this.finalize(node, new Node.CatchClause(param, body));
};
Parser2.prototype.parseFinallyClause = function() {
this.expectKeyword("finally");
return this.parseBlock();
};
Parser2.prototype.parseTryStatement = function() {
var node = this.createNode();
this.expectKeyword("try");
var block = this.parseBlock();
var handler = this.matchKeyword("catch") ? this.parseCatchClause() : null;
var finalizer = this.matchKeyword("finally") ? this.parseFinallyClause() : null;
if (!handler && !finalizer) {
this.throwError(messages_1.Messages.NoCatchOrFinally);
}
return this.finalize(node, new Node.TryStatement(block, handler, finalizer));
};
Parser2.prototype.parseDebuggerStatement = function() {
var node = this.createNode();
this.expectKeyword("debugger");
this.consumeSemicolon();
return this.finalize(node, new Node.DebuggerStatement());
};
Parser2.prototype.parseStatement = function() {
var statement;
switch (this.lookahead.type) {
case 1:
case 5:
case 6:
case 8:
case 10:
case 9:
statement = this.parseExpressionStatement();
break;
case 7:
var value = this.lookahead.value;
if (value === "{") {
statement = this.parseBlock();
} else if (value === "(") {
statement = this.parseExpressionStatement();
} else if (value === ";") {
statement = this.parseEmptyStatement();
} else {
statement = this.parseExpressionStatement();
}
break;
case 3:
statement = this.matchAsyncFunction() ? this.parseFunctionDeclaration() : this.parseLabelledStatement();
break;
case 4:
switch (this.lookahead.value) {
case "break":
statement = this.parseBreakStatement();
break;
case "continue":
statement = this.parseContinueStatement();
break;
case "debugger":
statement = this.parseDebuggerStatement();
break;
case "do":
statement = this.parseDoWhileStatement();
break;
case "for":
statement = this.parseForStatement();
break;
case "function":
statement = this.parseFunctionDeclaration();
break;
case "if":
statement = this.parseIfStatement();
break;
case "return":
statement = this.parseReturnStatement();
break;
case "switch":
statement = this.parseSwitchStatement();
break;
case "throw":
statement = this.parseThrowStatement();
break;
case "try":
statement = this.parseTryStatement();
break;
case "var":
statement = this.parseVariableStatement();
break;
case "while":
statement = this.parseWhileStatement();
break;
case "with":
statement = this.parseWithStatement();
break;
default:
statement = this.parseExpressionStatement();
break;
}
break;
default:
statement = this.throwUnexpectedToken(this.lookahead);
}
return statement;
};
Parser2.prototype.parseFunctionSourceElements = function() {
var node = this.createNode();
this.expect("{");
var body = this.parseDirectivePrologues();
var previousLabelSet = this.context.labelSet;
var previousInIteration = this.context.inIteration;
var previousInSwitch = this.context.inSwitch;
var previousInFunctionBody = this.context.inFunctionBody;
this.context.labelSet = {};
this.context.inIteration = false;
this.context.inSwitch = false;
this.context.inFunctionBody = true;
while (this.lookahead.type !== 2) {
if (this.match("}")) {
break;
}
body.push(this.parseStatementListItem());
}
this.expect("}");
this.context.labelSet = previousLabelSet;
this.context.inIteration = previousInIteration;
this.context.inSwitch = previousInSwitch;
this.context.inFunctionBody = previousInFunctionBody;
return this.finalize(node, new Node.BlockStatement(body));
};
Parser2.prototype.validateParam = function(options, param, name) {
var key = "$" + name;
if (this.context.strict) {
if (this.scanner.isRestrictedWord(name)) {
options.stricted = param;
options.message = messages_1.Messages.StrictParamName;
}
if (Object.prototype.hasOwnProperty.call(options.paramSet, key)) {
options.stricted = param;
options.message = messages_1.Messages.StrictParamDupe;
}
} else if (!options.firstRestricted) {
if (this.scanner.isRestrictedWord(name)) {
options.firstRestricted = param;
options.message = messages_1.Messages.StrictParamName;
} else if (this.scanner.isStrictModeReservedWord(name)) {
options.firstRestricted = param;
options.message = messages_1.Messages.StrictReservedWord;
} else if (Object.prototype.hasOwnProperty.call(options.paramSet, key)) {
options.stricted = param;
options.message = messages_1.Messages.StrictParamDupe;
}
}
if (typeof Object.defineProperty === "function") {
Object.defineProperty(options.paramSet, key, { value: true, enumerable: true, writable: true, configurable: true });
} else {
options.paramSet[key] = true;
}
};
Parser2.prototype.parseRestElement = function(params) {
var node = this.createNode();
this.expect("...");
var arg = this.parsePattern(params);
if (this.match("=")) {
this.throwError(messages_1.Messages.DefaultRestParameter);
}
if (!this.match(")")) {
this.throwError(messages_1.Messages.ParameterAfterRestParameter);
}
return this.finalize(node, new Node.RestElement(arg));
};
Parser2.prototype.parseFormalParameter = function(options) {
var params = [];
var param = this.match("...") ? this.parseRestElement(params) : this.parsePatternWithDefault(params);
for (var i = 0; i < params.length; i++) {
this.validateParam(options, params[i], params[i].value);
}
options.simple = options.simple && param instanceof Node.Identifier;
options.params.push(param);
};
Parser2.prototype.parseFormalParameters = function(firstRestricted) {
var options;
options = {
simple: true,
params: [],
firstRestricted
};
this.expect("(");
if (!this.match(")")) {
options.paramSet = {};
while (this.lookahead.type !== 2) {
this.parseFormalParameter(options);
if (this.match(")")) {
break;
}
this.expect(",");
if (this.match(")")) {
break;
}
}
}
this.expect(")");
return {
simple: options.simple,
params: options.params,
stricted: options.stricted,
firstRestricted: options.firstRestricted,
message: options.message
};
};
Parser2.prototype.matchAsyncFunction = function() {
var match = this.matchContextualKeyword("async");
if (match) {
var state = this.scanner.saveState();
this.scanner.scanComments();
var next = this.scanner.lex();
this.scanner.restoreState(state);
match = state.lineNumber === next.lineNumber && next.type === 4 && next.value === "function";
}
return match;
};
Parser2.prototype.parseFunctionDeclaration = function(identifierIsOptional) {
var node = this.createNode();
var isAsync = this.matchContextualKeyword("async");
if (isAsync) {
this.nextToken();
}
this.expectKeyword("function");
var isGenerator = isAsync ? false : this.match("*");
if (isGenerator) {
this.nextToken();
}
var message;
var id = null;
var firstRestricted = null;
if (!identifierIsOptional || !this.match("(")) {
var token = this.lookahead;
id = this.parseVariableIdentifier();
if (this.context.strict) {
if (this.scanner.isRestrictedWord(token.value)) {
this.tolerateUnexpectedToken(token, messages_1.Messages.StrictFunctionName);
}
} else {
if (this.scanner.isRestrictedWord(token.value)) {
firstRestricted = token;
message = messages_1.Messages.StrictFunctionName;
} else if (this.scanner.isStrictModeReservedWord(token.value)) {
firstRestricted = token;
message = messages_1.Messages.StrictReservedWord;
}
}
}
var previousAllowAwait = this.context.await;
var previousAllowYield = this.context.allowYield;
this.context.await = isAsync;
this.context.allowYield = !isGenerator;
var formalParameters = this.parseFormalParameters(firstRestricted);
var params = formalParameters.params;
var stricted = formalParameters.stricted;
firstRestricted = formalParameters.firstRestricted;
if (formalParameters.message) {
message = formalParameters.message;
}
var previousStrict = this.context.strict;
var previousAllowStrictDirective = this.context.allowStrictDirective;
this.context.allowStrictDirective = formalParameters.simple;
var body = this.parseFunctionSourceElements();
if (this.context.strict && firstRestricted) {
this.throwUnexpectedToken(firstRestricted, message);
}
if (this.context.strict && stricted) {
this.tolerateUnexpectedToken(stricted, message);
}
this.context.strict = previousStrict;
this.context.allowStrictDirective = previousAllowStrictDirective;
this.context.await = previousAllowAwait;
this.context.allowYield = previousAllowYield;
return isAsync ? this.finalize(node, new Node.AsyncFunctionDeclaration(id, params, body)) : this.finalize(node, new Node.FunctionDeclaration(id, params, body, isGenerator));
};
Parser2.prototype.parseFunctionExpression = function() {
var node = this.createNode();
var isAsync = this.matchContextualKeyword("async");
if (isAsync) {
this.nextToken();
}
this.expectKeyword("function");
var isGenerator = isAsync ? false : this.match("*");
if (isGenerator) {
this.nextToken();
}
var message;
var id = null;
var firstRestricted;
var previousAllowAwait = this.context.await;
var previousAllowYield = this.context.allowYield;
this.context.await = isAsync;
this.context.allowYield = !isGenerator;
if (!this.match("(")) {
var token = this.lookahead;
id = !this.context.strict && !isGenerator && this.matchKeyword("yield") ? this.parseIdentifierName() : this.parseVariableIdentifier();
if (this.context.strict) {
if (this.scanner.isRestrictedWord(token.value)) {
this.tolerateUnexpectedToken(token, messages_1.Messages.StrictFunctionName);
}
} else {
if (this.scanner.isRestrictedWord(token.value)) {
firstRestricted = token;
message = messages_1.Messages.StrictFunctionName;
} else if (this.scanner.isStrictModeReservedWord(token.value)) {
firstRestricted = token;
message = messages_1.Messages.StrictReservedWord;
}
}
}
var formalParameters = this.parseFormalParameters(firstRestricted);
var params = formalParameters.params;
var stricted = formalParameters.stricted;
firstRestricted = formalParameters.firstRestricted;
if (formalParameters.message) {
message = formalParameters.message;
}
var previousStrict = this.context.strict;
var previousAllowStrictDirective = this.context.allowStrictDirective;
this.context.allowStrictDirective = formalParameters.simple;
var body = this.parseFunctionSourceElements();
if (this.context.strict && firstRestricted) {
this.throwUnexpectedToken(firstRestricted, message);
}
if (this.context.strict && stricted) {
this.tolerateUnexpectedToken(stricted, message);
}
this.context.strict = previousStrict;
this.context.allowStrictDirective = previousAllowStrictDirective;
this.context.await = previousAllowAwait;
this.context.allowYield = previousAllowYield;
return isAsync ? this.finalize(node, new Node.AsyncFunctionExpression(id, params, body)) : this.finalize(node, new Node.FunctionExpression(id, params, body, isGenerator));
};
Parser2.prototype.parseDirective = function() {
var token = this.lookahead;
var node = this.createNode();
var expr = this.parseExpression();
var directive = expr.type === syntax_1.Syntax.Literal ? this.getTokenRaw(token).slice(1, -1) : null;
this.consumeSemicolon();
return this.finalize(node, directive ? new Node.Directive(expr, directive) : new Node.ExpressionStatement(expr));
};
Parser2.prototype.parseDirectivePrologues = function() {
var firstRestricted = null;
var body = [];
while (true) {
var token = this.lookahead;
if (token.type !== 8) {
break;
}
var statement = this.parseDirective();
body.push(statement);
var directive = statement.directive;
if (typeof directive !== "string") {
break;
}
if (directive === "use strict") {
this.context.strict = true;
if (firstRestricted) {
this.tolerateUnexpectedToken(firstRestricted, messages_1.Messages.StrictOctalLiteral);
}
if (!this.context.allowStrictDirective) {
this.tolerateUnexpectedToken(token, messages_1.Messages.IllegalLanguageModeDirective);
}
} else {
if (!firstRestricted && token.octal) {
firstRestricted = token;
}
}
}
return body;
};
Parser2.prototype.qualifiedPropertyName = function(token) {
switch (token.type) {
case 3:
case 8:
case 1:
case 5:
case 6:
case 4:
return true;
case 7:
return token.value === "[";
default:
break;
}
return false;
};
Parser2.prototype.parseGetterMethod = function() {
var node = this.createNode();
var isGenerator = false;
var previousAllowYield = this.context.allowYield;
this.context.allowYield = !isGenerator;
var formalParameters = this.parseFormalParameters();
if (formalParameters.params.length > 0) {
this.tolerateError(messages_1.Messages.BadGetterArity);
}
var method = this.parsePropertyMethod(formalParameters);
this.context.allowYield = previousAllowYield;
return this.finalize(node, new Node.FunctionExpression(null, formalParameters.params, method, isGenerator));
};
Parser2.prototype.parseSetterMethod = function() {
var node = this.createNode();
var isGenerator = false;
var previousAllowYield = this.context.allowYield;
this.context.allowYield = !isGenerator;
var formalParameters = this.parseFormalParameters();
if (formalParameters.params.length !== 1) {
this.tolerateError(messages_1.Messages.BadSetterArity);
} else if (formalParameters.params[0] instanceof Node.RestElement) {
this.tolerateError(messages_1.Messages.BadSetterRestParameter);
}
var method = this.parsePropertyMethod(formalParameters);
this.context.allowYield = previousAllowYield;
return this.finalize(node, new Node.FunctionExpression(null, formalParameters.params, method, isGenerator));
};
Parser2.prototype.parseGeneratorMethod = function() {
var node = this.createNode();
var isGenerator = true;
var previousAllowYield = this.context.allowYield;
this.context.allowYield = true;
var params = this.parseFormalParameters();
this.context.allowYield = false;
var method = this.parsePropertyMethod(params);
this.context.allowYield = previousAllowYield;
return this.finalize(node, new Node.FunctionExpression(null, params.params, method, isGenerator));
};
Parser2.prototype.isStartOfExpression = function() {
var start = true;
var value = this.lookahead.value;
switch (this.lookahead.type) {
case 7:
start = value === "[" || value === "(" || value === "{" || value === "+" || value === "-" || value === "!" || value === "~" || value === "++" || value === "--" || value === "/" || value === "/=";
break;
case 4:
start = value === "class" || value === "delete" || value === "function" || value === "let" || value === "new" || value === "super" || value === "this" || value === "typeof" || value === "void" || value === "yield";
break;
default:
break;
}
return start;
};
Parser2.prototype.parseYieldExpression = function() {
var node = this.createNode();
this.expectKeyword("yield");
var argument = null;
var delegate = false;
if (!this.hasLineTerminator) {
var previousAllowYield = this.context.allowYield;
this.context.allowYield = false;
delegate = this.match("*");
if (delegate) {
this.nextToken();
argument = this.parseAssignmentExpression();
} else if (this.isStartOfExpression()) {
argument = this.parseAssignmentExpression();
}
this.context.allowYield = previousAllowYield;
}
return this.finalize(node, new Node.YieldExpression(argument, delegate));
};
Parser2.prototype.parseClassElement = function(hasConstructor) {
var token = this.lookahead;
var node = this.createNode();
var kind = "";
var key = null;
var value = null;
var computed = false;
var method = false;
var isStatic = false;
var isAsync = false;
if (this.match("*")) {
this.nextToken();
} else {
computed = this.match("[");
key = this.parseObjectPropertyKey();
var id = key;
if (id.name === "static" && (this.qualifiedPropertyName(this.lookahead) || this.match("*"))) {
token = this.lookahead;
isStatic = true;
computed = this.match("[");
if (this.match("*")) {
this.nextToken();
} else {
key = this.parseObjectPropertyKey();
}
}
if (token.type === 3 && !this.hasLineTerminator && token.value === "async") {
var punctuator = this.lookahead.value;
if (punctuator !== ":" && punctuator !== "(" && punctuator !== "*") {
isAsync = true;
token = this.lookahead;
key = this.parseObjectPropertyKey();
if (token.type === 3 && token.value === "constructor") {
this.tolerateUnexpectedToken(token, messages_1.Messages.ConstructorIsAsync);
}
}
}
}
var lookaheadPropertyKey = this.qualifiedPropertyName(this.lookahead);
if (token.type === 3) {
if (token.value === "get" && lookaheadPropertyKey) {
kind = "get";
computed = this.match("[");
key = this.parseObjectPropertyKey();
this.context.allowYield = false;
value = this.parseGetterMethod();
} else if (token.value === "set" && lookaheadPropertyKey) {
kind = "set";
computed = this.match("[");
key = this.parseObjectPropertyKey();
value = this.parseSetterMethod();
}
} else if (token.type === 7 && token.value === "*" && lookaheadPropertyKey) {
kind = "init";
computed = this.match("[");
key = this.parseObjectPropertyKey();
value = this.parseGeneratorMethod();
method = true;
}
if (!kind && key && this.match("(")) {
kind = "init";
value = isAsync ? this.parsePropertyMethodAsyncFunction() : this.parsePropertyMethodFunction();
method = true;
}
if (!kind) {
this.throwUnexpectedToken(this.lookahead);
}
if (kind === "init") {
kind = "method";
}
if (!computed) {
if (isStatic && this.isPropertyKey(key, "prototype")) {
this.throwUnexpectedToken(token, messages_1.Messages.StaticPrototype);
}
if (!isStatic && this.isPropertyKey(key, "constructor")) {
if (kind !== "method" || !method || value && value.generator) {
this.throwUnexpectedToken(token, messages_1.Messages.ConstructorSpecialMethod);
}
if (hasConstructor.value) {
this.throwUnexpectedToken(token, messages_1.Messages.DuplicateConstructor);
} else {
hasConstructor.value = true;
}
kind = "constructor";
}
}
return this.finalize(node, new Node.MethodDefinition(key, computed, value, kind, isStatic));
};
Parser2.prototype.parseClassElementList = function() {
var body = [];
var hasConstructor = { value: false };
this.expect("{");
while (!this.match("}")) {
if (this.match(";")) {
this.nextToken();
} else {
body.push(this.parseClassElement(hasConstructor));
}
}
this.expect("}");
return body;
};
Parser2.prototype.parseClassBody = function() {
var node = this.createNode();
var elementList = this.parseClassElementList();
return this.finalize(node, new Node.ClassBody(elementList));
};
Parser2.prototype.parseClassDeclaration = function(identifierIsOptional) {
var node = this.createNode();
var previousStrict = this.context.strict;
this.context.strict = true;
this.expectKeyword("class");
var id = identifierIsOptional && this.lookahead.type !== 3 ? null : this.parseVariableIdentifier();
var superClass = null;
if (this.matchKeyword("extends")) {
this.nextToken();
superClass = this.isolateCoverGrammar(this.parseLeftHandSideExpressionAllowCall);
}
var classBody = this.parseClassBody();
this.context.strict = previousStrict;
return this.finalize(node, new Node.ClassDeclaration(id, superClass, classBody));
};
Parser2.prototype.parseClassExpression = function() {
var node = this.createNode();
var previousStrict = this.context.strict;
this.context.strict = true;
this.expectKeyword("class");
var id = this.lookahead.type === 3 ? this.parseVariableIdentifier() : null;
var superClass = null;
if (this.matchKeyword("extends")) {
this.nextToken();
superClass = this.isolateCoverGrammar(this.parseLeftHandSideExpressionAllowCall);
}
var classBody = this.parseClassBody();
this.context.strict = previousStrict;
return this.finalize(node, new Node.ClassExpression(id, superClass, classBody));
};
Parser2.prototype.parseModule = function() {
this.context.strict = true;
this.context.isModule = true;
this.scanner.isModule = true;
var node = this.createNode();
var body = this.parseDirectivePrologues();
while (this.lookahead.type !== 2) {
body.push(this.parseStatementListItem());
}
return this.finalize(node, new Node.Module(body));
};
Parser2.prototype.parseScript = function() {
var node = this.createNode();
var body = this.parseDirectivePrologues();
while (this.lookahead.type !== 2) {
body.push(this.parseStatementListItem());
}
return this.finalize(node, new Node.Script(body));
};
Parser2.prototype.parseModuleSpecifier = function() {
var node = this.createNode();
if (this.lookahead.type !== 8) {
this.throwError(messages_1.Messages.InvalidModuleSpecifier);
}
var token = this.nextToken();
var raw = this.getTokenRaw(token);
return this.finalize(node, new Node.Literal(token.value, raw));
};
Parser2.prototype.parseImportSpecifier = function() {
var node = this.createNode();
var imported;
var local;
if (this.lookahead.type === 3) {
imported = this.parseVariableIdentifier();
local = imported;
if (this.matchContextualKeyword("as")) {
this.nextToken();
local = this.parseVariableIdentifier();
}
} else {
imported = this.parseIdentifierName();
local = imported;
if (this.matchContextualKeyword("as")) {
this.nextToken();
local = this.parseVariableIdentifier();
} else {
this.throwUnexpectedToken(this.nextToken());
}
}
return this.finalize(node, new Node.ImportSpecifier(local, imported));
};
Parser2.prototype.parseNamedImports = function() {
this.expect("{");
var specifiers = [];
while (!this.match("}")) {
specifiers.push(this.parseImportSpecifier());
if (!this.match("}")) {
this.expect(",");
}
}
this.expect("}");
return specifiers;
};
Parser2.prototype.parseImportDefaultSpecifier = function() {
var node = this.createNode();
var local = this.parseIdentifierName();
return this.finalize(node, new Node.ImportDefaultSpecifier(local));
};
Parser2.prototype.parseImportNamespaceSpecifier = function() {
var node = this.createNode();
this.expect("*");
if (!this.matchContextualKeyword("as")) {
this.throwError(messages_1.Messages.NoAsAfterImportNamespace);
}
this.nextToken();
var local = this.parseIdentifierName();
return this.finalize(node, new Node.ImportNamespaceSpecifier(local));
};
Parser2.prototype.parseImportDeclaration = function() {
if (this.context.inFunctionBody) {
this.throwError(messages_1.Messages.IllegalImportDeclaration);
}
var node = this.createNode();
this.expectKeyword("import");
var src;
var specifiers = [];
if (this.lookahead.type === 8) {
src = this.parseModuleSpecifier();
} else {
if (this.match("{")) {
specifiers = specifiers.concat(this.parseNamedImports());
} else if (this.match("*")) {
specifiers.push(this.parseImportNamespaceSpecifier());
} else if (this.isIdentifierName(this.lookahead) && !this.matchKeyword("default")) {
specifiers.push(this.parseImportDefaultSpecifier());
if (this.match(",")) {
this.nextToken();
if (this.match("*")) {
specifiers.push(this.parseImportNamespaceSpecifier());
} else if (this.match("{")) {
specifiers = specifiers.concat(this.parseNamedImports());
} else {
this.throwUnexpectedToken(this.lookahead);
}
}
} else {
this.throwUnexpectedToken(this.nextToken());
}
if (!this.matchContextualKeyword("from")) {
var message = this.lookahead.value ? messages_1.Messages.UnexpectedToken : messages_1.Messages.MissingFromClause;
this.throwError(message, this.lookahead.value);
}
this.nextToken();
src = this.parseModuleSpecifier();
}
this.consumeSemicolon();
return this.finalize(node, new Node.ImportDeclaration(specifiers, src));
};
Parser2.prototype.parseExportSpecifier = function() {
var node = this.createNode();
var local = this.parseIdentifierName();
var exported = local;
if (this.matchContextualKeyword("as")) {
this.nextToken();
exported = this.parseIdentifierName();
}
return this.finalize(node, new Node.ExportSpecifier(local, exported));
};
Parser2.prototype.parseExportDeclaration = function() {
if (this.context.inFunctionBody) {
this.throwError(messages_1.Messages.IllegalExportDeclaration);
}
var node = this.createNode();
this.expectKeyword("export");
var exportDeclaration;
if (this.matchKeyword("default")) {
this.nextToken();
if (this.matchKeyword("function")) {
var declaration = this.parseFunctionDeclaration(true);
exportDeclaration = this.finalize(node, new Node.ExportDefaultDeclaration(declaration));
} else if (this.matchKeyword("class")) {
var declaration = this.parseClassDeclaration(true);
exportDeclaration = this.finalize(node, new Node.ExportDefaultDeclaration(declaration));
} else if (this.matchContextualKeyword("async")) {
var declaration = this.matchAsyncFunction() ? this.parseFunctionDeclaration(true) : this.parseAssignmentExpression();
exportDeclaration = this.finalize(node, new Node.ExportDefaultDeclaration(declaration));
} else {
if (this.matchContextualKeyword("from")) {
this.throwError(messages_1.Messages.UnexpectedToken, this.lookahead.value);
}
var declaration = this.match("{") ? this.parseObjectInitializer() : this.match("[") ? this.parseArrayInitializer() : this.parseAssignmentExpression();
this.consumeSemicolon();
exportDeclaration = this.finalize(node, new Node.ExportDefaultDeclaration(declaration));
}
} else if (this.match("*")) {
this.nextToken();
if (!this.matchContextualKeyword("from")) {
var message = this.lookahead.value ? messages_1.Messages.UnexpectedToken : messages_1.Messages.MissingFromClause;
this.throwError(message, this.lookahead.value);
}
this.nextToken();
var src = this.parseModuleSpecifier();
this.consumeSemicolon();
exportDeclaration = this.finalize(node, new Node.ExportAllDeclaration(src));
} else if (this.lookahead.type === 4) {
var declaration = void 0;
switch (this.lookahead.value) {
case "let":
case "const":
declaration = this.parseLexicalDeclaration({ inFor: false });
break;
case "var":
case "class":
case "function":
declaration = this.parseStatementListItem();
break;
default:
this.throwUnexpectedToken(this.lookahead);
}
exportDeclaration = this.finalize(node, new Node.ExportNamedDeclaration(declaration, [], null));
} else if (this.matchAsyncFunction()) {
var declaration = this.parseFunctionDeclaration();
exportDeclaration = this.finalize(node, new Node.ExportNamedDeclaration(declaration, [], null));
} else {
var specifiers = [];
var source = null;
var isExportFromIdentifier = false;
this.expect("{");
while (!this.match("}")) {
isExportFromIdentifier = isExportFromIdentifier || this.matchKeyword("default");
specifiers.push(this.parseExportSpecifier());
if (!this.match("}")) {
this.expect(",");
}
}
this.expect("}");
if (this.matchContextualKeyword("from")) {
this.nextToken();
source = this.parseModuleSpecifier();
this.consumeSemicolon();
} else if (isExportFromIdentifier) {
var message = this.lookahead.value ? messages_1.Messages.UnexpectedToken : messages_1.Messages.MissingFromClause;
this.throwError(message, this.lookahead.value);
} else {
this.consumeSemicolon();
}
exportDeclaration = this.finalize(node, new Node.ExportNamedDeclaration(null, specifiers, source));
}
return exportDeclaration;
};
return Parser2;
}()
);
exports2.Parser = Parser;
}
});
// ../../../usr/share/nodejs/esprima/src/xhtml-entities.js
var require_xhtml_entities = __commonJS({
"../../../usr/share/nodejs/esprima/src/xhtml-entities.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.XHTMLEntities = void 0;
exports2.XHTMLEntities = {
quot: '"',
amp: "&",
apos: "'",
gt: ">",
nbsp: "\xA0",
iexcl: "\xA1",
cent: "\xA2",
pound: "\xA3",
curren: "\xA4",
yen: "\xA5",
brvbar: "\xA6",
sect: "\xA7",
uml: "\xA8",
copy: "\xA9",
ordf: "\xAA",
laquo: "\xAB",
not: "\xAC",
shy: "\xAD",
reg: "\xAE",
macr: "\xAF",
deg: "\xB0",
plusmn: "\xB1",
sup2: "\xB2",
sup3: "\xB3",
acute: "\xB4",
micro: "\xB5",
para: "\xB6",
middot: "\xB7",
cedil: "\xB8",
sup1: "\xB9",
ordm: "\xBA",
raquo: "\xBB",
frac14: "\xBC",
frac12: "\xBD",
frac34: "\xBE",
iquest: "\xBF",
Agrave: "\xC0",
Aacute: "\xC1",
Acirc: "\xC2",
Atilde: "\xC3",
Auml: "\xC4",
Aring: "\xC5",
AElig: "\xC6",
Ccedil: "\xC7",
Egrave: "\xC8",
Eacute: "\xC9",
Ecirc: "\xCA",
Euml: "\xCB",
Igrave: "\xCC",
Iacute: "\xCD",
Icirc: "\xCE",
Iuml: "\xCF",
ETH: "\xD0",
Ntilde: "\xD1",
Ograve: "\xD2",
Oacute: "\xD3",
Ocirc: "\xD4",
Otilde: "\xD5",
Ouml: "\xD6",
times: "\xD7",
Oslash: "\xD8",
Ugrave: "\xD9",
Uacute: "\xDA",
Ucirc: "\xDB",
Uuml: "\xDC",
Yacute: "\xDD",
THORN: "\xDE",
szlig: "\xDF",
agrave: "\xE0",
aacute: "\xE1",
acirc: "\xE2",
atilde: "\xE3",
auml: "\xE4",
aring: "\xE5",
aelig: "\xE6",
ccedil: "\xE7",
egrave: "\xE8",
eacute: "\xE9",
ecirc: "\xEA",
euml: "\xEB",
igrave: "\xEC",
iacute: "\xED",
icirc: "\xEE",
iuml: "\xEF",
eth: "\xF0",
ntilde: "\xF1",
ograve: "\xF2",
oacute: "\xF3",
ocirc: "\xF4",
otilde: "\xF5",
ouml: "\xF6",
divide: "\xF7",
oslash: "\xF8",
ugrave: "\xF9",
uacute: "\xFA",
ucirc: "\xFB",
uuml: "\xFC",
yacute: "\xFD",
thorn: "\xFE",
yuml: "\xFF",
OElig: "\u0152",
oelig: "\u0153",
Scaron: "\u0160",
scaron: "\u0161",
Yuml: "\u0178",
fnof: "\u0192",
circ: "\u02C6",
tilde: "\u02DC",
Alpha: "\u0391",
Beta: "\u0392",
Gamma: "\u0393",
Delta: "\u0394",
Epsilon: "\u0395",
Zeta: "\u0396",
Eta: "\u0397",
Theta: "\u0398",
Iota: "\u0399",
Kappa: "\u039A",
Lambda: "\u039B",
Mu: "\u039C",
Nu: "\u039D",
Xi: "\u039E",
Omicron: "\u039F",
Pi: "\u03A0",
Rho: "\u03A1",
Sigma: "\u03A3",
Tau: "\u03A4",
Upsilon: "\u03A5",
Phi: "\u03A6",
Chi: "\u03A7",
Psi: "\u03A8",
Omega: "\u03A9",
alpha: "\u03B1",
beta: "\u03B2",
gamma: "\u03B3",
delta: "\u03B4",
epsilon: "\u03B5",
zeta: "\u03B6",
eta: "\u03B7",
theta: "\u03B8",
iota: "\u03B9",
kappa: "\u03BA",
lambda: "\u03BB",
mu: "\u03BC",
nu: "\u03BD",
xi: "\u03BE",
omicron: "\u03BF",
pi: "\u03C0",
rho: "\u03C1",
sigmaf: "\u03C2",
sigma: "\u03C3",
tau: "\u03C4",
upsilon: "\u03C5",
phi: "\u03C6",
chi: "\u03C7",
psi: "\u03C8",
omega: "\u03C9",
thetasym: "\u03D1",
upsih: "\u03D2",
piv: "\u03D6",
ensp: "\u2002",
emsp: "\u2003",
thinsp: "\u2009",
zwnj: "\u200C",
zwj: "\u200D",
lrm: "\u200E",
rlm: "\u200F",
ndash: "\u2013",
mdash: "\u2014",
lsquo: "\u2018",
rsquo: "\u2019",
sbquo: "\u201A",
ldquo: "\u201C",
rdquo: "\u201D",
bdquo: "\u201E",
dagger: "\u2020",
Dagger: "\u2021",
bull: "\u2022",
hellip: "\u2026",
permil: "\u2030",
prime: "\u2032",
Prime: "\u2033",
lsaquo: "\u2039",
rsaquo: "\u203A",
oline: "\u203E",
frasl: "\u2044",
euro: "\u20AC",
image: "\u2111",
weierp: "\u2118",
real: "\u211C",
trade: "\u2122",
alefsym: "\u2135",
larr: "\u2190",
uarr: "\u2191",
rarr: "\u2192",
darr: "\u2193",
harr: "\u2194",
crarr: "\u21B5",
lArr: "\u21D0",
uArr: "\u21D1",
rArr: "\u21D2",
dArr: "\u21D3",
hArr: "\u21D4",
forall: "\u2200",
part: "\u2202",
exist: "\u2203",
empty: "\u2205",
nabla: "\u2207",
isin: "\u2208",
notin: "\u2209",
ni: "\u220B",
prod: "\u220F",
sum: "\u2211",
minus: "\u2212",
lowast: "\u2217",
radic: "\u221A",
prop: "\u221D",
infin: "\u221E",
ang: "\u2220",
and: "\u2227",
or: "\u2228",
cap: "\u2229",
cup: "\u222A",
int: "\u222B",
there4: "\u2234",
sim: "\u223C",
cong: "\u2245",
asymp: "\u2248",
ne: "\u2260",
equiv: "\u2261",
le: "\u2264",
ge: "\u2265",
sub: "\u2282",
sup: "\u2283",
nsub: "\u2284",
sube: "\u2286",
supe: "\u2287",
oplus: "\u2295",
otimes: "\u2297",
perp: "\u22A5",
sdot: "\u22C5",
lceil: "\u2308",
rceil: "\u2309",
lfloor: "\u230A",
rfloor: "\u230B",
loz: "\u25CA",
spades: "\u2660",
clubs: "\u2663",
hearts: "\u2665",
diams: "\u2666",
lang: "\u27E8",
rang: "\u27E9"
};
}
});
// ../../../usr/share/nodejs/esprima/src/jsx-parser.js
var require_jsx_parser = __commonJS({
"../../../usr/share/nodejs/esprima/src/jsx-parser.js"(exports2) {
"use strict";
var __extends2 = exports2 && exports2.__extends || /* @__PURE__ */ function() {
var extendStatics2 = function(d, b) {
extendStatics2 = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d2, b2) {
d2.__proto__ = b2;
} || function(d2, b2) {
for (var p in b2) if (Object.prototype.hasOwnProperty.call(b2, p)) d2[p] = b2[p];
};
return extendStatics2(d, b);
};
return function(d, b) {
if (typeof b !== "function" && b !== null)
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
extendStatics2(d, b);
function __() {
this.constructor = d;
}
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
}();
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.JSXParser = void 0;
var character_1 = require_character();
var JSXNode = require_jsx_nodes();
var jsx_syntax_1 = require_jsx_syntax();
var Node = require_nodes();
var parser_1 = require_parser();
var token_1 = require_token();
var xhtml_entities_1 = require_xhtml_entities();
token_1.TokenName[
100
/* Identifier */
] = "JSXIdentifier";
token_1.TokenName[
101
/* Text */
] = "JSXText";
function getQualifiedElementName(elementName) {
var qualifiedName;
switch (elementName.type) {
case jsx_syntax_1.JSXSyntax.JSXIdentifier:
var id = elementName;
qualifiedName = id.name;
break;
case jsx_syntax_1.JSXSyntax.JSXNamespacedName:
var ns = elementName;
qualifiedName = getQualifiedElementName(ns.namespace) + ":" + getQualifiedElementName(ns.name);
break;
case jsx_syntax_1.JSXSyntax.JSXMemberExpression:
var expr = elementName;
qualifiedName = getQualifiedElementName(expr.object) + "." + getQualifiedElementName(expr.property);
break;
/* istanbul ignore next */
default:
break;
}
return qualifiedName;
}
var JSXParser = (
/** @class */
function(_super) {
__extends2(JSXParser2, _super);
function JSXParser2(code, options, delegate) {
return _super.call(this, code, options, delegate) || this;
}
JSXParser2.prototype.parsePrimaryExpression = function() {
return this.match("<") ? this.parseJSXRoot() : _super.prototype.parsePrimaryExpression.call(this);
};
JSXParser2.prototype.startJSX = function() {
this.scanner.index = this.startMarker.index;
this.scanner.lineNumber = this.startMarker.line;
this.scanner.lineStart = this.startMarker.index - this.startMarker.column;
};
JSXParser2.prototype.finishJSX = function() {
this.nextToken();
};
JSXParser2.prototype.reenterJSX = function() {
this.startJSX();
this.expectJSX("}");
if (this.config.tokens) {
this.tokens.pop();
}
};
JSXParser2.prototype.createJSXNode = function() {
this.collectComments();
return {
index: this.scanner.index,
line: this.scanner.lineNumber,
column: this.scanner.index - this.scanner.lineStart
};
};
JSXParser2.prototype.createJSXChildNode = function() {
return {
index: this.scanner.index,
line: this.scanner.lineNumber,
column: this.scanner.index - this.scanner.lineStart
};
};
JSXParser2.prototype.scanXHTMLEntity = function(quote) {
var result = "&";
var valid = true;
var terminated = false;
var numeric = false;
var hex = false;
while (!this.scanner.eof() && valid && !terminated) {
var ch = this.scanner.source[this.scanner.index];
if (ch === quote) {
break;
}
terminated = ch === ";";
result += ch;
++this.scanner.index;
if (!terminated) {
switch (result.length) {
case 2:
numeric = ch === "#";
break;
case 3:
if (numeric) {
hex = ch === "x";
valid = hex || character_1.Character.isDecimalDigit(ch.charCodeAt(0));
numeric = numeric && !hex;
}
break;
default:
valid = valid && !(numeric && !character_1.Character.isDecimalDigit(ch.charCodeAt(0)));
valid = valid && !(hex && !character_1.Character.isHexDigit(ch.charCodeAt(0)));
break;
}
}
}
if (valid && terminated && result.length > 2) {
var str = result.substr(1, result.length - 2);
if (numeric && str.length > 1) {
result = String.fromCharCode(parseInt(str.substr(1), 10));
} else if (hex && str.length > 2) {
result = String.fromCharCode(parseInt("0" + str.substr(1), 16));
} else if (!numeric && !hex && xhtml_entities_1.XHTMLEntities[str]) {
result = xhtml_entities_1.XHTMLEntities[str];
}
}
return result;
};
JSXParser2.prototype.lexJSX = function() {
var cp = this.scanner.source.charCodeAt(this.scanner.index);
if (cp === 60 || cp === 62 || cp === 47 || cp === 58 || cp === 61 || cp === 123 || cp === 125) {
var value = this.scanner.source[this.scanner.index++];
return {
type: 7,
value,
lineNumber: this.scanner.lineNumber,
lineStart: this.scanner.lineStart,
start: this.scanner.index - 1,
end: this.scanner.index
};
}
if (cp === 34 || cp === 39) {
var start = this.scanner.index;
var quote = this.scanner.source[this.scanner.index++];
var str = "";
while (!this.scanner.eof()) {
var ch = this.scanner.source[this.scanner.index++];
if (ch === quote) {
break;
} else if (ch === "&") {
str += this.scanXHTMLEntity(quote);
} else {
str += ch;
}
}
return {
type: 8,
value: str,
lineNumber: this.scanner.lineNumber,
lineStart: this.scanner.lineStart,
start,
end: this.scanner.index
};
}
if (cp === 46) {
var n1 = this.scanner.source.charCodeAt(this.scanner.index + 1);
var n2 = this.scanner.source.charCodeAt(this.scanner.index + 2);
var value = n1 === 46 && n2 === 46 ? "..." : ".";
var start = this.scanner.index;
this.scanner.index += value.length;
return {
type: 7,
value,
lineNumber: this.scanner.lineNumber,
lineStart: this.scanner.lineStart,
start,
end: this.scanner.index
};
}
if (cp === 96) {
return {
type: 10,
value: "",
lineNumber: this.scanner.lineNumber,
lineStart: this.scanner.lineStart,
start: this.scanner.index,
end: this.scanner.index
};
}
if (character_1.Character.isIdentifierStart(cp) && cp !== 92) {
var start = this.scanner.index;
++this.scanner.index;
while (!this.scanner.eof()) {
var ch = this.scanner.source.charCodeAt(this.scanner.index);
if (character_1.Character.isIdentifierPart(ch) && ch !== 92) {
++this.scanner.index;
} else if (ch === 45) {
++this.scanner.index;
} else {
break;
}
}
var id = this.scanner.source.slice(start, this.scanner.index);
return {
type: 100,
value: id,
lineNumber: this.scanner.lineNumber,
lineStart: this.scanner.lineStart,
start,
end: this.scanner.index
};
}
return this.scanner.lex();
};
JSXParser2.prototype.nextJSXToken = function() {
this.collectComments();
this.startMarker.index = this.scanner.index;
this.startMarker.line = this.scanner.lineNumber;
this.startMarker.column = this.scanner.index - this.scanner.lineStart;
var token = this.lexJSX();
this.lastMarker.index = this.scanner.index;
this.lastMarker.line = this.scanner.lineNumber;
this.lastMarker.column = this.scanner.index - this.scanner.lineStart;
if (this.config.tokens) {
this.tokens.push(this.convertToken(token));
}
return token;
};
JSXParser2.prototype.nextJSXText = function() {
this.startMarker.index = this.scanner.index;
this.startMarker.line = this.scanner.lineNumber;
this.startMarker.column = this.scanner.index - this.scanner.lineStart;
var start = this.scanner.index;
var text = "";
while (!this.scanner.eof()) {
var ch = this.scanner.source[this.scanner.index];
if (ch === "{" || ch === "<") {
break;
}
++this.scanner.index;
text += ch;
if (character_1.Character.isLineTerminator(ch.charCodeAt(0))) {
++this.scanner.lineNumber;
if (ch === "\r" && this.scanner.source[this.scanner.index] === "\n") {
++this.scanner.index;
}
this.scanner.lineStart = this.scanner.index;
}
}
this.lastMarker.index = this.scanner.index;
this.lastMarker.line = this.scanner.lineNumber;
this.lastMarker.column = this.scanner.index - this.scanner.lineStart;
var token = {
type: 101,
value: text,
lineNumber: this.scanner.lineNumber,
lineStart: this.scanner.lineStart,
start,
end: this.scanner.index
};
if (text.length > 0 && this.config.tokens) {
this.tokens.push(this.convertToken(token));
}
return token;
};
JSXParser2.prototype.peekJSXToken = function() {
var state = this.scanner.saveState();
this.scanner.scanComments();
var next = this.lexJSX();
this.scanner.restoreState(state);
return next;
};
JSXParser2.prototype.expectJSX = function(value) {
var token = this.nextJSXToken();
if (token.type !== 7 || token.value !== value) {
this.throwUnexpectedToken(token);
}
};
JSXParser2.prototype.matchJSX = function(value) {
var next = this.peekJSXToken();
return next.type === 7 && next.value === value;
};
JSXParser2.prototype.parseJSXIdentifier = function() {
var node = this.createJSXNode();
var token = this.nextJSXToken();
if (token.type !== 100) {
this.throwUnexpectedToken(token);
}
return this.finalize(node, new JSXNode.JSXIdentifier(token.value));
};
JSXParser2.prototype.parseJSXElementName = function() {
var node = this.createJSXNode();
var elementName = this.parseJSXIdentifier();
if (this.matchJSX(":")) {
var namespace = elementName;
this.expectJSX(":");
var name_1 = this.parseJSXIdentifier();
elementName = this.finalize(node, new JSXNode.JSXNamespacedName(namespace, name_1));
} else if (this.matchJSX(".")) {
while (this.matchJSX(".")) {
var object = elementName;
this.expectJSX(".");
var property = this.parseJSXIdentifier();
elementName = this.finalize(node, new JSXNode.JSXMemberExpression(object, property));
}
}
return elementName;
};
JSXParser2.prototype.parseJSXAttributeName = function() {
var node = this.createJSXNode();
var attributeName;
var identifier = this.parseJSXIdentifier();
if (this.matchJSX(":")) {
var namespace = identifier;
this.expectJSX(":");
var name_2 = this.parseJSXIdentifier();
attributeName = this.finalize(node, new JSXNode.JSXNamespacedName(namespace, name_2));
} else {
attributeName = identifier;
}
return attributeName;
};
JSXParser2.prototype.parseJSXStringLiteralAttribute = function() {
var node = this.createJSXNode();
var token = this.nextJSXToken();
if (token.type !== 8) {
this.throwUnexpectedToken(token);
}
var raw = this.getTokenRaw(token);
return this.finalize(node, new Node.Literal(token.value, raw));
};
JSXParser2.prototype.parseJSXExpressionAttribute = function() {
var node = this.createJSXNode();
this.expectJSX("{");
this.finishJSX();
if (this.match("}")) {
this.tolerateError("JSX attributes must only be assigned a non-empty expression");
}
var expression = this.parseAssignmentExpression();
this.reenterJSX();
return this.finalize(node, new JSXNode.JSXExpressionContainer(expression));
};
JSXParser2.prototype.parseJSXAttributeValue = function() {
return this.matchJSX("{") ? this.parseJSXExpressionAttribute() : this.matchJSX("<") ? this.parseJSXElement() : this.parseJSXStringLiteralAttribute();
};
JSXParser2.prototype.parseJSXNameValueAttribute = function() {
var node = this.createJSXNode();
var name = this.parseJSXAttributeName();
var value = null;
if (this.matchJSX("=")) {
this.expectJSX("=");
value = this.parseJSXAttributeValue();
}
return this.finalize(node, new JSXNode.JSXAttribute(name, value));
};
JSXParser2.prototype.parseJSXSpreadAttribute = function() {
var node = this.createJSXNode();
this.expectJSX("{");
this.expectJSX("...");
this.finishJSX();
var argument = this.parseAssignmentExpression();
this.reenterJSX();
return this.finalize(node, new JSXNode.JSXSpreadAttribute(argument));
};
JSXParser2.prototype.parseJSXAttributes = function() {
var attributes = [];
while (!this.matchJSX("/") && !this.matchJSX(">")) {
var attribute = this.matchJSX("{") ? this.parseJSXSpreadAttribute() : this.parseJSXNameValueAttribute();
attributes.push(attribute);
}
return attributes;
};
JSXParser2.prototype.parseJSXOpeningElement = function() {
var node = this.createJSXNode();
this.expectJSX("<");
var name = this.parseJSXElementName();
var attributes = this.parseJSXAttributes();
var selfClosing = this.matchJSX("/");
if (selfClosing) {
this.expectJSX("/");
}
this.expectJSX(">");
return this.finalize(node, new JSXNode.JSXOpeningElement(name, selfClosing, attributes));
};
JSXParser2.prototype.parseJSXBoundaryElement = function() {
var node = this.createJSXNode();
this.expectJSX("<");
if (this.matchJSX("/")) {
this.expectJSX("/");
var name_3 = this.parseJSXElementName();
this.expectJSX(">");
return this.finalize(node, new JSXNode.JSXClosingElement(name_3));
}
var name = this.parseJSXElementName();
var attributes = this.parseJSXAttributes();
var selfClosing = this.matchJSX("/");
if (selfClosing) {
this.expectJSX("/");
}
this.expectJSX(">");
return this.finalize(node, new JSXNode.JSXOpeningElement(name, selfClosing, attributes));
};
JSXParser2.prototype.parseJSXEmptyExpression = function() {
var node = this.createJSXChildNode();
this.collectComments();
this.lastMarker.index = this.scanner.index;
this.lastMarker.line = this.scanner.lineNumber;
this.lastMarker.column = this.scanner.index - this.scanner.lineStart;
return this.finalize(node, new JSXNode.JSXEmptyExpression());
};
JSXParser2.prototype.parseJSXExpressionContainer = function() {
var node = this.createJSXNode();
this.expectJSX("{");
var expression;
if (this.matchJSX("}")) {
expression = this.parseJSXEmptyExpression();
this.expectJSX("}");
} else {
this.finishJSX();
expression = this.parseAssignmentExpression();
this.reenterJSX();
}
return this.finalize(node, new JSXNode.JSXExpressionContainer(expression));
};
JSXParser2.prototype.parseJSXChildren = function() {
var children = [];
while (!this.scanner.eof()) {
var node = this.createJSXChildNode();
var token = this.nextJSXText();
if (token.start < token.end) {
var raw = this.getTokenRaw(token);
var child = this.finalize(node, new JSXNode.JSXText(token.value, raw));
children.push(child);
}
if (this.scanner.source[this.scanner.index] === "{") {
var container = this.parseJSXExpressionContainer();
children.push(container);
} else {
break;
}
}
return children;
};
JSXParser2.prototype.parseComplexJSXElement = function(el) {
var stack = [];
while (!this.scanner.eof()) {
el.children = el.children.concat(this.parseJSXChildren());
var node = this.createJSXChildNode();
var element = this.parseJSXBoundaryElement();
if (element.type === jsx_syntax_1.JSXSyntax.JSXOpeningElement) {
var opening = element;
if (opening.selfClosing) {
var child = this.finalize(node, new JSXNode.JSXElement(opening, [], null));
el.children.push(child);
} else {
stack.push(el);
el = { node, opening, closing: null, children: [] };
}
}
if (element.type === jsx_syntax_1.JSXSyntax.JSXClosingElement) {
el.closing = element;
var open_1 = getQualifiedElementName(el.opening.name);
var close_1 = getQualifiedElementName(el.closing.name);
if (open_1 !== close_1) {
this.tolerateError("Expected corresponding JSX closing tag for %0", open_1);
}
if (stack.length > 0) {
var child = this.finalize(el.node, new JSXNode.JSXElement(el.opening, el.children, el.closing));
el = stack[stack.length - 1];
el.children.push(child);
stack.pop();
} else {
break;
}
}
}
return el;
};
JSXParser2.prototype.parseJSXElement = function() {
var node = this.createJSXNode();
var opening = this.parseJSXOpeningElement();
var children = [];
var closing = null;
if (!opening.selfClosing) {
var el = this.parseComplexJSXElement({ node, opening, closing, children });
children = el.children;
closing = el.closing;
}
return this.finalize(node, new JSXNode.JSXElement(opening, children, closing));
};
JSXParser2.prototype.parseJSXRoot = function() {
if (this.config.tokens) {
this.tokens.pop();
}
this.startJSX();
var element = this.parseJSXElement();
this.finishJSX();
return element;
};
JSXParser2.prototype.isStartOfExpression = function() {
return _super.prototype.isStartOfExpression.call(this) || this.match("<");
};
return JSXParser2;
}(parser_1.Parser)
);
exports2.JSXParser = JSXParser;
}
});
// ../../../usr/share/nodejs/esprima/src/tokenizer.js
var require_tokenizer = __commonJS({
"../../../usr/share/nodejs/esprima/src/tokenizer.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.Tokenizer = void 0;
var error_handler_1 = require_error_handler();
var scanner_1 = require_scanner();
var token_1 = require_token();
var Reader = (
/** @class */
function() {
function Reader2() {
this.values = [];
this.curly = this.paren = -1;
}
Reader2.prototype.beforeFunctionExpression = function(t) {
return [
"(",
"{",
"[",
"in",
"typeof",
"instanceof",
"new",
"return",
"case",
"delete",
"throw",
"void",
// assignment operators
"=",
"+=",
"-=",
"*=",
"**=",
"/=",
"%=",
"<<=",
">>=",
">>>=",
"&=",
"|=",
"^=",
",",
// binary/unary operators
"+",
"-",
"*",
"**",
"/",
"%",
"++",
"--",
"<<",
">>",
">>>",
"&",
"|",
"^",
"!",
"~",
"&&",
"||",
"?",
":",
"===",
"==",
">=",
"<=",
"<",
">",
"!=",
"!=="
].indexOf(t) >= 0;
};
Reader2.prototype.isRegexStart = function() {
var previous = this.values[this.values.length - 1];
var regex = previous !== null;
switch (previous) {
case "this":
case "]":
regex = false;
break;
case ")":
var keyword = this.values[this.paren - 1];
regex = keyword === "if" || keyword === "while" || keyword === "for" || keyword === "with";
break;
case "}":
regex = false;
if (this.values[this.curly - 3] === "function") {
var check = this.values[this.curly - 4];
regex = check ? !this.beforeFunctionExpression(check) : false;
} else if (this.values[this.curly - 4] === "function") {
var check = this.values[this.curly - 5];
regex = check ? !this.beforeFunctionExpression(check) : true;
}
break;
default:
break;
}
return regex;
};
Reader2.prototype.push = function(token) {
if (token.type === 7 || token.type === 4) {
if (token.value === "{") {
this.curly = this.values.length;
} else if (token.value === "(") {
this.paren = this.values.length;
}
this.values.push(token.value);
} else {
this.values.push(null);
}
};
return Reader2;
}()
);
var Tokenizer = (
/** @class */
function() {
function Tokenizer2(code, config) {
this.errorHandler = new error_handler_1.ErrorHandler();
this.errorHandler.tolerant = config ? typeof config.tolerant === "boolean" && config.tolerant : false;
this.scanner = new scanner_1.Scanner(code, this.errorHandler);
this.scanner.trackComment = config ? typeof config.comment === "boolean" && config.comment : false;
this.trackRange = config ? typeof config.range === "boolean" && config.range : false;
this.trackLoc = config ? typeof config.loc === "boolean" && config.loc : false;
this.buffer = [];
this.reader = new Reader();
}
Tokenizer2.prototype.errors = function() {
return this.errorHandler.errors;
};
Tokenizer2.prototype.getNextToken = function() {
if (this.buffer.length === 0) {
var comments = this.scanner.scanComments();
if (this.scanner.trackComment) {
for (var i = 0; i < comments.length; ++i) {
var e = comments[i];
var value = this.scanner.source.slice(e.slice[0], e.slice[1]);
var comment = {
type: e.multiLine ? "BlockComment" : "LineComment",
value
};
if (this.trackRange) {
comment.range = e.range;
}
if (this.trackLoc) {
comment.loc = e.loc;
}
this.buffer.push(comment);
}
}
if (!this.scanner.eof()) {
var loc = void 0;
if (this.trackLoc) {
loc = {
start: {
line: this.scanner.lineNumber,
column: this.scanner.index - this.scanner.lineStart
},
end: {}
};
}
var startRegex = this.scanner.source[this.scanner.index] === "/" && this.reader.isRegexStart();
var token = startRegex ? this.scanner.scanRegExp() : this.scanner.lex();
this.reader.push(token);
var entry = {
type: token_1.TokenName[token.type],
value: this.scanner.source.slice(token.start, token.end)
};
if (this.trackRange) {
entry.range = [token.start, token.end];
}
if (this.trackLoc) {
loc.end = {
line: this.scanner.lineNumber,
column: this.scanner.index - this.scanner.lineStart
};
entry.loc = loc;
}
if (token.type === 9) {
var pattern = token.pattern;
var flags = token.flags;
entry.regex = { pattern, flags };
}
this.buffer.push(entry);
}
}
return this.buffer.shift();
};
return Tokenizer2;
}()
);
exports2.Tokenizer = Tokenizer;
}
});
// ../../../usr/share/nodejs/esprima/src/esprima.js
var require_esprima = __commonJS({
"../../../usr/share/nodejs/esprima/src/esprima.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.version = exports2.Syntax = exports2.tokenize = exports2.parseScript = exports2.parseModule = exports2.parse = void 0;
var comment_handler_1 = require_comment_handler();
var jsx_parser_1 = require_jsx_parser();
var parser_1 = require_parser();
var tokenizer_1 = require_tokenizer();
function parse(code, options, delegate) {
var commentHandler = null;
var proxyDelegate = function(node, metadata) {
if (delegate) {
delegate(node, metadata);
}
if (commentHandler) {
commentHandler.visit(node, metadata);
}
};
var parserDelegate = typeof delegate === "function" ? proxyDelegate : null;
var collectComment = false;
if (options) {
collectComment = typeof options.comment === "boolean" && options.comment;
var attachComment = typeof options.attachComment === "boolean" && options.attachComment;
if (collectComment || attachComment) {
commentHandler = new comment_handler_1.CommentHandler();
commentHandler.attach = attachComment;
options.comment = true;
parserDelegate = proxyDelegate;
}
}
var isModule = false;
if (options && typeof options.sourceType === "string") {
isModule = options.sourceType === "module";
}
var parser;
if (options && typeof options.jsx === "boolean" && options.jsx) {
parser = new jsx_parser_1.JSXParser(code, options, parserDelegate);
} else {
parser = new parser_1.Parser(code, options, parserDelegate);
}
var program = isModule ? parser.parseModule() : parser.parseScript();
var ast = program;
if (collectComment && commentHandler) {
ast.comments = commentHandler.comments;
}
if (parser.config.tokens) {
ast.tokens = parser.tokens;
}
if (parser.config.tolerant) {
ast.errors = parser.errorHandler.errors;
}
return ast;
}
exports2.parse = parse;
function parseModule(code, options, delegate) {
var parsingOptions = options || {};
parsingOptions.sourceType = "module";
return parse(code, parsingOptions, delegate);
}
exports2.parseModule = parseModule;
function parseScript(code, options, delegate) {
var parsingOptions = options || {};
parsingOptions.sourceType = "script";
return parse(code, parsingOptions, delegate);
}
exports2.parseScript = parseScript;
function tokenize(code, options, delegate) {
var tokenizer = new tokenizer_1.Tokenizer(code, options);
var tokens;
tokens = [];
try {
while (true) {
var token = tokenizer.getNextToken();
if (!token) {
break;
}
if (delegate) {
token = delegate(token);
}
tokens.push(token);
}
} catch (e) {
tokenizer.errorHandler.tolerate(e);
}
if (tokenizer.errorHandler.tolerant) {
tokens.errors = tokenizer.errors();
}
return tokens;
}
exports2.tokenize = tokenize;
var syntax_1 = require_syntax();
Object.defineProperty(exports2, "Syntax", { enumerable: true, get: function() {
return syntax_1.Syntax;
} });
exports2.version = "4.0.1";
}
});
// ../../../usr/share/nodejs/tslib/tslib.es6.js
var tslib_es6_exports = {};
__export(tslib_es6_exports, {
__assign: () => __assign,
__asyncDelegator: () => __asyncDelegator,
__asyncGenerator: () => __asyncGenerator,
__asyncValues: () => __asyncValues,
__await: () => __await,
__awaiter: () => __awaiter,
__classPrivateFieldGet: () => __classPrivateFieldGet,
__classPrivateFieldIn: () => __classPrivateFieldIn,
__classPrivateFieldSet: () => __classPrivateFieldSet,
__createBinding: () => __createBinding,
__decorate: () => __decorate,
__exportStar: () => __exportStar,
__extends: () => __extends,
__generator: () => __generator,
__importDefault: () => __importDefault,
__importStar: () => __importStar,
__makeTemplateObject: () => __makeTemplateObject,
__metadata: () => __metadata,
__param: () => __param,
__read: () => __read,
__rest: () => __rest,
__spread: () => __spread,
__spreadArray: () => __spreadArray,
__spreadArrays: () => __spreadArrays,
__values: () => __values
});
function __extends(d, b) {
if (typeof b !== "function" && b !== null)
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
extendStatics(d, b);
function __() {
this.constructor = d;
}
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
}
function __rest(s, e) {
var t = {};
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
t[p] = s[p];
if (s != null && typeof Object.getOwnPropertySymbols === "function")
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
if (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 c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (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 __metadata(metadataKey, metadataValue) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue);
}
function __awaiter(thisArg, _arguments, P, generator) {
function adopt(value) {
return value instanceof P ? value : new P(function(resolve) {
resolve(value);
});
}
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) {
result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
}
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
}
function __generator(thisArg, body) {
var _ = { label: 0, sent: function() {
if (t[0] & 1) throw t[1];
return t[1];
}, trys: [], ops: [] }, f, y, t, g;
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() {
return this;
}), g;
function verb(n) {
return function(v) {
return step([n, v]);
};
}
function step(op) {
if (f) throw new TypeError("Generator is already executing.");
while (g && (g = 0, op[0] && (_ = 0)), _) try {
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
if (y = 0, t) op = [op[0] & 2, t.value];
switch (op[0]) {
case 0:
case 1:
t = op;
break;
case 4:
_.label++;
return { value: op[1], done: false };
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]) && (op[0] === 6 || op[0] === 2)) {
_ = 0;
continue;
}
if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
_.label = op[1];
break;
}
if (op[0] === 6 && _.label < t[1]) {
_.label = t[1];
t = op;
break;
}
if (t && _.label < t[2]) {
_.label = t[2];
_.ops.push(op);
break;
}
if (t[2]) _.ops.pop();
_.trys.pop();
continue;
}
op = body.call(thisArg, _);
} catch (e) {
op = [6, e];
y = 0;
} finally {
f = t = 0;
}
if (op[0] & 5) throw op[1];
return { value: op[0] ? op[1] : void 0, done: true };
}
}
function __exportStar(m, o) {
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);
}
function __values(o) {
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
if (m) return m.call(o);
if (o && typeof o.length === "number") return {
next: function() {
if (o && i >= o.length) o = void 0;
return { 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 = typeof Symbol === "function" && o[Symbol.iterator];
if (!m) return o;
var i = m.call(o), r, ar = [], e;
try {
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
} catch (error) {
e = { error };
} finally {
try {
if (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;
for (var r = Array(s), k = 0, 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 || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
if (ar || !(i in from)) {
if (!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 g = generator.apply(thisArg, _arguments || []), i, q = [];
return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function() {
return this;
}, i;
function verb(n) {
if (g[n]) i[n] = function(v) {
return new Promise(function(a, b) {
q.push([n, v, a, b]) > 1 || resume(n, v);
});
};
}
function resume(n, v) {
try {
step(g[n](v));
} catch (e) {
settle(q[0][3], e);
}
}
function step(r) {
r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r);
}
function fulfill(value) {
resume("next", value);
}
function reject(value) {
resume("throw", value);
}
function settle(f, v) {
if (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: n === "return" } : f ? f(v) : v;
} : f;
}
}
function __asyncValues(o) {
if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
var m = o[Symbol.asyncIterator], i;
return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), 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) {
v = o[n](v), settle(resolve, reject, v.done, v.value);
});
};
}
function settle(resolve, reject, d, v) {
Promise.resolve(v).then(function(v2) {
resolve({ value: v2, done: d });
}, reject);
}
}
function __makeTemplateObject(cooked, raw) {
if (Object.defineProperty) {
Object.defineProperty(cooked, "raw", { value: raw });
} else {
cooked.raw = raw;
}
return cooked;
}
function __importStar(mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) {
for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
}
__setModuleDefault(result, mod);
return result;
}
function __importDefault(mod) {
return mod && mod.__esModule ? mod : { default: mod };
}
function __classPrivateFieldGet(receiver, state, kind, f) {
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
}
function __classPrivateFieldSet(receiver, state, value, kind, f) {
if (kind === "m") throw new TypeError("Private method is not writable");
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
return kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value), value;
}
function __classPrivateFieldIn(state, receiver) {
if (receiver === null || typeof receiver !== "object" && typeof receiver !== "function") throw new TypeError("Cannot use 'in' operator on non-object");
return typeof state === "function" ? receiver === state : state.has(receiver);
}
var extendStatics, __assign, __createBinding, __setModuleDefault;
var init_tslib_es6 = __esm({
"../../../usr/share/nodejs/tslib/tslib.es6.js"() {
extendStatics = function(d, b) {
extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d2, b2) {
d2.__proto__ = b2;
} || function(d2, b2) {
for (var p in b2) if (Object.prototype.hasOwnProperty.call(b2, p)) d2[p] = b2[p];
};
return extendStatics(d, b);
};
__assign = function() {
__assign = Object.assign || function __assign2(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i];
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
}
return t;
};
return __assign.apply(this, arguments);
};
__createBinding = Object.create ? function(o, m, k, k2) {
if (k2 === void 0) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() {
return m[k];
} };
}
Object.defineProperty(o, k2, desc);
} : function(o, m, k, k2) {
if (k2 === void 0) k2 = k;
o[k2] = m[k];
};
__setModuleDefault = Object.create ? function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
} : function(o, v) {
o["default"] = v;
};
}
});
// ../../../usr/share/nodejs/ast-types/lib/shared.js
var require_shared = __commonJS({
"../../../usr/share/nodejs/ast-types/lib/shared.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.maybeSetModuleExports = void 0;
var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
var types_1 = tslib_1.__importDefault(require_types());
function default_1(fork) {
var types = fork.use(types_1.default);
var Type = types.Type;
var builtin = types.builtInTypes;
var isNumber2 = builtin.number;
function geq(than) {
return Type.from((value) => isNumber2.check(value) && value >= than, isNumber2 + " >= " + than);
}
;
const defaults = {
// Functions were used because (among other reasons) that's the most
// elegant way to allow for the emptyArray one always to give a new
// array instance.
"null": function() {
return null;
},
"emptyArray": function() {
return [];
},
"false": function() {
return false;
},
"true": function() {
return true;
},
"undefined": function() {
},
"use strict": function() {
return "use strict";
}
};
var naiveIsPrimitive = Type.or(builtin.string, builtin.number, builtin.boolean, builtin.null, builtin.undefined);
const isPrimitive = Type.from((value) => {
if (value === null)
return true;
var type = typeof value;
if (type === "object" || type === "function") {
return false;
}
return true;
}, naiveIsPrimitive.toString());
return {
geq,
defaults,
isPrimitive
};
}
exports2.default = default_1;
function maybeSetModuleExports(moduleGetter) {
try {
var nodeModule = moduleGetter();
var originalExports = nodeModule.exports;
var defaultExport = originalExports["default"];
} catch {
return;
}
if (defaultExport && defaultExport !== originalExports && typeof originalExports === "object") {
Object.assign(defaultExport, originalExports, { "default": defaultExport });
if (originalExports.__esModule) {
Object.defineProperty(defaultExport, "__esModule", { value: true });
}
nodeModule.exports = defaultExport;
}
}
exports2.maybeSetModuleExports = maybeSetModuleExports;
}
});
// ../../../usr/share/nodejs/ast-types/lib/types.js
var require_types = __commonJS({
"../../../usr/share/nodejs/ast-types/lib/types.js"(exports2, module2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.Def = void 0;
var shared_1 = require_shared();
var Op = Object.prototype;
var objToStr = Op.toString;
var hasOwn = Op.hasOwnProperty;
var BaseType = class {
assert(value, deep) {
if (!this.check(value, deep)) {
var str = shallowStringify(value);
throw new Error(str + " does not match type " + this);
}
return true;
}
arrayOf() {
const elemType = this;
return new ArrayType(elemType);
}
};
var ArrayType = class extends BaseType {
elemType;
kind = "ArrayType";
constructor(elemType) {
super();
this.elemType = elemType;
}
toString() {
return "[" + this.elemType + "]";
}
check(value, deep) {
return Array.isArray(value) && value.every((elem) => this.elemType.check(elem, deep));
}
};
var IdentityType = class extends BaseType {
value;
kind = "IdentityType";
constructor(value) {
super();
this.value = value;
}
toString() {
return String(this.value);
}
check(value, deep) {
const result = value === this.value;
if (!result && typeof deep === "function") {
deep(this, value);
}
return result;
}
};
var ObjectType = class extends BaseType {
fields;
kind = "ObjectType";
constructor(fields) {
super();
this.fields = fields;
}
toString() {
return "{ " + this.fields.join(", ") + " }";
}
check(value, deep) {
return objToStr.call(value) === objToStr.call({}) && this.fields.every((field) => {
return field.type.check(value[field.name], deep);
});
}
};
var OrType = class extends BaseType {
types;
kind = "OrType";
constructor(types) {
super();
this.types = types;
}
toString() {
return this.types.join(" | ");
}
check(value, deep) {
if (this.types.some((type) => type.check(value, !!deep))) {
return true;
}
if (typeof deep === "function") {
deep(this, value);
}
return false;
}
};
var PredicateType = class extends BaseType {
name;
predicate;
kind = "PredicateType";
constructor(name, predicate) {
super();
this.name = name;
this.predicate = predicate;
}
toString() {
return this.name;
}
check(value, deep) {
const result = this.predicate(value, deep);
if (!result && typeof deep === "function") {
deep(this, value);
}
return result;
}
};
var Def = class _Def {
type;
typeName;
baseNames = [];
ownFields = /* @__PURE__ */ Object.create(null);
// Includes own typeName. Populated during finalization.
allSupertypes = /* @__PURE__ */ Object.create(null);
// Linear inheritance hierarchy. Populated during finalization.
supertypeList = [];
// Includes inherited fields.
allFields = /* @__PURE__ */ Object.create(null);
// Non-hidden keys of allFields.
fieldNames = [];
// This property will be overridden as true by individual Def instances
// when they are finalized.
finalized = false;
// False by default until .build(...) is called on an instance.
buildable = false;
buildParams = [];
constructor(type, typeName) {
this.type = type;
this.typeName = typeName;
}
isSupertypeOf(that) {
if (that instanceof _Def) {
if (this.finalized !== true || that.finalized !== true) {
throw new Error("");
}
return hasOwn.call(that.allSupertypes, this.typeName);
} else {
throw new Error(that + " is not a Def");
}
}
checkAllFields(value, deep) {
var allFields = this.allFields;
if (this.finalized !== true) {
throw new Error("" + this.typeName);
}
function checkFieldByName(name) {
var field = allFields[name];
var type = field.type;
var child = field.getValue(value);
return type.check(child, deep);
}
return value !== null && typeof value === "object" && Object.keys(allFields).every(checkFieldByName);
}
bases(...supertypeNames) {
var bases = this.baseNames;
if (this.finalized) {
if (supertypeNames.length !== bases.length) {
throw new Error("");
}
for (var i = 0; i < supertypeNames.length; i++) {
if (supertypeNames[i] !== bases[i]) {
throw new Error("");
}
}
return this;
}
supertypeNames.forEach((baseName) => {
if (bases.indexOf(baseName) < 0) {
bases.push(baseName);
}
});
return this;
}
};
exports2.Def = Def;
var Field = class {
name;
type;
defaultFn;
hidden;
constructor(name, type, defaultFn, hidden) {
this.name = name;
this.type = type;
this.defaultFn = defaultFn;
this.hidden = !!hidden;
}
toString() {
return JSON.stringify(this.name) + ": " + this.type;
}
getValue(obj) {
var value = obj[this.name];
if (typeof value !== "undefined") {
return value;
}
if (typeof this.defaultFn === "function") {
value = this.defaultFn.call(obj);
}
return value;
}
};
function shallowStringify(value) {
if (Array.isArray(value)) {
return "[" + value.map(shallowStringify).join(", ") + "]";
}
if (value && typeof value === "object") {
return "{ " + Object.keys(value).map(function(key) {
return key + ": " + value[key];
}).join(", ") + " }";
}
return JSON.stringify(value);
}
function typesPlugin(_fork) {
const Type = {
or(...types) {
return new OrType(types.map((type) => Type.from(type)));
},
from(value, name) {
if (value instanceof ArrayType || value instanceof IdentityType || value instanceof ObjectType || value instanceof OrType || value instanceof PredicateType) {
return value;
}
if (value instanceof Def) {
return value.type;
}
if (isArray2.check(value)) {
if (value.length !== 1) {
throw new Error("only one element type is permitted for typed arrays");
}
return new ArrayType(Type.from(value[0]));
}
if (isObject2.check(value)) {
return new ObjectType(Object.keys(value).map((name2) => {
return new Field(name2, Type.from(value[name2], name2));
}));
}
if (typeof value === "function") {
var bicfIndex = builtInCtorFns.indexOf(value);
if (bicfIndex >= 0) {
return builtInCtorTypes[bicfIndex];
}
if (typeof name !== "string") {
throw new Error("missing name");
}
return new PredicateType(name, value);
}
return new IdentityType(value);
},
// Define a type whose name is registered in a namespace (the defCache) so
// that future definitions will return the same type given the same name.
// In particular, this system allows for circular and forward definitions.
// The Def object d returned from Type.def may be used to configure the
// type d.type by calling methods such as d.bases, d.build, and d.field.
def(typeName) {
return hasOwn.call(defCache, typeName) ? defCache[typeName] : defCache[typeName] = new DefImpl(typeName);
},
hasDef(typeName) {
return hasOwn.call(defCache, typeName);
}
};
var builtInCtorFns = [];
var builtInCtorTypes = [];
function defBuiltInType(name, example) {
const objStr = objToStr.call(example);
const type = new PredicateType(name, (value) => objToStr.call(value) === objStr);
if (example && typeof example.constructor === "function") {
builtInCtorFns.push(example.constructor);
builtInCtorTypes.push(type);
}
return type;
}
const isString2 = defBuiltInType("string", "truthy");
const isFunction = defBuiltInType("function", function() {
});
const isArray2 = defBuiltInType("array", []);
const isObject2 = defBuiltInType("object", {});
const isRegExp = defBuiltInType("RegExp", /./);
const isDate2 = defBuiltInType("Date", /* @__PURE__ */ new Date());
const isNumber2 = defBuiltInType("number", 3);
const isBoolean2 = defBuiltInType("boolean", true);
const isNull = defBuiltInType("null", null);
const isUndefined = defBuiltInType("undefined", void 0);
const isBigInt = typeof BigInt === "function" ? defBuiltInType("BigInt", BigInt(1234)) : new PredicateType("BigInt", () => false);
const builtInTypes = {
string: isString2,
function: isFunction,
array: isArray2,
object: isObject2,
RegExp: isRegExp,
Date: isDate2,
number: isNumber2,
boolean: isBoolean2,
null: isNull,
undefined: isUndefined,
BigInt: isBigInt
};
var defCache = /* @__PURE__ */ Object.create(null);
function defFromValue(value) {
if (value && typeof value === "object") {
var type = value.type;
if (typeof type === "string" && hasOwn.call(defCache, type)) {
var d = defCache[type];
if (d.finalized) {
return d;
}
}
}
return null;
}
class DefImpl extends Def {
constructor(typeName) {
super(new PredicateType(typeName, (value, deep) => this.check(value, deep)), typeName);
}
check(value, deep) {
if (this.finalized !== true) {
throw new Error("prematurely checking unfinalized type " + this.typeName);
}
if (value === null || typeof value !== "object") {
return false;
}
var vDef = defFromValue(value);
if (!vDef) {
if (this.typeName === "SourceLocation" || this.typeName === "Position") {
return this.checkAllFields(value, deep);
}
return false;
}
if (deep && vDef === this) {
return this.checkAllFields(value, deep);
}
if (!this.isSupertypeOf(vDef)) {
return false;
}
if (!deep) {
return true;
}
return vDef.checkAllFields(value, deep) && this.checkAllFields(value, false);
}
build(...buildParams) {
this.buildParams = buildParams;
if (this.buildable) {
return this;
}
this.field("type", String, () => this.typeName);
this.buildable = true;
const addParam = (built, param, arg, isArgAvailable) => {
if (hasOwn.call(built, param))
return;
var all = this.allFields;
if (!hasOwn.call(all, param)) {
throw new Error("" + param);
}
var field = all[param];
var type = field.type;
var value;
if (isArgAvailable) {
value = arg;
} else if (field.defaultFn) {
value = field.defaultFn.call(built);
} else {
var message = "no value or default function given for field " + JSON.stringify(param) + " of " + this.typeName + "(" + this.buildParams.map(function(name) {
return all[name];
}).join(", ") + ")";
throw new Error(message);
}
if (!type.check(value)) {
throw new Error(shallowStringify(value) + " does not match field " + field + " of type " + this.typeName);
}
built[param] = value;
};
const builder = (...args) => {
var argc = args.length;
if (!this.finalized) {
throw new Error("attempting to instantiate unfinalized type " + this.typeName);
}
var built = Object.create(nodePrototype);
this.buildParams.forEach(function(param, i) {
if (i < argc) {
addParam(built, param, args[i], true);
} else {
addParam(built, param, null, false);
}
});
Object.keys(this.allFields).forEach(function(param) {
addParam(built, param, null, false);
});
if (built.type !== this.typeName) {
throw new Error("");
}
return built;
};
builder.from = (obj) => {
if (!this.finalized) {
throw new Error("attempting to instantiate unfinalized type " + this.typeName);
}
var built = Object.create(nodePrototype);
Object.keys(this.allFields).forEach(function(param) {
if (hasOwn.call(obj, param)) {
addParam(built, param, obj[param], true);
} else {
addParam(built, param, null, false);
}
});
if (built.type !== this.typeName) {
throw new Error("");
}
return built;
};
Object.defineProperty(builders, getBuilderName(this.typeName), {
enumerable: true,
value: builder
});
return this;
}
// The reason fields are specified using .field(...) instead of an object
// literal syntax is somewhat subtle: the object literal syntax would
// support only one key and one value, but with .field(...) we can pass
// any number of arguments to specify the field.
field(name, type, defaultFn, hidden) {
if (this.finalized) {
console.error("Ignoring attempt to redefine field " + JSON.stringify(name) + " of finalized type " + JSON.stringify(this.typeName));
return this;
}
this.ownFields[name] = new Field(name, Type.from(type), defaultFn, hidden);
return this;
}
finalize() {
if (!this.finalized) {
var allFields = this.allFields;
var allSupertypes = this.allSupertypes;
this.baseNames.forEach((name) => {
var def = defCache[name];
if (def instanceof Def) {
def.finalize();
extend(allFields, def.allFields);
extend(allSupertypes, def.allSupertypes);
} else {
var message = "unknown supertype name " + JSON.stringify(name) + " for subtype " + JSON.stringify(this.typeName);
throw new Error(message);
}
});
extend(allFields, this.ownFields);
allSupertypes[this.typeName] = this;
this.fieldNames.length = 0;
for (var fieldName in allFields) {
if (hasOwn.call(allFields, fieldName) && !allFields[fieldName].hidden) {
this.fieldNames.push(fieldName);
}
}
Object.defineProperty(namedTypes, this.typeName, {
enumerable: true,
value: this.type
});
this.finalized = true;
populateSupertypeList(this.typeName, this.supertypeList);
if (this.buildable && this.supertypeList.lastIndexOf("Expression") >= 0) {
wrapExpressionBuilderWithStatement(this.typeName);
}
}
}
}
function getSupertypeNames(typeName) {
if (!hasOwn.call(defCache, typeName)) {
throw new Error("");
}
var d = defCache[typeName];
if (d.finalized !== true) {
throw new Error("");
}
return d.supertypeList.slice(1);
}
function computeSupertypeLookupTable(candidates) {
var table = {};
var typeNames = Object.keys(defCache);
var typeNameCount = typeNames.length;
for (var i = 0; i < typeNameCount; ++i) {
var typeName = typeNames[i];
var d = defCache[typeName];
if (d.finalized !== true) {
throw new Error("" + typeName);
}
for (var j = 0; j < d.supertypeList.length; ++j) {
var superTypeName = d.supertypeList[j];
if (hasOwn.call(candidates, superTypeName)) {
table[typeName] = superTypeName;
break;
}
}
}
return table;
}
var builders = /* @__PURE__ */ Object.create(null);
var nodePrototype = {};
function defineMethod(name, func) {
var old = nodePrototype[name];
if (isUndefined.check(func)) {
delete nodePrototype[name];
} else {
isFunction.assert(func);
Object.defineProperty(nodePrototype, name, {
enumerable: true,
configurable: true,
value: func
});
}
return old;
}
function getBuilderName(typeName) {
return typeName.replace(/^[A-Z]+/, function(upperCasePrefix) {
var len = upperCasePrefix.length;
switch (len) {
case 0:
return "";
// If there's only one initial capital letter, just lower-case it.
case 1:
return upperCasePrefix.toLowerCase();
default:
return upperCasePrefix.slice(0, len - 1).toLowerCase() + upperCasePrefix.charAt(len - 1);
}
});
}
function getStatementBuilderName(typeName) {
typeName = getBuilderName(typeName);
return typeName.replace(/(Expression)?$/, "Statement");
}
var namedTypes = {};
function getFieldNames(object) {
var d = defFromValue(object);
if (d) {
return d.fieldNames.slice(0);
}
if ("type" in object) {
throw new Error("did not recognize object of type " + JSON.stringify(object.type));
}
return Object.keys(object);
}
function getFieldValue(object, fieldName) {
var d = defFromValue(object);
if (d) {
var field = d.allFields[fieldName];
if (field) {
return field.getValue(object);
}
}
return object && object[fieldName];
}
function eachField(object, callback, context) {
getFieldNames(object).forEach(function(name) {
callback.call(this, name, getFieldValue(object, name));
}, context);
}
function someField(object, callback, context) {
return getFieldNames(object).some(function(name) {
return callback.call(this, name, getFieldValue(object, name));
}, context);
}
function wrapExpressionBuilderWithStatement(typeName) {
var wrapperName = getStatementBuilderName(typeName);
if (builders[wrapperName])
return;
var wrapped = builders[getBuilderName(typeName)];
if (!wrapped)
return;
const builder = function(...args) {
return builders.expressionStatement(wrapped.apply(builders, args));
};
builder.from = function(...args) {
return builders.expressionStatement(wrapped.from.apply(builders, args));
};
builders[wrapperName] = builder;
}
function populateSupertypeList(typeName, list) {
list.length = 0;
list.push(typeName);
var lastSeen = /* @__PURE__ */ Object.create(null);
for (var pos = 0; pos < list.length; ++pos) {
typeName = list[pos];
var d = defCache[typeName];
if (d.finalized !== true) {
throw new Error("");
}
if (hasOwn.call(lastSeen, typeName)) {
delete list[lastSeen[typeName]];
}
lastSeen[typeName] = pos;
list.push.apply(list, d.baseNames);
}
for (var to = 0, from = to, len = list.length; from < len; ++from) {
if (hasOwn.call(list, from)) {
list[to++] = list[from];
}
}
list.length = to;
}
function extend(into, from) {
Object.keys(from).forEach(function(name) {
into[name] = from[name];
});
return into;
}
function finalize() {
Object.keys(defCache).forEach(function(name) {
defCache[name].finalize();
});
}
return {
Type,
builtInTypes,
getSupertypeNames,
computeSupertypeLookupTable,
builders,
defineMethod,
getBuilderName,
getStatementBuilderName,
namedTypes,
getFieldNames,
getFieldValue,
eachField,
someField,
finalize
};
}
exports2.default = typesPlugin;
(0, shared_1.maybeSetModuleExports)(() => module2);
}
});
// ../../../usr/share/nodejs/ast-types/lib/path.js
var require_path = __commonJS({
"../../../usr/share/nodejs/ast-types/lib/path.js"(exports2, module2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
var shared_1 = require_shared();
var types_1 = tslib_1.__importDefault(require_types());
var Op = Object.prototype;
var hasOwn = Op.hasOwnProperty;
function pathPlugin(fork) {
var types = fork.use(types_1.default);
var isArray2 = types.builtInTypes.array;
var isNumber2 = types.builtInTypes.number;
const Path = function Path2(value, parentPath, name) {
if (!(this instanceof Path2)) {
throw new Error("Path constructor cannot be invoked without 'new'");
}
if (parentPath) {
if (!(parentPath instanceof Path2)) {
throw new Error("");
}
} else {
parentPath = null;
name = null;
}
this.value = value;
this.parentPath = parentPath;
this.name = name;
this.__childCache = null;
};
var Pp = Path.prototype;
function getChildCache(path10) {
return path10.__childCache || (path10.__childCache = /* @__PURE__ */ Object.create(null));
}
function getChildPath(path10, name) {
var cache = getChildCache(path10);
var actualChildValue = path10.getValueProperty(name);
var childPath = cache[name];
if (!hasOwn.call(cache, name) || // Ensure consistency between cache and reality.
childPath.value !== actualChildValue) {
childPath = cache[name] = new path10.constructor(actualChildValue, path10, name);
}
return childPath;
}
Pp.getValueProperty = function getValueProperty(name) {
return this.value[name];
};
Pp.get = function get(...names) {
var path10 = this;
var count = names.length;
for (var i = 0; i < count; ++i) {
path10 = getChildPath(path10, names[i]);
}
return path10;
};
Pp.each = function each(callback, context) {
var childPaths = [];
var len = this.value.length;
var i = 0;
for (var i = 0; i < len; ++i) {
if (hasOwn.call(this.value, i)) {
childPaths[i] = this.get(i);
}
}
context = context || this;
for (i = 0; i < len; ++i) {
if (hasOwn.call(childPaths, i)) {
callback.call(context, childPaths[i]);
}
}
};
Pp.map = function map(callback, context) {
var result = [];
this.each(function(childPath) {
result.push(callback.call(this, childPath));
}, context);
return result;
};
Pp.filter = function filter(callback, context) {
var result = [];
this.each(function(childPath) {
if (callback.call(this, childPath)) {
result.push(childPath);
}
}, context);
return result;
};
function emptyMoves() {
}
function getMoves(path10, offset, start, end) {
isArray2.assert(path10.value);
if (offset === 0) {
return emptyMoves;
}
var length = path10.value.length;
if (length < 1) {
return emptyMoves;
}
var argc = arguments.length;
if (argc === 2) {
start = 0;
end = length;
} else if (argc === 3) {
start = Math.max(start, 0);
end = length;
} else {
start = Math.max(start, 0);
end = Math.min(end, length);
}
isNumber2.assert(start);
isNumber2.assert(end);
var moves = /* @__PURE__ */ Object.create(null);
var cache = getChildCache(path10);
for (var i = start; i < end; ++i) {
if (hasOwn.call(path10.value, i)) {
var childPath = path10.get(i);
if (childPath.name !== i) {
throw new Error("");
}
var newIndex = i + offset;
childPath.name = newIndex;
moves[newIndex] = childPath;
delete cache[i];
}
}
delete cache.length;
return function() {
for (var newIndex2 in moves) {
var childPath2 = moves[newIndex2];
if (childPath2.name !== +newIndex2) {
throw new Error("");
}
cache[newIndex2] = childPath2;
path10.value[newIndex2] = childPath2.value;
}
};
}
Pp.shift = function shift() {
var move = getMoves(this, -1);
var result = this.value.shift();
move();
return result;
};
Pp.unshift = function unshift(...args) {
var move = getMoves(this, args.length);
var result = this.value.unshift.apply(this.value, args);
move();
return result;
};
Pp.push = function push(...args) {
isArray2.assert(this.value);
delete getChildCache(this).length;
return this.value.push.apply(this.value, args);
};
Pp.pop = function pop() {
isArray2.assert(this.value);
var cache = getChildCache(this);
delete cache[this.value.length - 1];
delete cache.length;
return this.value.pop();
};
Pp.insertAt = function insertAt(index) {
var argc = arguments.length;
var move = getMoves(this, argc - 1, index);
if (move === emptyMoves && argc <= 1) {
return this;
}
index = Math.max(index, 0);
for (var i = 1; i < argc; ++i) {
this.value[index + i - 1] = arguments[i];
}
move();
return this;
};
Pp.insertBefore = function insertBefore(...args) {
var pp = this.parentPath;
var argc = args.length;
var insertAtArgs = [this.name];
for (var i = 0; i < argc; ++i) {
insertAtArgs.push(args[i]);
}
return pp.insertAt.apply(pp, insertAtArgs);
};
Pp.insertAfter = function insertAfter(...args) {
var pp = this.parentPath;
var argc = args.length;
var insertAtArgs = [this.name + 1];
for (var i = 0; i < argc; ++i) {
insertAtArgs.push(args[i]);
}
return pp.insertAt.apply(pp, insertAtArgs);
};
function repairRelationshipWithParent(path10) {
if (!(path10 instanceof Path)) {
throw new Error("");
}
var pp = path10.parentPath;
if (!pp) {
return path10;
}
var parentValue = pp.value;
var parentCache = getChildCache(pp);
if (parentValue[path10.name] === path10.value) {
parentCache[path10.name] = path10;
} else if (isArray2.check(parentValue)) {
var i = parentValue.indexOf(path10.value);
if (i >= 0) {
parentCache[path10.name = i] = path10;
}
} else {
parentValue[path10.name] = path10.value;
parentCache[path10.name] = path10;
}
if (parentValue[path10.name] !== path10.value) {
throw new Error("");
}
if (path10.parentPath.get(path10.name) !== path10) {
throw new Error("");
}
return path10;
}
Pp.replace = function replace(replacement) {
var results = [];
var parentValue = this.parentPath.value;
var parentCache = getChildCache(this.parentPath);
var count = arguments.length;
repairRelationshipWithParent(this);
if (isArray2.check(parentValue)) {
var originalLength = parentValue.length;
var move = getMoves(this.parentPath, count - 1, this.name + 1);
var spliceArgs = [this.name, 1];
for (var i = 0; i < count; ++i) {
spliceArgs.push(arguments[i]);
}
var splicedOut = parentValue.splice.apply(parentValue, spliceArgs);
if (splicedOut[0] !== this.value) {
throw new Error("");
}
if (parentValue.length !== originalLength - 1 + count) {
throw new Error("");
}
move();
if (count === 0) {
delete this.value;
delete parentCache[this.name];
this.__childCache = null;
} else {
if (parentValue[this.name] !== replacement) {
throw new Error("");
}
if (this.value !== replacement) {
this.value = replacement;
this.__childCache = null;
}
for (i = 0; i < count; ++i) {
results.push(this.parentPath.get(this.name + i));
}
if (results[0] !== this) {
throw new Error("");
}
}
} else if (count === 1) {
if (this.value !== replacement) {
this.__childCache = null;
}
this.value = parentValue[this.name] = replacement;
results.push(this);
} else if (count === 0) {
delete parentValue[this.name];
delete this.value;
this.__childCache = null;
} else {
throw new Error("Could not replace path");
}
return results;
};
return Path;
}
exports2.default = pathPlugin;
(0, shared_1.maybeSetModuleExports)(() => module2);
}
});
// ../../../usr/share/nodejs/ast-types/lib/scope.js
var require_scope = __commonJS({
"../../../usr/share/nodejs/ast-types/lib/scope.js"(exports2, module2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
var shared_1 = require_shared();
var types_1 = tslib_1.__importDefault(require_types());
var hasOwn = Object.prototype.hasOwnProperty;
function scopePlugin(fork) {
var types = fork.use(types_1.default);
var Type = types.Type;
var namedTypes = types.namedTypes;
var Node = namedTypes.Node;
var Expression = namedTypes.Expression;
var isArray2 = types.builtInTypes.array;
var b = types.builders;
const Scope = function Scope2(path10, parentScope) {
if (!(this instanceof Scope2)) {
throw new Error("Scope constructor cannot be invoked without 'new'");
}
if (!TypeParameterScopeType.check(path10.value)) {
ScopeType.assert(path10.value);
}
var depth;
if (parentScope) {
if (!(parentScope instanceof Scope2)) {
throw new Error("");
}
depth = parentScope.depth + 1;
} else {
parentScope = null;
depth = 0;
}
Object.defineProperties(this, {
path: { value: path10 },
node: { value: path10.value },
isGlobal: { value: !parentScope, enumerable: true },
depth: { value: depth },
parent: { value: parentScope },
bindings: { value: {} },
types: { value: {} }
});
};
var ScopeType = Type.or(
// Program nodes introduce global scopes.
namedTypes.Program,
// Function is the supertype of FunctionExpression,
// FunctionDeclaration, ArrowExpression, etc.
namedTypes.Function,
// In case you didn't know, the caught parameter shadows any variable
// of the same name in an outer scope.
namedTypes.CatchClause
);
var TypeParameterScopeType = Type.or(namedTypes.Function, namedTypes.ClassDeclaration, namedTypes.ClassExpression, namedTypes.InterfaceDeclaration, namedTypes.TSInterfaceDeclaration, namedTypes.TypeAlias, namedTypes.TSTypeAliasDeclaration);
var FlowOrTSTypeParameterType = Type.or(namedTypes.TypeParameter, namedTypes.TSTypeParameter);
Scope.isEstablishedBy = function(node) {
return ScopeType.check(node) || TypeParameterScopeType.check(node);
};
var Sp = Scope.prototype;
Sp.didScan = false;
Sp.declares = function(name) {
this.scan();
return hasOwn.call(this.bindings, name);
};
Sp.declaresType = function(name) {
this.scan();
return hasOwn.call(this.types, name);
};
Sp.declareTemporary = function(prefix) {
if (prefix) {
if (!/^[a-z$_]/i.test(prefix)) {
throw new Error("");
}
} else {
prefix = "t$";
}
prefix += this.depth.toString(36) + "$";
this.scan();
var index = 0;
while (this.declares(prefix + index)) {
++index;
}
var name = prefix + index;
return this.bindings[name] = types.builders.identifier(name);
};
Sp.injectTemporary = function(identifier, init) {
identifier || (identifier = this.declareTemporary());
var bodyPath = this.path.get("body");
if (namedTypes.BlockStatement.check(bodyPath.value)) {
bodyPath = bodyPath.get("body");
}
bodyPath.unshift(b.variableDeclaration("var", [b.variableDeclarator(identifier, init || null)]));
return identifier;
};
Sp.scan = function(force) {
if (force || !this.didScan) {
for (var name in this.bindings) {
delete this.bindings[name];
}
for (var name in this.types) {
delete this.types[name];
}
scanScope(this.path, this.bindings, this.types);
this.didScan = true;
}
};
Sp.getBindings = function() {
this.scan();
return this.bindings;
};
Sp.getTypes = function() {
this.scan();
return this.types;
};
function scanScope(path10, bindings, scopeTypes) {
var node = path10.value;
if (TypeParameterScopeType.check(node)) {
const params = path10.get("typeParameters", "params");
if (isArray2.check(params.value)) {
params.each((childPath) => {
addTypeParameter(childPath, scopeTypes);
});
}
}
if (ScopeType.check(node)) {
if (namedTypes.CatchClause.check(node)) {
addPattern(path10.get("param"), bindings);
} else {
recursiveScanScope(path10, bindings, scopeTypes);
}
}
}
function recursiveScanScope(path10, bindings, scopeTypes) {
var node = path10.value;
if (path10.parent && namedTypes.FunctionExpression.check(path10.parent.node) && path10.parent.node.id) {
addPattern(path10.parent.get("id"), bindings);
}
if (!node) {
} else if (isArray2.check(node)) {
path10.each((childPath) => {
recursiveScanChild(childPath, bindings, scopeTypes);
});
} else if (namedTypes.Function.check(node)) {
path10.get("params").each((paramPath) => {
addPattern(paramPath, bindings);
});
recursiveScanChild(path10.get("body"), bindings, scopeTypes);
recursiveScanScope(path10.get("typeParameters"), bindings, scopeTypes);
} else if (namedTypes.TypeAlias && namedTypes.TypeAlias.check(node) || namedTypes.InterfaceDeclaration && namedTypes.InterfaceDeclaration.check(node) || namedTypes.TSTypeAliasDeclaration && namedTypes.TSTypeAliasDeclaration.check(node) || namedTypes.TSInterfaceDeclaration && namedTypes.TSInterfaceDeclaration.check(node)) {
addTypePattern(path10.get("id"), scopeTypes);
} else if (namedTypes.VariableDeclarator.check(node)) {
addPattern(path10.get("id"), bindings);
recursiveScanChild(path10.get("init"), bindings, scopeTypes);
} else if (node.type === "ImportSpecifier" || node.type === "ImportNamespaceSpecifier" || node.type === "ImportDefaultSpecifier") {
addPattern(
// Esprima used to use the .name field to refer to the local
// binding identifier for ImportSpecifier nodes, but .id for
// ImportNamespaceSpecifier and ImportDefaultSpecifier nodes.
// ESTree/Acorn/ESpree use .local for all three node types.
path10.get(node.local ? "local" : node.name ? "name" : "id"),
bindings
);
} else if (Node.check(node) && !Expression.check(node)) {
types.eachField(node, function(name, child) {
var childPath = path10.get(name);
if (!pathHasValue(childPath, child)) {
throw new Error("");
}
recursiveScanChild(childPath, bindings, scopeTypes);
});
}
}
function pathHasValue(path10, value) {
if (path10.value === value) {
return true;
}
if (Array.isArray(path10.value) && path10.value.length === 0 && Array.isArray(value) && value.length === 0) {
return true;
}
return false;
}
function recursiveScanChild(path10, bindings, scopeTypes) {
var node = path10.value;
if (!node || Expression.check(node)) {
} else if (namedTypes.FunctionDeclaration.check(node) && node.id !== null) {
addPattern(path10.get("id"), bindings);
} else if (namedTypes.ClassDeclaration && namedTypes.ClassDeclaration.check(node) && node.id !== null) {
addPattern(path10.get("id"), bindings);
recursiveScanScope(path10.get("typeParameters"), bindings, scopeTypes);
} else if (namedTypes.InterfaceDeclaration && namedTypes.InterfaceDeclaration.check(node) || namedTypes.TSInterfaceDeclaration && namedTypes.TSInterfaceDeclaration.check(node)) {
addTypePattern(path10.get("id"), scopeTypes);
} else if (ScopeType.check(node)) {
if (namedTypes.CatchClause.check(node) && // TODO Broaden this to accept any pattern.
namedTypes.Identifier.check(node.param)) {
var catchParamName = node.param.name;
var hadBinding = hasOwn.call(bindings, catchParamName);
recursiveScanScope(path10.get("body"), bindings, scopeTypes);
if (!hadBinding) {
delete bindings[catchParamName];
}
}
} else {
recursiveScanScope(path10, bindings, scopeTypes);
}
}
function addPattern(patternPath, bindings) {
var pattern = patternPath.value;
namedTypes.Pattern.assert(pattern);
if (namedTypes.Identifier.check(pattern)) {
if (hasOwn.call(bindings, pattern.name)) {
bindings[pattern.name].push(patternPath);
} else {
bindings[pattern.name] = [patternPath];
}
} else if (namedTypes.AssignmentPattern && namedTypes.AssignmentPattern.check(pattern)) {
addPattern(patternPath.get("left"), bindings);
} else if (namedTypes.ObjectPattern && namedTypes.ObjectPattern.check(pattern)) {
patternPath.get("properties").each(function(propertyPath) {
var property = propertyPath.value;
if (namedTypes.Pattern.check(property)) {
addPattern(propertyPath, bindings);
} else if (namedTypes.Property.check(property) || namedTypes.ObjectProperty && namedTypes.ObjectProperty.check(property)) {
addPattern(propertyPath.get("value"), bindings);
} else if (namedTypes.SpreadProperty && namedTypes.SpreadProperty.check(property)) {
addPattern(propertyPath.get("argument"), bindings);
}
});
} else if (namedTypes.ArrayPattern && namedTypes.ArrayPattern.check(pattern)) {
patternPath.get("elements").each(function(elementPath) {
var element = elementPath.value;
if (namedTypes.Pattern.check(element)) {
addPattern(elementPath, bindings);
} else if (namedTypes.SpreadElement && namedTypes.SpreadElement.check(element)) {
addPattern(elementPath.get("argument"), bindings);
}
});
} else if (namedTypes.PropertyPattern && namedTypes.PropertyPattern.check(pattern)) {
addPattern(patternPath.get("pattern"), bindings);
} else if (namedTypes.SpreadElementPattern && namedTypes.SpreadElementPattern.check(pattern) || namedTypes.RestElement && namedTypes.RestElement.check(pattern) || namedTypes.SpreadPropertyPattern && namedTypes.SpreadPropertyPattern.check(pattern)) {
addPattern(patternPath.get("argument"), bindings);
}
}
function addTypePattern(patternPath, types2) {
var pattern = patternPath.value;
namedTypes.Pattern.assert(pattern);
if (namedTypes.Identifier.check(pattern)) {
if (hasOwn.call(types2, pattern.name)) {
types2[pattern.name].push(patternPath);
} else {
types2[pattern.name] = [patternPath];
}
}
}
function addTypeParameter(parameterPath, types2) {
var parameter = parameterPath.value;
FlowOrTSTypeParameterType.assert(parameter);
if (hasOwn.call(types2, parameter.name)) {
types2[parameter.name].push(parameterPath);
} else {
types2[parameter.name] = [parameterPath];
}
}
Sp.lookup = function(name) {
for (var scope = this; scope; scope = scope.parent)
if (scope.declares(name))
break;
return scope;
};
Sp.lookupType = function(name) {
for (var scope = this; scope; scope = scope.parent)
if (scope.declaresType(name))
break;
return scope;
};
Sp.getGlobalScope = function() {
var scope = this;
while (!scope.isGlobal)
scope = scope.parent;
return scope;
};
return Scope;
}
exports2.default = scopePlugin;
(0, shared_1.maybeSetModuleExports)(() => module2);
}
});
// ../../../usr/share/nodejs/ast-types/lib/node-path.js
var require_node_path = __commonJS({
"../../../usr/share/nodejs/ast-types/lib/node-path.js"(exports2, module2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
var types_1 = tslib_1.__importDefault(require_types());
var path_1 = tslib_1.__importDefault(require_path());
var scope_1 = tslib_1.__importDefault(require_scope());
var shared_1 = require_shared();
function nodePathPlugin(fork) {
var types = fork.use(types_1.default);
var n = types.namedTypes;
var b = types.builders;
var isNumber2 = types.builtInTypes.number;
var isArray2 = types.builtInTypes.array;
var Path = fork.use(path_1.default);
var Scope = fork.use(scope_1.default);
const NodePath = function NodePath2(value, parentPath, name) {
if (!(this instanceof NodePath2)) {
throw new Error("NodePath constructor cannot be invoked without 'new'");
}
Path.call(this, value, parentPath, name);
};
var NPp = NodePath.prototype = Object.create(Path.prototype, {
constructor: {
value: NodePath,
enumerable: false,
writable: true,
configurable: true
}
});
Object.defineProperties(NPp, {
node: {
get: function() {
Object.defineProperty(this, "node", {
configurable: true,
value: this._computeNode()
});
return this.node;
}
},
parent: {
get: function() {
Object.defineProperty(this, "parent", {
configurable: true,
value: this._computeParent()
});
return this.parent;
}
},
scope: {
get: function() {
Object.defineProperty(this, "scope", {
configurable: true,
value: this._computeScope()
});
return this.scope;
}
}
});
NPp.replace = function() {
delete this.node;
delete this.parent;
delete this.scope;
return Path.prototype.replace.apply(this, arguments);
};
NPp.prune = function() {
var remainingNodePath = this.parent;
this.replace();
return cleanUpNodesAfterPrune(remainingNodePath);
};
NPp._computeNode = function() {
var value = this.value;
if (n.Node.check(value)) {
return value;
}
var pp = this.parentPath;
return pp && pp.node || null;
};
NPp._computeParent = function() {
var value = this.value;
var pp = this.parentPath;
if (!n.Node.check(value)) {
while (pp && !n.Node.check(pp.value)) {
pp = pp.parentPath;
}
if (pp) {
pp = pp.parentPath;
}
}
while (pp && !n.Node.check(pp.value)) {
pp = pp.parentPath;
}
return pp || null;
};
NPp._computeScope = function() {
var value = this.value;
var pp = this.parentPath;
var scope = pp && pp.scope;
if (n.Node.check(value) && Scope.isEstablishedBy(value)) {
scope = new Scope(this, scope);
}
return scope || null;
};
NPp.getValueProperty = function(name) {
return types.getFieldValue(this.value, name);
};
NPp.needsParens = function(assumeExpressionContext) {
var pp = this.parentPath;
if (!pp) {
return false;
}
var node = this.value;
if (!n.Expression.check(node)) {
return false;
}
if (node.type === "Identifier") {
return false;
}
while (!n.Node.check(pp.value)) {
pp = pp.parentPath;
if (!pp) {
return false;
}
}
var parent = pp.value;
switch (node.type) {
case "UnaryExpression":
case "SpreadElement":
case "SpreadProperty":
return parent.type === "MemberExpression" && this.name === "object" && parent.object === node;
case "BinaryExpression":
case "LogicalExpression":
switch (parent.type) {
case "CallExpression":
return this.name === "callee" && parent.callee === node;
case "UnaryExpression":
case "SpreadElement":
case "SpreadProperty":
return true;
case "MemberExpression":
return this.name === "object" && parent.object === node;
case "BinaryExpression":
case "LogicalExpression": {
const n2 = node;
const po = parent.operator;
const pp2 = PRECEDENCE[po];
const no = n2.operator;
const np = PRECEDENCE[no];
if (pp2 > np) {
return true;
}
if (pp2 === np && this.name === "right") {
if (parent.right !== n2) {
throw new Error("Nodes must be equal");
}
return true;
}
}
default:
return false;
}
case "SequenceExpression":
switch (parent.type) {
case "ForStatement":
return false;
case "ExpressionStatement":
return this.name !== "expression";
default:
return true;
}
case "YieldExpression":
switch (parent.type) {
case "BinaryExpression":
case "LogicalExpression":
case "UnaryExpression":
case "SpreadElement":
case "SpreadProperty":
case "CallExpression":
case "MemberExpression":
case "NewExpression":
case "ConditionalExpression":
case "YieldExpression":
return true;
default:
return false;
}
case "Literal":
return parent.type === "MemberExpression" && isNumber2.check(node.value) && this.name === "object" && parent.object === node;
case "AssignmentExpression":
case "ConditionalExpression":
switch (parent.type) {
case "UnaryExpression":
case "SpreadElement":
case "SpreadProperty":
case "BinaryExpression":
case "LogicalExpression":
return true;
case "CallExpression":
return this.name === "callee" && parent.callee === node;
case "ConditionalExpression":
return this.name === "test" && parent.test === node;
case "MemberExpression":
return this.name === "object" && parent.object === node;
default:
return false;
}
default:
if (parent.type === "NewExpression" && this.name === "callee" && parent.callee === node) {
return containsCallExpression(node);
}
}
if (assumeExpressionContext !== true && !this.canBeFirstInStatement() && this.firstInStatement())
return true;
return false;
};
function isBinary(node) {
return n.BinaryExpression.check(node) || n.LogicalExpression.check(node);
}
function isUnaryLike(node) {
return n.UnaryExpression.check(node) || n.SpreadElement && n.SpreadElement.check(node) || n.SpreadProperty && n.SpreadProperty.check(node);
}
var PRECEDENCE = {};
[
["||"],
["&&"],
["|"],
["^"],
["&"],
["==", "===", "!=", "!=="],
["<", ">", "<=", ">=", "in", "instanceof"],
[">>", "<<", ">>>"],
["+", "-"],
["*", "/", "%"]
].forEach(function(tier, i) {
tier.forEach(function(op) {
PRECEDENCE[op] = i;
});
});
function containsCallExpression(node) {
if (n.CallExpression.check(node)) {
return true;
}
if (isArray2.check(node)) {
return node.some(containsCallExpression);
}
if (n.Node.check(node)) {
return types.someField(node, function(_name, child) {
return containsCallExpression(child);
});
}
return false;
}
NPp.canBeFirstInStatement = function() {
var node = this.node;
return !n.FunctionExpression.check(node) && !n.ObjectExpression.check(node);
};
NPp.firstInStatement = function() {
return firstInStatement(this);
};
function firstInStatement(path10) {
for (var node, parent; path10.parent; path10 = path10.parent) {
node = path10.node;
parent = path10.parent.node;
if (n.BlockStatement.check(parent) && path10.parent.name === "body" && path10.name === 0) {
if (parent.body[0] !== node) {
throw new Error("Nodes must be equal");
}
return true;
}
if (n.ExpressionStatement.check(parent) && path10.name === "expression") {
if (parent.expression !== node) {
throw new Error("Nodes must be equal");
}
return true;
}
if (n.SequenceExpression.check(parent) && path10.parent.name === "expressions" && path10.name === 0) {
if (parent.expressions[0] !== node) {
throw new Error("Nodes must be equal");
}
continue;
}
if (n.CallExpression.check(parent) && path10.name === "callee") {
if (parent.callee !== node) {
throw new Error("Nodes must be equal");
}
continue;
}
if (n.MemberExpression.check(parent) && path10.name === "object") {
if (parent.object !== node) {
throw new Error("Nodes must be equal");
}
continue;
}
if (n.ConditionalExpression.check(parent) && path10.name === "test") {
if (parent.test !== node) {
throw new Error("Nodes must be equal");
}
continue;
}
if (isBinary(parent) && path10.name === "left") {
if (parent.left !== node) {
throw new Error("Nodes must be equal");
}
continue;
}
if (n.UnaryExpression.check(parent) && !parent.prefix && path10.name === "argument") {
if (parent.argument !== node) {
throw new Error("Nodes must be equal");
}
continue;
}
return false;
}
return true;
}
function cleanUpNodesAfterPrune(remainingNodePath) {
if (n.VariableDeclaration.check(remainingNodePath.node)) {
var declarations = remainingNodePath.get("declarations").value;
if (!declarations || declarations.length === 0) {
return remainingNodePath.prune();
}
} else if (n.ExpressionStatement.check(remainingNodePath.node)) {
if (!remainingNodePath.get("expression").value) {
return remainingNodePath.prune();
}
} else if (n.IfStatement.check(remainingNodePath.node)) {
cleanUpIfStatementAfterPrune(remainingNodePath);
}
return remainingNodePath;
}
function cleanUpIfStatementAfterPrune(ifStatement) {
var testExpression = ifStatement.get("test").value;
var alternate = ifStatement.get("alternate").value;
var consequent = ifStatement.get("consequent").value;
if (!consequent && !alternate) {
var testExpressionStatement = b.expressionStatement(testExpression);
ifStatement.replace(testExpressionStatement);
} else if (!consequent && alternate) {
var negatedTestExpression = b.unaryExpression("!", testExpression, true);
if (n.UnaryExpression.check(testExpression) && testExpression.operator === "!") {
negatedTestExpression = testExpression.argument;
}
ifStatement.get("test").replace(negatedTestExpression);
ifStatement.get("consequent").replace(alternate);
ifStatement.get("alternate").replace();
}
}
return NodePath;
}
exports2.default = nodePathPlugin;
(0, shared_1.maybeSetModuleExports)(() => module2);
}
});
// ../../../usr/share/nodejs/ast-types/lib/path-visitor.js
var require_path_visitor = __commonJS({
"../../../usr/share/nodejs/ast-types/lib/path-visitor.js"(exports2, module2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
var types_1 = tslib_1.__importDefault(require_types());
var node_path_1 = tslib_1.__importDefault(require_node_path());
var shared_1 = require_shared();
var hasOwn = Object.prototype.hasOwnProperty;
function pathVisitorPlugin(fork) {
var types = fork.use(types_1.default);
var NodePath = fork.use(node_path_1.default);
var isArray2 = types.builtInTypes.array;
var isObject2 = types.builtInTypes.object;
var isFunction = types.builtInTypes.function;
var undefined2;
const PathVisitor = function PathVisitor2() {
if (!(this instanceof PathVisitor2)) {
throw new Error("PathVisitor constructor cannot be invoked without 'new'");
}
this._reusableContextStack = [];
this._methodNameTable = computeMethodNameTable(this);
this._shouldVisitComments = hasOwn.call(this._methodNameTable, "Block") || hasOwn.call(this._methodNameTable, "Line");
this.Context = makeContextConstructor(this);
this._visiting = false;
this._changeReported = false;
};
function computeMethodNameTable(visitor) {
var typeNames = /* @__PURE__ */ Object.create(null);
for (var methodName in visitor) {
if (/^visit[A-Z]/.test(methodName)) {
typeNames[methodName.slice("visit".length)] = true;
}
}
var supertypeTable = types.computeSupertypeLookupTable(typeNames);
var methodNameTable = /* @__PURE__ */ Object.create(null);
var typeNameKeys = Object.keys(supertypeTable);
var typeNameCount = typeNameKeys.length;
for (var i = 0; i < typeNameCount; ++i) {
var typeName = typeNameKeys[i];
methodName = "visit" + supertypeTable[typeName];
if (isFunction.check(visitor[methodName])) {
methodNameTable[typeName] = methodName;
}
}
return methodNameTable;
}
PathVisitor.fromMethodsObject = function fromMethodsObject(methods) {
if (methods instanceof PathVisitor) {
return methods;
}
if (!isObject2.check(methods)) {
return new PathVisitor();
}
const Visitor = function Visitor2() {
if (!(this instanceof Visitor2)) {
throw new Error("Visitor constructor cannot be invoked without 'new'");
}
PathVisitor.call(this);
};
var Vp = Visitor.prototype = Object.create(PVp);
Vp.constructor = Visitor;
extend(Vp, methods);
extend(Visitor, PathVisitor);
isFunction.assert(Visitor.fromMethodsObject);
isFunction.assert(Visitor.visit);
return new Visitor();
};
function extend(target, source) {
for (var property in source) {
if (hasOwn.call(source, property)) {
target[property] = source[property];
}
}
return target;
}
PathVisitor.visit = function visit(node, methods) {
return PathVisitor.fromMethodsObject(methods).visit(node);
};
var PVp = PathVisitor.prototype;
PVp.visit = function() {
if (this._visiting) {
throw new Error("Recursively calling visitor.visit(path) resets visitor state. Try this.visit(path) or this.traverse(path) instead.");
}
this._visiting = true;
this._changeReported = false;
this._abortRequested = false;
var argc = arguments.length;
var args = new Array(argc);
for (var i = 0; i < argc; ++i) {
args[i] = arguments[i];
}
if (!(args[0] instanceof NodePath)) {
args[0] = new NodePath({ root: args[0] }).get("root");
}
this.reset.apply(this, args);
var didNotThrow;
try {
var root = this.visitWithoutReset(args[0]);
didNotThrow = true;
} finally {
this._visiting = false;
if (!didNotThrow && this._abortRequested) {
return args[0].value;
}
}
return root;
};
PVp.AbortRequest = function AbortRequest() {
};
PVp.abort = function() {
var visitor = this;
visitor._abortRequested = true;
var request = new visitor.AbortRequest();
request.cancel = function() {
visitor._abortRequested = false;
};
throw request;
};
PVp.reset = function(_path) {
};
PVp.visitWithoutReset = function(path10) {
if (this instanceof this.Context) {
return this.visitor.visitWithoutReset(path10);
}
if (!(path10 instanceof NodePath)) {
throw new Error("");
}
var value = path10.value;
var methodName = value && typeof value === "object" && typeof value.type === "string" && this._methodNameTable[value.type];
if (methodName) {
var context = this.acquireContext(path10);
try {
return context.invokeVisitorMethod(methodName);
} finally {
this.releaseContext(context);
}
} else {
return visitChildren(path10, this);
}
};
function visitChildren(path10, visitor) {
if (!(path10 instanceof NodePath)) {
throw new Error("");
}
if (!(visitor instanceof PathVisitor)) {
throw new Error("");
}
var value = path10.value;
if (isArray2.check(value)) {
path10.each(visitor.visitWithoutReset, visitor);
} else if (!isObject2.check(value)) {
} else {
var childNames = types.getFieldNames(value);
if (visitor._shouldVisitComments && value.comments && childNames.indexOf("comments") < 0) {
childNames.push("comments");
}
var childCount = childNames.length;
var childPaths = [];
for (var i = 0; i < childCount; ++i) {
var childName = childNames[i];
if (!hasOwn.call(value, childName)) {
value[childName] = types.getFieldValue(value, childName);
}
childPaths.push(path10.get(childName));
}
for (var i = 0; i < childCount; ++i) {
visitor.visitWithoutReset(childPaths[i]);
}
}
return path10.value;
}
PVp.acquireContext = function(path10) {
if (this._reusableContextStack.length === 0) {
return new this.Context(path10);
}
return this._reusableContextStack.pop().reset(path10);
};
PVp.releaseContext = function(context) {
if (!(context instanceof this.Context)) {
throw new Error("");
}
this._reusableContextStack.push(context);
context.currentPath = null;
};
PVp.reportChanged = function() {
this._changeReported = true;
};
PVp.wasChangeReported = function() {
return this._changeReported;
};
function makeContextConstructor(visitor) {
function Context(path10) {
if (!(this instanceof Context)) {
throw new Error("");
}
if (!(this instanceof PathVisitor)) {
throw new Error("");
}
if (!(path10 instanceof NodePath)) {
throw new Error("");
}
Object.defineProperty(this, "visitor", {
value: visitor,
writable: false,
enumerable: true,
configurable: false
});
this.currentPath = path10;
this.needToCallTraverse = true;
Object.seal(this);
}
if (!(visitor instanceof PathVisitor)) {
throw new Error("");
}
var Cp = Context.prototype = Object.create(visitor);
Cp.constructor = Context;
extend(Cp, sharedContextProtoMethods);
return Context;
}
var sharedContextProtoMethods = /* @__PURE__ */ Object.create(null);
sharedContextProtoMethods.reset = function reset(path10) {
if (!(this instanceof this.Context)) {
throw new Error("");
}
if (!(path10 instanceof NodePath)) {
throw new Error("");
}
this.currentPath = path10;
this.needToCallTraverse = true;
return this;
};
sharedContextProtoMethods.invokeVisitorMethod = function invokeVisitorMethod(methodName) {
if (!(this instanceof this.Context)) {
throw new Error("");
}
if (!(this.currentPath instanceof NodePath)) {
throw new Error("");
}
var result = this.visitor[methodName].call(this, this.currentPath);
if (result === false) {
this.needToCallTraverse = false;
} else if (result !== undefined2) {
this.currentPath = this.currentPath.replace(result)[0];
if (this.needToCallTraverse) {
this.traverse(this.currentPath);
}
}
if (this.needToCallTraverse !== false) {
throw new Error("Must either call this.traverse or return false in " + methodName);
}
var path10 = this.currentPath;
return path10 && path10.value;
};
sharedContextProtoMethods.traverse = function traverse(path10, newVisitor) {
if (!(this instanceof this.Context)) {
throw new Error("");
}
if (!(path10 instanceof NodePath)) {
throw new Error("");
}
if (!(this.currentPath instanceof NodePath)) {
throw new Error("");
}
this.needToCallTraverse = false;
return visitChildren(path10, PathVisitor.fromMethodsObject(newVisitor || this.visitor));
};
sharedContextProtoMethods.visit = function visit(path10, newVisitor) {
if (!(this instanceof this.Context)) {
throw new Error("");
}
if (!(path10 instanceof NodePath)) {
throw new Error("");
}
if (!(this.currentPath instanceof NodePath)) {
throw new Error("");
}
this.needToCallTraverse = false;
return PathVisitor.fromMethodsObject(newVisitor || this.visitor).visitWithoutReset(path10);
};
sharedContextProtoMethods.reportChanged = function reportChanged() {
this.visitor.reportChanged();
};
sharedContextProtoMethods.abort = function abort() {
this.needToCallTraverse = false;
this.visitor.abort();
};
return PathVisitor;
}
exports2.default = pathVisitorPlugin;
(0, shared_1.maybeSetModuleExports)(() => module2);
}
});
// ../../../usr/share/nodejs/ast-types/lib/equiv.js
var require_equiv = __commonJS({
"../../../usr/share/nodejs/ast-types/lib/equiv.js"(exports2, module2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
var shared_1 = require_shared();
var types_1 = tslib_1.__importDefault(require_types());
function default_1(fork) {
var types = fork.use(types_1.default);
var getFieldNames = types.getFieldNames;
var getFieldValue = types.getFieldValue;
var isArray2 = types.builtInTypes.array;
var isObject2 = types.builtInTypes.object;
var isDate2 = types.builtInTypes.Date;
var isRegExp = types.builtInTypes.RegExp;
var hasOwn = Object.prototype.hasOwnProperty;
function astNodesAreEquivalent(a, b, problemPath) {
if (isArray2.check(problemPath)) {
problemPath.length = 0;
} else {
problemPath = null;
}
return areEquivalent(a, b, problemPath);
}
astNodesAreEquivalent.assert = function(a, b) {
var problemPath = [];
if (!astNodesAreEquivalent(a, b, problemPath)) {
if (problemPath.length === 0) {
if (a !== b) {
throw new Error("Nodes must be equal");
}
} else {
throw new Error("Nodes differ in the following path: " + problemPath.map(subscriptForProperty).join(""));
}
}
};
function subscriptForProperty(property) {
if (/[_$a-z][_$a-z0-9]*/i.test(property)) {
return "." + property;
}
return "[" + JSON.stringify(property) + "]";
}
function areEquivalent(a, b, problemPath) {
if (a === b) {
return true;
}
if (isArray2.check(a)) {
return arraysAreEquivalent(a, b, problemPath);
}
if (isObject2.check(a)) {
return objectsAreEquivalent(a, b, problemPath);
}
if (isDate2.check(a)) {
return isDate2.check(b) && +a === +b;
}
if (isRegExp.check(a)) {
return isRegExp.check(b) && (a.source === b.source && a.global === b.global && a.multiline === b.multiline && a.ignoreCase === b.ignoreCase);
}
return a == b;
}
function arraysAreEquivalent(a, b, problemPath) {
isArray2.assert(a);
var aLength = a.length;
if (!isArray2.check(b) || b.length !== aLength) {
if (problemPath) {
problemPath.push("length");
}
return false;
}
for (var i = 0; i < aLength; ++i) {
if (problemPath) {
problemPath.push(i);
}
if (i in a !== i in b) {
return false;
}
if (!areEquivalent(a[i], b[i], problemPath)) {
return false;
}
if (problemPath) {
var problemPathTail = problemPath.pop();
if (problemPathTail !== i) {
throw new Error("" + problemPathTail);
}
}
}
return true;
}
function objectsAreEquivalent(a, b, problemPath) {
isObject2.assert(a);
if (!isObject2.check(b)) {
return false;
}
if (a.type !== b.type) {
if (problemPath) {
problemPath.push("type");
}
return false;
}
var aNames = getFieldNames(a);
var aNameCount = aNames.length;
var bNames = getFieldNames(b);
var bNameCount = bNames.length;
if (aNameCount === bNameCount) {
for (var i = 0; i < aNameCount; ++i) {
var name = aNames[i];
var aChild = getFieldValue(a, name);
var bChild = getFieldValue(b, name);
if (problemPath) {
problemPath.push(name);
}
if (!areEquivalent(aChild, bChild, problemPath)) {
return false;
}
if (problemPath) {
var problemPathTail = problemPath.pop();
if (problemPathTail !== name) {
throw new Error("" + problemPathTail);
}
}
}
return true;
}
if (!problemPath) {
return false;
}
var seenNames = /* @__PURE__ */ Object.create(null);
for (i = 0; i < aNameCount; ++i) {
seenNames[aNames[i]] = true;
}
for (i = 0; i < bNameCount; ++i) {
name = bNames[i];
if (!hasOwn.call(seenNames, name)) {
problemPath.push(name);
return false;
}
delete seenNames[name];
}
for (name in seenNames) {
problemPath.push(name);
break;
}
return false;
}
return astNodesAreEquivalent;
}
exports2.default = default_1;
(0, shared_1.maybeSetModuleExports)(() => module2);
}
});
// ../../../usr/share/nodejs/ast-types/lib/fork.js
var require_fork = __commonJS({
"../../../usr/share/nodejs/ast-types/lib/fork.js"(exports2, module2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
var types_1 = tslib_1.__importDefault(require_types());
var path_visitor_1 = tslib_1.__importDefault(require_path_visitor());
var equiv_1 = tslib_1.__importDefault(require_equiv());
var path_1 = tslib_1.__importDefault(require_path());
var node_path_1 = tslib_1.__importDefault(require_node_path());
var shared_1 = require_shared();
function default_1(plugins) {
const fork = createFork();
const types = fork.use(types_1.default);
plugins.forEach(fork.use);
types.finalize();
const PathVisitor = fork.use(path_visitor_1.default);
return {
Type: types.Type,
builtInTypes: types.builtInTypes,
namedTypes: types.namedTypes,
builders: types.builders,
defineMethod: types.defineMethod,
getFieldNames: types.getFieldNames,
getFieldValue: types.getFieldValue,
eachField: types.eachField,
someField: types.someField,
getSupertypeNames: types.getSupertypeNames,
getBuilderName: types.getBuilderName,
astNodesAreEquivalent: fork.use(equiv_1.default),
finalize: types.finalize,
Path: fork.use(path_1.default),
NodePath: fork.use(node_path_1.default),
PathVisitor,
use: fork.use,
visit: PathVisitor.visit
};
}
exports2.default = default_1;
function createFork() {
const used = [];
const usedResult = [];
function use(plugin) {
var idx = used.indexOf(plugin);
if (idx === -1) {
idx = used.length;
used.push(plugin);
usedResult[idx] = plugin(fork);
}
return usedResult[idx];
}
var fork = { use };
return fork;
}
(0, shared_1.maybeSetModuleExports)(() => module2);
}
});
// ../../../usr/share/nodejs/ast-types/lib/def/operators/core.js
var require_core = __commonJS({
"../../../usr/share/nodejs/ast-types/lib/def/operators/core.js"(exports2, module2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var shared_1 = require_shared();
function default_1() {
return {
BinaryOperators: [
"==",
"!=",
"===",
"!==",
"<",
"<=",
">",
">=",
"<<",
">>",
">>>",
"+",
"-",
"*",
"/",
"%",
"&",
"|",
"^",
"in",
"instanceof"
],
AssignmentOperators: [
"=",
"+=",
"-=",
"*=",
"/=",
"%=",
"<<=",
">>=",
">>>=",
"|=",
"^=",
"&="
],
LogicalOperators: [
"||",
"&&"
]
};
}
exports2.default = default_1;
(0, shared_1.maybeSetModuleExports)(() => module2);
}
});
// ../../../usr/share/nodejs/ast-types/lib/def/operators/es2016.js
var require_es2016 = __commonJS({
"../../../usr/share/nodejs/ast-types/lib/def/operators/es2016.js"(exports2, module2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
var shared_1 = require_shared();
var core_1 = tslib_1.__importDefault(require_core());
function default_1(fork) {
const result = fork.use(core_1.default);
if (result.BinaryOperators.indexOf("**") < 0) {
result.BinaryOperators.push("**");
}
if (result.AssignmentOperators.indexOf("**=") < 0) {
result.AssignmentOperators.push("**=");
}
return result;
}
exports2.default = default_1;
(0, shared_1.maybeSetModuleExports)(() => module2);
}
});
// ../../../usr/share/nodejs/ast-types/lib/def/operators/es2020.js
var require_es2020 = __commonJS({
"../../../usr/share/nodejs/ast-types/lib/def/operators/es2020.js"(exports2, module2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
var shared_1 = require_shared();
var es2016_1 = tslib_1.__importDefault(require_es2016());
function default_1(fork) {
const result = fork.use(es2016_1.default);
if (result.LogicalOperators.indexOf("??") < 0) {
result.LogicalOperators.push("??");
}
return result;
}
exports2.default = default_1;
(0, shared_1.maybeSetModuleExports)(() => module2);
}
});
// ../../../usr/share/nodejs/ast-types/lib/def/operators/es2021.js
var require_es2021 = __commonJS({
"../../../usr/share/nodejs/ast-types/lib/def/operators/es2021.js"(exports2, module2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
var shared_1 = require_shared();
var es2020_1 = tslib_1.__importDefault(require_es2020());
function default_1(fork) {
const result = fork.use(es2020_1.default);
result.LogicalOperators.forEach((op) => {
const assignOp = op + "=";
if (result.AssignmentOperators.indexOf(assignOp) < 0) {
result.AssignmentOperators.push(assignOp);
}
});
return result;
}
exports2.default = default_1;
(0, shared_1.maybeSetModuleExports)(() => module2);
}
});
// ../../../usr/share/nodejs/ast-types/lib/def/core.js
var require_core2 = __commonJS({
"../../../usr/share/nodejs/ast-types/lib/def/core.js"(exports2, module2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
var core_1 = tslib_1.__importDefault(require_core());
var types_1 = tslib_1.__importDefault(require_types());
var shared_1 = tslib_1.__importStar(require_shared());
function default_1(fork) {
var types = fork.use(types_1.default);
var Type = types.Type;
var def = Type.def;
var or = Type.or;
var shared = fork.use(shared_1.default);
var defaults = shared.defaults;
var geq = shared.geq;
const { BinaryOperators, AssignmentOperators, LogicalOperators } = fork.use(core_1.default);
def("Printable").field("loc", or(def("SourceLocation"), null), defaults["null"], true);
def("Node").bases("Printable").field("type", String).field("comments", or([def("Comment")], null), defaults["null"], true);
def("SourceLocation").field("start", def("Position")).field("end", def("Position")).field("source", or(String, null), defaults["null"]);
def("Position").field("line", geq(1)).field("column", geq(0));
def("File").bases("Node").build("program", "name").field("program", def("Program")).field("name", or(String, null), defaults["null"]);
def("Program").bases("Node").build("body").field("body", [def("Statement")]);
def("Function").bases("Node").field("id", or(def("Identifier"), null), defaults["null"]).field("params", [def("Pattern")]).field("body", def("BlockStatement")).field("generator", Boolean, defaults["false"]).field("async", Boolean, defaults["false"]);
def("Statement").bases("Node");
def("EmptyStatement").bases("Statement").build();
def("BlockStatement").bases("Statement").build("body").field("body", [def("Statement")]);
def("ExpressionStatement").bases("Statement").build("expression").field("expression", def("Expression"));
def("IfStatement").bases("Statement").build("test", "consequent", "alternate").field("test", def("Expression")).field("consequent", def("Statement")).field("alternate", or(def("Statement"), null), defaults["null"]);
def("LabeledStatement").bases("Statement").build("label", "body").field("label", def("Identifier")).field("body", def("Statement"));
def("BreakStatement").bases("Statement").build("label").field("label", or(def("Identifier"), null), defaults["null"]);
def("ContinueStatement").bases("Statement").build("label").field("label", or(def("Identifier"), null), defaults["null"]);
def("WithStatement").bases("Statement").build("object", "body").field("object", def("Expression")).field("body", def("Statement"));
def("SwitchStatement").bases("Statement").build("discriminant", "cases", "lexical").field("discriminant", def("Expression")).field("cases", [def("SwitchCase")]).field("lexical", Boolean, defaults["false"]);
def("ReturnStatement").bases("Statement").build("argument").field("argument", or(def("Expression"), null));
def("ThrowStatement").bases("Statement").build("argument").field("argument", def("Expression"));
def("TryStatement").bases("Statement").build("block", "handler", "finalizer").field("block", def("BlockStatement")).field("handler", or(def("CatchClause"), null), function() {
return this.handlers && this.handlers[0] || null;
}).field("handlers", [def("CatchClause")], function() {
return this.handler ? [this.handler] : [];
}, true).field("guardedHandlers", [def("CatchClause")], defaults.emptyArray).field("finalizer", or(def("BlockStatement"), null), defaults["null"]);
def("CatchClause").bases("Node").build("param", "guard", "body").field("param", def("Pattern")).field("guard", or(def("Expression"), null), defaults["null"]).field("body", def("BlockStatement"));
def("WhileStatement").bases("Statement").build("test", "body").field("test", def("Expression")).field("body", def("Statement"));
def("DoWhileStatement").bases("Statement").build("body", "test").field("body", def("Statement")).field("test", def("Expression"));
def("ForStatement").bases("Statement").build("init", "test", "update", "body").field("init", or(def("VariableDeclaration"), def("Expression"), null)).field("test", or(def("Expression"), null)).field("update", or(def("Expression"), null)).field("body", def("Statement"));
def("ForInStatement").bases("Statement").build("left", "right", "body").field("left", or(def("VariableDeclaration"), def("Expression"))).field("right", def("Expression")).field("body", def("Statement"));
def("DebuggerStatement").bases("Statement").build();
def("Declaration").bases("Statement");
def("FunctionDeclaration").bases("Function", "Declaration").build("id", "params", "body").field("id", def("Identifier"));
def("FunctionExpression").bases("Function", "Expression").build("id", "params", "body");
def("VariableDeclaration").bases("Declaration").build("kind", "declarations").field("kind", or("var", "let", "const")).field("declarations", [def("VariableDeclarator")]);
def("VariableDeclarator").bases("Node").build("id", "init").field("id", def("Pattern")).field("init", or(def("Expression"), null), defaults["null"]);
def("Expression").bases("Node");
def("ThisExpression").bases("Expression").build();
def("ArrayExpression").bases("Expression").build("elements").field("elements", [or(def("Expression"), null)]);
def("ObjectExpression").bases("Expression").build("properties").field("properties", [def("Property")]);
def("Property").bases("Node").build("kind", "key", "value").field("kind", or("init", "get", "set")).field("key", or(def("Literal"), def("Identifier"))).field("value", def("Expression"));
def("SequenceExpression").bases("Expression").build("expressions").field("expressions", [def("Expression")]);
var UnaryOperator = or("-", "+", "!", "~", "typeof", "void", "delete");
def("UnaryExpression").bases("Expression").build("operator", "argument", "prefix").field("operator", UnaryOperator).field("argument", def("Expression")).field("prefix", Boolean, defaults["true"]);
const BinaryOperator = or(...BinaryOperators);
def("BinaryExpression").bases("Expression").build("operator", "left", "right").field("operator", BinaryOperator).field("left", def("Expression")).field("right", def("Expression"));
const AssignmentOperator = or(...AssignmentOperators);
def("AssignmentExpression").bases("Expression").build("operator", "left", "right").field("operator", AssignmentOperator).field("left", or(def("Pattern"), def("MemberExpression"))).field("right", def("Expression"));
var UpdateOperator = or("++", "--");
def("UpdateExpression").bases("Expression").build("operator", "argument", "prefix").field("operator", UpdateOperator).field("argument", def("Expression")).field("prefix", Boolean);
var LogicalOperator = or(...LogicalOperators);
def("LogicalExpression").bases("Expression").build("operator", "left", "right").field("operator", LogicalOperator).field("left", def("Expression")).field("right", def("Expression"));
def("ConditionalExpression").bases("Expression").build("test", "consequent", "alternate").field("test", def("Expression")).field("consequent", def("Expression")).field("alternate", def("Expression"));
def("NewExpression").bases("Expression").build("callee", "arguments").field("callee", def("Expression")).field("arguments", [def("Expression")]);
def("CallExpression").bases("Expression").build("callee", "arguments").field("callee", def("Expression")).field("arguments", [def("Expression")]);
def("MemberExpression").bases("Expression").build("object", "property", "computed").field("object", def("Expression")).field("property", or(def("Identifier"), def("Expression"))).field("computed", Boolean, function() {
var type = this.property.type;
if (type === "Literal" || type === "MemberExpression" || type === "BinaryExpression") {
return true;
}
return false;
});
def("Pattern").bases("Node");
def("SwitchCase").bases("Node").build("test", "consequent").field("test", or(def("Expression"), null)).field("consequent", [def("Statement")]);
def("Identifier").bases("Expression", "Pattern").build("name").field("name", String).field("optional", Boolean, defaults["false"]);
def("Literal").bases("Expression").build("value").field("value", or(String, Boolean, null, Number, RegExp, BigInt));
def("Comment").bases("Printable").field("value", String).field("leading", Boolean, defaults["true"]).field("trailing", Boolean, defaults["false"]);
}
exports2.default = default_1;
(0, shared_1.maybeSetModuleExports)(() => module2);
}
});
// ../../../usr/share/nodejs/ast-types/lib/def/es6.js
var require_es6 = __commonJS({
"../../../usr/share/nodejs/ast-types/lib/def/es6.js"(exports2, module2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
var core_1 = tslib_1.__importDefault(require_core2());
var types_1 = tslib_1.__importDefault(require_types());
var shared_1 = tslib_1.__importStar(require_shared());
function default_1(fork) {
fork.use(core_1.default);
const types = fork.use(types_1.default);
const def = types.Type.def;
const or = types.Type.or;
const defaults = fork.use(shared_1.default).defaults;
def("Function").field("generator", Boolean, defaults["false"]).field("expression", Boolean, defaults["false"]).field("defaults", [or(def("Expression"), null)], defaults.emptyArray).field("rest", or(def("Identifier"), null), defaults["null"]);
def("RestElement").bases("Pattern").build("argument").field("argument", def("Pattern")).field(
"typeAnnotation",
// for Babylon. Flow parser puts it on the identifier
or(def("TypeAnnotation"), def("TSTypeAnnotation"), null),
defaults["null"]
);
def("SpreadElementPattern").bases("Pattern").build("argument").field("argument", def("Pattern"));
def("FunctionDeclaration").build("id", "params", "body", "generator", "expression").field("id", or(def("Identifier"), null));
def("FunctionExpression").build("id", "params", "body", "generator", "expression");
def("ArrowFunctionExpression").bases("Function", "Expression").build("params", "body", "expression").field("id", null, defaults["null"]).field("body", or(def("BlockStatement"), def("Expression"))).field("generator", false, defaults["false"]);
def("ForOfStatement").bases("Statement").build("left", "right", "body").field("left", or(def("VariableDeclaration"), def("Pattern"))).field("right", def("Expression")).field("body", def("Statement"));
def("YieldExpression").bases("Expression").build("argument", "delegate").field("argument", or(def("Expression"), null)).field("delegate", Boolean, defaults["false"]);
def("GeneratorExpression").bases("Expression").build("body", "blocks", "filter").field("body", def("Expression")).field("blocks", [def("ComprehensionBlock")]).field("filter", or(def("Expression"), null));
def("ComprehensionExpression").bases("Expression").build("body", "blocks", "filter").field("body", def("Expression")).field("blocks", [def("ComprehensionBlock")]).field("filter", or(def("Expression"), null));
def("ComprehensionBlock").bases("Node").build("left", "right", "each").field("left", def("Pattern")).field("right", def("Expression")).field("each", Boolean);
def("Property").field("key", or(def("Literal"), def("Identifier"), def("Expression"))).field("value", or(def("Expression"), def("Pattern"))).field("method", Boolean, defaults["false"]).field("shorthand", Boolean, defaults["false"]).field("computed", Boolean, defaults["false"]);
def("ObjectProperty").field("shorthand", Boolean, defaults["false"]);
def("PropertyPattern").bases("Pattern").build("key", "pattern").field("key", or(def("Literal"), def("Identifier"), def("Expression"))).field("pattern", def("Pattern")).field("computed", Boolean, defaults["false"]);
def("ObjectPattern").bases("Pattern").build("properties").field("properties", [or(def("PropertyPattern"), def("Property"))]);
def("ArrayPattern").bases("Pattern").build("elements").field("elements", [or(def("Pattern"), null)]);
def("SpreadElement").bases("Node").build("argument").field("argument", def("Expression"));
def("ArrayExpression").field("elements", [or(def("Expression"), def("SpreadElement"), def("RestElement"), null)]);
def("NewExpression").field("arguments", [or(def("Expression"), def("SpreadElement"))]);
def("CallExpression").field("arguments", [or(def("Expression"), def("SpreadElement"))]);
def("AssignmentPattern").bases("Pattern").build("left", "right").field("left", def("Pattern")).field("right", def("Expression"));
def("MethodDefinition").bases("Declaration").build("kind", "key", "value", "static").field("kind", or("constructor", "method", "get", "set")).field("key", def("Expression")).field("value", def("Function")).field("computed", Boolean, defaults["false"]).field("static", Boolean, defaults["false"]);
const ClassBodyElement = or(def("MethodDefinition"), def("VariableDeclarator"), def("ClassPropertyDefinition"), def("ClassProperty"), def("StaticBlock"));
def("ClassProperty").bases("Declaration").build("key").field("key", or(def("Literal"), def("Identifier"), def("Expression"))).field("computed", Boolean, defaults["false"]);
def("ClassPropertyDefinition").bases("Declaration").build("definition").field("definition", ClassBodyElement);
def("ClassBody").bases("Declaration").build("body").field("body", [ClassBodyElement]);
def("ClassDeclaration").bases("Declaration").build("id", "body", "superClass").field("id", or(def("Identifier"), null)).field("body", def("ClassBody")).field("superClass", or(def("Expression"), null), defaults["null"]);
def("ClassExpression").bases("Expression").build("id", "body", "superClass").field("id", or(def("Identifier"), null), defaults["null"]).field("body", def("ClassBody")).field("superClass", or(def("Expression"), null), defaults["null"]);
def("Super").bases("Expression").build();
def("Specifier").bases("Node");
def("ModuleSpecifier").bases("Specifier").field("local", or(def("Identifier"), null), defaults["null"]).field("id", or(def("Identifier"), null), defaults["null"]).field("name", or(def("Identifier"), null), defaults["null"]);
def("ImportSpecifier").bases("ModuleSpecifier").build("imported", "local").field("imported", def("Identifier"));
def("ImportDefaultSpecifier").bases("ModuleSpecifier").build("local");
def("ImportNamespaceSpecifier").bases("ModuleSpecifier").build("local");
def("ImportDeclaration").bases("Declaration").build("specifiers", "source", "importKind").field("specifiers", [or(def("ImportSpecifier"), def("ImportNamespaceSpecifier"), def("ImportDefaultSpecifier"))], defaults.emptyArray).field("source", def("Literal")).field("importKind", or("value", "type"), function() {
return "value";
});
def("ExportNamedDeclaration").bases("Declaration").build("declaration", "specifiers", "source").field("declaration", or(def("Declaration"), null)).field("specifiers", [def("ExportSpecifier")], defaults.emptyArray).field("source", or(def("Literal"), null), defaults["null"]);
def("ExportSpecifier").bases("ModuleSpecifier").build("local", "exported").field("exported", def("Identifier"));
def("ExportDefaultDeclaration").bases("Declaration").build("declaration").field("declaration", or(def("Declaration"), def("Expression")));
def("ExportAllDeclaration").bases("Declaration").build("source").field("source", def("Literal"));
def("TaggedTemplateExpression").bases("Expression").build("tag", "quasi").field("tag", def("Expression")).field("quasi", def("TemplateLiteral"));
def("TemplateLiteral").bases("Expression").build("quasis", "expressions").field("quasis", [def("TemplateElement")]).field("expressions", [def("Expression")]);
def("TemplateElement").bases("Node").build("value", "tail").field("value", { "cooked": String, "raw": String }).field("tail", Boolean);
def("MetaProperty").bases("Expression").build("meta", "property").field("meta", def("Identifier")).field("property", def("Identifier"));
}
exports2.default = default_1;
(0, shared_1.maybeSetModuleExports)(() => module2);
}
});
// ../../../usr/share/nodejs/ast-types/lib/def/es2016.js
var require_es20162 = __commonJS({
"../../../usr/share/nodejs/ast-types/lib/def/es2016.js"(exports2, module2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
var es2016_1 = tslib_1.__importDefault(require_es2016());
var es6_1 = tslib_1.__importDefault(require_es6());
var shared_1 = require_shared();
function default_1(fork) {
fork.use(es2016_1.default);
fork.use(es6_1.default);
}
exports2.default = default_1;
(0, shared_1.maybeSetModuleExports)(() => module2);
}
});
// ../../../usr/share/nodejs/ast-types/lib/def/es2017.js
var require_es2017 = __commonJS({
"../../../usr/share/nodejs/ast-types/lib/def/es2017.js"(exports2, module2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
var es2016_1 = tslib_1.__importDefault(require_es20162());
var types_1 = tslib_1.__importDefault(require_types());
var shared_1 = tslib_1.__importStar(require_shared());
function default_1(fork) {
fork.use(es2016_1.default);
const types = fork.use(types_1.default);
const def = types.Type.def;
const defaults = fork.use(shared_1.default).defaults;
def("Function").field("async", Boolean, defaults["false"]);
def("AwaitExpression").bases("Expression").build("argument").field("argument", def("Expression"));
}
exports2.default = default_1;
(0, shared_1.maybeSetModuleExports)(() => module2);
}
});
// ../../../usr/share/nodejs/ast-types/lib/def/es2018.js
var require_es2018 = __commonJS({
"../../../usr/share/nodejs/ast-types/lib/def/es2018.js"(exports2, module2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
var es2017_1 = tslib_1.__importDefault(require_es2017());
var types_1 = tslib_1.__importDefault(require_types());
var shared_1 = tslib_1.__importStar(require_shared());
function default_1(fork) {
fork.use(es2017_1.default);
const types = fork.use(types_1.default);
const def = types.Type.def;
const or = types.Type.or;
const defaults = fork.use(shared_1.default).defaults;
def("ForOfStatement").field("await", Boolean, defaults["false"]);
def("SpreadProperty").bases("Node").build("argument").field("argument", def("Expression"));
def("ObjectExpression").field("properties", [or(
def("Property"),
def("SpreadProperty"),
// Legacy
def("SpreadElement")
)]);
def("TemplateElement").field("value", { "cooked": or(String, null), "raw": String });
def("SpreadPropertyPattern").bases("Pattern").build("argument").field("argument", def("Pattern"));
def("ObjectPattern").field("properties", [or(def("PropertyPattern"), def("Property"), def("RestElement"), def("SpreadPropertyPattern"))]);
}
exports2.default = default_1;
(0, shared_1.maybeSetModuleExports)(() => module2);
}
});
// ../../../usr/share/nodejs/ast-types/lib/def/es2019.js
var require_es2019 = __commonJS({
"../../../usr/share/nodejs/ast-types/lib/def/es2019.js"(exports2, module2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
var es2018_1 = tslib_1.__importDefault(require_es2018());
var types_1 = tslib_1.__importDefault(require_types());
var shared_1 = tslib_1.__importStar(require_shared());
function default_1(fork) {
fork.use(es2018_1.default);
const types = fork.use(types_1.default);
const def = types.Type.def;
const or = types.Type.or;
const defaults = fork.use(shared_1.default).defaults;
def("CatchClause").field("param", or(def("Pattern"), null), defaults["null"]);
}
exports2.default = default_1;
(0, shared_1.maybeSetModuleExports)(() => module2);
}
});
// ../../../usr/share/nodejs/ast-types/lib/def/es2020.js
var require_es20202 = __commonJS({
"../../../usr/share/nodejs/ast-types/lib/def/es2020.js"(exports2, module2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
var es2020_1 = tslib_1.__importDefault(require_es2020());
var es2019_1 = tslib_1.__importDefault(require_es2019());
var types_1 = tslib_1.__importDefault(require_types());
var shared_1 = tslib_1.__importStar(require_shared());
function default_1(fork) {
fork.use(es2020_1.default);
fork.use(es2019_1.default);
const types = fork.use(types_1.default);
const def = types.Type.def;
const or = types.Type.or;
const shared = fork.use(shared_1.default);
const defaults = shared.defaults;
def("ImportExpression").bases("Expression").build("source").field("source", def("Expression"));
def("ExportAllDeclaration").bases("Declaration").build("source", "exported").field("source", def("Literal")).field("exported", or(def("Identifier"), null, void 0), defaults["null"]);
def("ChainElement").bases("Node").field("optional", Boolean, defaults["false"]);
def("CallExpression").bases("Expression", "ChainElement");
def("MemberExpression").bases("Expression", "ChainElement");
def("ChainExpression").bases("Expression").build("expression").field("expression", def("ChainElement"));
def("OptionalCallExpression").bases("CallExpression").build("callee", "arguments", "optional").field("optional", Boolean, defaults["true"]);
def("OptionalMemberExpression").bases("MemberExpression").build("object", "property", "computed", "optional").field("optional", Boolean, defaults["true"]);
}
exports2.default = default_1;
(0, shared_1.maybeSetModuleExports)(() => module2);
}
});
// ../../../usr/share/nodejs/ast-types/lib/def/es2021.js
var require_es20212 = __commonJS({
"../../../usr/share/nodejs/ast-types/lib/def/es2021.js"(exports2, module2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
var es2021_1 = tslib_1.__importDefault(require_es2021());
var es2020_1 = tslib_1.__importDefault(require_es20202());
var shared_1 = require_shared();
function default_1(fork) {
fork.use(es2021_1.default);
fork.use(es2020_1.default);
}
exports2.default = default_1;
(0, shared_1.maybeSetModuleExports)(() => module2);
}
});
// ../../../usr/share/nodejs/ast-types/lib/def/es2022.js
var require_es2022 = __commonJS({
"../../../usr/share/nodejs/ast-types/lib/def/es2022.js"(exports2, module2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
var es2021_1 = tslib_1.__importDefault(require_es20212());
var types_1 = tslib_1.__importDefault(require_types());
var shared_1 = require_shared();
function default_1(fork) {
fork.use(es2021_1.default);
const types = fork.use(types_1.default);
const def = types.Type.def;
def("StaticBlock").bases("Declaration").build("body").field("body", [def("Statement")]);
}
exports2.default = default_1;
(0, shared_1.maybeSetModuleExports)(() => module2);
}
});
// ../../../usr/share/nodejs/ast-types/lib/def/es-proposals.js
var require_es_proposals = __commonJS({
"../../../usr/share/nodejs/ast-types/lib/def/es-proposals.js"(exports2, module2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
var types_1 = tslib_1.__importDefault(require_types());
var shared_1 = tslib_1.__importStar(require_shared());
var es2022_1 = tslib_1.__importDefault(require_es2022());
function default_1(fork) {
fork.use(es2022_1.default);
const types = fork.use(types_1.default);
const Type = types.Type;
const def = types.Type.def;
const or = Type.or;
const shared = fork.use(shared_1.default);
const defaults = shared.defaults;
def("AwaitExpression").build("argument", "all").field("argument", or(def("Expression"), null)).field("all", Boolean, defaults["false"]);
def("Decorator").bases("Node").build("expression").field("expression", def("Expression"));
def("Property").field("decorators", or([def("Decorator")], null), defaults["null"]);
def("MethodDefinition").field("decorators", or([def("Decorator")], null), defaults["null"]);
def("PrivateName").bases("Expression", "Pattern").build("id").field("id", def("Identifier"));
def("ClassPrivateProperty").bases("ClassProperty").build("key", "value").field("key", def("PrivateName")).field("value", or(def("Expression"), null), defaults["null"]);
def("ImportAttribute").bases("Node").build("key", "value").field("key", or(def("Identifier"), def("Literal"))).field("value", def("Expression"));
[
"ImportDeclaration",
"ExportAllDeclaration",
"ExportNamedDeclaration"
].forEach((decl) => {
def(decl).field("assertions", [def("ImportAttribute")], defaults.emptyArray);
});
def("RecordExpression").bases("Expression").build("properties").field("properties", [or(def("ObjectProperty"), def("ObjectMethod"), def("SpreadElement"))]);
def("TupleExpression").bases("Expression").build("elements").field("elements", [or(def("Expression"), def("SpreadElement"), null)]);
def("ModuleExpression").bases("Node").build("body").field("body", def("Program"));
}
exports2.default = default_1;
(0, shared_1.maybeSetModuleExports)(() => module2);
}
});
// ../../../usr/share/nodejs/ast-types/lib/def/jsx.js
var require_jsx = __commonJS({
"../../../usr/share/nodejs/ast-types/lib/def/jsx.js"(exports2, module2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
var es_proposals_1 = tslib_1.__importDefault(require_es_proposals());
var types_1 = tslib_1.__importDefault(require_types());
var shared_1 = tslib_1.__importStar(require_shared());
function default_1(fork) {
fork.use(es_proposals_1.default);
const types = fork.use(types_1.default);
const def = types.Type.def;
const or = types.Type.or;
const defaults = fork.use(shared_1.default).defaults;
def("JSXAttribute").bases("Node").build("name", "value").field("name", or(def("JSXIdentifier"), def("JSXNamespacedName"))).field("value", or(
def("Literal"),
// attr="value"
def("JSXExpressionContainer"),
// attr={value}
def("JSXElement"),
// attr=
def("JSXFragment"),
// attr=<>>
null
// attr= or just attr
), defaults["null"]);
def("JSXIdentifier").bases("Identifier").build("name").field("name", String);
def("JSXNamespacedName").bases("Node").build("namespace", "name").field("namespace", def("JSXIdentifier")).field("name", def("JSXIdentifier"));
def("JSXMemberExpression").bases("MemberExpression").build("object", "property").field("object", or(def("JSXIdentifier"), def("JSXMemberExpression"))).field("property", def("JSXIdentifier")).field("computed", Boolean, defaults.false);
const JSXElementName = or(def("JSXIdentifier"), def("JSXNamespacedName"), def("JSXMemberExpression"));
def("JSXSpreadAttribute").bases("Node").build("argument").field("argument", def("Expression"));
const JSXAttributes = [or(def("JSXAttribute"), def("JSXSpreadAttribute"))];
def("JSXExpressionContainer").bases("Expression").build("expression").field("expression", or(def("Expression"), def("JSXEmptyExpression")));
const JSXChildren = [or(
def("JSXText"),
def("JSXExpressionContainer"),
def("JSXSpreadChild"),
def("JSXElement"),
def("JSXFragment"),
def("Literal")
// Legacy: Esprima should return JSXText instead.
)];
def("JSXElement").bases("Expression").build("openingElement", "closingElement", "children").field("openingElement", def("JSXOpeningElement")).field("closingElement", or(def("JSXClosingElement"), null), defaults["null"]).field("children", JSXChildren, defaults.emptyArray).field("name", JSXElementName, function() {
return this.openingElement.name;
}, true).field("selfClosing", Boolean, function() {
return this.openingElement.selfClosing;
}, true).field("attributes", JSXAttributes, function() {
return this.openingElement.attributes;
}, true);
def("JSXOpeningElement").bases("Node").build("name", "attributes", "selfClosing").field("name", JSXElementName).field("attributes", JSXAttributes, defaults.emptyArray).field("selfClosing", Boolean, defaults["false"]);
def("JSXClosingElement").bases("Node").build("name").field("name", JSXElementName);
def("JSXFragment").bases("Expression").build("openingFragment", "closingFragment", "children").field("openingFragment", def("JSXOpeningFragment")).field("closingFragment", def("JSXClosingFragment")).field("children", JSXChildren, defaults.emptyArray);
def("JSXOpeningFragment").bases("Node").build();
def("JSXClosingFragment").bases("Node").build();
def("JSXText").bases("Literal").build("value", "raw").field("value", String).field("raw", String, function() {
return this.value;
});
def("JSXEmptyExpression").bases("Node").build();
def("JSXSpreadChild").bases("Node").build("expression").field("expression", def("Expression"));
}
exports2.default = default_1;
(0, shared_1.maybeSetModuleExports)(() => module2);
}
});
// ../../../usr/share/nodejs/ast-types/lib/def/type-annotations.js
var require_type_annotations = __commonJS({
"../../../usr/share/nodejs/ast-types/lib/def/type-annotations.js"(exports2, module2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
var types_1 = tslib_1.__importDefault(require_types());
var shared_1 = tslib_1.__importStar(require_shared());
function default_1(fork) {
var types = fork.use(types_1.default);
var def = types.Type.def;
var or = types.Type.or;
var defaults = fork.use(shared_1.default).defaults;
var TypeAnnotation = or(def("TypeAnnotation"), def("TSTypeAnnotation"), null);
var TypeParamDecl = or(def("TypeParameterDeclaration"), def("TSTypeParameterDeclaration"), null);
def("Identifier").field("typeAnnotation", TypeAnnotation, defaults["null"]);
def("ObjectPattern").field("typeAnnotation", TypeAnnotation, defaults["null"]);
def("Function").field("returnType", TypeAnnotation, defaults["null"]).field("typeParameters", TypeParamDecl, defaults["null"]);
def("ClassProperty").build("key", "value", "typeAnnotation", "static").field("value", or(def("Expression"), null)).field("static", Boolean, defaults["false"]).field("typeAnnotation", TypeAnnotation, defaults["null"]);
[
"ClassDeclaration",
"ClassExpression"
].forEach((typeName) => {
def(typeName).field("typeParameters", TypeParamDecl, defaults["null"]).field("superTypeParameters", or(def("TypeParameterInstantiation"), def("TSTypeParameterInstantiation"), null), defaults["null"]).field("implements", or([def("ClassImplements")], [def("TSExpressionWithTypeArguments")]), defaults.emptyArray);
});
}
exports2.default = default_1;
(0, shared_1.maybeSetModuleExports)(() => module2);
}
});
// ../../../usr/share/nodejs/ast-types/lib/def/flow.js
var require_flow = __commonJS({
"../../../usr/share/nodejs/ast-types/lib/def/flow.js"(exports2, module2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
var es_proposals_1 = tslib_1.__importDefault(require_es_proposals());
var type_annotations_1 = tslib_1.__importDefault(require_type_annotations());
var types_1 = tslib_1.__importDefault(require_types());
var shared_1 = tslib_1.__importStar(require_shared());
function default_1(fork) {
fork.use(es_proposals_1.default);
fork.use(type_annotations_1.default);
const types = fork.use(types_1.default);
const def = types.Type.def;
const or = types.Type.or;
const defaults = fork.use(shared_1.default).defaults;
def("Flow").bases("Node");
def("FlowType").bases("Flow");
def("AnyTypeAnnotation").bases("FlowType").build();
def("EmptyTypeAnnotation").bases("FlowType").build();
def("MixedTypeAnnotation").bases("FlowType").build();
def("VoidTypeAnnotation").bases("FlowType").build();
def("SymbolTypeAnnotation").bases("FlowType").build();
def("NumberTypeAnnotation").bases("FlowType").build();
def("BigIntTypeAnnotation").bases("FlowType").build();
def("NumberLiteralTypeAnnotation").bases("FlowType").build("value", "raw").field("value", Number).field("raw", String);
def("NumericLiteralTypeAnnotation").bases("FlowType").build("value", "raw").field("value", Number).field("raw", String);
def("BigIntLiteralTypeAnnotation").bases("FlowType").build("value", "raw").field("value", null).field("raw", String);
def("StringTypeAnnotation").bases("FlowType").build();
def("StringLiteralTypeAnnotation").bases("FlowType").build("value", "raw").field("value", String).field("raw", String);
def("BooleanTypeAnnotation").bases("FlowType").build();
def("BooleanLiteralTypeAnnotation").bases("FlowType").build("value", "raw").field("value", Boolean).field("raw", String);
def("TypeAnnotation").bases("Node").build("typeAnnotation").field("typeAnnotation", def("FlowType"));
def("NullableTypeAnnotation").bases("FlowType").build("typeAnnotation").field("typeAnnotation", def("FlowType"));
def("NullLiteralTypeAnnotation").bases("FlowType").build();
def("NullTypeAnnotation").bases("FlowType").build();
def("ThisTypeAnnotation").bases("FlowType").build();
def("ExistsTypeAnnotation").bases("FlowType").build();
def("ExistentialTypeParam").bases("FlowType").build();
def("FunctionTypeAnnotation").bases("FlowType").build("params", "returnType", "rest", "typeParameters").field("params", [def("FunctionTypeParam")]).field("returnType", def("FlowType")).field("rest", or(def("FunctionTypeParam"), null)).field("typeParameters", or(def("TypeParameterDeclaration"), null));
def("FunctionTypeParam").bases("Node").build("name", "typeAnnotation", "optional").field("name", or(def("Identifier"), null)).field("typeAnnotation", def("FlowType")).field("optional", Boolean);
def("ArrayTypeAnnotation").bases("FlowType").build("elementType").field("elementType", def("FlowType"));
def("ObjectTypeAnnotation").bases("FlowType").build("properties", "indexers", "callProperties").field("properties", [
or(def("ObjectTypeProperty"), def("ObjectTypeSpreadProperty"))
]).field("indexers", [def("ObjectTypeIndexer")], defaults.emptyArray).field("callProperties", [def("ObjectTypeCallProperty")], defaults.emptyArray).field("inexact", or(Boolean, void 0), defaults["undefined"]).field("exact", Boolean, defaults["false"]).field("internalSlots", [def("ObjectTypeInternalSlot")], defaults.emptyArray);
def("Variance").bases("Node").build("kind").field("kind", or("plus", "minus"));
const LegacyVariance = or(def("Variance"), "plus", "minus", null);
def("ObjectTypeProperty").bases("Node").build("key", "value", "optional").field("key", or(def("Literal"), def("Identifier"))).field("value", def("FlowType")).field("optional", Boolean).field("variance", LegacyVariance, defaults["null"]);
def("ObjectTypeIndexer").bases("Node").build("id", "key", "value").field("id", def("Identifier")).field("key", def("FlowType")).field("value", def("FlowType")).field("variance", LegacyVariance, defaults["null"]).field("static", Boolean, defaults["false"]);
def("ObjectTypeCallProperty").bases("Node").build("value").field("value", def("FunctionTypeAnnotation")).field("static", Boolean, defaults["false"]);
def("QualifiedTypeIdentifier").bases("Node").build("qualification", "id").field("qualification", or(def("Identifier"), def("QualifiedTypeIdentifier"))).field("id", def("Identifier"));
def("GenericTypeAnnotation").bases("FlowType").build("id", "typeParameters").field("id", or(def("Identifier"), def("QualifiedTypeIdentifier"))).field("typeParameters", or(def("TypeParameterInstantiation"), null));
def("MemberTypeAnnotation").bases("FlowType").build("object", "property").field("object", def("Identifier")).field("property", or(def("MemberTypeAnnotation"), def("GenericTypeAnnotation")));
def("IndexedAccessType").bases("FlowType").build("objectType", "indexType").field("objectType", def("FlowType")).field("indexType", def("FlowType"));
def("OptionalIndexedAccessType").bases("FlowType").build("objectType", "indexType", "optional").field("objectType", def("FlowType")).field("indexType", def("FlowType")).field("optional", Boolean);
def("UnionTypeAnnotation").bases("FlowType").build("types").field("types", [def("FlowType")]);
def("IntersectionTypeAnnotation").bases("FlowType").build("types").field("types", [def("FlowType")]);
def("TypeofTypeAnnotation").bases("FlowType").build("argument").field("argument", def("FlowType"));
def("ObjectTypeSpreadProperty").bases("Node").build("argument").field("argument", def("FlowType"));
def("ObjectTypeInternalSlot").bases("Node").build("id", "value", "optional", "static", "method").field("id", def("Identifier")).field("value", def("FlowType")).field("optional", Boolean).field("static", Boolean).field("method", Boolean);
def("TypeParameterDeclaration").bases("Node").build("params").field("params", [def("TypeParameter")]);
def("TypeParameterInstantiation").bases("Node").build("params").field("params", [def("FlowType")]);
def("TypeParameter").bases("FlowType").build("name", "variance", "bound", "default").field("name", String).field("variance", LegacyVariance, defaults["null"]).field("bound", or(def("TypeAnnotation"), null), defaults["null"]).field("default", or(def("FlowType"), null), defaults["null"]);
def("ClassProperty").field("variance", LegacyVariance, defaults["null"]);
def("ClassImplements").bases("Node").build("id").field("id", def("Identifier")).field("superClass", or(def("Expression"), null), defaults["null"]).field("typeParameters", or(def("TypeParameterInstantiation"), null), defaults["null"]);
def("InterfaceTypeAnnotation").bases("FlowType").build("body", "extends").field("body", def("ObjectTypeAnnotation")).field("extends", or([def("InterfaceExtends")], null), defaults["null"]);
def("InterfaceDeclaration").bases("Declaration").build("id", "body", "extends").field("id", def("Identifier")).field("typeParameters", or(def("TypeParameterDeclaration"), null), defaults["null"]).field("body", def("ObjectTypeAnnotation")).field("extends", [def("InterfaceExtends")]);
def("DeclareInterface").bases("InterfaceDeclaration").build("id", "body", "extends");
def("InterfaceExtends").bases("Node").build("id").field("id", def("Identifier")).field("typeParameters", or(def("TypeParameterInstantiation"), null), defaults["null"]);
def("TypeAlias").bases("Declaration").build("id", "typeParameters", "right").field("id", def("Identifier")).field("typeParameters", or(def("TypeParameterDeclaration"), null)).field("right", def("FlowType"));
def("DeclareTypeAlias").bases("TypeAlias").build("id", "typeParameters", "right");
def("OpaqueType").bases("Declaration").build("id", "typeParameters", "impltype", "supertype").field("id", def("Identifier")).field("typeParameters", or(def("TypeParameterDeclaration"), null)).field("impltype", def("FlowType")).field("supertype", or(def("FlowType"), null));
def("DeclareOpaqueType").bases("OpaqueType").build("id", "typeParameters", "supertype").field("impltype", or(def("FlowType"), null));
def("TypeCastExpression").bases("Expression").build("expression", "typeAnnotation").field("expression", def("Expression")).field("typeAnnotation", def("TypeAnnotation"));
def("TupleTypeAnnotation").bases("FlowType").build("types").field("types", [def("FlowType")]);
def("DeclareVariable").bases("Statement").build("id").field("id", def("Identifier"));
def("DeclareFunction").bases("Statement").build("id").field("id", def("Identifier")).field("predicate", or(def("FlowPredicate"), null), defaults["null"]);
def("DeclareClass").bases("InterfaceDeclaration").build("id");
def("DeclareModule").bases("Statement").build("id", "body").field("id", or(def("Identifier"), def("Literal"))).field("body", def("BlockStatement"));
def("DeclareModuleExports").bases("Statement").build("typeAnnotation").field("typeAnnotation", def("TypeAnnotation"));
def("DeclareExportDeclaration").bases("Declaration").build("default", "declaration", "specifiers", "source").field("default", Boolean).field("declaration", or(
def("DeclareVariable"),
def("DeclareFunction"),
def("DeclareClass"),
def("FlowType"),
// Implies default.
def("TypeAlias"),
// Implies named type
def("DeclareOpaqueType"),
// Implies named opaque type
def("InterfaceDeclaration"),
null
)).field("specifiers", [or(def("ExportSpecifier"), def("ExportBatchSpecifier"))], defaults.emptyArray).field("source", or(def("Literal"), null), defaults["null"]);
def("DeclareExportAllDeclaration").bases("Declaration").build("source").field("source", or(def("Literal"), null), defaults["null"]);
def("ImportDeclaration").field("importKind", or("value", "type", "typeof"), () => "value");
def("FlowPredicate").bases("Flow");
def("InferredPredicate").bases("FlowPredicate").build();
def("DeclaredPredicate").bases("FlowPredicate").build("value").field("value", def("Expression"));
def("Function").field("predicate", or(def("FlowPredicate"), null), defaults["null"]);
def("CallExpression").field("typeArguments", or(null, def("TypeParameterInstantiation")), defaults["null"]);
def("NewExpression").field("typeArguments", or(null, def("TypeParameterInstantiation")), defaults["null"]);
def("EnumDeclaration").bases("Declaration").build("id", "body").field("id", def("Identifier")).field("body", or(def("EnumBooleanBody"), def("EnumNumberBody"), def("EnumStringBody"), def("EnumSymbolBody")));
def("EnumBooleanBody").build("members", "explicitType").field("members", [def("EnumBooleanMember")]).field("explicitType", Boolean);
def("EnumNumberBody").build("members", "explicitType").field("members", [def("EnumNumberMember")]).field("explicitType", Boolean);
def("EnumStringBody").build("members", "explicitType").field("members", or([def("EnumStringMember")], [def("EnumDefaultedMember")])).field("explicitType", Boolean);
def("EnumSymbolBody").build("members").field("members", [def("EnumDefaultedMember")]);
def("EnumBooleanMember").build("id", "init").field("id", def("Identifier")).field("init", or(def("Literal"), Boolean));
def("EnumNumberMember").build("id", "init").field("id", def("Identifier")).field("init", def("Literal"));
def("EnumStringMember").build("id", "init").field("id", def("Identifier")).field("init", def("Literal"));
def("EnumDefaultedMember").build("id").field("id", def("Identifier"));
}
exports2.default = default_1;
(0, shared_1.maybeSetModuleExports)(() => module2);
}
});
// ../../../usr/share/nodejs/ast-types/lib/def/esprima.js
var require_esprima2 = __commonJS({
"../../../usr/share/nodejs/ast-types/lib/def/esprima.js"(exports2, module2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
var es_proposals_1 = tslib_1.__importDefault(require_es_proposals());
var types_1 = tslib_1.__importDefault(require_types());
var shared_1 = tslib_1.__importStar(require_shared());
function default_1(fork) {
fork.use(es_proposals_1.default);
var types = fork.use(types_1.default);
var defaults = fork.use(shared_1.default).defaults;
var def = types.Type.def;
var or = types.Type.or;
def("VariableDeclaration").field("declarations", [or(
def("VariableDeclarator"),
def("Identifier")
// Esprima deviation.
)]);
def("Property").field("value", or(
def("Expression"),
def("Pattern")
// Esprima deviation.
));
def("ArrayPattern").field("elements", [or(def("Pattern"), def("SpreadElement"), null)]);
def("ObjectPattern").field("properties", [or(
def("Property"),
def("PropertyPattern"),
def("SpreadPropertyPattern"),
def("SpreadProperty")
// Used by Esprima.
)]);
def("ExportSpecifier").bases("ModuleSpecifier").build("id", "name");
def("ExportBatchSpecifier").bases("Specifier").build();
def("ExportDeclaration").bases("Declaration").build("default", "declaration", "specifiers", "source").field("default", Boolean).field("declaration", or(
def("Declaration"),
def("Expression"),
// Implies default.
null
)).field("specifiers", [or(def("ExportSpecifier"), def("ExportBatchSpecifier"))], defaults.emptyArray).field("source", or(def("Literal"), null), defaults["null"]);
def("Block").bases("Comment").build(
"value",
/*optional:*/
"leading",
"trailing"
);
def("Line").bases("Comment").build(
"value",
/*optional:*/
"leading",
"trailing"
);
}
exports2.default = default_1;
(0, shared_1.maybeSetModuleExports)(() => module2);
}
});
// ../../../usr/share/nodejs/ast-types/lib/def/babel-core.js
var require_babel_core = __commonJS({
"../../../usr/share/nodejs/ast-types/lib/def/babel-core.js"(exports2, module2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
var es_proposals_1 = tslib_1.__importDefault(require_es_proposals());
var types_1 = tslib_1.__importDefault(require_types());
var shared_1 = tslib_1.__importStar(require_shared());
function default_1(fork) {
fork.use(es_proposals_1.default);
const types = fork.use(types_1.default);
const defaults = fork.use(shared_1.default).defaults;
const def = types.Type.def;
const or = types.Type.or;
const { undefined: isUndefined } = types.builtInTypes;
def("Noop").bases("Statement").build();
def("DoExpression").bases("Expression").build("body").field("body", [def("Statement")]);
def("BindExpression").bases("Expression").build("object", "callee").field("object", or(def("Expression"), null)).field("callee", def("Expression"));
def("ParenthesizedExpression").bases("Expression").build("expression").field("expression", def("Expression"));
def("ExportNamespaceSpecifier").bases("Specifier").build("exported").field("exported", def("Identifier"));
def("ExportDefaultSpecifier").bases("Specifier").build("exported").field("exported", def("Identifier"));
def("CommentBlock").bases("Comment").build(
"value",
/*optional:*/
"leading",
"trailing"
);
def("CommentLine").bases("Comment").build(
"value",
/*optional:*/
"leading",
"trailing"
);
def("Directive").bases("Node").build("value").field("value", def("DirectiveLiteral"));
def("DirectiveLiteral").bases("Node", "Expression").build("value").field("value", String, defaults["use strict"]);
def("InterpreterDirective").bases("Node").build("value").field("value", String);
def("BlockStatement").bases("Statement").build("body").field("body", [def("Statement")]).field("directives", [def("Directive")], defaults.emptyArray);
def("Program").bases("Node").build("body").field("body", [def("Statement")]).field("directives", [def("Directive")], defaults.emptyArray).field("interpreter", or(def("InterpreterDirective"), null), defaults["null"]);
function makeLiteralExtra(rawValueType = String, toRaw) {
return [
"extra",
{
rawValue: rawValueType,
raw: String
},
function getDefault() {
const value = types.getFieldValue(this, "value");
return {
rawValue: value,
raw: toRaw ? toRaw(value) : String(value)
};
}
];
}
def("StringLiteral").bases("Literal").build("value").field("value", String).field(...makeLiteralExtra(String, (val) => JSON.stringify(val)));
def("NumericLiteral").bases("Literal").build("value").field("value", Number).field("raw", or(String, null), defaults["null"]).field(...makeLiteralExtra(Number));
def("BigIntLiteral").bases("Literal").build("value").field("value", or(String, Number)).field(...makeLiteralExtra(String, (val) => val + "n"));
def("DecimalLiteral").bases("Literal").build("value").field("value", String).field(...makeLiteralExtra(String, (val) => val + "m"));
def("NullLiteral").bases("Literal").build().field("value", null, defaults["null"]);
def("BooleanLiteral").bases("Literal").build("value").field("value", Boolean);
def("RegExpLiteral").bases("Literal").build("pattern", "flags").field("pattern", String).field("flags", String).field("value", RegExp, function() {
return new RegExp(this.pattern, this.flags);
}).field(...makeLiteralExtra(or(RegExp, isUndefined), (exp) => `/${exp.pattern}/${exp.flags || ""}`)).field("regex", {
pattern: String,
flags: String
}, function() {
return {
pattern: this.pattern,
flags: this.flags
};
});
var ObjectExpressionProperty = or(def("Property"), def("ObjectMethod"), def("ObjectProperty"), def("SpreadProperty"), def("SpreadElement"));
def("ObjectExpression").bases("Expression").build("properties").field("properties", [ObjectExpressionProperty]);
def("ObjectMethod").bases("Node", "Function").build("kind", "key", "params", "body", "computed").field("kind", or("method", "get", "set")).field("key", or(def("Literal"), def("Identifier"), def("Expression"))).field("params", [def("Pattern")]).field("body", def("BlockStatement")).field("computed", Boolean, defaults["false"]).field("generator", Boolean, defaults["false"]).field("async", Boolean, defaults["false"]).field(
"accessibility",
// TypeScript
or(def("Literal"), null),
defaults["null"]
).field("decorators", or([def("Decorator")], null), defaults["null"]);
def("ObjectProperty").bases("Node").build("key", "value").field("key", or(def("Literal"), def("Identifier"), def("Expression"))).field("value", or(def("Expression"), def("Pattern"))).field(
"accessibility",
// TypeScript
or(def("Literal"), null),
defaults["null"]
).field("computed", Boolean, defaults["false"]);
var ClassBodyElement = or(def("MethodDefinition"), def("VariableDeclarator"), def("ClassPropertyDefinition"), def("ClassProperty"), def("ClassPrivateProperty"), def("ClassMethod"), def("ClassPrivateMethod"), def("ClassAccessorProperty"), def("StaticBlock"));
def("ClassBody").bases("Declaration").build("body").field("body", [ClassBodyElement]);
def("ClassMethod").bases("Declaration", "Function").build("kind", "key", "params", "body", "computed", "static").field("key", or(def("Literal"), def("Identifier"), def("Expression")));
def("ClassPrivateMethod").bases("Declaration", "Function").build("key", "params", "body", "kind", "computed", "static").field("key", def("PrivateName"));
def("ClassAccessorProperty").bases("Declaration").build("key", "value", "decorators", "computed", "static").field("key", or(
def("Literal"),
def("Identifier"),
def("PrivateName"),
// Only when .computed is true (TODO enforce this)
def("Expression")
)).field("value", or(def("Expression"), null), defaults["null"]);
[
"ClassMethod",
"ClassPrivateMethod"
].forEach((typeName) => {
def(typeName).field("kind", or("get", "set", "method", "constructor"), () => "method").field("body", def("BlockStatement")).field("access", or("public", "private", "protected", null), defaults["null"]);
});
[
"ClassMethod",
"ClassPrivateMethod",
"ClassAccessorProperty"
].forEach((typeName) => {
def(typeName).field("computed", Boolean, defaults["false"]).field("static", Boolean, defaults["false"]).field("abstract", Boolean, defaults["false"]).field("accessibility", or("public", "private", "protected", null), defaults["null"]).field("decorators", or([def("Decorator")], null), defaults["null"]).field("definite", Boolean, defaults["false"]).field("optional", Boolean, defaults["false"]).field("override", Boolean, defaults["false"]).field("readonly", Boolean, defaults["false"]);
});
var ObjectPatternProperty = or(
def("Property"),
def("PropertyPattern"),
def("SpreadPropertyPattern"),
def("SpreadProperty"),
// Used by Esprima
def("ObjectProperty"),
// Babel 6
def("RestProperty"),
// Babel 6
def("RestElement")
);
def("ObjectPattern").bases("Pattern").build("properties").field("properties", [ObjectPatternProperty]).field("decorators", or([def("Decorator")], null), defaults["null"]);
def("SpreadProperty").bases("Node").build("argument").field("argument", def("Expression"));
def("RestProperty").bases("Node").build("argument").field("argument", def("Expression"));
def("ForAwaitStatement").bases("Statement").build("left", "right", "body").field("left", or(def("VariableDeclaration"), def("Expression"))).field("right", def("Expression")).field("body", def("Statement"));
def("Import").bases("Expression").build();
}
exports2.default = default_1;
(0, shared_1.maybeSetModuleExports)(() => module2);
}
});
// ../../../usr/share/nodejs/ast-types/lib/def/babel.js
var require_babel = __commonJS({
"../../../usr/share/nodejs/ast-types/lib/def/babel.js"(exports2, module2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
var types_1 = tslib_1.__importDefault(require_types());
var babel_core_1 = tslib_1.__importDefault(require_babel_core());
var flow_1 = tslib_1.__importDefault(require_flow());
var shared_1 = require_shared();
function default_1(fork) {
const types = fork.use(types_1.default);
const def = types.Type.def;
fork.use(babel_core_1.default);
fork.use(flow_1.default);
def("V8IntrinsicIdentifier").bases("Expression").build("name").field("name", String);
def("TopicReference").bases("Expression").build();
}
exports2.default = default_1;
(0, shared_1.maybeSetModuleExports)(() => module2);
}
});
// ../../../usr/share/nodejs/ast-types/lib/def/typescript.js
var require_typescript = __commonJS({
"../../../usr/share/nodejs/ast-types/lib/def/typescript.js"(exports2, module2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
var babel_core_1 = tslib_1.__importDefault(require_babel_core());
var type_annotations_1 = tslib_1.__importDefault(require_type_annotations());
var types_1 = tslib_1.__importDefault(require_types());
var shared_1 = tslib_1.__importStar(require_shared());
function default_1(fork) {
fork.use(babel_core_1.default);
fork.use(type_annotations_1.default);
var types = fork.use(types_1.default);
var n = types.namedTypes;
var def = types.Type.def;
var or = types.Type.or;
var defaults = fork.use(shared_1.default).defaults;
var StringLiteral = types.Type.from(function(value, deep) {
if (n.StringLiteral && n.StringLiteral.check(value, deep)) {
return true;
}
if (n.Literal && n.Literal.check(value, deep) && typeof value.value === "string") {
return true;
}
return false;
}, "StringLiteral");
def("TSType").bases("Node");
var TSEntityName = or(def("Identifier"), def("TSQualifiedName"));
def("TSTypeReference").bases("TSType", "TSHasOptionalTypeParameterInstantiation").build("typeName", "typeParameters").field("typeName", TSEntityName);
def("TSHasOptionalTypeParameterInstantiation").field("typeParameters", or(def("TSTypeParameterInstantiation"), null), defaults["null"]);
def("TSHasOptionalTypeParameters").field("typeParameters", or(def("TSTypeParameterDeclaration"), null, void 0), defaults["null"]);
def("TSHasOptionalTypeAnnotation").field("typeAnnotation", or(def("TSTypeAnnotation"), null), defaults["null"]);
def("TSQualifiedName").bases("Node").build("left", "right").field("left", TSEntityName).field("right", TSEntityName);
def("TSAsExpression").bases("Expression", "Pattern").build("expression", "typeAnnotation").field("expression", def("Expression")).field("typeAnnotation", def("TSType")).field("extra", or({ parenthesized: Boolean }, null), defaults["null"]);
def("TSTypeCastExpression").bases("Expression").build("expression", "typeAnnotation").field("expression", def("Expression")).field("typeAnnotation", def("TSType"));
def("TSSatisfiesExpression").bases("Expression", "Pattern").build("expression", "typeAnnotation").field("expression", def("Expression")).field("typeAnnotation", def("TSType"));
def("TSNonNullExpression").bases("Expression", "Pattern").build("expression").field("expression", def("Expression"));
[
"TSAnyKeyword",
"TSBigIntKeyword",
"TSBooleanKeyword",
"TSNeverKeyword",
"TSNullKeyword",
"TSNumberKeyword",
"TSObjectKeyword",
"TSStringKeyword",
"TSSymbolKeyword",
"TSUndefinedKeyword",
"TSUnknownKeyword",
"TSVoidKeyword",
"TSIntrinsicKeyword",
"TSThisType"
].forEach((keywordType) => {
def(keywordType).bases("TSType").build();
});
def("TSArrayType").bases("TSType").build("elementType").field("elementType", def("TSType"));
def("TSLiteralType").bases("TSType").build("literal").field("literal", or(def("NumericLiteral"), def("StringLiteral"), def("BooleanLiteral"), def("TemplateLiteral"), def("UnaryExpression"), def("BigIntLiteral")));
def("TemplateLiteral").field("expressions", or([def("Expression")], [def("TSType")]));
[
"TSUnionType",
"TSIntersectionType"
].forEach((typeName) => {
def(typeName).bases("TSType").build("types").field("types", [def("TSType")]);
});
def("TSConditionalType").bases("TSType").build("checkType", "extendsType", "trueType", "falseType").field("checkType", def("TSType")).field("extendsType", def("TSType")).field("trueType", def("TSType")).field("falseType", def("TSType"));
def("TSInferType").bases("TSType").build("typeParameter").field("typeParameter", def("TSTypeParameter"));
def("TSParenthesizedType").bases("TSType").build("typeAnnotation").field("typeAnnotation", def("TSType"));
var ParametersType = [or(def("Identifier"), def("RestElement"), def("ArrayPattern"), def("ObjectPattern"))];
[
"TSFunctionType",
"TSConstructorType"
].forEach((typeName) => {
def(typeName).bases("TSType", "TSHasOptionalTypeParameters", "TSHasOptionalTypeAnnotation").build("parameters").field("parameters", ParametersType);
});
def("TSDeclareFunction").bases("Declaration", "TSHasOptionalTypeParameters").build("id", "params", "returnType").field("declare", Boolean, defaults["false"]).field("async", Boolean, defaults["false"]).field("generator", Boolean, defaults["false"]).field("id", or(def("Identifier"), null), defaults["null"]).field("params", [def("Pattern")]).field("returnType", or(
def("TSTypeAnnotation"),
def("Noop"),
// Still used?
null
), defaults["null"]);
def("TSDeclareMethod").bases("Declaration", "TSHasOptionalTypeParameters").build("key", "params", "returnType").field("async", Boolean, defaults["false"]).field("generator", Boolean, defaults["false"]).field("params", [def("Pattern")]).field("abstract", Boolean, defaults["false"]).field("accessibility", or("public", "private", "protected", void 0), defaults["undefined"]).field("static", Boolean, defaults["false"]).field("computed", Boolean, defaults["false"]).field("optional", Boolean, defaults["false"]).field("key", or(
def("Identifier"),
def("StringLiteral"),
def("NumericLiteral"),
// Only allowed if .computed is true.
def("Expression")
)).field("kind", or("get", "set", "method", "constructor"), function getDefault() {
return "method";
}).field(
"access",
// Not "accessibility"?
or("public", "private", "protected", void 0),
defaults["undefined"]
).field("decorators", or([def("Decorator")], null), defaults["null"]).field("returnType", or(
def("TSTypeAnnotation"),
def("Noop"),
// Still used?
null
), defaults["null"]);
def("TSMappedType").bases("TSType").build("typeParameter", "typeAnnotation").field("readonly", or(Boolean, "+", "-"), defaults["false"]).field("typeParameter", def("TSTypeParameter")).field("optional", or(Boolean, "+", "-"), defaults["false"]).field("typeAnnotation", or(def("TSType"), null), defaults["null"]);
def("TSTupleType").bases("TSType").build("elementTypes").field("elementTypes", [or(def("TSType"), def("TSNamedTupleMember"))]);
def("TSNamedTupleMember").bases("TSType").build("label", "elementType", "optional").field("label", def("Identifier")).field("optional", Boolean, defaults["false"]).field("elementType", def("TSType"));
def("TSRestType").bases("TSType").build("typeAnnotation").field("typeAnnotation", def("TSType"));
def("TSOptionalType").bases("TSType").build("typeAnnotation").field("typeAnnotation", def("TSType"));
def("TSIndexedAccessType").bases("TSType").build("objectType", "indexType").field("objectType", def("TSType")).field("indexType", def("TSType"));
def("TSTypeOperator").bases("TSType").build("operator").field("operator", String).field("typeAnnotation", def("TSType"));
def("TSTypeAnnotation").bases("Node").build("typeAnnotation").field("typeAnnotation", or(def("TSType"), def("TSTypeAnnotation")));
def("TSIndexSignature").bases("Declaration", "TSHasOptionalTypeAnnotation").build("parameters", "typeAnnotation").field("parameters", [def("Identifier")]).field("readonly", Boolean, defaults["false"]);
def("TSPropertySignature").bases("Declaration", "TSHasOptionalTypeAnnotation").build("key", "typeAnnotation", "optional").field("key", def("Expression")).field("computed", Boolean, defaults["false"]).field("readonly", Boolean, defaults["false"]).field("optional", Boolean, defaults["false"]).field("initializer", or(def("Expression"), null), defaults["null"]);
def("TSMethodSignature").bases("Declaration", "TSHasOptionalTypeParameters", "TSHasOptionalTypeAnnotation").build("key", "parameters", "typeAnnotation").field("key", def("Expression")).field("computed", Boolean, defaults["false"]).field("optional", Boolean, defaults["false"]).field("parameters", ParametersType);
def("TSTypePredicate").bases("TSTypeAnnotation", "TSType").build("parameterName", "typeAnnotation", "asserts").field("parameterName", or(def("Identifier"), def("TSThisType"))).field("typeAnnotation", or(def("TSTypeAnnotation"), null), defaults["null"]).field("asserts", Boolean, defaults["false"]);
[
"TSCallSignatureDeclaration",
"TSConstructSignatureDeclaration"
].forEach((typeName) => {
def(typeName).bases("Declaration", "TSHasOptionalTypeParameters", "TSHasOptionalTypeAnnotation").build("parameters", "typeAnnotation").field("parameters", ParametersType);
});
def("TSEnumMember").bases("Node").build("id", "initializer").field("id", or(def("Identifier"), StringLiteral)).field("initializer", or(def("Expression"), null), defaults["null"]);
def("TSTypeQuery").bases("TSType").build("exprName").field("exprName", or(TSEntityName, def("TSImportType")));
var TSTypeMember = or(def("TSCallSignatureDeclaration"), def("TSConstructSignatureDeclaration"), def("TSIndexSignature"), def("TSMethodSignature"), def("TSPropertySignature"));
def("TSTypeLiteral").bases("TSType").build("members").field("members", [TSTypeMember]);
def("TSTypeParameter").bases("Identifier").build("name", "constraint", "default").field("name", or(def("Identifier"), String)).field("constraint", or(def("TSType"), void 0), defaults["undefined"]).field("default", or(def("TSType"), void 0), defaults["undefined"]);
def("TSTypeAssertion").bases("Expression", "Pattern").build("typeAnnotation", "expression").field("typeAnnotation", def("TSType")).field("expression", def("Expression")).field("extra", or({ parenthesized: Boolean }, null), defaults["null"]);
def("TSTypeParameterDeclaration").bases("Declaration").build("params").field("params", [def("TSTypeParameter")]);
def("TSInstantiationExpression").bases("Expression", "TSHasOptionalTypeParameterInstantiation").build("expression", "typeParameters").field("expression", def("Expression"));
def("TSTypeParameterInstantiation").bases("Node").build("params").field("params", [def("TSType")]);
def("TSEnumDeclaration").bases("Declaration").build("id", "members").field("id", def("Identifier")).field("const", Boolean, defaults["false"]).field("declare", Boolean, defaults["false"]).field("members", [def("TSEnumMember")]).field("initializer", or(def("Expression"), null), defaults["null"]);
def("TSTypeAliasDeclaration").bases("Declaration", "TSHasOptionalTypeParameters").build("id", "typeAnnotation").field("id", def("Identifier")).field("declare", Boolean, defaults["false"]).field("typeAnnotation", def("TSType"));
def("TSModuleBlock").bases("Node").build("body").field("body", [def("Statement")]);
def("TSModuleDeclaration").bases("Declaration").build("id", "body").field("id", or(StringLiteral, TSEntityName)).field("declare", Boolean, defaults["false"]).field("global", Boolean, defaults["false"]).field("body", or(def("TSModuleBlock"), def("TSModuleDeclaration"), null), defaults["null"]);
def("TSImportType").bases("TSType", "TSHasOptionalTypeParameterInstantiation").build("argument", "qualifier", "typeParameters").field("argument", StringLiteral).field("qualifier", or(TSEntityName, void 0), defaults["undefined"]);
def("TSImportEqualsDeclaration").bases("Declaration").build("id", "moduleReference").field("id", def("Identifier")).field("isExport", Boolean, defaults["false"]).field("moduleReference", or(TSEntityName, def("TSExternalModuleReference")));
def("TSExternalModuleReference").bases("Declaration").build("expression").field("expression", StringLiteral);
def("TSExportAssignment").bases("Statement").build("expression").field("expression", def("Expression"));
def("TSNamespaceExportDeclaration").bases("Declaration").build("id").field("id", def("Identifier"));
def("TSInterfaceBody").bases("Node").build("body").field("body", [TSTypeMember]);
def("TSExpressionWithTypeArguments").bases("TSType", "TSHasOptionalTypeParameterInstantiation").build("expression", "typeParameters").field("expression", TSEntityName);
def("TSInterfaceDeclaration").bases("Declaration", "TSHasOptionalTypeParameters").build("id", "body").field("id", TSEntityName).field("declare", Boolean, defaults["false"]).field("extends", or([def("TSExpressionWithTypeArguments")], null), defaults["null"]).field("body", def("TSInterfaceBody"));
def("TSParameterProperty").bases("Pattern").build("parameter").field("accessibility", or("public", "private", "protected", void 0), defaults["undefined"]).field("readonly", Boolean, defaults["false"]).field("parameter", or(def("Identifier"), def("AssignmentPattern")));
def("ClassProperty").field(
"access",
// Not "accessibility"?
or("public", "private", "protected", void 0),
defaults["undefined"]
);
def("ClassAccessorProperty").bases("Declaration", "TSHasOptionalTypeAnnotation");
def("ClassBody").field("body", [or(
def("MethodDefinition"),
def("VariableDeclarator"),
def("ClassPropertyDefinition"),
def("ClassProperty"),
def("ClassPrivateProperty"),
def("ClassAccessorProperty"),
def("ClassMethod"),
def("ClassPrivateMethod"),
def("StaticBlock"),
// Just need to add these types:
def("TSDeclareMethod"),
TSTypeMember
)]);
}
exports2.default = default_1;
(0, shared_1.maybeSetModuleExports)(() => module2);
}
});
// ../../../usr/share/nodejs/ast-types/lib/gen/namedTypes.js
var require_namedTypes = __commonJS({
"../../../usr/share/nodejs/ast-types/lib/gen/namedTypes.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.namedTypes = void 0;
var namedTypes;
/* @__PURE__ */ (function(namedTypes2) {
})(namedTypes = exports2.namedTypes || (exports2.namedTypes = {}));
}
});
// ../../../usr/share/nodejs/ast-types/lib/main.js
var require_main = __commonJS({
"../../../usr/share/nodejs/ast-types/lib/main.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.visit = exports2.use = exports2.Type = exports2.someField = exports2.PathVisitor = exports2.Path = exports2.NodePath = exports2.namedTypes = exports2.getSupertypeNames = exports2.getFieldValue = exports2.getFieldNames = exports2.getBuilderName = exports2.finalize = exports2.eachField = exports2.defineMethod = exports2.builtInTypes = exports2.builders = exports2.astNodesAreEquivalent = void 0;
var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
var fork_1 = tslib_1.__importDefault(require_fork());
var es_proposals_1 = tslib_1.__importDefault(require_es_proposals());
var jsx_1 = tslib_1.__importDefault(require_jsx());
var flow_1 = tslib_1.__importDefault(require_flow());
var esprima_1 = tslib_1.__importDefault(require_esprima2());
var babel_1 = tslib_1.__importDefault(require_babel());
var typescript_1 = tslib_1.__importDefault(require_typescript());
var namedTypes_1 = require_namedTypes();
Object.defineProperty(exports2, "namedTypes", { enumerable: true, get: function() {
return namedTypes_1.namedTypes;
} });
var { astNodesAreEquivalent, builders, builtInTypes, defineMethod, eachField, finalize, getBuilderName, getFieldNames, getFieldValue, getSupertypeNames, namedTypes: n, NodePath, Path, PathVisitor, someField, Type, use, visit } = (0, fork_1.default)([
// Feel free to add to or remove from this list of extension modules to
// configure the precise type hierarchy that you need.
es_proposals_1.default,
jsx_1.default,
flow_1.default,
esprima_1.default,
babel_1.default,
typescript_1.default
]);
exports2.astNodesAreEquivalent = astNodesAreEquivalent;
exports2.builders = builders;
exports2.builtInTypes = builtInTypes;
exports2.defineMethod = defineMethod;
exports2.eachField = eachField;
exports2.finalize = finalize;
exports2.getBuilderName = getBuilderName;
exports2.getFieldNames = getFieldNames;
exports2.getFieldValue = getFieldValue;
exports2.getSupertypeNames = getSupertypeNames;
exports2.NodePath = NodePath;
exports2.Path = Path;
exports2.PathVisitor = PathVisitor;
exports2.someField = someField;
exports2.Type = Type;
exports2.use = use;
exports2.visit = visit;
Object.assign(namedTypes_1.namedTypes, n);
}
});
// ../../../usr/share/nodejs/degenerator/dist/degenerator.js
var require_degenerator = __commonJS({
"../../../usr/share/nodejs/degenerator/dist/degenerator.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.degenerator = void 0;
var util_1 = require("util");
var escodegen_1 = require_escodegen();
var esprima_1 = require_esprima();
var ast_types_1 = require_main();
function degenerator(code, _names) {
if (!Array.isArray(_names)) {
throw new TypeError('an array of async function "names" is required');
}
const names = _names.slice(0);
const ast = (0, esprima_1.parseScript)(code);
let lastNamesLength = 0;
do {
lastNamesLength = names.length;
(0, ast_types_1.visit)(ast, {
visitVariableDeclaration(path10) {
if (path10.node.declarations) {
for (let i = 0; i < path10.node.declarations.length; i++) {
const declaration = path10.node.declarations[i];
if (ast_types_1.namedTypes.VariableDeclarator.check(declaration) && ast_types_1.namedTypes.Identifier.check(declaration.init) && ast_types_1.namedTypes.Identifier.check(declaration.id) && checkName(declaration.init.name, names) && !checkName(declaration.id.name, names)) {
names.push(declaration.id.name);
}
}
}
return false;
},
visitAssignmentExpression(path10) {
if (ast_types_1.namedTypes.Identifier.check(path10.node.left) && ast_types_1.namedTypes.Identifier.check(path10.node.right) && checkName(path10.node.right.name, names) && !checkName(path10.node.left.name, names)) {
names.push(path10.node.left.name);
}
return false;
},
visitFunction(path10) {
if (path10.node.id) {
let shouldDegenerate = false;
(0, ast_types_1.visit)(path10.node, {
visitCallExpression(path11) {
if (checkNames(path11.node, names)) {
shouldDegenerate = true;
}
return false;
}
});
if (!shouldDegenerate) {
return false;
}
path10.node.async = true;
if (!checkName(path10.node.id.name, names)) {
names.push(path10.node.id.name);
}
}
this.traverse(path10);
}
});
} while (lastNamesLength !== names.length);
(0, ast_types_1.visit)(ast, {
visitCallExpression(path10) {
if (checkNames(path10.node, names)) {
const delegate = false;
const { name, parent: { node: pNode } } = path10;
const expr = ast_types_1.builders.awaitExpression(path10.node, delegate);
if (ast_types_1.namedTypes.CallExpression.check(pNode)) {
pNode.arguments[name] = expr;
} else {
pNode[name] = expr;
}
}
this.traverse(path10);
}
});
return (0, escodegen_1.generate)(ast);
}
exports2.degenerator = degenerator;
function checkNames({ callee }, names) {
let name;
if (ast_types_1.namedTypes.Identifier.check(callee)) {
name = callee.name;
} else if (ast_types_1.namedTypes.MemberExpression.check(callee)) {
if (ast_types_1.namedTypes.Identifier.check(callee.object) && ast_types_1.namedTypes.Identifier.check(callee.property)) {
name = `${callee.object.name}.${callee.property.name}`;
} else {
return false;
}
} else if (ast_types_1.namedTypes.FunctionExpression.check(callee)) {
if (callee.id) {
name = callee.id.name;
} else {
return false;
}
} else {
throw new Error(`Don't know how to get name for: ${callee.type}`);
}
return checkName(name, names);
}
function checkName(name, names) {
for (let i = 0; i < names.length; i++) {
const n = names[i];
if (util_1.types.isRegExp(n)) {
if (n.test(name)) {
return true;
}
} else if (name === n) {
return true;
}
}
return false;
}
}
});
// ../../../usr/share/nodejs/degenerator/dist/compile.js
var require_compile = __commonJS({
"../../../usr/share/nodejs/degenerator/dist/compile.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.compile = void 0;
var util_1 = require("util");
var degenerator_1 = require_degenerator();
function compile(qjs, code, returnName, options = {}) {
const compiled = (0, degenerator_1.degenerator)(code, options.names ?? []);
const vm = qjs.newContext();
if (options.sandbox) {
for (const [name, value] of Object.entries(options.sandbox)) {
if (typeof value !== "function") {
throw new Error(`Expected a "function" for sandbox property \`${name}\`, but got "${typeof value}"`);
}
const fnHandle = vm.newFunction(name, (...args) => {
const result = value(...args.map((arg) => quickJSHandleToHost(vm, arg)));
vm.runtime.executePendingJobs();
return hostToQuickJSHandle(vm, result);
});
fnHandle.consume((handle) => vm.setProp(vm.global, name, handle));
}
}
const fnResult = vm.evalCode(`${compiled};${returnName}`, options.filename);
const fn2 = vm.unwrapResult(fnResult);
const t = vm.typeof(fn2);
if (t !== "function") {
throw new Error(`Expected a "function" named \`${returnName}\` to be defined, but got "${t}"`);
}
const r = async function(...args) {
let promiseHandle;
let resolvedHandle;
try {
const result = vm.callFunction(fn2, vm.undefined, ...args.map((arg) => hostToQuickJSHandle(vm, arg)));
promiseHandle = vm.unwrapResult(result);
const resolvedResultP = vm.resolvePromise(promiseHandle);
vm.runtime.executePendingJobs();
const resolvedResult = await resolvedResultP;
resolvedHandle = vm.unwrapResult(resolvedResult);
return quickJSHandleToHost(vm, resolvedHandle);
} catch (err) {
if (err && typeof err === "object" && "cause" in err && err.cause) {
if (
// @ts-ignore
typeof err.cause === "object" && // @ts-ignore
"stack" in err.cause && // @ts-ignore
"name" in err.cause && // @ts-ignore
"message" in err.cause && // @ts-ignore
typeof err.cause.stack === "string" && // @ts-ignore
typeof err.cause.name === "string" && // @ts-ignore
typeof err.cause.message === "string"
) {
err.cause.stack = `${err.cause.name}: ${err.cause.message}
${err.cause.stack}`;
}
throw err.cause;
}
throw err;
} finally {
promiseHandle?.dispose();
resolvedHandle?.dispose();
}
};
Object.defineProperty(r, "toString", {
value: () => compiled,
enumerable: false
});
return r;
}
exports2.compile = compile;
function quickJSHandleToHost(vm, val) {
return vm.dump(val);
}
function hostToQuickJSHandle(vm, val) {
if (typeof val === "undefined") {
return vm.undefined;
} else if (val === null) {
return vm.null;
} else if (typeof val === "string") {
return vm.newString(val);
} else if (typeof val === "number") {
return vm.newNumber(val);
} else if (typeof val === "bigint") {
return vm.newBigInt(val);
} else if (typeof val === "boolean") {
return val ? vm.true : vm.false;
} else if (util_1.types.isPromise(val)) {
const promise = vm.newPromise();
promise.settled.then(vm.runtime.executePendingJobs);
val.then((r) => {
promise.resolve(hostToQuickJSHandle(vm, r));
}, (err) => {
promise.reject(hostToQuickJSHandle(vm, err));
});
return promise.handle;
} else if (util_1.types.isNativeError(val)) {
return vm.newError(val);
}
throw new Error(`Unsupported value: ${val}`);
}
}
});
// ../../../usr/share/nodejs/degenerator/dist/index.js
var require_dist7 = __commonJS({
"../../../usr/share/nodejs/degenerator/dist/index.js"(exports2) {
"use strict";
var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
if (k2 === void 0) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() {
return m[k];
} };
}
Object.defineProperty(o, k2, desc);
} : function(o, m, k, k2) {
if (k2 === void 0) k2 = k;
o[k2] = m[k];
});
var __exportStar2 = exports2 && exports2.__exportStar || function(m, exports3) {
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) __createBinding2(exports3, m, p);
};
Object.defineProperty(exports2, "__esModule", { value: true });
__exportStar2(require_degenerator(), exports2);
__exportStar2(require_compile(), exports2);
}
});
// ../../../usr/share/nodejs/pac-resolver/dist/dateRange.js
var require_dateRange = __commonJS({
"../../../usr/share/nodejs/pac-resolver/dist/dateRange.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
function dateRange() {
return false;
}
exports2.default = dateRange;
}
});
// ../../../usr/share/nodejs/pac-resolver/dist/dnsDomainIs.js
var require_dnsDomainIs = __commonJS({
"../../../usr/share/nodejs/pac-resolver/dist/dnsDomainIs.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
function dnsDomainIs(host, domain) {
host = String(host);
domain = String(domain);
return host.substr(domain.length * -1) === domain;
}
exports2.default = dnsDomainIs;
}
});
// ../../../usr/share/nodejs/pac-resolver/dist/dnsDomainLevels.js
var require_dnsDomainLevels = __commonJS({
"../../../usr/share/nodejs/pac-resolver/dist/dnsDomainLevels.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
function dnsDomainLevels(host) {
const match = String(host).match(/\./g);
let levels = 0;
if (match) {
levels = match.length;
}
return levels;
}
exports2.default = dnsDomainLevels;
}
});
// ../../../usr/share/nodejs/pac-resolver/dist/util.js
var require_util3 = __commonJS({
"../../../usr/share/nodejs/pac-resolver/dist/util.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.isGMT = exports2.dnsLookup = void 0;
var dns_1 = require("dns");
function dnsLookup(host, opts) {
return new Promise((resolve, reject) => {
(0, dns_1.lookup)(host, opts, (err, res) => {
if (err) {
reject(err);
} else {
resolve(res);
}
});
});
}
exports2.dnsLookup = dnsLookup;
function isGMT(v) {
return v === "GMT";
}
exports2.isGMT = isGMT;
}
});
// ../../../usr/share/nodejs/pac-resolver/dist/dnsResolve.js
var require_dnsResolve = __commonJS({
"../../../usr/share/nodejs/pac-resolver/dist/dnsResolve.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var util_1 = require_util3();
async function dnsResolve(host) {
const family = 4;
try {
const r = await (0, util_1.dnsLookup)(host, { family });
if (typeof r === "string") {
return r;
}
} catch (err) {
}
return null;
}
exports2.default = dnsResolve;
}
});
// ../../../usr/share/nodejs/netmask/lib/netmask.js
var require_netmask = __commonJS({
"../../../usr/share/nodejs/netmask/lib/netmask.js"(exports2) {
(function() {
var Netmask, atob2, chr, chr0, chrA, chra, ip2long, long2ip;
long2ip = function(long) {
var a, b, c, d;
a = (long & 255 << 24) >>> 24;
b = (long & 255 << 16) >>> 16;
c = (long & 255 << 8) >>> 8;
d = long & 255;
return [a, b, c, d].join(".");
};
ip2long = function(ip) {
var b, c, i, j, n;
b = [];
for (i = j = 0; j <= 3; i = ++j) {
if (ip.length === 0) {
break;
}
if (i > 0) {
if (ip[0] !== ".") {
throw new Error("Invalid IP");
}
ip = ip.substring(1);
}
[n, c] = atob2(ip);
ip = ip.substring(c);
b.push(n);
}
if (ip.length !== 0) {
throw new Error("Invalid IP");
}
switch (b.length) {
case 1:
if (b[0] > 4294967295) {
throw new Error("Invalid IP");
}
return b[0] >>> 0;
case 2:
if (b[0] > 255 || b[1] > 16777215) {
throw new Error("Invalid IP");
}
return (b[0] << 24 | b[1]) >>> 0;
case 3:
if (b[0] > 255 || b[1] > 255 || b[2] > 65535) {
throw new Error("Invalid IP");
}
return (b[0] << 24 | b[1] << 16 | b[2]) >>> 0;
case 4:
if (b[0] > 255 || b[1] > 255 || b[2] > 255 || b[3] > 255) {
throw new Error("Invalid IP");
}
return (b[0] << 24 | b[1] << 16 | b[2] << 8 | b[3]) >>> 0;
default:
throw new Error("Invalid IP");
}
};
chr = function(b) {
return b.charCodeAt(0);
};
chr0 = chr("0");
chra = chr("a");
chrA = chr("A");
atob2 = function(s) {
var base, dmax, i, n, start;
n = 0;
base = 10;
dmax = "9";
i = 0;
if (s.length > 1 && s[i] === "0") {
if (s[i + 1] === "x" || s[i + 1] === "X") {
i += 2;
base = 16;
} else if ("0" <= s[i + 1] && s[i + 1] <= "9") {
i++;
base = 8;
dmax = "7";
}
}
start = i;
while (i < s.length) {
if ("0" <= s[i] && s[i] <= dmax) {
n = n * base + (chr(s[i]) - chr0) >>> 0;
} else if (base === 16) {
if ("a" <= s[i] && s[i] <= "f") {
n = n * base + (10 + chr(s[i]) - chra) >>> 0;
} else if ("A" <= s[i] && s[i] <= "F") {
n = n * base + (10 + chr(s[i]) - chrA) >>> 0;
} else {
break;
}
} else {
break;
}
if (n > 4294967295) {
throw new Error("too large");
}
i++;
}
if (i === start) {
throw new Error("empty octet");
}
return [n, i];
};
Netmask = class Netmask2 {
constructor(net, mask) {
var error, i, j;
if (typeof net !== "string") {
throw new Error("Missing `net' parameter");
}
if (!mask) {
[net, mask] = net.split("/", 2);
}
if (!mask) {
mask = 32;
}
if (typeof mask === "string" && mask.indexOf(".") > -1) {
try {
this.maskLong = ip2long(mask);
} catch (error1) {
error = error1;
throw new Error(`Invalid mask: ${mask}`);
}
for (i = j = 32; j >= 0; i = --j) {
if (this.maskLong === 4294967295 << 32 - i >>> 0) {
this.bitmask = i;
break;
}
}
} else if (mask || mask === 0) {
this.bitmask = parseInt(mask, 10);
this.maskLong = 0;
if (this.bitmask > 0) {
this.maskLong = 4294967295 << 32 - this.bitmask >>> 0;
}
} else {
throw new Error("Invalid mask: empty");
}
try {
this.netLong = (ip2long(net) & this.maskLong) >>> 0;
} catch (error1) {
error = error1;
throw new Error(`Invalid net address: ${net}`);
}
if (!(this.bitmask <= 32)) {
throw new Error(`Invalid mask for ip4: ${mask}`);
}
this.size = Math.pow(2, 32 - this.bitmask);
this.base = long2ip(this.netLong);
this.mask = long2ip(this.maskLong);
this.hostmask = long2ip(~this.maskLong);
this.first = this.bitmask <= 30 ? long2ip(this.netLong + 1) : this.base;
this.last = this.bitmask <= 30 ? long2ip(this.netLong + this.size - 2) : long2ip(this.netLong + this.size - 1);
this.broadcast = this.bitmask <= 30 ? long2ip(this.netLong + this.size - 1) : void 0;
}
// Returns true if the given ip or netmask is contained in the block
contains(ip) {
if (typeof ip === "string" && (ip.indexOf("/") > 0 || ip.split(".").length !== 4)) {
ip = new Netmask2(ip);
}
if (ip instanceof Netmask2) {
return this.contains(ip.base) && this.contains(ip.broadcast || ip.last);
} else {
return (ip2long(ip) & this.maskLong) >>> 0 === (this.netLong & this.maskLong) >>> 0;
}
}
// Returns the Netmask object for the block which follow this one
next(count = 1) {
return new Netmask2(long2ip(this.netLong + this.size * count), this.mask);
}
forEach(fn2) {
var index, lastLong, long;
long = ip2long(this.first);
lastLong = ip2long(this.last);
index = 0;
while (long <= lastLong) {
fn2(long2ip(long), long, index);
index++;
long++;
}
}
// Returns the complete netmask formatted as `base/bitmask`
toString() {
return this.base + "/" + this.bitmask;
}
};
exports2.ip2long = ip2long;
exports2.long2ip = long2ip;
exports2.Netmask = Netmask;
}).call(exports2);
}
});
// ../../../usr/share/nodejs/pac-resolver/dist/isInNet.js
var require_isInNet = __commonJS({
"../../../usr/share/nodejs/pac-resolver/dist/isInNet.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var netmask_1 = require_netmask();
var util_1 = require_util3();
async function isInNet(host, pattern, mask) {
const family = 4;
try {
const ip = await (0, util_1.dnsLookup)(host, { family });
if (typeof ip === "string") {
const netmask = new netmask_1.Netmask(pattern, mask);
return netmask.contains(ip);
}
} catch (err) {
}
return false;
}
exports2.default = isInNet;
}
});
// ../../../usr/share/nodejs/pac-resolver/dist/isPlainHostName.js
var require_isPlainHostName = __commonJS({
"../../../usr/share/nodejs/pac-resolver/dist/isPlainHostName.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
function isPlainHostName(host) {
return !/\./.test(host);
}
exports2.default = isPlainHostName;
}
});
// ../../../usr/share/nodejs/pac-resolver/dist/isResolvable.js
var require_isResolvable = __commonJS({
"../../../usr/share/nodejs/pac-resolver/dist/isResolvable.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var util_1 = require_util3();
async function isResolvable(host) {
const family = 4;
try {
if (await (0, util_1.dnsLookup)(host, { family })) {
return true;
}
} catch (err) {
}
return false;
}
exports2.default = isResolvable;
}
});
// ../../../usr/share/nodejs/pac-resolver/dist/localHostOrDomainIs.js
var require_localHostOrDomainIs = __commonJS({
"../../../usr/share/nodejs/pac-resolver/dist/localHostOrDomainIs.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
function localHostOrDomainIs(host, hostdom) {
const parts = host.split(".");
const domparts = hostdom.split(".");
let matches = true;
for (let i = 0; i < parts.length; i++) {
if (parts[i] !== domparts[i]) {
matches = false;
break;
}
}
return matches;
}
exports2.default = localHostOrDomainIs;
}
});
// ../../../usr/share/nodejs/pac-resolver/dist/ip.js
var require_ip2 = __commonJS({
"../../../usr/share/nodejs/pac-resolver/dist/ip.js"(exports2) {
"use strict";
var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
return mod && mod.__esModule ? mod : { "default": mod };
};
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.ip = void 0;
var os_1 = __importDefault2(require("os"));
exports2.ip = {
address() {
const interfaces = os_1.default.networkInterfaces();
const family = normalizeFamily();
const all = Object.values(interfaces).map((addrs = []) => {
const addresses = addrs.filter((details) => {
const detailsFamily = normalizeFamily(details.family);
if (detailsFamily !== family || exports2.ip.isLoopback(details.address)) {
return false;
}
return true;
});
return addresses.length ? addresses[0].address : void 0;
}).filter(Boolean);
return !all.length ? exports2.ip.loopback(family) : all[0];
},
isLoopback(addr) {
return /^(::f{4}:)?127\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})/.test(addr) || /^fe80::1$/.test(addr) || /^::1$/.test(addr) || /^::$/.test(addr);
},
loopback(family) {
family = normalizeFamily(family);
if (family !== "ipv4" && family !== "ipv6") {
throw new Error("family must be ipv4 or ipv6");
}
return family === "ipv4" ? "127.0.0.1" : "fe80::1";
}
};
function normalizeFamily(family) {
if (family === 4) {
return "ipv4";
}
if (family === 6) {
return "ipv6";
}
return family ? family.toLowerCase() : "ipv4";
}
}
});
// ../../../usr/share/nodejs/pac-resolver/dist/myIpAddress.js
var require_myIpAddress = __commonJS({
"../../../usr/share/nodejs/pac-resolver/dist/myIpAddress.js"(exports2) {
"use strict";
var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
return mod && mod.__esModule ? mod : { "default": mod };
};
Object.defineProperty(exports2, "__esModule", { value: true });
var ip_1 = require_ip2();
var net_1 = __importDefault2(require("net"));
async function myIpAddress() {
return new Promise((resolve, reject) => {
const socket = net_1.default.connect({ host: "8.8.8.8", port: 53 });
const onError = () => {
resolve(ip_1.ip.address());
};
socket.once("error", onError);
socket.once("connect", () => {
socket.removeListener("error", onError);
const addr = socket.address();
socket.destroy();
if (typeof addr === "string") {
resolve(addr);
} else if (addr.address) {
resolve(addr.address);
} else {
reject(new Error("Expected a `string`"));
}
});
});
}
exports2.default = myIpAddress;
}
});
// ../../../usr/share/nodejs/pac-resolver/dist/shExpMatch.js
var require_shExpMatch = __commonJS({
"../../../usr/share/nodejs/pac-resolver/dist/shExpMatch.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
function shExpMatch(str, shexp) {
const re = toRegExp(shexp);
return re.test(str);
}
exports2.default = shExpMatch;
function toRegExp(str) {
str = String(str).replace(/\./g, "\\.").replace(/\?/g, ".").replace(/\*/g, ".*");
return new RegExp(`^${str}$`);
}
}
});
// ../../../usr/share/nodejs/pac-resolver/dist/timeRange.js
var require_timeRange = __commonJS({
"../../../usr/share/nodejs/pac-resolver/dist/timeRange.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
function timeRange() {
const args = Array.prototype.slice.call(arguments);
const lastArg = args.pop();
const useGMTzone = lastArg === "GMT";
const currentDate = /* @__PURE__ */ new Date();
if (!useGMTzone) {
args.push(lastArg);
}
let result = false;
const noOfArgs = args.length;
const numericArgs = args.map((n) => parseInt(n, 10));
if (noOfArgs === 1) {
result = getCurrentHour(useGMTzone, currentDate) === numericArgs[0];
} else if (noOfArgs === 2) {
const currentHour = getCurrentHour(useGMTzone, currentDate);
result = numericArgs[0] <= currentHour && currentHour < numericArgs[1];
} else if (noOfArgs === 4) {
result = valueInRange(secondsElapsedToday(numericArgs[0], numericArgs[1], 0), secondsElapsedToday(getCurrentHour(useGMTzone, currentDate), getCurrentMinute(useGMTzone, currentDate), 0), secondsElapsedToday(numericArgs[2], numericArgs[3], 59));
} else if (noOfArgs === 6) {
result = valueInRange(secondsElapsedToday(numericArgs[0], numericArgs[1], numericArgs[2]), secondsElapsedToday(getCurrentHour(useGMTzone, currentDate), getCurrentMinute(useGMTzone, currentDate), getCurrentSecond(useGMTzone, currentDate)), secondsElapsedToday(numericArgs[3], numericArgs[4], numericArgs[5]));
}
return result;
}
exports2.default = timeRange;
function secondsElapsedToday(hh, mm, ss) {
return hh * 3600 + mm * 60 + ss;
}
function getCurrentHour(gmt, currentDate) {
return gmt ? currentDate.getUTCHours() : currentDate.getHours();
}
function getCurrentMinute(gmt, currentDate) {
return gmt ? currentDate.getUTCMinutes() : currentDate.getMinutes();
}
function getCurrentSecond(gmt, currentDate) {
return gmt ? currentDate.getUTCSeconds() : currentDate.getSeconds();
}
function valueInRange(start, value, finish) {
return start <= value && value <= finish;
}
}
});
// ../../../usr/share/nodejs/pac-resolver/dist/weekdayRange.js
var require_weekdayRange = __commonJS({
"../../../usr/share/nodejs/pac-resolver/dist/weekdayRange.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var util_1 = require_util3();
var weekdays = ["SUN", "MON", "TUE", "WED", "THU", "FRI", "SAT"];
function weekdayRange(wd1, wd2, gmt) {
let useGMTzone = false;
let wd1Index = -1;
let wd2Index = -1;
let wd2IsGmt = false;
if ((0, util_1.isGMT)(gmt)) {
useGMTzone = true;
} else if ((0, util_1.isGMT)(wd2)) {
useGMTzone = true;
wd2IsGmt = true;
}
wd1Index = weekdays.indexOf(wd1);
if (!wd2IsGmt && isWeekday(wd2)) {
wd2Index = weekdays.indexOf(wd2);
}
const todaysDay = getTodaysDay(useGMTzone);
let result;
if (wd2Index < 0) {
result = todaysDay === wd1Index;
} else if (wd1Index <= wd2Index) {
result = valueInRange(wd1Index, todaysDay, wd2Index);
} else {
result = valueInRange(wd1Index, todaysDay, 6) || valueInRange(0, todaysDay, wd2Index);
}
return result;
}
exports2.default = weekdayRange;
function getTodaysDay(gmt) {
return gmt ? (/* @__PURE__ */ new Date()).getUTCDay() : (/* @__PURE__ */ new Date()).getDay();
}
function valueInRange(start, value, finish) {
return start <= value && value <= finish;
}
function isWeekday(v) {
if (!v)
return false;
return weekdays.includes(v);
}
}
});
// ../../../usr/share/nodejs/pac-resolver/dist/index.js
var require_dist8 = __commonJS({
"../../../usr/share/nodejs/pac-resolver/dist/index.js"(exports2) {
"use strict";
var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
return mod && mod.__esModule ? mod : { "default": mod };
};
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.sandbox = exports2.createPacResolver = void 0;
var degenerator_1 = require_dist7();
var dateRange_1 = __importDefault2(require_dateRange());
var dnsDomainIs_1 = __importDefault2(require_dnsDomainIs());
var dnsDomainLevels_1 = __importDefault2(require_dnsDomainLevels());
var dnsResolve_1 = __importDefault2(require_dnsResolve());
var isInNet_1 = __importDefault2(require_isInNet());
var isPlainHostName_1 = __importDefault2(require_isPlainHostName());
var isResolvable_1 = __importDefault2(require_isResolvable());
var localHostOrDomainIs_1 = __importDefault2(require_localHostOrDomainIs());
var myIpAddress_1 = __importDefault2(require_myIpAddress());
var shExpMatch_1 = __importDefault2(require_shExpMatch());
var timeRange_1 = __importDefault2(require_timeRange());
var weekdayRange_1 = __importDefault2(require_weekdayRange());
function createPacResolver(qjs, _str, _opts = {}) {
const str = Buffer.isBuffer(_str) ? _str.toString("utf8") : _str;
const context = {
...exports2.sandbox,
..._opts.sandbox
};
const names = Object.keys(context).filter((k) => isAsyncFunction(context[k]));
const opts = {
filename: "proxy.pac",
names,
..._opts,
sandbox: context
};
const resolver = (0, degenerator_1.compile)(qjs, str, "FindProxyForURL", opts);
function FindProxyForURL(url, _host) {
const urlObj = typeof url === "string" ? new URL(url) : url;
const host = _host || urlObj.hostname;
if (!host) {
throw new TypeError("Could not determine `host`");
}
return resolver(urlObj.href, host);
}
Object.defineProperty(FindProxyForURL, "toString", {
value: () => resolver.toString(),
enumerable: false
});
return FindProxyForURL;
}
exports2.createPacResolver = createPacResolver;
exports2.sandbox = Object.freeze({
alert: (message = "") => console.log("%s", message),
dateRange: dateRange_1.default,
dnsDomainIs: dnsDomainIs_1.default,
dnsDomainLevels: dnsDomainLevels_1.default,
dnsResolve: dnsResolve_1.default,
isInNet: isInNet_1.default,
isPlainHostName: isPlainHostName_1.default,
isResolvable: isResolvable_1.default,
localHostOrDomainIs: localHostOrDomainIs_1.default,
myIpAddress: myIpAddress_1.default,
shExpMatch: shExpMatch_1.default,
timeRange: timeRange_1.default,
weekdayRange: weekdayRange_1.default
});
function isAsyncFunction(v) {
if (typeof v !== "function")
return false;
if (v.constructor.name === "AsyncFunction")
return true;
if (String(v).indexOf("__awaiter(") !== -1)
return true;
return Boolean(v.async);
}
}
});
// ../../../usr/share/nodejs/quickjs-emscripten/dist/esmHelpers.js
var require_esmHelpers = __commonJS({
"../../../usr/share/nodejs/quickjs-emscripten/dist/esmHelpers.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.unwrapJavascript = exports2.unwrapTypescript = void 0;
function fakeUnwrapDefault(mod) {
return mod.default;
}
function actualUnwrapDefault(mod) {
const maybeUnwrap = mod.default;
return maybeUnwrap ?? mod;
}
exports2.unwrapTypescript = actualUnwrapDefault;
exports2.unwrapJavascript = fakeUnwrapDefault;
}
});
// ../../../usr/share/nodejs/quickjs-emscripten/dist/debug.js
var require_debug2 = __commonJS({
"../../../usr/share/nodejs/quickjs-emscripten/dist/debug.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.debugLog = exports2.QTS_DEBUG = void 0;
exports2.QTS_DEBUG = Boolean(typeof process === "object" && process.env.QTS_DEBUG);
exports2.debugLog = exports2.QTS_DEBUG ? console.log.bind(console) : () => {
};
}
});
// ../../../usr/share/nodejs/quickjs-emscripten/dist/errors.js
var require_errors = __commonJS({
"../../../usr/share/nodejs/quickjs-emscripten/dist/errors.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.QuickJSMemoryLeakDetected = exports2.QuickJSAsyncifySuspended = exports2.QuickJSAsyncifyError = exports2.QuickJSNotImplemented = exports2.QuickJSUseAfterFree = exports2.QuickJSWrongOwner = exports2.QuickJSUnwrapError = void 0;
var QuickJSUnwrapError = class extends Error {
constructor(cause, context) {
super(String(cause));
this.cause = cause;
this.context = context;
this.name = "QuickJSUnwrapError";
}
};
exports2.QuickJSUnwrapError = QuickJSUnwrapError;
var QuickJSWrongOwner = class extends Error {
constructor() {
super(...arguments);
this.name = "QuickJSWrongOwner";
}
};
exports2.QuickJSWrongOwner = QuickJSWrongOwner;
var QuickJSUseAfterFree = class extends Error {
constructor() {
super(...arguments);
this.name = "QuickJSUseAfterFree";
}
};
exports2.QuickJSUseAfterFree = QuickJSUseAfterFree;
var QuickJSNotImplemented = class extends Error {
constructor() {
super(...arguments);
this.name = "QuickJSNotImplemented";
}
};
exports2.QuickJSNotImplemented = QuickJSNotImplemented;
var QuickJSAsyncifyError = class extends Error {
constructor() {
super(...arguments);
this.name = "QuickJSAsyncifyError";
}
};
exports2.QuickJSAsyncifyError = QuickJSAsyncifyError;
var QuickJSAsyncifySuspended = class extends Error {
constructor() {
super(...arguments);
this.name = "QuickJSAsyncifySuspended";
}
};
exports2.QuickJSAsyncifySuspended = QuickJSAsyncifySuspended;
var QuickJSMemoryLeakDetected = class extends Error {
constructor() {
super(...arguments);
this.name = "QuickJSMemoryLeakDetected";
}
};
exports2.QuickJSMemoryLeakDetected = QuickJSMemoryLeakDetected;
}
});
// ../../../usr/share/nodejs/quickjs-emscripten/dist/asyncify-helpers.js
var require_asyncify_helpers = __commonJS({
"../../../usr/share/nodejs/quickjs-emscripten/dist/asyncify-helpers.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.awaitEachYieldedPromise = exports2.maybeAsync = exports2.maybeAsyncFn = void 0;
function* awaitYield(value) {
return yield value;
}
function awaitYieldOf(generator) {
return awaitYield(awaitEachYieldedPromise(generator));
}
var AwaitYield = awaitYield;
AwaitYield.of = awaitYieldOf;
function maybeAsyncFn(that, fn2) {
return (...args) => {
const generator = fn2.call(that, AwaitYield, ...args);
return awaitEachYieldedPromise(generator);
};
}
exports2.maybeAsyncFn = maybeAsyncFn;
function maybeAsync(that, startGenerator) {
const generator = startGenerator.call(that, AwaitYield);
return awaitEachYieldedPromise(generator);
}
exports2.maybeAsync = maybeAsync;
function awaitEachYieldedPromise(gen) {
function handleNextStep(step) {
if (step.done) {
return step.value;
}
if (step.value instanceof Promise) {
return step.value.then((value) => handleNextStep(gen.next(value)), (error) => handleNextStep(gen.throw(error)));
}
return handleNextStep(gen.next(step.value));
}
return handleNextStep(gen.next());
}
exports2.awaitEachYieldedPromise = awaitEachYieldedPromise;
}
});
// ../../../usr/share/nodejs/quickjs-emscripten/dist/lifetime.js
var require_lifetime = __commonJS({
"../../../usr/share/nodejs/quickjs-emscripten/dist/lifetime.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.Scope = exports2.WeakLifetime = exports2.StaticLifetime = exports2.Lifetime = void 0;
var asyncify_helpers_1 = require_asyncify_helpers();
var debug_1 = require_debug2();
var errors_1 = require_errors();
var Lifetime = class _Lifetime {
/**
* When the Lifetime is disposed, it will call `disposer(_value)`. Use the
* disposer function to implement whatever cleanup needs to happen at the end
* of `value`'s lifetime.
*
* `_owner` is not used or controlled by the lifetime. It's just metadata for
* the creator.
*/
constructor(_value, copier, disposer, _owner) {
this._value = _value;
this.copier = copier;
this.disposer = disposer;
this._owner = _owner;
this._alive = true;
this._constructorStack = debug_1.QTS_DEBUG ? new Error("Lifetime constructed").stack : void 0;
}
get alive() {
return this._alive;
}
/**
* The value this Lifetime protects. You must never retain the value - it
* may become invalid, leading to memory errors.
*
* @throws If the lifetime has been [[dispose]]d already.
*/
get value() {
this.assertAlive();
return this._value;
}
get owner() {
return this._owner;
}
get dupable() {
return !!this.copier;
}
/**
* Create a new handle pointing to the same [[value]].
*/
dup() {
this.assertAlive();
if (!this.copier) {
throw new Error("Non-dupable lifetime");
}
return new _Lifetime(this.copier(this._value), this.copier, this.disposer, this._owner);
}
consume(map) {
this.assertAlive();
const result = map(this);
this.dispose();
return result;
}
/**
* Dispose of [[value]] and perform cleanup.
*/
dispose() {
this.assertAlive();
if (this.disposer) {
this.disposer(this._value);
}
this._alive = false;
}
assertAlive() {
if (!this.alive) {
if (this._constructorStack) {
throw new errors_1.QuickJSUseAfterFree(`Lifetime not alive
${this._constructorStack}
Lifetime used`);
}
throw new errors_1.QuickJSUseAfterFree("Lifetime not alive");
}
}
};
exports2.Lifetime = Lifetime;
var StaticLifetime = class extends Lifetime {
constructor(value, owner) {
super(value, void 0, void 0, owner);
}
// Static lifetime doesn't need a copier to be copiable
get dupable() {
return true;
}
// Copy returns the same instance.
dup() {
return this;
}
// Dispose does nothing.
dispose() {
}
};
exports2.StaticLifetime = StaticLifetime;
var WeakLifetime = class extends Lifetime {
constructor(value, copier, disposer, owner) {
super(value, copier, disposer, owner);
}
dispose() {
this._alive = false;
}
};
exports2.WeakLifetime = WeakLifetime;
function scopeFinally(scope, blockError) {
let disposeError;
try {
scope.dispose();
} catch (error) {
disposeError = error;
}
if (blockError && disposeError) {
Object.assign(blockError, {
message: `${blockError.message}
Then, failed to dispose scope: ${disposeError.message}`,
disposeError
});
throw blockError;
}
if (blockError || disposeError) {
throw blockError || disposeError;
}
}
var Scope = class _Scope {
constructor() {
this._disposables = new Lifetime(/* @__PURE__ */ new Set());
}
/**
* Run `block` with a new Scope instance that will be disposed after the block returns.
* Inside `block`, call `scope.manage` on each lifetime you create to have the lifetime
* automatically disposed after the block returns.
*
* @warning Do not use with async functions. Instead, use [[withScopeAsync]].
*/
static withScope(block) {
const scope = new _Scope();
let blockError;
try {
return block(scope);
} catch (error) {
blockError = error;
throw error;
} finally {
scopeFinally(scope, blockError);
}
}
static withScopeMaybeAsync(_this, block) {
return (0, asyncify_helpers_1.maybeAsync)(void 0, function* (awaited) {
const scope = new _Scope();
let blockError;
try {
return yield* awaited.of(block.call(_this, awaited, scope));
} catch (error) {
blockError = error;
throw error;
} finally {
scopeFinally(scope, blockError);
}
});
}
/**
* Run `block` with a new Scope instance that will be disposed after the
* block's returned promise settles. Inside `block`, call `scope.manage` on each
* lifetime you create to have the lifetime automatically disposed after the
* block returns.
*/
static async withScopeAsync(block) {
const scope = new _Scope();
let blockError;
try {
return await block(scope);
} catch (error) {
blockError = error;
throw error;
} finally {
scopeFinally(scope, blockError);
}
}
/**
* Track `lifetime` so that it is disposed when this scope is disposed.
*/
manage(lifetime) {
this._disposables.value.add(lifetime);
return lifetime;
}
get alive() {
return this._disposables.alive;
}
dispose() {
const lifetimes = Array.from(this._disposables.value.values()).reverse();
for (const lifetime of lifetimes) {
if (lifetime.alive) {
lifetime.dispose();
}
}
this._disposables.dispose();
}
};
exports2.Scope = Scope;
}
});
// ../../../usr/share/nodejs/quickjs-emscripten/dist/deferred-promise.js
var require_deferred_promise = __commonJS({
"../../../usr/share/nodejs/quickjs-emscripten/dist/deferred-promise.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.QuickJSDeferredPromise = void 0;
var QuickJSDeferredPromise = class {
/**
* Use [[QuickJSContext.newPromise]] to create a new promise instead of calling
* this constructor directly.
* @unstable
*/
constructor(args) {
this.resolve = (value) => {
if (!this.resolveHandle.alive) {
return;
}
this.context.unwrapResult(this.context.callFunction(this.resolveHandle, this.context.undefined, value || this.context.undefined)).dispose();
this.disposeResolvers();
this.onSettled();
};
this.reject = (value) => {
if (!this.rejectHandle.alive) {
return;
}
this.context.unwrapResult(this.context.callFunction(this.rejectHandle, this.context.undefined, value || this.context.undefined)).dispose();
this.disposeResolvers();
this.onSettled();
};
this.dispose = () => {
if (this.handle.alive) {
this.handle.dispose();
}
this.disposeResolvers();
};
this.context = args.context;
this.owner = args.context.runtime;
this.handle = args.promiseHandle;
this.settled = new Promise((resolve) => {
this.onSettled = resolve;
});
this.resolveHandle = args.resolveHandle;
this.rejectHandle = args.rejectHandle;
}
get alive() {
return this.handle.alive || this.resolveHandle.alive || this.rejectHandle.alive;
}
disposeResolvers() {
if (this.resolveHandle.alive) {
this.resolveHandle.dispose();
}
if (this.rejectHandle.alive) {
this.rejectHandle.dispose();
}
}
};
exports2.QuickJSDeferredPromise = QuickJSDeferredPromise;
}
});
// ../../../usr/share/nodejs/quickjs-emscripten/dist/memory.js
var require_memory = __commonJS({
"../../../usr/share/nodejs/quickjs-emscripten/dist/memory.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.ModuleMemory = void 0;
var lifetime_1 = require_lifetime();
var ModuleMemory = class {
constructor(module3) {
this.module = module3;
}
toPointerArray(handleArray) {
const typedArray = new Int32Array(handleArray.map((handle) => handle.value));
const numBytes = typedArray.length * typedArray.BYTES_PER_ELEMENT;
const ptr = this.module._malloc(numBytes);
var heapBytes = new Uint8Array(this.module.HEAPU8.buffer, ptr, numBytes);
heapBytes.set(new Uint8Array(typedArray.buffer));
return new lifetime_1.Lifetime(ptr, void 0, (ptr2) => this.module._free(ptr2));
}
newMutablePointerArray(length) {
const zeros = new Int32Array(new Array(length).fill(0));
const numBytes = zeros.length * zeros.BYTES_PER_ELEMENT;
const ptr = this.module._malloc(numBytes);
const typedArray = new Int32Array(this.module.HEAPU8.buffer, ptr, length);
typedArray.set(zeros);
return new lifetime_1.Lifetime({ typedArray, ptr }, void 0, (value) => this.module._free(value.ptr));
}
newHeapCharPointer(string) {
const numBytes = this.module.lengthBytesUTF8(string) + 1;
const ptr = this.module._malloc(numBytes);
this.module.stringToUTF8(string, ptr, numBytes);
return new lifetime_1.Lifetime(ptr, void 0, (value) => this.module._free(value));
}
consumeHeapCharPointer(ptr) {
const str = this.module.UTF8ToString(ptr);
this.module._free(ptr);
return str;
}
};
exports2.ModuleMemory = ModuleMemory;
}
});
// ../../../usr/share/nodejs/quickjs-emscripten/dist/types-ffi.js
var require_types_ffi = __commonJS({
"../../../usr/share/nodejs/quickjs-emscripten/dist/types-ffi.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.EvalFlags = exports2.assertSync = void 0;
function assertSync(fn2) {
return function mustBeSync(...args) {
const result = fn2(...args);
if (result && typeof result === "object" && result instanceof Promise) {
throw new Error("Function unexpectedly returned a Promise");
}
return result;
};
}
exports2.assertSync = assertSync;
exports2.EvalFlags = {
/** global code (default) */
JS_EVAL_TYPE_GLOBAL: 0 << 0,
/** module code */
JS_EVAL_TYPE_MODULE: 1 << 0,
/** direct call (internal use) */
JS_EVAL_TYPE_DIRECT: 2 << 0,
/** indirect call (internal use) */
JS_EVAL_TYPE_INDIRECT: 3 << 0,
JS_EVAL_TYPE_MASK: 3 << 0,
/** force 'strict' mode */
JS_EVAL_FLAG_STRICT: 1 << 3,
/** force 'strip' mode */
JS_EVAL_FLAG_STRIP: 1 << 4,
/**
* compile but do not run. The result is an object with a
* JS_TAG_FUNCTION_BYTECODE or JS_TAG_MODULE tag. It can be executed
* with JS_EvalFunction().
*/
JS_EVAL_FLAG_COMPILE_ONLY: 1 << 5,
/** don't include the stack frames before this eval in the Error() backtraces */
JS_EVAL_FLAG_BACKTRACE_BARRIER: 1 << 6
};
}
});
// ../../../usr/share/nodejs/quickjs-emscripten/dist/types.js
var require_types2 = __commonJS({
"../../../usr/share/nodejs/quickjs-emscripten/dist/types.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.concat = exports2.evalOptionsToFlags = exports2.DefaultIntrinsics = void 0;
var types_ffi_1 = require_types_ffi();
var UnstableSymbol = Symbol("Unstable");
exports2.DefaultIntrinsics = Symbol("DefaultIntrinsics");
function evalOptionsToFlags(evalOptions) {
if (typeof evalOptions === "number") {
return evalOptions;
}
if (evalOptions === void 0) {
return 0;
}
const { type, strict, strip, compileOnly, backtraceBarrier } = evalOptions;
let flags = 0;
if (type === "global")
flags |= types_ffi_1.EvalFlags.JS_EVAL_TYPE_GLOBAL;
if (type === "module")
flags |= types_ffi_1.EvalFlags.JS_EVAL_TYPE_MODULE;
if (strict)
flags |= types_ffi_1.EvalFlags.JS_EVAL_FLAG_STRICT;
if (strip)
flags |= types_ffi_1.EvalFlags.JS_EVAL_FLAG_STRIP;
if (compileOnly)
flags |= types_ffi_1.EvalFlags.JS_EVAL_FLAG_COMPILE_ONLY;
if (backtraceBarrier)
flags |= types_ffi_1.EvalFlags.JS_EVAL_FLAG_BACKTRACE_BARRIER;
return flags;
}
exports2.evalOptionsToFlags = evalOptionsToFlags;
function concat(...values) {
let result = [];
for (const value of values) {
if (value !== void 0) {
result = result.concat(value);
}
}
return result;
}
exports2.concat = concat;
}
});
// ../../../usr/share/nodejs/quickjs-emscripten/dist/context.js
var require_context = __commonJS({
"../../../usr/share/nodejs/quickjs-emscripten/dist/context.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.QuickJSContext = void 0;
var debug_1 = require_debug2();
var deferred_promise_1 = require_deferred_promise();
var errors_1 = require_errors();
var lifetime_1 = require_lifetime();
var memory_1 = require_memory();
var types_1 = require_types2();
var ContextMemory = class extends memory_1.ModuleMemory {
/** @private */
constructor(args) {
super(args.module);
this.scope = new lifetime_1.Scope();
this.copyJSValue = (ptr) => {
return this.ffi.QTS_DupValuePointer(this.ctx.value, ptr);
};
this.freeJSValue = (ptr) => {
this.ffi.QTS_FreeValuePointer(this.ctx.value, ptr);
};
args.ownedLifetimes?.forEach((lifetime) => this.scope.manage(lifetime));
this.owner = args.owner;
this.module = args.module;
this.ffi = args.ffi;
this.rt = args.rt;
this.ctx = this.scope.manage(args.ctx);
}
get alive() {
return this.scope.alive;
}
dispose() {
return this.scope.dispose();
}
/**
* Track `lifetime` so that it is disposed when this scope is disposed.
*/
manage(lifetime) {
return this.scope.manage(lifetime);
}
consumeJSCharPointer(ptr) {
const str = this.module.UTF8ToString(ptr);
this.ffi.QTS_FreeCString(this.ctx.value, ptr);
return str;
}
heapValueHandle(ptr) {
return new lifetime_1.Lifetime(ptr, this.copyJSValue, this.freeJSValue, this.owner);
}
};
var QuickJSContext = class {
/**
* Use {@link QuickJS.createVm} to create a QuickJSContext instance.
*/
constructor(args) {
this._undefined = void 0;
this._null = void 0;
this._false = void 0;
this._true = void 0;
this._global = void 0;
this._BigInt = void 0;
this.fnNextId = -32768;
this.fnMaps = /* @__PURE__ */ new Map();
this.cToHostCallbacks = {
callFunction: (ctx, this_ptr, argc, argv, fn_id) => {
if (ctx !== this.ctx.value) {
throw new Error("QuickJSContext instance received C -> JS call with mismatched ctx");
}
const fn2 = this.getFunction(fn_id);
if (!fn2) {
throw new Error(`QuickJSContext had no callback with id ${fn_id}`);
}
return lifetime_1.Scope.withScopeMaybeAsync(this, function* (awaited, scope) {
const thisHandle = scope.manage(new lifetime_1.WeakLifetime(this_ptr, this.memory.copyJSValue, this.memory.freeJSValue, this.runtime));
const argHandles = new Array(argc);
for (let i = 0; i < argc; i++) {
const ptr = this.ffi.QTS_ArgvGetJSValueConstPointer(argv, i);
argHandles[i] = scope.manage(new lifetime_1.WeakLifetime(ptr, this.memory.copyJSValue, this.memory.freeJSValue, this.runtime));
}
try {
const result = yield* awaited(fn2.apply(thisHandle, argHandles));
if (result) {
if ("error" in result && result.error) {
(0, debug_1.debugLog)("throw error", result.error);
throw result.error;
}
const handle = scope.manage(result instanceof lifetime_1.Lifetime ? result : result.value);
return this.ffi.QTS_DupValuePointer(this.ctx.value, handle.value);
}
return 0;
} catch (error) {
return this.errorToHandle(error).consume((errorHandle) => this.ffi.QTS_Throw(this.ctx.value, errorHandle.value));
}
});
}
};
this.runtime = args.runtime;
this.module = args.module;
this.ffi = args.ffi;
this.rt = args.rt;
this.ctx = args.ctx;
this.memory = new ContextMemory({
...args,
owner: this.runtime
});
args.callbacks.setContextCallbacks(this.ctx.value, this.cToHostCallbacks);
this.dump = this.dump.bind(this);
this.getString = this.getString.bind(this);
this.getNumber = this.getNumber.bind(this);
this.resolvePromise = this.resolvePromise.bind(this);
}
// @implement Disposable ----------------------------------------------------
get alive() {
return this.memory.alive;
}
/**
* Dispose of this VM's underlying resources.
*
* @throws Calling this method without disposing of all created handles
* will result in an error.
*/
dispose() {
this.memory.dispose();
}
// Globals ------------------------------------------------------------------
/**
* [`undefined`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/undefined).
*/
get undefined() {
if (this._undefined) {
return this._undefined;
}
const ptr = this.ffi.QTS_GetUndefined();
return this._undefined = new lifetime_1.StaticLifetime(ptr);
}
/**
* [`null`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/null).
*/
get null() {
if (this._null) {
return this._null;
}
const ptr = this.ffi.QTS_GetNull();
return this._null = new lifetime_1.StaticLifetime(ptr);
}
/**
* [`true`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/true).
*/
get true() {
if (this._true) {
return this._true;
}
const ptr = this.ffi.QTS_GetTrue();
return this._true = new lifetime_1.StaticLifetime(ptr);
}
/**
* [`false`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/false).
*/
get false() {
if (this._false) {
return this._false;
}
const ptr = this.ffi.QTS_GetFalse();
return this._false = new lifetime_1.StaticLifetime(ptr);
}
/**
* [`global`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects).
* A handle to the global object inside the interpreter.
* You can set properties to create global variables.
*/
get global() {
if (this._global) {
return this._global;
}
const ptr = this.ffi.QTS_GetGlobalObject(this.ctx.value);
this.memory.manage(this.memory.heapValueHandle(ptr));
this._global = new lifetime_1.StaticLifetime(ptr, this.runtime);
return this._global;
}
// New values ---------------------------------------------------------------
/**
* Converts a Javascript number into a QuickJS value.
*/
newNumber(num) {
return this.memory.heapValueHandle(this.ffi.QTS_NewFloat64(this.ctx.value, num));
}
/**
* Create a QuickJS [string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String) value.
*/
newString(str) {
const ptr = this.memory.newHeapCharPointer(str).consume((charHandle) => this.ffi.QTS_NewString(this.ctx.value, charHandle.value));
return this.memory.heapValueHandle(ptr);
}
/**
* Create a QuickJS [symbol](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol) value.
* No two symbols created with this function will be the same value.
*/
newUniqueSymbol(description) {
const key = (typeof description === "symbol" ? description.description : description) ?? "";
const ptr = this.memory.newHeapCharPointer(key).consume((charHandle) => this.ffi.QTS_NewSymbol(this.ctx.value, charHandle.value, 0));
return this.memory.heapValueHandle(ptr);
}
/**
* Get a symbol from the [global registry](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol#shared_symbols_in_the_global_symbol_registry) for the given key.
* All symbols created with the same key will be the same value.
*/
newSymbolFor(key) {
const description = (typeof key === "symbol" ? key.description : key) ?? "";
const ptr = this.memory.newHeapCharPointer(description).consume((charHandle) => this.ffi.QTS_NewSymbol(this.ctx.value, charHandle.value, 1));
return this.memory.heapValueHandle(ptr);
}
/**
* Create a QuickJS [bigint](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/BigInt) value.
*/
newBigInt(num) {
if (!this._BigInt) {
const bigIntHandle2 = this.getProp(this.global, "BigInt");
this.memory.manage(bigIntHandle2);
this._BigInt = new lifetime_1.StaticLifetime(bigIntHandle2.value, this.runtime);
}
const bigIntHandle = this._BigInt;
const asString = String(num);
return this.newString(asString).consume((handle) => this.unwrapResult(this.callFunction(bigIntHandle, this.undefined, handle)));
}
/**
* `{}`.
* Create a new QuickJS [object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Object_initializer).
*
* @param prototype - Like [`Object.create`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/create).
*/
newObject(prototype) {
if (prototype) {
this.runtime.assertOwned(prototype);
}
const ptr = prototype ? this.ffi.QTS_NewObjectProto(this.ctx.value, prototype.value) : this.ffi.QTS_NewObject(this.ctx.value);
return this.memory.heapValueHandle(ptr);
}
/**
* `[]`.
* Create a new QuickJS [array](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array).
*/
newArray() {
const ptr = this.ffi.QTS_NewArray(this.ctx.value);
return this.memory.heapValueHandle(ptr);
}
newPromise(value) {
const deferredPromise = lifetime_1.Scope.withScope((scope) => {
const mutablePointerArray = scope.manage(this.memory.newMutablePointerArray(2));
const promisePtr = this.ffi.QTS_NewPromiseCapability(this.ctx.value, mutablePointerArray.value.ptr);
const promiseHandle = this.memory.heapValueHandle(promisePtr);
const [resolveHandle, rejectHandle] = Array.from(mutablePointerArray.value.typedArray).map((jsvaluePtr) => this.memory.heapValueHandle(jsvaluePtr));
return new deferred_promise_1.QuickJSDeferredPromise({
context: this,
promiseHandle,
resolveHandle,
rejectHandle
});
});
if (value && typeof value === "function") {
value = new Promise(value);
}
if (value) {
Promise.resolve(value).then(deferredPromise.resolve, (error) => error instanceof lifetime_1.Lifetime ? deferredPromise.reject(error) : this.newError(error).consume(deferredPromise.reject));
}
return deferredPromise;
}
/**
* Convert a Javascript function into a QuickJS function value.
* See [[VmFunctionImplementation]] for more details.
*
* A [[VmFunctionImplementation]] should not free its arguments or its return
* value. A VmFunctionImplementation should also not retain any references to
* its return value.
*
* To implement an async function, create a promise with [[newPromise]], then
* return the deferred promise handle from `deferred.handle` from your
* function implementation:
*
* ```
* const deferred = vm.newPromise()
* someNativeAsyncFunction().then(deferred.resolve)
* return deferred.handle
* ```
*/
newFunction(name, fn2) {
const fnId = ++this.fnNextId;
this.setFunction(fnId, fn2);
return this.memory.heapValueHandle(this.ffi.QTS_NewFunction(this.ctx.value, fnId, name));
}
newError(error) {
const errorHandle = this.memory.heapValueHandle(this.ffi.QTS_NewError(this.ctx.value));
if (error && typeof error === "object") {
if (error.name !== void 0) {
this.newString(error.name).consume((handle) => this.setProp(errorHandle, "name", handle));
}
if (error.message !== void 0) {
this.newString(error.message).consume((handle) => this.setProp(errorHandle, "message", handle));
}
} else if (typeof error === "string") {
this.newString(error).consume((handle) => this.setProp(errorHandle, "message", handle));
} else if (error !== void 0) {
this.newString(String(error)).consume((handle) => this.setProp(errorHandle, "message", handle));
}
return errorHandle;
}
// Read values --------------------------------------------------------------
/**
* `typeof` operator. **Not** [standards compliant](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/typeof).
*
* @remarks
* Does not support BigInt values correctly.
*/
typeof(handle) {
this.runtime.assertOwned(handle);
return this.memory.consumeHeapCharPointer(this.ffi.QTS_Typeof(this.ctx.value, handle.value));
}
/**
* Converts `handle` into a Javascript number.
* @returns `NaN` on error, otherwise a `number`.
*/
getNumber(handle) {
this.runtime.assertOwned(handle);
return this.ffi.QTS_GetFloat64(this.ctx.value, handle.value);
}
/**
* Converts `handle` to a Javascript string.
*/
getString(handle) {
this.runtime.assertOwned(handle);
return this.memory.consumeJSCharPointer(this.ffi.QTS_GetString(this.ctx.value, handle.value));
}
/**
* Converts `handle` into a Javascript symbol. If the symbol is in the global
* registry in the guest, it will be created with Symbol.for on the host.
*/
getSymbol(handle) {
this.runtime.assertOwned(handle);
const key = this.memory.consumeJSCharPointer(this.ffi.QTS_GetSymbolDescriptionOrKey(this.ctx.value, handle.value));
const isGlobal = this.ffi.QTS_IsGlobalSymbol(this.ctx.value, handle.value);
return isGlobal ? Symbol.for(key) : Symbol(key);
}
/**
* Converts `handle` to a Javascript bigint.
*/
getBigInt(handle) {
this.runtime.assertOwned(handle);
const asString = this.getString(handle);
return BigInt(asString);
}
/**
* `Promise.resolve(value)`.
* Convert a handle containing a Promise-like value inside the VM into an
* actual promise on the host.
*
* @remarks
* You may need to call [[executePendingJobs]] to ensure that the promise is resolved.
*
* @param promiseLikeHandle - A handle to a Promise-like value with a `.then(onSuccess, onError)` method.
*/
resolvePromise(promiseLikeHandle) {
this.runtime.assertOwned(promiseLikeHandle);
const vmResolveResult = lifetime_1.Scope.withScope((scope) => {
const vmPromise = scope.manage(this.getProp(this.global, "Promise"));
const vmPromiseResolve = scope.manage(this.getProp(vmPromise, "resolve"));
return this.callFunction(vmPromiseResolve, vmPromise, promiseLikeHandle);
});
if (vmResolveResult.error) {
return Promise.resolve(vmResolveResult);
}
return new Promise((resolve) => {
lifetime_1.Scope.withScope((scope) => {
const resolveHandle = scope.manage(this.newFunction("resolve", (value) => {
resolve({ value: value && value.dup() });
}));
const rejectHandle = scope.manage(this.newFunction("reject", (error) => {
resolve({ error: error && error.dup() });
}));
const promiseHandle = scope.manage(vmResolveResult.value);
const promiseThenHandle = scope.manage(this.getProp(promiseHandle, "then"));
this.unwrapResult(this.callFunction(promiseThenHandle, promiseHandle, resolveHandle, rejectHandle)).dispose();
});
});
}
// Properties ---------------------------------------------------------------
/**
* `handle[key]`.
* Get a property from a JSValue.
*
* @param key - The property may be specified as a JSValue handle, or as a
* Javascript string (which will be converted automatically).
*/
getProp(handle, key) {
this.runtime.assertOwned(handle);
const ptr = this.borrowPropertyKey(key).consume((quickJSKey) => this.ffi.QTS_GetProp(this.ctx.value, handle.value, quickJSKey.value));
const result = this.memory.heapValueHandle(ptr);
return result;
}
/**
* `handle[key] = value`.
* Set a property on a JSValue.
*
* @remarks
* Note that the QuickJS authors recommend using [[defineProp]] to define new
* properties.
*
* @param key - The property may be specified as a JSValue handle, or as a
* Javascript string or number (which will be converted automatically to a JSValue).
*/
setProp(handle, key, value) {
this.runtime.assertOwned(handle);
this.borrowPropertyKey(key).consume((quickJSKey) => this.ffi.QTS_SetProp(this.ctx.value, handle.value, quickJSKey.value, value.value));
}
/**
* [`Object.defineProperty(handle, key, descriptor)`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/defineProperty).
*
* @param key - The property may be specified as a JSValue handle, or as a
* Javascript string or number (which will be converted automatically to a JSValue).
*/
defineProp(handle, key, descriptor) {
this.runtime.assertOwned(handle);
lifetime_1.Scope.withScope((scope) => {
const quickJSKey = scope.manage(this.borrowPropertyKey(key));
const value = descriptor.value || this.undefined;
const configurable = Boolean(descriptor.configurable);
const enumerable = Boolean(descriptor.enumerable);
const hasValue = Boolean(descriptor.value);
const get = descriptor.get ? scope.manage(this.newFunction(descriptor.get.name, descriptor.get)) : this.undefined;
const set = descriptor.set ? scope.manage(this.newFunction(descriptor.set.name, descriptor.set)) : this.undefined;
this.ffi.QTS_DefineProp(this.ctx.value, handle.value, quickJSKey.value, value.value, get.value, set.value, configurable, enumerable, hasValue);
});
}
// Evaluation ---------------------------------------------------------------
/**
* [`func.call(thisVal, ...args)`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/call).
* Call a JSValue as a function.
*
* See [[unwrapResult]], which will throw if the function returned an error, or
* return the result handle directly. If evaluation returned a handle containing
* a promise, use [[resolvePromise]] to convert it to a native promise and
* [[executePendingJobs]] to finish evaluating the promise.
*
* @returns A result. If the function threw synchronously, `result.error` be a
* handle to the exception. Otherwise `result.value` will be a handle to the
* value.
*/
callFunction(func, thisVal, ...args) {
this.runtime.assertOwned(func);
const resultPtr = this.memory.toPointerArray(args).consume((argsArrayPtr) => this.ffi.QTS_Call(this.ctx.value, func.value, thisVal.value, args.length, argsArrayPtr.value));
const errorPtr = this.ffi.QTS_ResolveException(this.ctx.value, resultPtr);
if (errorPtr) {
this.ffi.QTS_FreeValuePointer(this.ctx.value, resultPtr);
return { error: this.memory.heapValueHandle(errorPtr) };
}
return { value: this.memory.heapValueHandle(resultPtr) };
}
/**
* Like [`eval(code)`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/eval#Description).
* Evaluates the Javascript source `code` in the global scope of this VM.
* When working with async code, you many need to call [[executePendingJobs]]
* to execute callbacks pending after synchronous evaluation returns.
*
* See [[unwrapResult]], which will throw if the function returned an error, or
* return the result handle directly. If evaluation returned a handle containing
* a promise, use [[resolvePromise]] to convert it to a native promise and
* [[executePendingJobs]] to finish evaluating the promise.
*
* *Note*: to protect against infinite loops, provide an interrupt handler to
* [[setInterruptHandler]]. You can use [[shouldInterruptAfterDeadline]] to
* create a time-based deadline.
*
* @returns The last statement's value. If the code threw synchronously,
* `result.error` will be a handle to the exception. If execution was
* interrupted, the error will have name `InternalError` and message
* `interrupted`.
*/
evalCode(code, filename = "eval.js", options) {
const detectModule = options === void 0 ? 1 : 0;
const flags = (0, types_1.evalOptionsToFlags)(options);
const resultPtr = this.memory.newHeapCharPointer(code).consume((charHandle) => this.ffi.QTS_Eval(this.ctx.value, charHandle.value, filename, detectModule, flags));
const errorPtr = this.ffi.QTS_ResolveException(this.ctx.value, resultPtr);
if (errorPtr) {
this.ffi.QTS_FreeValuePointer(this.ctx.value, resultPtr);
return { error: this.memory.heapValueHandle(errorPtr) };
}
return { value: this.memory.heapValueHandle(resultPtr) };
}
/**
* Throw an error in the VM, interrupted whatever current execution is in progress when execution resumes.
* @experimental
*/
throw(error) {
return this.errorToHandle(error).consume((handle) => this.ffi.QTS_Throw(this.ctx.value, handle.value));
}
/**
* @private
*/
borrowPropertyKey(key) {
if (typeof key === "number") {
return this.newNumber(key);
}
if (typeof key === "string") {
return this.newString(key);
}
return new lifetime_1.StaticLifetime(key.value, this.runtime);
}
/**
* @private
*/
getMemory(rt) {
if (rt === this.rt.value) {
return this.memory;
} else {
throw new Error("Private API. Cannot get memory from a different runtime");
}
}
// Utilities ----------------------------------------------------------------
/**
* Dump a JSValue to Javascript in a best-effort fashion.
* Returns `handle.toString()` if it cannot be serialized to JSON.
*/
dump(handle) {
this.runtime.assertOwned(handle);
const type = this.typeof(handle);
if (type === "string") {
return this.getString(handle);
} else if (type === "number") {
return this.getNumber(handle);
} else if (type === "bigint") {
return this.getBigInt(handle);
} else if (type === "undefined") {
return void 0;
} else if (type === "symbol") {
return this.getSymbol(handle);
}
const str = this.memory.consumeJSCharPointer(this.ffi.QTS_Dump(this.ctx.value, handle.value));
try {
return JSON.parse(str);
} catch (err) {
return str;
}
}
/**
* Unwrap a SuccessOrFail result such as a [[VmCallResult]] or a
* [[ExecutePendingJobsResult]], where the fail branch contains a handle to a QuickJS error value.
* If the result is a success, returns the value.
* If the result is an error, converts the error to a native object and throws the error.
*/
unwrapResult(result) {
if (result.error) {
const context = "context" in result.error ? result.error.context : this;
const cause = result.error.consume((error) => this.dump(error));
if (cause && typeof cause === "object" && typeof cause.message === "string") {
const { message, name, stack } = cause;
const exception = new errors_1.QuickJSUnwrapError("");
const hostStack = exception.stack;
if (typeof name === "string") {
exception.name = cause.name;
}
if (typeof stack === "string") {
exception.stack = `${name}: ${message}
${cause.stack}Host: ${hostStack}`;
}
Object.assign(exception, { cause, context, message });
throw exception;
}
throw new errors_1.QuickJSUnwrapError(cause, context);
}
return result.value;
}
/** @private */
getFunction(fn_id) {
const map_id = fn_id >> 8;
const fnMap = this.fnMaps.get(map_id);
if (!fnMap) {
return void 0;
}
return fnMap.get(fn_id);
}
/** @private */
setFunction(fn_id, handle) {
const map_id = fn_id >> 8;
let fnMap = this.fnMaps.get(map_id);
if (!fnMap) {
fnMap = /* @__PURE__ */ new Map();
this.fnMaps.set(map_id, fnMap);
}
return fnMap.set(fn_id, handle);
}
errorToHandle(error) {
if (error instanceof lifetime_1.Lifetime) {
return error;
}
return this.newError(error);
}
};
exports2.QuickJSContext = QuickJSContext;
}
});
// ../../../usr/share/nodejs/quickjs-emscripten/dist/runtime.js
var require_runtime = __commonJS({
"../../../usr/share/nodejs/quickjs-emscripten/dist/runtime.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.QuickJSRuntime = void 0;
var asyncify_helpers_1 = require_asyncify_helpers();
var context_1 = require_context();
var debug_1 = require_debug2();
var errors_1 = require_errors();
var lifetime_1 = require_lifetime();
var memory_1 = require_memory();
var types_1 = require_types2();
var QuickJSRuntime = class {
/** @private */
constructor(args) {
this.scope = new lifetime_1.Scope();
this.contextMap = /* @__PURE__ */ new Map();
this.cToHostCallbacks = {
shouldInterrupt: (rt) => {
if (rt !== this.rt.value) {
throw new Error("QuickJSContext instance received C -> JS interrupt with mismatched rt");
}
const fn2 = this.interruptHandler;
if (!fn2) {
throw new Error("QuickJSContext had no interrupt handler");
}
return fn2(this) ? 1 : 0;
},
loadModuleSource: (0, asyncify_helpers_1.maybeAsyncFn)(this, function* (awaited, rt, ctx, moduleName) {
const moduleLoader = this.moduleLoader;
if (!moduleLoader) {
throw new Error("Runtime has no module loader");
}
if (rt !== this.rt.value) {
throw new Error("Runtime pointer mismatch");
}
const context = this.contextMap.get(ctx) ?? this.newContext({
contextPointer: ctx
});
try {
const result = yield* awaited(moduleLoader(moduleName, context));
if (typeof result === "object" && "error" in result && result.error) {
(0, debug_1.debugLog)("cToHostLoadModule: loader returned error", result.error);
throw result.error;
}
const moduleSource = typeof result === "string" ? result : "value" in result ? result.value : result;
return this.memory.newHeapCharPointer(moduleSource).value;
} catch (error) {
(0, debug_1.debugLog)("cToHostLoadModule: caught error", error);
context.throw(error);
return 0;
}
}),
normalizeModule: (0, asyncify_helpers_1.maybeAsyncFn)(this, function* (awaited, rt, ctx, baseModuleName, moduleNameRequest) {
const moduleNormalizer = this.moduleNormalizer;
if (!moduleNormalizer) {
throw new Error("Runtime has no module normalizer");
}
if (rt !== this.rt.value) {
throw new Error("Runtime pointer mismatch");
}
const context = this.contextMap.get(ctx) ?? this.newContext({
/* TODO: Does this happen? Are we responsible for disposing? I don't think so */
contextPointer: ctx
});
try {
const result = yield* awaited(moduleNormalizer(baseModuleName, moduleNameRequest, context));
if (typeof result === "object" && "error" in result && result.error) {
(0, debug_1.debugLog)("cToHostNormalizeModule: normalizer returned error", result.error);
throw result.error;
}
const name = typeof result === "string" ? result : result.value;
return context.getMemory(this.rt.value).newHeapCharPointer(name).value;
} catch (error) {
(0, debug_1.debugLog)("normalizeModule: caught error", error);
context.throw(error);
return 0;
}
})
};
args.ownedLifetimes?.forEach((lifetime) => this.scope.manage(lifetime));
this.module = args.module;
this.memory = new memory_1.ModuleMemory(this.module);
this.ffi = args.ffi;
this.rt = args.rt;
this.callbacks = args.callbacks;
this.scope.manage(this.rt);
this.callbacks.setRuntimeCallbacks(this.rt.value, this.cToHostCallbacks);
this.executePendingJobs = this.executePendingJobs.bind(this);
}
get alive() {
return this.scope.alive;
}
dispose() {
return this.scope.dispose();
}
newContext(options = {}) {
if (options.intrinsics && options.intrinsics !== types_1.DefaultIntrinsics) {
throw new Error("TODO: Custom intrinsics are not supported yet");
}
const ctx = new lifetime_1.Lifetime(options.contextPointer || this.ffi.QTS_NewContext(this.rt.value), void 0, (ctx_ptr) => {
this.contextMap.delete(ctx_ptr);
this.callbacks.deleteContext(ctx_ptr);
this.ffi.QTS_FreeContext(ctx_ptr);
});
const context = new context_1.QuickJSContext({
module: this.module,
ctx,
ffi: this.ffi,
rt: this.rt,
ownedLifetimes: options.ownedLifetimes,
runtime: this,
callbacks: this.callbacks
});
this.contextMap.set(ctx.value, context);
return context;
}
/**
* Set the loader for EcmaScript modules requested by any context in this
* runtime.
*
* The loader can be removed with [[removeModuleLoader]].
*/
setModuleLoader(moduleLoader, moduleNormalizer) {
this.moduleLoader = moduleLoader;
this.moduleNormalizer = moduleNormalizer;
this.ffi.QTS_RuntimeEnableModuleLoader(this.rt.value, this.moduleNormalizer ? 1 : 0);
}
/**
* Remove the the loader set by [[setModuleLoader]]. This disables module loading.
*/
removeModuleLoader() {
this.moduleLoader = void 0;
this.ffi.QTS_RuntimeDisableModuleLoader(this.rt.value);
}
// Runtime management -------------------------------------------------------
/**
* In QuickJS, promises and async functions create pendingJobs. These do not execute
* immediately and need to be run by calling [[executePendingJobs]].
*
* @return true if there is at least one pendingJob queued up.
*/
hasPendingJob() {
return Boolean(this.ffi.QTS_IsJobPending(this.rt.value));
}
/**
* Set a callback which is regularly called by the QuickJS engine when it is
* executing code. This callback can be used to implement an execution
* timeout.
*
* The interrupt handler can be removed with [[removeInterruptHandler]].
*/
setInterruptHandler(cb) {
const prevInterruptHandler = this.interruptHandler;
this.interruptHandler = cb;
if (!prevInterruptHandler) {
this.ffi.QTS_RuntimeEnableInterruptHandler(this.rt.value);
}
}
/**
* Remove the interrupt handler, if any.
* See [[setInterruptHandler]].
*/
removeInterruptHandler() {
if (this.interruptHandler) {
this.ffi.QTS_RuntimeDisableInterruptHandler(this.rt.value);
this.interruptHandler = void 0;
}
}
/**
* Execute pendingJobs on the runtime until `maxJobsToExecute` jobs are
* executed (default all pendingJobs), the queue is exhausted, or the runtime
* encounters an exception.
*
* In QuickJS, promises and async functions *inside the runtime* create
* pendingJobs. These do not execute immediately and need to triggered to run.
*
* @param maxJobsToExecute - When negative, run all pending jobs. Otherwise execute
* at most `maxJobsToExecute` before returning.
*
* @return On success, the number of executed jobs. On error, the exception
* that stopped execution, and the context it occurred in. Note that
* executePendingJobs will not normally return errors thrown inside async
* functions or rejected promises. Those errors are available by calling
* [[resolvePromise]] on the promise handle returned by the async function.
*/
executePendingJobs(maxJobsToExecute = -1) {
const ctxPtrOut = this.memory.newMutablePointerArray(1);
const valuePtr = this.ffi.QTS_ExecutePendingJob(this.rt.value, maxJobsToExecute ?? -1, ctxPtrOut.value.ptr);
const ctxPtr = ctxPtrOut.value.typedArray[0];
ctxPtrOut.dispose();
if (ctxPtr === 0) {
this.ffi.QTS_FreeValuePointerRuntime(this.rt.value, valuePtr);
return { value: 0 };
}
const context = this.contextMap.get(ctxPtr) ?? this.newContext({
contextPointer: ctxPtr
});
const resultValue = context.getMemory(this.rt.value).heapValueHandle(valuePtr);
const typeOfRet = context.typeof(resultValue);
if (typeOfRet === "number") {
const executedJobs = context.getNumber(resultValue);
resultValue.dispose();
return { value: executedJobs };
} else {
const error = Object.assign(resultValue, { context });
return {
error
};
}
}
/**
* Set the max memory this runtime can allocate.
* To remove the limit, set to `-1`.
*/
setMemoryLimit(limitBytes) {
if (limitBytes < 0 && limitBytes !== -1) {
throw new Error("Cannot set memory limit to negative number. To unset, pass -1");
}
this.ffi.QTS_RuntimeSetMemoryLimit(this.rt.value, limitBytes);
}
/**
* Compute memory usage for this runtime. Returns the result as a handle to a
* JSValue object. Use [[QuickJSContext.dump]] to convert to a native object.
* Calling this method will allocate more memory inside the runtime. The information
* is accurate as of just before the call to `computeMemoryUsage`.
* For a human-digestible representation, see [[dumpMemoryUsage]].
*/
computeMemoryUsage() {
const serviceContextMemory = this.getSystemContext().getMemory(this.rt.value);
return serviceContextMemory.heapValueHandle(this.ffi.QTS_RuntimeComputeMemoryUsage(this.rt.value, serviceContextMemory.ctx.value));
}
/**
* @returns a human-readable description of memory usage in this runtime.
* For programmatic access to this information, see [[computeMemoryUsage]].
*/
dumpMemoryUsage() {
return this.memory.consumeHeapCharPointer(this.ffi.QTS_RuntimeDumpMemoryUsage(this.rt.value));
}
/**
* Set the max stack size for this runtime, in bytes.
* To remove the limit, set to `0`.
*/
setMaxStackSize(stackSize) {
if (stackSize < 0) {
throw new Error("Cannot set memory limit to negative number. To unset, pass 0.");
}
this.ffi.QTS_RuntimeSetMaxStackSize(this.rt.value, stackSize);
}
/**
* Assert that `handle` is owned by this runtime.
* @throws QuickJSWrongOwner if owned by a different runtime.
*/
assertOwned(handle) {
if (handle.owner && handle.owner.rt !== this.rt) {
throw new errors_1.QuickJSWrongOwner(`Handle is not owned by this runtime: ${handle.owner.rt.value} != ${this.rt.value}`);
}
}
getSystemContext() {
if (!this.context) {
this.context = this.scope.manage(this.newContext());
}
return this.context;
}
};
exports2.QuickJSRuntime = QuickJSRuntime;
}
});
// ../../../usr/share/nodejs/quickjs-emscripten/dist/module.js
var require_module = __commonJS({
"../../../usr/share/nodejs/quickjs-emscripten/dist/module.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.QuickJSWASMModule = exports2.applyModuleEvalRuntimeOptions = exports2.applyBaseRuntimeOptions = exports2.QuickJSModuleCallbacks = void 0;
var debug_1 = require_debug2();
var errors_1 = require_errors();
var lifetime_1 = require_lifetime();
var runtime_1 = require_runtime();
var types_1 = require_types2();
var QuickJSEmscriptenModuleCallbacks = class {
constructor(args) {
this.callFunction = args.callFunction;
this.shouldInterrupt = args.shouldInterrupt;
this.loadModuleSource = args.loadModuleSource;
this.normalizeModule = args.normalizeModule;
}
};
var QuickJSModuleCallbacks = class {
constructor(module3) {
this.contextCallbacks = /* @__PURE__ */ new Map();
this.runtimeCallbacks = /* @__PURE__ */ new Map();
this.suspendedCount = 0;
this.cToHostCallbacks = new QuickJSEmscriptenModuleCallbacks({
callFunction: (asyncify, ctx, this_ptr, argc, argv, fn_id) => this.handleAsyncify(asyncify, () => {
try {
const vm = this.contextCallbacks.get(ctx);
if (!vm) {
throw new Error(`QuickJSContext(ctx = ${ctx}) not found for C function call "${fn_id}"`);
}
return vm.callFunction(ctx, this_ptr, argc, argv, fn_id);
} catch (error) {
console.error("[C to host error: returning null]", error);
return 0;
}
}),
shouldInterrupt: (asyncify, rt) => this.handleAsyncify(asyncify, () => {
try {
const vm = this.runtimeCallbacks.get(rt);
if (!vm) {
throw new Error(`QuickJSRuntime(rt = ${rt}) not found for C interrupt`);
}
return vm.shouldInterrupt(rt);
} catch (error) {
console.error("[C to host interrupt: returning error]", error);
return 1;
}
}),
loadModuleSource: (asyncify, rt, ctx, moduleName) => this.handleAsyncify(asyncify, () => {
try {
const runtimeCallbacks = this.runtimeCallbacks.get(rt);
if (!runtimeCallbacks) {
throw new Error(`QuickJSRuntime(rt = ${rt}) not found for C module loader`);
}
const loadModule = runtimeCallbacks.loadModuleSource;
if (!loadModule) {
throw new Error(`QuickJSRuntime(rt = ${rt}) does not support module loading`);
}
return loadModule(rt, ctx, moduleName);
} catch (error) {
console.error("[C to host module loader error: returning null]", error);
return 0;
}
}),
normalizeModule: (asyncify, rt, ctx, moduleBaseName, moduleName) => this.handleAsyncify(asyncify, () => {
try {
const runtimeCallbacks = this.runtimeCallbacks.get(rt);
if (!runtimeCallbacks) {
throw new Error(`QuickJSRuntime(rt = ${rt}) not found for C module loader`);
}
const normalizeModule = runtimeCallbacks.normalizeModule;
if (!normalizeModule) {
throw new Error(`QuickJSRuntime(rt = ${rt}) does not support module loading`);
}
return normalizeModule(rt, ctx, moduleBaseName, moduleName);
} catch (error) {
console.error("[C to host module loader error: returning null]", error);
return 0;
}
})
});
this.module = module3;
this.module.callbacks = this.cToHostCallbacks;
}
setRuntimeCallbacks(rt, callbacks) {
this.runtimeCallbacks.set(rt, callbacks);
}
deleteRuntime(rt) {
this.runtimeCallbacks.delete(rt);
}
setContextCallbacks(ctx, callbacks) {
this.contextCallbacks.set(ctx, callbacks);
}
deleteContext(ctx) {
this.contextCallbacks.delete(ctx);
}
handleAsyncify(asyncify, fn2) {
if (asyncify) {
return asyncify.handleSleep((done) => {
try {
const result = fn2();
if (!(result instanceof Promise)) {
(0, debug_1.debugLog)("asyncify.handleSleep: not suspending:", result);
done(result);
return;
}
if (this.suspended) {
throw new errors_1.QuickJSAsyncifyError(`Already suspended at: ${this.suspended.stack}
Attempted to suspend at:`);
} else {
this.suspended = new errors_1.QuickJSAsyncifySuspended(`(${this.suspendedCount++})`);
(0, debug_1.debugLog)("asyncify.handleSleep: suspending:", this.suspended);
}
result.then((resolvedResult) => {
this.suspended = void 0;
(0, debug_1.debugLog)("asyncify.handleSleep: resolved:", resolvedResult);
done(resolvedResult);
}, (error) => {
(0, debug_1.debugLog)("asyncify.handleSleep: rejected:", error);
console.error("QuickJS: cannot handle error in suspended function", error);
this.suspended = void 0;
});
} catch (error) {
(0, debug_1.debugLog)("asyncify.handleSleep: error:", error);
this.suspended = void 0;
throw error;
}
});
}
const value = fn2();
if (value instanceof Promise) {
throw new Error("Promise return value not supported in non-asyncify context.");
}
return value;
}
};
exports2.QuickJSModuleCallbacks = QuickJSModuleCallbacks;
function applyBaseRuntimeOptions(runtime, options) {
if (options.interruptHandler) {
runtime.setInterruptHandler(options.interruptHandler);
}
if (options.maxStackSizeBytes !== void 0) {
runtime.setMaxStackSize(options.maxStackSizeBytes);
}
if (options.memoryLimitBytes !== void 0) {
runtime.setMemoryLimit(options.memoryLimitBytes);
}
}
exports2.applyBaseRuntimeOptions = applyBaseRuntimeOptions;
function applyModuleEvalRuntimeOptions(runtime, options) {
if (options.moduleLoader) {
runtime.setModuleLoader(options.moduleLoader);
}
if (options.shouldInterrupt) {
runtime.setInterruptHandler(options.shouldInterrupt);
}
if (options.memoryLimitBytes !== void 0) {
runtime.setMemoryLimit(options.memoryLimitBytes);
}
if (options.maxStackSizeBytes !== void 0) {
runtime.setMaxStackSize(options.maxStackSizeBytes);
}
}
exports2.applyModuleEvalRuntimeOptions = applyModuleEvalRuntimeOptions;
var QuickJSWASMModule = class {
/** @private */
constructor(module3, ffi) {
this.module = module3;
this.ffi = ffi;
this.callbacks = new QuickJSModuleCallbacks(module3);
}
/**
* Create a runtime.
* Use the runtime to set limits on CPU and memory usage and configure module
* loading for one or more [[QuickJSContext]]s inside the runtime.
*/
newRuntime(options = {}) {
const rt = new lifetime_1.Lifetime(this.ffi.QTS_NewRuntime(), void 0, (rt_ptr) => {
this.callbacks.deleteRuntime(rt_ptr);
this.ffi.QTS_FreeRuntime(rt_ptr);
});
const runtime = new runtime_1.QuickJSRuntime({
module: this.module,
callbacks: this.callbacks,
ffi: this.ffi,
rt
});
applyBaseRuntimeOptions(runtime, options);
if (options.moduleLoader) {
runtime.setModuleLoader(options.moduleLoader);
}
return runtime;
}
/**
* A simplified API to create a new [[QuickJSRuntime]] and a
* [[QuickJSContext]] inside that runtime at the same time. The runtime will
* be disposed when the context is disposed.
*/
newContext(options = {}) {
const runtime = this.newRuntime();
const context = runtime.newContext({
...options,
ownedLifetimes: (0, types_1.concat)(runtime, options.ownedLifetimes)
});
runtime.context = context;
return context;
}
/**
* One-off evaluate code without needing to create a [[QuickJSRuntime]] or
* [[QuickJSContext]] explicitly.
*
* To protect against infinite loops, use the `shouldInterrupt` option. The
* [[shouldInterruptAfterDeadline]] function will create a time-based deadline.
*
* If you need more control over how the code executes, create a
* [[QuickJSRuntime]] (with [[newRuntime]]) or a [[QuickJSContext]] (with
* [[newContext]] or [[QuickJSRuntime.newContext]]), and use its
* [[QuickJSContext.evalCode]] method.
*
* Asynchronous callbacks may not run during the first call to `evalCode`. If
* you need to work with async code inside QuickJS, create a runtime and use
* [[QuickJSRuntime.executePendingJobs]].
*
* @returns The result is coerced to a native Javascript value using JSON
* serialization, so properties and values unsupported by JSON will be dropped.
*
* @throws If `code` throws during evaluation, the exception will be
* converted into a native Javascript value and thrown.
*
* @throws if `options.shouldInterrupt` interrupted execution, will throw a Error
* with name `"InternalError"` and message `"interrupted"`.
*/
evalCode(code, options = {}) {
return lifetime_1.Scope.withScope((scope) => {
const vm = scope.manage(this.newContext());
applyModuleEvalRuntimeOptions(vm.runtime, options);
const result = vm.evalCode(code, "eval.js");
if (options.memoryLimitBytes !== void 0) {
vm.runtime.setMemoryLimit(-1);
}
if (result.error) {
const error = vm.dump(scope.manage(result.error));
throw error;
}
const value = vm.dump(scope.manage(result.value));
return value;
});
}
/**
* Get a low-level interface to the QuickJS functions in this WebAssembly
* module.
* @experimental
* @unstable No warranty is provided with this API. It could change at any time.
* @private
*/
getFFI() {
return this.ffi;
}
};
exports2.QuickJSWASMModule = QuickJSWASMModule;
}
});
// ../../../usr/share/nodejs/quickjs-emscripten/dist/context-asyncify.js
var require_context_asyncify = __commonJS({
"../../../usr/share/nodejs/quickjs-emscripten/dist/context-asyncify.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.QuickJSAsyncContext = void 0;
var context_1 = require_context();
var debug_1 = require_debug2();
var types_1 = require_types2();
var QuickJSAsyncContext = class extends context_1.QuickJSContext {
/**
* Asyncified version of [[evalCode]].
*/
async evalCodeAsync(code, filename = "eval.js", options) {
const detectModule = options === void 0 ? 1 : 0;
const flags = (0, types_1.evalOptionsToFlags)(options);
let resultPtr = 0;
try {
resultPtr = await this.memory.newHeapCharPointer(code).consume((charHandle) => this.ffi.QTS_Eval_MaybeAsync(this.ctx.value, charHandle.value, filename, detectModule, flags));
} catch (error) {
(0, debug_1.debugLog)("QTS_Eval_MaybeAsync threw", error);
throw error;
}
const errorPtr = this.ffi.QTS_ResolveException(this.ctx.value, resultPtr);
if (errorPtr) {
this.ffi.QTS_FreeValuePointer(this.ctx.value, resultPtr);
return { error: this.memory.heapValueHandle(errorPtr) };
}
return { value: this.memory.heapValueHandle(resultPtr) };
}
/**
* Similar to [[newFunction]].
* Convert an async host Javascript function into a synchronous QuickJS function value.
*
* Whenever QuickJS calls this function, the VM's stack will be unwound while
* waiting the async function to complete, and then restored when the returned
* promise resolves.
*
* Asyncified functions must never call other asyncified functions or
* `import`, even indirectly, because the stack cannot be unwound twice.
*
* See [Emscripten's docs on Asyncify](https://emscripten.org/docs/porting/asyncify.html).
*/
newAsyncifiedFunction(name, fn2) {
return this.newFunction(name, fn2);
}
};
exports2.QuickJSAsyncContext = QuickJSAsyncContext;
}
});
// ../../../usr/share/nodejs/quickjs-emscripten/dist/runtime-asyncify.js
var require_runtime_asyncify = __commonJS({
"../../../usr/share/nodejs/quickjs-emscripten/dist/runtime-asyncify.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.QuickJSAsyncRuntime = void 0;
var _1 = require_dist9();
var context_asyncify_1 = require_context_asyncify();
var runtime_1 = require_runtime();
var types_1 = require_types2();
var QuickJSAsyncRuntime = class extends runtime_1.QuickJSRuntime {
/** @private */
constructor(args) {
super(args);
}
newContext(options = {}) {
if (options.intrinsics && options.intrinsics !== types_1.DefaultIntrinsics) {
throw new Error("TODO: Custom intrinsics are not supported yet");
}
const ctx = new _1.Lifetime(this.ffi.QTS_NewContext(this.rt.value), void 0, (ctx_ptr) => {
this.contextMap.delete(ctx_ptr);
this.callbacks.deleteContext(ctx_ptr);
this.ffi.QTS_FreeContext(ctx_ptr);
});
const context = new context_asyncify_1.QuickJSAsyncContext({
module: this.module,
ctx,
ffi: this.ffi,
rt: this.rt,
ownedLifetimes: [],
runtime: this,
callbacks: this.callbacks
});
this.contextMap.set(ctx.value, context);
return context;
}
setModuleLoader(moduleLoader, moduleNormalizer) {
super.setModuleLoader(moduleLoader, moduleNormalizer);
}
/**
* Set the max stack size for this runtime in bytes.
* To remove the limit, set to `0`.
*
* Setting this limit also adjusts the global `ASYNCIFY_STACK_SIZE` for the entire {@link QuickJSAsyncWASMModule}.
* See the [pull request](https://github.com/justjake/quickjs-emscripten/pull/114) for more details.
*/
setMaxStackSize(stackSize) {
return super.setMaxStackSize(stackSize);
}
};
exports2.QuickJSAsyncRuntime = QuickJSAsyncRuntime;
}
});
// ../../../usr/share/nodejs/quickjs-emscripten/dist/module-asyncify.js
var require_module_asyncify = __commonJS({
"../../../usr/share/nodejs/quickjs-emscripten/dist/module-asyncify.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.QuickJSAsyncWASMModule = void 0;
var errors_1 = require_errors();
var lifetime_1 = require_lifetime();
var module_1 = require_module();
var runtime_asyncify_1 = require_runtime_asyncify();
var QuickJSAsyncWASMModule = class extends module_1.QuickJSWASMModule {
/** @private */
constructor(module3, ffi) {
super(module3, ffi);
this.ffi = ffi;
this.module = module3;
}
/**
* Create a new async runtime inside this WebAssembly module. All runtimes inside a
* module are limited to a single async call at a time. For multiple
* concurrent async actions, create multiple WebAssembly modules.
*/
newRuntime(options = {}) {
const rt = new lifetime_1.Lifetime(this.ffi.QTS_NewRuntime(), void 0, (rt_ptr) => {
this.callbacks.deleteRuntime(rt_ptr);
this.ffi.QTS_FreeRuntime(rt_ptr);
});
const runtime = new runtime_asyncify_1.QuickJSAsyncRuntime({
module: this.module,
ffi: this.ffi,
rt,
callbacks: this.callbacks
});
(0, module_1.applyBaseRuntimeOptions)(runtime, options);
if (options.moduleLoader) {
runtime.setModuleLoader(options.moduleLoader);
}
return runtime;
}
/**
* A simplified API to create a new [[QuickJSRuntime]] and a
* [[QuickJSContext]] inside that runtime at the same time. The runtime will
* be disposed when the context is disposed.
*/
newContext(options = {}) {
const runtime = this.newRuntime();
const lifetimes = options.ownedLifetimes ? options.ownedLifetimes.concat([runtime]) : [runtime];
const context = runtime.newContext({ ...options, ownedLifetimes: lifetimes });
runtime.context = context;
return context;
}
/** Synchronous evalCode is not supported. */
evalCode() {
throw new errors_1.QuickJSNotImplemented("QuickJSWASMModuleAsyncify.evalCode: use evalCodeAsync instead");
}
/**
* One-off evaluate code without needing to create a [[QuickJSRuntimeAsync]] or
* [[QuickJSContextSync]] explicitly.
*
* This version allows for asynchronous Ecmascript module loading.
*
* Note that only a single async action can occur at a time inside the entire WebAssembly module.
* **Multiple concurrent async actions is an error.**
*
* See the documentation for [[QuickJSWASMModule.evalCode]] for more details.
*/
evalCodeAsync(code, options) {
return lifetime_1.Scope.withScopeAsync(async (scope) => {
const vm = scope.manage(this.newContext());
(0, module_1.applyModuleEvalRuntimeOptions)(vm.runtime, options);
const result = await vm.evalCodeAsync(code, "eval.js");
if (options.memoryLimitBytes !== void 0) {
vm.runtime.setMemoryLimit(-1);
}
if (result.error) {
const error = vm.dump(scope.manage(result.error));
throw error;
}
const value = vm.dump(scope.manage(result.value));
return value;
});
}
};
exports2.QuickJSAsyncWASMModule = QuickJSAsyncWASMModule;
}
});
// ../../../usr/share/nodejs/quickjs-emscripten/dist/generated/ffi.WASM_RELEASE_SYNC.js
var require_ffi_WASM_RELEASE_SYNC = __commonJS({
"../../../usr/share/nodejs/quickjs-emscripten/dist/generated/ffi.WASM_RELEASE_SYNC.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.QuickJSFFI = void 0;
var QuickJSFFI = class {
constructor(module3) {
this.module = module3;
this.DEBUG = false;
this.QTS_Throw = this.module.cwrap("QTS_Throw", "number", ["number", "number"]);
this.QTS_NewError = this.module.cwrap("QTS_NewError", "number", ["number"]);
this.QTS_RuntimeSetMemoryLimit = this.module.cwrap("QTS_RuntimeSetMemoryLimit", null, ["number", "number"]);
this.QTS_RuntimeComputeMemoryUsage = this.module.cwrap("QTS_RuntimeComputeMemoryUsage", "number", ["number", "number"]);
this.QTS_RuntimeDumpMemoryUsage = this.module.cwrap("QTS_RuntimeDumpMemoryUsage", "number", ["number"]);
this.QTS_RecoverableLeakCheck = this.module.cwrap("QTS_RecoverableLeakCheck", "number", []);
this.QTS_BuildIsSanitizeLeak = this.module.cwrap("QTS_BuildIsSanitizeLeak", "number", []);
this.QTS_RuntimeSetMaxStackSize = this.module.cwrap("QTS_RuntimeSetMaxStackSize", null, ["number", "number"]);
this.QTS_GetUndefined = this.module.cwrap("QTS_GetUndefined", "number", []);
this.QTS_GetNull = this.module.cwrap("QTS_GetNull", "number", []);
this.QTS_GetFalse = this.module.cwrap("QTS_GetFalse", "number", []);
this.QTS_GetTrue = this.module.cwrap("QTS_GetTrue", "number", []);
this.QTS_NewRuntime = this.module.cwrap("QTS_NewRuntime", "number", []);
this.QTS_FreeRuntime = this.module.cwrap("QTS_FreeRuntime", null, ["number"]);
this.QTS_NewContext = this.module.cwrap("QTS_NewContext", "number", ["number"]);
this.QTS_FreeContext = this.module.cwrap("QTS_FreeContext", null, ["number"]);
this.QTS_FreeValuePointer = this.module.cwrap("QTS_FreeValuePointer", null, ["number", "number"]);
this.QTS_FreeValuePointerRuntime = this.module.cwrap("QTS_FreeValuePointerRuntime", null, ["number", "number"]);
this.QTS_FreeVoidPointer = this.module.cwrap("QTS_FreeVoidPointer", null, ["number", "number"]);
this.QTS_FreeCString = this.module.cwrap("QTS_FreeCString", null, ["number", "number"]);
this.QTS_DupValuePointer = this.module.cwrap("QTS_DupValuePointer", "number", ["number", "number"]);
this.QTS_NewObject = this.module.cwrap("QTS_NewObject", "number", ["number"]);
this.QTS_NewObjectProto = this.module.cwrap("QTS_NewObjectProto", "number", ["number", "number"]);
this.QTS_NewArray = this.module.cwrap("QTS_NewArray", "number", ["number"]);
this.QTS_NewFloat64 = this.module.cwrap("QTS_NewFloat64", "number", ["number", "number"]);
this.QTS_GetFloat64 = this.module.cwrap("QTS_GetFloat64", "number", ["number", "number"]);
this.QTS_NewString = this.module.cwrap("QTS_NewString", "number", ["number", "number"]);
this.QTS_GetString = this.module.cwrap("QTS_GetString", "number", ["number", "number"]);
this.QTS_NewSymbol = this.module.cwrap("QTS_NewSymbol", "number", ["number", "number", "number"]);
this.QTS_GetSymbolDescriptionOrKey = this.module.cwrap("QTS_GetSymbolDescriptionOrKey", "number", ["number", "number"]);
this.QTS_IsGlobalSymbol = this.module.cwrap("QTS_IsGlobalSymbol", "number", ["number", "number"]);
this.QTS_IsJobPending = this.module.cwrap("QTS_IsJobPending", "number", ["number"]);
this.QTS_ExecutePendingJob = this.module.cwrap("QTS_ExecutePendingJob", "number", ["number", "number", "number"]);
this.QTS_GetProp = this.module.cwrap("QTS_GetProp", "number", ["number", "number", "number"]);
this.QTS_SetProp = this.module.cwrap("QTS_SetProp", null, ["number", "number", "number", "number"]);
this.QTS_DefineProp = this.module.cwrap("QTS_DefineProp", null, ["number", "number", "number", "number", "number", "number", "boolean", "boolean", "boolean"]);
this.QTS_Call = this.module.cwrap("QTS_Call", "number", ["number", "number", "number", "number", "number"]);
this.QTS_ResolveException = this.module.cwrap("QTS_ResolveException", "number", ["number", "number"]);
this.QTS_Dump = this.module.cwrap("QTS_Dump", "number", ["number", "number"]);
this.QTS_Eval = this.module.cwrap("QTS_Eval", "number", ["number", "number", "string", "number", "number"]);
this.QTS_Typeof = this.module.cwrap("QTS_Typeof", "number", ["number", "number"]);
this.QTS_GetGlobalObject = this.module.cwrap("QTS_GetGlobalObject", "number", ["number"]);
this.QTS_NewPromiseCapability = this.module.cwrap("QTS_NewPromiseCapability", "number", ["number", "number"]);
this.QTS_TestStringArg = this.module.cwrap("QTS_TestStringArg", null, ["string"]);
this.QTS_BuildIsDebug = this.module.cwrap("QTS_BuildIsDebug", "number", []);
this.QTS_BuildIsAsyncify = this.module.cwrap("QTS_BuildIsAsyncify", "number", []);
this.QTS_NewFunction = this.module.cwrap("QTS_NewFunction", "number", ["number", "number", "string"]);
this.QTS_ArgvGetJSValueConstPointer = this.module.cwrap("QTS_ArgvGetJSValueConstPointer", "number", ["number", "number"]);
this.QTS_RuntimeEnableInterruptHandler = this.module.cwrap("QTS_RuntimeEnableInterruptHandler", null, ["number"]);
this.QTS_RuntimeDisableInterruptHandler = this.module.cwrap("QTS_RuntimeDisableInterruptHandler", null, ["number"]);
this.QTS_RuntimeEnableModuleLoader = this.module.cwrap("QTS_RuntimeEnableModuleLoader", null, ["number", "number"]);
this.QTS_RuntimeDisableModuleLoader = this.module.cwrap("QTS_RuntimeDisableModuleLoader", null, ["number"]);
}
};
exports2.QuickJSFFI = QuickJSFFI;
}
});
// ../../../usr/share/nodejs/quickjs-emscripten/dist/generated/emscripten-module.WASM_RELEASE_SYNC.js
var require_emscripten_module_WASM_RELEASE_SYNC = __commonJS({
"../../../usr/share/nodejs/quickjs-emscripten/dist/generated/emscripten-module.WASM_RELEASE_SYNC.js"(exports2, module2) {
"use strict";
var QuickJSRaw = (() => {
var _scriptName = typeof document != "undefined" ? document.currentScript?.src : void 0;
if (typeof __filename != "undefined")
_scriptName = _scriptName || __filename;
return function(moduleArg = {}) {
var moduleRtn;
var Module2 = moduleArg;
var readyPromiseResolve, readyPromiseReject;
var readyPromise = new Promise((resolve, reject) => {
readyPromiseResolve = resolve;
readyPromiseReject = reject;
});
var ENVIRONMENT_IS_WEB = typeof window == "object";
var ENVIRONMENT_IS_WORKER = typeof importScripts == "function";
var ENVIRONMENT_IS_NODE = typeof process == "object" && typeof process.versions == "object" && typeof process.versions.node == "string" && process.type != "renderer";
if (ENVIRONMENT_IS_NODE) {
}
var moduleOverrides = Object.assign({}, Module2);
var arguments_ = [];
var thisProgram = "./this.program";
var quit_ = (status, toThrow) => {
throw toThrow;
};
var scriptDirectory = "";
var readAsync, readBinary;
if (ENVIRONMENT_IS_NODE) {
var fs8 = require("fs");
var nodePath = require("path");
scriptDirectory = __dirname + "/";
readBinary = (filename) => {
filename = isFileURI(filename) ? new URL(filename) : nodePath.normalize(filename);
var ret = fs8.readFileSync(filename);
return ret;
};
readAsync = (filename, binary = true) => {
filename = isFileURI(filename) ? new URL(filename) : nodePath.normalize(filename);
return new Promise((resolve, reject) => {
fs8.readFile(filename, binary ? void 0 : "utf8", (err2, data) => {
if (err2)
reject(err2);
else
resolve(binary ? data.buffer : data);
});
});
};
if (!Module2["thisProgram"] && process.argv.length > 1) {
thisProgram = process.argv[1].replace(/\\/g, "/");
}
arguments_ = process.argv.slice(2);
quit_ = (status, toThrow) => {
process.exitCode = status;
throw toThrow;
};
} else if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) {
if (ENVIRONMENT_IS_WORKER) {
scriptDirectory = self.location.href;
} else if (typeof document != "undefined" && document.currentScript) {
scriptDirectory = document.currentScript.src;
}
if (_scriptName) {
scriptDirectory = _scriptName;
}
if (scriptDirectory.startsWith("blob:")) {
scriptDirectory = "";
} else {
scriptDirectory = scriptDirectory.substr(0, scriptDirectory.replace(/[?#].*/, "").lastIndexOf("/") + 1);
}
{
if (ENVIRONMENT_IS_WORKER) {
readBinary = (url) => {
var xhr = new XMLHttpRequest();
xhr.open("GET", url, false);
xhr.responseType = "arraybuffer";
xhr.send(null);
return new Uint8Array(xhr.response);
};
}
readAsync = (url) => {
if (isFileURI(url)) {
return new Promise((resolve, reject) => {
var xhr = new XMLHttpRequest();
xhr.open("GET", url, true);
xhr.responseType = "arraybuffer";
xhr.onload = () => {
if (xhr.status == 200 || xhr.status == 0 && xhr.response) {
resolve(xhr.response);
return;
}
reject(xhr.status);
};
xhr.onerror = reject;
xhr.send(null);
});
}
return fetch(url, { credentials: "same-origin" }).then((response) => {
if (response.ok) {
return response.arrayBuffer();
}
return Promise.reject(new Error(response.status + " : " + response.url));
});
};
}
} else {
}
var out = Module2["print"] || console.log.bind(console);
var err = Module2["printErr"] || console.error.bind(console);
Object.assign(Module2, moduleOverrides);
moduleOverrides = null;
if (Module2["arguments"])
arguments_ = Module2["arguments"];
if (Module2["thisProgram"])
thisProgram = Module2["thisProgram"];
var wasmBinary = Module2["wasmBinary"];
function intArrayFromBase64(s) {
if (typeof ENVIRONMENT_IS_NODE != "undefined" && ENVIRONMENT_IS_NODE) {
var buf = Buffer.from(s, "base64");
return new Uint8Array(buf.buffer, buf.byteOffset, buf.length);
}
var decoded = atob(s);
var bytes = new Uint8Array(decoded.length);
for (var i = 0; i < decoded.length; ++i) {
bytes[i] = decoded.charCodeAt(i);
}
return bytes;
}
function tryParseAsDataURI(filename) {
if (!isDataURI(filename)) {
return;
}
return intArrayFromBase64(filename.slice(dataURIPrefix.length));
}
var wasmMemory;
var ABORT = false;
var HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAPF64;
function updateMemoryViews() {
var b = wasmMemory.buffer;
Module2["HEAP8"] = HEAP8 = new Int8Array(b);
Module2["HEAP16"] = HEAP16 = new Int16Array(b);
Module2["HEAPU8"] = HEAPU8 = new Uint8Array(b);
Module2["HEAPU16"] = HEAPU16 = new Uint16Array(b);
Module2["HEAP32"] = HEAP32 = new Int32Array(b);
Module2["HEAPU32"] = HEAPU32 = new Uint32Array(b);
Module2["HEAPF32"] = HEAPF32 = new Float32Array(b);
Module2["HEAPF64"] = HEAPF64 = new Float64Array(b);
}
var __ATPRERUN__ = [];
var __ATINIT__ = [];
var __ATPOSTRUN__ = [];
var runtimeInitialized = false;
function preRun() {
var preRuns = Module2["preRun"];
if (preRuns) {
if (typeof preRuns == "function")
preRuns = [preRuns];
preRuns.forEach(addOnPreRun);
}
callRuntimeCallbacks(__ATPRERUN__);
}
function initRuntime() {
runtimeInitialized = true;
callRuntimeCallbacks(__ATINIT__);
}
function postRun() {
var postRuns = Module2["postRun"];
if (postRuns) {
if (typeof postRuns == "function")
postRuns = [postRuns];
postRuns.forEach(addOnPostRun);
}
callRuntimeCallbacks(__ATPOSTRUN__);
}
function addOnPreRun(cb) {
__ATPRERUN__.unshift(cb);
}
function addOnInit(cb) {
__ATINIT__.unshift(cb);
}
function addOnPostRun(cb) {
__ATPOSTRUN__.unshift(cb);
}
var runDependencies = 0;
var runDependencyWatcher = null;
var dependenciesFulfilled = null;
function addRunDependency(id) {
runDependencies++;
Module2["monitorRunDependencies"]?.(runDependencies);
}
function removeRunDependency(id) {
runDependencies--;
Module2["monitorRunDependencies"]?.(runDependencies);
if (runDependencies == 0) {
if (runDependencyWatcher !== null) {
clearInterval(runDependencyWatcher);
runDependencyWatcher = null;
}
if (dependenciesFulfilled) {
var callback = dependenciesFulfilled;
dependenciesFulfilled = null;
callback();
}
}
}
function abort(what) {
Module2["onAbort"]?.(what);
what = "Aborted(" + what + ")";
err(what);
ABORT = true;
what += ". Build with -sASSERTIONS for more info.";
var e = new WebAssembly.RuntimeError(what);
readyPromiseReject(e);
throw e;
}
var dataURIPrefix = "data:application/octet-stream;base64,";
var isDataURI = (filename) => filename.startsWith(dataURIPrefix);
var isFileURI = (filename) => filename.startsWith("file://");
function findWasmBinary() {
var f = "data:application/octet-stream;base64,AGFzbQEAAAAB/AZyYAJ/fwBgA39/fwF/YAR/fn9/AX5gAn9/AX9gAX8Bf2AFf35/f38BfmADf39/AGAEf39/fwF/YAJ/fgF+YAF/AGAFf39/f38Bf2ABfAF8YAJ/fgBgAn9/AX5gAn9+AX9gA39/fgF/YAN/fn8BfmADf35/AGAGf35/f39/AX5gBH9/f38AYAZ/f39/f38Bf2ADf35/AX9gBn9+fn9/fwF+YAR/f35/AX9gA39+fgF+YAN/f38BfmAFf39/fn4Bf2AEf39/fgF/YAR/f35+AX9gAX8BfmADf35+AX9gBH9/f38BfmAHf39/f39/fwF/YAV/f39/fwF+YAJ8fAF8YAABf2AFf35+fn4AYAV/f39/fwBgBX9+f35/AX9gBX9+fn9/AX5gAX4Bf2AEf35+fwBgB39+f35+fn8Bf2AIf39/f39/f38Bf2AFf35+fn8Bf2AGf35/fn5/AX9gAABgBH9+f34BfmAEf35/fwBgBH9+f34AYAZ/f39/f38BfmAEf35+fwF/YAl/f39/f39/f38Bf2AEf35+fwF+YAR/fn9/AX9gA39+fgBgA35/fwF/YAV/fn5/fwBgA39/fgF+YAd/fn9/f39/AX5gA39/fgBgBH9+f34Bf2AFf39+f38Bf2AEf35+fgF/YAd/f39/f39/AGACfH8BfGABfAF/YAN8fH8BfGACf38BfGAEf39+fwBgBH9+fn4BfmABfgF+YAJ/fAF/YAZ/fH9/f38Bf2AAAXxgBX9+f35/AX5gBn9/fn5+fgF/YAJ+fwBgAn98AGAEf39+fwF+YAV/f39/fgF+YAd/fn5+f39/AX5gBH5+fn4Bf2AHf39/f39/fgF+YAp/f39/f39/f39/AX9gB39/fn5/f38Bf2AFf3x/f38BfmACfn8Bf2AGfH9/f39/AGAFf35/f38AYAV/f35/fwBgBn9+fn5+fwF/YAV/f35+fwF/YAZ/fn9/f38Bf2ADf3x/AX9gBX9+f39/AX9gBX9/fn5+AX5gBX9+fn5+AX9gBn9/fn5/fwF/YAd/f39+fn5/AX9gBH9/f34BfmACfH8Bf2AGf39/f39/AGAIf39/f39/f38AYAN/fnwBfmAAAX5gAnx8AX9gAn5+AXxgAX8BfGADfn5+AX9gBH9+fn4AYAN/f3wAYAh/fn5+fn9+fgF+YAl/f39/f39/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8QSuCNQFrAipCKMIpAiiCKEIoAjxB4sJigmGCYUJiQnsB+0H6gfnB+EH4AffB9EHvgeYB/MEugmXCZYJlQmUCZMJkgmRCZAJjwmOCY0JhwnqCOkImgiZCJgIlwiWCKAFlQiUCJMIkgiRCI8IjgiNCIwIiwiKCIkIiAiHCIYIhQiECIMI6AOCCOgDgQiACP8H/QebCJ4InQicCJ8I2AP8B/sHjweOB5cHlgeUB5MHkgeRB5AH3gfdB9wH6APbB6AF2gfZB9cH1genCKYIpQj7BoYHhQeEB4MHggeBB4AH/wb+Bv0G/AblB4cHjQeLB5kHogeeB6EHoAedB5wHmweaB6MH5AfjB+IH/wHoB+YH6QfrB+4H8QbPBPAG7wbuBu0GyQTsBusG9AbRBPIG8wfyB/cH9gf1B/QH+gemCd8GpQniBqQJowmiCaEJ3QbbBsYEoAmfCZ4JrQadCZwJmwmaCa8GsAmvCa4JrQmsCasJqgmpCacJtgmbA7UJtAmzCbIJsQnDCccHxgfCCcEJwAm/CdUDvgm9CfcE+AS8CbsJuQm4CbcJxwnGCcQJzgnNCb0EvATMCcsJygnJCcgJ0wnSCdEJ0AnPCbUGtAazBrIGtwa2BroGuQa4Bs4GzQbMBssGygbJBsgGxwbGBsUGxAbDBsIGwQbABr8Gvga9BrwGuwbPBtgG/Qj1CPcI1waACYEJ/gibBPsI9gjqA80C1gbxCO0I6wjVBvQI8AjsCP8I/Aj6CJgCpQPVCe4I+QjUBtMG0gbRBtAG5AbjBuEG4AbeBtwG2gbZBucG5gblBukG6AbqBqYHpQekB80HgQXVB4AFzAfLB8oHyQfFB8QHwwfCB8AHvwe9B7wH0AfOB9MH0gewB68HrgetB6wHqweqB6kHqAenB7sHuge4B7cHtge1B7QHsweyB7EHhAmCCYMJ1wPvCAqnhxfHCTYBAX8CQCABQoCAgIDQflQNACABpyICIAIoAgAiAkEBazYCACACQQFKDQAgACgCECABEJQECwtNAQJ/IAAoAkAiAkGAAmohAyACKAKcAiAAKAIERwRAIANBwgEQESADIAAoAgQQHSACIAAoAgQ2ApwCCyACIAIoAoQCNgKYAiADIAEQEQsmAQF/IwBBEGsiAiQAIAIgAToADyAAIAJBD2pBARBzIAJBEGokAAuAGAIGfwJ+IwBBEGsiAiQA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AgAiACgCpAIgAUEUbGogACgChAI2AgQLCzMBAX8gAgRAIAAhAwNAIAMgAS0AADoAACADQQFqIQMgAUEBaiEBIAJBAWsiAg0ACwsgAAsXACAAIAEgAkKAgICAMCADIARBAhDZAQvABQICfgZ/IwBB4ABrIgkkACADQQAgA0EAShshCwNAIAogC0ZFBEAgACACIApBBHRqIgMoAgAQswUhBiADLQAEIQdCgICAgDAhBAJAAkACQAJAAkACQAJAAkACQAJAIAMtAAUOCgECAgUHAwQIBQAGCyAAIAMoAggQswUhCAJ+AkACQAJAIAMoAgxBAWoOAwIAAQkLIAAgACkDwAEiBCAIIARBABAUDAILIAAgACgCKCkDECIEIAggBEEAEBQMAQsgACABIAggAUEAEBQLIQQgACAIEBMgBkHQAUYEQEEBIQcMCAsgBkHZAUcNB0EAIQcMBwsCQCAGQdABRgRAQQEhBwwBCyAGQdkBRw0AQQAhBwsgACABIAZBAiADIAcQlAMaDAcLQoCAgIAwIQUgAygCCARAIAkgAygCADYCECAJQSBqIghBwABBzDwgCUEQahBPGiAAIAMoAgggCEEAQQpBCCADLQAFQQJGGyADLgEGEIMBIQULIAMoAgwEQCAJIAMoAgA2AgAgCUEgaiIIQcAAQcU8IAkQTxogACADKAIMIAhBAUELQQkgAy0ABUECRhsgAy4BBhCDASEECyAAIAEgBkKAgICAMCAFIAQgB0GAOnIQbhogACAFEA8gACAEEA8MBgsgAykDCCIEQoCAgIAIfEL/////D1gEQCAEQv////8PgyEEDAULQoCAgIDAfiAEub0iBEKAgICAwIGA/P8AfSAEQv///////////wCDQoCAgICAgID4/wBWGyEEDAQLQoCAgIDAfiADKQMIIgRCgICAgMCBgPz/AH0gBEL///////////8Ag0KAgICAgICA+P8AVhshBAwDCyAAIAEgBkECIAMgBxCUAxoMAwsQLAALIAM1AgghBAsgACABIAYgBCAHEBkaCyAAIAYQEyAKQQFqIQoMAQsLIAlB4ABqJAALMwEBfwJAIAFCgICAgNB+VA0AIAGnIgIgAigCACICQQFrNgIAIAJBAUoNACAAIAEQlAQLC6wCAgJ+AX8CQAJAAkACQAJAAkACQAJAAkACQAJAQQcgAUIgiKciBCAEQQdrQW5JG0ELag4TBAIDCAYAAAAAAAEFBwAAAAABBQALIABBlTBBABAVQoCAgIDgAA8LIAFCgICAgNB+VA0IIAGnIgAgACgCAEEBajYCAAwICyAAQSEQdyECDAYLIABBIhB3IQIMBQsgAEEkEHchAgwECyAAQQQQdyECDAMLIAAgAEEFEHciAkEwIAGnNQIEQv////8Hg0EAEBkaDAILIABBBhB3IQIMAQsgAEEHEHchAgtCgICAgOAAIQMgAkKAgICAcINCgICAgOAAUgR+IAFCgICAgNB+WgRAIAGnIgQgBCgCAEEBajYCAAsgACACIAEQ3AEgAgVCgICAgOAACw8LIAELCwAgAEGAMUEAEBULxwEBAn9BfyECAkACQAJAAkACQAJAAkAgAUIgiKciA0ELag4SBgYGBAIEBAQEBAMAAQEBBAQFBAsgAadBAEcPCyABpw8LIAGnKAIEIAAgARAPQf////8HcUEARw8LIAGnLAAFIAAgARAPQQBODwsgA0EHa0FtTQRAIAFCgICAgMCBgPz/AHxC////////////AINCAX1CgICAgICAgPj/AFQPCyAAIAEQD0EBIQILIAIPCyABpygCDCAAIAEQD0H/////B2pBfkkLowQBC38gACgCACEFIwBBEGsiCCACNgIMQX8hCQJAA0ACQCAIIAIiA0EEaiICNgIMIAMoAgAiB0F/Rg0AIAAoAgQhCgNAIAEiBCAKTg0DIAQgBCAFaiIMLQAAIgZBAnRBgLgBaiINLQAAaiIBIApKDQMgBkHCAUYEQCAMKAABIQkMAQsLIAYgB0cEQCAHQRh2IAZGIAYgB0EQdkH/AXFGciAGIAdB/wFxRnJFIAYgB0EIdkH/AXFHcSAGRSAHQYACSXJyDQMgACAGNgIQCyAEQQFqIQQCQAJAAkACQAJAAkACQAJAIA0tAANBBWsOGAAJAAkJAQkJAQkJAQEBAgICAgQFBgcJAwkLIAQgBWotAAAhBCAIIANBCGoiAjYCDCADKAIEIgNBf0YEQCAAIAQ2AhQMCQsgAyAERg0IDAkLIAQgBWovAAAhBCAIIANBCGoiAjYCDCADKAIEIgNBf0YEQCAAIAQ2AhQMCAsgAyAERg0HDAgLIAAgBCAFaigAADYCGAwGCyAAIAQgBWoiAygAADYCGCAAIAMvAAQ2AhwMBQsgACAEIAVqKAAANgIgDAQLIAAgBCAFaiIDKAAANgIgIAAgAy0ABDYCHAwDCyAAIAQgBWoiAygAADYCICAAIAMvAAQ2AhwMAgsgACAEIAVqIgMoAAA2AiAgACADKAAENgIYIAAgAy0ACDYCHAwBCwsgACAJNgIMIAAgATYCCEEBIQsLIAsLCwAgACABQQAQjAQLJAEBfyAAKAIQIgJBEGogASACKAIAEQMAIgFFBEAgABB9CyABCyYBAX8jAEEQayICJAAgAiABOwEOIAAgAkEOakECEHMgAkEQaiQACykBAX8gAgRAIAAhAwNAIAMgAToAACADQQFqIQMgAkEBayICDQALCyAACwUAEAEACzsBAX8jAEEQayICJAACfyABIAAoAhBHBEAgAiABNgIAIABBp5gBIAIQFkF/DAELIAAQEgsgAkEQaiQACwsAIAAgAUEBEOUFC7sKAgV/D34jAEHgAGsiBSQAIARC////////P4MhDCACIASFQoCAgICAgICAgH+DIQogAkL///////8/gyINQiCIIQ4gBEIwiKdB//8BcSEHAkACQCACQjCIp0H//wFxIglB//8Ba0GCgH5PBEAgB0H//wFrQYGAfksNAQsgAVAgAkL///////////8AgyILQoCAgICAgMD//wBUIAtCgICAgICAwP//AFEbRQRAIAJCgICAgICAIIQhCgwCCyADUCAEQv///////////wCDIgJCgICAgICAwP//AFQgAkKAgICAgIDA//8AURtFBEAgBEKAgICAgIAghCEKIAMhAQwCCyABIAtCgICAgICAwP//AIWEUARAIAIgA4RQBEBCgICAgICA4P//ACEKQgAhAQwDCyAKQoCAgICAgMD//wCEIQpCACEBDAILIAMgAkKAgICAgIDA//8AhYRQBEAgASALhEIAIQFQBEBCgICAgICA4P//ACEKDAMLIApCgICAgICAwP//AIQhCgwCCyABIAuEUARAQgAhAQwCCyACIAOEUARAQgAhAQwCCyALQv///////z9YBEAgBUHQAGogASANIAEgDSANUCIGG3kgBkEGdK18pyIGQQ9rEGhBECAGayEGIAUpA1giDUIgiCEOIAUpA1AhAQsgAkL///////8/Vg0AIAVBQGsgAyAMIAMgDCAMUCIIG3kgCEEGdK18pyIIQQ9rEGggBiAIa0EQaiEGIAUpA0ghDCAFKQNAIQMLIANCD4YiC0KAgP7/D4MiAiABQiCIIgR+IhAgC0IgiCITIAFC/////w+DIgF+fCIPQiCGIhEgASACfnwiCyARVK0gAiANQv////8PgyINfiIVIAQgE358IhEgDEIPhiISIANCMYiEQv////8PgyIDIAF+fCIUIA8gEFStQiCGIA9CIIiEfCIPIAIgDkKAgASEIgx+IhYgDSATfnwiDiASQiCIQoCAgIAIhCICIAF+fCIQIAMgBH58IhJCIIZ8Ihd8IQEgByAJaiAGakH//wBrIQYCQCACIAR+IhggDCATfnwiBCAYVK0gBCAEIAMgDX58IgRWrXwgAiAMfnwgBCAEIBEgFVStIBEgFFatfHwiBFatfCADIAx+IgMgAiANfnwiAiADVK1CIIYgAkIgiIR8IAQgAkIghnwiAiAEVK18IAIgAiAQIBJWrSAOIBZUrSAOIBBWrXx8QiCGIBJCIIiEfCICVq18IAIgAiAPIBRUrSAPIBdWrXx8IgJWrXwiBEKAgICAgIDAAINQRQRAIAZBAWohBgwBCyALQj+IIARCAYYgAkI/iIQhBCACQgGGIAFCP4iEIQIgC0IBhiELIAFCAYaEIQELIAZB//8BTgRAIApCgICAgICAwP//AIQhCkIAIQEMAQsCfiAGQQBMBEBBASAGayIHQf8ATQRAIAVBMGogCyABIAZB/wBqIgYQaCAFQSBqIAIgBCAGEGggBUEQaiALIAEgBxCPAiAFIAIgBCAHEI8CIAUpAzAgBSkDOIRCAFKtIAUpAyAgBSkDEISEIQsgBSkDKCAFKQMYhCEBIAUpAwAhAiAFKQMIDAILQgAhAQwCCyAEQv///////z+DIAatQjCGhAsgCoQhCiALUCABQgBZIAFCgICAgICAgICAf1EbRQRAIAogAkIBfCIBUK18IQoMAQsgCyABQoCAgICAgICAgH+FhFBFBEAgAiEBDAELIAogAiACQgGDfCIBIAJUrXwhCgsgACABNwMAIAAgCjcDCCAFQeAAaiQACx0AIAAgASACQoCAgIAwIAMgBEECENkBIAAgARAPC4cBAgF/AX4gAachAiABQv////8HWARAIAJBgICAgHhyDwsgAUKAgICAcINCgICAgIB/UQRAIAAgACgCECACEMICEBgPCyAAIAEQgQQiAUKAgICAcIMiA0KAgICA4ABRBEBBAA8LIANCgICAgIB/UQRAIAAoAhAgARCOAg8LIAAoAhAgAacQ+gMLpgEBBH8gAEEANgIEIAFQBEAgAEGAgICAeDYCCCAAQQAQQhpBAA8LAkAgAUL/////D1gEQCAAQQEQQg0BIAAoAhAgASABp2ciAq2GPgIAIABBICACazYCCEEADwsgAEECEEINACAAKAIQIgMgAaciBCABQiCIpyIFZyICdDYCACADIAUgAnQgBEEgIAJrdnI2AgQgAEHAACACazYCCEEADwsgABA2QSALCQAgAEF/EMcDC2oBAn8CQCAAKALYAiIDRQ0AIAAoAuACIgQgACgC3AJODQAgACgC6AIgAUsNACAAKALkAiACRg0AIAMgBEEDdGoiAyACNgIEIAMgATYCACAAIAE2AugCIAAgBEEBajYC4AIgACACNgLkAgsLEAAgACAAKAIoKQMIQQEQSwsZACAAQQAQQhogAEKAgICA8P////8ANwIEC/sBAgN/AX5CgICAgOAAIQQgACgCFAR+QoCAgIDgAAUgACgCBCEBIAAoAggiAkUEQCAAKAIAKAIQIgJBEGogASACKAIEEQAAIABBADYCBCAAKAIAQS8QLg8LIAAoAgwgAkoEQCAAKAIAKAIQIgNBEGogASACIAAoAhAiAXQgAWtBEWogAygCCBEBACIBRQRAIAAoAgQhAQsgACABNgIECyABIAAoAhAiAgR/IAIFIAEgACgCCGpBADoAECAAKAIQC0EfdCICIAEoAgRB/////wdxcjYCBCABIAAoAghB/////wdxIAJyNgIEIABBADYCBCABrUKAgICAkH+ECwsQAQF+IAAgARAoIAAgARAPC0sBAn8gAUKAgICAcFQEQEEADwsgAaciAy8BBiICQQ1GBEBBAQ8LIAJBMEYEQCADKAIgLQAQDwsgACgCECgCRCACQRhsaigCEEEARwsMACAAQYACaiABEB0LLAEBfyMAQRBrIgMkACADIAI2AgwgAEHcAGpBgAEgASACEMwCGiADQRBqJAALaQECfwJ/IAAoAggiAiAAKAIMTgRAQX8gACACQQFqIAEQuAINARogACgCCCECCyAAIAJBAWo2AgggACgCBEEQaiEDAkAgACgCEARAIAMgAkEBdGogATsBAAwBCyACIANqIAE6AAALQQALCzUAIAAgAkEwIAJBABAUIgJCgICAgHCD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A0AgAygCACIDBEACQCADKAIUIAVHDQAgAygCLCAERw0AIAMoAiBFDQMLIANBKGohAwwBCwsgACAEQQIQwgQiAw0BQoCAgIDgAA8LIAMgAygCAEEBajYCAAsgACADIAIQ7gULJgEBfwJAIAAoAhBBg39HDQAgACgCICABRw0AIAAoAiRFIQILIAILOAEBfwJAAkAgAUKAgICAcFQNACABpyIDLwEGIAJHDQAgAygCICIDDQELIAAgAhCEA0EAIQMLIAMLlgQBAn8CQAJAIAFCgICAgHBUIAJC/////w9Wcg0AIAKnIgQgAaciAygCKE8NAAJAAkACQAJAAkACQAJAAkACQAJAAkAgAy8BBkECaw4eAAsLCwsLAAsLCwsLCwsLCwsLCwIBAgMEBQYHCAkKCwsgAygCJCAEQQN0aikDACIBQoCAgIDQflQNCyABpyIAIAAoAgBBAWo2AgAgAQ8LIAMoAiQgBGowAABC/////w+DDwsgAygCJCAEajEAAA8LIAMoAiQgBEEBdGoyAQBC/////w+DDwsgAygCJCAEQQF0ajMBAA8LIAMoAiQgBEECdGo1AgAPCyADKAIkIARBAnRqKAIAIgBBAE4EQCAArQ8LQoCAgIDAfiAAuL0iAUKAgICAwIGA/P8AfSABQoCAgICAgID4/wBWGw8LIAAgAygCJCAEQQN0aikDABCIAg8LIAAgAygCJCAEQQN0aikDABD5Aw8LQoCAgIDAfiADKAIkIARBAnRqKgIAu70iAUKAgICAwIGA/P8AfSABQv///////////wCDQoCAgICAgID4/wBWGw8LQoCAgIDAfiADKAIkIARBA3RqKQMAIgFCgICAgMCBgPz/AH0gAUL///////////8Ag0KAgICAgICA+P8AVhsPCyAAIAIQMSEDIAAgAhAPIANFBEBCgICAgOAADwsgACABIAMgAUEAEBQhASAAIAMQEwsgAQsmAQF/IwBBEGsiBCQAIAQgAzYCDCAAIAEgAiADEMwCIARBEGokAAuMAQECfyABKAJ8IgRBgIAETgRAIABBjTpBABBHQX8PC0F/IQMgACABQfQAakEQIAFB+ABqIARBAWoQeQR/QX8FIAEgASgCfCIDQQFqNgJ8IAEoAnQgA0EEdGoiA0IANwIAIANCADcCCCADIAAgAhAYNgIAIAMgAygCDEGA////B3I2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AmsiBSQAIARBgMAEcSACIANMckUEQCAFIAEgAiADayIDQYACIANBgAJJIgEbECsaIAFFBEADQCAAIAVBgAIQXCADQYACayIDQf8BSw0ACwsgACAFIAMQXAsgBUGAAmokAAsMACAAQYACaiABEBELvAECAX4BfwJAAkAgAUKAgICAcINCgICAgDBRBEAgACgCKCACQQN0aikDACIDQv/////PflYNAQwCCyAAIAFBOyABQQAQFCIDQoCAgIBwg0KAgICA4ABRBEAgAw8LIANC/////29WDQEgACADEA8gACABEP4CIgRFBEBCgICAgOAADwsgBCgCKCACQQN0aikDACIDQoCAgIDQflQNAQsgA6ciBCAEKAIAQQFqNgIACyAAIAMgAhBLIAAgAxAPC3UBAX4gACABIAR+IAIgA358IANCIIgiAiABQiCIIgR+fCADQv////8PgyIDIAFC/////w+DIgF+IgVCIIggAyAEfnwiA0IgiHwgASACfiADQv////8Pg3wiAUIgiHw3AwggACAFQv////8PgyABQiCGhDcDAAtQAQF+AkAgA0HAAHEEQCABIANBQGqthiECQgAhAQwBCyADRQ0AIAIgA60iBIYgAUHAACADa62IhCECIAEgBIYhAQsgACABNwMAIAAgAjcDCAtTAQN/IAEgAkEFdSIESwRAIAAgBEECdGooAgAhAwsgAkEfcQR/IAEgBEEBaiIESwR/IAAgBEECdGooAgAFQQALQQF0IAJBf3N0IAMgAnZyBSADCwtkAAJAAkAgAUEASA0AIAAoAqwCIAFMDQAgACgCpAIgAUEUbGoiACAAKAIAIAJqIgA2AgAgAEEASA0BIAAPC0GFKUG1/ABByKgBQZvVABAAAAtBrY4BQbX8AEHLqAFBm9UAEAAAC2AAIAAgASACQoCAgIAIfEL/////D1gEfiACQv////8PgwVCgICAgMB+IAK5vSICQoCAgIDAgYD8/wB9IAJC////////////AINCgICAgICAgPj/AFYbCyADQYeAARC9AQsMACAAQY37AEEAEBULCwAgACABQQEQvwULvhACDH8BfiMAQRBrIgokAAJAAkAgAUL/////b1gEQCAAECUMAQsgBkGAMHEiD0UgBiAGQQh2IhBxIBBBf3NyQQdxIhFBB0ZxIRIgBkGAwABxIQwgAkH/////B3Eh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DQQgCiAJKAIQIgJBMGo2AgwgACAJIApBDGogAigCMEEadkE9cRCPAw0DDAQLIAwEQCAAIAgpAwAQDyADQoCAgIDQfloEQCADpyICIAIoAgBBAWo2AgALIAggAzcDAAsgBkGABHFFDQAgACAJIApBDGogCigCDCgCAEEadkE9cSAGQQJxchCPAw0CC0F/QQEgACAJIApBDGogEEEFcSIAQX9zIAooAgwoAgBBGnZxIAAgBnFyEI8DGyEHDAILIAAgBkHo6QAQcSEHDAELQX8hBwsgCkEQaiQAIAcLgQICAn8BfCMAQRBrIgQkAAJAIAJC/////y9YBEAgASACp7c5AwBBACEADAELIAJCIIinQQdrQW1NBEAgASACQoCAgIDAgYD8/wB8NwMAQQAhAAwBCwJ/IAAgAhCOASICQoCAgIBwg0KAgICA4ABRBEBEAAAAAAAA+H8hBUF/DAELAnwCQAJAQQcgAkIgiKciAyADQQdrQW5JGyIDQQpqQQJPBEAgA0EHRg0CIAMNASACp7cMAwsgAqdBBGogBEEIahC0BSAAIAIQDyAEKwMIIQVBAAwDCxAsAAsgAkKAgICAwIGA/P8AfL8LIQVBAAshACABIAU5AwALIARBEGokACAAC8kJAgR/BH4jAEHwAGsiBiQAIARC////////////AIMhCQJAAkAgAVAiBSACQv///////////wCDIgpCgICAgICAwP//AH1CgICAgICAwICAf1QgClAbRQRAIANCAFIgCUKAgICAgIDA//8AfSILQoCAgICAgMCAgH9WIAtCgICAgICAwICAf1EbDQELIAUgCkKAgICAgIDA//8AVCAKQoCAgICAgMD//wBRG0UEQCACQoCAgICAgCCEIQQgASEDDAILIANQIAlCgICAgICAwP//AFQgCUKAgICAgIDA//8AURtFBEAgBEKAgICAgIAghCEEDAILIAEgCkKAgICAgIDA//8AhYRQBEBCgICAgICA4P//ACACIAEgA4UgAiAEhUKAgICAgICAgIB/hYRQIgUbIQRCACABIAUbIQMMAgsgAyAJQoCAgICAgMD//wCFhFANASABIAqEUARAIAMgCYRCAFINAiABIAODIQMgAiAEgyEEDAILIAMgCYRQRQ0AIAEhAyACIQQMAQsgAyABIAEgA1QgCSAKViAJIApRGyIIGyEKIAQg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QQogACgCTCIBGyABQQBHQQJ0ELkCIghCgICAgHCDQoCAgIDgAFENASAAIAg3AyAgAEGAfzYCEAwGCyADIAFBAWoiBTYCBEGAASEGIANBgAE2AgggAyADQRBqIgQ2AgxBACEBAn8DQCAGQQZrIQYCQANAIAEgBGogAjoAACABQQFqIQEgBSwAACICQQBIDQEgAkEDdkH8////AXFBsIECaigCACACdkEBcUUNASAFQQFqIQUgASAGSQ0ACyAAKAIAIANBDGogA0EIaiADQRBqEPUEIQYgAygCDCEEQQAgBg0CGiADKAIIIQYMAQsLIAAoAgAgBCABEIMDCyECIANBEGogBEcEQCAAKAIAKAIQIgFBEGogBCABKAIEEQAACyADIAU2AgQgAkUNACAAQgA3AiQgACACNgIgIABBg382AhAMBQsgB0GqfzYCAAwCCyABQQJqIQEDQCADIAE2AgQDQAJAAkAgAS0AACICBEAgAkEKaw4EBQEBBQELIAEgACgCPE8NBAwBCyACwEEATg0AIAFBBiADQQRqEFkhAiADKAIEIQEgAkF+cUGowABGDQMgAkF/Rw0BCwsgAUEBaiEBDAALAAsAC0F/DAILIAcgAjYCACADIAFBAWo2AgQLIAAgAygCBDYCOEEACyADQZABaiQACx0AIAAgASACQgBC/////////w9CABB1IAAgAhAPCyoBAX8jAEEQayIDJAAgAyACNgIMIAAgASACQeMAQQAQlwQaIANBEGokAAtDACAAIAEgAkEATgR+IAKtBUKAgICAwH4gAri9IgFCgICAgMCBgPz/AH0gAUKAgICAgICA+P8AVhsLIANBgIABENgBC1kBAn8jAEEQayIDJABBfyEEIAAgA0EIaiACEOEDRQRAQQAhBCABIAMpAwgiAkKAgICAgICAEFoEfiAAQYAgQQAQUUF/IQRCAAUgAgs3AwALIANBEGokACAECxEAIAAgASABIAIgA0ECEIgEC1MBAX8gACgCECIEQRBqIAEgAiAEKAIIEQEAIgEgAkVyRQRAIAAQfSABDwsgAwRAIAMgASAAKAIQKAIMEQQAIgAgAmsiAkEAIAAgAk8bNgIACyABCw0AIAAgASABEEAQgwMLwQEAIAACfwJAIAEoAggiAEH+////B04EQCACQQFxDQFB/////wcgAEH+////B0cNAhogASgC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QX8gACgCDA0AGiAAKAIUIAAoAgAgAkEDbEEBdiICIAEgASACSRsiASAAKAIQEQEAIgJFBEAgAEEBNgIMQX8PCyAAIAE2AgggACACNgIAQQALC5sBAQJ/IAAoAgQiBEH/////B3EhAwJAAkAgBEEASARAIAIgAyACIANKGyEDIABBEGohAANAIAIgA0YNAiAAIAJBAXRqLwEAIAFGDQMgAkEBaiECDAALAAsgAUH/AUsNACACIAMgAiADShshAyAAQRBqIQADQCACIANGDQEgACACai0AACABRg0CIAJBAWohAgwACwALQX8hAgsgAgumAQEBfyMAQRBrIgMkACADIAI3AwgCQCAAIAFBhgEgAUEAEBQiAkKAgICAcINCgICAgOAAUQ0AIAAgAhA5BEAgACACIAFBASADQQhqEDAiAkL/////b1YgAkKAgICAsH+DQoCAgIAgUXINASAAIAIQDyAAQZHTAEEAEBVCgICAgOAAIQIMAQsgACACEA8gACABIAAgA0EIahDzBCECCyADQRBqJAAgAguaAQEEfyAAQRBqIQIgASgCACIEQQFqIQMCQCAAKAIEIgVBAEgEQCACIARBAXRqLwEAIgBBgPgDcUGAsANHIAMgBUH/////B3FOcg0BIAIgA0EBdGovAQAiAkGA+ANxQYC4A0cNASAAQQp0QYD4P3EgAkH/B3FyQYCABGohACAEQQJqIQMMAQsgAiAEai0AACEACyABIAM2AgAgAAtRAQN/AkADQCABQoCAgIBwVA0BIAGnIgIvAQYiBEEwRgRAIAIoAiAiAkUNAiACLQARBEAgABC3AkF/DwsgAikDACEBDAELCyAEQQJGIQMLIAMLEgAgACABIAIgAyAEQcoAEKMEC04BAX8gACgCDCIERQRAQQAPCyAAIAAoAghB/////wNBgYCAgHwgASABQYGAgIB8TBsiASABQf////8DThtqNgIIIAAgAiADIARBABCoAwslACAAIAEgACgCECgCjAEiAAR/IAAoAihBAnZBAXEFQQALEJcFCx8BAX8gACgCDCIDRQRAQQAPCyAAIAEgAiADQQAQqAMLgwsCB38BfiMAQSBrIgkkAAJAAkACQAJAAkACQAJ/AkAgAUIgiCIMQv////8PUgRAAkACQAJAIAynQQJrDgIAAQILIAAgAxAPIAAgAkHt0wAQkAFBfyEF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gIBwgyEvIBFBCGohGyARQRBqIRwgEUEYaiEdIBVBCGohHiAVQRBqIR8gFUEYaiEgIBJBGGohJCAaQRhqISUgBK0hLSADpyEhIA5BMGohJiAOQegAaiEiIAghBwJAA0ACQCAKQQFqIQ1CAiEoQoCAgIAwIQECfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAKLQAAIglBAWsO9QEAASUJkgEKCwwNDg8QERITFBUYFhcZGhscISIjJB0gHh8pJycqKiss4QGCAi0uLzDeATEyMzQ1Njc4OTk6OjufAaIBPTw+jwGQAZEBkwGUAZUBnQGeAaEBoAGjAZYBlwGYAZkBmgGkAaUBpgGbAZsBnAGcAT9AQUJDRGxtbnJzdHVvcHF2fXx5gAGBAYIBygHLAcwBzQHNAc0BzQHNAc0Bd3d3eIMBhQGHAYQBhgGJAYgBigGLAYwBjQHeAeABgQKBAt8BrwGuAbEBsAGyAbIBtAGzAagBtQGOAccByAHJAaoBqwGsAacBqQGtAbYBuAG3AbwBvQG+Ab8BxgHFAcABwQHCAcMBuQG7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IAcgDDYCACANIAc2AlAMAAsACyAKLwAFIQsgCigAASEMIAggBkKAgICAIBBIIgE3AwAgCEEIaiEHIApBB2ohDQJAAkAgAUKAgICAcINCgICAgOAAUQ0AAkAgCUH6AEYEQCAUIAtBAnRqKAIAIgkgCSgCAEEBajYCAAwBCyAGIBIgCyAJQfkARhCJBCIJRQ0BCyAGIAgoAgAgDEEiEHsiCw0BIBYgCRDsAQsgByEIDIgBCyALIAk2AgAgCCAGIAwQXTcDCCAIQRBqIQcMgwELIApBBWohDSAGKQPIASIopyILKAIQIgdBMGohDCAHIAooAAEiCSAHKAIYcUF/c0ECdGooAgAhBwJAAkACQAJAA0AgB0UNASAJIAwgB0EBa0EDdCIPaiIHKAIERwRAIAcoAgBB////H3EhBwwBCwsgCygCFCAPajUCBEIghkKAgICAwABRBEAgBiAJENoBDIsBCyAHLQADQQhxRQ0DIChC/////89+Vg0BDAILIAYgBikDwAEgCRByIgdBAEgNiQEgB0UEQEKAgICAMCEoDAILIAYpA8ABIihCgICAgNB+VA0BICinIQsLIAsgCygCAEEBajYCAAsgCCAoNwMAIAggBiAJEF03AwggCEEQaiEHDIMBCyAGIAlBzh0QkAEMhgELIA0gDSgAAGohDSAIIQcgBhB8RQ2BAQyFAQsgDSANLgAAaiENIAghByAGEHxFDYABDIQBCyANIA0sAABqIQ0gCCEHIAYQfEUNfwyDAQsgCkEFaiEJAn8gCEEIayIHKQMAIgFC/////z9YBEAgAacMAQsgBiABECYLBH8gCSANKAAAakEEawUgCQshDSAGEHxFDX4MUQsgCkEFaiEJAn8gCEEIayIHKQMAIgFC/////z9YBEAgAacMAQsgBiABECYLBH8gCQUgCSANKAAAakEEawshDSAGEHxFDX0MUAsgCkECaiEJAn8gCEEIayIHKQMAIgFC/////z9YBEAgAacMAQsgBiABECYLBH8gCSANLAAAakEBawUgCQshDSAGEHxFDXwMTwsgCkECaiEJAn8gCEEIayIHKQMAIgFC/////z9YBEAgAacMAQsgBiABECYLBH8gCQUgCSANLAAAakEBawshDSAGEHxFDXsMTgsgCCANIAooAAFqIBMoAhRrrUKAgICA0ACENwMAIApBBWohDSAIQQhq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IgkpAwAiKEIgiKciDHJFBEAgAcQgKMR8IgFCgICAgAh8QoCAgIAQVA0BDD8LIAxBB2tBbUsgC0EHa0FtS3INPiAJQoCAgIDAfiAoQoCAgIDAgYD8/wB8vyABQoCAgIDAgYD8/wB8v6C9IgFCgICAgMCBgPz/AH0gAUL///////////8Ag0KAgICAgICA+P8AVhs3AwAMVAsgCSABQv////8PgzcDAAxTCyAKQQJqIQ0CQCAIQQhrIgcpAwAiKCARIAotAAFBA3RqIggpAwAiAYRC/////w9YBEAgKMQgAcR8IihCgICAgAh8Qv////8PVg0BIAggKEL/////D4M3AwAMVAsgAUKAgICAcINCgICAgJB/UQRAIAYgKEECEJsBIihCgICAgHCDQoCAgIDgAFENJyAIKQMAIgFCgICAgNB+WgRAIAGnIgkgCSgCAEEBajYCAAsgBiABICgQxQIiAUKAgICAcINCgICAgOAAUQ0nIAYgCCABEB4MVAsgAUKAgICA0H5UDQAgAaciCSAJKAIAQQFqNgIACyAOIAE3AyAgDiAHKQMANwMoIAYgJhDSBQ0lIAYgCCAOKQMgEB4MUgsgCEEIayIHKQMAIgFCIIinIgwgCEEQayILKQMAIihCIIinIg9yRQRAICjEIAHEfSIBQoCAgIAIfEKAgICAEFoNBCALIAFC/////w+DNwMADFILIA9BB2tBbUsgDEEHa0FtS3INAyALQoCAgIDAfiAoQoCAgIDAgYD8/wB8vyABQoCAgIDAgYD8/wB8v6G9IgFCgICAgMCBgPz/AH0gAUL///////////8Ag0KAgICAgICA+P8AVhs3AwAMUQsCQAJ8IAhBCGsiBykDACIoQiCIpyIMIAhBEGsiCykDACIpQiCIpyIPckUEQCAoxCApxH4iAUKAgICACHxCgICAgBBaBEAgEi0AKEEEcUEAIAFCgICAgICAgBB9QoGAgICAgIBgVBsNBiABuQwCCyABUEUgKCAphEKAgICACINQcg0CRAAAAAAAAACADAELIA9BB2tBbUsgDEEHa0FtS3INBCASLQAoQQRxDQQgKUKAgICAwIGA/P8AfL8gKEKAgICAwIGA/P8AfL+iCyEwIAtCgICAgMB+IDC9IgFCgICAgMCBgPz/AH0gAUL///////////8Ag0KAgICAgICA+P8AVhs3AwAMUQsgCyABQv////8PgzcDAAxQCyAIQQhrIgcpAwAiASAIQRBrIgspAwAiKIRC/////w9WDQEgEi0AKEEEcQ0BIAsCfiAop7cgAae3oyIwvSIBAn8gMJlEAAAAAAAA4EFjBEAgMKoMAQtBgICAgHgLIgi3vVEEQCAIrQwBC0KAgICAwH4gAUKAgICAwIGA/P8AfSABQv///////////wCDQoCAgICAgID4/wBWGws3AwAMTwsgCEEIayIHKQMAIgEgCEEQayILKQMAIiiEQv////8PVg0AICinIgxBAEgNACABpyIPQQBMDQAgCyAMIA9wrTcDAAxOCyMAQSBrIgckAAJ/AkACQAJAAkACfgJAAkACQAJAAkACQAJAQQcgCEEQayILKQMAIgFCIIinIgwgDEEHa0FuSRsiDEEHR0EHIAhBCGsiJykDACIpQiCIpyIPIA9BB2tBbkkbIg9BB0dyRQRAIAcgKUKAgICAwIGA/P8AfDcDCCAHIAFCgICAgMCBgPz/AHw3AxAMAQsCQCAMQX9GIA9BBGtBfklxRSAPQX9HIAxBBGtBfUtycQ0AIAYgB0EYaiABICkgCUEBQQAQhwIiDEUNACAGIAEQDyAGICkQDyAMQQBIDQwgCyAHKQMYNwMADAkLIAYgARBtIgFCgICAgHCDQoCAgIDgAFENCiAGICkQbSIpQoCAgIBwg0KAgICA4ABRBEAgBiABEA8MDAtBByABQiCIpyIMIAxBB2tBbkkbIgxBByApQiCIpyIPIA9BB2tBbkkbIg9yRQRAICmnIQwgAachDwJAAkACQAJAAkACQCAJQZoBaw4GAAECCQUDBAsgKcQgAcR+ISgCQCAGKAIQIhAoAowBIhlFDQAgGS0AKEEEcUUNACAoQoCAgICAgIAQfUKBgICAgICAYFQNCAtCACEBIChCAFINCiAMIA9yQQBODQsgC0KAgICAwP7/AzcDAAwOCyAGKAIQIhAoAowBIhkEQCAZLQAoQQRxDQcLIAtCgICAgMB+IA+3IAy3o70iAUKAgICAwIGA/P8AfSABQv///////////wCDQoCAgICAgID4/wBWGzcDAAwNCyAMQQBKIA9BAE5xRQRAIAsCfiAPtyAMtxCIAyIwvSIBAn8gMJlEAAAAAAAA4EFjBEAgMKoMAQtBgICAgHgLIgm3vVEEQCAJrQwBC0KAgICAwH4gAUKAgICAwIGA/P8AfSABQv///////////wCDQoCAgICAgID4/wBWGws3AwAMDQsgDyAMcK0hKAwICyAGKAIQIhAoAowBIhkEQCAZLQAoQQRxDQULIAsCfiAPtyAMtxCLAyIwvSIBAn8gMJlEAAAAAAAA4EFjBEAgMKoMAQtBgICAgHgLIgm3vVEEQCAJrQwBC0KAgICAwH4gAUKAgICAwIGA/P8AfSABQv///////////wCDQoCAgICAgID4/wBWGws3AwAMCwsgCUGyAUYNBQwECyABxCApxH0hKAwFCyAMQXVHIA9BdUdxRQRAIAYgCSALIAEgKSAGKAIQKALYAhEaAA0MDAkLIAxBd0cgD0F3R3FFBEAgBiAJIAsgASApIAYoAhAoArwCERoARQ0JDAwLIAxBdkcgD0F2R3FFBEAgBigCECEQDAILIAYgB0EQaiABEG8NCiAGIAdBCGogKRBvDQsLAkAgBigCECIQKAKMASIMRQ0AIAwtAChBBHFFDQAgBysDEBC+AkUNACAHKwMIEL4CDQELAkACQAJAAkACQAJAAkAgCUGaAWsOBgABAggFBAMLIAcrAxAgBysDCKIhMAwFCyAHKwMQIAcrAwijITAMBAsgBysDECAHKwMIEIgDITAMAwsgCUGyAUcNBCAHKwMQIAcrAwiZIjEQiAMiMEQAAAAAAAAAAGNFDQIgMSAwoCEwDAILIAcrAxAhMSAHKwMIIjK9Qv///////////wCDQoCAgICAgID4/wBaBEBEAAAAAAAA+H8hMCAxmUQAAAAAAADwP2ENAgsgMSAyEIsDITAMAQsgBysDECAHKwMIoSEwCyALQoCAgIDAfiAwvSIBQoCAgIDAgYD8/wB9IAFC////////////AINCgICAgICAgPj/AFYbNwMADAcLIAYgCSALIAEgKSAQKAKgAhEaAEUNBgwJCxAsAAsgDEUNBSABxCApxCIBgSIoQgBZDQAgDEEASARAICggAX0hKAwBCyABICh8ISgLIChCgICAgAh8Qv////8PVg0BICghAQsgAUL/////D4MMAQtCgICAgMB+ICi5vSIBQoCAgIDAgYD8/wB9IAFC////////////AINCgICAgICAgPj/AFYbCyEBIAsgATcDAAtBAAwDCyAGQQIQhgIMAQsgBiApEA8LIAtCgICAgDA3AwAgJ0KAgICAMDcDAEF/CyAHQSBqJAANUSAIQQhrIQcMTQsgCEEIaykDACIBQoCAgIAQVCABQiCIp0EHa0FuSXINRiAIIQcgBiAIQY0BEOcBRQ1MDFALAkACfCAIQQhrIgcpAwAiAUL/////D1gEQEQAAAAAAAAAgCABpyIKRQ0BGkQAAAAAAADgQSAKQYCAgIB4Rg0BGiAHQgAgAX1C/////w+DNwMADEgLIAFCIIinQQdrQW1LDQEgAUKAgICAwP7/A32/CyEwIAdCgICAgMB+IDC9IgFCgICAgMCBgPz/AH0gAUL///////////8Ag0KAgICAgICA+P8AVhs3AwAMRgsgCCEHIAYgCEGMARDnAUUNSwxPCyAIQQhrIgcpAwAiAUL/////D1YgAUL/////B1FyRQRAIAcgAUIBfEL/////D4M3AwAMRQsgCCEHIAYgCEGPARDnAUUNSgxOCyAIQQhrIgcpAwAiAUL/////D1YgAUKAgICACFFyRQRAIAcgAUIBfUL/////D4M3AwAMRAsgCCEHIAYgCEGOARDnAUUNSQxNCyAGIAhBCGsiBykDABBtIgFCgICAgHCDQoCAgIDgAFEEQCAHQoCAgIAwNwMADE0LIAcgATcDACABQoCAgIDQfloEQCABpyIHIAcoAgBBAWo2AgALIAggATcDACAGIAhBCGoiByAJQQJrEOcBRQ1IDEwLIApBAmohDSARIAotAAFBA3RqIgcpAwAiAUL/////D1YgAUL/////B1FyRQRAIAcgAUIBfEL/////D4M3AwAMQgsgAUKAgICA0H5aBEAgAaciCSAJKAIAQQFqNgIACyAOIAE3A2AgBiAiQY8BEOcBDUsgBiAHIA4pA2AQHgxBCyAKQQJqIQ0gESAKLQABQQN0aiIHKQMAIgFC/////w9WIAFCgICAgAhRckUEQCAHIAFCAX1C/////w+DNwMADEELIAFCgICAgNB+WgRAIAGnIgkgCSgCAEEBajYCAAsgDiABNwNgIAYgIkGOARDnAQ1KIAYgByAOKQNgEB4MQAsgCEEIayIHKQMAIgFC/////w9YBEAgByABQv////8PhTcDAAxACyAIIQcjAEEQayIJJAACfwJAAkACQCAIQQhrIgspAwAiAUKAgICAcFQNACAGIAlBCGogAUGVARDABSIMQQBIDQEgDEUNACAGIAEQDyALIAkpAwg3AwAMAgsCQCAGIAEQbSIBQoCAgIBwgyIoQoCAgIDgAFENACAGKAIQIgwoAowBIg8EfyAPLQAoQQRxQQJ2BUEAC0UgKEKAgICA4H5ScUUEQCAGIAtBlQEgASAMKAKcAhEbAA0BDAMLIAYgCUEEaiABEJkBDQAgCyAJNQIEQv////8PhTcDAAwCCyALQoCAgIAwNwMAC0F/DAELQQALIAlBEGokAEUNRQxJCwJAIAhBCGsiBykDACIBIAhBEGsiCykDACIohEL/////D1YNACABpyEJAkAgEi0AKEEEcUUEQCAJQR9xIQkMAQsgAUIfViAoIAGGQv////8HVnINAQsgCyAopyAJdK03AwAMRQsgBiAIQaABEMQCRQ1EDEgLIAhBCGsiBykDACIBIAhBEGsiCSkDACIohEL/////D1gEQCAJAn4gKKcgAad2IghBAE4EQCAIrQwBC0KAgICAwH4gCLi9IgFCgICAgMCBgPz/AH0gAUKAgICAgICA+P8AVhsLNwMADEQLIwBBEGsiCSQAIAhBCGsiDCkDACEoAn8CQAJAIAYgCEEQayILKQMAEG0iAUKAgICAcIMiKUKAgICA4ABRBEAgBiAoEA8MAQsgBiAoEG0iKEKAgICAcIMiKkKAgICA4ABRBEAgBiABEA8MAQsgBigCECgCjAEiDwRAIA8tAChBBHENAgsgKUKAgICA4H5SICpCgICAgOB+UnENASAGQYGJAUEAEBUgBiABEA8gBiAoEA8LIAtCgICAgDA3AwAgDEKAgICAMDcDAEF/DAELIAYgCUEMaiABEJkBGiAGIAlBCGogKBCZARogCwJ+IAkoAgwgCSgCCHYiC0EATgRAIAutDAELQoCAgIDAfiALuL0iAUKAgICAwIGA/P8AfSABQoCAgICAgID4/wBWGws3AwBBAAsgCUEQaiQARQ1DDEcLAkAgCEEIayIHKQMAIgEgCEEQayILKQMAIiiEQv////8PVg0AIAGnIQkgCyAopyABQiBaBH8gEi0AKEEEcQ0BIAlBH3EFIAkLda03AwAMQwsgBiAIQaEBEMQCRQ1CDEYLIAhBCGsiBykDACIBIAhBEGsiCSkDACIohEL/////D1gEQCAJIAEgKIM3AwAMQgsgBiAIQa0BEMQCRQ1BDEULIAhBCGsiBykDACAIQRBrIgkpAwCEIgFC/////w9YBEAgCSABNwMADEELIAYgCEGvARDEAkUNQAxECyAIQQhrIgcpAwAiASAIQRBrIgkpAwAiKIRC/////w9YBEAgCSABICiFNwMADEALIAYgCEGuARDEAkUNPwxDCyAIQQhrIgcpAwAiASAIQRBrIgkpAwAiKIRC/////w9YBEAgCSAopyABp0itQoCAgIAQhDcDAAw/CyAGIAhBowEQlgNFDT4MQgsgCEEIayIHKQMAIgEgCEEQayIJKQMAIiiEQv////8PWARAIAkgKKcgAadMrUKAgICAEIQ3AwAMPgsgBiAIQaQBEJYDRQ09DEELIAhBCGsiBykDACIBIAhBEGsiCSkDACIohEL/////D1gEQCAJICinIAGnSq1CgICAgBCENwMADD0LIAYgCEGlARCWA0UNPAxACyAIQQhrIgcpAwAiASAIQRBrIgkpAwAiKIRC/////w9YBEAgCSAopyABp06tQoCAgIAQhDcDAAw8CyAGIAhBpgEQlgNFDTsMPwsgCEEIayIHKQMAIgEgCEEQayIJKQMAIiiEQv////8PWARAIAkgASAoUa1CgICAgBCENwMADDsLIAYgCEEAENEFRQ06DD4LIAhBCGsiBykDACIBIAhBEGsiCSkDACIohEL/////D1gEQCAJIAEgKFKtQoCAgIAQhDcDAAw6CyAGIAhBARDRBUUNOQw9CyAIQQhrIgcpAwAiASAIQRBrIgopAwAiKIRC/////w9YBEAgCiABIChRrUKAgICAEIQ3AwAMOQsgBiAIQQAQ0AUMOAsgCEEIayIHKQMAIgEgCEEQayIKKQMAIiiEQv////8PWARAIAogASAoUq1CgICAgBCENwMADDgLIAYgCEEBENAFDDcLIAYgCCAWKALIAhEDAA06IAhBCGshBww2CyAIQQhrIgcpAwAiAUL/////b1gEQCAGQaj0AEEAEBUMOgsgBiAIQRBrIgwpAwAiKBAxIglFDTkgBiABIAkQciELIAYgCRATIAtBAEgNOSAGICgQDyAGIAEQDyAMIAtBAEetQoCAgIAQhDcDAAw1CyAGIAhBEGsiCSkDACIBIAhBCGsiBykDACIoEM8FIgtBAEgNOCAGIAEQDyAGICgQDyAJIAtBAEetQoCAgIAQhDcDAAw0CyAGIAhBCGsiBykDACIBEIIEIQogBiABEA8gByAGIAoQ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AIMiBUKAgICAgIDA//8AViAFQoCAgICAgMD//wBRGw0AIAJCAFIgA0L///////////8AgyIGQoCAgICAgMD//wBWIAZCgICAgICAwP//AFEbDQAgACAChCAFIAaEhFAEQEEADwsgASADg0IAWQRAIAAgAlQgASADUyABIANRGwRAQX8PCyAAIAKFIAEgA4WEQgBSDwsgACACViABIANVIAEgA1EbBEBBfw8LIAAgAoUgASADhYRCAFIhBAsgBAstAQF/QQEhAQJAAkACQCAAQQ1rDgQCAQECAAsgAEE0Rg0BCyAAQThGIQELIAELGwAgACABIAAgAhCpASICIAMgBBAZIAAgAhATC0QBAX9BfyEDIAAgACgCBCACahDHAQR/QX8FIAAoAgAgAWoiAyACaiADIAAoAgQgAWsQtAEgACAAKAIEIAJqNgIEQQALC44BAQF/IAAgBkEMEEsiBkKAgICAcINCgICAgOAAUgRAIAAgACgCAEEBajYCACAGpyIHIAU7ASogByAEOgApIAcgAzoAKCAHIAE2AiQgByAANgIgIAcgBy0ABUHvAXEgBEECa0EESUEEdHI6AAUgACAGIAAgAkHTngEgAhsQqQEiASADEJUDIAAgARATCyAGCykBAX9BfyEBAkAgAEEoEC0NACAAEJIBDQBBf0EAIABBKRAtGyEBCyABC4IBAQN/IABBQGsiAygCACIBBEAgASgCvAEhAiAAQbUBEBAgAygCACACQf//A3EQFyABIAEoAswBIgMgAkEDdGooAgAiADYCvAEDQAJAIABBAEgEQEF/IQAMAQsgAyAAQQN0aiICKAIEIgBBAE4NACACKAIAIQAMAQsLIAEgADYCwAELC0cBAn8gACgCfCECAkADQCACQQBKBEAgACgCdCACQQFrIgJBBHRqIgMoAgAgAUcNASADKAIEDQEMAgsLIAAgARDgBCECCyACC7YBAQJ/AkAgAiABKAIEIgpGBEAgAyELDAELIAAgCiACIAMgBCAFIAYgByAIIAkQ9gEiBUEATg0AQX8PC0EAIQIgASgCwAIiA0EAIANBAEobIQMCQANAIAIgA0cEQAJAIAUgASgCyAIgAkEDdGoiCi8BAkcNACAKLQAAIgpBAXZBAXEgBEcNACALIApBAXFGDQMLIAJBAWohAgwBCwsgACABIAsgBCAFIAYgByAIIAkQ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ELoCDAELIAAgAyAGEJECCyIDQoCAgIBwg0KAgICA4ABSDQEgACACEA8MAgsgA0KAgICA0H5UDQAgA6ciBSAFKAIAQQFqNgIACyAKIAooAgBBAWo2AgAgCSACIAMgBEF+cUGkAUYgB0ENRnEiBRs3AxggCSADIAIgBRs3AxAgACAKrUKAgICAcIRCgICAgDBBAiAJQRBqEDAhDSAAIAIQDyAAIAMQDyANQoCAgIBwgyICQoCAgIDgAFENAAJ+IAdBDEYEQCAAIA0QJiAEQaoBRketQoCAgIAQhAwBCyANIAdBDUcNABpCgICAgBAgAkKAgICAMFENABogACANECYgBEF9cUGkAUZHrUKAgICAEIQLIQMgACAPEA8gACAOEA8gASADNwMAQQEMAQsgACAPEA8gACAOEA8gAUKAgICAMDcDAEF/CyAJQSBqJAALxwECAX4BfwJAIAAoAhAoAowBIgNFIAFC/////////w98Qv7///////8fVnINACADKAIoQQRxRQ0AIAFCgICAgAh8Qv////8PWARAIAFC/////w+DDwtCgICAgMB+IAG5vSIBQoCAgIDAgYD8/wB9IAFC////////////AINCgICAgICAgPj/AFYbDwsgABCYASICQoCAgIBwg0KAgICA4ABSBEAgAqdBBGogARC7AkUEQCACDwsgACACEA8gABB9C0KAgICA4AALkwEBAn8CfyAAKAIIIAJqIgQgACgCDEoEQEF/IAAgBEEAELgCDQEaCwJAIAAoAhAEQCACQQAgAkEAShshBANAIAMgBEYNAiAAKAIEIAAoAgggA2pBAXRqIAEgA2otAAA7ARAgA0EBaiEDDAALAAsgACgCBCAAKAIIakEQaiABIAIQIBoLIAAgACgCCCACajYCCEEACwsqAQF/IAAoAhAiA0EQaiABIAIgAygCCBEBACIBIAJFckUEQCAAEH0LIAELRAECfwJAIABCgICAgHBUDQAgAKciAy8BBkECRw0AIAMtAAVBCHFFDQAgAiADKAIoNgIAIAEgAygCJDYCAEEBIQQLIAQLnwQCBH8BfiMAQSBrIgYkAAJAAkACQAJAIAMEQCABQoCAgIBgg0KAgICAIFINAQwCCyABQoCAgIBwVA0BC0EBIQQCQAJAIAJCIIinQQFqDgQAAgIBAgsgAqchBQsgAUL/////b1hBACAD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BUEAEGoNAiAAKAKkAiAFQRRsaigCEEUNAUGygwFBtfwAQYjwAUHV7QAQAAALIActAAMiBkEcSw0AQQEgBnQiBkGAgIAccUUEQCAGQYCAgOAAcUUEQCAGQYCAgIIBcUUNAiAAIAUoAAFBfxBqGgwCCyAAIAUoAAVBfxBqGgsgACgCACAFKAABEBMLIAMgCGohAwwBCwsgAwsaACAAQd4AQdgAIAEbEBEgACACQf//A3EQKguSBwEJfwJAAkACQAJ/IAJBAkwEQCACIAEoAghBHnZGBEAgACABEMICIgRB3QFKDQUgASABKAIAQQFrNgIAIAQPCyAAKAI0IAAoAiRBAWsgASACELAFQf////8DcSIHcSIKQQJ0aiEDIAEoAgRB/////wdxIQYDQCACIAMoAgAiBEUNAhoCQCAAKAI4IARBAnRqKAIAIgMoAggiBUH/////A3EgB0cgBUEediACR3INACADKAIEQf////8HcSAGRw0AIAMgASAGELoFDQAgBEHeAUgNBCADIAMoAgBBAWo2AgAMBAsgA0EMaiEDDAALAAsgAkEDRyEHQQMLIQYCQCAAKAI8DQBBACEEIABBEGoiCyAAKAI4QdMBIAAoAixBA2xBAm0iAiACQdMBTBsiBUECdCAAKAIIEQEAIghFDQEgACgCLCIJIQMgCUUEQCALQRAgACgCABEDACICRQRAIAsgCCAAKAIEEQAADAMLIAJCADcABCACQQE2AgAgAkEANgAMIAJBgICAgHw2AgggCCACNgIAIAAgACgCKEEBajYCKEEBIQMLIAAgAzYCPCAAIAg2AjggACAFNgIsIAkgBSAFIAlJGyEEIAVBAWshBQNAIAMgBEYNASAAKAI4IANBAnRqQQEgA0EBaiICQQF0QQFyIAMgBUYbNgIAIAIhAwwACwALAkAgAQRAIAEoAggiAkH/////A00EQCABIAIgBkEedHI2AggMAgsgAEEQaiABKAIEIgJBH3UgAkH/////B3EgAkEfdnRqQRFqIAAoAgARAwAiAkUEQEEAIQQMBAsgAkEBNgIAIAIgASgCBEGAgICAeHEiAyACKAIEQf////8HcXI2AgQgAiABKAIEQf////8HcSADcjYCBCACQRBqIAFBEGogASgCBCIDQf////8HcSADQR92dCADQX9zQR92ahAgGiAAIAEQ9AMgAiEBDAEL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AyAEQQAQtgULJwEBfyABQoCAgIDQfloEQCABpyICIAIoAgBBAWo2AgALIAAgARBtCyMBAX8gAUIAUwRAIABCACABfRAyIABBATYCBA8LIAAgARAyC+wBAQF/AkACQAJAAkACQAJAAkBBByACQiCIpyIDIANBB2tBbkkbIgMOCAAAAAQEBAQBAwsgACgC2AEhACABQgA3AgwgAUKAgICAgICAgIB/NwIEIAEgADYCACABIALEELsCDQEMBAsgACgC2AEhACABQgA3AgwgAUKAgICAgICAgIB/NwIEIAEgADYCACABIAJCgICAgMCBgPz/AHy/ELkFRQ0DCyABEBtBAA8LIANBCmpBAkkNAgsgACgC2AEhACABQgA3AgwgAUKAgICAgICAgIB/NwIEIAEgADYCACABEDYLIAEPCyACp0EEagvkAQEEfyMAQRBrIgIkACAAIAJBCGogARDmASEDIAAgARAPAkAgA0UEQEKAgICA4AAhAQwBCyACIAMgAxCDAiIEaiIFNgIMAkAgAigCCCAERgRAIABCABCIAiEBDAELIAAgBSACQQxqQQACfyAAKAIQKAKMASIEBEBBhQUgBCgCKEEEcQ0BGgtBhQELELkCIQEgAiACKAIMEIMCIAIoAgxqIgQ2AgwgAUKAgICAcINCgICAgOAAUQ0AIAIoAgggBCADa0YNACAAIAEQD0KAgICAwH4hAQsgACADEFYLIAJBEGokACABCzIAIAC9Qv///////////wCDQoCAgICAgID4/wBUIACcIABhcSAAmUT///////8/Q2VxC44IAQ9/IwBB4ARrIg0kACAAIAIQrAQhDiAAIAJBgAFyEKwEIRICQCACRSABQQJJcg0AIA0gATYCBCANIAA2AgAgDUEANgIIQQAgAmshDyANQQxyIQkDQCAJIA1NDQFBMiAJQQRrKAIAIgwgDEEyTBshEyAJQQhrKAIAIQcgCUEMayIJKAIAIQADQAJAIAdBB0kNACAMIBNGBEAgAiAHbCIGIAJrIQogB0EBdiACbCEHIAAgAhCsBCEIA0AgBwRAIAcgAmsiByEFA0AgBUEBdCACaiIBIAZPDQIgASAKSQRAIAEgAkEAIAAgAWoiASABIAJqIAQgAxEBAEEATBtqIQELIAAgBWoiBSAAIAFqIgwgBCADEQEAQQBKDQIgBSAMIAIgCBEGACABIQUMAAsACwsDQCAGIAJrIgZFBEBBACEHDAMLIAAgACAGaiACIAgRBgAgBiACayEHQQAhBQNAIAVBAXQgAmoiASAGTw0BIAEgB0kEQCABIAJBACAAIAFqIgEgASACaiAEIAMRAQBBAEwbaiEBCyAAIAVqIgUgACABaiIKIAQgAxEBAEEASg0BIAUgCiACIAgRBgAgASEFDAALAAsACyAAIAdBAnYgAmwiBWoiBiAAIAVBAXRqIgEgBCADEQEAIQogASAAIAVBA2xqIgUgBCADEQEAIQgCQCAKQQBIBEAgCEEASA0BIAUgBiAGIAUgBCADEQEAQQBIGyEBDAELIAhBAEoNACAGIAUgBiAFIAQgAxEBAEEASBshAQsgDEEBaiEMIAAgASACIA4RBgBBASEGIAAgAiAHbGoiCCEFIAghCiAAIAJqIgshAUEBIRADQAJAAkAgASAFTw0AIAAgASAEIAMRAQAiEUEASA0AIBENASALIAEgAiAOEQYAIAIgC2ohCyAQQQFqIRAMAQsCQANAIAEgBSAPaiIFTw0BIAAgBSAEIAMRAQAiEUEATARAIBENASAKIA9qIgogBSACIA4RBgAgB0EBayEHDAELCyABIAUgAiAOEQYADAELIAAgASALIABrIgUgASALayILIAUgC0kbIgVrIAUgEhEGACABIAggCCAKayILIAogAWsiBSAFIAtLGyIBayABIBIRBgAgByAGayEBIAggBWshBQJAIAEgBiAQayIHSQRAIAAhBiAHIQggBSEAIAEhBwwBCyAFIQYgASEICyAJIAw2AgggCSAINgIEIAkgBjYCACAJQQxqIQkMAwsgASACaiEBIAZBAWohBgwACwALCyAAIAIgB2xqIQcgACEGA0AgAiAGaiIGIQEgBiAHTw0BA0AgACABTw0BIAEgD2oiBSABIAQgAxEBAEEATA0BIAEgBSACIA4RBgAgBSEBDAALAAsACwALIA1B4ARqJAAL9wICBH8CfiMAQSBrIgMkACADQoCAgIAwNwMYIANCgICAgDA3AxAgAyAAQcAAQQJBAEECIANBEGoQ0QEiBzcDCEKAgICA4AAhCCAHQoCAgIBwg0KAgICA4ABSBEACQCACQoCAgIBwg0KAgICAMFEEQCAAIAJBACADQQhqEPgFIQIMAQsgACACQQEgA0EIahCnASECIAMpAwghBwsg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x9oAQQAQRwwBCyAAIAcgBCAFciIIQR92EOsBIgUNAQtCgICAgOAADAELIAVBEGohBAJAIAhBAE4EQCAEIANBEGogAygCBEH/////B3EQICIEIAMoAgRB/////wdxaiAGQRBqIAYoAgRB/////wdxECAaIAQgB2pBADoAAAwBCyAEIAMgAygCBEH/////B3EQwQUgBCADKAIEQQF0aiAGIAYoAgRB/////wdxEMEFCyAFrUKAgICAkH+ECyEKIAAgARAPDAELIAEhCgsgACACEA8gCgtDACAAAn8CfyADBEAgASgCJCACQQN0akEEagwBC0EAIAEoAiAiA0UNARogAyABLwEoQQR0aiACQQR0agsoAgALENoBCw0AIAAgASACQQIQzwILNQEBfyMAQdAAayICJAAgAiAAKAIQIAJBEGogARCRATYCACAAQe75ACACEMcCIAJB0ABqJAALowECAX8BfiMAQRBrIgUkACAFIAQ2AgxBfyEEIAAgASAFQQxqENUBRQRAIAMoAgAiAEF8cSABIAIgAygCBCAAQQNxQQJ0QZTAAWooAgARHwAhBiADKAIAEOgFIAUoAgwiACAAKAIAQf////8DcTYCACADQoCAgIAwIAYgBkKAgICAcINCgICAgOAAUSIAGzcDAEF/QQAgABshBAsgBUEQaiQAIAQLhgIBA38jAEEQayIGJAAgBiAAOQMIIAYgAUEBayIHNgIAIAVBgAFB//AAIAYQTxogAyAFLQAAQS1GNgIAIAQgBS0AAToAACABQQJOBEAgBEEBaiAFQQNqIAcQIBoLIAEgBGpBADoAACACIAEgBWogAUEBSmpBAmohAQNAIAEiAkEBaiEBIAIsAAAiAxCNBg0AC0EBIQQCQAJAAkAgA0H/AXFBK2sOAwECAAILQQAhBAsgASwAACEDIAEhAgtBACEBIANBMGsiA0EJTQRAA0AgAUEKbCADayEBIAIsAAEgAkEBaiECQTBrIgNBCkkNAAsLQQAgAWsgASAEG0EBajYCACAGQRBqJAALlQcCCn8BfiMAQfAAayIFJAAgACgCECEGIAVCADcDWCAFQgA3A1AgBSAGNgJkIAVBOzYCYAJAIAIEfyAFIAI2AkAgBUHQAGoiBkHTPCAFQUBrEJMCIANBf0cEQCAFIAM2AjAgBkHg+wAgBUEwahCTAgsgBUHQAGpBChAR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AhAiAEEQaiABIAAoAgQRAAALggEBAn8gACABQRBqEM4FAkAgASgCICICBEAgASgCPCIDRQ0BA0AgAiADT0UEQCAAIAIpAwAQIyACQQhqIQIgASgCPCEDDAELCyAAQRBqIAEoAiAgACgCBBEAAAsgACABKQMYECMgACABKQMAECMPC0GLhAFBtfwAQYmUAUHJ6wAQAAALaAEBfgJAAkAgABA1IgNCgICAgHCDQoCAgIDgAFEEQCABIQMMAQsgACADQcAAIAFBBxAZQQBIDQAgACADQekAIAJBAEetQoCAgIAQhEEHEBlBAE4NAQsgACADEA9CgICAgOAAIQMLIAMLjAEBAn8CQANAIAFCgICAgHBUDQECQAJAAkACQAJAAkAgAaciAi8BBiIDQQxrDgUFAQMHAQALIANBMEYNASADQTRrDgUABgYGAAYLIAIoAiAoAjAPCyACKAIgIgJFDQQgAi0AEUUNASAAELcCQQAPCyACKAIgIQILIAIpAwAhAQwBCwsgAigCICEACyAACyIAIAAgAkEBahApIgAEQCAAIAEgAhAgIAJqQQA6AAALIAALnAMCA34EfwJAAkAgASgCCCIGQf7///8HTgRAQQEhByACQQFxDQEgBkH+////B0cEQEL///////////8AIQMMAwsgATQCBEL///////////8AfCEDDAILIAZBAEwNACAGQT9NBEAgASgCECABKAIMIghBAnRqIglBBGsoAgAhAkIAIAZBIE0EfiACQSAgBmt2rQUgCEECTwR+IAlBCGs1AgAFQgALIAKtQiCGhEHAACAGa62ICyIDfSADIAEoAgQbIQMMAgsgAkEBcUUEQCABKAIERQRAQv///////////wAhA0EBIQcMAwsgBkHAAEcEQEKAgICAgICAgIB/IQNBASEHDAMLIAEoAhAgASgCDCIBQQJ0aiICQQRrNQIAQiCGIQRCgICAgICAgICAfyEDIAFBAk8EfiACQQhrNQIABUIACyAEhEKAgICAgICAgIB/UiEHDAILQgAgASgCECIIIAEoAgwiAiACQQV0IAZrIgYQaa0gCCACIAZBIGoQaa1CIIaEIgN9IAMgASgCBBshAwwBCwsgACADNwMAIAcLMwEBfyAAKAIAKAIQIgFBEGogACgCBCABKAIEEQAAIABBADYCDCAAQgA3AgQgAEF/NgIUC0YAIAJBAEwEQCAAQS8QLg8LIAAgAkEAEOsBIgBFBEBCgICAgOAADwsgAEEQaiABIAIQICACakEAOgAAIACtQoCAgICQf4QLbwIBfwF+AkACQAJ/IAJFBEAgACgCECABQQAQsgUMAQsgASwAAEE6a0F2Tw0BIAAoAhAgASACELIFCyIDDQELQQAhAyAAIAEgAhCUAiIEQoCAgIBwg0KAgICA4ABRDQAgACgCECAEpxD6AyEDCyADCxwAIAAgACgCECgCRCABQRhsaigCBEHS9gAQkAELRAECfwJAA0AgAUEKRg0BIAFBAnRB8oACai8BACAASg0BIAFBAXQgAUEBaiEBQQF0QfSAAmovAQAgAE0NAAtBAQ8LQQALdAEEf0ECIQICQCAAKAIIIgRB/////wdGDQAgASgCCCIFQf////8HRg0AIAAoAgQiAyABKAIERwRAIARBgICAgHhGBEBBACECIAVBgICAgHhGDQILQQEgA0EBdGsPC0EAIAAgARDUASIAayAAIAMbIQILIAILhgEBBH4gABA/IgRCgICAgHCDQoCAgIDgAFIEQCABQQAgAUEAShutIQYDQCADIAZRBEAgBA8LIAIgA6dBA3RqKQMAIgVCgICAgNB+WgRAIAWnIgEgASgCAEEBajYCAAsgACAEIAMgBUEAENMBIANCAXwhA0EATg0ACyAAIAQQDwtCgICAgOAAC/8DAgR+An8CQCABvSIEQgGGIgNQIAG9Qv///////////wCDQoCAgICAgID4/wBWckUEQCAAvSIFQjSIp0H/D3EiBkH/D0cNAQsgACABoiIAIACjDwsgAyAFQgGGIgJaBEAgAEQAAAAAAAAAAKIgACACIANRGw8LIARCNIinQf8PcSEHAn4gBkUEQEEAIQYgBUIMhiICQgBZBEADQCAGQQFrIQYgAkIBhiICQgBZDQALCyAFQQEgBmuthgwBCyAFQv////////8Hg0KAgICAgICACIQLIQICfiAHRQRAQQAhByAEQgyGIgNCAFkEQANAIAdBAWshByADQgGGIgNCAFkNAAsLIARBASAHa62GDAELIARC/////////weDQoCAgICAgIAIhAshBCAGIAdKBEADQAJAIAIgBH0iA0IAUw0AIAMiAkIAUg0AIABEAAAAAAAAAACiDwsgAkIBhiECIAZBAWsiBiAHSg0ACyAHIQYL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IAVVGyEFA0AgASAFUQ0CQoCAgIDgACEEIAAgByABEHQiBkKAgICAcINCgICAgOAAUQ0DIAMpAwAiBEKAgICA0H5aBEAgBKciAiACKAIAQQFqNgIACyAAIAQgBkECELwBDQEgAUIBfCEBDAALAAtCgYCAgBAhBAwBC0KAgICAECEECyAAIAcQDyAJQSBqJAAgBAu3AQECfwJAAnwCQAJAAkACQAJAQQcgAEIgiKciAiACQQdrQW5JGyICQQhqDgoCAQYGBgYGAgMABAsgAKchAQwFCyAAp0EAELAFIQEMBAsgAKdB2xhsIQEMAwsgAKdB2xhstwwBCyACQQdHDQFEAAAAAAAA+H8gAEKAgICAwIGA/P8AfCIAvyAAQv///////////wCDQoCAgICAgID4/wBWGwu9IgBCIIggAIWnQdsYbCEBCyABIAJzCwQAQQALWAECfyABBEACQCAAKAIIIAAoAgQiAyABakkNACABELEBIgFFDQAgACADQQhqNgIEIAAgACgCAEEBajYCACABIQILIAIPC0GnkAFBtfwAQaINQYH8ABAAAAulAQICfwF+IwBBEGsiBCQAAkAgACABIAIgAxCnASIBQoCAgIBwg0KAgICA4ABRDQACQCAAIAEQkwEiBUEASA0AIAJBAUcNASADKQMAIgZCgICAgNB+WgRAIAanIgIgAigCAEEBajYCAAsgACAEQQhqIAYQowENACAEKQMIIAWtVw0BIABB19QAQQAQFQsgACABEA9CgICAgOAAIQELIARBEGokACABC5gBAQR/IAGnIgYvAQZB5aYBajEAACEBIABBGBApIgVFBEAgACACEA9Bfw8LIAKnIgcoAiAhACAFIAQgAYY+AhQgBSADpyIINgIQIAUgBzYCDCAFIAY2AgggACgCDCIHIAU2AgQgBSAAQQxqNgIEIAUgBzYCACAAIAU2AgwgBiAEPgIoIAYgBTYCICAGIAAoAgggCGo2AiRBAAuoAgEEfyAAKAIQIQYCQAJAIAAgASADEGYiAUKAgICAcINCgICAgOAAUQ0AIAJCgICAgAhaBEAgAEH92ABBABBRDAILIABBHBApIgRFBEBBACEEDAILIAQgAqciBTYCAAJAAkAgA0EURw0AIAYoArgBIgdFDQAgBCAGKALEAUEBIAUgBUEBTRsgBxEDACIGNgIIIAZFDQMgBkEAIAUQKxoMAQsgBCAAQQEgBSAFQQFNGxBgIgU2AgggBUUNAgsgBEHSADYCGCAEQQA2AhQgBEEAOgAEIAQgBEEMaiIANgIQIAQgADYCDCAEIANBFEY6AAUgAUKAgICAcFQNACABpyAENgIgCyABDwsgACABEA8gACgCECIAQRBqIAQgACgCBBEAAEKAgICA4AALGwAgASgCIARAIAAgAUEoahD8AiABQQA2AiALC2YCAn8BfiMAQRBrIgMkAEF/IQQCQCAAIAFCABBOIgVCgICAgHCDQoCAgIDgAFENACAAIANBDGogBRCZAQ0AIAAgAUEAIAMoAgwgAmoiAK0QpQFBAEgNACAARSEECyADQRBqJAAgBAsNACAAIAEgAkEBEIQFCyEAIAEoAgRBBUcEQCABQQU2AgQgACgCECABQQhqEPwCCwuRAQEDfwJAIAAoAggiBEH9////B0oNACACQQZGBEAgASADSA8LIARBgICAgHhGIAFBAmogA0pyDQAgACgCECIGIAAoAgwiBCABQX9zIgAgBEEFdGoiARCaAiACQXtxRXMhAiAAIANqIQADQCAARQ0BIABBAWshACAGIAQgAUEBayIBEJoCIAJGDQALQQEhBQsgBQsqAQF/IAJCgICAgNB+WgRAIAKnIgMgAygCAEEBajYCAAsgACABIAIQkAUL3gUBD38jAEEwayIEJAACQAJAAkACQAJAIAAgAUYgACACRnJFBEAgAkEIaiEJIAFBCGoiCigCAEEASgRAIAEoAgQhBQsgAigCCEEASgRAIAIoAgQhBwsCQAJAIAVFBEAgASEGDAELIAAoAgAhBiAEQgA3AhQgBEKAgICAgICAgIB/NwIMIAQgBjYCCCAEQQhqIQYgBiABQgFB/////wNBARB2DQEgBEEQaiEKCwJ/IAdFBEAgAkEMaiELIAJBEGohDkEAIANBAk8NARogBUUhDCAFIQgMBQsgACgCACEBIARCADcCKCAEQoCAgICAgICAgH83AiAgBCABNgIcIARBHGoiASACQgFB/////wNBARB2BEAgASECDAcLIARBKGohCyAEQSxqIQ4gBEEkaiEJIARBHGohAiAFIAcgAxCPBgsiCEUhDCADQQJHIAhyDQMgBSAHckUEQCAKKAIAIgggCSgCACIBIAEgCEobIQEMAwsgBUUEQCAKKAIAIQEMAwsgCSgCACEBDAILQQAhAgwEC0GxjAFB2/wAQZoSQfDJABAAAAtBACEIQQEhDAwBCyAKKAIAIg0gAigCCCIBIAEgDUgbIQELIABBASABIAFBAUwbQR9qIg9BBXYiEBBCDQBBACEBQQAgCGshEUEAIAdrIRJBACAFayEHIAsoAgBBBXQgCSgCAGshCSAGKAIMQQV0IAooAgBrIQ0DQCABIBBGRQRAIAAoAhAgAUECdGogBigCECAGKAIMIA0gAUEFdCIFahBpIAdzIA4oAgAgCygCACAFIAlqEGkgEnMgAxCPBiARczYCACABQQFqIQEMAQsLIAAgCDYCBCAAIA9B4P///wdxNgIIIABB/////wNBARC0AhpBACEBIAwNASAAIABCf0H/////A0EBEHZFDQELIAAQNkEgIQELIARBCGogBkYEQCAGEBsLIARBHGogAkYEQCACEBsLIARBMGokACABC/0FAQd/IwBBMGsiBSQAAkACQCAAIAJGIAAgA0ZyRQRAIAEgAkYgASADRnINASAAIAFGDQICQAJAIAIoAgwiCARAIAMoAgwiCQ0BC0EAIQQgAEEAEIoBAkAgAigCCCIAQf////8HRwRAIAMoAggiA0H/////B0cNAQsgARA2DAILIABB/v///wdHIANBgICAgHhHcUUEQCABEDZBASEEDAILIAEgAhBFGiABQf////8DQQEQzwEhBAwBCyACKAIEIgcgAygCBHMhCgJAAkACQAJAAkAgBEECaw4FAAEEAgMECyAKIQYMAwsgCkEBcyEGDAILQQEhBgwBCyAHIQYLIAUgAigCCCIHNgIkIAIoAhAhCyAFIAg2AiggBSALNgIsIAVBADYCICAFIAMoAggiCDYCECADKAIQIQMgBSAJNgIUIAUgAzYCGCAFQQA2AgwCQCAFQRxqIgMgBUEIahDUAUEASARAIABCABAyGiABIAMQRRoMAQsgACAFQRxqIgkgBUEIaiILQQEgByAIayIDIANBAUwbQQFqQQEQlgEaIABBARDSARogASAAIAtB/////wNBARBEGiABIAkgAUH/////A0EBEOUBGgsCQCAAKAIIIgdB/////wdGDQAgASgCCEH/////B0YNAAJAIAEoAgxFDQACQAJAAkAgBA4FAAEBAQABCyAFIAUoAhAiBkEBazYCECABIAVBCGoQ1AEhAyAFIAY2AhAg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ASACEQAACw8LQfj6AEG1/ABBjixB59AAEAAACxAsAAsgACADpyACEQAAC3wBAn8gAEEgECkiAgRAIAJBATYCACACQoCAgIDAAEKAgICAMCABGzcDGCACIAJBGGo2AhAgAiACLQAFQQFyOgAFIAAoAhAhACACQQM6AAQgACgCUCIBIAJBCGoiAzYCBCACIABB0ABqNgIMIAIgATYCCCAAIAM2AlALIAILewECfyMAQZABayIEJABBx5YBIQUCQAJAAkACQCABQQFqDgUDAgIAAQILQYiWASEFDAELQfAyIQULIAAoAhAgBEHQAGogAxCRASEBIAQgACgCECAEQRBqIAIoAgQQkQE2AgQgBCABNgIAIAAgBSAEEIECCyAEQZABaiQAC4QBAQJ/IwBBEGsiBSQAIAVBADYCDCAFQgA3AgQgACABIAIgAyAEIAVBBGoQrgUgBSgCDCIBQQAgAUEAShshAyAFKAIEIQEDQCADIAZGRQRAIAAgASAGQQN0aigCBBATIAZBAWohBgwBCwsgACgCECIAQRBqIAEgACgCBBEAACAFQRBqJAALpQEBBX8jAEEQayIDJABBfyECAkAgACgCFA0AIAAoAgAgACgCBCABQQF0QRBqIANBDGoQqAEiBEUEQCAAEIEDDAELIARBEGohBSAAKAIIIQIgAygCDCEGA0AgAkEATEUEQCAFIAJBAWsiAkEBdGogAiAFai0AADsBAAwBCwsgAEEBNgIQIAAgBDYCBCAAIAZBAXYgAWo2AgxBACECCyADQRBqJAAgAgtBAQF/IAEgASgCACICQQFrNgIAIAJBAUwEQCABKAIIQYCAgIAETwRAIAAgARCgAw8LIABBEGogASAAKAIEEQAACwtxAQF+AkAgACABIAAgAxCpASIDIAFBABAUIgRCgICAgHCDQoCAgIAwUQRAIAAgAiADIAJBABAUIgJCgICAgHCDIgRCgICAgDBRIARCgICAgOAAUXINASAAIAEgAyACEKwFDAELIAAgBBAPCyAAIAMQEwszACAAQYwBayIAQSdPQo+A/7/mCSAArYinQQFxRXJFBEAgAEECdEHQ/gFqKAIADwsQLAAL+wgBC38jAEEQayIIJAACQAJAAkACQAJAAkACQANAIAEoAhAiA0EwaiEGIAMgAygCGCACcUF/cyIHQQJ0aigCACEEQQAhAwNAIAQE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QQBOBEAgAyECA0AgAiIEQQFrIQIgACAFQaABaiAEQQN0aisDAKAhACAEDQALCyAJIACaIAAgDBs5AwAgBSsDoAEgAKEhAEEBIQIgA0EASgRAA0AgACAFQaABaiACQQN0aisDAKAhACACIANHIAJBAWohAg0ACwsgCSAAmiAAIAwbOQMIIAVBsARqJAAgCEEHcQwCC0EBIQIDQCACIgRBAWohAiAFQeADaiAKIARrQQJ0aigCAEUNAAsgAyAEaiEEA0AgBUHAAmogAyALaiIIQQN0aiADQQFqIgMgEGpBAnRBwLAEaigCALc5AwBBACECRAAAAAAAAAAAIQAgC0EASgRAA0AgDyACQQN0aisDACAFQcACaiAIIAJrQQN0aisDAKIgAKAhACACQQFqIgIgC0cNAAsLIAUgA0EDdGogADkDACADIARIDQALIAQhAwwACwALIQMgCSsDACEAIBlCAFMEQCABIACaOQMAIAEgCSsDCJo5AwhBACADayEDDAELIAEgADkDACABIAkrAwg5AwgLIAlBMGokACADC/oDAwN8An8BfiAAvSIGQiCIp0H/////B3EiBEGAgMCgBE8EQCAARBgtRFT7Ifk/IACmIAC9Qv///////////wCDQoCAgICAgID4/wBWGw8LAkACfyAEQf//7/4DTQRAQX8gBEGAgIDyA08NARoMAgsgAJkhACAEQf//y/8DTQRAIARB//+X/wNNBEAgACAAoEQAAAAAAADwv6AgAEQAAAAAAAAAQKCjIQBBAAwCCyAARAAAAAAAAPC/oCAARAAAAAAAAPA/oKMhAEEBDAELIARB//+NgARNBEAgAEQAAAAAAAD4v6AgAEQAAAAAAAD4P6JEAAAAAAAA8D+goyEAQQIMAQtEAAAAAAAA8L8gAKMhAEEDCyAAIACiIgIgAqIiASABIAEgASABRC9saixEtKK/okSa/d5SLd6tv6CiRG2adK/ysLO/oKJEcRYj/sZxvL+gokTE65iZmZnJv6CiIQMgAiABIAEgASABIAFEEdoi4zqtkD+iROsNdiRLe6k/oKJEUT3QoGYNsT+gokRuIEzFzUW3P6CiRP+DAJIkScI/oKJEDVVVVVVV1T+goiEBIARB///v/gNNBEAgACAAIAMgAaCioQ8LQQN0IgRBsK8EaisDACAAIAMgAaCiIARB0K8EaisDAKEg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ACADIAI2AgAgAEEJEBAgASABKAIAKAKYAjYCDCAAQekAQX8QHCEBIABBuAEQECAAQQgQGiADKAIAQQAQFyAAQbgBEBAgAEHzABAaIAMoAgBBABAXIABBLRAQIAAgARAfIAMgAygCACgCBDYCAEEAC0cBAX8Cf0EAIAEoAggNABogASgCACICBH8gAgVBfyAAIAEQ3gQNARogASgCAAsoAoACIAEoAgxqQQo6AAAgAUEBNgIIQQALC0MBAn8gACgCiAEhAkF/IQMCQANAIAJBAEwNASAAKAKAASACQQFrIgJBBHRqKAIAIAFHDQALIAJBgICAgAJyIQMLIAMLxgECBH8BfiMAQRBrIgMkACAAIAEQLiIHQoCAgIBwg0KAgICA4ABSBEACQCAAIANBDGogBxDmASIGRQRADAELAkAgACACEEAiASADKAIMakEBahApIgRFBEBBACEEDAELIAQgBiADKAIMECAiBSADKAIMaiACIAEQIBogBSADKAIMaiABakEAOgAAIAAgBSADKAIMIAFqEIMDIQQgACgCECIBQRBqIAUgASgCBBEAAAsgACAGEFYLIAAgBxAPCyADQRBqJAAgBAu/AQEBfyABIANqLQAAQTxGBEAgACAEQf8BcRARIAAgBUH//wNxECogA0EBaiEDCyABIAIoAgQiAEEFayICaiIGLQAAQbYBRgRAIAAgAWotAABBFkYEQCAGQRE6AAAgAEEEayECCyAAQQJqIQAgASACaiIGIAU7AAEgBiAEQQFqOgAAIAJBA2ohAgNAIAAgAkxFBEAgASACakGzAToAACACQQFqIQIMAQsLIAMPC0Go1QBBtfwAQezlAUG83gAQAAALQgEBfwJAIAAgAWoiAC0AAUE9Rw0AQQEhAgJAAkAgAC0AACIAQRZrDgQCAQECAAsgAEGzAUYNAQsgAEEdRiECCyACC7MBAQF/QX8hAwJAIAEoAkxFDQACQAJAAkACQCACQfEAaw4DAgEAAwsgASgCtAEiA0EATg0DIAEgACABQfMAEFAiADYCtAEgAA8LIAEoArABIgNBAE4NAiABIAAgAUHyABBQIgA2ArABIAAPCyABKAKsASIDQQBODQEgASAAIAFB8QAQUCIANgKsASAADwsgAkEIRw0AIAEoAqgBIgNBAE4NACABIAAgARDJAyIDNgKoAQsgAwtFACAAKALM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QoCAgIBwg0KAgICA4ABRDQYgACABQgBCASAFQQEQ8gJFDQEMBgsgACABIAUQdCIGQoCAgIBwg0KAgICA4ABRDQULIAAgASAFEPsBQQBODQIMBAsgAyAIQQN0akEIaykDACEGCyAJIAkoAihBAWs2AigLIAdCgYCAgAhUDQBCgICAgMB+IAW6vSIFQoCAgIDAgYD8/wB9IAVCgICAgICAgPj/AFYbIQULIAAgAUEwIAUQRkEATg0BCyAAIAYQD0KAgICA4AAhBgsgACABEA8gAkEQaiQAIAYLoQMCBn4BfyMAQRBrIgskAAJ+AkAgACALQQhqIAAgARAkIgUQPQ0AIAspAwgiASACrCIHfCIGQoCAgICAgIAQWQRAIABB19oAQQAQFQwBCwJAIARFIAJBAExyRQRAIAAgBSAHQgAgAUF/EPICDQIMAQsgASEICyACQQAgAkEAShutIQlCACEBA0AgASAJUgRAIAMgAadBA3RqKQMAIgdCgICAgNB+WgRAIAenIgIgAigCAEEBajYCAAsgASAIfCEKIAFCAXwhASAAIAUgCiAHEIcBQQBODQEMAgsLIAAgBUEwIAZCgICAgAh8IghC/////w9YBH4gBkL/////D4MFQoCAgIDAfiAGub0iAUKAgICAwIGA/P8AfSABQv///////////wCDQoCAgICAgID4/wBWGwsQRkEASA0AIAAgBRAPIAZC/////w+DIAhC/////w9YDQEaQoCAgIDAfiAGub0iAUKAgICAwIGA/P8AfSABQv///////////wCDQoCAgICAgID4/wBWGwwBCyAAIAUQD0KAgICA4AALIAtBEGokAAvKAwIHfwN+IwBBIGsiBCQAIARBADYCDCAEQQA2AggCQAJAIAQgACgCECgCeEkEQCAAEOoBDAELIAAgASACIAFBABAUIgtCgICAgHCDQoCAgIDgAFEEQCALIQEMAgsCQAJAIAtCgICAgHBUDQAgACALEMsBIgpBAEgNAQJAIAoEQCAAIARBDGogCxDXAUUNAQwDCyAAIARBCGogBEEMaiALp0EREI8BIAQoAgghBUEASA0CCyAEKAIMIQgDQCAHIAhGDQECQCAKBEAgACAHEKkFIgZFDQQMAQsgACAFIAdBA3RqKAIEEBghBgsCfwJAIAAgCyAGIAMQ+QQiDUKAgICAcIMiDEKAgICAMFIEQCAMQoCAgIDgAFINASAAIAYQEwwFCyAAIAsgBkEAENYBDAELIAAgCyAGIA1BBxAZCyAAIAYQEyAHQQFqIQdBAE4NAAsMAQsgACAFIAgQW0EAIQUgACACEF0iDEKAgICAcINCgICAgOAAUQ0AIAQgCzcDGCAEIAw3AxAgACADIAFBAiAEQRBqECEhASAAIAwQDyAAIAsQDwwCCyAAIAUgBCgCDBBbIAAgCxAPC0KAgICA4AAhAQsgBEEgaiQAIAELPwEBfyABQQAgAUEAShshAQNAAkAgASADRgRAQX8hAwwBCyAAIANBA3RqKAIEIAJGDQAgA0EBaiEDDAELCyADC9YEAgJ/BH4CQCACQv////9vWARAIAAQJQwBCwJAAkAgACACQT0QcgR/IAAgAkE9IAJBABAUIgVCgICAgHCDQoCAgIDgAFENAUGBAkGAAiAAIAUQJhsFQQALIQMgACACQT4QcgRAIAAgAkE+IAJBABAUIgVCgICAgHCDQoCAgIDgAFENAUGCBEGABCAAIAUQJhsgA3IhAwsgACACQT8QcgRAIAAgAkE/IAJBABAUIgVCgICAgHCDQoCAgIDgAFENAUGECEGACCAAIAUQJhsgA3IhAwtCgICAgDAhBgJAAkAgACACQcAAEHJFBEBCgICAgDAhBwwBCyAAIAJBwAAgAkEAEBQiB0KAgICAcINCgICAgOAAUQ0BIANBgMAAciEDCwJAAkAgACACQcEAEHJFDQBCgICAgDAhBSADQYAQciEDIAAgAkHBACACQQAQFCIGQoCAgIBwgyIIQoCAgIAwUQ0AQcPCACEEIAhCgICAgOAAUQ0BIAAgBhA5RQ0BCwJAIAAgAkHCABByRQRAQoCAgIAwIQUMAQsgA0GAIHIhAyAAIAJBwgAgAkEAEBQiBUKAgICAcIMiAkKAgICAMFENAEG0wgAhBCACQoCAgIDgAFENASAAIAUQOUUNAQsgA0GAMHEEQEG46QAhBCADQYDEAHENAQsgASAFNwMYIAEgBjcDECABIAc3AwggASADNgIAQQAPCyAAIARBABAVDAILQoCAgIAwIQUMAQtCgICAgDAhBUKAgICAMCEGQoCAgIAwIQcLIAAgBxAPIAAgBhAPIAAgBRAPC0F/C8IBAQJ/IAIoAgRFBEAgAigCGCIDIAIoAhwiBDYCBCAEIAM2AgAgAkIANwIYAkAgASgCAARAIAIQnwUMAQsgACACKQMgECMLIAAgAikDKBAjIAIgAigCAEEBayIDNgIAAkAgA0UEQCACKAIQIgMgAigCFCIENgIEIAQgAzYCACACQgA3AhAgAEEQaiACIAAoAgQRAAAMAQsgAkKAgICAMDcDKCACQoCAgIAwNwMgIAJBATYCBAsgASABKAIMQQFrNgIMCwuoAQIBfwJ+IAC9IgRC////////////AINCgYCAgICAgPj/AFoEQCABvUL///////////8Ag0KBgICAgICA+P8AVA8LQX8hAgJAIAAgAWMNACABvSIDQv///////////wCDQoCAgICAgID4/wBWDQAgACABZARAQQEPCyAARAAAAAAAAAAAYgRAQQAPCyAEQgBTBEAgA0I/h6dBf3MPCyADQj+IpyECCyACCzAAIAFCgICAgBCEQoCAgIBwg0KAgICAMFEEQCAAIAEQOA8LIAAgAUE4QQBBABCuAgsqAQF/IAJCgICAgNB+WgRAIAKnIgMgAygCAEEBajYCAAsgACABIAIQxAULUgIBfwF+QoCAgIDgACEEIAAgASACEJQBIgMEfiADKAIgIgMoAgwoAiAtAAQEQCACRQRAQgAPCyAAEGxCgICAgOAADwsgAzUCEAVCgICAgOAACws4ACAAIAEgAhCUASIARQRAQoCAgIDgAA8LIAAoAiAoAgwiACAAKAIAQQFqNgIAIACtQoCAgIBwhAtSAgF+AX8gACAAKQOQAUEDEEsiAkKAgICAcINCgICAgOAAUgRAIAFCgICAgNB+WgRAIAGnIgMgAygCAEEBajYCAAsgACACQTQgAUEDEBkaCyACC4MDAQV/IwBBEGsiBiQAAkACQAJAAkAgAkEASARAIAYgAkH/////B3E2AgAgAUHAAEHcIiAGEE8aDAELIAAoAiwgAk0NAiACRQRAIAFB/YgBKAAANgADIAFB+ogBKAAANgAADAELIAAoAjggAkECdGooAgAiBEEBcQ0DIAEhAgJAIARFDQAgBCgCBCIAQQBOBEAgBEEQaiEDQQAhAgNAIAAgAkZFBEAgByACIANqLQAAciEHIAJBAWohAgwBCwsgB0GAAUgNAwsgBEEQaiEDIAEhAgNAIAUgAEH/////B3FPDQECfyAAQQBIBEAgAyAFQQF0ai8BAAwBCyADIAVqLQAACyEA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IAFBAk8bIANsDAELIABBf3NBH3YgAUECayEBAn4gAgRAIAOtIgYgAUEDdCIBQYSnBGo1AgB+QiCIIAFBgKcEajUCACAGfnxCH4gMAQsgAUECdEGgqQRqNQIAIAOtfkIdiAunagsiAWsgASAAQQBIGwtIAQJ/IwBBEGsiAiQAQX8hAwJAIAAgAkEMaiABELoBDQAgAigCDCIDQSVrQVxLDQAgAEHgiQFBABBRQX8hAwsgAkEQaiQAIAMLdQEBfwJAIAFCgICAgHCDQoCAgIDgflEEQAwBCwJAIAFCgICAgHBUDQAgAaciAi8BBkEhRw0AIAIpAyAiAUKAgICAcINCgICAgOB+Ug0ADAELIABBoixBABAVQoCAgIDgAA8LIAGnIgAgACgCAEEBajYCACABC64CAgF8AX8CQANAAkACQAJAAkACQEEHIAJCIIinIgQgBEEHa0FuSRtBCWoOEQIDAwMDAwMDAwAAAAADAwQBAwsgASACxDcDAAwFCyACQoCAgIDAgYD8/wB8IgJC////////////AINCgYCAgICAgPj/AFoEQCABQgA3AwAMBQsgAr8iA0QAAAAAAADgw2MEQCABQoCAgICAgICAgH83AwAMBQsgA0QAAAAAAADgQ2QEQCABQv///////////wA3AwAMBQsgAQJ+IAOZRAAAAAAAAOBDYwRAIAOwDAELQoCAgICAgICAgH8LNwMADAQLIAEgAqdBBGpBABCAAxogACACEA8MAwsgACACEI4BIgJCgICAgHCDQoCAgIDgAFINAQsLIAFCADcDAEF/DwtBAAuxAgECfyMAQSBrIgQkAAJAAkACQCACKAIMRQRAAkACQAJAAkAgAigCCEH+////B2sOAgEAAgsgABA2DAILIAIoAgQNAwsgACACEEUaC0EAIQIgAUUNAyABQgAQMhoMAwsgAigCBEUNAQsgABA2QQEhAiABRQ0BIAFCABAyGgwBCyAAIAIgAigCCEEBakECbUEBEJAGIABBARDSARogASIDRQRAIAAoAgAhAyAEQgA3AhggBEKAgICAgICAgIB/NwIQIAQgAzYCDCAEQQxqIQMLIAMgACAAQf////8DQQEQRBogAyADKAIEQQFzNgIEIAMgAyACQf////8DQQEQzAEaQSAhAiADKAIIQf////8HRwRAIAMoAgxBAEdBBHQhAgsgAQ0A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fwF+IwBBEGsiBCQAAkACQCABQoCAgIBwg0KAgICA4H5SDQAgAachAwJAIAJFDQAgBEEIaiADQQRqQQAQgAMNACAEKQMIIgVC/////////w98Qv7///////8fVg0AIAAgARAPIAVCgICAgAh8Qv////8PWARAIAVC/////w+DIQEMAgtCgICAgMB+IAW5vSIBQoCAgIDAgYD8/wB9IAFC////////////AINCgICAgICAgPj/AFYbIQEMAQsgAygCDEGAgICAeEcNACADKAIIRQ0AIAMoAgBBAUcNASADQQA2AggLIARBEGokACABDwtB6owBQbX8AEGx4ABBmYwBEAAAC0ABA39BASAAQf6tBGotAAAiASABQQFNGyEDQQEhAiAAIQEDQCACIANGRQRAIAJBAWohAiAAIAFsIQEMAQsLIAELUAECfwNAIAEsAAAiBARAIAQgACwAACIDQSByIAMgA0HBAGtBGkkbRwRAQQAPBSABQQFqIQEgAEEBaiEADAILAAsLIAIEQCACIAA2AgALQQELugcCCn8BfiMAQeAAayIDJABCgICAgOAAIQ0CQCAAIANBDGogARC7ASIGRQ0AIAYoAgQiDCEFIAYoAggiBEGAgICAeEYEQCAGQQA2AgRBACEFCyAGKAIAIQogA0IANwNQIANCADcDSCADIAo2AlwgA0HFADYCWAJ/AkACQCAEQf////8HRgRAIANByABqQYiDARD5AgwBCyAFBEAgA0HIAGpBLRARIAYoAgghBAsgBEH+////B0YEQCADQcgAakH1HBD5AgwBC0EAIQUgA0IANwJAIANCgICAgICAgICAfzcCOCADIAo2AjQgAiACQQFrIghxRQRAQSAgCGdrQQAgAkECTxshBQsCQAJAAkACQCAFBEAgA0E0aiIEIAYQRQ0BIARBAEEREM8BQSBxDQEgAygCPCIEIAVBAWtBACAEQQBOG2ogBW0hBSAEQYCAgIB4RgRAIANByABqQa+QARD5AgwFC0EAIQQgBUEASg0CIANByABqQcSQARD5AkEAIAVrIQIDQCACIARGDQUgA0HIAGpBMBARIARBAWohBAwACwALIAMgBigCEDYCMCADIAYoAgwiBTYCLCADQQA2AiQgAyAENgIoIARBACAEQQBKGyACQQEQjQVBAWohCAJAIAUEQCAIIAJBABCNBSEFQRAh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QYUpQbX8AEGM8gFB+zkQAAALQaGCAUG1/ABB2OsBQeb0ABAAAAtBtYQBQbX8AEGb6wFB5vQAEAAACwNAIAIgDk5FBEAgA0GABmogAiAMaiIEIAQtAABBAnRBgLgBai0AACIEEHMgAiAEaiECDAELCyANEPcBIA0gAykDkAY3AhAgDSADKQOIBjcCCCANIAMpA4AGNwIADAwLIA0Q9wEgDSADKQOQBjcCECANIAMpA4gGNwIIIA0gAykDgAY3AgACQCABKAKMAg0AIAEoAqQCIQsgAyABKALwAjYCmAYgAyABKAKAAiIJNgLcBSADIAEoAoQCIgo2AuAFIAAoAhAhAiADQgA3A4gGIANCADcDgAYgAyACNgKUBiADQTs2ApAGIAEoAtACIgIEQCABIAEoAgAgAkEEdBBgIgI2AswCIAJFDQ0LAkAgASgC3AIiAkUNACABLQBuQQJxDQAgASABKAIAIAJBA3QQYCICNgLYAiACRQ0NIAFBADYC6AIgASABKALwAjYC5AILIAEoArQBQQBOBEAgA0GABmoiAkEMEBEgAkEEEBEgAkHZACABKAK0ARBeCyABKAKwAUEATgRAIANBgAZqIgJBDBARIAJBAhARIAJB2QAgASgCsAEQXgsgASgCrAFBAE4EQCADQYAGaiICQQwQESACQQMQESACQdkAIAEoAqwBEF4LAkAgASgCqAFBAEgNACABKAJgBEAgA0GABmoiAkHhABARIAIgAS8BqAEQKgwBCyADQYAGaiICQQgQESACQdkAIAEoAqgBEF4LIAEoApgBQQBOBEBBACECIAEtAG5BAXFFBEAgASgCOEEARyECCyADQYAGaiIEQQwQESAEIAIQESABKAKcASICQQBOBEAgBEHaACACEF4LIANBgAZqQdkAIAEoApgBEF4LIAEoAqABQQBOBEAgA0GABmoiAkEMEBEgAkECEBEgAkHZACABKAKgARBeCyABKAKQAUEATgRAIANBgAZqIgJBDBARIAJBBRARIAJB2QAgASgCkAEQXgsgASgClAFBAE4EQCADQYAGaiICQQwQESACQQUQESACQdkAIAEoApQBEF4LQQAhAgJAA0ACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAiAKTgRAQQAhAiABKAKsAiIEQQAgBEEAShshBANAIAIgBEYNAiACQRRs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NCADQYAGaiIGQZMBQZMBQZIBIAMoAuwFIgRBkQFGGyAEQY8BRhsQESAGIAJB/wFxEBEMDwsgA0KOgICAcDcClAQgAyACNgKQBCADQpGAgICQCzcDiAQgA0KEgICA0BM3A4AEIANB3AVqIAQgA0GABGoQJwRAAkAgAygC6AUiBUEASARAIAMoApgGIQUMAQsgAyAFNgKYBgsgASADKAKEBiAFEDQCQCADKAL8BUEvRgRAIANBgAZqQcEBEBEMAQsgA0GABmoiBEEEEBEgBCADKAL8BRAdCyADQYAGaiIEQZQBEBEgBCACQf8BcRARDA8LIANCjoCAgHA3AvQDIAMgAjYC8AMgA0KRgICAkAs3A+gDIANCgYCAgNATNwPgAyADQdwFaiAEIANB4ANqECcEQAJAIAMoAugFIgVBAEgEQCADKAKYBiEFDAELIAMgBTYCmAYLIAEgAygChAYgBRA0IANBgAZqIgQgAygC9AUQxAMgBEGUARARIAQgAkH/AXEQEQwPCyADQo6AgIBwNwPYAyADIAI2AtQDIANB2QA2AtADIANCnYGAgJACNwPIAyADQti2+YJwNwPAAyADQdwFaiAEIANBwANqECcEQAJAIAMoAugFIgVBAEgEQCADKAKYBiEFDAELIAMgBTYCmAYLIAEgAygChAYgBRA0IANBgAZqIgQgAygC7AUgAygC8AUQXiAEQZQBEBEgBCACQf8BcRARDA8LIAEgAygChAYgAygCmAYQNCADQYAGakHYACACEF4gBCECDBILIAYvAAEhAiABIAMoAoQGIAMoApgGEDQgA0GABmogBSACEF4gBCECDBELIAMgBi8AASICNgLkBCADQX82AugEIAMgBUEBazYC4AQgA0HcBWogBCADQeAEahAnBEACQCADKALoBSIEQQBIBEAgAygCmAYhBAwBCyADIAQ2ApgGCyABIAMoAoQGIAQQNCADQYAGaiAFQQFqIAIQXgwNCyABIAMoAoQGIAMoApgGEDQgA0GABmogBSACEF4gBCECDBALIAEgCSAKIAQgA0GYBmoQpQIhBAwGCyABKALUAiELIAEoAswCIQZBACEIQQAhCgNAAkAgCCALSARAQQMhCSAGKAIAIgJB6QBrQQNPBEAgAkHtAUcNAkEBIQkLAkAgASgCpAIgBigCDEEUbGooAgwgBigCCCIFayIEQYB/SCAEIAlB/wBqSnJFBEAgBkEBNgIEIAJB7QFGBEBB7AEhAiAGQewBNgIADAILIAYgAkGBAWoiAjYCAAwBCyACQesARyAEQYCAAmpB//8DS3INAiAGQu2BgIAgNwIAQQIhCUHtASECCyADKAKABiAFakEBayACOgAAIAYoAgQiAiADKAKABiAFamoiBCAEIAlqIAMoAoQGIAUgCWogAmprELQBIAMgAygChAYgCWs2AoQGQQAhBCABKAKsAiICQQAgAkEAShshByABKAKkAiECA0AgBCAHRgRAIAEoAtQCIQsgBiEHIAghBANAAkAgCyAEQQFqIgRMBEBBACECIAEoAuACIgRBACAEQQBKGyEEA0AgAiAERg0CIAUgASgC2AIgAkEDdGoiBygCACIMSQRAIAcgDCAJazYCAAsgAkEBaiECDAALAAsgByICQRBqIQcgAigCGCIMIAVMDQEgAiAMIAlrNgIYDAELCyAKQQFqIQoMAwsgBSACKAIMIgtIBEAgAiALIAlrNgIMCyACQRRqIQIgBEEBaiEEDAALAAsgASgCzAIhAiAKBEBBACEFA0AgBSALTkUEQCABKAKkAiACKAIMQRRsaigCDCACKAIIIgRrIQYCQAJAAkACQCACKAIEQQFrDgQAAQMCAwsgAygCgAYgBGogBjoAACABKALUAiELDAILIAMoAoAGIARqIAY7AAAMAQsgAygCgAYgBGogBjYAAAsgAkEQaiECIAVBAWohBQwBCwsgASgCzAIhAgsgACgCECIEQRBqIAIgBCgCBBEAACABQQA2AswCIAAoAhAiAkEQaiABKAKkAiACKAIEEQAAIAFBADYCpAIgASgC2AIhBQJ/AkAgAS0AbkECcQ0AQQAgBUUNARogASgCACgCECECIAFCADcC9AIgAUIANwL8AiABIAI2AogDIAFBOzYChAMgAUH0AmohCCABKALwAiEHQQAhAkEAIQkDQCACIAEoAuACTg0BAkAgBSACQQN0aiIGKAIEIgRBAEggBCAHRnINACAGKAIAIgYgCWsiBUEASA0AAkAgBCAHayIHQQFqIglBBEsgBUEyS3JFBEAgCCAJIAVBBWxqQQFqQf8BcRARDAELIAhBABARIAggBRDmBCAIIAdBAXQgB0EfdXMQ5gQLIAYhCSAEIQcLIAJBAWohAiABKALYAiEFDAALAAsgBQsh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AgRAIAUoAgwgAigCBCIIayEGIAIoAgAhBwJAAkACQAJAIAIoAghBAWsOBAIBAwADCyADKAKABiAIaiAGNgAADAILIAZBgIACakGAgARPDQkgAygCgAYgCGogBjsAAAwBCyAGQYABakGAAk8NCSADKAKABiAIaiAGOgAACyAAKAIQIgZBEGogAiAGKAIEEQAADAELCyAFQQA2AhAgBCECDAsLIANCjoCAgHA3A6gFIANC2bj9gnA3A6AFIANB3AVqIAQgA0GgBWoQJwRAIAMoAugFIgJBAE4EQCADIAI2ApgGCyADIAMoAvAFIgY2ApQFIANBfzYCmAUgAyADKALsBSIEQQFrNgKQBSADQdwFaiADKALkBSICIANBkAVqECcEQCADKALoBSICQQBOBEAgAyACNgKYBgsgBEEBaiEEIAMoAuQFIQILIAEgAygChAYgAygCmAYQNCADQYAGaiIHIAVBAmtB/wFxEBEgByAEIAYQXgwLCyADQo6AgIBwNwOIBSADQpiAgICw6A43A4AFIANB3AVqIAQgA0GABWoQJwRAAkAgAygC6AUiAkEASARAIAMoApgGIQIMAQsgAyACNgKYBgsgASADKAKEBiACEDQgA0GABmoiAiAFQQJrQf8BcRARIAIgAy0A7AUQESACIAMoAvwFEB0MBwsgA0KOgICAcDcD+AQgA0KZgICAkAk3A/AEIANB3AVqIAQgA0HwBGoQJ0UNAQJAIAMoAugFIgJBAEgEQCADKAKYBiECDAELIAMgAjYCmAYLIAEgAygChAYgAhA0IANBgAZqIgIgBUECa0H/AXEQESACQckAEBEMBgsgA0F/NgLIBSADQoSAgICwlevUqn83A8AFIANB3AVqIAQgA0HABWoQJ0UNACADKALoBSIFQQBOBEAgAyAFNgKYBgsgAygC7AUgAygC/AUiB0HFAEYEf0H0AQUgB0EbRw0BQfUBCyEIQX1xQakBRgRAIAEgAygChAYgAygCmAYQNCADQYAGaiAIEBEgACADKAL8BRATDAYLIANC6YCAgHA3A7AFIANB3AVqIAMoAuQFIANBsAVqECdFDQACQCADKALoBSIFQQBIBEAgAygCmAYhBQwBCyADIAU2ApgGCyABIAMoAoQGIAUQNCADQYAGaiAIEBEgACADKAL8BRATQeoAIQUMBgsgASADKAKEBiADKAKYBhA0IANBgAZqIAYgDBBzIAQhAgwIC0GFKUG1/ABB4/UBQZQ4EAAAC0HEjAFBtfwAQeX1AUGUOBAAAAtBzN0AQbX8AEHw9QFBlDgQAAALQbfdAEG1/ABB9PUBQZQ4EAAACyADKALkBSECDAMLIAMoAvQFIQcgAygC5AUhBgsgASADKAKEBiADKAKYBhA0IAVB6wBHIghFBEAgASAJIAogBiADQZgGahClAiEGCyAHQQBIDQIgByABKAKsAk4NAiABIAEoAtQCIgRBAWo2AtQCIAEoAswCIARBBHRqIgRBBDYCBCAEIAU2AgAgAygChAYhDCAEIAc2AgwgBCAMQQFqNgIIAkAgCyAHQRRsaiIHKAIMIg5Bf0YEQCAHKAIIIAJBf3NqIgJB/wBKIAVB6QBrQQJLckUEQCAEQQE2AgQgBCAFQYEBaiICNgIAIANBgAZqIgQgAkH/AXEQESAEQQAQESAGIQIgACAHIAMoAoQGQQFrQQEQ5gINBAwDCyAIIAJB//8BSnINASAEQu2BgIAgNwIAIANBgAZqIgJB7QEQESACQQAQKiAGIQIgACAHIAMoAoQGQQJrQQIQ5gINAwwCCyAFQekAa0ECSyAOIAxBf3NqIgJBgAFqQf8BS3JFBEAgBEEBNgIEIAQgBUGBAWoiBDYCACADQYAGaiIFIARB/wFxEBEgBSACQf8BcRARIAYhAgwDCyAIIAJBgIACakH//wNLcg0AIARC7YGAgCA3AgAgA0GABmoiBEHtARARIAQgAkH//wNxECogBiECDAILIANBgAZqIgIgBUH/AXEQESACIAcoAgwgAygChAZrEB0gBiECIAcoAgxBf0cNASAAIAcgAygChAZBBGtBBBDmAg0BCwsgAygCgAYiAkUNDSADKAKUBiACQQAgAygCkAYRAQAaDA0LQYUpQbX8AEHl9gFBlDgQAAALIAAQfQwLCyAKKAABIQYgASABKALcAkEBajYC3AIMBgsgA0F/NgJIIANC6dSBgOABNwNAIANB3AVqIAkgA0FAaxAnRQ0FAkAgAygC9AUiB0EASA0AIAcgASgCrAJODQAgAygC6AUhBCADKALkBSADKALsBSEQIAchBQNAIAEoAoACIREgASgCpAIhEkEAIQsDQAJAIAtBFEYNACASIAVBFGxqKAIEIQIDQCACIBFqIhMtAAAiBUG2AUYgBUHCAUZyBEAgAkEFaiECDAEFIAVB6wBHDQIgC0EBaiELIBMoAAEhBQwDCwALAAsLIANCjoCAgHA3AzggAyAQNgI0IANBETYCMCADQdwFaiACIANBMGoQJwRAIAMoAvQFIQUMAQsLIANBfzYCJCADIBA2AiAgA0HcBWogAiADQSBqECdFDQYgASABKALQAkEBajYC0AIgASAHQX8QahogASADKAL0BSICQQEQahogA0GABmoiBSAQQf8BcRARIAUgAhAdIQkgBEF/RiAEIAZGcg0IIAEgASgC3AJBAWo2AtwCIAVBwgEQESAFIAQQHSAEIQYMCAtBqilBtfwAQd3yAUH7ORAAAAsgASgCzAEgCi8AASIFQQN0akEEaiECA0AgAigCACICQQBIDQcgASgCdCACQQR0aiIEKAIEIAVHDQcgBC0ADEEEcQRAIANBgAZqIgdB6AAQESAHIAJB//8DcRAqCyAEQQhqIQIMAAsACyABKALMASAPQQN0akEEaiECA0AgAigCACICQQBIDQYgASgCdCACQQR0aiIFKAIEIA9HDQYgASgCnAEgAkcEQEHhACEEIANBgAZqIgcgBSgCDEEDdkEPcUEBa0EBTQR/IANBgAZqIgRBAxARIAQgBSgCDEEBdEEIdRAdQdkABUHhAAsQESAHIAJB//8DcRAqCyAFQQhqIQIMAAsACwJAAkACQCAEQekAaw4GBAQCBAEDAAsgBEExRgRAIAovAAEhAiABIAovAAMiBBDlBCADQYAGaiIFQTEQESAFIAIQKiAFIAEoAswBIARBA3RqLwEEQQFqQf//A3EQKgwHCyAEQTJHBEAgBEHNAEcNBSAKKAABRQ0HDAULIAEgCi8AASICEOUEIANBgAZqIgRBMhARIAQgASgCzAEgAkEDdGovAQRBAWpB//8DcRAqDAYLIAEgASgC0AJBAWo2AtACIAooAAEiAkEASA0EIAIgASgCrAJODQQgASgCpAIgAkEUbGoiAigCBCEEIANC7oCAgHA3AwAgA0HcBWogBCADECdFDQMgAiACKAIAQQFrNgIADAULIAEgASgC0AJBAWo2AtACCyADQX82ApwGIANBgAZqIgQgCiAPEHMgASAMIA4gCSADQZwGahClAiIJIA5ODQMgAygCnAYiAkEASCACIAZGcg0DIAEgASgC3AJBAWo2AtwCIARBwgEQESAE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CwJAIANBACACKAIcIAVBFGxqIgYoAhAiC0EWRhsNAEEAIQQgASgCFCIJQQAgCUEAShshDAJAA0AgBCAMRwRAIAgoAgAgBEEMbGoiDSgCACALRg0CIARBAWohBAwBCwsgACAIQQwgCiAJQQFqEHkNBCABIAEoAhQiBEEBajYCFCABKAIMIARBDGxqIgQgBigCEDYCAAJAIANFBEAgBigCCEUNAQsgBEEANgIIDAILIAQgBjYCCAwBCyANQQA2AggLIAVBAWohBQwACwALQQAhBwsgBwtfAQJ/IABBEGohAgJAIAAoAgQiAEEASARAIABB/////wdxIQNBACEAA0AgACADRg0CIAIgAEEBdGovAQAgAUGHAmxqIQEgAEEBaiEADAALAAsgAiAAIAEQsQUhAQsgAQssAQF/A0AgASADRkUEQCAAIANqLQAAIAJBhwJsaiECIANBAWohAwwBCwsgAgu9AQEEfyABIAJBARCxBSIDQf////8DcSEGIAAoAjQgACgCJEEBayADcUECdGohAwNAIAMoAgAiBEUEQEEADwsCQCAAKAI4IARBAnRqKAIAIgMoAggiBUH/////A3EgBkcgBUGAgICAfHFBgICAgARHcg0AIAMoAgQiBUEASCAFQf////8HcSACR3INACADQRBqIAEgAhBiDQAgBEHeAU4EQCADIAMoAgBBAWo2AgALIAQPCyADQQxqIQMMAAsAC38BBH8gAS0AAEHbAEYEQCABQQFqIgMQQEEBayECIAAoAhAoAjghBEHQASEBA0AgAUHeAUcEQAJAIAQgAUECdGooAgAiBSgCBEH/////B3EgAkcNACAFQRBqIAMgAhBiDQAgACABEBgPCyABQQFqIQEMAQsLECwACyAAIAEQqQELrgICAn8CfiMAQSBrIgIkAEKAgICAgICA/P8AIQQgACgCCEH/////B0cEQCAAKAIAIQNCACEEIAJCADcCGCACQoCAgICAgICAgH83AhAgAiADNgIMIAJBDGoiAyAAEEUaAn4gAigCFCIAQf3///8HTARAIANBNUHIBBDPARogAigCFCEAC0KAgICAgICA+P8AIABB/v///wdGDQAaIABBgICAgHhGBEBCAAwBCyACKAIcIQMCfiACKAIYQQJGBEAgAykCAAwBCyADNQIAQiCGCyEEIABBgnhMBEAgBEGOeCAAa62I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IAMgBCAFIAAoAhAoArQCESEADAQLIANBCkcNAiAAIApBCiAEQQAgACgCECgC0AIRIQAMAwsQLAALQoCAgIDAfiATQoCAgIDAgYD8/wB9IBNC////////////AINCgICAgICAgPj/AFYbDAELQoCAgIDAfgshEiARQcEASQ0BIAAoAhAiAEEQaiAKIAAoAgQRAAAMAQtCgICAgOAAIRILIAIEQCACIAc2AgALIBBBQGskACASC1EBBH8gACgCACIDQQAgA0EAShshBkEAIQMCQANAIAMgBkYNASADQTxsIANBAWohAyAAKAIEaiIEKAIAIAFHDQALIAQgAkECdGooAgQhBQsgBQtIAQN/IAJBACACQQBKGyECA0AgAiADRgRAQQAPCyABIANqIQQgA0EBdCEFIANBAWohAyAAIAVqLwEAIAQtAABrIgRFDQALIAQLvwECAn4CfyABvSIDQv////////8HgyECIANCP4inIQQCQAJAIANCNIinQf8PcSIFBEAgBUH/D0cNASACUEUEQCAAEDZBAA8LIAAgBBCNAUEADwsgAlAEQCAAIAQQigFBAA8LIAJCDIYiAiACeSIDhiECQQAgA6drIQUMAQsgAkILhkKAgICAgICAgIB/hCECCyAAIAVB/gdrNgIIIABBAhBCRQRAIAAoAhAgAjcCACAAIAQ2AgRBAA8LIAAQNkEgC6QBAQJ/IAEoAgQhAyAAKAIEQQBOBEAgA0EATgRAIABBEGogAUEQaiACEGIPC0EAIAFBEGogAEEQaiACELgFaw8LIAFBEGohASAAQRBqIQQgA0EATgRAIAQgASACELgFDwsgAkEAIAJBAEobIQNBACEAA0AgACADRgRAQQAPCyAAQQF0IQIgAEEBaiEAIAIgBGovAQAgASACai8BAGsiAkUNAAsgAgvTBAEIfyADIAEoAgAiBCgCHEEDbEECbSIFIAMgBUobIQgCQCACBEAgACACKAIUIAhBA3QQigIiA0UNASACIAM2AhQLIAQoAhgiBkEBaiIFIQMDQCADIgJBAXQhAyACIAhJDQALAkAgAiAFRwRAIAAgAkECdCIHIAhBA3RqQTBqECkiCkUNAiAEKAIIIgMgBCgCDCIFNgIEIAUgAzYCACAEQgA3AgggByAKaiIGIAQgBCgCIEEDdEEwahAgIQUgACgCECIDKAJQIgkgBUEI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AEKBgICAgICAgAhaBEAgAkIBfCECDAELIABCgICAgICAgIAIUg0AIAJCAYMgAnwhAgtCACACIAJC/////////wdWIgQbIQAgBK0gA3wMAQsgACAChFAgA0L//wFSckUEQCACQgSGIABCPIiEQoCAgICAgIAEhCEAQv8PDAELIARB/ocBSwRAQgAhAEL/DwwBC0GA+ABBgfgAIANQIgcbIgggBGsiBkHwAEoEQEIAIQBCAAwBCyAFQRBqIAAgAiACQoCAgICAgMAAhCAHGyICQYABIAZrEGggBSAAIAIgBhCPAiAFKQMIQgSGIAUpAwAiAkI8iIQhAAJAIAQgCEcgBSkDECAFKQMYhEIAUnGtIAJC//////////8Pg4QiAkKBgICAgICAgAhaBEAgAEIBfCEADAELIAJCgICAgICAgIAIUg0AIABCAYMgAHwhAAsgAEKAgICAgICACIUgACAAQv////////8HViIEGyEAIAStCyECIAVBIGokACABQoCAgICAgICAgH+DIAJCNIaEIACEvwvvAgIBfwF8IwBBIGsiAyQAIAECfwJ/AkACQANAAkACQAJAAkBBByACQiCIpyIBIAFBB2tBbkkbIgEOCAAAAAADAwMBAgsgAqcMBgtBACEAIAJCgICAgMCBgPz/AHwiAkL///////////8Ag0KAgICAgICA+P8AVg0DIAK/IgREAAAAAAAAAABjDQNB/wEgBEQAAAAAAOBvQGQNBhoCfyAEniIEmUQAAAAAAADgQWMEQCAEqgwBC0GAgICAeAsMBgsgAUF3Rg0DCyAAIAIQjgEiAkKAgICAcINCgICAgOAAUg0AC0F/IQALQQAMAgsgACgC2AEhASADQgA3AhQgA0KAgICAgICAgIB/NwIMIAMgATYCCCADQQhqIgEgAqdBBGoQRRogAUEAENIBGiADQRxqIAFBABCqASABEBsgACACEA8gAygCHAshAUEAIQBB/wEgASABQf8BThsiAUEAIAFBAEobCzYCACADQSBqJAAgAAtLAQJ/IwBBIGsiAyQAAn8gACADQQxqIAIQqwUiBEUEQCABQgA3AwBBfwwBCyABIARBARCAAxogACAEIANBDGoQX0EACyADQSBqJAALqAEBBX8gAKciAygCECIBQTBqIQQgASABKAIYQX9zQQJ0QaR+cmooAgAhAQNAIAFFBEBBAA8LIAQgAUEBayIFQQN0aiIBKAIAIQIgASgCBEE2RwRAIAJB////H3EhAQwBCwtBASEBAkAgAkH/////A0sNACADKAIUIAVBA3RqKQMAIgBCgICAgHCDQoCAgICQf1INACAApygCBEH/////B3FBAEchAQsgAQvLAQICfwF+IwBBEGsiBiQAAkACQCACQoCAgIBwVA0AIAKnIgcvAQZBDEcNACAHLQApQQxHDQAgACABIAMgAwR/IAQFIAZCgICAgDA3AwggBkEIagsgBSAHLgEqIAcoAiQREgAhCAwBC0KAgICA4AAhCAJAIAAgAiABIAMgBBAhIgFCgICAgHCDQoCAgIDgAFIEQCABQv////9vVg0BIAAgARAPIABBjjFBABAVCyAFQQA2AgAMAQsgBUECNgIAIAEhCAsgBkEQaiQAIAgLlwEAAkACQAJAAkACQCABQiCIp0EDag4CAQACCyAAIAAgASADIAQQigQgAkEAQQAQMA8LIAAgARAPAkAgACABpyIDEKcFQQBIDQAgACADEKYFQQBIDQAgACADEKUFIgFCgICAgHCDQoCAgIDgAFINAwsgAEECEI0EDAELIAAgARAPIABB+fYAQQAQFQtCgICAgOAAIQELIAELgAQBBX8jAEEQayIGJAACQAJAAkACfyAAKAIQIgUoAqgBIgNFBEAgAi0AAEEuRwRAIAAgAhDxBQwCCyABEKgFIQRBACEDIAAgAhBAIAQgAWtBACAEGyIEakECahApIgdFDQQgByABIAQQICIBIARqQQA6AAACQANAAkAgAi0AAEEuRw0AQQIhAwJAAkAgAi0AAUEuaw4CAAECCyACLQACQS9HDQEgAS0AAEUNAwJAIAEQqAUiA0EBaiABIAMbIgMtAABBLmsiBA0AIAMtAAEiBEUNAiAEQS5rIgQNACADLQACIQQLIARFDQEgAyABIANJa0EAOgAAQQMhAwsgAiADaiECDAELCyABLQAARQ0AIAEQQCABakEvOwAACyABEEAgAWogAhDkBSABIQIMAgsgACABIAIgBSgCsAEgAxEHAAsiAkUNAQsgACACEKkBIgFFBEAgACgCECIAQRBqIAIgACgCBBEAAAwBCyAAIAEQ4AUiAwRAIAAoAhAiBUEQaiACIAUoAgQRAAAgACABEBMMAgsgACABEBMgBSgCrAEiAUUEQCAGIAI2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AAAAIAS3phCrASADKQNwIRQgAykDeAwBCyAVIBIgCBtCAoYgE3xCIH0iEkKzCFkEQEHQ1QRBxAA2AgAgA0GgAWogBBB6IANBkAFqIAMpA6ABIAMpA6gBQn9C////////v///ABAvIANBgAFqIAMpA5ABIAMpA5gBQn9C////////v///ABAvIAMpA4ABIRQgAykDiAEMAQsgEkLsdVkEQCAKQQBOBEADQCADQaADaiAUIBZCAEKAgICAgIDA/79/EHAgFCAWQoCAgICAgID/PxDpBSEAIANBkANqIBQgFiADKQOgAyAUIABBAE4iABsgAykDqAMgFiAAGxBwIAAgCkEBdCICciEKIBJCAX0hEiADKQOYAyEWIAMpA5ADIRQgAkEATg0ACwsCfkE1IBJC0gh8IhOnIgBBACAAQQBKGyATQjVZGyIAQfEATwRAIANBgANqIAQQeiADKQOIAyEVIAMpA4ADIRdCAAwBCyADQeACakQAAAAAAADwP0GQASAAaxDbARCrASADQdACaiAEEHogAykD0AIhFyADQfACaiADKQPgAiADKQPoAiADKQPYAiIVEIcGIAMpA/gCIRggAykD8AILIRMgA0HAAmogCiAKQQFxRSAUIBZCAEIAEO4BQQBHIABBIElxcSIAchCCAiADQbACaiAXIBUgAykDwAIgAykDyAIQLyADQZACaiADKQOwAiADKQO4AiATIBgQcCADQaACaiAXIBVCACAUIAAbQgAgFiAAGxAvIANBgAJqIAMpA6ACIAMpA6gCIAMpA5ACIAMpA5gCEHAgA0HwAWogAykDgAIgAykDiAIgEyAYEP0DIAMpA/ABIhMgAykD+AEiFUIAQgAQ7gFFBEBB0NUEQcQANgIACyADQeABaiATIBUgEqcQhgYgAykD4AEhFCADKQPoAQwBC0HQ1QRBxAA2AgAgA0HQAWogBBB6IANBwAFqIAMpA9ABIAMpA9gBQgBCgICAgICAwAAQLyADQbABaiADKQPAASADKQPIAUIAQoCAgICAgMAAEC8gAykDsAEhFCADKQO4AQshEiALIBQ3AwAgCyASNwMIIANBsANqJAAgCykDCCESIAspAwAhEwwCCyAAKQNwQgBTDQAgACAAKAIEQQFrNgIECyAAIQUgAiEDQQAhBCMAQZDGAGsiASQAAkACfwNAIAZBMEcEQAJAIAZB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/////z+DIQogAkL///////8/gyELIAIgBIVCgICAgICAgICAf4MhDCAEQjCIp0H//wFxIQgCQAJAIAJCMIinQf//AXEiCUH//wFrQYKAfk8EQCAIQf//AWtBgYB+Sw0BCyABUCACQv///////////wCDIg1CgICAgICAwP//AFQgDUKAgICAgIDA//8AURtFBEAgAkKAgICAgIAghCEMDAILIANQIARC////////////AIMiAkKAgICAgIDA//8AVCACQoCAgICAgMD//wBRG0UEQCAEQoCAgICAgCCEIQwgAyEBDAILIAEgDUKAgICAgIDA//8AhYRQBEAgAyACQoCAgICAgMD//wCFhFAEQEIAIQFCgICAgICA4P//ACEMDAMLIAxCgICAgICAwP//AIQhDEIAIQEMAgsgAyACQoCAgICAgMD//wCFhFAEQEIAIQEMAgsgASANhFAEQEKAgICAgIDg//8AIAwgAiADhFAbIQxCACEBDAILIAIgA4RQBEAgDEKAgICAgIDA//8AhCEMQgAhAQwCCyANQv///////z9YBEAgBUHAAmogASALIAEgCyALUCIGG3kgBkEGdK18pyIGQQ9rEGhBECAGayEGIAUpA8gCIQsgBSkDwAIhAQsgAkL///////8/Vg0AIAVBsAJqIAMgCiADIAogClAiBxt5IAdBBnStfKciB0EPaxBoIAYgB2pBEGshBiAFKQO4AiEKIAUpA7ACIQMLIAVBoAJqIApCgICAgICAwACEIhJCD4YgA0IxiIQiAkIAQoCAgICw5ryC9QAgAn0iBEIAEGcgBUGQAmpCACAFKQOoAn1CACAEQgAQZyAFQYACaiAFKQOYAkIBhiAFKQOQAkI/iIQiBEIAIAJCABBnIAVB8AFqIARCAEIAIAUpA4gCfUIAEGcgBUHgAWogBSkD+AFCAYYgBSkD8AFCP4iEIgRCACACQgAQZyAFQdABaiAEQgBCACAFKQPoAX1CABBnIAVBwAFqIAUpA9gBQgGGIAUpA9ABQj+IhCIEQgAgAkIAEGcgBUGwAWogBEIAQgAgBSkDyAF9QgAQZyAFQaABaiACQgAgBSkDuAFCAYYgBSkDsAFCP4iEQgF9IgJCABBnIAVBkAFqIANCD4ZCACACQgAQZyAFQfAAaiACQgBCACAFKQOoASAFKQOgASINIAUpA5gBfCIEIA1UrXwgBEIBVq18fUIAEGcgBUGAAWpCASAEfUIAIAJCABBnIAYgCSAIa2ohBgJ/IAUpA3AiE0IBhiIOIAUpA4gBIg9CAYYgBSkDgAFCP4iEfCIQQufsAH0iFEIgiCICIAtCgICAgICAwACEIhVCAYYiFkIgiCIEfiIRIAFCAYYiDUIgiCIKIBAgFFatIA4gEFatIAUpA3hCAYYgE0I/iIQgD0I/iHx8fEIBfSITQiCIIhB+fCIOIBFUrSAOIA4gE0L/////D4MiEyABQj+IIhcgC0IBhoRC/////w+DIgt+fCIOVq18IAQgEH58IAQgE34iESALIBB+fCIPIBFUrUIghiAPQiCIhHwgDiAOIA9CIIZ8Ig5WrXwgDiAOIBRC/////w+DIhQgC34iESACIAp+fCIPIBFUrSAPIA8gEyANQv7///8PgyIRfnwiD1atfHwiDlatfCAOIAQgFH4iGCAQIBF+fCIEIAIgC358IgsgCiATfnwiEEIgiCALIBBWrSAEIBhUrSAEIAtWrXx8QiCGhHwiBCAOVK18IAQgDyACIBF+IgIgCiAUfnwiCkIgiCACIApWrUIghoR8IgIgD1StIAIgEEIghnwgAlStfHwiAiAEVK18IgRC/////////wBYBEAgFiAXhCEVIAVB0ABqIAIgBCADIBIQZyABQjGGIAUpA1h9IAUpA1AiAUIAUq19IQpCACABfSELIAZB/v8AagwBCyAFQeAAaiAEQj+GIAJCAYiEIgIgBEIBiCIEIAMgEhBnIAFCMIYgBSkDaH0gBSkDYCINQgBSrX0hCkIAIA19IQsgASENIAZB//8AagsiBkH//wFOBEAgDEKAgICAgIDA//8AhCEMQgAhAQwBCwJ+IAZBAEoEQCAKQgGGIAtCP4iEIQEgBEL///////8/gyAGrUIwhoQhCiALQgGGDAELIAZBj39MBEBCACEBDAILIAVBQGsgAiAEQQEgBmsQjwIgBUEwaiANIBUgBkHwAGoQaCAFQSBqIAMgEiAFKQNAIgIgBSkDSCIKEGcgBSkDOCAFKQMoQgGGIAUpAyAiAUI/iIR9IAUpAzAiBCABQgGGIg1UrX0hASAEIA19CyEEIAVBEGogAyASQgNCABBnIAUgAyASQgVCABBnIAogAiACIAMgBCACQgGDIgR8IgNUIAEgAyAEVK18IgEgElYgASASURutfCICVq18IgQgAiACIARCgICAgICAwP//AFQgAyAFKQMQViABIAUpAxgiBFYgASAEURtxrXwiAlatfCIEIAIgBEKAgICAgIDA//8AVCADIAUpAwBWIAEgBSkDCCIDViABIANRG3GtfCIBIAJUrXwgDIQhDAsgACABNwMAIAAgDDcDCCAFQdACaiQAC9gBAQF/AkACQCAAIAFzQQNxBEAgAS0AACECDAELIAFBA3EEQANAIAAgAS0AACICOgAAIAJFDQMgAEEBaiEAIAFBAWoiAUEDcQ0ACwtBgIKECCABKAIAIgJrIAJyQYCBgoR4cUGAgYKEeEcNAANAIAAgAjYCACAAQQRqIQAgASgCBCECIAFBBGohASACQYCChAggAmtyQYCBgoR4cUGAgYKEeEYNAAsLIAAgAjoAACACQf8BcUUNAANAIAAgAS0AASICOgABIABBAWohACABQQFqIQEgAg0ACwsL6AECAX8BfiMAQdAAayIDJAACQAJ+IAFBAEgEQCADIAFB/////wdxNgIAIANBEGoiAUHAAEHcIiADEE8aIAAgARBjDAELIAAoAhAiACgCLCABTQ0BAkACQCAAKAI4IgAgAUECdGooAgAiASgCCEGAgICAfHFBgICAgARGDQAgAkUNASABKAIEQYCAgIB4Rw0AIAAoArwBIQELIAEgASgCAEEBajYCACABrUKAgICAkH+EDAELIAEgASgCAEEBajYCACABrUKAgICAgH+ECyADQdAAaiQADwtB9t8AQbX8AEGYGEGO4gAQAAAL6wIBAn8gACABKAIEEBMDQCABKAIQIQMgAiABKAIUTkUEQCAAIAMgAkEDdGooAgAQEyACQQFqIQIMAQsLIAAoAhAiAkEQaiADIAIoAgQRAABBACECA0ACQCABKAIcIQMgAiABKAIgTg0AIAMgAkEUbGoiAygCCEUEQCAAKAIQIAMoAgQQ7AELIAAgAygCEBATIAAgAygCDBATIAJBAWohAgwBCwsgACgCECICQRBqIAMgAigCBBEAACAAKAIQIgJBEGogASgCKCACKAIEEQAAQQAhAgNAIAEoAjQhAyACIAEoAjhORQRAIAAgAyACQQxsaigCBBATIAJBAWohAgwBCwsgACgCECICQRBqIAMgAigCBBEAACAAIAEpA0AQDyAAIAEpA0gQDyAAIAEpA2AQDyAAIAEpA2gQDyABKAIIIgIgASgCDCIDNgIEIAMgAjYCACABQgA3AgggACgCECIAQRBqIAEgACgCBBEAAAswAQF/IAAoAjggAUECdGooAgAiASABKAIAIgJBAWs2AgAgAkEBTARAIAAgARCgAwsLCgAgAEF8cRCiAwvAAQIBfwJ+QX8hAwJAIABCAFIgAUL///////////8AgyIEQoCAgICAgMD//wBWIARCgICAgICAwP//AFEbDQAgAkL///////////8AgyIFQoCAgICAgMD//wBWIAVCgICAgICAwP//AFJxDQAgACAEIAWEhFAEQEEADwsgASACg0IAWQRAIAEgAlIgASACU3ENASAAIAEgAoWEQgBSDwsgAEIAUiABIAJVIAEgAlEbDQAgACABIAKFhEIAUiEDCyADC2UBBH8DQCACIAVKBEAgASAFaiIGLQAAIgRBD2ogBCAEQbMBSxsgBCADG0ECdCIEQYC4AWotAAAhByAEQYO4AWotAABBF2tB/wFxQQRNBEAgACAGKAABEO0BCyAFIAdqIQUMAQsLC3AAAkACQAJAAkACQCACQQR2QQNxQQFrDgMAAQIDCyABKAIAIgIEQCAAIAKtQoCAgIBwhBAjCyABKAIEIgFFDQMgACABrUKAgICAcIQQIw8LIAAgASgCABDsAQ8LIAEoAgAQ6AUPCyAAIAEpAwAQIwsLxQYBBX8CQAJAAkACQAJAAkACQCABLQAEQQ9xDgIAAQULIAEgAS0ABUECcjoABSABKAIQIgRBMGohAwNAIAEoAhQhBSACIAQoAiBORQRAIAAgBSACQQN0aiADKAIAQRp2EOsFIAJBAWohAiADQQhqIQMMAQsLIABBEGoiBiAFIAAoAgQRAAAgACAEEJICIAFCADcDECABKAIYIgIEQCACIQMDQCADBEAgAygCCCgCAEUNBSADKAIEDQQgAygCGCIEIAMoAhwiBTYCBCAFIAQ2AgAgA0IANwIYIAMoAhAiBCADKAIUIgU2AgQgBSAENgIAIANCADcCECADKAIMIQMMAQsLA0AgAgRAIAIoAgwgACACKQMoECMgBiACIAAoAgQRAAAhAgwBCwsgAUEANgIYCyAAKAJEIAEvAQZBGGxqKAIIIgIEQCAAIAGtQoCAgIBwhCACEQwACyABQQA2AiggAUIANwMgIAFBADsBBiABKAIIIgIg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QQNxGyACQXhxaiICIAEgASACSxsQIBogABCcASAECzEAIARBAnEEQEG7hgFBtfwAQbyHAkGjOBAAAAsgACAAKQPAASABIAIgAyAEQX8QyQULrwECAX8BfiMAQdAAayIEJAAgBEEAQdAAECsiBCADNgIMIAQgADYCACAEQQE2AgggBEKggICAEDcDECAEIAE2AjggBCABIAJqNgI8QoCAgIAwIQUCQAJAIAQQogENACAEENEDIgVCgICAgHCDQoCAgIDgAFENACAEKAIQQax/Rg0BIARBt/MAQQAQFgsgACAFEA8gBCAEQRBqEIACQoCAgIDgACEFCyAEQdAAaiQAIAULXwIDfgF/IAApA8ABIgJCgICAgNB+WgRAIAKnIgUgBSgCAEEBajYCAAsgACACQYrTABCyASEDIAAgAhAPIAAgACADQd3AABCyASICIANBASABECEgACACEA8gACADEA8LDAAgACABKQMAELMBC8MGAgR/A34jAEGAAWsiBSQAAkACQAJAIAMgBEIAQgAQ7gFFDQACfyAEQv///////z+DIQoCfyAEQjCIp0H//wFxIgdB//8BRwRAQQQgBw0BGkECQQMgAyAKhFAbDAILIAMgCoRQCwtFDQAgAkIwiKciCEH//wFxIgZB//8BRw0BCyAFQRBqIAEgAiADIAQQLyAFIAUpAxAiAiAFKQMYIgEgAiABEOMFIAUpAwghAiAFKQMAIQQMAQsgASACQv///////////wCDIgogAyAEQv///////////wCDIgkQ7gFBAEwEQCABIAogAyAJEO4BBEAgASEEDAILIAVB8ABqIAEgAkIAQgAQLyAFKQN4IQIgBSkDcCEEDAELIARCMIinQf//AXEhByAGBH4gAQUgBUHgAGogASAKQgBCgICAgICAwLvAABAvIAUpA2giCkIwiKdB+ABrIQYgBSkDYAshBCAHRQRAIAVB0ABqIAMgCUIAQoCAgICAgMC7wAAQLyAFKQNYIglCMIinQfgAayEHIAUpA1AhAwsgCUL///////8/g0KAgICAgIDAAIQhCyAKQv///////z+DQoCAgICAgMAAhCEKIAYgB0oEQANAAn4gCiALfSADIARWrX0iCUIAWQRAIAkgBCADfSIEhFAEQCAFQSBqIAEgAkIAQgAQLyAFKQMoIQIgBSkDICEEDAULIAlCAYYg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AAAAYQR/QQAFIABEAAAAAAAA8EOiIAEQgAYhACABKAIAQUBqCzYCACAADwsgASACQf4HazYCACADQv////////+HgH+DQoCAgICAgIDwP4S/BSAACwuRAgAgAEUEQEEADwsCfwJAIAFB/wBNDQACQEH42gQoAgAoAgBFBEAgAUGAf3FBgL8DRg0CDAELIAFB/w9NBEAgACABQT9xQYABcjoAASAAIAFBBnZBwAFyOgAAQQIMAwsgAUGAQHFBgMADRyABQYCwA09xRQRAIAAgAUE/cUGAAXI6AAIgACABQQx2QeABcjoAACAAIAFBBnZBP3FBgAFyOgABQQMMAwsgAUGAgARrQf//P00EQCAAIAFBP3FBgAFyOgADIAAgAUESdkHwAXI6AAAgACABQQZ2QT9xQYABcjoAAiAAIAFBDHZBP3FBgAFyOgABQQQMAwsLQdDVBEEZNgIAQX8MAQsgACABOgAAQQELC7wCAAJAAkACQAJAAkACQAJAAkACQAJAAkAgAUEJaw4SAAgJCggJAQIDBAoJCgoICQUGBwsgAiACKAIAIgFBBGo2AgAgACABKAIANgIADwsgAiACKAIAIgFBBGo2AgAgACABMgEANwMADwsgAiACKAIAIgFBBGo2AgAgACABMwEANwMADwsgAiACKAIAIgFBBGo2AgAgACABMAAANwMADwsgAiACKAIAIgFBBGo2AgAgACABMQAANwMADwsgAiACKAIAQQdqQXhxIgFBCGo2AgAgACABKwMAOQMADwsgACACIAMRAAALDwsgAiACKAIAIgFBBGo2AgAgACABNAIANwMADwsgAiACKAIAIgFBBGo2AgAgACABNQIANwMADwsgAiACKAIAQQdqQXhxIgFBCGo2AgAgACABKQMANwMAC28BBX8gACgCACIDLAAAQTBrIgFBCUsEQEEADwsDQEF/IQQgAkHMmbPmAE0EQEF/IAEgAkEKbCIFaiABIAVB/////wdzSxshBAsgACADQQFqIgU2AgAgAywAASAEIQIgBSEDQTBrIgFBCkkNAAsgAgv8EgISfwF+IwBBQGoiCCQAIAggATYCPCAIQSdqIRYgCEEoaiERAkACQAJAAkADQEEAIQcDQCABIQ0gByAOQf////8Hc0oNAiAHIA5qIQ4CQAJAAkACQCABIgctAAAiCwRAA0ACQAJAIAtB/wFxIgFFBEAgByEBDAELIAFBJUcNASAHIQsDQCALLQABQSVHBEAgCyEBDAILIAdBAWohByALLQACIAtBAmoiASELQSVGDQALCyAHIA1rIgcgDkH/////B3MiF0oNCSAABEAgACANIAcQXAsgBw0HIAggATYCPCABQQFqIQdBfyEQAkAgASwAAUEwayIKQQlLDQAgAS0AAkEkRw0AIAFBA2ohB0EBIRIgCiEQCyAIIAc2AjxBACEMAkAgBywAACILQSBrIgFBH0sEQCAHIQoMAQsgByEKQQEgAXQiAUGJ0QRxRQ0AA0AgCCAHQQFqIgo2AjwgASAMciEMIAcsAAEiC0EgayIBQSBPDQEgCiEHQQEgAXQiAUGJ0QRxDQALCwJAIAtBKkYEQAJ/AkAgCiwAAUEwayIBQQlLDQAgCi0AAkEkRw0AAn8gAEUEQCAEIAFBAnRqQQo2AgBBAAwBCyADIAFBA3RqKAIACyEPIApBA2ohAUEBDAELIBINBiAKQQFqIQEgAEUEQCAIIAE2AjxBACESQQAhDwwDCyACIAIoAgAiB0EEajYCACAHKAIAIQ9BAAshEiAIIAE2AjwgD0EATg0BQQAgD2shDyAMQYDAAHIhDAwBCyAIQTxqEIMGIg9BAEgNCiAIKAI8IQELQQAhB0F/IQkCf0EAIAEtAABBLkcNABogAS0AAUEqRgRAAn8CQCABLAACQTBrIgpBCUsNACABLQADQSRHDQAgAUEEaiEBAn8gAEUEQCAEIApBAnRqQQo2AgBBAAwBCyADIApBA3RqKAIACwwBCyASDQYgAUECaiEBQQAgAEUNABogAiACKAIAIgpBBGo2AgAgCigCAAshCSAIIAE2AjwgCUEATgwBCyAIIAFBAWo2AjwgCEE8ahCDBiEJIAgoAjwhAUEBCyETA0AgByEUQRwhCiABIhgsAAAiB0H7AGtBRkkNCyABQQFqIQEgByAUQTpsakG/xgRqLQAAIgdBAWtBCEkNAAsgCCABNgI8AkAgB0EbRwRAIAdFDQwgEEEATgRAIABFBEAgBCAQQQJ0aiAHNgIADAwLIAggAyAQQQN0aikDADcDMAwCCyAARQ0IIAhBMGogByACIAYQggYMAQsgEEEATg0LQQAhByAARQ0ICyAALQAAQSBxDQsgDEH//3txIgsgDCAMQYDAAHEbIQxBACEQQawhIRUgESEKAkACQAJ/AkACQAJAAkACQAJAAn8CQAJAAkACQAJAAkACQCAYLAAAIgdBU3EgByAHQQ9xQQNGGyAHIBQbIgdB2ABrDiEEFhYWFhYWFhYQFgkGEBAQFgYWFhYWAgUDFhYKFgEWFgQACwJAIAdBwQBrDgcQFgsWEBAQAAsgB0HTAEYNCwwVCyAIKQMwIRlBrCEMBQtBACEHAkACQAJAAkACQAJAAkAgFEH/AXEOCAABAgMEHAUGHAsgCCgCMCAONgIADBsLIAgoAjAgDjYCAAwaCyAIKAIwIA6sNwMADBkLIAgoAjAgDjsBAAwYCyAIKAIwIA46AAAMFwsgCCgCMCAONgIADBYLIAgoAjAgDqw3AwAMFQtBCCAJIAlBCE0bIQkgDEEIciEMQfgAIQcLIBEhASAHQSBxIQsgCCkDMCIZUEUEQANAIAFBAWsiASAZp0EPcUHQygRqLQAAIAtyOgAAIBlCD1YgGUIEiCEZDQALCyABIQ0gDEEIcUUgCCkDMFByDQMgB0EEdkGsIWohFUECIRAMAwsgESEBIAgpAzAiGVBFBEADQCABQQFrIgEgGadBB3FBMHI6AAAgGUIHViAZQgOIIRkNAAsLIAEhDSAMQQhxRQ0CIAkgESABayIBQQFqIAEgCUgbIQkMAgsgCCkDMCIZQgBTBEAgCEIAIBl9Ihk3AzBBASEQQawhDAELIAxBgBBxBEBBASEQQa0hDAELQa4hQawhIAxBAXEiEBsLIRUgGSAREJcCIQ0LIBMgCUEASHENESAMQf//e3EgDCATGyEMIAgpAzAiGUIAUiAJckUEQCARIQ1BACEJDA4LIAkgGVAgESANa2oiASABIAlIGyEJDA0LIAgpAzAhGQwLCyAIKAIwIgFBp5IBIAEbIg1BAEH/////ByAJIAlB/////wdPGyIHEPwBIgEgDWsgByABGyIBIA1qIQogCUEATgRAIAshDCABIQkMDAsgCyEMIAEhCSAKLQAADQ8MCwsgCCkDMCIZUEUNAUIAIRkMCQsgCQRAIAgoAjAMAgtBACEHIABBICAPQQAgDBBkDAILIAhBADYCDCAIIBk+AgggCCAIQQhqIgc2AjBBfyEJIAcLIQtBACEHA0ACQCALKAIAIg1FDQAgCEEEaiANEIEGIg1BAEgNDyANIAkgB2tLDQAgC0EEaiELIAcgDWoiByAJSQ0BCwtBPSEKIAdBAEgNDCAAQSAgDyAHIAwQZCAHRQRAQQAhBwwBC0EAIQogCCgCMCELA0AgCygCACINRQ0BIAhBBGoiCSANEIEGIg0gCmoiCiAHSw0BIAAgCSANEFwgC0EEaiELIAcgCksNAAsLIABBICAPIAcgDEGAwABzEGQgDyAHIAcgD0gbIQcMCAsgEyAJQQBIcQ0JQT0hCiAAIAgrAzAgDyAJIAwgByAFEUkAIgdBAE4NBwwKCyAHLQABIQsgB0EBaiEHDAALAAsgAA0JIBJFDQNBASEHA0AgBCAHQQJ0aigCACIABEAgAyAHQQN0aiAAIAIgBhCCBkEBIQ4gB0EBaiIHQQpHDQEMCwsLIAdBCk8EQEEBIQ4MCgsDQCAEIAdBAnRqKAIADQFBASEOIAdBAWoiB0EKRw0ACwwJC0EcIQoMBgsgCCAZPAAnQQEhCSAWIQ0gCyEMCyAJIAogDWsiCyAJIAtKGyIBIBBB/////wdzSg0DQT0hCiAPIAEgEGoiCSAJIA9IGyIHIBdKDQQgAEEgIAcgCSAMEGQgACAVIBAQXCAAQTAgByAJIAxBgIAEcxBkIABBMCABIAtBABBkIAAgDSALEFwgAEEgIAcgCSAMQYDAAHMQZCAIKAI8IQEMAQsLC0EAIQ4MAwtBPSEKC0HQ1QQgCjYCAAtBfyEOCyAIQUBrJAAgDgufAwMCfAF+An8gAL0iBUKAgICAgP////8Ag0KBgICA8ITl8j9UIgZFBEBEGC1EVPsh6T8gAJmhRAdcFDMmpoE8IAEgAZogBUIAWSIHG6GgIQBEAAAAAAAAAAAhAQsgACAAIAAgAKIiBKIiA0RjVVVVVVXVP6IgBCADIAQgBKIiAyADIAMgAyADRHNTYNvLdfO+okSmkjegiH4UP6CiRAFl8vLYREM/oKJEKANWySJtbT+gokQ31gaE9GSWP6CiRHr+EBEREcE/oCAEIAMgAyADIAMgA0TUer90cCr7PqJE6afwMg+4Ej+gokRoEI0a9yYwP6CiRBWD4P7I21c/oKJEk4Ru6eMmgj+gokT+QbMbuqGrP6CioKIgAaCiIAGgoCIDoCEBIAZFBEBBASACQQF0a7ciBCAAIAMgASABoiABIASgo6GgIgAgAKChIgAgAJogBxsPCyACBHxEAAAAAAAA8L8gAaMiBCAEvUKAgICAcIO/IgQgAyABvUKAgICAcIO/IgEgAKGhoiAEIAGiRAAAAAAAAPA/oKCiIASgBSABCwu/AgEBfyMAQdAAayIEJAACQCADQYCAAU4EQCAEQSBqIAEgAkIAQoCAgICAgID//wAQLyAEKQMoIQIgBCkDICEBIANB//8BSQRAIANB//8AayEDDAILIARBEGogASACQgBCgICAgICAgP//ABAvQf3/AiADIANB/f8CTxtB/v8BayEDIAQpAxghAiAEKQMQIQEMAQsgA0GBgH9KDQAgBEFAayABIAJCAEKAgICAgICAORAvIAQpA0ghAiAEKQNAIQEgA0H0gH5LBEAgA0GN/wBqIQMMAQsgBEEwaiABIAJCAEKAgICAgICAORAvQeiBfSADIANB6IF9TRtBmv4BaiEDIAQpAzghAiAEKQMwIQELIAQgASACQgAgA0H//wBqrUIwhhAvIAAgBCkDCDcDCCAAIAQpAwA3AwAgBEHQAGokAAs8ACAAIAE3AwAgACACQv///////z+DIAJCgICAgICAwP//AINCMIinIANCMIinQYCAAnFyrUIwhoQ3AwgL7QMCBH8BfgJAAkACQAJAAkACQAJ/IAAoAgQiASAAKAJoRwRAIAAgAUEBajYCBCABLQAADAELIAAQVAsiAkEraw4DAAEAAQsCfyAAKAIEIgEgACgCaEcEQCAAIAFBAWo2AgQgAS0AAAwBCyAAEFQLIgFBOmtBdUsEQCACQS1GIQMgASECDAULIAApA3BCAFkNAQwDCyACQTprQXVLDQMgACkDcEIAUw0CDAELIAAgACgCBEEBazYCBAsgACAAKAIEQQFrNgIEC0KAgICAgICAgIB/DwsCQCACQTBrQQpPDQBBACEBA0AgAiABQQpsakEwayIBQcyZs+YASAJ/IAAoAgQiAiAAKAJoRwRAIAAgAkEBajYCBCACLQAADAELIAAQVAsiAkEwayIEQQlNcQ0ACyABrCEFIARBCk8NAANAIAKtIAVCCn58IQUCfyAAKAIEIgEgACgCaEcEQCAAIAFBAWo2AgQgAS0AAAwBCyAAEFQLIgJBMGsiAUEJTSAFQjB9IgVCro+F18fC66MBU3ENAAsgAUEKTw0AA0ACfyAAKAIEIgEgACgCaEcEQCAAIAFBAWo2AgQgAS0AAAwBCyAAEFQLQTBrQQpJDQALCyAAKQNwQgBZBEAgACAAKAIEQQFrNgIEC0IAIAV9IAUgAxsLRQECfCAAIAIgAqIiBDkDACABIAIgAkQAAAACAACgQaIiAyACIAOhoCICoSIDIAOiIAIgAqAgA6IgAiACoiAEoaCgOQMAC9sBAQR/IAAoAlQhAwJAIAAoAhQiBiAAKAIcIgVHBEAgACAFNgIUIAAgBSAGIAVrIgUQigYgBUkNAQsCQCADKAIQQeEARwRAIAMoAgAhBAwBCyADIAMoAgQiBDYCAAsgAygCDCAEaiABIAMoAgggBGsiASACIAEgAkkbIgQQIBogAyADKAIAIARqIgE2AgAgASADKAIETQ0AIAMgATYCBAJ/IAMoAggiAiABSwRAIAMoAgwgAWoMAQsgAkUNASAAKAIAQQRxRQ0BIAMoAgwgAmpBAWsLQQA6AAALIAQLGAEBfyMAQRBrIgEgADkDCCABKwMIIACiCygAIAFEAAAAAAAAwH+iIABEi90aFWYglsCgEOoDokQAAAAAAADAf6ILEAAgAEEgRiAAQQlrQQVJcgvaAQECfgJAAkAgAkUEQCABQoCAgIBwgyEFIABBLxAuIQQMAQsCfiABQoCAgIBwgyIFQoCAgIAwUiADKQMAIgRCgICAgHCDQoCAgICAf1JyRQRAIABBwpQBIAAgACgCECAEpxDCAhAuQbSUARC+AQwBCyAAIAQQKAsiBEKAgICAcINCgICAgOAAUQ0BCyAFQoCAgIAwUQ0AIAAgAUEFEGYiAUKAgICAcINCgICAgOAAUgRAIAAgASAEENwBIAAgAUEwIASnNQIEQv////8Hg0EAEBkaCyABIQQLIAQLIwACQAJAAkAgAg4CAAECCyAAIAFyDwsgACABcw8LIAAgAXELigQBCn8jAEEgayIJJAAgACABRwRAAkACQAJAIAEoAgxFBEACQAJAIAEoAghB/v///wdrDgIAAwELIAEoAgQNAgsgACABEEUaDAMLIAEoAgQNACABKAIAIQUgACACQQF0QcMAaiIMQQZ2IggQQg0AIAUoAgBBACAIQQN0IgQgBSgCBBEBACIGRQ0AQQEhCiAEIAZBACAIQQF0IgcgByABKAIMIgQgBCAHShsiC2tBAnQQKyIGaiALQQJ0IgRrIAEoAhAgASgCDEECdGogBGsgBBAgGiABLQAIQQFxBEAgBiAGIAdBABCRBkUhCgsgACgCECENIAkhBAJAIAxBgAhPBEAgBSgCAEEAIAdB/P//P3FBBGogBSgCBBEBACIERQ0BCyAFIA0gBiAIIAQgBiAIQQJ0ahCSBiAEIAlHBEAgBSgCACAEQQAgBSgCBBEBABoLRQ0CCyAFKAIAIAZBACAFKAIEEQEAGgsgABA2DAELAkACQCAKBEAgBiAIQQFqEKYDIAUoAgAgBkEAIAUoAgQRAQAaDQEgASgCECABKAIMIAtrEKYDDQEMAgsgBSgCACAGQQAgBSgCBBEBABoLIAAoAhAiBCAEKAIAQQFyNgIACyAAQQA2AgQgACABKAIIQQFqQQF1NgIIIAAgAiADEM8BGgsgCUEgaiQADwtB3/0AQdv8AEHTEEGOJxAAAAs8AQF/A0AgAkEATEUEQCAAIAJBAWsiAkECdCIEaiADQR90IAEgBGooAgAiA0EBdnI2AgAMAQsLIANBAXELlgQCDH8CfiMAQRBrIggkAAJAAkAgA0EBRgRAIAIoAgAhACAIQQxqIAIoAgQQkwYhAyAAQf//A3GtIABBEHatIAg1AgxCEIaEIhIgEiADQQF0rSITgCISIBN+fUIQhoQhEyADQRB0IBKnIgNBgIAETwR+IBNCgICAgBB9BSATIBIgEn5C/f///w+DfQshEiADaiEGIBJCAFMEQCASIAZBAWsiBq1CAYZ8QgF8IRILIAEgBjYCACACIBI+AgAgEkIgiKchBgwBC0F/IQ0gACABIANBAXYiB0ECdGoiCSACIANBfnEiD0ECdGoiDCADIAdrIgogBCAIQQhqEJIGDQEgCCgCCCILBEAgDCAMIAkgChCZAhoLIAAgBCACIAdBAnQiBmoiDiADIAkgChCkBA0BIAQgBmooAgAhEEEAIQYDQCAGIAdGRQRAIAEgBkECdCIRaiAEIBFqKAIANgIAIAZBAWohBgwBCwsgCyAQaiILQQF2IQYgASABIAcgC0EBcRCRBgR/IA4gDiAJIAoQqgQFQQALIAkgBiAKEKcDGiAMIAtBAU0EfyAAIAIgA0ECdGoiACABIAcgASAHENYCDQIgAiACIAAgDxCZAgUgBgsgA0EBcRDXAmsiBkEATg0AIAFBASADENcCGiACIAEgA0ECEJoGIAZqIAJBASADEKcDaiEGCyAFIAY2AgBBACENCyAIQRBqJAAgDQuYAQECfyAAIAFB/wFxIAFBCHZB/wFxIAFBF3ZB/gNxQYCqBGovAQAiAEEBdCICQX9zQQAgAUEQdiAAIABsayIBIAJLIgIbIAFqQQh0ciIBIAAgAmoiAkEBdCIDbiIAIABsayABIAAgA2xrQQh0aiIBQR91IAJBCHQgAGoiAEEBayICQQF0QQFycSABajYCACACIAAgAUEASBsLNQEBfyMAQRBrIgEkACAABH8gAUEMaiAAIABnIgBBHnF0EJMGIABBAXZ2BUEACyABQRBqJAAL5QgBEn8gAigCBCAFcyENIAEoAgQhDgJAIAEgAhDUASIFIA0gDkZyDQAgASgCCEH9////B0oNACAAIARBB3FBAkYQigFBAA8LIA0gDiAFQQBIIgYbIQUgASACIAYbIQoCQAJAAkAgAiABIAYbIggoAgwiBwRAIAooAgwiCw0BCyAIKAIIIgFB/v///wdOBEAgAUH/////B0YEQCAAEDZBAA8LIA0gDkYgCigCCEH+////B0dyRQRAIAAQNkEBDwsgACAFEI0BQQAPCyAAIAgQRRogACAFNgIEDAELIAAgBTYCBCAAIAgoAggiAjYCCCACIAooAggiBmshEEEAIQUCQCANIA5GDQBBASEFIBBBAUoNACAHQQV0QQFrIQEgCyAHa0EFdCACaiAGa0EfayEJIAooAhAhEUEAIQUDQEEAIQIgAUEFdSIGIAdJBEAgCCgCECAGQQJ0aigCACECCyARIAsgASAJahBpIgYgAkYEQCABQSBrIQEgBUEgaiEFDAELCyACIAZzIg9nIhJBAWohDAJAIA9BAkkEQCAFIAxqIQUMAQsgBSACQX9BHyASayIPdEF/cyIFcWciAiAFIAZBf3NxZyIFIAIgBUkbIgJqIQUgAiAMayAPRw0BCwNAIAUhBkEAIQIgAUEgayIBQQV1IgUgB0kEQCAIKAIQIAVBAnRqKAIAIQILIBEgCyABIAlqEGkhDCACRQRAIAZBIGohBSAMQX9GDQELCyACZyIBIAxBf3NnIgIgASACSRsgBmohBQsgACADIAVqQSFqQQV2IgIgByAQQR9qQSBtIAtqIgEgASAHSBsiASABIAJKGyIGEEINAUEAIAgoAgwiFSAGayIRayICQR91IAJxIRYgBiABayEBQQAgDSAOcyICayEMIAooAgwiD0EFdCESQQAgDyAGayITQQV0IBBqa0EFdSEUQQAhCwNAIAFBAE4EQAJAQQAhAQNAIAEgBkYNAUEAIQUgACgCECABQQJ0aiACIAEgEWoiByAIKAIMSQR/IAgoAhAgB0ECdGooAgAFQQALIAooAhAgCigCDCABIBNqQQV0IBBqEGkgDHMiBWoiAmoiBzYCACACIAVJIAIgB0tyIQIgAUEBaiEBDAALAAsFIAEgE2pBBXQgEGohBwJAAn8CQCABIBFqIglBAE4gCSAVSXFFBEAgB0FhSCIXRQRAQQAhBSAHIBJIDQILIAlBH3UgFnEiASAUIAEgFEgbIAEgFxshAUEAIQVBACEJDAMLIAgoAhAgCUECdGooAgAhBUEAIAdBYUggByASTnINARoLIAooAhAgDyAHEGkLIQkgAUEBaiEBCyAJIAxzIgcgBWoiBSAHSSAFIAIgBWoiBUtyIQIgBSALciELDAELCyAAKAIQIgEgASgCACALQQBHcjYCACACRSANIA5Hcg0AIAAgBkEBahBCDQEgACgCECAGQQJ0akEBNgIAIAAgACgCCEEgajYCCAsgACADIAQQtAIPCyAAEDZBIAtVAQF+IAAgA60gBK0gASACQR91IgBrrX4gACADcSACaq18QiCIpyABaiIArUJ/hX4gAq0gAa1CIIaEfCIFQiCIpyIBIANxIAWnajYCACAAIAFqQQFqC7gFAQt/AkACQAJAAkACQAJAIANBAk0EQCAAKAIAQQAgA0EBdCIHQQFyIghBAnQgACgCBBEBACEGIAAoAgBBACADQQJ0QQhqIAAoAgQRAQAiBUUgBkVyDQIDQCAEIAdGRQRAIAYgBEECdGpBADYCACAEQQFqIQQMAQsLIAYgB0ECdGpBATYCACAAIAUgBiAIIAIgAxCkBA0CIANBAWohAkEAIQQDQCACIARGRQRAIAEgBEECdCIHaiAFIAdqKAIANgIAIARBAWohBAwBCwsgBiADEKYDDQEgAUEBIAIQ1wIaDAELIAAoAgBBACADIANBAWtBAXYiB2siCCADaiIEQQFqIglBAnQgACgCBBEBACIFRSAAKAIAQQAgCEEMbEEIaiAAKAIEEQEAIgZFcg0BIAAgASAHQQJ0IgpqIgsgAiAKaiAIEJcGDQIgACAFIAIgAyALIAhBAWoiChDWAg0CIAUgA0ECdGohDCAFIARBAnRqIQ0DQCANKAIABEAgC0EBIAoQ1wIaIAwgBSAFIAIgAxCZAiAKENcCGgwBCwsgCUEAIAlBAEobIQNBACECQQAhBANAIAMgBEZFBEAgBSAEQQJ0aiIMQQAgDCgCACIMayIOIAJrNgIAIAxBAEcgAiAOS3IhAiAEQQFqIQQMAQsLIA0gDSgCAEEBajYCACAAIAYgBSAHQQJ0aiAJIAdrIAsgChDWAg0CIAYgCEEBdCICIAdrQQJ0aiEDQQAhBANAIAQgB0ZFBEAgASAEQQJ0IglqIAMgCWooAgA2AgAgBEEBaiEEDAELCyALIAsgBiACQQJ0aiAIEKoEGgtBACEEIAAoAgAgBUEAIAAoAgQRAQAaDAMLIAVFDQELIAAoAgAgBUEAIAAoAgQRAQAaC0F/IQQgBkUNAQsgACgCACAGQQAgACgCBBEBABoLIAQLbwIDfwF+IAKtQiCGIAOtgEL/////D4MhCEEBIQUDQCABIAZGRQRAIAAgBkECdGoiByAHKAIAIAUgAyAEENUCNgIAIAIgBWwgCCAFrX5CIIinIANsayIFIANBACADIAVNG2shBSAGQQFqIQYMAQsLC18BAn8gAkEfcSEEIAEgAkEFdSICSwRAIAAgAkECdGoiBSAFKAIAIAMgBHRyNgIACwJAIARFDQAgASACQQFqIgFNDQAgACABQQJ0aiIAIAAoAgAgA0EgIARrdnI2AgALC1QCA38CfiADrSEHQQAhAwNAIAIgA0ZFBEAgACADQQJ0IgVqIgYgBjUCACAErSABIAVqNQIAIAd+fHwiCD4CACAIQiCIpyEEIANBAWohAwwBCwsgBAvVAgIJfwF+QX8hBgJAIAAgASADQRMgA0EBdiIHIAdBE08bIANBFEgbIgggAyAIayIHQQEgCHQiCUEBIAd0IgxBACAFEKYEDQAgACACIAggByAJIAxBACAFEKYEDQACQCADQRNKBEBBACEGA0AgBiAJRg0CIAAgASAGIAd0QQJ0IgNqIAIgA2ogByAEIAUQmwYaIAZBAWohBgwACwALIAAgBUGoAWxqIARBA3RqIgRBzBNqNQIAIQ8gBEHIE2ooAgAhDSAFQQJ0IgZBsK4EaigCACEEIAAgBmooAgQhDkEAIQYDQCAGIAN2DQEgASAGQQJ0IgpqIgsgCygCACILIARBACAEIAtNG2sgAiAKaigCACAEIA4Q1QIiCiANbCAEIAqtIA9+QiCIp2xrNgIAIAZBAWohBgwACwALQX9BACAAIAEgCCAHIAkgDEEBIAUQpgQbIQYLIAYLnwECBH8CfiADNQIAIQkDQCACIAVGRQRAIAAgBUECdCIHaiAGrSABIAdqNQIAIAl+fCIKPgIAIAVBAWohBSAKQiCIpyEGDAELCyAAIAJBAnQiB2ogBjYCAEEBIAQgBEEBTRshBEEBIQUDQCAEIAVGRQRAIAAgBUECdCIGaiIIIAdqIAggASACIAMgBmooAgAQmgY2AgAgBUEBaiEFDAELCwvQEgIZfwJ+AkAgACgCOCILDQAgACgCAEEAQbgaIAAoAgQRAQAiC0UEQEF/DwsgC0EEakEAQbQaECshDyAAIAs2AjggCyAANgIAIAtB4AZqIQ4gC0EYaiEQIAtByBNqIREDQCAJQQVGBEAgC0GQGmohCUEAIQpBACEHA0AgCkEERg0DIApBAWoiCiEAA0AgAEEFRg0BIAkgB0ECdCIMaiAMQYCvBGo1AgBCIIYgAEECdEGwrgRqNQIAgD4CACAAQQFqIQAgB0EBaiEHDAALAAsACyAPIAlBAnQiDGpCgICAgICAgIAgIAxBsK4EaigCACIKrSIggKciCDYCAEEBIQcgCkEBakEBdiESQQAhDUEAIQADQCAAQRVHBEAgESAJQagBbGogAEEDdGoiEyAHrUIghiAggD4CBCATIAc2AgAgAEEBaiEAIAcgEiAKIAgQ1QIhBwwBCwsDQAJAIA1BAkcEQCANQRRsIAxqQdCuBGooAgAhAEEAIQcgDUHUAGwiEiAQIAlBqAFsIhNqaiEWIA4gE2ogEmohEgNAIAdBFEYNAiAWQRQgB2tBAnQiE2ogADYCACASIBNqIACtQiCGICCAPgIAIAdBAWohByAAIAAgCiAIENUCIQAMAAsACyAJQQFqIQkMAgsgDUEBaiENDAALAAsACyADIAVqIg9BBXQhEEEEIQlBAyEIQQAhCkEAIQxBfyENA0AgCEEGRwRAQdwAQQAgCGtBAnRB9KoEaigCACIRQQRrQQJtIgAgAEHcAE4bIQADQAJAQSAgAEEBayIOIBBqIABuIgdBAWtna0EAIAdBAk8bIgdBFEsNACARIAcgAEEBdGpOBEAgB0EBaiAHdCAIbCIOIA1PDQEgACEKIAchDCAIIQkgDiENDAELIA4iAA0BCwsgCEEBaiEIDAELCyAKBEACQAJAAkAgBkEDcUUEQCAGQQRxDQEgAUEAEEIaDAELIAZBAnENAQsgBSENIAQhCAwBCyADIQ0gAiEIIAUhAyAEIQILIAsoAgAiACgCAEEAIAkgDEECanQiByAAKAIEEQEAIgQEfyALIARBASAMdCIOIAIgA0E9IApBPSAMdCAQTxsgCiAKQT1KGyIDQQUgCWsiECAJEKkEIAZBB3FBAUYEQCABQQAQQhoLIAZBBHEhAiALKAIAIgAoAgAhBSAAKAIEIQYCQAJAAkACQCAMQQ1NBEBBACEAIAVBACAHIAYRAQAiCkUNAiALIAogDiAIIA0gAyAQIAkQqQQgAg0BIAFBABBCGgwBC0EAIQAgBUEAQQQgDHQgBhEBACIKRQ0BCyAJQQAgCUEAShshBiAMQQ5JIRACQANAIAAgBkYNAQJ/IBBFBEAgCyAKIA4gCCANIAMgACAJa0EFaiIHQQEQqQQgACAMdCEFIAoMAQsgACAJa0EFaiEHIAogACAMdCIFQQJ0agshESAAQQFqIQAgCyAEIAVBAnRqIBEgDCAMIAcQmwZFDQALIAohAAwBCyACDQFBACEAIAFBABBCGiALKAIAIgIoAgAgCkEAIAIoAgQRAQAaIAEgDxBCRQ0CCyALKAIAIgEoAgAgBEEAIAEoAgQRAQAaIAsgABCoBEF/DwsgCygCACIAKAIAIApBACAAKAIEEQEAGgsgASgCECEBIA8hBSAEIQpBACECIwBB4ABrIggkACADQR9xIRBBfyADdEF/cyEEIAlBAWsiACAJbEF+bUEKaiEHA0AgAkEFRgRAAkAgA0EBa0EAIAlrIQ9BACECA0AgAkEFRwRAIAhBIGogAkECdGpBADYCACACQQFqIQIMAQsLIAFBACAFQQJ0ECshESAEQX8gEBshEkEFdiIEIAAgACAESBshE0EBIAx0IgEgBUEFdCADakEBayADbiICIAEgAkgbIRYgAEEAIABBAEobIRcgCUEAIAlBAEobIRggCUECayENIARBAWohBiAPQQJ0QcSuBGohDiAHQQJ0IgFBgK8EaiEZIAEgC2pBkBpqIRogAEECdCIBIAhBIGoiAmohGyAIQUBrIAFqIRwgBEECdCACaiEdIAggACAEa0ECdGohHkEAIQ8DQCAPIBZODQEgCiAPQQJ0aiEAQQAhAUEAIQIDQCACIBhGBEBBACEAA0AgASAXRwRAIAhBQGsgAUECdGohFCABQQFqIgEhAgNAIAIgCU4EQAwDBSACQQJ0IgcgCEFAa2oiFSAHIA5qKAIAIgcgFSgCACAUKAIAa2oiFSAZIABBAnQiH2ooAgBsIAcgGiAfajUCACAVrX5CIIinbGsiFSAHQQAgByAVTRtrNgIAIAJBAWohAiAAQQFqIQAMAQsACwALCyAIIBwoAgA2AiBBASEHIA0hAANAIABBAEoEQCAOIABBAnQiAWo1AgAhICAIQUBrIAFqKAIAIQFBACECA0AgAiAHRwRAIAhBIGogAkECdGoiFCABrSAgIBQ1AgB+fCIhPgIAIAJBAWohAiAhQiCIpyEBDAELCyAIQSBqIAdBAnRqIAE2AgAgAEEBayEAIAdBAWohBwwBCwsgDiAAQQJ0ajUCACEgQQAhAiAIKAJAIQEDQCACIAdJBEAgAkECdCIAIAhBIGpqIhQgACAIajUCACABrSAgIBQ1AgB+fHwiIT4CACAhQiCIpyEBIAJBAWohAgwBCwsgB0ECdCIAIAhBIGpqIAAgCGooAgAgAWo2AgAgAyAPbCEBQQAhAgNAIAIgBEcEQCARIAUgASAIQSBqIAJBAnRqKAIAEJkGIAJBAWohAiABQSBqIQEMAQsLIBEgBSABIB0oAgAiACAScRCZBiAGIQEgBCECAkAgEEUEQANAIAEgCU4NAiAIIAEgBmtBAnRqIAhBIGogAUECdGooAgA2AgAgAUEBaiEBDAALAAsDQCACIBNHBEAgCCACIARrQQJ0aiAIQSBqIAJBAWoiAkECdGooAgAiAUEBdCADQX9zdCAAIAN2cjYCACABIQAMAQsLIB4gGygCACAQdjYCAAsgD0EBaiEPDAIFIAJBAnQiByAIQUBraiAAIAIgDHRBAnRqKAIAIhQgByAOaigCACIHQQAgByAUTRtrNgIAIAJBAWohAgwBCwALAAsACwUgCCACQQJ0akEANgIAIAJBAWohAgwBCwsgCEHgAGokACALKAIAIgAoAgAgCkEAIAAoAgQRAQAaQQAFQX8LDwsQLAALSwECfyAAIAFHBEAgACgCECICBEAgACgCACIDKAIAIAJBACADKAIEEQEAGgsgACABKQIANwIAIAAgASgCEDYCECAAIAEpAgg3AggLC7ECAQl/IAFBBnEhByABQQJ2QQFxIQoCQANAIANBuB5KDQEgAiEEIANBsOQDai0AACIFQR9xIQkCfyADQQFqIAVBBXYiAkEHRw0AGiADQQJqIQUgA0Gx5ANqLAAAIgJB/wFxIQYgAkEATgRAIAZBB2ohAiAFDAELIAVBsOQDai0AACEFIAJBv39NBEAgBkEIdCAFckH5/gFrIQIgA0EDagwBCyADQbPkA2otAAAgBkEQdHIgBUEIdHJB+f7+BWshAiADQQRqCyEDIAIgBGpBAWohAgJAAkAgCUEfRgRAIAdFDQMgB0EGRg0BIAQgCmohBANAIAIgBE0NBCAAIAQgBEEBahB/IARBAmohBEUNAAsMAgsgASAJdkEBcUUNAgsgACAEIAIQf0UNAQsLQX8hCAsgCAuxAQEHfyAAKAIIIgNBBGohBSAAKAIAIQYDQCABQQFqIgIgBk5FBEACQCADIAFBAnRqKAIAIgcgAyACQQJ0aigCAEYEQCABIQIMAQsDQCAGIAEiAkEDakoEQCAFIAFBAnRqKAIAIAMgAUECaiIBQQJ0aigCAEYNAQsLIAMgBEECdGoiASAHNgIAIAEgBSACQQJ0aigCADYCBCAEQQJqIQQLIAJBAmohAQwBCwsgACAENgIAC88BAQN/IAEgAi8AACACLQACQRB0QYCA/ABxckkEQCAAQQA2AgBBAA8LQX8hBSABIAIgA0EBayIEQQNsaiIDLwAAIAMtAAJBEHRySQR/QQAhAwNAIAQgA2tBAkhFBEAgAyAEakECbSIFIAQgAiAFQQNsaiIELwAAIAQtAAJBEHRBgID8AHFyIAFLIgYbIQQgAyAFIAYbIQMMAQsLIAAgAiADQQNsaiIALwAAIAAtAAIiAEEQdEGAgPwAcXI2AgAgA0EFdCAAQQV2ckEgagVBfwsLMwAgAQJ/IAIoAkxBAEgEQCAAIAEgAhC6BAwBCyAAIAEgAhC6BAsiAEYEQA8LIAAgAW4aC8caAQt/IAJBBGshECAAKAIEIQ0gACgCCCEMA0ACQCAFIQcgBEEBaiEJAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJ/AkACQAJAIAQtAAAiCEEBaw4cAgEICQYHBRUVAAoKCw4MDREREhIaGQQEDxAYFxYLQQEhCCAGRQ0fIAcPC0EFIQogCSgAAAwBC0EDIQogCS8AAAshCSAHIA1PDRsCQCAMRQRAIAdBAWohBSAHLQAAIQgMAQsgBy8BACIIQYD4A3FBgLADRyAMQQJHciANIAdBAmoiBU1yDQAgBS8BACILQYD4A3FBgLgDRw0AIAhBCnRBgPg/cSALQf8HcXJBgIAEaiEIIAdBBGohBQsgBCAKaiEEIAAoAhgEfyAIIAAoAhwQ3wEFIAgLIAlGDR4MGwsgACABIAIgAyAEKAABIARBBWoiBGogByAIQRZrQQAQrgRBAE4NHQwZCyAJIAkoAABqQQRqIQQMFwsgCSEEIAUgACgCACIHRg0bIAAoAhRFDRgCQCAMRQRAIAVBAWstAAAhCgwBCyAFQQJrLwEAIgpBgPgDcUGAuANHIAxBAkdyDQAgByAFQQRrIgdLDQAgBy8BACIHQYD4A3FBgLADRw0AIApB/wdxIAdB/wdxQQp0ckGAgARqIQoLIAoQrQQNGwwYCyAJIQQgByANRg0aIAAoAhRFDRcCQCAMRQRAIActAAAhCAwBCyAFLwEAIghBgPgDcUGAsANHIAxBAkdyIAVBAmogDU9yDQAgBS8BAiIHQYD4A3FBgLgDRw0AIAhBCnRBgPg/cSAHQf8HcXJBgIAEaiEICyAIEK0EDRoMFwsgByANRg0WAkAgDEUEQCAHQQFqIQUgBy0AACEIDAELIAcvAQAiCEGA+ANxQYCwA0cgDEECR3IgDSAHQQJqIgVNcg0AIAUvAQAiBEGA+ANxQYC4A0cNACAIQQp0QYD4P3EgBEH/B3FyQYCABGohCCAHQQRqIQULIAkhBCAIEK0ERQ0ZDBYLIAcgDUYNFSAMRQRAIAdBAWohBSAJIQQMGQsgB0ECaiEFIAkhBCAHLwEAQYD4A3FBgLADRyAMQQJHciAFIA1Pcg0YIAdBBGogBSAHLwECQYD4A3FBgLgDRhshBQwYCyAJLQAAIgUgACgCDE8NCSABIAVBA3RqIAhBAnRqQSxrIAc2AgAgBEECaiEEDBILIAQtAAIiCCAAKAIMTw0HIARBA2ohBCAJLQAAIQUDQCAFIAhLDRIgASAFQQN0akIANwIAIAVBAWohBQwACwALIAIgA0ECdGogBCgAATYCACADQQFqIQMgBEEFaiEEDBALIANBAWshAwwOCyAEKAABIQUgECADQQJ0aiIJIAkoAgBBAWsiCTYCACAEIAVBACAJG2pBBWohBAwOCyACIANBAnRqIAc2AgAgA0EBaiEDDAwLIAQgBCgAAUEAIAIgA0EBayIDQQJ0aigCACAHRxtqQQVqIQQMDAtBACELQQAhCiAAKAIAIgQgB0cEQAJAIAxFBEAgB0EBay0AACEFDAELIAdBAmsvAQAiBUGA+ANxQYC4A0cgDEECR3INACAEIAdBBGsiBEsNACAELwEAIgRBgPgDcUGAsANHDQAgBUH/B3EgBEH/B3FBCnRyQYCABGohBQsgBRCtAyEKCyAHIA1JBEACQCAMRQRAIActAAAhBQwBCyAHLwEAIgVBgPgDcUGAsANHIAxBAkdyIAdBAmogDU9yDQAgBy8BAiIEQYD4A3FBgLgDRw0AIAVBCnRBgPg/cSAEQf8HcXJBgIAEaiEFCyAFEK0DIQsLIAchBSAJIQRBEiAIayAKIAtzRg0QDA0LIAQtAAEiCSAAKAIMTw0MIARBAmohBCABIAlBA3RqIgcoAgAiCUUNDyAHKAIEIgpFDQ8gCEETRg0IA0AgCSAKTw0QIAUgACgCACIORg0NAkACQAJAIAwEQCAKQQJrIgcvAQAiCEGA+ANxQYC4A0cgByAJTXIgDEECR3INASAKQQRrIgovAQAiC0GA+ANxQYCwA0cNASAIQf8HcSALQf8HcUEKdHJBgIAEaiEIDAILIAVBAWsiBS0AACELIApBAWsiCi0AACEIDAILIAchCgsCQCAFQQJrIgcvAQAiC0GA+ANxQYC4A0cgByAOTXIgDEECR3INACAFQQRrIgUvAQAiDkGA+ANxQYCwA0cNACALQf8HcSAOQf8HcUEKdHJBgIAEaiELDAELIAchBQsgACgCGAR/IAggACgCHCIHEN8BIQggCyAHEN8BBSALCyAIRg0ACwwMC0HuKUHH/ABB3RFB1dcAEAAAC0HXKUHH/ABB1BFB1dcAEAAACyAEQQVqIgkgCSAEKAABaiIKIAhBCUYiCxshBEF/IQggACABIAIgAyAKIAkgCxsgB0EAQQAQrgRBAE4NDAwLCxAsAAsgBEERaiIPIAQoAAFqIAQoAAUhDkEAIQogBCgACSIEQf////8HRiERA0ACQAJAIAAgASACIAMgDyAFQQEQowYiCEEBag4CDAEACyAIIQUgBCAKQQFqIgpLIBFyDQELCyAKIA5JDQchBCAKIA5NDQogACABIAIgAyAJIAVBAyAKIA5rEK4EQQBODQoMBgsgByAAKAIAIghGDQYgDEUEQCAHQQFrIQUgCSEEDAoLIAdBAmshBSAJIQQgDEECRw0JIAUvAQBBgPgDcUGAuANHIAUgCE1yDQkgB0EEayIHIAUgBy8BAEGA+ANxQYCwA0YbIQUMCQsgByANTw0FAkAgDEUEQCAHQQFqIQUgBy0AACEJDAELIAcvAQAiCUGA+ANxQYCwA0cgDEECR3IgDSAHQQJqIgVNcg0AIAUvAQAiCEGA+ANxQYC4A0cNACAJQQp0QYD4P3EgCEH/B3FyQYCABGohCSAHQQRqIQULIAQvAAEhByAAKAIYBEAgCSAAKAIcEN8BIQkLIAkgBEEDaiIEKAAASQ0FQQAhCyAJIAQgB0EBayIIQQN0aigABEsNBQNAIAggC0kNBiAEIAggC2pBAXYiCkEDdGoiDigAACAJSwRAIApBAWshCAwBCyAOKAAEIAlJBEAgCkEBaiELDAELCyAEIAdBA3RqIQQMCAsgByANTw0EAkAgDEUEQCAHQQFqIQUgBy0AACEJDAELIAcvAQAiCUGA+ANxQYCwA0cgDEECR3IgDSAHQQJqIgVNcg0AIAUvAQAiCEGA+ANxQYC4A0cNACAJQQp0QYD4P3EgCEH/B3FyQYCABGohCSAHQQRqIQULIAQvAAEhByAAKAIYBEAgCSAAKAIcEN8BIQkLIAkgBEEDaiIELwAASQ0EAkAgBCAHQQFrIghBAnRqLwACIgpB//8DRiAJQf//A09xDQAgCSAKSw0FQQAhCwNAIAggC0kNBiAJQf//A3EiDiAEIAggC2pBAXYiCkECdGoiDy8AAEkEQCAKQQFrIQgMAQsgDy8AAiAOTw0BIApBAWohCwwACwALIAQgB0ECdGohBAwHCwNAIAkgCk8NByAFIA1PDQQCfwJ/AkAgDARAIAkvAQAiCEGA+ANxQYCwA0cgDEECR3IgCUECaiIHIApPcg0BIAcvAQAiC0GA+ANxQYC4A0cNASAIQQp0QYD4P3EgC0H/B3FyQYCABGohCCAJQQRqDAILIAUtAAAhCyAJLQAAIQggCUEBaiEJIAVBAWoMAgsgBwshCQJAIAUvAQAiC0GA+ANxQYCwA0cgDEECR3IgBUECaiIHIA1Pcg0AIAcvAQAiDkGA+ANxQYC4A0cNACALQQp0QYD4P3EgDkH/B3FyQYCABGohCyAFQQRqDAELIAcLIQUgACgCGAR/IAggACgCHCIHEN8BIQggCyAHEN8BBSALCyAIRg0ACwwDCyAJIQQMBQsgByEFDAQLQX8PC0EAIQggBg0BCyAAKAIwIQUDQCAFRQ0BAn8CQAJAAkACQAJAAkAgACgCKCAFQQFrIgUgACgCJGxqIgctAAAiAw4EAAICAQILIAhFDQIMBAsgCA0DIAEgB0EQaiIDIAAoAgxBA3QQIBogAiADIAAoAgxBA3RqIActAAEiA0ECdBAgGiAHKAIIIQUgBygCDCIJKAAMIQpBACEIA0ACfwJAIAggCkcEQCAFQQFrIAxFDQIaIAVBAmshBCAMQQJHDQEgBC8BAEGA+ANxQYC4A0cNASAEIAAoAgBNDQEgBUEEayIFIAQgBS8BAEGA+ANxQYCwA0YbDAILIAkoAAAgByAFNgIIIAcgBygCBEEBayIHNgIEIAlqQRBqIQQgBw0KIAAgACgCMEEBazYCMAwKCyAECyEFIAhBAWohCAwACwALIAhBACADQQFGGw0BQQAgCA0DGkEAIANBAkcNAxoLIAEgB0EQaiAAKAIMQQN0ECAaCyAHKAIIIQUgBygCDCEEIAIgByAAKAIMQQN0akEQaiAHLQABIgNBAnQQIBogACAAKAIwQQFrNgIwDAQLQQELIQggACAFNgIwDAALAAsLIAgLiwIBB38gAUECdEGAgwRqKAIAIgIgAUEBdEHQhARqLwEAaiEIQQAhAQJAA0AgAiAITw0BIAJBAWohBgJAAkAgAi0AACIEQT9NBEAgAyAEQQN2akEBaiECIAEEQCAAIAMgAhB/DQMLIAFBAXMhASAEQQdxIAJqQQFqIQUMAQsCfyADIARqQf8AayAEwEEASA0AGiAGLQAAIQUgBEHfAE0EQCACQQJqIQYgAyAEQQh0aiAFakH//wBrDAELIAJBA2ohBiACLQACIAMgBEEQdGogBUEIdGpqQf///wJrCyEFIAMhAgsgAQRAIAAgAiAFEH8NAQsgAUEBcyEBIAYhAiAFIQMMAQsLQX8hBwsgBws4AEHg1gIgARCvBCIBQQBIBEBBfg8LIAAgAUEdTQR/QgEgAa2GpwUgAUECdEGI2wJqKAIACxCfBguRAgEDfyABKAIAIgJB/v8HTwRAIABBhjtBABA7QX8PCwJAIAJBAU0EQCAAQQJBfxC4ARoMAQsgASgCCCACQQJ0aiIEQQRrKAIAIgNBf0YEQCAEQQhrKAIAIQMLIAJBAXYhAiADQf//A00EQCAAQRUgAhCxBEEAIQIDQCACIAEoAgBODQIgACACQQJ0IgMgASgCCGovAQAQKiAAQX8gASgCCCADaigCBEEBayIDIANBfkYbQf//A3EQKiACQQJqIQIMAAsACyAAQRYgAhCxBEEAIQIDQCACIAEoAgBODQEgACACQQJ0IgMgASgCCGooAgAQHSAAIAEoAgggA2ooAgRBAWsQHSACQQJqIQIMAAsAC0EACzEBAX8jAEEQayIDJAAgAyABNgIIIAMgAkEBajYCDCAAIANBCGpBAhCyBCADQRBqJAALJgEBfyAAKAI4IgFBAEgEQCAAIAAgAEE8akEAEKkGIgE2AjgLIAELngMBBn8jAEGQAWsiBSQAIAFBADYCACAAKAIgIQNBASEGA0AgBSADNgKMAQJAAkACQCAAKAIcIgcgA00EQCAGIQQMAQsCQAJAAkACQCADLQAAIgRB2wBrDgIBAgALIARBKEcNBSADLQABQT9HDQIgAy0AAkE8Rw0FIAMtAAMiBEEhRiAEQT1Gcg0FIAFBATYCAAJAIAJFDQAgBSADQQNqNgKMASAFIAVBjAFqIAAoAigQtQQNAAJAIAUiBC0AACIHRSAHIAIiAy0AACIIR3INAANAIAMtAAEhCCAELQABIgdFDQEgA0EBaiEDIARBAWohBCAHIAhGDQALCyAHIAhGDQULIAZBAWohBCAGQf0BSg0DIAUoAowBIQMgBCEGDAULA0AgBSADIgRBAWoiAzYCjAEgAyAHTw0FAkAgAy0AAEHcAGsOAgAGAQsgBSAEQQJqIgM2AowBDAALAAsgBSADQQFqIgM2AowBDAMLIAZB/QFKIAZBAWoiBCEGRQ0CC0F/IAQgAhshBgsgBUGQAWokACAGDwsgA0EBaiEDDAALAAtVAQN/IAAgAWohBCACEEAhA0EBIQEDQAJAIAAgBE8EQEF/IQEMAQsgAyAAEEAiBUYEQCACIAAgAxBiRQ0BCyABQQFqIQEgACAFakEBaiEADAELCyABC60hARd/IwBB4AJrIgIkAEEMIAFrIRYgAUELaiEXIABBxABqIREgAUETaiEYIABB3ABqIQ8gACgCBCETAkACQAJAA0AgACgCGCIDIAAoAhxPDQMgAy0AACIEQSlGIARB/ABGcg0DIAAoAgQhECACIAM2AhwCQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAEQdsAaw4EAgEHDAALAkACQAJAAkACQCAEQSRrDgsBDQ0NBA0bGw0NAgALIARB+wBrDgMCDAoLCyACIANBAWoiBzYCHCAAQQYQEQwWCyACIANBAWo2AhwgACgCNCEMIAFFDQsgAEEbEBEgAEEEQQMgACgCMBsQEQwECyAAKAIoBEAgAEHVP0EAEDsMGQsgAy0AAUE6a0F2SQ0JIAIgA0EBajYCICACQSBqIgRBARDbAhoCQCACKAIgIgMtAAAiBUEsRw0AIAIgA0EBajYCICADLQABIgVBOmtBdkkNACAEQQEQ2wIaIAIoAiAtAAAhBQsgBUH/AXFB/QBHDQkMFwsCQCADLQABQT9GBEBBAyEJQQAhDEEAIQVBACEGAkACQAJAAkAgAy0AAiIEQTprDgQAAwEUAgsgACADQQNqNgIYIAAoAjQhDCAAIAEQ8AINHCACIAAoAhg2AhwgECEDIAAgAkEcakEpEK4DRQ0UDBwLQQEhBUEEIQkgAy0AAyIEQT1GBEBBASEGDBMLQQEhBiAEQSFGDRIgAiADQQNqNgIcIA8gAkEcaiAAKAIoELUEBEAgAEGj5wBBABA7DBwLIBEoAgAgACgCSCAPEKoGQQBKBEAgAEGO5wBBABA7DBwLIBEgDyAPEEBBAWoQcyAAQQE2AjwMAwsgBEEhRg0RCyAAQcHJAEEAEDsMGQsgAiADQQFqNgIcIBFBABARCyAAKAI0IgxB/wFOBEAgAEGqOUEAEDsMGAsgACAMQQFqNgI0IAAoAgQhAyAAIBcgDBCqAiAAIAIoAhw2AhggACABEPACDRcgAiAAKAIYNgIcIAAgFiAMEKoCIAAgAkEcakEpEK4DRQ0PDBcLAkACQAJAAkACQAJAAkAgAy0AASIEQTBrDhMDBAQEBAQEBAQEDg4ODg4ODg4BAAsgBEHrAEYNASAEQeIARw0NCyAAQRFBEiAEQeIARhsQESADQQJqIQcMFAsCQCADLQACQTxHBEBB+eYAIQUgACgCKA0BIAAQtAQNAQwNCyACIANBA2o2AiAgDyACQSBqIAAoAigQtQQEQEGj5wAhBSAAKAIoDQEgABC0BA0BDA0LIBEoAgAgACgCSCAPEKoGIgRBAE4NAyAAIAJBwAJqIA8QqQYiBEEATg0DQYL6ACEFIAAoAigNACAAELQERQ0MCyAAIAVBABA7DBoLIAIgA0ECajYCHCADLQACIQQgACgCKARAIARBOmtBdkkNDyAAQc/NAEEAEDsMGgsgBEH4AXFBMEcNDiACIANBA2o2AhwgBEEwayEEIAMtAAMiBkH4AXFBMEcNDyACIANBBGo2AhwgBEEDdCAGakEwayEEDA8LIAIgA0EBaiIFNgIcIAJBHGpBABDbAiIEQQBOBEAgBCAAKAI0SA0CIAAQqAYgBEoNAgsgACgCKEUEQCACIAU2AhwgBS0AACIEQTdNBEBBACEGIARBM00EQCACIANBAmoiBTYCHCAEQTBrIQYgAy0AAiEECyAEQfgBcUEwRwRAIAYhBAwRCyACIAVBAWo2AhwgBEH/AXEgBkEDdGpBMGshBCAFLQABIgNB+AFxQTBHDRAgAiAFQQJqNgIcIARBA3QgA2pBMGshBAwQCyACIANBAmo2AhwMDwsgAEH8zQBBABA7DBgLIAIgAigCIDYCHAsgACgCNCEMIAAoAgQhAyAAIBggBBCqAgwOCyAAKAI0IQwgAQRAIABBGxARCyAAKAJAIQQgAkE0NgLQAiACIAQ2AswCIAJBADYCyAIgAkIANwLAAiACIANBAWoiBDYC1AIgAy0AAUHeAEciB0UEQCACIANBAmoiBDYC1AILA0AgBC0AAEHdAEcEQCAAIAJBrAJqIAJB1AJqQQEQswQiA0EASA0FAkACQAJAAkACQCACKALUAiIELQAAQS1HDQAgBC0AAUHdAEYNACACIARBAWo2AiAgA0GAgICABE8EQCAAKAIoRQ0BIAIoArgCIAIoArQCQQAgAigCvAIRAQAaDAMLIAAgAkGsAmogAkEgakEBELMEIgZBAEgNCiAGQYCAgIAESQ0BIAIoArgCIAIoArQCQQAgAigCvAIRAQAaIAAoAigNAgsgA0GAgICABEkNAyACQcACaiACKAK0AiIDIAIoAqwCELIEIAIoArgCIANBACACKAK8AhEBABpFDQUMCAsgAiACKAIgIgQ2AtQCIAMgBk0NAQsgAEGt6wBBABA7DAcLIAJBwAJqIAMgBhCnBkUNAgwFCyACQcACaiADIAMQpwZFDQEMBAsLIAAoAiwEQCACQTQ2AjAgAiACKALMAjYCLCACQQA2AiggAkIANwIgIAJC4YCAgLAPNwLYAiACQSBqIAIoAsgCIAIoAsACIAJB2AJqQQJBARDaAg0CQQAhBSACKAIgIgZBACAGQQBKGyEIIAIoAighAwNAIAUgCEZFBEAgAyAFQQJ0aiIKIAooAgBBIGs2AgAgBUEBaiEFDAELCyACQcACaiADIAYQsgQgAigCLCADQQAgAigCMBEBABoNAwsgB0UEQCACQcACahDZAg0DCyAAIAJBwAJqEKYGDQMgAigCzAIgAigCyAJBACACKALQAhEBABogAiAEQQFqNgIcIAFFDQgLIABBGxARDAcLIAIoAiwgAigCKEEAIAIoAjARAQAaCyAAEKkCCyACKALMAiACKALIAkEAIAIoAtACEQEAGgwRCyAAKAIoRQ0BIABB1T9BABA7DBALIARBP0YNDgsgACACQQhqIAJBHGpBABCzBCIEQQBIDQ4MBAsgAEEEQQMgACgCMBsQEQsgECEDDAQLIAIgA0EBaiIHNgIcIABBBRARDAcLQQAhBAsgACgCNCEMIAAoAgQhAyABBEAgAEEbEBELAkAgBEGAgICABE4EQCAAIAJBCGoQpgYgAigCFCACKAIQQQAgAigCGBEBABpFDQEMCwsgACgCLARAIAQgACgCKBDfASEECyAEQf//A0wEQCAAQQEgBBCxBAwBCyAAQQIgBBC4ARoLIAFFDQEgAEEbEBEMAQsgAyAJaiEHQX8hAwJAIAUNACAAKAIoDQAgACgCNCEMIBAhAwsgAEEYQRcgBEEhRhtBABC4ASEEIAAgBzYCGCAAIAYQ8AINCCACIAAoAhg2AhwgACACQRxqQSkQrgMNCCAAQQoQESAAKAIMDQggACgCACAEaiAAKAIEIARrQQRrNgAACyACKAIcIQcgA0EASA0DAkACQAJAAkACQCAHLQAAIgRBKmsOAgECAAsgBEE/Rg0CIARB+wBHDQcgBy0AAUE6a0F1Sw0DIAAoAihFDQcMCAsgB0EBaiEHQQAhCkH/////ByEIDAULQQEhCiAHQQFqIQdB/////wchCAwEC0EBIQggAiAHQQFqIgc2AhxBACEKDAMLIAIgB0EBajYCHCACQRxqIgZBARDbAiIKIQgCQCACKAIcIgQtAAAiBUEsRw0AIAIgBEEBajYCHEH/////ByEIIAQtAAEiBUE6a0F2SQ0AIAZBARDbAiIIIApIDQUgAigCHC0AACEFCyAFQf8BcUH9AEYNASAAKAIoDQELIAIgBzYCHAwCCyAAIAJBHGpB/QAQrgMNBSACKAIcIQcLAkACfyAHLQAAQT9GBEAgAiAHQQFqIgc2AhwgACgCBCADayELQQAhBUEADAELIAAoAgwhCwJAIAhBAEwNACALDQIgACgCBCADayENIAAoAgAgA2ohDkEAIQVBACEJA0AgBSANSARAIAUgDmoiEi0AACIUQYCCAmotAAAhBEECIQYCQAJAAkACQCAUQQFrDhYCAgICAwMGBgYGBgYGBgYGAwMGBgEABgtBAyEGCyASLwABIAZ0IARqIQQLIAlBAWohCQsgBCAFaiEFDAELCyAJQQBMDQAgAEEKEBEgACADQREQ8QENAiAAKAIAIANqQRw6AAAgACgCBCEGIAAoAgAgA2oiBCAJNgANIAQgCDYACSAEIAo2AAUgBCAGIANrQRFrNgABDAMLIAsNASAAKAIAIQYgACgCBEEAIQQgAkEgakEAQf8BECsaIANrIQsgAyAGaiEUQX4hDUEAIRIDQCAEIAtORQRAIAQgFGoiDi0AACIFQYCCAmotAAAhBkECIQkCQAJAAkACQAJAAkACQAJAIAVBAWsOGwICAgIHBwYGBgYDAwQGBwcHBwUFAQAGBgcGBwYLQQMhCQsgDi8AASAJdCAGaiEGC0EBIA0gDUF+RhshDQwECyAOLQABIAJBIGpqIgUgBS0AAEEBcjoAAAwDCyAOLQABIgUgDi0AAiIJIAUgCUsbIQkDQCAFIAlGDQMgAkEgaiAFaiIOIA4tAABBAXI6AAAgBUEBaiEFDAALAAtBASESIA4tAAEgAkEgamoiBSAFLQAAQQJyOgAADAELIA1BACANQX5HGyENCyAEIAZqIQQMAQsLQQAhBQJ/AkAgEkUNAANAIAVB/wFGDQEgAkEgaiAFaiAFQQFqIQUtAABBA0cNAAtBfwwBCyANQQAgDUF+RxsLRSEFQQELIQQCQCAKRQRAIAAoAjQgDEcEQCAAIANBAxDxAQ0DIAAoAgAgA2pBDToAACAAKAIAIANqIAw6AAEgACgCACADaiAALQA0QQFrOgACIANBA2ohAwsCQAJAAkAgCA4CAAECCyAAIAM2AgQMBQsgACADQQUQ8QENAyAAKAIAIANqIARBCHI6AAAgACgCACADaiALNgABDAQLIAhB/////wdGDQEgACADQQoQ8QENAiAAKAIAIANqQQ86AAAgACgCACADaiIGIARBCHI6AAUgBiAINgABIAAoAgAgA2ogC0EFajYABiAAQQ4gA0EFahDeASAAQRAQEQwDCyAFIApBAUcgCEH/////B0dyckUEQCAAIARBCXMgAxDeAQwDCyAKQQFHBEAgACADQQUQ8QENAiAAKAIAIANqQQ86AAAgACgCACADaiAKNgABIABBDiADQQVqIgMQ3gEgAEEQEBELIAhB/////wdGBEAgACgCBCEGIAAgBEEIciAFIAtqQQVqELgBGiAFBEAgAEEZEBEgACADIAsQsAQgAEEaIAYQ3gEMBAsgACADIAsQsAQgAEEHIAYQ3gEMAwsgCCAKTA0CIABBDyAIIAprELgBGiAAKAIEIQYgACAEQQhyIAtBBWoQuAEaIAAgAyALELAEIABBDiAGEN4BIABBEBARDAILIAAgAyAFQQVqEPEBDQAgACgCACADaiAEQQhyOgAAIAAoAgAgA2oiBCAFIAtqQQVqNgABIAUEQCAEQRk6AAUgAEEaIAMQ3gEMAgsgAEEHIAMQ3gEMAQsgABCpAgwECyAAIAc2AhggAUUNASAAIAAoAgQiAyAQayIQIANqEMcBDQMgACgCACATaiIEIBBqIAQgAyATaxC0ASAAKAIAIgQgE2ogAyAEaiAQECAaDAELCyAAQfcqQQAQOwwBCyAAQe4xQQAQOwtBfyEVCyACQeACaiQAIBULhAICBn8BfiMAQRBrIgQkAAJAIAFC/////29YBEAgABAlQX8hAwwBC0F/IQMgACACECQiCUKAgICAcINCgICAgOAAUQ0AIAAgBEEMaiAEQQhqIAmnQRMQjwEhA0KAgICAMCECIAQoAgghBiAEKAIMIQcCQAJAIANBAEgNAANAIAUgBkYEQEEAIQMMAwsgACACEA8gACAJIAcgBUEDdGoiCCgCBCAJQQAQFCICQoCAgIBwg0KAgICA4ABRDQFBfyEDIAVBAWohBSAAIAEgCCgCBCACQYCAARDHBEEATg0ACwwBC0F/IQMLIAAgByAGEFsgACAJEA8gACACEA8LIARBEGokACADC9ACAgd/AX4jAEEwayICJAACQAJAIAMpAwAiAUL/////b1gEQCABQoCAgIDQflQNASABpyIAIAAoAgBBAWo2AgAMAQtCgICAgOAAIQwgACABELUDIgNBAEgNASADRQRAIABB/+IAQQAQFQwCCyAAIAJBLGogAkEoaiABpyIGQQMQjwENASACKAIsIQcgAigCKCEIQQAhAwJAA0AgAyAIRwRAIAcgA0EDdGooAgQhCUGAggEhBQJAIARFDQAgACACQQhqIgogBiAJEEoiC0EASA0DIAtFDQAgAigCCCEFIAAgChBJQYCGAUGAggEgBUECcRshBQsgACABIAlCgICAgDBCgICAgDBCgICAgDAgBRBuQQBIDQIgA0EBaiEDDAELCyAAIAcgCBBbIAYgBigCAEEBajYCAAwBCyAAIAcgCBBbDAELIAEhDAsgAkEwaiQAIAwLzgMCA38EfiMAQTBrIggkAAJAIAAoAhAoAnggCE0EQCADQgAgA0IAVRshDSAFQQFrIQkgBkKAgICAcIMhDiAFQQBMIQpCACEDA0AgAyANUQRAIAQhDAwDC0J/IQwgACACIAMgCEEoahCGASIFQQBIDQICQCAFRQ0AIA5CgICAgDBSBEAgCCAIKQMoNwMAIAMhCyAIIAI3AxAgCCADQoCAgIAIWgR+QoCAgIDAfiADur0iC0KAgICAwIGA/P8AfSALQoCAgICAgID4/wBWGwUgCws3AwggCCAAIAYgB0EDIAgQISILNwMoIAAgCCkDABAPIAAgCCkDCBAPIAtCgICAgHCDQoCAgIDgAFENBAsCQAJAAkAgCg0AIAAgCCkDKCILEMsBIgVBAEgNASAFRQ0AIAAgCEEgaiALED1BAEgNASAAIAEgCyAIKQMgIAQgCUKAgICAMEKAgICAMBCuBiIEQgBTDQEgACALEA8MAwsgBEL/////////D1MNASAAQbjaAEEAEBUgCCkDKCELCyAAIAsQDwwECyAAIAEgBCAIKQMoEGtBAEgNAyAEQgF8IQQLIANCAXwhAwwACwALIAAQ6gFCfyEMCyAIQTBqJAAgDAuZAgEBfgJAAkACQCABQoCAgIBwgyIEQoCAgIAwUgRAIARCgICAgCBSDQEgAEGw1AAQYyEEDAILIABBvfkAEGMhBAwBCyAAIAEQJCIBQoCAgIBwg0KAgICA4ABRDQEgACABEMsBIgJBAEgEQCAAIAEQD0KAgICA4AAPCwJ/QZMBIAINABpBnQEgACABEDkNABpBkgEgAacvAQYiA0ESS0EBIAN0QfiOEHFFcg0AGiAAKAIQKAJEIANBGGxqKAIECyECIAAgAUHXASABQQAQFCEEIAAgARAPIARCgICAgHCDIgFCgICAgJB/UQ0AIAFCgICAgOAAUQ0BIAAgBBAPIAAgAhAuIQQLIABBwpkBIARBo4ABEL4BIQELIAELEABBqZkBIABBCxD8AUEARwuAAQEEf0GcmQEhAwJAAkAgASgCBCIFQf////8HcSIGIAJMDQAgAUEQaiEEAn8gBUEASARAIAQgAkEBdGovAQAMAQsgAiAEai0AAAtBJUcNAEG9LSEDIAJBAmogBk4NACABIAJBAWpBAhC4BCICQQBODQELIAAgAxC5BEF/IQILIAILXgAjAEEQayICJAACfkKAgICAECADKQMAIgFCgICAgBBaIAFCIIinQQtqQRJJcQ0AGkKAgICA4AAgACACQQhqIAEQQw0AGiACKwMIEL4CrUKAgICAEIQLIAJBEGokAAsmAEKAgICA4AAgACADKQMAEMsFIgBBAEetQoCAgIAQhCAAQQBIGwtAAQF+QoCAgIAQIQEgAykDACIEQoCAgIAQWiAEQiCIp0ELakESSXEEfkKAgICAEAUgAEKAgICAECADIAMQvAQLC0ABAX5CgICAgBAhASADKQMAIgRCgICAgBBaIARCIIinQQtqQRJJcQR+QoCAgIAQBSAAQoCAgIAQIAMgAxC9BAsLCQAgACABEL4ECywAIAAgARC+BCIBQoCAgIBwg0KAgICA4ABSBH4gAEEDQQIgAacbEC4FIAELC8wCAgJ/B34jAEEgayIEJAAgACAEQQhqQQAQPhpCgICAgOAAIQlCgICAgDAhBgJAAkACQCAAIAMpAwAQJCIHQoCAgIBwg0KAgICA4ABRDQAgACAAIAdB8AAgB0EAEBQQ2wUiBkKAgICAcINCgICAgOAAUQ0AIAAgBCAGED1BAEgNAEIAIQEgBCkDACIIQgAgCEIAVRshCiAIQgF9IQggAqwhCwNAIAEgClENAiAAIAAgBiABEHQQOCIMQoCAgIBwg0KAgICA4ABRDQEgBEEIaiIFIAwQgAEaIAEgCFkhAiABQgF8IQEgASALWSACcg0AIAUgAyABp0EDdGopAwAQiAFFDQALCyAAIAcQDyAAIAYQDyAEKAIIKAIQIgBBEGogBCgCDCAAKAIEEQAADAELIAAgBxAPIAAgBhAPIARBCGoQNyEJCyAEQSBqJAAgCQuBAgIDfwF8IwBBIGsiBCQAAn4CQCAAIAQgAhA+DQAgAkEAIAJBAEobIQYCQANAIAUgBkcEQAJAIAMgBUEDdGopAwAiAUL/////D1gEQCABQv//wwBWDQQgAachAgwBCyAAIARBGGogARBDDQQgBCsDGCIHRAAAAAAAAAAAYyAHRAAAAAD//zBBZHINAyAHAn8gB5lEAAAAAAAA4EFjBEAgB6oMAQtBgICAgHgLIgK3Yg0DCyAFQQFqIQUgBCACELkBRQ0BDAMLCyAEEDcMAgsgAEGVK0EAEFELIAQoAgAoAhAiAEEQaiAEKAIEIAAoAgQRAABCgICAgOAACyAEQSBqJAALmAEBAn8jAEEgayIEJAAgACAEQQhqIAIQPhogAkEAIAJBAEobIQICfgNAIAIgBUcEQAJAIAAgBEEEaiADIAVBA3RqKQMAEHhFBEAgBEEIaiAELwEEEIwBRQ0BCyAEKAIIKAIQIgBBEGogBCgCDCAAKAIEEQAAQoCAgIDgAAwDCyAFQQFqIQUMAQsLIARBCGoQNwsgBEEgaiQAC4cDAgN/An4jAEEgayICJABCgICAgOAAIQgCQCAAIAEQWiIBQoCAgIBwg0KAgICA4ABRDQAgACACQQhqIgVBBxA+GiAFQTwQPBogBSAEQQN0IgRBkOsBaigCACIGEIkBGiAEQZTrAWooAgAiBARAIAVBIBA8GiAFIAQQiQEaIAVBtZkBEIkBGiAAIAMpAwAQWiIJQoCAgIBwg0KAgICA4ABRBEAgACABEA8gAigCCCgCECIAQRBqIAIoAgwgACgCBBEAAAwCCyAJpyIHQRBqIQVBACEEA0AgBCAHKAIEIgNB/////wdxT0UEQAJAAn8gA0EASARAIAUgBEEBdGovAQAMAQsgBCAFai0AAAsiA0EiRgRAIAJBCGpBp4kBEIkBGgwBCyACQQhqIAMQjAEaCyAEQQFqIQQMAQsLIAAgCRAPIAJBCGpBIhA8GgsgAkEIaiIAQT4QPBogACABEIABGiAAQcGQARCJARogACAGEIkBGiAAQT4QPBogABA3IQgLIAJBIGokACAIC4oEAQl/IwBBMGsiBSQAAkAgACABEFoiAUKAgICAcINCgICAgOAAUQ0AIAGnIgcoAgRB/////wdxIgJFDQACQCAAIAVBFGogAhA+DQBBACECIAVBADYCECAHQRBqIQgDQAJAIAcoAgQiCUH/////B3EiCiACSgRAAn8CQCAERSAHIAVBEGoQygEiC0GjB0dyDQAgBSgCECIMQQFrIQIDQAJAIAJBAEwEQEEAIQYMAQsgAkEBayEDAkAgCUEASARAIAJBAUYgCCADQQF0ai8BACIGQYD4A3FBgLgDR3INASAIIAJBAmsiAkEBdGovAQAiDUGA0ABqQf//A3FBgAhLDQEgBkH/B3EgDUH/B3FBCnRyQYCABGohBgwCCyADIAhqLQAAIQYLIAMhAgsgBhDBBA0ACyAGEMAERQ0AIAUgDDYCLAJAA0AgBSgCLCAKTg0BIAcgBUEsahDKASICEMEEDQALIAIQwAQNAQsgBUHCBzYCBEEBDAELIAVBBGogCyAEELEDCyEDQQAhAgNAIAIgA0YNAiACQQJ0IQYgAkEBaiECIAVBFGogBiAFQQRqaigCABC5AUUNAAsMAwsgACABEA8gBUEUahA3IQEMAwsgBSgCECECDAALAAsgACABEA8gBSgCFCgCECIAQRBqIAUoAhggACgCBBEAAEKAgICA4AAhAQsgBUEwaiQAIAELcAEBfkKAgICA4AAhBCAAIAEQWiIBQoCAgIBwg0KAgICA4ABSBH4gACADKQMAECgiBEKAgICAcINCgICAgOAAUQRAIAAgARAPQoCAgIDgAA8LIAGnIASnEIUCIAAgARAPIAAgBBAPrQVCgICAgOAACwsJACAAIAEQ9gQLfQACQAJAAkAgAUIgiKciAkF/RwRAIAJBeUcNASABQoCAgIDQflQNAgwDCyABpyICLwEGQQVHDQAgAikDICIBQoCAgIBwg0KAgICAkH9SDQAMAgsgAEGp2wBBABAVQoCAgIDgACEBCyABDwsgAaciACAAKAIAQQFqNgIAIAEL8AECBH8BfiAAIAEQWiIBQoCAgIBwg0KAgICA4ABRBEAgAQ8LIAGnIgYoAgQiB0H/////B3EhAgJAIARBAXFFDQAgBkEQaiEDIAdBAE4hCANAIAIgBUYEQCACIQUMAgsCfyAIRQRAIAMgBUEBdGovAQAMAQsgAyAFai0AAAsQhQNFDQEgBUEBaiEFDAALAAsCQCAEQQJxRQRAIAIhAwwBCyAGQRBqIQQDQCACIgMgBUwNASACQQFrIQICfyAHQQBIBEAgBCACQQF0ai8BAAwBCyACIARqLQAACxCFAw0ACwsgACAGIAUgAxCFASAAIAEQDwviAwIGfwN+IwBBIGsiBSQAQoCAgIDgACEMAkAgACABEFoiAUKAgICAcINCgICAgOAAUQ0AAkACQCAAIAVBBGogAykDABC6AQ0AIAUoAgQiByABpyIJKAIEQf////8HcSIITA0BQSAhCkKAgICAMCELAkAgAkECSA0AIAMpAwgiDUKAgICAcINCgICAgDBRDQAgACANECgiC0KAgICAcINCgICAgOAAUQ0BAkACQCALpyIGKAIEIgJB/////wdxDgIAAQILIAAgCxAPDAMLAn8gAkEASARAIAYvARAMAQsgBi0AEAshCkEAIQYLIAdBgICAgARPBEAgAEHH2gBBABBHDAELIAAgBUEIaiICIAcQPkUEQAJAIAQEQCACIAlBACAIEFINAQsgByAIayEDAkAgBgRAA0AgA0EATA0CIAMgAyAGKAIEQf////8HcSICIAIgA0sbIgJrIQMgBUEIaiAGQQAgAhBSRQ0ADAMLAAsgBUEIaiAKIAMQwwQNAQsgBEUEQCAFQQhqIAlBACAIEFINAQsgACALEA8gACABEA8gBUEIahA3IQwMBAsgBSgCCCgCECICQRBqIAUoAgwgAigCBBEAAAsgACALEA8LIAAgARAPDAELIAEhDAsgBUEgaiQAIAwLgQYCBX4FfyMAQdAAayICJAACQAJAAkACQCABQoCAgIAQhEKAgICAcINCgICAgDBRBEAgAEGVMEEAEBUMAQsgAykDCCEJIAMpAwAiBUKAgICAEIRCgICAgHCDQoCAgIAwUQ0CIARFDQEgACAFEMUEQQBODQELQoCAgIDgACEGDAILIAAgBUHUASAFQQAQFCIHQoCAgIBwgyIGQoCAgIAgUSAGQoCAgIAwUXINACAGQoCAgIDgAFENASACIAk3AyggAiABNwMgIAAgByAFQQIgAkEgahAwIQYMAQsgACACQQhqQQAQPhpCgICAgOAAIQZCgICAgDAhCAJAIAAgARAoIgdCgICAgHCDQoCAgIDgAFEEQEKAgICAMCEFDAELIAAgBRAoIgVCgICAgHCDQoCAgIDgAFENACAAIAkQOSIORQRAIAAgCRAoIghCgICAgHCDQoCAgIDgAFENAQsgB6chCyAFpyINKAIEIQMDQAJAAkAgA0H/////B3FFBEBBACEDIAxFDQEgCiALKAIEQf////8HcU8NAiAKQQFqIQMMAQsgCyANIAoQxAQiA0EATg0AIAwNASACKAIIKAIQIgNBEGogAigCDCADKAIEEQAAIAAgBRAPIAAgCBAPIAchBgwECyACIAU3AyACfiAOBEAgAiAHNwMwIAIgA603AyggACAAIAlCgICAgDBBAyACQSBqECEQOAwBCyACIAg3A0ggAkKAgICAMDcDQCACQoCAgIAwNwM4IAIgBzcDKCACIAOtNwMwIAAgAkEgahDvBAsiAUKAgICAcINCgICAgOAAUQ0CIAJBCGoiDCALIAogAxBSGiAMIAEQgAEaIAMgDSgCBCIDQf////8HcWohCkEBIQwgBA0BCwsgAkEIaiIDIAsgCiALKAIEQf////8HcRBSGiAAIAUQDyAAIAgQDyAAIAcQDyADEDchBgwBCyACKAIIKAIQIgNBEGogAigCDCADKAIEEQAAIAAgBRAPIAAgCBAPIAAgBxAPCyACQdAAaiQAIAYLrgICA38CfiMAQSBrIgIkAEKAgICA4AAhBwJAAkACQCAAIAEQWiIBQoCAgIBwg0KAgICA4ABRDQAgACACIAMpAwAQ4QMNACACKQMAIghCgICAgAhaBEAgAEHiKkEAEFEMAQsgCEIBUQ0BIAGnIgQoAgQiBkH/////B3EiBUUNASAIIAWtfkKAgICABFoEQCAAQcfaAEEAEEcMAQsgACACQQhqIAUgCKciA2wgBkEfdhCJAw0AAkAgBUEBRwRAA0AgA0EATA0CIAJBCGogBEEAIAUQUhogA0EBayEDDAALAAsgAkEIagJ/IAQoAgRBAEgEQCAELwEQDAELIAQtABALIAMQwwQaCyAAIAEQDyACQQhqEDchBwwCCyAAIAEQDwwBCyABIQcLIAJBIGokACAHC8EBAgJ/An4jAEEQayIEJABCgICAgOAAIQYCQCAAIAEQWiIBQoCAgIBwg0KAgICA4ABRBEAgASEGDAELAkAgACAEQQxqIAMpAwAgAaciBSgCBEH/////B3EiAiACEFgNACAEIAI2AgggAykDCCIHQoCAgIBwg0KAgICAMFIEQCAAIARBCGogByACIAIQWA0BIAQoAgghAgsgACAFIAQoAgwiAyACIAMgAiADShsQhQEhBgsgACABEA8LIARBEGokACAGC8ABAgN/An4jAEEQayICJABCgICAgOAA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AkAgDFANACAFvSIOQjSIIg9C/w9RDQAgD6cgDadrQcEATgRAIAcgBqAhBAwCCwJ8IA5CgICAgICAgPDfAFoEQCAERAAAAAAAADAUoiEEIAVEAAAAAAAAMBSiIQVEAAAAAAAAsGsMAQtEAAAAAAAA8D8gDEL/////////5yNWDQAaIAREAAAAAAAAsGuiIQQgBUQAAAAAAACwa6IhBUQAAAAAAAAwFAsgCEEYaiAIQRBqIAUQiQYgCEEIaiAIIAQQiQYgCCsDACAIKwMQoCAIKwMIoCAIKwMYoJ+iIQQMAQsgBSEECyAIQSBqJAAMAAsACyAEmSEECyAEvSIBAn8gBJlEAAAAAAAA4EFjBEAgBKoMAQtBgICAgHgLIgC3vVEEQCAArSEBDAELQoCAgIDAfiABQoCAgIDAgYD8/wB9IAFC////////////AINCgICAgICAgPj/AFYbIQELIAlBEGokACABC04AIAAgAEQAAAAAAADwv0QAAAAAAADwPyAARAAAAAAAAAAAYxsgAL1C////////////AINCgICAgICAgPj/AFYbIABEAAAAAAAAAABhGwtDAAJ8IAG9Qv///////////wCDQoCAgICAgID4/wBaBEBEAAAAAAAA+H8gAJlEAAAAAAAA8D9hDQEaCyAAIAEQiwMLC4MBAgJ+AX8gAL0iAUI0iKdB/w9xIgNB/gdNBEAgAUKAgICAgICAgIB/gyECIANB/gdHIAFCgICAgICAgPC/f1FyRQRAIAJCgICAgICAgPg/hL8PCyACvw8LIANBsghNBHwgAUI/hyABfEIBQbMIIANrrYYiAUIBiHxCACABfYO/BSAACwv6BAMCfAV/AX4jAEEQayIJJAACfkKAgICAwP7/+/8AQoCAgIDA/v97IAQbIAJFDQAaAkACfCADKQMAIgFC/////w9YBEBBASACIAJBAUwbIQogAachCEEBIQcDQCAHIApHBEAgCLcgAyAHQQN0aikDACIBQoCAgIAQWg0DGiAIIAGnIgsgCCALShsgCCALIAggC0gbIAQbIQggB0EBaiEHDAELCyAIrQwDCyAAIAlBCGogARBDDQFBASEHIAkrAwgLIQUgByACIAIgB0gbIQIDQCACIAdHBEAgACAJIAMgB0EDdGopAwAQQw0CAkAgBb0iDEL///////////8Ag0KAgICAgICA+P8AVg0AIAkrAwAiBr0iAUL///////////8Ag0KAgICAgICA+P8AVgRAIAYhBQwBCyAFRAAAAAAAAAAAYSAGRAAAAAAAAAAAYXEhCiAEBEAgCgRAIAEgDIO/IQUMAgsgBSAFIAalIAa9Qv///////////wCDQoCAgICAgID4/wBWGyAGIAW9Qv///////////wCDQoCAgICAgID4/wBYGyEFDAELIAoEQCABIAyEvyEFDAELIAUgBSAGpCAGvUL///////////8Ag0KAgICAgICA+P8AVhsgBiAFvUL///////////8Ag0KAgICAgICA+P8AWBshBQsgB0EBaiEHDAELCyAFvSIBAn8gBZlEAAAAAAAA4EFjBEAgBaoMAQtBgICAgHgLIgC3vVEEQCAArQwCC0KAgICAwH4gAUKAgICAwIGA/P8AfSABQv///////////wCDQoCAgICAgID4/wBWGwwBC0KAgICA4AALIAlBEGokAAstAEKAgICA4AAgACADKQMAIAMpAwhBABCMAiIAQQBHrUKAgICAEIQgAEEASBsLoQEBA34gAykDACIFIQQgAkEETgRAIAMpAxghBAsgBUL/////b1gEQCAAECVCgICAgOAADwsgAykDECEBQoCAgIDgACEGAkAgACADKQMIEDEiAkUNACABQoCAgIDQfloEQCABpyIDIAMoAgBBAWo2AgALIAAgBSACIAEgBEEAEIQEIQMgACACEBMgA0EASA0AIANBAEetQoCAgIAQhCEGCyAGC5ABAAJAAkAgAykDACIBQv////9vWARAIAQEQCAAECUMAwsgAUKAgICA0H5UDQEgAaciACAAKAIAQQFqNgIAIAEPCyAAIAEQtQMiAkEASA0BIAQEQCACQQBHrUKAgICAEIQPCyACRQRAIABB/+IAQQAQFQwCCyABpyIAIAAoAgBBAWo2AgALIAEPC0KAgICA4AALKgAgAykDACIBQv////9vWARAIAAQJUKAgICA4AAPCyAAIAFBA0EAEKsCC08AAkACQCADKQMAIgFC/////29YBEAgBEUEQEKAgICAEA8LIAAQJQwBCyAAIAEQmgEiAEEATg0BC0KAgICA4AAPCyAAQQBHrUKAgICAEIQLYwEBfiADKQMAIgRC/////29YBEAgABAlQoCAgIDgAA8LQoCAgIDgACEBAkAgACADKQMIEDEiAkUNACAAIAQgAhByIQMgACACEBMgA0EASA0AIANBAEetQoCAgIAQhCEBCyABCzwAIAMpAwAiAUL/////b1YgBEUgAUKAgICAYINCgICAgCBScXJFBEAgABAlQoCAgIDgAA8LIAAgARDpAQtfAQJ+AkACQCADKQMAIgFC/////29YBEAgABAlDAELIAMpAwghBSABIQQgAkEDTgRAIAMpAxAhBAsgACAFEDEiAg0BC0KAgICA4AAPCyAAIAEgAiAEQQAQFCAAIAIQEwtmAQF+IAMpAwAiBEL/////b1gEQCAAECVCgICAgOAADwtCgICAgOAAIQECQCAAIAMpAwgQMSICRQ0AIAAgBCACQQAQ1gEhAyAAIAIQEyADQQBIDQAgA0EAR61CgICAgBCEIQELIAELiwEBAn4gAykDACIBQv////9vWARAIAAQJUKAgICA4AAPCyADKQMQIQZCgICAgOAAIQUCQCAAIAMpAwgQMSICRQ0AIAAgASACIAYgBEVBDnQQxwQhAyAAIAIQEyADQQBIDQAgBARAIANBAEetQoCAgIAQhA8LIAGnIgAgACgCAEEBajYCACABIQULIAULmgECAX8CfiMAQRBrIgQkACADKQMIIQUgAykDACIGIQECQAJAAkACQCACQQNIDQAgAykDECIBQoCAgIBwWgRAIAGnLQAFQRBxDQELIABBoj5BABAVDAELIAAgBEEMaiAFEIcEIgINAQtCgICAgOAAIQEMAQsgACAGIAEgBCgCDCIDIAIQjgMhASAAIAIgAxCZAwsgBEEQaiQAIAELFQAgACADKQMAIAMgA0EIakECEJsDC1YCAX4BfyAAIAEQswMiAUKAgICAcINCgICAgOAAUQRAIAEPC0KAgICAMCECIAGnIgMoAgRBgICAgHhHBEAgACAAKAIQIAMQwgIQLiECCyAAIAEQDyACCwkAIAAgARCzAwtbAQF+IwBBEGsiAiQAIAIgACABELMDIgE3AwgCQCABQoCAgIBwg0KAgICA4ABRBEAgASEEDAELIABCgICAgDBBASACQQhqEI4GIQQgACABEA8LIAJBEGokACAEC24BAX4gAykDACIBQoCAgIBwg0KAgICAgH9SBEAgAEH90gBBABAVQoCAgIDgAA8LQoCAgIAwIQQgAaciACgCCEGAgICAfHFBgICAgHhGBH4gACAAKAIAQQFqNgIAIAFCgICAgJB/hAVCgICAgDALCzwBAX5CgICAgOAAIQEgACADKQMAECgiBEKAgICAcINCgICAgOAAUgR+IAAgBKdBAhD/AwVCgICAgOAACwuEBAIBfgF/AkACQAJAAkACQCABQoCAgIBwWgRAIAGnIgIvAQZBL0YNAQsgBEEBNgIADAELIAIoAiAhAiAEQQE2AgAgAg0BCyAAQbY/QQAQFQwBCwJAAkACQAJAAkACQAJAAkAgAigCACIHQQFrDgQCAgcBAAsgBUUNAiAAKAIQIAIQtAMLQoCAgIAwIQEgBUEBaw4CAwQHCyADKQMAIgFCgICAgNB+WgRAIAGnIgMgAygCAEEBajYCAAsCQCAFQQJHDQBBASEDIAdBAUcNACAAIAEQiwEMAgsgAigCRCIDIAWtNwMAIANBCGsgATcDACACIANBCGo2AkQLQQAhAwsgAkEDNgIAIAIgAzYCFCAAIAJBCGoQtQIhASACQQE2AgAgAUKAgICAcINCgICAgOAAUQRAIAAoAhAgAhC0AyABDwsgAigCREEIayIDKQMAIQYgA0KAgICAMDcDACABQv////8PWARAIAFCAlEEQCACQQI2AgAgBEECNgIAIAYPCyAEQQA2AgAgBg8LIAAgARAPIAAoAhAgAhC0AyAGDwsgAykDACIBQoCAgIDQflQNAyABpyIAIAAoAgBBAWo2AgAgAQ8LIAMpAwAiAUKAgICA0H5aBEAgAaciAiACKAIAQQFqNgIACyAAIAEQiwEMAQsgAEGUP0EAEBULQoCAgIDgACEBCyABC/IBAQN+IwBBEGsiAiQAQoCAgIDgACEEAkAgACAAIAEQJCIFQQEQkQIiAUKAgICAcINCgICAgOAAUQ0AIAFCIIinQQtqQRJJIAFCgICAgBBacUUEQCAAIAJBCGogARBDQQBIDQFCgICAgCAhBCACKQMIQoCAgICAgID4/wCDQoCAgICAgID4/wBRDQELQoCAgIDgACEEIAAgBUHG3AAQsgEiBkKAgICAcINCgICAgOAAUQ0AIAAgBhA5RQRAIABB8/EAQQAQFSAAIAYQDwwBCyAAIAYgBUEAQQAQMCEECyAAIAUQDyAAIAEQDyACQRBqJAAgBAuMAgMBfAF+AX8jAEEQayICJABCgICAgOAAIQUCQCAAIAJBCGoiBiABEJwCDQAgACAGIAMpAwAQQw0AIAICfiACKwMIIgS9Qv///////////wCDQv/////////3/wBYBEAgBJ0iBEQAAAAAALCdQKAgBCAERAAAAAAAAFlAYxsgBCAERAAAAAAAAAAAZhshBAsgBL0iBQJ/IASZRAAAAAAAAOBBYwRAIASqDAELQYCAgIB4CyIDt71RBEAgA60MAQtCgICAgMB+IAVCgICAgMCBgPz/AH0gBUL///////////8Ag0KAgICAgICA+P8AVhsLNwMAIAAgAUEBIAJBERDJBCEFCyACQRBqJAAgBQt1AwF+AX8BfCMAQRBrIgIkAEKAgICA4AAhBAJAIAAgAkEIaiIFIAEQnAINACAAIAUgAykDABBDDQAgACABIAIrAwgiBp1EAAAAAAAAAACgRAAAAAAAAPh/IAaZRAAA3MIIsj5DZRsQygQhBAsgAkEQaiQAIAQL0wEBAXwjAEHQAGsiAiQAAn5CgICAgOAAIAAgASACIARBD3FBABC2AyIAQQBIDQAaQoCAgIDAfiAARQ0AGiAEQYACcQRAIAIgAisDAEQAAAAAALCdwKA5AwALIAIgBEEEdkEPcUEDdGorAwAiBb0iAQJ/IAWZRAAAAAAAAOBBYwRAIAWqDAELQYCAgIB4CyIEt71RBEAgBK0MAQtCgICAgMB+IAFCgICAgMCBgPz/AH0gAUL///////////8Ag0KAgICAgICA+P8AVhsLIAJB0ABqJAALgQEBAXwjAEEQayICJAACfkKAgICA4AAgACACQQhqIAEQnAINABpCgICAgMB+IAIrAwgiBL1C////////////AINCgICAgICAgPj/AFYNABoCfiAEnSIEmUQAAAAAAADgQ2MEQCAEsAwBC0KAgICAgICAgIB/CxC3A60LIAJBEGokAAuGAQEBfgJAIAFC/////29YBEAgABAlDAELAkAgAykDACIEQoCAgIBwg0KAgICAkH9SDQAgACAEEDEiAkUNASAAIAIQE0ERIQMCQAJAAkAgAkHGAGsOBgIDAQMDAgALIAJBFkcNAgtBECEDCyAAIAEgAxCRAg8LIABBtitBABAVC0KAgICA4AALkgEBAXwjAEEQayICJAACfkKAgICA4AAgACACQQhqIAEQnAINABogAisDCCIEvSIBAn8gBJlEAAAAAAAA4EFjBEAgBKoMAQtBgICAgHgLIgC3vVEEQCAArQwBC0KAgICAwH4gAUKAgICAwIGA/P8AfSABQv///////////wCDQoCAgICAgID4/wBWGwsgAkEQaiQAC+wCAgN/AXwjAEHQAGsiBCQAIARBEGpBAEE4ECsaIARCgICAgICAgPg/NwMgQoCAgIDAfiEBAkAgAkUNAEEHIAIgAkEHThsiAkEAIAJBAEobIQIDQCACIAVHBEAgACAEQQhqIAMgBUEDdCIGaikDABBDBEBCgICAgOAAIQEMAwsgBCsDCCIHvUL///////////8Ag0L/////////9/8AVg0CIARBEGogBmogB505AwACQCAFDQAgBCsDECIHRAAAAAAAAAAAZkUgB0QAAAAAAABZQGNFcg0AIAQgB0QAAAAAALCdQKA5AxALIAVBAWohBQwBCwsgBEEQakEAEN4CIge9IgECfyAHmUQAAAAAAADgQWMEQCAHqgwBC0GAgICAeAsiBbe9UQRAIAWtIQEMAQtCgICAgMB+IAFCgICAgMCBgPz/AH0gAUL///////////8Ag0KAgICAgICA+P8AVhshAQsgBEHQAGokACABCwgAQoCAgIAwC1YAENAEIgFCgICAgAh8Qv////8PWARAIAFC/////w+DDwtCgICAgMB+IAG5vSIBQoCAgIDAgYD8/wB9IAFC////////////AINCgICAgICAgPj/AFYbC6EdAgZ/BH4jAEHQAGsiBiQAAkACQCAAQRBqIgNBiAIgACgCABEDACIBRQ0AIAFBBWpBAEGDAhArGiABQQU6AAQgAUEBNgIAIAAoAlAiBCABQQhqIgU2AgQgASAAQdAAajYCDCABIAQ2AgggACAFNgJQIAEgAyAAKAJAQQN0IAAoAgARAwAiBDYCKCAERQRAIAMgASAAKAIEEQAADAELIAEgADYCECAAKAJIIgMgAUEUaiIFNgIEIAEgAEHIAGo2AhggASADNgIUIAAgBTYCSCABQvGAgICAOTcC3AEgASAAQdgBajYC2AEgACgCQCIAQQAgAEEAShshAANAIAAgAkZFBEAgBCACQQN0akKAgICAIDcDACACQQFqIQIMAQsLIAFCgICAgCA3A1AgAUKAgICAIDcDSCABQoCAgIAgNwNAIAEgAUH0AWoiADYC+AEgASAANgL0ASABQoCAgIAgEEghByABKAIoIAc3AwhBACECIAEgAUERQdOeAUEAQQBBACAHEPIBIgc3AzAgB0KAgICA0H5aBEAgB6ciACAAKAIAQQFqNgIACyABKAIoIAc3A2ggARA1IQcgASgCKCAHNwMYIAEgB0GQ1QFBAxAiIAFB2ABqIQADQCABKAIoIQMgAkEIRkUEQCACQQJ0QZCmAWooAgAhBCABIAEgAykDGBBIIgdBNiABIAQQyARBAxAZGiABIAdBMyABQS8QLkEDEBkaIAAgAkEDdGogBzcDACACQQFqIQIMAQsLIAEgAykDCEECEEshByABKAIoIAc3AxBBACECIAEgASAHp0EAIAdC/////29WG0EBEMIENgIkIAEgAUEkakEAQTBBChC/BBogASABQRJBAEEAELADNwOwASABQRNBAEEAELADIQcgASABKQMwQc8AQoCAgIAwIAcgASkDsAFBgTIQbhogASABKQMwQc0AQoCAgIAwIAcgASkDsAFBgTIQbhogASAHEA8gASABIAcgASABQbABakEBEK0GEA8gASABEDU3A8ABIAEgAUKAgICAIBBINwPIASABIAFBzjFBFEEBIAEoAigpAwgQvwFBwNUBQRcQIiABIAEoAigpAwhBsNgBQQsQIiABIAEpAzBB4NkBQQcQIiABIAFBFUHmzABBAUEFQQAQgwEiBzcDOCAHQoCAgIDQfloEQCAHpyIDIAMoAgBBAWo2AgALIAEgB0HmzAAgASkDMBDdASABIAFBFkG8wABBAUEFQX8QgwEiB0G8wAAgASgCKCkDGBDdAQNAIAJBCEZFBEAgASABQRYgAkECdEGQpgFqKAIAIgNBAkEBIAJBB0YbQQUgAiAHEPIBIAMgACACQQN0aikDABDdASACQQFqIQIMAQsLIAEgARA1Igc3A5gBIAEgB0HQ2gFBARAiIAEgASgCKCkDEEHg2gFBIBAiIAFB1x9BF0EBIAEoAigpAxAQvwEiB0KAgICA0H5aBEAgB6ciACAAKAIAQQFqNgIACyABIAc3A0AgASAHQeDeAUEEECIgBkGwpgFBygAQICIDIQJB4wAhACABQoCAgIAgEEghBwNAIABB/wFxBEAgASAHIAJCgYCAgBBBBxDwARogAhBAIAJqQQFqIgItAAAhAAwBCwsgASABKAIoKQMQQdsBIAdBARAZGiABIAEgASgCKCkDECIHQesAIAdBABAUNwOoASAB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gICA4ABRDQIgACABIAggBBBrQQBODQMMAgtCgICAgDAhBwtCgICAgDAhAQsgACABEA9CgICAgOAAIQELIAAgCxAPIAAgDBAPIAAgBxAPIAAgCRAPIAAgBhAPCyAPQTBqJAAgAQvcAgEGfiABQv////9vWARAIAAQJUKAgICA4AAPC0KAgICA4AAhCEKAgICAMCEGAkACQAJAIAAgAykDABAoIgdCgICAgHCDQoCAgIDgAFEEQEKAgICAMCEEDAELIAAgAUHVACABQQAQFCIEQoCAgIBwg0KAgICA4ABRDQAgACAEQgAQU0UEQCAAIAFB1QBCABBGQQBIDQELIAAgASAHEMkBIgVCgICAgHCDIglCgICAgOAAUQ0BIAAgAUHVACABQQAQFCIGQoCAgIBwg0KAgICA4ABRDQECQCAAIAYgBBBTBEAgACAEEA8MAQsgACABQdUAIAQQRkEATg0AQoCAgIAwIQQMAgsgACAHEA8gACAGEA9C/////w8hCCAJQoCAgIAgUQ0CIAAgBUHXACAFQQAQFCAAIAUQDw8LQoCAgIAwIQULIAAgBRAPIAAgBxAPIAAgBhAPIAAgBBAPCyAIC80EAgZ+AX8jAEEgayICJAACQCABQv////9vWARAIAAQJUKAgICA4AAhBwwBC0KAgICA4AAhB0KAgICAMCEIAkAgACADKQMAECgiCUKAgICAcINCgICAgOAAUQRAQoCAgIAwIQRCgICAgDAhBUKAgICAMCEGDAELAkACQCAAIAEgACkDSBDkASIGQoCAgIBwg0KAgICA4ABRBEBCgICAgDAhBAwBCyAAIAAgAUHtACABQQAQFBA4IgRCgICAgHCDQoCAgIDgAFINAQtCgICAgDAhBQwBCyACIAQ3AxggAiABNwMQIAAgBkECIAJBEGoQpwEiBUKAgICAcINCgICAgOAAUQ0AIAAgAkEIaiAAIAFB1QAgAUEAEBQQowENACAAIAVB1QACfiACKQMIIgFCgICAgAh8Qv////8PWARAIAFC/////w+DDAELQoCAgIDAfiABub0iAUKAgICAwIGA/P8AfSABQv///////////wCDQoCAgICAgID4/wBWGwsQRkEASA0AQoCAgIDgACEIIABBLhB3IgFCgICAgHCDQoCAgIDgAFENACAAQSAQKSIDRQRAIAEhCAwBCyADIAk3AwggAyAFNwMAIAMgBKciCkHnAEEAEMgBQX9zQR92NgIQIApB9QBBABDIASEKIANBADYCGCADIApBf3NBH3Y2AhQgAUKAgICAcFoEQCABpyADNgIgCyAAIAYQDyAAIAQQDyABIQcMAQsgACAJEA8gACAGEA8gACAEEA8gACAFEA8gACAIEA8LIAJBIGokACAHC7sEAgd+An8jAEEQayICJAACQCABQv////9vWARAIAAQJUKAgICA4AAhBgwBC0KAgICA4AAhBkKAgICAMCEFAkAgAAJ+AkAgACADKQMAECgiB0KAgICAcINCgICAgOAAUQ0AIAAgACABQe4AIAFBABAUECYiA0EASA0AIANFBEAgACABIAcQyQEhBgwDCyAAIAAgAUHvACABQQAQFBAmIgtBAEgNACAAIAFB1QBCABBGQQBIDQBCgICAgOAAIAAQPyIIQoCAgIBwg0KAgICA4ABRDQEaIAenIQwCQANAIAAgBRAPIAAgASAHEMkBIgVCgICAgHCDIgRCgICAgCBRDQECQCAEQoCAgIDgAFENAAJ/IAAgACAFQgAQThA4IgRCgICAgHCDIgpCgICAgJB/UgRAQQAgCkKAgICA4ABSDQEaDAILIASnKAIEQf////8HcUULIAAgCCAJIAQQhwFBAEgNACAJQgF8IQlFDQEgACACQQhqIAAgAUHVACABQQAQFBCjAUEASA0AIAAgAUHVAAJ+IAwgAikDCCALEO8CIgRCgICAgAh8Qv////8PWARAIARC/////w+DDAELQoCAgIDAfiAEub0iBEKAgICAwIGA/P8AfSAEQv///////////wCDQoCAgICAgID4/wBWGwsQRkEATg0BCwsgCAwCCyAJUEUEQCAIIQYMAwsgACAIEA9CgICAgCAhBgwCC0KAgICAMAsQDwsgACAFEA8gACAHEA8LIAJBEGokACAGC5sVAgt/DX4jAEGQAWsiBCQAAkAgAUL/////b1gEQCAAECVCgICAgOAAIRAMAQsgAykDCCEaIAAgBEE4akEAED4aIARBADYCMCAEQoCAgIDAADcDKCAEIAA2AgAgBCAEQQhqIgk2AgRCgICAgOAAIRBCgICAgDAhFAJAAkAgACADKQMAECgiFUKAgICAcINCgICAgOAAUQRAQoCAgIAwIRJCgICAgDAhAUKAgICAMCERQoCAgIAwIRgM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IANBAWqtIBUQa0EASA0IIA9CgICAgDBSBEAgFEKAgICA0H5aBEAgFKciAiACKAIAQQFqNgIACyAAIAEgA0ECaq0gFBBrQQBIDQkLIAQgATcDWCAEQoCAgIAwNwNQIAAgEhAPIAAgACAaIAQgBEHQAGpBABCbAxA4IRIMAQtCgICAgDAhFiAPQoCAgIAwUgRAIAAgFBAkIhZCgICAgHCDQoCAgIDgAFENCAsgBCAYNwN4IAQgFjcDcCAEIAE3A2ggBCAVNwNYIAQgETcDUCAEIBNC/////w+DNwNgIAAgEhAPIAAgBEHQAGoQ7wQhEiAAIBYQDwsgEkKAgICAcINCgICAgOAAUQ0GIAasIBNXBEAgBEE4aiIDIAggBiATpyICEFIaIAMgEhCIARogEacoAgRB/////wdxIAJqIQYLIAVBAWohBQwBCwsgBEE4aiICIAggBiAIKAIEQf////8HcRBSGiACEDchEAwFCyAAIBEQD0KAgICAMCESAkACfwJAIAAgACAPQgAQThA4IhFCgICAgHCDIg9CgICAgJB/UgRAIA9CgICAgOAAUg0BIA8hEAwDCyARpygCBEH/////B3ENACAAIARB0ABqIAAgAUHVACABQQAQFBCjAUEASA0CIAAgAUHVAAJ+IAggBCkDUCALEO8CIg9CgICAgAh8Qv////8PWARAIA9C/////w+DDAELQoCAgIDAfiAPub0iD0KAgICAwIGA/P8AfSAPQv///////////wCDQoCAgICAgID4/wBWGwsQRiICQQBODQAgAkEedkECcQwBC0EAC0UNAQsLQoCAgIAwIQEMAgtCgICAgOAAIRAMAQtCgICAgDAhEkKAgICAMCEBCyAEKAI4KAIQIgJBEGogBCgCPCACKAIEEQAACyAEEPAEIAAgGBAPIAAgERAPIAAgARAPIAAgEhAPIAAgFBAPIAAgFRAPCyAEQZABaiQAIBALmAEAIwBBIGsiAiQAAn4CQCABQv////9vWARAIAAQJQwBCyAAIAJBCGoiA0EAED4aIANBLxA8GgJAIAMgACABQewAIAFBABAUEIABDQAgA0EvEDwaIAMgACABQe0AIAFBABAUEIABDQAgAxA3DAILIAIoAggoAhAiAEEQaiACKAIMIAAoAgQRAAALQoCAgIDgAAsgAkEgaiQAC04BAn5CgICAgOAAIQQg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IAIoAgBBAWo2AgAgAykDECIFQoCAgIDQfloEQCAFpyIJIAkoAgBBAWo2AgALIAggBTcDCAJAIAQNACADKQMYIgVCgICAgNB+VA0AIAWnIgkgCSgCAEEBajYCAAsgCCABNwMQIAggBTcDACAAIAcgBkEDIAgQISEFIAAgCCkDABAPIARFBEAgACAIKQMIEA8LIAMoAgQhAyAAKAIQIAIQ6QMgBUKAgICAcINCgICAgOAAUQ0CIAAgBRAPCwwACwALIAhBIGokACAFC1QAIAAgASACQSZqEE0iAEUEQEKAgICA4AAPCyAAKAIMIgBBAE4EQCAArQ8LQoCAgIDAfiAAuL0iAUKAgICAwIGA/P8AfSABQoCAgICAgID4/wBWGwtZAQF/IAAgASAEQSZqEE0iAkUEQEKAgICA4AAPCyACQQRqIQMgAigCCCEEA34gAyAERgR+QoCAgIAwBSAEQRBrIQUgBCgCBCEEIAAoAhAgAiAFEPwEDAELCwuHAQAgACABIARBJmoQTSICRQRAQoCAgIDgAA8LIAAgAiADKQMAIgFCACABQiCIp0EHa0FuTxsgASABQoCAgIDAgYD8/wB8Qv///////////wCDUBsQ8wIiAEUEQEKAgICAMA8LIAApAygiAUKAgICA0H5aBEAgAaciACAAKAIAQQFqNgIACyABCwkAIAAQtgJBfwt1ACAAIAEgBEEmahBNIgJFBEBCgICAgOAADwsgACACIAMpAwAiAUIAIAFCIIinQQdrQW5PGyABIAFCgICAgMCBgPz/AHxC////////////AINQGxDzAiIDRQRAQoCAgIAQDwsgACgCECACIAMQ/ARCgYCAgBALYQAgACABIARBJmoQTSICRQRAQoCAgIDgAA8LIAAgAiADKQMAIgFCACABQiCIp0EHa0FuTxsgASABQoCAgIDAgYD8/wB8Qv///////////wCDUBsQ8wJBAEetQoCAgIAQhAu+BQIDfgd/IwBBEGsiCyQAQoCAgIDgACEHAkAgACABIARBJmoQTSICRQ0AIAIoAgBFIAMpAwAiBUIAIAVCIIinQQdrQW5PGyAFIAVCgICAgMCBgPz/AHxC////////////AINQGyIFQv////9vVnJFBEAgABAlDAELQoCAgIAwIQYgBEEBcUUEQCADKQMIIQYLAkAgACACIAUQ8wIiAwRAIAAgAykDKBAPDAELIABBMBApIgNFDQEgAyACNgIIIANCATcDAAJAIAIoAgAEQCADIAWnIgQoAhg2AgwgBCADNgIYDAELIAVCgICAgNB+VA0AIAWnIgQgBCgCAEEBajYCAAsgAyAFNwMgIAIoAhAiCSACKAIUIgRBAWsgBRDWA3FBA3RqIggoAgAiCiADQRhqIgw2AgQgAyAINgIcIAMgCjYCGCAIIAw2AgAgAigCBCIIIANBEGoiCjYCBCADIAJBBGoiDDYCFCADIAg2AhAgAiAKNgIEIAIgAigCDEEBaiIINgIMIAggAigCGEkNACAAIAlBBCAEQQF0IARBAUYbIgBBA3QgC0EMahCoASIIRQ0AIAsoAgxBA3YgAGohBEEAIQADQCAAIARGRQRAIAggAEEDdGoiCSAJNgIEIAkgCTYCACAAQQFqIQAMAQsLIARBAWshCiACQQhqIQADQCAMIAAoAgAiAEcEQCAAQQxrKAIARQRAIAggACkDEBDWAyAKcUEDdGoiCSgCACINIABBCGoiDjYCBCAAIAk2AgwgACANNgIIIAkgDjYCAAsgAEEEaiEADAELCyACIAQ2AhQgAiAINgIQIAIgBEEBdDYCGAsgBkKAgICA0H5aBEAgBqciACAAKAIAQQFqNgIACyADIAY3AyggAUKAgICA0H5aBEAgAaciACAAKAIAQQFqNgIACyABIQcLIAtBEGokACAHC60DAgN/AX4jAEEQayIHJAACQCAAIAEgBUEqahBNIgNFBEAgBEEANgIAQoCAgIDgACEBDAELQoCAgIAwIQECQCADKQMAIglCgICAgHCDQoCAgIAwUQ0AAkAgCUKAgICAcFQNACAJpyICLwEGIAVBJmpHDQAgAigCICIGRQ0AAkAgAygCDCIIRQRAIAYoAgghAgwBCyAIKAIUIQIgACgCECAIEOkDCyAGQQRqIQYDQCACIAZGBEAgA0EANgIMIAAgAykDABAPIANCgICAgDA3AwAMAwsgAkEMaygCAARAIAIoAgQhAgwBCwsgAkEQayIGIAYoAgBBAWo2AgAgAyAGNgIMIARBADYCACADKAIIIgNFBEAgAikDECIBQoCAgIDQflQNAyABpyIAIAAoAgBBAWo2AgAMAwsgByACKQMQIgE3AwAgBUUEQCACKQMYIQELIAcgATcDCCADQQFGBEAgAUKAgICA0H5UDQMgAaciACAAKAIAQQFqNgIADAMLIABBAiAHEIcDIQEMAgtBgYQBQbX8AEGW6AJBxiUQAAALIARBATYCAAsgB0EQaiQAIAELPQEBfkKAgICAECEBIAMpAwAiBEKAgICAcFoEfiAEpy8BBkEVa0H//wNxQQxJrUKAgICAEIQFQoCAgIAQCwvjAwIFfgJ/IwBBIGsiCiQAQoCAgIDgACEFAkAgACABIAQQTSILRQ0AIAstAAQEQCAAEGwMAQsgACAKQRhqIAMpAwBCACALNAIAIgYgBhB1DQAgCiAGNwMQIAMpAwgiB0KAgICAcINCgICAgDBSBEAgACAKQRBqIAdCACAGIAYQdQ0BIAopAxAhBgsgCikDGCEJIAAgAUKAgICAMBDkASIHQoCAgIBwgyIFQoCAgIDgAFEEQCAHIQUMAQsgBiAJfSIGQgAgBkIAVRshCAJAIAVCgICAgDBRBEAgAEKAgICAMCAIIAQQ2wMhBQwBCyAKIAZC/////wdXBH4gCEL/////D4MFQoCAgIDAfiAIur0iBUKAgICAwIGA/P8AfSAFQoCAgICAgID4/wBWGws3AwggACAHQQEgCkEIahCnASEFIAAgBxAPIAAgCikDCBAPCyAFQoCAgIBwg0KAgICA4ABRDQACQCAAIAUgBBBNIgJFDQAgACAFIAEQUwRAIABBz8YAQQAQFQwBCwJAIAItAAQNACACNAIAIAhTBEAgAEG61ABBABAVDAILIAstAAQNACACKAIIIAsoAgggCadqIAinECAaDAILIAAQbAsgACAFEA9CgICAgOAAIQULIApBIGokACAFC1EAIAAgASACEE0iAEUEQEKAgICA4AAPCyAAKAIAIgBBAE4EQCAArQ8LQoCAgIDAfiAAuL0iAUKAgICAwIGA/P8AfSABQoCAgICAgID4/wBWGws5AQF+QoCAgIDAfiABKQMAIgJCgICAgMCBgPz/AH0gAkL///////////8Ag0KAgICAgICA+P8AVhsLOwEBfkKAgICAwH4gASoCALu9IgJCgICAgMCBgPz/AH0gAkL///////////8Ag0KAgICAgICA+P8AVhsLDAAgACABKQMAEPkDCwwAIAAgASkDABCIAgs9AQF+IAEoAgAiAEEATgRAIACtDwtCgICAgMB+IAC4vSICQoCAgIDAgYD8/wB9IAJCgICA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AQABAwQGBwsMCQoPCyADRQ0OIAYpAxAiDUKAAXxCgAJaDQ4MAQsgAyAGKQMQIg1CgAJUcUUNDQsgCSgCJCEAIARBAUYEQCANp0H//wNxIQMgBigCHCEFA0AgAiAFRg0NIAMgACAFai0AAEYNDiAFIAhqIQUMAAsACyAAIAYoAhwiAmogDadB//8DcSAKIAJrEPwBIgJFDQwgAiAAayEFDAwLIANFDQsgBikDECINQoCAAnxCgIAEWg0LDAELIAMgBikDECINQoCABFRxRQ0KCyAJKAIkIQAgBigCHCEFIA2nQf//A3EhAwNAIAIgBUYNCSAAIAVBAXRqLwEAIANGDQogBSAIaiEFDAALAAsgA0UNCCAGKQMQIg1CgICAgAh8QoCAgIAQWg0IDAELIAMgBikDECINQoCAgIAQVHFFDQcLIA2nIQAgCSgCJCEDIAYoAhwhBQNAIAIgBUYNBiADIAVBAnRqKAIAIABGDQcgBSAIaiEFDAALAAsgB0UNBSAMvUL///////////8Ag0KBgICAgICA+P8AWgRAIARBf0cNByAJKAIkIQAgBigCHCEFA0AgAiAFRg0GIAAgBUECdGooAgBB/////wdxQYCAgPwHSw0HIAUgCGohBQwACwALIAwgDLYiDrtiDQUgCSgCJCEAIAYoAhwhBQNAIAIgBUYNBSAAIAVBAnRqKgIAIA5bDQYgBSAIaiEFDAALAAsgB0UNBCAJKAIkIQAgDL1C////////////AINCgYCAgICAgPj/AFoEQCAEQX9HDQYgBigCHCEFA0AgAiAFRg0FIAAgBUEDdGopAwBC////////////AINCgICAgICAgPj/AFYNBiAFIAhqIQUMAAsACyAGKAIcIQUDQCACIAVGDQQgACAFQQN0aisDACAMYQ0FIAUgCGohBQwACwALIAdFDQEgACgCECgCjAEiAAR/IAAtAChBBHFBAnYgA3EFQQALRQ0DIAYpAxBC/////////w98Qv////////8fWg0DDAELIAdFDQAgACgCECgCjAEiAEUNAiAALQAoQQRxQQJ2IANxRQ0CIAYpAxBC/////////w9WDQILIAkoAiQhACAGKAIcIQUgBikDECEBA0AgAiAFRg0BIAAgBUEDdGopAwAgAVENAiAFIAhqIQUMAAsAC0F/IQULIARBf0YNAQsgBa0hDQwBCyAFQQBOrUKAgICAEIQhDQsgBkEgaiQAIA0L/wICBH8DfiMAQSBrIgUkAAJ+IAAgARCTASIIQQBOBEBBLCEHAkAgAkEATCAEckUEQEKAgICAMCEJIAMpAwAiCkKAgICAcINCgICAgDBRDQFCgICAgOAAIAAgChAoIglCgICAgHCDQoCAgIDgAFENAxpBfyEHIAmnIgYoAgRBAUcNASAGLQAQIQcMAQtCgICAgDAhCQsgACAFQQhqQQAQPhpBACECAkADQCACIAhHBEACQCACRQ0AIAdBAE4EQCAFQQhqIAcQPEUNAQwECyAFQQhqIAZBACAGKAIEQf////8HcRBSDQMLIAAgASACELABIgtCgICAgHCDIgpCgICAgCBRIApCgICAgDBRckUEQCAKQoCAgIDgAFENAyAFQQhqIAQEfiAAIAsQ/gQFIAsLEIABDQMLIAJBAWohAgwBCwsgACAJEA8gBUEIahA3DAILIAUoAggoAhAiAkEQaiAFKAIMIAIoAgQRAAAgACAJEA8LQoCAgIDgAAsgBUEgaiQAC7ICAwN/AX4BfCMAQSBrIgMkACACKAIERQRAIAEoAgAhBSADIAIoAgAiASACKAIcIAAoAgAiACACKAIgbGogAigCGBENADcDECADIAEgAigCHCAFIAIoAiBsaiACKAIYEQ0ANwMYAkAgASACKQMQQoCAgIAwQQIgA0EQahAhIgZCgICAgHCDQoCAgIDgAFEEQCACQQE2AgQMAQsCQCAGQv////8PWAR/IAanQR91IAZCAFJyBSABIANBCGogBhBvQQBIDQEgAysDCCIHRAAAAAAAAAAAZCAHRAAAAAAAAAAAY2sLIgRFBEAgACAFSyAAIAVJayEECyABIAIpAwgQ9QJBAE4NASACQQE2AgQMAQsgAkEBNgIECyABIAMpAxAQDyABIAMpAxgQDwsgA0EgaiQAIAQLsgUCBn8DfiMAQTBrIgIkACACIAE3AxAgAiAANgIIIAJBADYCDCACIAMpAwAiCjcDGEKAgICA4AAhCwJAAkAgACABEJMBIgRBAEgNACAKQoCAgIBwgyIMQoCAgIAwUgRAIAAgChBhDQELAkAgBEECSQ0AIAGnIgMvAQYiBUEVa0H//wNxIgZBC08NAiACIAZBAnQiB0GUgAJqKAIANgIgQQEgBUHlpgFqLQAAIgl0IQggAygCJCEGIAxCgICAgDBSBEAgACAEQQJ0ECkiBUUNAkEAIQMDQCADIARGRQRAIAUgA0ECdGogAzYCACADQQFqIQMMAQsLIAIgCDYCKCACIAY2AiQgBSAEQQRB0wAgAkEIahC/AgJAIAIoAgxFBEAgACAEIAl0IgMQKSIHDQELIAAoAhAiAEEQaiAFIAAoAgQRAAAMAwsgByAGIAMQICEHQQAhAwJAAkACQAJAAkAgCEEBaw4IAAEIAggICAMICwNAIAMgBEYNBCADIAZqIAcgBSADQQJ0aigCAGotAAA6AAAgA0EBaiEDDAALAAsDQCADIARGDQMgBiADQQF0aiAHIAUgA0ECdGooAgBBAXRqLwEAOwEAIANBAWohAwwACwALA0AgAyAERg0CIAYgA0ECdCIIaiAHIAUgCGooAgBBAnRqKAIANgIAIANBAWohAwwACwALA0AgAyAERg0BIAYgA0EDdGogByAFIANBAnRqKAIAQQN0aikDADcDACADQQFqIQMMAAsACyAAKAIQIgNBEGogByADKAIEEQAAIAAoAhAiAEEQaiAFIAAoAgQRAAAMAQsgBiAEIAggB0HAgAJqKAIAIAJBCGoQvwIgAigCDA0BCyABQoCAgIDQfloEQCABpyIAIAAoAgBBAWo2AgALIAEhCwsgAkEwaiQAIAsPCxAsAAudAgICfwN+IwBBMGsiAiQAQoCAgIDgACEGAkAgACABQQAQlAEiBUUNACAAIAJBDGogAykDACAFKAIoIgQgBBBYDQAgAiAENgIIIAMpAwgiB0KAgICAcINCgICAgDBSBEAgACACQQhqIAcgBCAEEFgNASACKAIIIQQLIAIoAgwhAyAAIAFBABCABSIHQoCAgIDwAINCgICAgOAAUQ0AIAUvAQYgACAHEA8gACABQQAQgQUiCEKAgICAcINCgICAgOAAUQ0AQeWmAWotAAAhBSACIAg3AxggAiABNwMQIAIgBCADayIEQQAgBEEAShutNwMoIAIgB6cgAyAFdGqtNwMgIABBBCACQRBqEPQCIQYgACAIEA8LIAJBMGokACAGCwYAQZDMBAu6AwIFfwR+IwBBIGsiAiQAQoCAgIAwIQkCQAJAIAAgARCTASIEQQBIDQAgACACQQxqIAMpAwAgBCAEEFgNACACIAQ2AgggAykDCCIKQoCAgIBwg0KAgICAMFIEQCAAIAJBCGogCiAEIAQQWA0BIAIoAgghBAsgAigCDCEDIAAgAUEAEJQBIgZFDQAgBi8BBiACIAQgA2siBUEAIAVBAEobIgStIgs3AxggAiABNwMQIABBAiACQRBqEPQCIglCgICAgHCDQoCAgIDgAFENACAFQQBMDQFB5aYBai0AACEHIAAgARD1Ag0AIAAgCRD1Ag0AAkAgACAJQQAQlAEiBUUNACAGLwEGIgggBS8BBkcNACAFKAIgKAIUIAhB5aYBai0AACIIdiAESQ0AIAMgBGogBigCICgCFCAIdksNACAFKAIkIAYoAiQgAyAHdGogBCAHdBAgGgwCC0IAIQoDQCAKIAtRDQIgACABIAMgCqdqrRBOIgxCgICAgHCDQoCAgIDgAFENASAAIAkgCiAMQYCAARDYASAKQgF8IQpBAE4NAAsLIAAgCRAPQoCAgIDgACEJCyACQSBqJAAgCQvoAgEBfiAAIAEQkwEiAkEASARAQoCAgIDgAA8LAkAgAkUNAAJAAkACQAJAAkAgAaciAC8BBkHlpgFqLQAADgQAAQIDBAsgACgCJCIAIAJqIQIDQCAAIAJBAWsiAk8NBSAALQAAIQMgACACLQAAOgAAIAIgAzoAACAAQQFqIQAMAAsACyAAKAIkIgAgAkEBdGohAgNAIAAgAkECayICTw0EIAAvAQAhAyAAIAIvAQA7AQAgAiADOwEAIABBAmohAAwACwALIAAoAiQiACACQQJ0aiECA0AgACACQQRrIgJPDQMgACgCACEDIAAgAigCADYCACACIAM2AgAgAEEEaiEADAALAAsgACgCJCIAIAJBA3RqIQIDQCAAIAJBCGsiAk8NAiAAKQMAIQQgACACKQMANwMAIAIgBDcDACAAQQhqIQAMAAsACxAsAAsgAUKAgICA0H5aBEAgAaciACAAKAIAQQFqNgIACyABC4cCAgZ+An8jAEEgayILJABCgICAgDAhBgJAAkAgACABEJMBIgxBAEgNACAAIAMpAwAiCBBhDQBCgICAgDAhByACQQJOBEAgAykDCCEHCyAMrSEJA0AgBSAJUgRAIAAgASAFEE4iBkKAgICAcINCgICAgOAAUQ0CIAsgATcDECALIAU3AwggCyAGNwMAIAAgCCAHQQMgCxAhIgpCgICAgHCDQoCAgIDgAFENAiAAIAoQJgRAIARFBEAgBiEFDAULIAAgBhAPDAQFIAAgBhAPIAVCAXwhBQwCCwALC0L/////D0KAgICAMCAEGyEFDAELIAAgBhAPQoCAgIDgACEFCyALQSBqJAAgBQuhBQIEfwJ+IwBBIGsiBCQAQoCAgIDgACEIAkAgACABEJMBIgZBAEgNAAJAIAGnIgUvAQYiB0EVRgRAIAMpAwAiCUKAgICA0H5aBEAgCaciByAHKAIAQQFqNgIACyAAIARBCGogCRDDBQ0CIAQgBDQCCDcDEAwBCyAHQRtNBEAgACAEQQhqIAMpAwAQeA0CIAQgBDUCCDcDEAwBCyAHQR1NBEAgACAEQRBqIAMpAwAQ/wRFDQEMAgsgACAEQQhqIAMpAwAQQw0BIAQCfiAFLwEGQR5GBEAgBCsDCLa8rQwBCyAEKQMICzcDEAsgBEEANgIIAkAgAkEBTARAIAQgBjYCHAwBCyAAIARBCGogAykDCCAGIAYQWA0BIAQgBjYCHCACQQJGDQAgAykDECIJQoCAgIBwg0KAgICAMFENACAAIARBHGogCSAGIAYQWA0BCyAFKAIgKAIMKAIgLQAEBEAgABBsDAELAkACQAJAAkACQAJAIAUvAQZB5aYBai0AAA4EAAECAwQLIAQoAhwiAiAEKAIIIgBMDQQgBSgCJCAAaiAELQAQIAIgAGsQKxoMBAsgBCgCCCIAIAQoAhwiAiAAIAJKGyECIAQvARAhAwNAIAAgAkYNBCAFKAIkIABBAXRqIAM7AQAgAEEBaiEADAALAAsgBCgCCCIAIAQoAhwiAiAAIAJKGyECIAQoAhAhAwNAIAAgAkYNAyAFKAIkIABBAnRqIAM2AgAgAEEBaiEADAALAAsgBCgCCCIAIAQoAhwiAiAAIAJKGyECIAQpAxAhCANAIAAgAkYNAiAFKAIkIABBA3RqIAg3AwAgAEEBaiEADAALAAsQLAALIAFCgICAgNB+WgRAIAUgBSgCAEEBajYCAAsgASEICyAEQSBqJAAgCAvzBQIDfwl+IwBBQGoiBSQAQoCAgIAwIQsgBUKAgICAMDcDOCAFQoCAgIAwNwMwAkACQAJAIARBCHEiBwRAIAFCgICAgNB+WgRAIAGnIgYgBigCAEEBajYCAAsgBSAAIAEQkwEiBqw3AwggBkEATg0BDAILIAAgBUEIaiAAIAEQJCIBED0NAQsgACADKQMAIg8QYQ0AAkAgAkEBTARAIAUpAwgiDEIAIAxCAFUbIQogBEEBcSEEA0AgCCAKUQRAIABBsh5BABAVDAQLIAwgCEJ/hXwgCCAEGyEJIAhCAXwhCCAHBEAgBSAAIAEgCRB0Igk3AzAgCUKAgICAcINCgICAgOAAUQ0EDAMLIAAgASAJIAVBMGoQhgEiAkEASA0DIAJFDQALIAUpAzAhCQwBCyADKQMIIglCgICAgNB+WgRAIAmnIgIgAigCAEEBajYCAAsgBEEBcSEEIAUpAwghDAsgCCAMIAggDFUbIRADQCAIIBBRDQIgDCAIQn+FfCAIIAQbIQoCQAJAAkAgBwRAIAUgACABIAoQdCILNwM4IAtCgICAgHCDQoCAgIDgAFINAQwDCyAAIAEgCiAFQThqEIYBIgJBAEgEQCAFKQM4IQsMAwsgAkUNAQsgCkKAgICACHxC/////w9YBH4gCkL/////D4MFQoCAgIDAfiAKub0iC0KAgICAwIGA/P8AfSALQv///////////wCDQoCAgICAgID4/wBWGwshDSAFKQM4IQogDUKAgICAcINCgICAgOAAUQRAIAohCwwCCyAFIAE3AyggBSANNwMgIAUgCjcDGCAFIAk3AxBCgICAgDAhCyAAIA9CgICAgDBBBCAFQRBqECEhDiAAIA0QDyAAIAoQDyAFQoCAgIAwNwM4IA5CgICAgHCDQoCAgIDgAFENASAAIAkQDyAOIQkLIAhCAXwhCAwBCwsgBSAJNwMwCyAAIAUpAzAQDyAAIAsQD0KAgICA4AAhCQsgACABEA8gBUFAayQAIAkL1QgCA38KfiMAQTBrIgUkAEKAgICAMCEIIAVCgICAgDA3AygCQAJAAkACQCAEQQhxIgcEQCABQoCAgIDQfloEQCABpyIGIAYoAgBBAWo2AgALIAUgACABEJMBIgasNwMIIAZBAE4NAUKAgICA4AAhCQwDCyAAIAVBCGogACABECQiARA9DQELIAMpAwAhEEKAgICAMCEPIAJBAk4EQCADKQMIIQ8LQoCAgIDgACEJIAAgEBBhDQECQAJAAkACQAJAAkACQCAEDg0FAAYBAgYGBgUABgMEBgtCgICAgBAhCAwFCyAAIAECfiAFKQMIIghCgICAgAh8Qv////8PWARAIAhC/////w+DDAELQoCAgIDAfiAIub0iCEKAgICAwIGA/P8AfSAIQv///////////wCDQoCAgICAgID4/wBWGwsQrAIiCEKAgICAcINCgICAgOAAUg0EDAYLIAAgAUIAEKwCIghCgICAgHCDQoCAgIDgAFINAwwFCyAFIAE3AxAgBSAFNQIINwMYIABBAiAFQRBqEPQCIghCgICAgHCDQoCAgIDgAFINAgwECyAAED8iCEKAgICAcINCgICAgOAAUg0BQoCAgIDgACEIDAMLQoGAgIAQIQgLIAUpAwgiCUIAIAlCAFUbIREDQCAKIBFSBEACQAJAIAcEQCAFIAAgASAKEHQiCzcDKEKAgICA4AAhCSALQoCAgIBwg0KAgICA4ABSDQEMBgsgACABIAogBUEoahCGASICQQBIDQQgAkUNAQsgCiELIApCgICAgAhaBEBCgICAgMB+IAq6vSIJQoCAgIDAgYD8/wB9IAlCgICAgICAgPj/AFYbIQsLQoCAgIDgACEJIAtCgICAgHCDQoCAgIDgAFENBCAFIAE3AyAgBSALNwMYIAUgBSkDKCIONwMQIAAgECAPQQMgBUEQahAhIQwgACALEA8gDEKAgICAcINCgICAgOAAUQ0EAkACQAJAAkACQAJAAkAgBA4NAAEFAgQFBQUAAQUDBAULIAAgDBAmDQVCgICAgBAhCQwLCyAAIAwQJkUNBEKBgICAECEJDAoLIAAgCCAKIAwQa0EATg0DDAgLIAAgCCAKQv////8PgyAMQYCAARDYAUEATg0CDAcLIAAgDBAmRQ0BIA5CgICAgNB+WgRAIA6nIgIgAigCAEEBajYCAAsgACAIIA0gDhBrQQBIDQYgDUIBfCENDAELIAAgDBAPCyAAIA4QDyAFQoCAgIAwNwMoCyAKQgF8IQoMAQsLIARBDEcEQCAIIQkMAwsgBSABNwMQIAUgDUL/////D4M3AxhCgICAgOAAIQkgAEECIAVBEGoiAhD0AiIKQoCAgIBwg0KAgICA4ABRDQEgBSAINwMQQoCAgIDgACAKIAAgACAKQcIAQQEgAhCtAhD9ARshCQwBC0KAgICA4AAhCQsgACAIEA8LIAAgBSkDKBAPIAAgARAPIAVBMGokACAJCwYAQYjMBAunAgIEfwJ+IwBBEGsiBSQAQoCAgIDgACEIAkAgACABEJMBIgRBAEgNACAAIAVBDGogAykDACAEIAQQWA0AIAAgBUEIaiADKQMIIAQgBBBYDQAgBSAENgIEAn8gBCACQQNIDQAaIAQgAykDECIJQoCAgIBwg0KAgICAMFENABogACAFQQRqIAkgBCAEEFgNASAFKAIECyAFKAIIIgdrIgYgBCAFKAIMIgNrIgIgAiAGShsiAkEASgRAIAGnIgYoAiAoAgwoAiAtAAQEQCAAEGwMAgsgBigCJCIAIAMgBi8BBkHlpgFqLQAAIgN0aiAAIAcgA3RqIAIgA3QQtAELIAFCgICAgNB+WgRAIAGnIgAgACgCAEEBajYCAAsgASEICyAFQRBqJAAgCAtKAgF+AX9CgICAgDAhAgJAIAFCgICAgHBUDQAgAacvAQYiA0EVa0H//wNxQQpLDQAgACAAKAIQKAJEIANBGGxqKAIEEC4hAgsgAgssAQF+QoCAgIDgACEFIAAgARD1AgR+QoCAgIDgAAUgACABIAAgACAEENQFCwvCAwIEfgR/IwBBEGsiCCQAQoCAgIAwIQVCgICAgDAhBCACQQJOBEAgAykDCCEECyADKQMAIQZCgICAgOAAIQcCQCAAIAFBABCUASICRQ0AIAAgCCAEEOEDDQACQAJAAkACQAJAIAgpAwAiBEIAUwRADAELIAIoAiAoAgwoAiAtAAQNBCAAIAYQJCIFQoCAgIBwg0KAgICA4ABRDQMgBaciAy8BBiIJQRVrQf//A3FBCk0EQCADKAIgIgooAgwoAiAiCy0ABA0FIAQgAjUCKCADNQIoIgZ9VQ0BIAkgAi8BBiIDRw0CIAQgA0HlpgFqMQAAIgGGpyACKAIgIgIoAgwoAiAoAgggAigCEGpqIAsoAgggCigCEGogBiABhqcQtAEMAwsgACAIQQhqIAUQPQ0DIAQgAjUCKCAIKQMIIgZ9Vw0BCyAAQejYAEEAEFEMBAsgBKchAkEAIQMDQCAGIAOtVw0BIAAgBSADELABIgRCgICAgHCDQoCAgIDgAFENBCACIANqIQkgA0EBaiEDIAAgASAJIAQQpQFBAE4NAAsMAwtCgICAgDAhBwwCCwwBCyAAEGwLIAAgBRAPIAhBEGokACAHCx4AIAAgAUEAEJQBIgBFBEBCgICAgOAADwsgADUCKAuoAQIDfwF+IwBBEGsiBSQAIAUgAq03AwgCQCAAIAFBASAFQQhqENkDIgFCgICAgHCDQoCAgIDgAFENACACQQAgAkEAShshAgNAIAIgBEYNASADIARBA3RqKQMAIgdCgICAgNB+WgRAIAenIgYgBigCAEEBajYCAAsgACABIAQgBxClASAEQQFqIQRBAE4NAAsgACABEA9CgICAgOAAIQELIAVBEGokACABCwYAQYDMBAv3BgIJfgJ/IwBBMGsiDSQAIAMpAwAhBCANQoCAgIAwNwMYQQEhDgJAAkACfiACQQJIBEBCgICAgDAhCkKAgICAMAwBC0KAgICAMCADKQMIIgpCgICAgHCDQoCAgIAwUQ0AGkKAgICAMCEJQoCAgIAwIQZCgICAgDAhB0KAgICAMCEFIAAgChBhDQFBACEOQoCAgIAwIAJBAkYNABogAykDEAshCwJAAkAgACAEQdEBIARBABAUIgZCgICAgHCDIgVCgICAgDBSBEAgBUKAgICA4ABRBEBCgICAgDAhCUKAgICAMCEGQoCAgIAwIQcMAwsgACAGEA8gABA/IgdCgICAgHCDQoCAgIDgAFEEQEKAgICAMCEJQoCAgIAwIQZCgICAgOAAIQcMAwsgBEKAgICA0H5aBEAgBKciAiACKAIAQQFqNgIACyANIAQ3AxAgACANQRBqQQhyQQAQlwMgDSkDGCEJIA0pAxAhBg0CQgAhBQNAIAAgBiAJIA1BBGoQrgEiBEKAgICAcINCgICAgOAAUgRAIA0oAgQNAyAAIAcgBSAEEGsgBUIBfCEFQQBODQELC0KAgICAMCEFIAZCgICAgHCDQoCAgIAwUQ0DIAAgBkEBEK0BGgwDC0KAgICAMCEJQoCAgIAwIQZCgICAgDAhBSAAIAQQJCIHQoCAgIBwg0KAgICA4ABRDQILIAAgDUEIaiAHED1BAEgNACANAn4gDSkDCCIEQoCAgIAIfEL/////D1gEQCAEQv////8PgwwBC0KAgICAwH4gBLm9IgVCgICAgMCBgPz/AH0gBUL///////////8Ag0KAgICAgICA+P8AVhsLIgg3AyAgACABQQEgDUEgahDZAyEFIAAgCBAPAkAgBUKAgICAcINCgICAgOAAUQ0AQgAhCCAEQgAgBEIAVRshDANAIAggDFENBCAAIAcgCBB0IgRCgICAgHCDQoCAgIDgAFENAQJAIA4EQCAEIQEMAQsgDSAENwMgIA0gCEL/////D4M3AyggACAKIAtBAiANQSBqECEhASAAIAQQDyABQoCAgIBwg0KAgICA4ABRDQILIAAgBSAIIAEQhwEgCEIBfCEIQQBODQALCwwBC0KAgICAMCEFCyAAIAUQD0KAgICA4AAhBQsgACAHEA8gACAGEA8gACAJEA8gDUEwaiQAIAULEQAgAEEQaiACIAAoAgQRAAALrwQCBH8BfiMAQSBrIgUkAEKAgICA4AAhCQJAIAAgAUEgEE0iB0UNACAEQeWmAWotAAAhCCAAIAVBCGogAykDABCmAQ0AIAMpAwghASAFQgA3AxggBUEANgIUAkAgBEEbTARAIAAgBUEUaiABEHhFDQEMAgsgBEEdTQRAIAAgBUEYaiABEP8ERQ0BDAILIAAgBSABEEMNASAEQR5GBEAgBSAFKwMAtjgCFAwBCyAFIAUpAwA3AxgLIAJBA04EQCAAIAMpAxAQ/gFBAUYhBgsgBygCDCgCICICLQAEBEAgABBsDAELIAc1AhQgBSkDCCIBQQEgCHSsfFQEQCAAQebyAEEAEFEMAQsgAacgAigCCCAHKAIQamohAAJAAkACQAJAAkAgBEEWaw4KAAABAQICAwMCAwQLIAAgBSgCFDoAAEKAgICAMCEJDAQLIAUoAhQhBCAAIAQgBEEIdCAEQYD+A3FBCHZyQf//A3EgBhs7AABCgICAgDAhCQwDCyAAIAUoAhQiACAAQRh0IABBgP4DcUEIdHIgAEEIdkGA/gNxIABBGHZyciAGGzYAAEKAgICAMCEJDAILIAAgBSkDGCIBIAFCOIYgAUKA/gODQiiGhCABQoCA/AeDQhiGIAFCgICA+A+DQgiGhIQgAUIIiEKAgID4D4MgAUIYiEKAgPwHg4QgAUIoiEKA/gODIAFCOIiEhIQgBhs3AABCgICAgDAhCQwBCxAsAAsgBUEgaiQAIAkLkgcCAX4EfyMAQRBrIgckAEKAgICA4AAhBQJAIAAgAUEgEE0iCEUNACAEQeWmAWotAAAhCSAAIAdBCGogAykDABCmAQ0AIAJBAk4EQCAAIAMpAwgQ/gFBAUYhBgsgCCgCDCgCICICLQAEBEAgABBsDAELIAg1AhQgBykDCCIBQQEgCXSsfFQEQCAAQebyAEEAEFEMAQsgAacgAigCCCAIKAIQamohAgJAAkACQAJAAkACQAJAAkACQAJAAkAgBEEWaw4KCgABAgMEBQYHCAkLIAIxAAAhBQwKCyACLwAAIgAgAEEIdCAAQQh2ciAGG63DQv////8PgyEFDAkLIAIvAAAiACAAQQh0IABBCHZyIAYbrUL//wODIQUMCAsgAigAACIAIABBGHQgAEGA/gNxQQh0ciAAQQh2QYD+A3EgAEEYdnJyIAYbrSEFDAcLIAIoAAAiACAAQRh0IABBgP4DcUEIdHIgAEEIdkGA/gNxIABBGHZyciAGGyIAQQBOBEAgAK0hBQwHC0KAgICAwH4gALi9IgFCgICAgMCBgPz/AH0gAUKAgICAgICA+P8AVhshBQwGCyAAIAIpAAAiASABQjiGIAFCgP4Dg0IohoQgAUKAgPwHg0IYhiABQoCAgPgPg0IIhoSEIAFCCIhCgICA+A+DIAFCGIhCgID8B4OEIAFCKIhCgP4DgyABQjiIhISEIAYbEIgCIQUMBQsgACACKQAAIgEgAUI4hiABQoD+A4NCKIaEIAFCgID8B4NCGIYgAUKAgID4D4NCCIaEhCABQgiIQoCAgPgPgyABQhiIQoCA/AeDhCABQiiIQoD+A4MgAUI4iISEhCAGGxD5AyEFDAQLQoCAgIDAfiACKAAAIgAgAEEYdCAAQYD+A3FBCHRyIABBCHZBgP4DcSAAQRh2cnIgBhu+u70iAUKAgICAwIGA/P8AfSABQv///////////wCDQoCAgICAgID4/wBWGyEFDAMLQoCAgIDAfiACKQAAIgEgAUI4hiABQoD+A4NCKIaEIAFCgID8B4NCGIYgAUKAgID4D4NCCIaEhCABQgiIQoCAgPgPgyABQhiIQoCA/AeDhCABQiiIQoD+A4MgAUI4iISEhCAGGyIBQoCAgIDAgYD8/wB9IAFC////////////AINCgICAgICAgPj/AFYbIQUMAgsQLAALIAIwAABC/////w+DIQULIAdBEGokACAFCwYAQfjLBAtSAgF/AX5CgICAgOAAIQQgACABIAIQlAEiAwR+IAMoAiAiAygCDCgCIC0ABARAIAJFBEBCAA8LIAAQbEKAgICA4AAPCyADNQIUBUKAgICA4AALC9cBAQN/AkAgAUKAgICAcFQNACABpyIDLwEGQTlHDQAgAygCICIERQ0AIARBzABqIQMgBEHIAGohBQNAIAUgAygCACIDRwRAIAMpAxAiAUKAgICAYFoEQCAAIAGnIAIRAAALIAMpAxgiAUKAgICAYFoEQCAAIAGnIAIRAAALIAMpAyAiAUKAgICAYFoEQCAAIAGnIAIRAAALIAMpAygiAUKAgICAYFoEQCAAIAGnIAIRAAALIANBBGohAwwBCwsgBCgCBEF+cUEERg0AIAAgBEEIaiACEO4DCwswAQF/AkAgAUKAgICAcFQNACABpyICLwEGQTlHDQAgAigCICICRQ0AIAAgAhCHBQsLHgAgACABNgJwIAAgAQR/IAAoAnQgAWsFQQALNgJ4Cw0AIAAgASACQTcQ/AULCwAgACABQTcQ/QULFgEBfyABpygCICICBEAgACACEIgFCwsxAQF/IAGnKAIgIgIEQCAAIAIoAggQowUgACACKQMAECMgAEEQaiACIAAoAgQRAAALC80BAQV/AkAgAUKAgICAcFQNACABpyIDLwEGQTFHDQAgAygCICIFRQ0AIAVBBGohBgNAIARBAkZFBEAgBiAEQQN0aiIHIQMDQCAHIAMoAgQiA0cEQCADKQMIIgFCgICAgGBaBEAgACABpyACEQAACyADKQMQIgFCgICAgGBaBEAgACABpyACEQAACyADKQMYIgFCgICAgGBUDQEgACABpyACEQAADAELCyAEQQFqIQQMAQsLIAUpAxgiAUKAgICAYFQNACAAIAGnIAIRAAALC4gBAQZ/AkAgAUKAgICAcFQNACABpyICLwEGQTFHDQAgAigCICIERQ0AIARBBGohBQNAIANBAkZFBEAgBSADQQN0aiIGKAIEIQIDQCACIAZGRQRAIAIoAgQgACACEK8CIQIMAQsLIANBAWohAwwBCwsgACAEKQMYECMgAEEQaiAEIAAoAgQRAAALCyYAIAUpAwAiAUKAgICA0H5aBEAgAaciACAAKAIAQQFqNgIACyABCzIAIAUpAwAiAUKAgICA0H5aBEAgAaciAiACKAIAQQFqNgIACyAAIAEQiwFCgICAgOAAC9gBAQJ+IwBBEGsiAiQAIAUpAwAhBiACIAAgBSkDCEKAgICAMEEAQQAQISIBNwMIAkAgAUKAgICAcINCgICAgOAAUQ0AIAAgBiACIAJBCGpBABD/ASEGIAAgAikDCBAPIAZCgICAgHCDQoCAgIDgAFEEQCAGIQEMAQsgAiAAQdAAQdEAIAQbQQBBAEEBIAMQ0QEiBzcDAEKAgICA4AAhASAAIAdCgICAgHCDQoCAgIDgAFIEfiAAIAZB/wBBASACEK4CIQEgAikDAAUgBgsQDwsgAkEQaiQAIAELowIBAn4jAEEgayICJAAgAykDACEEAkAgACABQoCAgIAwEOQBIgVCgICAgHCDQoCAgIDgAFENAAJAIAAgBBA5RQRAIARCgICAgNB+WgRAIASnIgMgAygCAEECajYCAAsgAiAENwMYIAIgBDcDEAwBCyACIAQ3AwggAiAFNwMAQQAhAwNAIANBAkYNASACQRBqIANBA3RqIABBzwBBASADQQIgAhDRASIENwMAIARCgICAgHCDQoCAgIDgAFEEQCADQQFGBEAgACACKQMQEA8LIAAgBRAPQoCAgIDgACEFDAMFIANBAWohAwwBCwALAAsgACAFEA8gACABQf8AQQIgAkEQahCtAiEFIAAgAikDEBAPIAAgAikDGBAPCyACQSBqJAAgBQs1ACMAQRBrIgIkACACQoCAgIAwNwMAIAIgAykDADcDCCAAIAFB/wBBAiACEK0CIAJBEGokAAu0AQICfgJ/IwBBEGsiBiQAAkACQCAAIAFBMRBNBEAgACABQoCAgIAwEOQBIgRCgICAgHCDQoCAgIDgAFENAiAAIAYgBBDAAiEFIAAgBBAPIAVCgICAgHCDQoCAgIDgAFENASAAIAEgAyAGELACA0AgB0ECRkUEQCAAIAYgB0EDdGopAwAQDyAHQQFqIQcMAQsLRQ0BIAAgBRAPC0KAgICA4AAhBAwBCyAFIQQLIAZBEGokACAECyEAIAFCgICAgNB+WgRAIAGnIgAgACgCAEEBajYCAAsgAQvlAwEFfiMAQTBrIgIkAAJAIAFC/////29YBEAgABAlQoCAgIDgACEFDAELIAAgAkEgaiABEMACIgVCgICAgHCDQoCAgIDgAFENAEKAgICAMCEGQoCAgIAwIQQCQAJAIAAgAUGAASABQQAQFCIIQoCAgIBwg0KAgICA4ABRDQAgACAIEGENACAAIAMpAwBBABDoASIEQoCAgIBwg0KAgICA4ABRBEAMAQsgACAEQeoAIARBABAUIgZCgICAgHCDQoCAgIDgAFENAANAIAIgACAEIAYgAkEUahCuASIHNwMYIAdCgICAgHCDQoCAgIDgAFENASACKAIUDQIgACAIIAFBASACQRhqECEhByAAIAIpAxgQDyAHQoCAgIBwg0KAgICA4ABSBEAgACAAIAdB/wBBAiACQSBqEK4CEP0BRQ0BCwsgACAEQQEQrQEaCyAAKAIQIgMpA4ABIQEgA0KAgICAIDcDgAEgAiABNwMIIAAgAikDKEKAgICAMEEBIAJBCGoQISEBIAAgAikDCBAPIAAgBSABIAFCgICAgHCDQoCAgIDgAFEiAxsQD0KAgICA4AAgBSADGyEFCyAAIAgQDyAAIAYQDyAAIAQQDyAAIAIpAyAQDyAAIAIpAygQDwsgAkEwaiQAIAUL9QMCBX4BfyMAQSBrIgIkACAAIAUpAwAQ/gEhCyACIAUpAxAiCDcDGCAFKQMgIQogBSkDGCEJAkACQCAAIAJBFGogBSkDCBB4DQACQCALDQAgBUKBgICAEDcDAAJAIARBA3EiBUEBRgRAQoCAgIDgACEBIAAQNSIGQoCAgIBwg0KAgICA4ABRDQQCQCAAQfX3AEHF+gAgBEEEcSIEGxBjIgdCgICAgHCDQoCAgIDgAFENACAAIAZBiAEgB0EHEBlBAEgNACADKQMAIgdCgICAgNB+WgRAIAenIgMgAygCAEEBajYCAAsgACAGQYkBQcAAIAQbIAdBBxAZQQBODQILIAAgBhAPDAQLIAMpAwAiBkKAgICA0H5UDQAgBqciAyADKAIAQQFqNgIACyAAIAggAigCFCAGQQcQrwFBAEgNAUKAgICA4AAhASAAIApBfxDdAyIDQQBIDQIgA0UNAAJAIAVBAkYEQCACIAAgCBCCBSIGNwMIIAZCgICAgHCDQoCAgIDgAFENBCAAIAlCgICAgDBBASACQQhqECEhASAAIAIpAwgQDwwBCyAAIAlCgICAgDBBASACQRhqECEhAQsgAUKAgICAcINCgICAgOAAUQ0CIAAgARAPC0KAgICAMCEBDAELQoCAgIDgACEBCyACQSBqJAAgAQumCAIBfw1+IwBB8ABrIgUkACAFQoCAgIAwNwNQAkAgAUL/////b1gEQCAAECVCgICAgOAAIQoMAQsgACAFQeAAaiABEMACIgpCgICAgHCDQoCAgIDgAFENAEKAgICAMCELQoCAgIAwIQdCgICAgDAhCQJAAkAgACABQYABIAFBABAUIhBCgICAgHCDQoCAgIDgAFENACAAIBAQYQ0AAkAgACADKQMAQQAQ6AEiCUKAgICAcINCgICAgOAAUQRADAELIAAgCUHqACAJQQAQFCILQoCAgIBwg0KAgICA4ABRDQAgBSAAED8iDDcDUCAMQoCAgIBwg0KAgICA4ABRDQAgABA/IgdCgICAgHCDQoCAgIDgAFEEQEKAgICA4AAhBwwCCyAAIAdCAEIBQQcQvQFBAEgNASAFQeAAaiAEQQJGQQN0ciEDIAUpA2AhESAFKQNoIRICQAJAAkADQCAFIAAgCSALIAVBDGoQrgEiBjcDWCAGQoCAgIBwg0KAgICA4ABRDQUgBSgCDEUEQCAAIBAgAUEBIAVB2ABqECEhDyAAIAUpA1gQDyAPQoCAgIBwg0KAgICA4ABRDQQgBSAMNwMgIAUgDjcDGCAFQoCAgIAQNwMQIAMpAwAhBiAFIAc3AzAgBSAGNwMoIABBzgBBASAEQQUgBUEQaiICENEBIghCgICAgHCDQoCAgIDgAFENAgJAIARBAUYEQCAIIQ0gAEHOAEEBQQVBBSACENEBIghCgICAgHCDQoCAgIDgAFENBAwBCwJAIARBAkYEQCAAIAwgDqdCgICAgDBBBxCvAUEASA0HIBEiBiENIAZC/////89+Vg0BDAILIAghDSASIgYhCCAGQoCAgIDQflQNAQsgBqciAiACKAIAQQFqNgIACyAAIAdBARDdA0EASARAIAAgDxAPIAAgDRAPDAQLIAUgCDcDSCAFIA03A0AgACAPQf8AQQIgBUFAaxCuAiEGIAAgDRAPIAAgCBAPIA5CAXwhDiAAIAYQ/QFFDQEMBAsLIAAgB0F/EN0DIgJBAEgNBCACRQ0FIARBAkYEQCAAIAwQggUiAUKAgICAcINCgICAgOAAUQ0FIAAgDBAPIAUgATcDUAsgACAAIAMpAwBCgICAgDBBASAFQdAAahAhEP0BDQQMBQsgDyEICyAAIAgQDwsgACAJQQEQrQEaDAELCyAAKAIQIgIpA4ABIQEgAkKAgICAIDcDgAEgBSABNwMAIAAgBSkDaCISQoCAgIAwQQEgBRAhIQEgACAFKQMAEA8gACAKIAEgAUKAgICAcINCgICAgOAAUSICGxAPQoCAgIDgACAKIAIbIQogBSkDYCERCyAAIBAQDyAAIAcQDyAAIAUpA1AQDyAAIAsQDyAAIAkQDyAAIBEQDyAAIBIQDwsgBUHwAGokACAKCyEAIAFCgICAgNB+WgRAIAGnIgAgACgCAEEBajYCAAsgAQs1ACADKQMAIgFCgICAgNB+WgRAIAGnIgIgAigCAEEBajYCAAsgACABIAAgBSkDABD+ARD9AguOBgIDfwJ+IwBBQGoiBSQAAn5CgICAgOAAIAAgBUEgaiIGEM4CIglCgICAgHCDQoCAgIDgAFENABogBkEIciEHAkACQAJAAkACQCABQoCAgIBwVA0AIAGnIgYvAQZBN0cNACAGKAIgIgYNAQsgAEH0PkEAEBUMAQsCQCAERQRAIAYpAwgiCEKAgICA0H5UDQEgCKciBCAEKAIAQQFqNgIADAELIAAgBikDACIBQQZBFyAEQQFGGyABQQAQFCIIQoCAgIBwgyIBQoCAgIAgUgRAIAFCgICAgOAAUQ0CIAFCgICAgDBSDQELIAMpAwAhASAEQQFGBEAgAUKAgICA0H5aBEAgAaciAiACKAIAQQFqNgIACyAFIAAgAUEBEP0CNwMAIAVBIGohBwwDCyABQoCAgIDQfloEQCABpyICIAIoAgBBAWo2AgALIAUgATcDAAwCCyAFIAAgBikDACAIIAJBAEogAyAFQRRqIgIQxgUiATcDGCAAIAgQDyABQoCAgIBwg0KAgICA4ABRDQAgBSgCFEECRgRAIAUgACABIAIQ2gUiCDcDGCAAIAEQDyAIQoCAgIBwg0KAgICA4ABRDQELIAAgACkDUCAFIAVBGGpBABD/ASIBQoCAgIBwg0KAgICA4ABRBEAgACAFKQMYEA8MAQsgBSAFKAIUQQBHrUKAgICAEIQ3AzggBSAAQc0AQQFBAEEBIAVBOGoQ0QEiCDcDAAJAIAhCgICAgHCDQoCAgIDgAFIEQCAAIAUpAxgQDyAFQoCAgIAwNwMIIAAgASAFIAVBIGoQsAIgACAIEA8gACABEA8gACAFKQMgEA8gACAFKQMoEA8NAQwECyAAIAEQDyAAIAUpAxgQDyAAIAUpAyAQDyAAIAUpAygQDwsgACAJEA9CgICAgOAADAMLIAAoAhAiAikDgAEhASACQoCAgIAgNwOAASAFIAE3AwALIAAgBykDAEKAgICAMEEBIAUQISEBIAAgBSkDABAPIAAgARAPIAAgBSkDIBAPIAAgBSkDKBAPCyAJCyAFQUBrJAAL0gICA34BfyMAQRBrIgYkACABQQVGBEAgAikDECEEIAAgAikDGBD+ASEBIAYgAikDICIDNwMIAn8CQAJAIARCgICAgHCDQoCAgIAwUQRAIAEEQCADQoCAgIDQfloEQCADpyIBIAEoAgBBAWo2AgALIAAgAxCLAQwDCyADQoCAgIDQflQNASADpyIBIAEoAgBBAWo2AgAMAQsgACAEQoCAgIAwQQEgBkEIahAhIQMLIAYgAzcDAEEAIANCgICAgHCDQoCAgIDgAFINARoLIAAoAhAiASkDgAEhAyABQoCAgIAgNwOAASAGIAM3AwBBAQshAUKAgICAMCEEIAAgAiABQQN0aikDACIFQoCAgIBwg0KAgICAMFIEfiAAIAVCgICAgDBBASAGECEhBCAGKQMABSADCxAPIAZBEGokACAEDwtBpYoBQbX8AEHw6QJBhP0AEAAAC6ACAQF/QQAhAgJAIAUpAwAiAUKAgICAcFQNACABpyIFLwEGQTlHDQAgBSgCICECCyAEQQFxIQUgAigCBCEGIAMpAwAhAQJAAkACQCAEQQJOBEAgBkF+cUEERw0CIAJBBTYCBCAFBEAgACACKAJMIAEQ3gMMAgsgACACIAFBARD4AgwBCyAGQQNHDQIgAiAFNgIUAkAgBQRAIAFCgICAgNB+WgRAIAGnIgMgAygCAEEBajYCAAsgACABEIsBDAELIAFCgICAgNB+WgRAIAGnIgMgAygCAEEBajYCAAsgAigCREEIayABNwMACyAAIAIQhgULQoCAgIAwDwtB7ocBQbX8AEHTmQFB4MsAEAAAC0HIhQFBtfwAQdyZAUHgywAQAAALkAMCAn8CfiMAQSBrIgIkAAJAIAFCgICAgHBUDQAgAaciBS8BBkE5Rw0AIAUoAiAhBgsCQCAAIAJBEGoQzgIiAUKAgICAcINCgICAgOAAUgRAIAZFBEAgAEH4L0EAEBUgACgCECIDKQOAASEHIANCgICAgCA3A4ABIAIgBzcDCCAAIAIpAxgiB0KAgICAMEEBIAJBCGoQISEIIAAgAikDCBAPIAAgCBAPIAAgAikDEBAPIAAgBxAPDAILIABBMBBgIgUEQCAFIAQ2AgggAykDACIHQoCAgIDQfloEQCAHpyIDIAMoAgBBAWo2AgALIAUgBzcDECABQoCAgIDQfloEQCABpyIDIAMoAgBBAWo2AgALIAUgATcDGCAFIAIpAxA3AyAgBSACKQMYNwMoIAYoAkgiAyAFNgIEIAUgBkHIAGo2AgQgBSADNgIAIAYgBTYCSCAGKAIEQQNGDQIgACAGEIYFDAILIAAgAikDEBAPIAAgAikDGBAPIAAgARAPC0KAgICA4AAhAQsgAkEgaiQAIAELzBACCn8CfiMAQaAIayIBJAACf0GACBCxASIIIQRBxiJBKxCjAyEFAkACQEHb/QBB9wAQowNFBEBB0NUEQRw2AgAMAQtBsAlBsBEgBBsQsQEiAg0BC0EADAELIAJBAEGkARArGiACQX82AlAgAkF/NgI8IAIgAkGQAWo2AlQgAkGACDYCMCACIAJBrAFqNgIsIARFBEAgAkGsCWoiBEEAQYAIECsaCyACQfcANgKgASACQYAINgKYASACIAQ2ApwBAkAgBUUEQCACQQQ2AgAMAQsgBEEAOgAACyACQQE2AiggAkECNgIkIAJBAzYCICACQQQ2AgxBndsELQAARQRAIAJBfzYCTAsgAkGU2gQoAgAiBDYCOCAEBEAgBCACNgI0C0GU2gQgAjYCACACCyECIAAgAUGgBGoQkwUgAUEgNgKQBCABIAE0AqgENwOYBCACQYSeASABQZAEahCVASAABEAgAEEQaiEFA0AgA0EFRwRAIAUgA0EDdCIJQbSkAWooAgAiBCAAKAIAEQMAIgYEQCAEIAYgACgCDBEEACIKTQRAIAEgCUGwpAFqKAIANgKIBCABIAQ2AoAEIAEgCiAEazYChAQgAkHGmgEgAUGABGoQlQFBASEHCyAFIAYgACgCBBEAAAsgA0EBaiEDDAELCyAHRQRAQdiaAUEhIAIQogYLIAFBsAZqQQBB7AEQKxogAEHUAGohAyAAQdAAaiEEA0AgBCADKAIAIgNHBEAgA0EEay0AAEEPcUUEQCABQbAGakE6IANBAmsvAQAiBSAFQTpPG0ECdGoiBSAFKAIAQQFqNgIACyADQQRqIQMMAQsLQZOaAUESIAIQogYgASgCsAYiAwRAIAFB6+QANgL4AyABQQA2AvQDIAEgAzYC8AMgAkG1mgEgAUHwA2oQlQELQQEhAwNAIANBOkcEQCABQbAGaiADQQJ0aigCACIEBEAgASAAIAFB8AVqIANBDGxBhJ8BaigCABCDBTYC6AMgASADNgLkAyABIAQ2AuADIAJBtZoBIAFB4ANqEJUBCyADQQFqIQMMAQsLIAEoApgIIgAEQCABQcrFADYC2AMgAUEANgLUAyABIAA2AtADIAJBtZoBIAFB0ANqEJUBCwJAAkAgAigCTCIAQQBOBEAgAEUNAUGw2gQoAgAgAEH/////A3FHDQELAkAgAigCUEEKRg0AIAIoAhQiACACKAIQRg0AIAIgAEEBajYCFCAAQQo6AAAMAgsgAhDUBAwBCyACIAIoAkwiAEH/////AyAAGzYCTAJAAkAgAigCUEEKRg0AIAIoAhQiACACKAIQRg0AIAIgAEEBajYCFCAAQQo6AAAMAQsgAhDUBAsgAigCTBogAkEANgJMCwsgAUGdhgE2AsgDIAFBxoEBNgLEAyABQbaGATYCwAMgAkGmmgEgAUHAA2oQlQEgASkDuAQiC1BFBEAgASABKQOgBCIMNwOwAyABIAs3A6gDIAEgDLkgC7mjOQO4AyABQf73ADYCoAMgAkHanAEgAUGgA2oQpAEgAUEINgKIAyABIAEpA7AEIgs3A4ADIAEgASkDoAQgC325IAEpA8AEIgu5ozkDkAMgAUGP+AA2AvACIAEgCzcD+AIgAkGAnQEgAUHwAmoQpAELIAEpA8gEIgtQRQRAIAEgASkD0AQiDDcD4AIgASALNwPYAiABIAy5IAu5ozkD6AIgAUHLNzYC0AIgAkG1nAEgAUHQAmoQpAELIAEpA9gEIgtQRQRAIAEgASkD4AQiDDcDwAIgASALNwO4AiABIAy5IAu5ozkDyAIgAUGvODYCsAIgAkG3nQEgAUGwAmoQpAELIAEpA+gEIgtQRQRAIAEgASkD8AQiDDcDoAIgASALNwOYAiABIAy5IAu5ozkDqAIgAUGqNDYCkAIgAkHlmwEgAUGQAmoQpAEgASABKQOABTcDgAIgASABKQP4BCILuSABKQPoBLmjOQOIAiABQdQ6NgLwASABIAs3A/gBIAJB5ZsBIAFB8AFqEKQBIAEgASkDkAUiCzcD4AEgASALuSABKQOIBSILuaM5A+gBIAFBvDk2AtABIAEgCzcD2AEgAkHenQEgAUHQAWoQpAELAkAgASkDmAUiC1ANACABIAEpA6AFNwPAASABQfQ2NgKwASABIAs3A7gBIAJBh5sBIAFBsAFqEJUBIAEgASkDqAUiCzcDoAEgASALuSABKQOYBSILuaM5A6gBIAFBt+0ANgKQASABIAs3A5gBIAJBjJwBIAFBkAFqEKQBIAEpA7AFIgtQDQAgASABKQO4BSIMNwOAASABIAs3A3ggASAMuSALuaM5A4gBIAFBnOUANgJwIAJBjJwBIAFB8ABqEKQBCyABKQPABSILUEUEQCABIAs3A2ggAUGHNzYCYCACQfqaASABQeAAahCVAQsCQCABKQPIBSILUA0AIAEgCzcDWCABQekyNgJQIAJB+poBIAFB0ABqEJUBIAEpA9AFIgtQDQAgASALNwNIIAFB4jI2AkAgAkH6mgEgAUFAaxCVASABIAEpA9gFIgtCA4Y3AzAgASALuSABKQPQBbmjOQM4IAFB/zM2AiAgASALNwMoIAJBupsBIAFBIGoQpAELIAEpA+AFIgtQRQRAIAEgASkD6AU3AxAgAUGjNDYCACABIAs3AwggAkGHmwEgARCVAQsgAigCTBogAhCkAxogAiACKAIMEQQAGiACLQAAQQFxRQRAIAIoAjghACACKAI0IgMEQCADIAA2AjgLIAAEQCAAIAM2AjQLIAJBlNoEKAIARgRAQZTaBCAANgIACyACKAJgEJwBIAIQnAELIAFBoAhqJAAgCAvbAQIBfwJ+IwBBIGsiAyQAIAFBA0YEQCACKQMQIQQgAikDCCEFAkAgACADQRBqIAIpAwAQpAVBAEgEQEKAgICA4AAhBAwBCyAAIAQgBUECIANBEGoQISIEQoCAgIBwg0KAgICA4ABRBEAgACgCECIBKQOAASEEIAFCgICAgCA3A4ABIAMgBDcDCCAAIAMpAxhCgICAgDBBASADQQhqECEhBCAAIAMpAwgQDwsgACADKQMQEA8gACADKQMYEA8LIANBIGokACAEDwtB94oBQbX8AEHU6gJBmf0AEAAACxMAIAAoAgAgASACIAAoAgQRAQALCQAgACABEI8FC3ACAX4BfyAAIAEQjwUiAUKAgICAcINCgICAgOAAUQRAIAEPC0EKIQUCfgJAIAJFDQAgAykDACIEQoCAgIBwg0KAgICAMFENACAAIAQQjgUiBUEATg0AQoCAgIDgAAwBCyAAIAEgBRCaBQsgACABEA8LlAEBAX8jAEEgayIFJAACQCAAIAVBDGogAykDABC7ASICBH4CQAJAAkAgBA4CAAEEC0J/IQEgAigCBA0BIAIoAggiA0EATA0BIANBAWutIQEMAQtCfyEBIAIoAghBgICAgHhGDQAgAhCyAqwhAQsgACACIAVBDGoQXyAAIAEQiAIFQoCAgIDgAAsgBUEgaiQADwsQLAAL+QECA34CfyMAQSBrIgIkAEKAgICA4AAhAQJAIAAQmAEiBUKAgICAcINCgICAgOAAUQ0AIAAQmAEiBkKAgICAcINCgICAgOAAUQ0AAkAgACACQQxqIgkgAykDABC7ASIDRQ0AIAWnQQRqIAanQQRqIAMQkQUhCCAAIAMgCRBfIAhBL3EEQCAAIAgQhgIMAQsgACAFEM4BIQUgBARAIAAQPyIHQoCAgIBwg0KAgICA4ABRDQEgACAHQQAgBRClARogACAHQQEgACAGEM4BEKUBGiAHIQEMAgsgACAGEA8gBSEBDAELIAAgBRAPIAAgBhAPCyACQSBqJAAgAQutAgIDfgJ/IwBBMGsiAiQAQoCAgIDgACEBAkAgABCYASIFQoCAgIBwg0KAgICA4ABRDQACQCAAEJgBIgZCgICAgHCDQoCAgIDgAFENACAAIAJBHGoiCCADKQMAELsBIglFDQAgACACQQhqIAMpAwgQuwEiA0UEQCAAIAkgCBBfDAELIAWnQQRqIAanQQRqIAkgAyAEQQ9xEOMDIQggACAJIAJBHGoQXyAAIAMgAkEIahBfIAgEQCAAIAgQhgIMAQsgACAFEM4BIQUgBEEQcQRAIAAQPyIHQoCAgIBwg0KAgICA4ABRDQEgACAHQQAgBRClARogACAHQQEgACAGEM4BEKUBGiAHIQEMAgsgACAGEA8gBSEBDAELIAAgBRAPIAAgBhAPCyACQTBqJAAgAQvDAgIBfgJ/IwBBMGsiAiQAQoCAgIDgACEBAkAgACACQShqIAMpAwAQpgENACAAEJgBIgVCgICAgHCDQoCAgIDgAFENACAAIAJBFGogAykDCBC7ASIGRQRAIAAgBRAPDAELIAAoAtgBIQMgAkIANwIMIAJCgICAgICAgICAfzcCBCACIAM2AgAgAkIBEDIaIAIgAikDKCIBpyIHQf////8DQQEQzQEaIAIgAkJ/Qf////8DQQEQdhogBadBBGoiAyAGIAIQlAUaAkAgBEUgAVByDQAgAkIBEDIaIAIgB0EBa0H/////A0EBEM0BGiADIAIQ1AFBAEgNACACQgEQMhogAiAHQf////8DQQEQzQEaIAMgAyACQf////8DQQEQ5QEaCyACEBsgACAGIAJBFGoQXyAAIAUQzgEhAQsgAkEwaiQAIAEL5hMCAn4BfyMAQdABayIEJAAgACAEEJMFIAEgARA1IgNBqi0CfiAEKQMIIgJCgICAgAh8Qv////8PWARAIAJC/////w+DDAELQoCAgIDAfiACub0iAkKAgICAwIGA/P8AfSACQv///////////wCDQoCAgICAgID4/wBWGwsQQSABIANB5uAAAn4gBCkDECICQoCAgIAIfEL/////D1gEQCACQv////8PgwwBC0KAgICAwH4gArm9IgJCgICAgMCBgPz/AH0gAkL///////////8Ag0KAgICAgICA+P8AVhsLEEEgASADQboqAn4gBCkDGCICQoCAgIAIfEL/////D1gEQCACQv////8PgwwBC0KAgICAwH4gArm9IgJCgICAgMCBgPz/AH0gAkL///////////8Ag0KAgICAgICA+P8AVhsLEEEgASADQagqAn4gBCkDICICQoCAgIAIfEL/////D1gEQCACQv////8PgwwBC0KAgICAwH4gArm9IgJCgICAgMCBgPz/AH0gAkL///////////8Ag0KAgICAgICA+P8AVhsLEEEgASADQfooAn4gBCkDKCICQoCAgIAIfEL/////D1gEQCACQv////8PgwwBC0KAgICAwH4gArm9IgJCgICAgMCBgPz/AH0gAkL///////////8Ag0KAgICAgICA+P8AVhsLEEEgASADQYHgAAJ+IAQpAzAiAkKAgICACHxC/////w9YBEAgAkL/////D4MMAQtCgICAgMB+IAK5vSICQoCAgIDAgYD8/wB9IAJC////////////AINCgICAgICAgPj/AFYbCxBBIAEgA0HYKAJ+IAQpAzgiAkKAgICACHxC/////w9YBEAgAkL/////D4MMAQtCgICAgMB+IAK5vSICQoCAgIDAgYD8/wB9IAJC////////////AINCgICAgICAgPj/AFYbCxBBIAEgA0G93wACfiAEKQNAIgJCgICAgAh8Qv////8PWARAIAJC/////w+DDAELQoCAgIDAfiACub0iAkKAgICAwIGA/P8AfSACQv///////////wCDQoCAgICAgID4/wBWGwsQQSABIANBzSkCfiAEKQNIIgJCgICAgAh8Qv////8PWARAIAJC/////w+DDAELQoCAgIDAfiACub0iAkKAgICAwIGA/P8AfSACQv///////////wCDQoCAgICAgID4/wBWGwsQQSABIANBnuAAAn4gBCkDUCICQoCAgIAIfEL/////D1gEQCACQv////8PgwwBC0KAgICAwH4gArm9IgJCgICAgMCBgPz/AH0gAkL///////////8Ag0KAgICAgICA+P8AVhsLEEEgASADQeIoAn4gBCkDWCICQoCAgIAIfEL/////D1gEQCACQv////8PgwwBC0KAgICAwH4gArm9IgJCgICAgMCBgPz/AH0gAkL///////////8Ag0KAgICAgICA+P8AVhsLEEEgASADQdbfAAJ+IAQpA2AiAkKAgICACHxC/////w9YBEAgAkL/////D4MMAQtCgICAgMB+IAK5vSICQoCAgIDAgYD8/wB9IAJC////////////AINCgICAgICAgPj/AFYbCxBBIAEgA0GGKgJ+IAQpA2giAkKAgICACHxC/////w9YBEAgAkL/////D4MMAQtCgICAgMB+IAK5vSICQoCAgIDAgYD8/wB9IAJC////////////AINCgICAgICAgPj/AFYbCxBBIAEgA0G04AACfiAEKQNwIgJCgICAgAh8Qv////8PWARAIAJC/////w+DDAELQoCAgIDAfiACub0iAkKAgICAwIGA/P8AfSACQv///////////wCDQoCAgICAgID4/wBWGwsQQSABIANBxyoCfiAEKQN4IgJCgICAgAh8Qv////8PWARAIAJC/////w+DDAELQoCAgIDAfiACub0iAkKAgICAwIGA/P8AfSACQv///////////wCDQoCAgICAgID4/wBWGwsQQSABIANB9+AAAn4gBCkDgAEiAkKAgICACHxC/////w9YBEAgAkL/////D4MMAQtCgICAgMB+IAK5vSICQoCAgIDAgYD8/wB9IAJC////////////AINCgICAgICAgPj/AFYbCxBBIAEgA0HU4AACfiAEKQOIASICQoCAgIAIfEL/////D1gEQCACQv////8PgwwBC0KAgICAwH4gArm9IgJCgICAgMCBgPz/AH0gAkL///////////8Ag0KAgICAgICA+P8AVhsLEEEgASADQZIqAn4gBCkDkAEiAkKAgICACHxC/////w9YBEAgAkL/////D4MMAQtCgICAgMB+IAK5vSICQoCAgIDAgYD8/wB9IAJC////////////AINCgICAgICAgPj/AFYbCxBBIAEgA0G/4AACfiAEKQOYASICQoCAgIAIfEL/////D1gEQCACQv////8PgwwBC0KAgICAwH4gArm9IgJCgICAgMCBgPz/AH0gAkL///////////8Ag0KAgICAgICA+P8AVhsLEEEgASADQdUqAn4gBCkDoAEiAkKAgICACHxC/////w9YBEAgAkL/////D4MMAQtCgICAgMB+IAK5vSICQoCAgIDAgYD8/wB9IAJC////////////AINCgICAgICAgPj/AFYbCxBBIAEgA0HvJwJ+IAQpA6gBIgJCgICAgAh8Qv////8PWARAIAJC/////w+DDAELQoCAgIDAfiACub0iAkKAgICAwIGA/P8AfSACQv///////////wCDQoCAgICAgID4/wBWGwsQQSABIANB6icCfiAEKQOwASICQoCAgIAIfEL/////D1gEQCACQv////8PgwwBC0KAgICAwH4gArm9IgJCgICAgMCBgPz/AH0gAkL///////////8Ag0KAgICAgICA+P8AVhsLEEEgASADQeszAn4gBCkDuAEiAkKAgICACHxC/////w9YBEAgAkL/////D4MMAQtCgICAgMB+IAK5vSICQoCAgIDAgYD8/wB9IAJC////////////AINCgICAgICAgPj/AFYbCxBBIAEgA0H7JwJ+IAQpA8ABIgJCgICAgAh8Qv////8PWARAIAJC/////w+DDAELQoCAgIDAfiACub0iAkKAgICAwIGA/P8AfSACQv///////////wCDQoCAgICAgID4/wBWGwsQQSABIANBqt8AAn4gBCkDyAEiAkKAgICACHxC/////w9YBEAgAkL/////D4MMAQtCgICAgMB+IAK5vSICQoCAgIDAgYD8/wB9IAJC////////////AINCgICAgICAgPj/AFYbCxBBIAMQVSAEQdABaiQACwkAIAAgATYCGAufAgEDfiABQv////9vWARAIAAQJUKAgICA4AAPC0KAgICA4AAhBQJ+IAAgAUE2IAFBABAUIgRCgICAgHCDQoCAgIAwUQRAIABBlAEQLgwBCyAAIAQQOAsiBEKAgICAcIMiBkKAgICA4ABSBH4CfiAAIAFBMyABQQAQFCIBQoCAgIBwg0KAgICAMFEEQCAAQS8QLgwBCyAAIAEQOAsiAUKAgICAcIMiBUKAgICA4ABRBEAgACAEEA9CgICA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hBAjIAAgAjUCIEKAgICAkH+EECMLIQAgAacoAiApAwAiAUKAgICAYFoEQCAAIAGnIAIRAAALCyIBAX8gACABpygCICICKQMAECMgAEEQaiACIAAoAgQRAAALbAEDfwJAIAFCgICAgHBUDQAgAaciAy8BBkEPRw0AIAMoAiAiBEUNACAEQQhqIQVBACEDA0AgAyAELQAFTw0BIAUgA0EDdGopAwAiAUKAgICAYFoEQCAAIAGnIAIRAAALIANBAWohAwwACwALCzYBAX4gASkDACICQoCAgIDQfloEQCACpyIBIAEoAgBBAWo2AgALIAAgAhCLAUKAgICA4AAQVQtqAQN/AkAgAUKAgICAcFQNACABpyICLwEGQQ9HDQAgAigCICIDRQ0AIANBCGohBEEAIQIDQCACIAMtAAVPRQRAIAAgBCACQQN0aikDABAjIAJBAWohAgwBCwsgAEEQaiADIAAoAgQRAAALC38BA38gAacoAiAiBCkDACIBQoCAgIBgWgRAIAAgAacgAhEAAAsgBCkDCCIBQoCAgIBgWgRAIAAgAacgAhEAAAsgBEEYaiEFA0AgBCgCECADSgRAIAUgA0EDdGopAwAiAUKAgICAYFoEQCAAIAGnIAIRAAALIANBAWohAwwBCwsLWQEDfyAAIAGnKAIgIgIpAwAQIyAAIAIpAwgQIyACQRhqIQQDQCADIAIoAhBORQRAIAAgBCADQQN0aikDABAjIANBAWohAwwBCwsgAEEQaiACIAAoAgQRAAALgAEBBH8gAaciAygCICEEIAMoAiQhBSADKAIoIgMEQCAAIAMgAhEAAAsgBARAAkAgBUUNAEEAIQMDQCADIAQoAjxODQECQCAFIANBAnRqKAIAIgZFDQAgBi0ABUEBcUUNACAAIAYgAhEAAAsgA0EBaiEDDAALAAsgACAEIAIRAAALC3wBA38gAaciAigCKCIDBEAgACADrUKAgICAcIQQIwsgAigCICIDBEAgAigCJCIEBEBBACECA0AgAiADKAI8TkUEQCAAIAQgAkECdGooAgAQ7AEgAkEBaiECDAELCyAAQRBqIAQgACgCBBEAAAsgACADrUKAgICAYIQQIwsLEgAgAacoAiAiAARAIAAQogMLCx4AIAGnKQMgIgFCgICAgGBaBEAgACABpyACEQAACwsZACAAIAGnIgApAyAQIyAAQoCAgIAwNwMgC0QBAn8gAachBANAIAQoAiggA0sEQCAEKAIkIANBA3RqKQMAIgFCgICAgGBaBEAgACABpyACEQAACyADQQFqIQMMAQsLC0YBA38gAachAwNAIAMoAiQhBCACIAMoAihPRQRAIAAgBCACQQN0aikDABAjIAJBAWohAgwBCwsgAEEQaiAEIAAoAgQRAAALZQECfyMAQRBrIgckAAJ/AkAgAaciCC0ABUEIcUUNACAAIAdBDGogAhCsAUUNACAHKAIMIAgoAihPDQBBfyAAIAgQkQMNARoLIAAgASACIAMgBCAFIAZBgIAIchBuCyAHQRBqJAAL8wECBH8BfgJAAkAgAkEATg0AIAGnKQMgIgtCgICAgHCDQoCAgICQf1INACACQf////8HcSIHIAunIggoAgQiCUH/////B3FPDQACQEEEIAYQkgNFDQAgBkGAwABxRQ0CIANCgICAgHCDQoCAgICQf1INACADpyICKAIEIgpB/////wdxQQFHDQAgCEEQaiEIAn8gCUEASARAIAggB0EBdGovAQAMAQsgByAIai0AAAshBwJ/IApBAEgEQCACLwEQDAELIAItABALIAdGDQILIAAgBkHo6QAQcQ8LIAAgASACIAMgBCAFIAZBgIAIchBuDwtBAQtGAAJ/AkAgAkEATg0AIAGnKQMgIgFCgICAgHCDQoCAgICQf1INAEEAIAJB/////wdxIAGnKAIEQf////8HcUkNARoLQQELC6wBAQN/AkAgA0EATg0AIAKnKQMgIgJCgICAgHCDQoCAgICQf1INACADQf////8HcSIDIAKnIgQoAgQiBkH/////B3FPDQBBASEFIAFFDQAgBEEQaiEEAn8gBkEASARAIAQgA0EBdGovAQAMAQsgAyAEai0AAAshAyABQQQ2AgAgACADQf//A3EQnQMhAiABQoCAgIAwNwMYIAFCgICAgDA3AxAgASACNwMICyAFC2kBAn8gAacoAhAiAEEwaiEDIAAgACgCGCACcUF/c0ECdGooAgAhAANAAkAgAEUEQEEAIQAMAQsgAyAAQQN0aiIEQQhrIQAgBEEEaygCACACRg0AIAAoAgBB////H3EhAAwBCwsgAEEARwuOAQECfyABKAIAIgJBAEoEQCABIAJBAWsiAjYCAAJAIAINACABLQAEQfABcUEQRw0AIAEo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QQFqIQUMAQsLIAAgASkDACACKQMAIAMgBhAhEFUhACQAIAALjQEBAn4gACACKQMAEDEhAiAAIAEpAwAgAiADKQMAIAQpAwAiCSAFKQMAIgpBgQJBASAIG0EAIAYbQYQIQQQgCBtBACAHG3IiASABQYAQciAJQoCAgIBwg0KAgICAMFEbIgEgAUGAIHIgCkKAgICAcINCgICAgDBRGyIBQYDAAHIgASAIGxBuGiAAIAIQEwtFAQF+IAAgAikDABAxIQIgAykDACIEQoCAgIDQfloEQCAEpyIDIAMoAgBBAWo2AgALIAAgASkDACACIAQQrAUgACACEBMLKAEBfiAAIAIpAwAQMSECIAAgASkDACIDIAIgA0EAEBQgACACEBMQVQv2AQIGfwF+IABBoAFqIQcCQANAAkAgASAGRg0AIAAoAqQBIgMgB0YNACADKAIAIgUgAygCBCIENgIEIAQgBTYCACADQgA3AgBBACEEIAMoAggiBSADKAIQIANBGGoiCCADKAIMERkAIQkDQCAEIAMoAhBORQRAIAUgCCAEQQN0aikDABAPIARBAWohBAwBCwsgBSAJEA8gBSgCECIEQRBqIAMgBCgCBBEAACACIAU2AgAgCUKAgICAcINCgICAgOAAUQRAIAUoAhAiACkDgAEhCSAAQoCAgIAgNwOAAQwDBSAGQQFqIQYMAgsACwsgBq0hCQsgCRBVCw8AIAAoAqQBIABBoAFqRwshAQF+IAAgACABEPUFIgIQDyACQoCAgIBwg0KAgICAMFILOwEBfiAAIAEQ9QUiAkKAgICAcINCgICAgDBRBEAgACABKQMAQbTLABCyASECCyAAIAIQswEgACACEA8LsgECAn8DfiMAQRBrIgMkACAAKQPAASIFQoCAgIDQfloEQCAFpyIEIAQoAgBBAWo2AgALIAAgBUGK0wAQsgEhBiAAIAUQDyADIAAgARBjNwMIAkAgAgRAIAAgACAGQdnAABCyASIFIAZBASADQQhqECEhByAAIAMpAwgQDwwBCyAAIAZCgICAgDBBASADQQhqECEhByADKQMIIQULIAAgBRAPIAAgBhAPIAcQVSADQRBqJAALCgAgACABEGMQVQs6AgF/AXwjAEEQayICJAAgAkKAgICAgICA/P8ANwMIIAAgAkEIaiABKQMAEEMaIAIrAwggAkEQaiQAC2kB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yjiUuz2ioKCgoCEACyAACwQAQgALlAECAnwBfkQAAAAAAADgPyAApiECAkAgAJkiAb0iA0L/////n8iLw8AAWARAIAEQmAIhASADQv/////////3P1gEQCADQoCAgICAgICoPlQNAiACIAEgAaAgASABoiABRAAAAAAAAPA/oKOhog8LIAIgASABIAFEAAAAAAAA8D+go6CiDwsgASACIAKgEIwGIQALIAALygECAn8BfCMAQRBrIgEkAAJAIAC9QiCIp0H/////B3EiAkH7w6T/A00EQCACQYCAwPIDSQ0BIABEAAAAAAAAAABBABDQAiEADAELIAJBgIDA/wdPBEAgACAAoSEADAELIAAgARCaBCECIAErAwghACABKwMAIQMCQAJAAkACQCACQQNxQQFrDgMBAgMACyADIABBARDQAiEADAMLIAMgABDRAiEADAILIAMgAEEBENACmiEADAELIAMgABDRApohAAsgAUEQaiQAIAALoQEBBH8gAiAAKAJUIgMoAgQiBCADKAIAIgVrIgZBACAEIAZPGyIESwRAIAAgACgCAEEQcjYCACAEIQILIAEgAygCDCAFaiACECAaIAMgAygCACACaiIFNgIAIAAgACgCLCIBNgIEIAAgASAEIAJrIgQgACgCMCIAIAAgBEsbIgBqNgIIIAEgAygCDCAFaiAAECAaIAMgAygCACAAajYCACACC4cBAQF/IwBBEGsiAyQAAn4CQCACQQNPDQAgACgCVCEAIANBADYCBCADIAAoAgA2AgggAyAAKAIENgIMQQAgA0EEaiACQQJ0aigCACICa6wgAVUNACAAKAIIIAJrrCABUw0AIAAgAiABp2oiADYCACAArQwBC0HQ1QRBHDYCAEJ/CyADQRBqJAALmwEBAX4CfCAAmSIAvSIBQv////+fyIvzP1gEQEQAAAAAAADwPyABQoCAgICAgICoPlQNARogABCYAiIAIACiIABEAAAAAAAA8D+gIgAgAKCjRAAAAAAAAPA/oA8LIAFC/////5/Ii8PAAFgEQCAAEOoDIgBEAAAAAAAA8D8gAKOgRAAAAAAAAOA/og8LIABEAAAAAAAA8D8QjAYLCwUAIACcC8IBAgF8An8jAEEQayICJAACfCAAvUIgiKdB/////wdxIgNB+8Ok/wNNBEBEAAAAAAAA8D8gA0GewZryA0kNARogAEQAAAAAAAAAABDRAgwBCyAAIAChIANBgIDA/wdPDQAaIAAgAhCaBCEDIAIrAwghACACKwMAIQECQAJAAkACQCADQQNxQQFrDgMBAgMACyABIAAQ0QIMAwsgASAAQQEQ0AKaDAILIAEgABDRApoMAQsgASAAQQEQ0AILIAJBEGokAAsFACAAmwt5AQF/IAFCgICAgHCDQoCAgIAwUgRAIABBoj5BABAVQoCAgIDgAA8LAn4CQCACRQ0AIAMpAwAiAUKAgICAcINCgICAgDBRDQBCgICAgOAAIAAgARAoIgFCgICAgHCDQoCAgIDgAFENARogAachBAsgACAEQQMQ/wMLC4ICAwJ8An8BfiAAvSIFQiCIp0H/////B3EiA0GAgMD/B08EQCAAIACgDwsCQCADQf//P0sEf0GT8f3UAgUgAEQAAAAAAABQQ6K9IgVCIIinQf////8HcSIDRQ0BQZPx/csCCyEEIAVCgICAgICAgICAf4MgA0EDbiAEaq1CIIaEvyICIAKiIAIgAKOiIgEgASABoqIgAUTX7eTUALDCP6JE2VHnvstE6L+goiABIAFEwtZJSmDx+T+iRCAk8JLgKP6/oKJEkuZhD+YD/j+goCACor1CgICAgHyDQoCAgIAIfL8iASAAIAEgAaKjIgAgAaEgASABoCAAoKOiIAGgIQALIAALewMBfAF+AX8gAJkhAQJAAnwgAL0iAkI0iKdB/w9xIgNB/QdNBEAgA0HfB0kNAiABIAGgIgAgASAAokQAAAAAAADwPyABoaOgDAELIAFEAAAAAAAA8D8gAaGjIgAgAKALEKUDRAAAAAAAAOA/oiEBCyABmiABIAJCAFMbC6sDAgV/AX4gAL1C////////////AINCgYCAgICAgPj/AFQgAb1C////////////AINCgICAgICAgPj/AFhxRQRAIAAgAaAPCyABvSIHQiCIpyICQYCAwP8DayAHpyIFckUEQCAAEJsEDwsgAkEedkECcSIGIAC9IgdCP4inciEDAkAgB0IgiKdB/////wdxIgQgB6dyRQRAAkACQCADQQJrDgIAAQMLRBgtRFT7IQlADwtEGC1EVPshCcAPCyACQf////8HcSICIAVyRQRARBgtRFT7Ifk/IACmDwsCQCACQYCAwP8HRgRAIARBgIDA/wdHDQEgA0EDdEHwrwRq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IAUgAkEAEOUBGiAFQQAgA2tB/////wNBARDNARogBEIANwIgIARCgICAgICAgICAfzcCGCAEIAc2AhQgAEIBEDIaIAGtIQgDQCAIp0EATEUEQCAEQRRqIgEgCBAyGiABIARBLGogASACQQAQlgEaIAAgACABIAJBABBEGiAAIABCASACQQAQdhogCEIBfSEIDAELC0EAIQEgA0EAIANBAEobIQMgBEEUahAbIARBLGoQGwNAIAEgA0ZFBEAgACAAIAAgAkHgDxBEGiABQQFqIQEMAQsLIAAgBkH/////A0HhDxDNARoLIAQQGyAEQUBrJABBEA8LQd/9AEHb/ABBviFBn9YAEAAAC68BAQJ/IwBBIGsiBCQAIAAoAgAhBSAEQQhqIANBABCqASAAIAEgBCgCCCIBIAFBH3UiAXMgAWsiASACQcAAIAFBAWtnQQF0a0EAIAFBAk8bakEIaiICQeAPEKIEIQEgAygCBARAIARCADcCGCAEQoCAgICAgICAgH83AhAgBCAFNgIMIARBDGoiA0IBEDIaIAAgAyAAIAJB4A8QlgEgAXIhASADEBsLIARBIGokACABC48GAgh/AX4jAEHwAGsiAyQAIAAgAUcEQCAAKAIAIQQgA0IANwJoIANCgICAgICAgICAfzcCYCADIAQ2AlwgA0HcAGoiBSABEEUaIANCADcCVCADQoCAgICAgICAgH83AkwgAyAENgJIIAMoAmQhBiADQQA2AmQgA0HIAGoiAUKq1arVChAyGiADQQA2AlAgBSABELMCBEAgAyADKAJkQQFqNgJkIAZBAWshBgsgA0HIAGoQGyACQQFqQQF2EJQGIQUgA0IANwJUIANCgICAgICAgICAfzcCTCADIAQ2AkggA0IANwJAIANCgICAgICAgICAfzcCOCADIAQ2AjQgA0HcAGoiASABQn9B/////wNBABB2GiAFQQAgBUEAShshCSACIAVqIAIgBUEBdG5BAWoiCkEBdGpBIGohAkEAIQEDQCABIAlGRQRAIANByABqIgcgA0HcAGoiCEIBIAJBABB2GiADQTRqIgsgByACQQYQkAYgByALQgEgAkEAEHYaIAggCCAHIAJBABCWARogAUEBaiEBDAELCyADQgA3AiwgA0KAgICAgICAgIB/NwIkIAMgBDYCICADQgA3AhggA0KAgICAgICAgIB/NwIQIAMgBDYCDCADQSBqIgEgA0HcAGoiBEICIAJBABB2GiABIAQgASACQQAQlgEaIANBDGogASABIAJBABBEGiAAQgAQMhogCq0hDANAIAynQQBMRQRAIANByABqIgFCARAyGiADQTRqIgQgDEIBhkIBhBAyGiABIAEgBCACQQAQlgEaIAAgACABIAJBABDMARogACAAIANBDGogAkEAEEQaIAxCAX0hDAwBCwsgACAAQgEgAkEAEHYaIAAgACADQSBqIgEgAkEAEEQaIAEQGyADQQxqEBsgA0E0ahAbIANByABqEBsgACAFQQFqQf////8DQQEQzQEaIANB3ABqIgEgAkEGENMCIAEgASAGrCACQQAQ1AIgACAAIAEgAkEAEMwBGiABEBsgA0HwAGokAEEQDwtB3/0AQdv8AEHXIkGv1gAQAAALWAEBfiAAIAMpAwAQ/gFBAEetQoCAgIAQhCEEIAFCgICAgHCDQoCAgIAwUQRAIAQPCyAAIAFBBhBmIgFCgICAgHCDQoCAgIDgAFIEQCAAIAEgBBDcAQsgAQsRACAAIAEgAiADIARBABCVBgsRACAAIAEgAiADIARBARCVBgvYAwEHfyACKAIEIAEoAgRzIQcCQAJAAkACQAJAAkACQCABKAIIIgZB/f///wdMBEAgAigCCCIFQf3///8HSg0BIAZBgICAgHhHDQYgBUGAgICAeEYNBAwHCyAGQf////8HRg0BIAIoAgghBQsgBUH/////B0cNAQsgABA2QQAPCyAGQf7///8HRyIBIAVB/v///wdHcg0BCyAAEDZBAQ8LIAENASAAIAcQjQFBAA8LIAVBgICAgHhGBEAgACAHEI0BQQIPCwJAIAAoAgAiBSgCAEEAIAEoAgwiBiADQSFqQQV2IgggBiAIShsiCiACKAIMIghqIglBAnRBBGogBSgCBBEBACIGBEAgBkEAIAkgASgCDGtBAnQiCxArIgYgC2ogASgCECABKAIMQQJ0ECAaIAAgCkEBahBCRQRAIAUgACgCECAGIAkgAigCECAIEKQERQ0CCyAFKAIAIAZBACAFKAIEEQEAGgsgABA2QSAPCyAGIAgQpgMEQCAAKAIQIgUgBSgCAEEBcjYCAAsgACgCACIFKAIAIAZBACAFKAIEEQEAGiACKAIIIQIgASgCCCEBIAAgBzYCBCAAIAEgAmtBIGo2AgggACADIAQQtAIPCyAAIAcQigFBAAuTAgIBfgF/IwBBEGsiBSQAAkACQCACRQRADAELIAAgAykDABC6AiIEQoCAgIBwg0KAgICA4ABRDQECQAJAIARCIIinQQtqDgMBAAACCyAEp0EEaiAFQQhqELQFIAAgBBAPQoCAgIDAfiAFKQMIIgRCgICAgMCBgPz/AH0gBEL///////////8Ag0KAgICAgICA+P8AVhshBAwBCyAAIAQQOCIEQoCAgIBwg0KAgICA4ABRDQEgACAEEI4BIgRCgICAgHCDQoCAgIDgAFENAQsgAUKAgICAcINCgICAgDBRDQAgACABQQQQZiIBQoCAgIBwg0KAgICA4ABSBEAgACABIAQQ3AELIAEhBAsgBUEQaiQAIAQLOwEBfwNAIAIEQCAALQAAIQMgACABLQAAOgAAIAEgAzoAACABQQFqIQEgAEEBaiEAIAJBAWshAgwBCwsLGgAgAC0AACECIAAgAS0AADoAACABIAI6AAALQgEBfyACQQF2IQIDQCACBEAgAC8BACEDIAAgAS8BADsBACABIAM7AQAgAUECaiEBIABBAmohACACQQFrIQIMAQsLCxoAIAAvAQAhAiAAIAEvAQA7AQAgASACOwEAC0IBAX8gAkECdiECA0AgAgRAIAAoAgAhAyAAIAEoAgA2AgAgASADNgIAIAFBBGohASAAQQRqIQAgAkEBayECDAELCwsaACAAKAIAIQIgACABKAIANgIAIAEgAjYCAAtCAQF+IAJBA3YhAgNAIAIEQCAAKQMAIQMgACABKQMANwMAIAEgAzcDACABQQhqIQEgAEEIaiEAIAJBAWshAgwBCwsLHAEBfiAAKQMAIQMgACABKQMANwMAIAEgAzcDAAtaAQJ+IAJBBHYhAgNAIAIEQCAAKQMAIQMgACABKQMANwMAIAApAwghBCAAIAEpAwg3AwggASAENwMIIAEgAzcDACABQRBqIQEgAEEQaiEAIAJBAWshAgwBCwsLNAECfiAAKQMAIQMgACABKQMANwMAIAApAwghBCAAIAEpAwg3AwggASAENwMIIAEgAzcDAAsJACABIAIQ8gUL4QQCBn4BfyMAQRBrIgIkACABQoCAgIBwg0KAgICAMFEEQCAAKAIQKAKMASkDCCEBCwJAIAAgAUE7IAFBABAUIgVCgICAgHCD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ABAVQoCAgIDgAA8LAkAgACABEEgiAUKAgICAcINCgICAgOAAUgRAIAMpAwgiBEKAgICAcINCgICAgDBRDQEgACABIAQQrAZFDQEgACABEA8LQoCAgIDgAA8LIAELhAICAX4BfyMAQSBrIgIkAEKAgICA4AAhBQJAAkAgACABECQiAUKAgICAcINCgICAgOAAUQ0AIAAgAykDABAxIgNFDQADQCAAIAIgAacgAxBKIgZBAE4EQCAGBEBCgICAgDAhBQJAIAItAABBEHFFDQAgAkEYQRAgBBtqKQMAIgVCgICAgNB+VA0AIAWnIgQgBCgCAEEBajYCAAsgACACEEkMBAsgACABEI0CIgFCgICAgHCDIgVCgICAgCBRBEBCgICAgDAhBQwECyAFQoCAgIDgAFENAyAAEHxFDQELC0KAgICA4AAhBQwBC0EAIQMLIAAgAxATIAAgARAPIAJBIGokACAFC10AAkAgAUKAgICAcINCgICAgDBRDQAgACgCECgCjAEoAgggAadGDQAgACABQQEQZg8LIAMpAwAiAUIgiKciAkELakERSyACQX5xQQJHckUEQCAAEDUPCyAAIAEQJAuxAQEDfiADKQMIIQUgAykDACEGQoCAgIDgACEHAkAgACABECQiAUKAgICAcINCgICAgOAAUgR+IAAgBRBhDQEgACAGEDEiAkUNASAAIAEgAkKAgICAMEKAgICAMCAFIAQbIAVCgICAgDAgBBtBhaoBQYWaASAEGxBuIQMgACABEA8gACACEBNCgICAgOAAQoCAgIAwIANBAEgbBUKAgICA4AALDwsgACABEA9CgICAgOAAC3IBAX5CgICAgDAhAyABQoCAgIAQhEKAgICAcINCgICAgDBRBEAgABAlQoCAgIDgAA8LIAJCgICAgHCDQoCAgIAgUiACQv////9vWHEEfkKAgICAMAVCgICAgOAAQoCAgIAwIAAgASACQQEQjAJBAEgbCwsuAQF+IAAgARAkIgFCgICAgHCDQoCAgIDgAFEEQCABDwsgACABEOkBIAAgARAPC5wBAgF+AX8jAEEgayICJABCgICAgOAAIQQCQAJAIAAgARAkIgFCgICAgHCDQoCAgIDgAFENACAAIAMpAwAQMSIDRQ0AIAAgAiABpyADEEoiBUEASA0BIAVFBEBCgICAgBAhBAwCCyACNQIAIAAg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wH4gAbm9IgFCgICAgMCBgPz/AH0gAUL///////////8Ag0KAgICAgICA+P8AVhsLIARBIGokAAvgAwICfwZ+IwBBIGsiBCQAAn4CQCAAIARBEGogACABECQiCBA9DQBCfyEJAkAgBCkDECIGQgBXDQBCACEBIARCADcDCCACQQJOBEAgACAEQQhqIAMpAwhCACAGIAYQdQ0CIAQpAwghAQsCQAJAIAggBEEEaiAEEIsCRQ0AIAEgBDUCACIHIAEgB1UbIQsgBCgCBCECA0AgASALUQ0BIAMpAwAiB0KAgICA0H5aBEAgB6ciBSAFKAIAQQFqNgIACyACIAGnQQN0aikDACIKQoCAgIDQfloEQCAKpyIFIAUoAgBBAWo2AgALIAAgByAKQQAQvAENAiABQgF8IQEMAAsACyABIAYgASAGVRshBwNAIAEgB1ENAiAAIAggASAEQRhqEIYBIgJBAEgNAyACBEAgAykDACIGQoCAgIDQfloEQCAGpyICIAIoAgBBAWo2AgALIAAgBiAEKQMYQQAQvAENAgsgAUIBfCEBDAALAAsgASEJCyAAIAgQDyAJQv////8PgyAJQoCAgIAIfEL/////D1gNARpCgICAgMB+IAm5vSIBQoCAgIDAgYD8/wB9IAFC////////////AINCgICAgICAgPj/AFYbDAELIAAgCBAPQoCAgIDgAAsgBEEgaiQAC6IDAgh+AX8jAEEwayINJABCgICAgDAhBgJAAkAgACANQQhqIAAgARAkIgcQPQRAQoCAgIAwIQUMAQtCgICAgDAhBSAAIAMpAwAiChBhDQBCgICAgDAhCSACQQJOBEAgAykDCCEJCyANKQMIIgVCACAFQgBVGyELA0AgCCALUgRAIAgiBUKAgICACFoEQEKAgICAwH4gBbq9IgVCgICAgMCBgPz/AH0gBUKAgICAgICA+P8AVhshBQsgBUKAgICAcINCgICAgOAAUQ0CIAAgByAFEE4iBkKAgICAcINCgICAgOAAUQ0CIA0gATcDICANIAU3AxggDSAGNwMQIAAgCiAJQQMgDUEQahAhIgxCgICAgHCDQoCAgIDgAFENAiAAIAwQJgRAIAQEQCAAIAYQDyAAIAcQDwwFCyAAIAUQDyAAIAcQDyAGIQUMBAUgACAGEA8gACAFEA8gCEIBfCEIDAILAAsLIAAgBxAP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QoCAgIBwg0KAgICA4ABRDQMLIAAgCCAHIAEQa0EASA0CIAdCAXwhBwwACwALIAAgBhAkIgtCgICAgHCDQoCAgIDgAFENAiAAIARBCGogCxA9QQBIDQIgBAJ+IAQpAwgiBkKAgICACHxC/////w9YBEAgBkL/////D4MMAQtCgICAgMB+IAa5vSIHQoCAgIDAgYD8/wB9IAdC////////////AINCgICAgICAgPj/AFYbCyIHNwMgAn4CQCABQoCAgIBwVA0AIAGnLQAFQRBxRQ0AIAAgAUEBIARBIGoQpwEMAQsgAEKAgICAMEEBIARBIGoQqQMLIQggACAHEA8gCEKAgICAcINCgICAgOAAUQRAQoCAgIAwIQoMAgtCACEHIAZCACAGQgBVGyEJA0AgByAJUQRAQoCAgIAwIQpCgICAgDAhCQwFC0KAgICAMCEKIAAgCyAHEHQiBkKAgICAcINCgICAgOAAUQ0CAkAgBQRAIAYhAQwBCyAEIAY3AyAgBCAHQv////8PgzcDKCAAIAwgDUECIARBIGoQISEBIAAgBhAPIAFCgICAgHCDQoCAgIDgAFENAwsgACAIIAcgARBrQQBIDQIgB0IBfCEHDAALAAtCgICAgDAhCyAJQoCAgIBwg0KAgICAMFENAyAAIAlBARCtARoMAwtCgICAgDAhCQwCC0KAgICAMCEKQoCAgIAwIQlCgICAgDAhCAwBCyAAIAhBMCAHpyICQQBOBH4gB0L/////B4MFQoCAgIDAfiACuL0iAUKAgICAwIGA/P8AfSABQoCAgICAgID4/wBWGwsQRkEATg0BCyAAIAgQD0KAgICA4AAhCAsgACALEA8gACAJEA8gACAKEA8gBEEwaiQAIAgLJgBCgICAgOAAIAAgAykDABDLASIAQQBHrUKAgICAEIQgAEEASBsLfAAjAEEQayIAJAAgABCcBAJ+IAA0AgggACkDAELAhD1+fCIBQoCAgIAIfEL/////D1gEQCABQv////8PgwwBC0KAgICAwH4gAbm9IgFCgICAgMCBgPz/AH0gAUL///////////8Ag0KAgICAgICA+P8AVhsLIABBEGokAAvIAgEHfyMAQSBrIgQkACAAIAMpAwAQKCIBQoCAgIBwg0KAgICA4ABSBEAgACAEQQhqQQAQPhogAaciBUEQaiEGIAUoAgRB////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ARDcAgufAQIBfgF/IwBBEGsiAiQAAn4gACABENwCIgVCgICAgHCDQoCAgIDgAFEEQCAFDAELQQohBgJAAkAgBA0AIAMpAwAiAUKAgICAcINCgICAgDBRDQAgACABEI4FIgZBAEgNAQtCgICAgOAAIAAgAkEIaiAFEG8NARogACACKwMIIAZBAEEAEJACDAELIAAgBRAPQoCAgIDgAAsgAkEQaiQAC4ECAgF+AXwjAEEQayICJABCgICAgOAAIQQCQCAAIAEQ3AIiAUKAgICAcINCgICAgOAAUQRAIAEhBAwBCyAAIAIgARBvDQACQAJAIAMpAwAiAUKAgICAcINCgICAgDBRBEAgAisDACEFDAELIAAgAkEMaiABELoBDQIgAisDACIFvUL///////////8Ag0KAgICAgICA+P8AVA0BCyAAQoCAgIDAfiAFvUKAgICAwIGA/P8AfSAFmb1CgICAgICAgPj/AFYbEDghBAwBCyACKAIMIgNB5QBrQZt/TQRAIABBijRBABBRDAELIAAgBUEKIANBARCQAiEECyACQRBqJAAgBAvNAQIBfgJ8IwBBEGsiAiQAQoCAgIDgACEEAkAgACABENwCIgFCgICAgHCDQoCAgIDgAFEEQCABIQQMAQsgACACIAEQbw0AIAAgAkEMaiADKQMAELoBDQAgAigCDCIDQeUATwRAIABBijRBABBRDAELIAIrAwAiBZkiBkRQ7+LW5BpLRGYEQCAAQoCAgIDAfiAFvUKAgICAwIGA/P8AfSAGvUKAgICAgICA+P8AVhsQOCEEDAELIAAgBUEKIANBAhCQAiEECyACQRBqJAAgBAuLAgIBfgF8IwBBEGsiAiQAQoCAgIDgACEEAkAgACABENwCIgFCgICAgHCDQoCAgIDgAFEEQCABIQQMAQsgACACIAEQbw0AIAAgAkEMaiADKQMAELoBDQAgAisDACIFvSIBQoCAgICAgID4/wCDQoCAgICAgID4/wBRBEAgAEKAgICAwH4gAUKAgICAwIGA/P8AfSABQv///////////wCDQoCAgICAgID4/wBWGxA4IQQMAQsgAzUCBEIghkKAgICAMFEEQCAAIAVBCkEAQQQQkAIhBAwBCyACKAIMIgNB5QBPBEAgAEGKNEEAEFEMAQsgACAFQQogA0EBakEFEJACIQQLIAJBEGokACAE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Li4uYXJndW1lbnRzKTt9ACgpIHsKICAgIFtuYXRpdmUgY29kZV0KfQBjYW5ub3QgbWl4ID8/IHdpdGggJiYgb3IgfHwAY3R6AHByb3h5OiBwcm9wZXJ0eSBub3QgcHJlc2VudCBpbiB0YXJnZXQgd2VyZSByZXR1cm5lZCBieSBub24gZXh0ZW5zaWJsZSBwcm94eQByZXZva2VkIHByb3h5AFByb3h5AGFkZF9wcm9wZXJ0eQBwcm94eTogY2Fubm90IHNldCBwcm9wZXJ0eQBubyBzZXR0ZXIgZm9yIHByb3BlcnR5AHZhbHVlIGhhcyBubyBwcm9wZXJ0eQBjb3VsZCBub3QgZGVsZXRlIHByb3BlcnR5AHByb3h5OiBkdXBsaWNhdGUgcHJvcGVydHkASlNfRGVmaW5lQXV0b0luaXRQcm9wZXJ0eQBoYXNPd25Qcm9wZXJ0eQBwcm94eTogaW5jb25zaXN0ZW50IGRlbGV0ZVByb3BlcnR5AHByb3h5OiBpbmNvbnNpc3RlbnQgZGVmaW5lUHJvcGVydHkASlNfRGVmaW5lUHJvcGVydHkAIW1yLT5lbXB0eQBpbmZpbml0eQBJbmZpbml0eQBvdXQgb2YgbWVtb3J5AHVua25vd24gdW5pY29kZSBnZW5lcmFsIGNhdGVnb3J5AEdlbmVyYWxfQ2F0ZWdvcnkAZXZlcnkAYW55AGFwcGx5ACclcycgaXMgcmVhZC1vbmx5AGV4cGVjdGluZyBjYXRjaCBvciBmaW5hbGx5AHN0aWNreQBiaWdpbnQgYXJlIGZvcmJpZGRlbiBpbiBKU09OLnN0cmluZ2lmeQBzdWJhcnJheQBlbXB0eSBhcnJheQBub24gaW50ZWdlciBpbmRleCBpbiB0eXBlZCBhcnJheQBuZWdhdGl2ZSBpbmRleCBpbiB0eXBlZCBhcnJheQBvdXQtb2YtYm91bmQgaW5kZXggaW4gdHlwZWQgYXJyYXkAY2Fubm90IGNyZWF0ZSBudW1lcmljIGluZGV4IGluIHR5cGVkIGFycmF5AGlzQXJyYXkAVHlwZWRBcnJheQBnZXREYXkAZ2V0VVRDRGF5AGpzX2dldF9hdG9tX2luZGV4AGludmFsaWQgYXJyYXkgaW5kZXgAb3V0LW9mLWJvdW5kIG51bWVyaWMgaW5kZXgASlNfQXRvbUlzQXJyYXlJbmRleABmaW5kSW5kZXgAaW52YWxpZCBleHBvcnQgc3ludGF4AGludmFsaWQgYXNzaWdubWVudCBzeW50YXgAbWF4AFx1JTA0eABpbnZhbGlkIG9wY29kZTogcGM9JXUgb3Bjb2RlPTB4JTAyeAAtKyAgIDBYMHgALTBYKzBYIDBYLTB4KzB4IDB4AGxpbmUgdGVybWluYXRvciBub3QgYWxsb3dlZCBhZnRlciB0aHJvdwBiZl9wb3cAbm93AGludGVnZXIgb3ZlcmZsb3cAc3RhY2sgb3ZlcmZsb3cAbXVzdCBiZSBjYWxsZWQgd2l0aCBuZXcAaXNWaWV3AERhdGFWaWV3AHJhdwB0ZGl2AGZkaXYAZWRpdgBjZGl2ACV1AGNsYXNzIGRlY2xhcmF0aW9ucyBjYW4ndCBhcHBlYXIgaW4gc2luZ2xlLXN0YXRlbWVudCBjb250ZXh0AGZ1bmN0aW9uIGRlY2xhcmF0aW9ucyBjYW4ndCBhcHBlYXIgaW4gc2luZ2xlLXN0YXRlbWVudCBjb250ZXh0AGxleGljYWwgZGVjbGFyYXRpb25zIGNhbid0IGFwcGVhciBpbiBzaW5nbGUtc3RhdGVtZW50IGNvbnRleHQAZHVwbGljYXRlIGFyZ3VtZW50IG5hbWVzIG5vdCBhbGxvd2VkIGluIHRoaXMgY29udGV4dABkdXBsaWNhdGUgcGFyYW1ldGVyIG5hbWVzIG5vdCBhbGxvd2VkIGluIHRoaXMgY29udGV4dABpbXBvcnQubWV0YSBub3Qgc3VwcG9ydGVkIGluIHRoaXMgY29udGV4dABKU19GcmVlQ29udGV4dABKU0NvbnRleHQAanNfbWFwX2l0ZXJhdG9yX25leHQAanNfYXN5bmNfZ2VuZXJhdG9yX3Jlc3VtZV9uZXh0AHVuZXhwZWN0ZWQgZW5kIG9mIGlucHV0AHR0AGV4cG9ydGVkIHZhcmlhYmxlICclcycgZG9lcyBub3QgZXhpc3QAcHJpdmF0ZSBjbGFzcyBmaWVsZCAnJXMnIGRvZXMgbm90IGV4aXN0AHRlc3QAYXNzaWdubWVudCByZXN0IHByb3BlcnR5IG11c3QgYmUgbGFzdABiZl9zcXJ0AHNvcnQAY2JydAB0cmltU3RhcnQAcGFkU3RhcnQAdW5rbm93biB1bmljb2RlIHNjcmlwdABTY3JpcHQAaHlwb3QAZnJlZV96ZXJvX3JlZmNvdW50AGZhc3RfYXJyYXlfY291bnQAYmluYXJ5X29iamVjdF9jb3VudABzdHJfaW5kZXggPT0gbnVtX2tleXNfY291bnQgKyBzdHJfa2V5c19jb3VudABudW1faW5kZXggPT0gbnVtX2tleXNfY291bnQAc3RyX2NvdW50AHByb3BfY291bnQAc3ltX2luZGV4ID09IGF0b21fY291bnQAbGFiZWwgPj0gMCAmJiBsYWJlbCA8IHMtPmxhYmVsX2NvdW50AGxhYjEgPj0gMCAmJiBsYWIxIDwgcy0+bGFiZWxfY291bnQAb2JqX2NvdW50AHZhbCA8IHMtPmNhcHR1cmVfY291bnQAdmFsMiA8IHMtPmNhcHR1cmVfY291bnQAc2hhcGVfY291bnQAanNfZnVuY19wYzJsaW5lX2NvdW50AG1lbW9yeV91c2VkX2NvdW50AG1hbGxvY19jb3VudABqc19mdW5jX2NvdW50AGNfZnVuY19jb3VudABpbnZhbGlkIHJlcGVhdCBjb3VudABpbnZhbGlkIHJlcGV0aXRpb24gY291bnQAZm9udABpbnZhbGlkIGNvZGUgcG9pbnQAZnJvbUNvZGVQb2ludABpbnZhbGlkIGhpbnQAY2Fubm90IGNvbnZlcnQgTmFOIG9yIEluZmluaXR5IHRvIGJpZ2ludABjYW5ub3QgY29udmVydCB0byBiaWdpbnQAYm90aCBvcGVyYW5kcyBtdXN0IGJlIGJpZ2ludABub3QgYSBiaWdpbnQAZW5jb2RlVVJJQ29tcG9uZW50AGRlY29kZVVSSUNvbXBvbmVudAB1bmV4cGVjdGVkIGVuZCBvZiBjb21tZW50AGludmFsaWQgc3dpdGNoIHN0YXRlbWVudABCaWdJbnQAcGFyc2VJbnQAZHVwbGljYXRlIGRlZmF1bHQAbWFsbG9jX2xpbWl0AHNwbGl0AGV4cGVjdGluZyBoZXggZGlnaXQAdHJpbVJpZ2h0AHJlZHVjZVJpZ2h0AHVuc2hpZnQAdHJpbUxlZnQAaW52YWxpZCBvZmZzZXQAaW52YWxpZCBieXRlT2Zmc2V0AGdldFRpbWV6b25lT2Zmc2V0AHJlc29sdmluZyBmdW5jdGlvbiBhbHJlYWR5IHNldABwcm94eTogaW5jb25zaXN0ZW50IHNldABmaW5kX2p1bXBfdGFyZ2V0AGV4cGVjdGluZyB0YXJnZXQAaW52YWxpZCBkZXN0cnVjdHVyaW5nIHRhcmdldABwcm94eTogaW5jb25zaXN0ZW50IGdldABXZWFrU2V0AGNvbnN0cnVjdABKU19GcmVlQXRvbVN0cnVjdAB1c2Ugc3RyaWN0AFJlZmxlY3QAcmVqZWN0AG5vdCBhbiBBc3luY0dlbmVyYXRvciBvYmplY3QAY2Fubm90IGNvbnZlcnQgdG8gb2JqZWN0AGludmFsaWQgYnJhbmQgb24gb2JqZWN0AG9wZXJhbmQgJ3Byb3RvdHlwZScgcHJvcGVydHkgaXMgbm90IGFuIG9iamVjdAByZWNlaXZlciBpcyBub3QgYW4gb2JqZWN0AGl0ZXJhdG9yIG11c3QgcmV0dXJuIGFuIG9iamVjdABub3QgYSBEYXRlIG9iamVjdABub3QgYSBvYmplY3QASlNPYmplY3QAYmlnZmxvYXQAcGFyc2VGbG9hdABmbGF0AG5vdGhpbmcgdG8gcmVwZWF0AGNvbmNhdABjb2RlUG9pbnRBdABjaGFyQXQAY2hhckNvZGVBdABrZXlzAHByb3h5OiB0YXJnZXQgcHJvcGVydHkgbXVzdCBiZSBwcmVzZW50IGluIHByb3h5IG93bktleXMAICBmYXN0IGFycmF5cwBleHBvcnQgJyVzJyBpbiBtb2R1bGUgJyVzJyBpcyBhbWJpZ3VvdXMAcHJpdmF0ZSBjbGFzcyBmaWVsZCAnJXMnIGFscmVhZHkgZXhpc3RzAHRvbyBtYW55IGFyZ3VtZW50cwBUb28gbWFueSBjYWxsIGFyZ3VtZW50cwBmYXN0X2FycmF5X2VsZW1lbnRzACAgZWxlbWVudHMAaW52YWxpZCBudW1iZXIgb2YgZGlnaXRzAGJpbmFyeSBvYmplY3RzAGludmFsaWQgcHJvcGVydHkgYWNjZXNzAGpzX29wX2RlZmluZV9jbGFzcwBmZC0+Ynl0ZV9jb2RlLmJ1ZltkZWZpbmVfY2xhc3NfcG9zXSA9PSBPUF9kZWZpbmVfY2xhc3MAX19nZXRDbGFzcwBzZXRIb3VycwBnZXRIb3VycwBzZXRVVENIb3VycwBnZXRVVENIb3VycwBnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzAHRvbyBtYW55IGltYnJpY2F0ZWQgcXVhbnRpZmllcnMAdW5pY29kZV9wcm9wX29wcwBhY29zAGZvciBhd2FpdCBpcyBvbmx5IHZhbGlkIGluIGFzeW5jaHJvbm91cyBmdW5jdGlvbnMAbmV3LnRhcmdldCBvbmx5IGFsbG93ZWQgd2l0aGluIGZ1bmN0aW9ucwBieXRlY29kZSBmdW5jdGlvbnMAQyBmdW5jdGlvbnMAcHJveHk6IGluY29uc2lzdGVudCBwcmV2ZW50RXh0ZW5zaW9ucwBTY3JpcHRfRXh0ZW5zaW9ucwBhdG9tcwBwcm94eTogcHJvcGVydGllcyBtdXN0IGJlIHN0cmluZ3Mgb3Igc3ltYm9scwBnZXRPd25Qcm9wZXJ0eVN5bWJvbHMAcmVzb2x2ZV9sYWJlbHMASlNfRXZhbFRoaXMAc3RyaW5ncwBpbnZhbGlkIGRlc2NyaXB0b3IgZmxhZ3MAaW52YWxpZCByZWd1bGFyIGV4cHJlc3Npb24gZmxhZ3MAdmFsdWVzAHNldE1pbnV0ZXMAZ2V0TWludXRlcwBzZXRVVENNaW51dGVzAGdldFVUQ01pbnV0ZXMAdG9vIG1hbnkgY2FwdHVyZXMAICBzaGFwZXMAZ2V0T3duUHJvcGVydHlOYW1lcwBnY19mcmVlX2N5Y2xlcwBhZGRfZXZhbF92YXJpYWJsZXMAcmVzb2x2ZV92YXJpYWJsZXMAdG9vIG1hbnkgbG9jYWwgdmFyaWFibGVzAHRvbyBtYW55IGNsb3N1cmUgdmFyaWFibGVzAGNvbXBhY3RfcHJvcGVydGllcwAgIHByb3BlcnRpZXMAZGVmaW5lUHJvcGVydGllcwBlbnRyaWVzAGZyb21FbnRyaWVzAHRvbyBtYW55IHJhbmdlcwBpbmNsdWRlcwBzZXRNaWxsaXNlY29uZHMAZ2V0TWlsbGlzZWNvbmRzAHNldFVUQ01pbGxpc2Vjb25kcwBnZXRVVENNaWxsaXNlY29uZHMAc2V0U2Vjb25kcwBnZXRTZWNvbmRzAHNldFVUQ1NlY29uZHMAZ2V0VVRDU2Vjb25kcwBpdGFsaWNzAGFicwBwcm94eTogaW5jb25zaXN0ZW50IGhhcwAlLipzACAoJXMAc2V0ICVzAGdldCAlcwAgICAgYXQgJXMAbm8gb3ZlcmxvYWRlZCBvcGVyYXRvciAlcwBub3QgYSAlcwB1bnN1cHBvcnRlZCBrZXl3b3JkOiAlcwBzdWJzdHIAcHJveHk6IGluY29uc2lzdGVudCBnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IAc3VwZXIoKSBpcyBvbmx5IHZhbGlkIGluIGEgZGVyaXZlZCBjbGFzcyBjb25zdHJ1Y3RvcgBwYXJlbnQgY2xhc3MgbXVzdCBiZSBjb25zdHJ1Y3RvcgBub3QgYSBjb25zdHJ1Y3RvcgBBcnJheSBJdGVyYXRvcgBTZXQgSXRlcmF0b3IATWFwIEl0ZXJhdG9yAFJlZ0V4cCBTdHJpbmcgSXRlcmF0b3IAbm90IGFuIEFzeW5jLWZyb20tU3luYyBJdGVyYXRvcgBjYW5ub3QgaW52b2tlIGEgcnVubmluZyBnZW5lcmF0b3IAbm90IGEgZ2VuZXJhdG9yAEFzeW5jR2VuZXJhdG9yAHN5bnRheCBlcnJvcgBTeW50YXhFcnJvcgBFdmFsRXJyb3IASW50ZXJuYWxFcnJvcgBBZ2dyZWdhdGVFcnJvcgBUeXBlRXJyb3IAUmFuZ2VFcnJvcgBSZWZlcmVuY2VFcnJvcgBVUklFcnJvcgBmbG9vcgBmb250Y29sb3IAYW5jaG9yAGZvcgBrZXlGb3IAZXhwZWN0aW5nIHN1cnJvZ2F0ZSBwYWlyAGEgZGVjbGFyYXRpb24gaW4gdGhlIGhlYWQgb2YgYSBmb3ItJXMgbG9vcCBjYW4ndCBoYXZlIGFuIGluaXRpYWxpemVyACdhcmd1bWVudHMnIGlkZW50aWZpZXIgaXMgbm90IGFsbG93ZWQgaW4gY2xhc3MgZmllbGQgaW5pdGlhbGl6ZXIAaW52YWxpZCBudW1iZXIgb2YgYXJndW1lbnRzIGZvciBnZXR0ZXIgb3Igc2V0dGVyAGludmFsaWQgc2V0dGVyAGludmFsaWQgZ2V0dGVyAGZpbHRlcgBtaXNzaW5nIGZvcm1hbCBwYXJhbWV0ZXIAInVzZSBzdHJpY3QiIG5vdCBhbGxvd2VkIGluIGZ1bmN0aW9uIHdpdGggZGVmYXVsdCBvciBkZXN0cnVjdHVyaW5nIHBhcmFtZXRlcgBpbnZhbGlkIGNoYXJhY3RlcgB1bmV4cGVjdGVkIGNoYXJhY3RlcgBwcml2YXRlIGNsYXNzIGZpZWxkIGZvcmJpZGRlbiBhZnRlciBzdXBlcgBpbnZhbGlkIHJlZGVmaW5pdGlvbiBvZiBsZXhpY2FsIGlkZW50aWZpZXIAJ2xldCcgaXMgbm90IGEgdmFsaWQgbGV4aWNhbCBpZGVudGlmaWVyAGludmFsaWQgcmVkZWZpbml0aW9uIG9mIGdsb2JhbCBpZGVudGlmaWVyAHlpZWxkIGlzIGEgcmVzZXJ2ZWQgaWRlbnRpZmllcgAnJXMnIGlzIGEgcmVzZXJ2ZWQgaWRlbnRpZmllcgBvdGhlcgBhdG9tMV9pc19pbnRlZ2VyICYmIGF0b20yX2lzX2ludGVnZXIAY2Fubm90IGNvbnZlcnQgdG8gYmlnaW50OiBub3QgYW4gaW50ZWdlcgBpc0ludGVnZXIAaXNTYWZlSW50ZWdlcgBidWZmZXIAU2hhcmVkQXJyYXlCdWZmZXIAY2Fubm90IHVzZSBpZGVudGljYWwgQXJyYXlCdWZmZXIAY2Fubm90IGNvbnZlcnQgYmlnaW50IHRvIG51bWJlcgBjYW5ub3QgY29udmVydCBiaWdmbG9hdCB0byBudW1iZXIAY2Fubm90IGNvbnZlcnQgc3ltYm9sIHRvIG51bWJlcgBjYW5ub3QgY29udmVydCBiaWdkZWNpbWFsIHRvIG51bWJlcgBub3QgYSBudW1iZXIAbGluZU51bWJlcgBtYWxmb3JtZWQgdW5pY29kZSBjaGFyAGNsZWFyAHNldFllYXIAZ2V0WWVhcgBzZXRGdWxsWWVhcgBnZXRGdWxsWWVhcgBzZXRVVENGdWxsWWVhcgBnZXRVVENGdWxsWWVhcgBxICE9IHIAdW5leHBlY3RlZCBsaW5lIHRlcm1pbmF0b3IgaW4gcmVnZXhwAHVuZXhwZWN0ZWQgZW5kIG9mIHJlZ2V4cABSZWdFeHAAc3VwAGludmFsaWQgZ3JvdXAAcG9wAGNvbnRpbnVlIG11c3QgYmUgaW5zaWRlIGxvb3AAYmZfbG9naWNfb3AAbnVtX2tleXNfY21wAHVzZSBzdHJpcABtYXAAZmxhdE1hcABXZWFrTWFwAGV4cGVjdGluZyAneycgYWZ0ZXIgXHAAbG9nMXAAZGl2aXNpb24gYnkgemVybwB1bmtub3duAGhhc093bgBpdGVyYXRvcl9jbG9zZV9yZXR1cm4AcHJvbWlzZSBzZWxmIHJlc29sdXRpb24Ab3V0IG9mIG1lbW9yeSBpbiByZWdleHAgZXhlY3V0aW9uAGRlc2NyaXB0aW9uAHByb3h5OiBkZWZpbmVQcm9wZXJ0eSBleGNlcHRpb24AanNfYXN5bmNfZ2VuZXJhdG9yX3Jlc29sdmVfZnVuY3Rpb24AanNfY3JlYXRlX2Z1bmN0aW9uAHNldC9hZGQgaXMgbm90IGEgZnVuY3Rpb24AcmV0dXJuIG5vdCBpbiBhIGZ1bmN0aW9uAEFzeW5jR2VuZXJhdG9yRnVuY3Rpb24AQXN5bmNGdW5jdGlvbgBpbnZhbGlkIG9wZXJhdGlvbgB1bnN1cHBvcnRlZCBvcGVyYXRpb24AYXdhaXQgaW4gZGVmYXVsdCBleHByZXNzaW9uAHlpZWxkIGluIGRlZmF1bHQgZXhwcmVzc2lvbgBpbnZhbGlkIGRlY2ltYWwgZXNjYXBlIGluIHJlZ3VsYXIgZXhwcmVzc2lvbgBiYWNrIHJlZmVyZW5jZSBvdXQgb2YgcmFuZ2UgaW4gcmVndWxhciBleHByZXNzaW9uAGludmFsaWQgZXNjYXBlIHNlcXVlbmNlIGluIHJlZ3VsYXIgZXhwcmVzc2lvbgBleHBlY3RlZCAnb2YnIG9yICdpbicgaW4gZm9yIGNvbnRyb2wgZXhwcmVzc2lvbgB0b28gY29tcGxpY2F0ZWQgZGVzdHJ1Y3R1cmluZyBleHByZXNzaW9uAGV4cGVjdGVkICd9JyBhZnRlciB0ZW1wbGF0ZSBleHByZXNzaW9uAHRvUHJlY2lzaW9uAGFzaW4Aam9pbgBtaW4AY29weVdpdGhpbgB0ZW1wbGF0ZSBsaXRlcmFsIGNhbm5vdCBhcHBlYXIgaW4gYW4gb3B0aW9uYWwgY2hhaW4AY2lyY3VsYXIgcHJvdG90eXBlIGNoYWluAGFzc2lnbgAheS0+c2lnbgBpc0Zyb3plbgBtYXJrX2NoaWxkcmVuAChwb3MgKyBsZW4pIDw9IGJjX2J1Zl9sZW4AdW5leHBlY3RlZCBlbGxpcHNpcyB0b2tlbgB0aGVuAHNldHRlciBpcyBmb3JiaWRkZW4AbnVsbCBvciB1bmRlZmluZWQgYXJlIGZvcmJpZGRlbgBhdGFuAG5hbgBub3QgYSBib29sZWFuAEJvb2xlYW4AZ2Nfc2NhbgBiYWQgbm9ybWFsaXphdGlvbiBmb3JtAEpTX05ld1N5bWJvbEZyb21BdG9tAGZyb20AcmFuZG9tAHRyaW0AdGRpdnJlbQBmZGl2cmVtAGVkaXZyZW0AY2RpdnJlbQBiZl9kaXZyZW0Ac3FydHJlbQBpbXVsAG5vdCBhIHN5bWJvbABTeW1ib2wAUmVnRXhwIGV4ZWMgbWV0aG9kIG11c3QgcmV0dXJuIGFuIG9iamVjdCBvciBudWxsAHBhcmVudCBwcm90b3R5cGUgbXVzdCBiZSBhbiBvYmplY3Qgb3IgbnVsbABjYW5ub3Qgc2V0IHByb3BlcnR5ICclcycgb2YgbnVsbABjYW5ub3QgcmVhZCBwcm9wZXJ0eSAnJXMnIG9mIG51bGwATnVsbABmaWxsAG5ldyBBcnJheUJ1ZmZlciBpcyB0b28gc21hbGwAVHlwZWRBcnJheSBsZW5ndGggaXMgdG9vIHNtYWxsAGNhbGwAZG90QWxsAG1hdGNoQWxsAHJlcGxhY2VBbGwAY2VpbAB1cGRhdGVfbGFiZWwAYmNfYnVmW3Bvc10gPT0gT1BfbGFiZWwAZXZhbABpbnZhbGlkIGJpZ2ludCBsaXRlcmFsAGludmFsaWQgbnVtYmVyIGxpdGVyYWwAbWFsZm9ybWVkIGVzY2FwZSBzZXF1ZW5jZSBpbiBzdHJpbmcgbGl0ZXJhbABiZl9leHBfaW50ZXJuYWwAYmZfbG9nX2ludGVybmFsAEpTX1NldFByb3BlcnR5SW50ZXJuYWwASlNfR2V0T3duUHJvcGVydHlOYW1lc0ludGVybmFsAF9fSlNfRXZhbEludGVybmFsAGJpZ2RlY2ltYWwAbnR0X2ZmdF9wYXJ0aWFsAHRvRXhwb25lbnRpYWwAc2VhbABnbG9iYWwAYmxpbmsAX19kYXRlX2Nsb2NrAHN0YWNrAGxyZV9leGVjX2JhY2t0cmFjawBzLT5pc193ZWFrAGJmX3Bvd191aQBzZXRNb250aABnZXRNb250aABzZXRVVENNb250aABnZXRVVENNb250aABpbnZhbGlkIGtleXdvcmQ6IHdpdGgAc3RhcnRzV2l0aABlbmRzV2l0aABwcm9wID09IEpTX0FUT01fbGVuZ3RoAGludmFsaWQgYXJyYXkgbGVuZ3RoAGludmFsaWQgYXJyYXkgYnVmZmVyIGxlbmd0aABpbnZhbGlkIGxlbmd0aABpbnZhbGlkIGJ5dGVMZW5ndGgAdXNlIG1hdGgATWF0aABwdXNoAGFjb3NoAEpTX1Jlc2l6ZUF0b21IYXNoAGFzaW5oAGF0YW5oAGJyZWFrIG11c3QgYmUgaW5zaWRlIGxvb3Agb3Igc3dpdGNoAG1hdGNoAGNhdGNoAHNlYXJjaABmb3JFYWNoAGJmX2xvZwBBcnJheSB0b28gbG9uZwBzdHJpbmcgdG9vIGxvbmcAQXJyYXkgbG9vIGxvbmcAc3Vic3RyaW5nAGNhbm5vdCBjb252ZXJ0IHN5bWJvbCB0byBzdHJpbmcAdW5leHBlY3RlZCBlbmQgb2Ygc3RyaW5nAG5vdCBhIHN0cmluZwBpbnZhbGlkIGNoYXJhY3RlciBpbiBhIEpTT04gc3RyaW5nAHRvU3RyaW5nAHRvRGF0ZVN0cmluZwB0b0xvY2FsZURhdGVTdHJpbmcAdG9UaW1lU3RyaW5nAHRvTG9jYWxlVGltZVN0cmluZwB0b0xvY2FsZVN0cmluZwB0b0dNVFN0cmluZwBKU1N0cmluZwB0b0lTT1N0cmluZwB0b1VUQ1N0cmluZwBkdXBsaWNhdGUgaW1wb3J0IGJpbmRpbmcAaW52YWxpZCBpbXBvcnQgYmluZGluZwBiaWcAcmVnZXhwIG11c3QgaGF2ZSB0aGUgJ2cnIGZsYWcAb2YAaW5mAGRpZmYgPT0gKGludDhfdClkaWZmAGRpZmYgPT0gKGludDE2X3QpZGlmZgBocmVmAGdjX2RlY3JlZgBmcmVlX3Zhcl9yZWYAb3B0aW1pemVfc2NvcGVfbWFrZV9nbG9iYWxfcmVmAHJlc2V0X3dlYWtfcmVmAGRlbGV0ZV93ZWFrX3JlZgBvcHRpbWl6ZV9zY29wZV9tYWtlX3JlZgBpbmRleE9mAGxhc3RJbmRleE9mAHZhbHVlT2YAc2V0UHJvdG90eXBlT2YAZ2V0UHJvdG90eXBlT2YAaXNQcm90b3R5cGVPZgAlLipmAGZvbnRzaXplAGJpbmFyeV9vYmplY3Rfc2l6ZQBzdHJfc2l6ZQBuZXdfc2l6ZSA8PSBzaC0+cHJvcF9zaXplAGRlc2NyIDwgcnQtPmF0b21fc2l6ZQBhdG9tIDwgcnQtPmF0b21fc2l6ZQBjb21wdXRlX3N0YWNrX3NpemUAb2JqX3NpemUAbiA8IGJ1Zl9zaXplAHNoYXBlX3NpemUAanNfZnVuY19wYzJsaW5lX3NpemUAanNfZnVuY19jb2RlX3NpemUAbWVtb3J5X3VzZWRfc2l6ZQBqc19mdW5jX3NpemUAbm9ybWFsaXplAGZyZWV6ZQByZXNvbHZlAHRvUHJpbWl0aXZlAHB1dF9sdmFsdWUAdW5rbm93biB1bmljb2RlIHByb3BlcnR5IHZhbHVlAHJlc3QgZWxlbWVudCBjYW5ub3QgaGF2ZSBhIGRlZmF1bHQgdmFsdWUAaW52YWxpZCByZXQgdmFsdWUAX19KU19BdG9tVG9WYWx1ZQBfX3F1b3RlAGlzRmluaXRlAGRlbGV0ZQBjcmVhdGUAc2V0RGF0ZQBnZXREYXRlAHNldFVUQ0RhdGUAZ2V0VVRDRGF0ZQBJbnZhbGlkIERhdGUAcmV2ZXJzZQBwYXJzZQBwcm94eSBwcmV2ZW50RXh0ZW5zaW9ucyBoYW5kbGVyIHJldHVybmVkIGZhbHNlAFByb21pc2UAdG9Mb3dlckNhc2UAdG9Mb2NhbGVMb3dlckNhc2UAdG9VcHBlckNhc2UAdG9Mb2NhbGVVcHBlckNhc2UAaWdub3JlQ2FzZQBsb2NhbGVDb21wYXJlAHByb3h5OiBpbmNvbnNpc3RlbnQgcHJvdG90eXBlAHByb3h5OiBiYWQgcHJvdG90eXBlAG5vdCBhIHByb3RvdHlwZQBpbnZhbGlkIG9iamVjdCB0eXBlAHVuZXNjYXBlAG5vbmUAcmVzdCBlbGVtZW50IG11c3QgYmUgdGhlIGxhc3Qgb25lAG11bHRpbGluZQAgIHBjMmxpbmUAc29tZQBKU19GcmVlUnVudGltZQBKU1J1bnRpbWUAc2V0VGltZQBnZXRUaW1lAHNldF9vYmplY3RfbmFtZQBleHBlY3RpbmcgcHJvcGVydHkgbmFtZQB1bmtub3duIHVuaWNvZGUgcHJvcGVydHkgbmFtZQBpbnZhbGlkIHByb3BlcnR5IG5hbWUAZHVwbGljYXRlIF9fcHJvdG9fXyBwcm9wZXJ0eSBuYW1lAGludmFsaWQgcmVkZWZpbml0aW9uIG9mIHBhcmFtZXRlciBuYW1lAGV4cGVjdGluZyBncm91cCBuYW1lAGR1cGxpY2F0ZSBncm91cCBuYW1lAGludmFsaWQgZ3JvdXAgbmFtZQBkdXBsaWNhdGUgbGFiZWwgbmFtZQBpbnZhbGlkIGZpcnN0IGNoYXJhY3RlciBvZiBwcml2YXRlIG5hbWUAaW52YWxpZCBsZXhpY2FsIHZhcmlhYmxlIG5hbWUAaW52YWxpZCBtZXRob2QgbmFtZQBleHBlY3RpbmcgZmllbGQgbmFtZQBpbnZhbGlkIGZpZWxkIG5hbWUAY2xhc3Mgc3RhdGVtZW50IHJlcXVpcmVzIGEgbmFtZQBmaWxlTmFtZQBjb21waWxlAG9iamVjdCBpcyBub3QgZXh0ZW5zaWJsZQBwcm94eTogaW5jb25zaXN0ZW50IGlzRXh0ZW5zaWJsZQBjYW5ub3QgaGF2ZSBzZXR0ZXIvZ2V0dGVyIGFuZCB2YWx1ZSBvciB3cml0YWJsZQBwcm9wZXJ0eSBpcyBub3QgY29uZmlndXJhYmxlAHZhbHVlIGlzIG5vdCBpdGVyYWJsZQBwcm9wZXJ0eUlzRW51bWVyYWJsZQBtaXNzaW5nIGluaXRpYWxpemVyIGZvciBjb25zdCB2YXJpYWJsZQBsZXhpY2FsIHZhcmlhYmxlAGludmFsaWQgcmVkZWZpbml0aW9uIG9mIGEgdmFyaWFibGUAcmV2b2NhYmxlAHN0cmlrZQBtcF9kaXZub3JtX2xhcmdlAGludmFsaWQgY2xhc3MgcmFuZ2UAbWVzc2FnZQBhc3luY19mdW5jX2ZyZWUAaW52YWxpZCBsdmFsdWUgaW4gc3RyaWN0IG1vZGUAaW52YWxpZCB2YXJpYWJsZSBuYW1lIGluIHN0cmljdCBtb2RlAGNhbm5vdCBkZWxldGUgYSBkaXJlY3QgcmVmZXJlbmNlIGluIHN0cmljdCBtb2RlAG9jdGFsIGVzY2FwZSBzZXF1ZW5jZXMgYXJlIG5vdCBhbGxvd2VkIGluIHN0cmljdCBtb2RlAG9jdGFsIGxpdGVyYWxzIGFyZSBkZXByZWNhdGVkIGluIHN0cmljdCBtb2RlAHVuaWNvZGUAICBieXRlY29kZQBKU0Z1bmN0aW9uQnl0ZWNvZGUAc2tpcF9kZWFkX2NvZGUAaW52YWxpZCBhcmd1bWVudCBuYW1lIGluIHN0cmljdCBjb2RlAGludmFsaWQgZnVuY3Rpb24gbmFtZSBpbiBzdHJpY3QgY29kZQBpbnZhbGlkIHJlZGVmaW5pdGlvbiBvZiBnbG9iYWwgaWRlbnRpZmllciBpbiBtb2R1bGUgY29kZQBpbXBvcnQubWV0YSBvbmx5IHZhbGlkIGluIG1vZHVsZSBjb2RlAGZyb21DaGFyQ29kZQBpbnZhbGlkIGZvciBpbi9vZiBsZWZ0IGhhbmQtc2lkZQBpbnZhbGlkIGFzc2lnbm1lbnQgbGVmdC1oYW5kIHNpZGUAcmVkdWNlAHNvdXJjZQAndGhpcycgY2FuIGJlIGluaXRpYWxpemVkIG9ubHkgb25jZQBwcm9wZXJ0eSBjb25zdHJ1Y3RvciBhcHBlYXJzIG1vcmUgdGhhbiBvbmNlAGludmFsaWQgVVRGLTggc2VxdWVuY2UAY2lyY3VsYXIgcmVmZXJlbmNlAHNsaWNlAHNwbGljZQByYWNlAHJlcGxhY2UAJSsuKmUAdW5leHBlY3RlZCAnYXdhaXQnIGtleXdvcmQAdW5leHBlY3RlZCAneWllbGQnIGtleXdvcmQAbWFwX2RlY3JlZl9yZWNvcmQAaXRlcmF0b3IgZG9lcyBub3QgaGF2ZSBhIHRocm93IG1ldGhvZABvYmplY3QgbmVlZHMgdG9JU09TdHJpbmcgbWV0aG9kACdzdXBlcicgaXMgb25seSB2YWxpZCBpbiBhIG1ldGhvZABmcm91bmQAX19iZl9yb3VuZABicmVhay9jb250aW51ZSBsYWJlbCBub3QgZm91bmQAb3V0IG9mIGJvdW5kAGZpbmQAYmluZABpbnZhbGlkIGluZGV4IGZvciBhcHBlbmQAZXh0cmFuZW91cyBjaGFyYWN0ZXJzIGF0IHRoZSBlbmQAdW5leHBlY3RlZCBkYXRhIGF0IHRoZSBlbmQAdW5leHBlY3RlZCBlbmQAaW52YWxpZCBpbmNyZW1lbnQvZGVjcmVtZW50IG9wZXJhbmQAaW52YWxpZCAnaW5zdGFuY2VvZicgcmlnaHQgb3BlcmFuZABpbnZhbGlkICdpbicgb3BlcmFuZAB0cmltRW5kAHBhZEVuZABib2xkACVsbGQAZ2NfZGVjcmVmX2NoaWxkAHJlc29sdmVfc2NvcGVfcHJpdmF0ZV9maWVsZABjYW5ub3QgZGVsZXRlIGEgcHJpdmF0ZSBjbGFzcyBmaWVsZABleHBlY3RpbmcgPGJyYW5kPiBwcml2YXRlIGZpZWxkACVzIGlzIG5vdCBpbml0aWFsaXplZABmaXhlZAB0b0ZpeGVkAHNldF9vYmplY3RfbmFtZV9jb21wdXRlZAByZWdleCBub3Qgc3VwcG9ydGVkAGV2YWwgaXMgbm90IHN1cHBvcnRlZABSZWdFeHAgYXJlIG5vdCBzdXBwb3J0ZWQAaW50ZXJydXB0ZWQAJXMgb2JqZWN0IGV4cGVjdGVkAGlkZW50aWZpZXIgZXhwZWN0ZWQAYnl0ZWNvZGUgZnVuY3Rpb24gZXhwZWN0ZWQAc3RyaW5nIGV4cGVjdGVkAGZyb20gY2xhdXNlIGV4cGVjdGVkAGZ1bmN0aW9uIG5hbWUgZXhwZWN0ZWQAdmFyaWFibGUgbmFtZSBleHBlY3RlZABtZXRhIGV4cGVjdGVkAHJlamVjdGVkAG1lbW9yeSBhbGxvY2F0ZWQAbWVtb3J5IHVzZWQAZGVyaXZlZCBjbGFzcyBjb25zdHJ1Y3RvciBtdXN0IHJldHVybiBhbiBvYmplY3Qgb3IgdW5kZWZpbmVkAGNhbm5vdCBzZXQgcHJvcGVydHkgJyVzJyBvZiB1bmRlZmluZWQAY2Fubm90IHJlYWQgcHJvcGVydHkgJyVzJyBvZiB1bmRlZmluZWQAZmxhZ3MgbXVzdCBiZSB1bmRlZmluZWQAVW5kZWZpbmVkAHByaXZhdGUgY2xhc3MgZmllbGQgaXMgYWxyZWFkeSBkZWZpbmVkACclcycgaXMgbm90IGRlZmluZWQAZ3JvdXAgbmFtZSBub3QgZGVmaW5lZABvcGVyYXRvciAlczogbm8gZnVuY3Rpb24gZGVmaW5lZABhbGxTZXR0bGVkAGZ1bGZpbGxlZABjYW5ub3QgYmUgY2FsbGVkAGlzU2VhbGVkACFzaC0+aXNfaGFzaGVkAHZhcl9yZWYtPmlzX2RldGFjaGVkAEFycmF5QnVmZmVyIGlzIGRldGFjaGVkAGFkZAAlKzA3ZAAlMDRkACUwMmQlMDJkACUwMmQvJTAyZC8lMCpkACUuM3MgJS4zcyAlMDJkICUwKmQAOiVkAGludmFsaWQgdGhyb3cgdmFyIHR5cGUgJWQAc2MAanNfZGVmX21hbGxvYwB0cnVuYwBnYwBleGVjAGJmX2ludGVnZXJfdG9fcmFkaXhfcmVjAHF1aWNranMvcXVpY2tqcy5jAHF1aWNranMvbGlicmVnZXhwLmMAcXVpY2tqcy9saWJiZi5jAHF1aWNranMvbGlidW5pY29kZS5jAHN1YgBwcm9taXNlX3JlYWN0aW9uX2pvYgBqc19wcm9taXNlX3Jlc29sdmVfdGhlbmFibGVfam9iAHIgIT0gYSAmJiByICE9IGIAcSAhPSBhICYmIHEgIT0gYgByd2EAciAhPSBhAF9fbG9va3VwU2V0dGVyX18AX19kZWZpbmVTZXR0ZXJfXwBfX2xvb2t1cEdldHRlcl9fAF9fZGVmaW5lR2V0dGVyX18AX19wcm90b19fAFtTeW1ib2wuc3BsaXRdAFtTeW1ib2wuc3BlY2llc10AW1N5bWJvbC5pdGVyYXRvcl0AW1N5bWJvbC5hc3luY0l0ZXJhdG9yXQBbU3ltYm9sLm1hdGNoQWxsXQBbU3ltYm9sLm1hdGNoXQBbU3ltYm9sLnNlYXJjaF0AW1N5bWJvbC50b1N0cmluZ1RhZ10AW1N5bWJvbC50b1ByaW1pdGl2ZV0AW3Vuc3VwcG9ydGVkIHR5cGVdAFtmdW5jdGlvbiBieXRlY29kZV0AW1N5bWJvbC5oYXNJbnN0YW5jZV0AW1N5bWJvbC5yZXBsYWNlXQBbACUwMmQ6JTAyZDolMDJkLiUwM2RaAFBPU0lUSVZFX0lORklOSVRZAE5FR0FUSVZFX0lORklOSVRZAHAtPmNsYXNzX2lkID09IEpTX0NMQVNTX0FSUkFZAHN0YWNrX2xlbiA8IFBPUF9TVEFDS19MRU5fTUFYAC0lMDJkLSUwMmRUAEpTX0F0b21HZXRTdHJSVABvcGNvZGUgPCBSRU9QX0NPVU5UAEJZVEVTX1BFUl9FTEVNRU5UACUwMmQ6JTAyZDolMDJkIEdNVABKU19WQUxVRV9HRVRfVEFHKHNmLT5jdXJfZnVuYykgPT0gSlNfVEFHX09CSkVDVAB2YXJfa2luZCA9PSBKU19WQVJfUFJJVkFURV9TRVRURVIATUFYX1NBRkVfSU5URUdFUgBNSU5fU0FGRV9JTlRFR0VSAGFzVWludE4AYXNJbnROAGlzTmFOAERhdGUgdmFsdWUgaXMgTmFOAHRvSlNPTgBFUFNJTE9OAE5BTgAlMDJkOiUwMmQ6JTAyZCAlY00Acy0+bGFiZWxfc2xvdHNbbGFiZWxdLmZpcnN0X3JlbG9jID09IE5VTEwAbGFiZWxfc2xvdHNbaV0uZmlyc3RfcmVsb2MgPT0gTlVMTABwcnMgIT0gTlVMTABzZi0+Y3VyX3NwICE9IE5VTEwAc2YgIT0gTlVMTABtcjEgIT0gTlVMTAB2YXJfa2luZCAhPSBKU19WQVJfTk9STUFMAGItPmZ1bmNfa2luZCA9PSBKU19GVU5DX05PUk1BTABlbmNvZGVVUkkAZGVjb2RlVVJJAFBJAHNwZWNpYWwgPT0gUFVUX0xWQUxVRV9OT0tFRVAgfHwgc3BlY2lhbCA9PSBQVVRfTFZBTFVFX05PS0VFUF9ERVBUSABzLT5zdGF0ZSA9PSBKU19BU1lOQ19HRU5FUkFUT1JfU1RBVEVfRVhFQ1VUSU5HAHByZWMxICE9IEJGX1BSRUNfSU5GADAxMjM0NTY3ODlBQkNERUYAU0laRQBNQVhfVkFMVUUATUlOX1ZBTFVFAE5BTUUAZXZhbF90eXBlID09IEpTX0VWQUxfVFlQRV9HTE9CQUwgfHwgZXZhbF90eXBlID09IEpTX0VWQUxfVFlQRV9NT0RVTEUAcC0+Z2Nfb2JqX3R5cGUgPT0gSlNfR0NfT0JKX1RZUEVfSlNfT0JKRUNUIHx8IHAtPmdjX29ial90eXBlID09IEpTX0dDX09CSl9UWVBFX0ZVTkNUSU9OX0JZVEVDT0RFAExPRzJFAExPRzEwRQBzLT5zdGF0ZSA9PSBKU19BU1lOQ19HRU5FUkFUT1JfU1RBVEVfQVdBSVRJTkdfUkVUVVJOIHx8IHMtPnN0YXRlID09IEpTX0FTWU5DX0dFTkVSQVRPUl9TVEFURV9DT01QTEVURUQAVVRDADxpbnB1dD4APHNldD4APGFub255bW91cz4APGR1bXA+ADxudWxsPgBiaWdpbnQgb3BlcmFuZHMgYXJlIGZvcmJpZGRlbiBmb3IgPj4+ACZxdW90OwBzZXRVaW50OABnZXRVaW50OABzZXRJbnQ4AGdldEludDgAbWFsZm9ybWVkIFVURi04AHJhZGl4IG11c3QgYmUgYmV0d2VlbiAyIGFuZCAzNgBzZXRVaW50MTYAZ2V0VWludDE2AHNldEludDE2AGdldEludDE2AGFyZ2MgPT0gNQBzZXRCaWdVaW50NjQAZ2V0QmlnVWludDY0AHNldEJpZ0ludDY0AGdldEJpZ0ludDY0AHNldEZsb2F0NjQAZ2V0RmxvYXQ2NABhcmdjID09IDMAYXRhbjIAbG9nMgBmbG9vckxvZzIAU1FSVDFfMgBTUVJUMgBMTjIAY2x6MzIAc2V0VWludDMyAGdldFVpbnQzMgBzZXRJbnQzMgBnZXRJbnQzMgBzZXRGbG9hdDMyAGdldEZsb2F0MzIAc3RhY2tfbGVuID49IDIASlNfQXRvbUlzTnVtZXJpY0luZGV4MQBqc19mY3Z0MQBKU19Db21wYWN0QmlnSW50MQBleHBtMQByICE9IGExICYmIHIgIT0gYjEAbHMtPmFkZHIgPT0gLTEAbnEgPj0gMQBzdGFja19sZW4gPj0gMQBwLT5oZWFkZXIucmVmX2NvdW50ID09IDEAcC0+c2hhcGUtPmhlYWRlci5yZWZfY291bnQgPT0gMQBzdGFja19sZW4gPT0gMQBqc19mcmVlX3NoYXBlMABsb2cxMABMTjEwAHAtPnJlZl9jb3VudCA+IDAAdmFyX3JlZi0+aGVhZGVyLnJlZl9jb3VudCA+IDAAc3RhY2tfc2l6ZSA+IDAAY3Bvb2xfaWR4ID49IDAAcnQtPmF0b21fY291bnQgPj0gMABscy0+cmVmX2NvdW50ID49IDAAcy0+aXNfZXZhbCB8fCBzLT5jbG9zdXJlX3Zhcl9jb3VudCA9PSAwAHAtPnJlZl9jb3VudCA9PSAwAGN0eC0+aGVhZGVyLnJlZl9jb3VudCA9PSAwAHNoLT5oZWFkZXIucmVmX2NvdW50ID09IDAAcC0+bWFyayA9PSAwAChuMiAlIHN0cmlwX2xlbikgPT0gMAAocHItPnUuaW5pdC5yZWFsbV9hbmRfaWQgJiAzKSA9PSAwAChuZXdfaGFzaF9zaXplICYgKG5ld19oYXNoX3NpemUgLSAxKSkgPT0gMABpICE9IDAAc2l6ZSAhPSAwAF4kXC4qKz8oKVtde318LwA8LwAwLgBtaXNzaW5nIGJpbmRpbmcgcGF0dGVybi4uLgBiaWdpbnQgYXJndW1lbnQgd2l0aCB1bmFyeSArAGFzeW5jIGZ1bmN0aW9uICoACn0pAGxpc3RfZW1wdHkoJnJ0LT5nY19vYmpfbGlzdCkAaiA9PSAoc2gtPnByb3BfY291bnQgLSBzaC0+ZGVsZXRlZF9wcm9wX2NvdW50KQBKU19Jc1VuZGVmaW5lZChmdW5jX3JldCkAIV9fSlNfQXRvbUlzVGFnZ2VkSW50KGRlc2NyKQAhYXRvbV9pc19mcmVlKHApAChudWxsKQAgKG5hdGl2ZSkAanNfY2xhc3NfaGFzX2J5dGVjb2RlKHAtPmNsYXNzX2lkKQB1bmNvbnNpc3RlbnQgc3RhY2sgc2l6ZTogJWQgJWQgKHBjPSVkKQBieXRlY29kZSBidWZmZXIgb3ZlcmZsb3cgKG9wPSVkLCBwYz0lZCkAc3RhY2sgb3ZlcmZsb3cgKG9wPSVkLCBwYz0lZCkAc3RhY2sgdW5kZXJmbG93IChvcD0lZCwgcGM9JWQpAGludmFsaWQgb3Bjb2RlIChvcD0lZCwgcGM9JWQpACg/OikAbm8gZnVuY3Rpb24gZmlsZW5hbWUgZm9yIGltcG9ydCgpAC1fLiF+KicoKQAgYW5vbnltb3VzKABTeW1ib2woAGV4cGVjdGluZyAnfScAY2xhc3MgY29uc3RydWN0b3JzIG11c3QgYmUgaW52b2tlZCB3aXRoICduZXcnAGV4cGVjdGluZyAnYXMnAHVuZXhwZWN0ZWQgdG9rZW4gaW4gZXhwcmVzc2lvbjogJyUuKnMnAHVuZXhwZWN0ZWQgdG9rZW46ICclLipzJwByZWRlY2xhcmF0aW9uIG9mICclcycAZHVwbGljYXRlIGV4cG9ydGVkIG5hbWUgJyVzJwBjaXJjdWxhciByZWZlcmVuY2Ugd2hlbiBsb29raW5nIGZvciBleHBvcnQgJyVzJyBpbiBtb2R1bGUgJyVzJwBDb3VsZCBub3QgZmluZCBleHBvcnQgJyVzJyBpbiBtb2R1bGUgJyVzJwBjb3VsZCBub3QgbG9hZCBtb2R1bGUgJyVzJwBjYW5ub3QgZGVmaW5lIHZhcmlhYmxlICclcycAdW5kZWZpbmVkIHByaXZhdGUgZmllbGQgJyVzJwB1bnN1cHBvcnRlZCByZWZlcmVuY2UgdG8gJ3N1cGVyJwBpbnZhbGlkIHVzZSBvZiAn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ZmlsbABmaW5kAGZpbmRJbmRleABmbGF0AGZsYXRNYXAAaW5jbHVkZXMAa2V5cwB2YWx1ZXMAAAAAAAEBAgIDAwIDAEGQpwEL3xBudWxsAGZhbHNlAHRydWUAaWYAZWxzZQByZXR1cm4AdmFyAHRoaXMAZGVsZXRlAHZvaWQAdHlwZW9mAG5ldwBpbgBpbnN0YW5jZW9mAGRvAHdoaWxlAGZvcgBicmVhawBjb250aW51ZQBzd2l0Y2gAY2FzZQBkZWZhdWx0AHRocm93AHRyeQBjYXRjaABmaW5hbGx5AGZ1bmN0aW9uAGRlYnVnZ2VyAHdpdGgAY2xhc3MAY29uc3QAZW51bQBleHBvcnQAZXh0ZW5kcwBpbXBvcnQAc3VwZXIAaW1wbGVtZW50cwBpbnRlcmZhY2UAbGV0AHBhY2thZ2UAcHJpdmF0ZQBwcm90ZWN0ZWQAcHVibGljAHN0YXRpYwB5aWVsZABhd2FpdAAAbGVuZ3RoAGZpbGVOYW1lAGxpbmVOdW1iZXIAbWVzc2FnZQBlcnJvcnMAc3RhY2sAbmFtZQB0b1N0cmluZwB0b0xvY2FsZVN0cmluZwB2YWx1ZU9mAGV2YWwAcHJvdG90eXBlAGNvbnN0cnVjdG9yAGNvbmZpZ3VyYWJsZQB3cml0YWJsZQBlbnVtZXJhYmxlAHZhbHVlAGdldABzZXQAb2YAX19wcm90b19fAHVuZGVmaW5lZABudW1iZXIAYm9vbGVhbgBzdHJpbmcAb2JqZWN0AHN5bWJvbABpbnRlZ2VyAHVua25vd24AYXJndW1lbnRzAGNhbGxlZQBjYWxsZXIAPGV2YWw+ADxyZXQ+ADx2YXI+ADxhcmdfdmFyPgA8d2l0aD4AbGFzdEluZGV4AHRhcmdldABpbmRleABpbnB1dABkZWZpbmVQcm9wZXJ0aWVzAGFwcGx5AGpvaW4AY29uY2F0AHNwbGl0AGNvbnN0cnVjdABnZXRQcm90b3R5cGVPZgBzZXRQcm90b3R5cGVPZgBpc0V4dGVuc2libGUAcHJldmVudEV4dGVuc2lvbnMAaGFzAGRlbGV0ZVByb3BlcnR5AGRlZmluZVByb3BlcnR5AGdldE93blByb3BlcnR5RGVzY3JpcHRvcgBvd25LZXlzAGFkZABkb25lAG5leHQAdmFsdWVzAHNvdXJjZQBmbGFncwBnbG9iYWwAdW5pY29kZQByYXcAbmV3LnRhcmdldAB0aGlzLmFjdGl2ZV9mdW5jADxob21lX29iamVjdD4APGNvbXB1dGVkX2ZpZWxkPgA8c3RhdGljX2NvbXB1dGVkX2ZpZWxkPgA8Y2xhc3NfZmllbGRzX2luaXQ+ADxicmFuZD4AI2NvbnN0cnVjdG9yAGFzAGZyb20AbWV0YQAqZGVmYXVsdCoAKgBNb2R1bGUAdGhlbgByZXNvbHZlAHJlamVjdABwcm9taXNlAHByb3h5AHJldm9rZQBhc3luYwBleGVjAGdyb3VwcwBzdGF0dXMAcmVhc29uAGdsb2JhbFRoaXMAYmlnaW50AGJpZ2Zsb2F0AGJpZ2RlY2ltYWwAcm91bmRpbmdNb2RlAG1heGltdW1TaWduaWZpY2FudERpZ2l0cwBtYXhpbXVtRnJhY3Rpb25EaWdpdHMAdG9KU09OAE9iamVjdABBcnJheQBFcnJvcgBOdW1iZXIAU3RyaW5nAEJvb2xlYW4AU3ltYm9sAEFyZ3VtZW50cwBNYXRoAEpTT04ARGF0ZQBGdW5jdGlvbgBHZW5lcmF0b3JGdW5jdGlvbgBGb3JJbkl0ZXJhdG9yAFJlZ0V4cABBcnJheUJ1ZmZlcgBTaGFyZWRBcnJheUJ1ZmZlcgBVaW50OENsYW1wZWRBcnJheQBJbnQ4QXJyYXkAVWludDhBcnJheQBJbnQxNkFycmF5AFVpbnQxNkFycmF5AEludDMyQXJyYXkAVWludDMyQXJyYXkAQmlnSW50NjRBcnJheQBCaWdVaW50NjRBcnJheQBGbG9hdDMyQXJyYXkARmxvYXQ2NEFycmF5AERhdGFWaWV3AEJpZ0ludABCaWdGbG9hdABCaWdGbG9hdEVudgBCaWdEZWNpbWFsAE9wZXJhdG9yU2V0AE9wZXJhdG9ycwBNYXAAU2V0AFdlYWtNYXAAV2Vha1NldABNYXAgSXRlcmF0b3IAU2V0IEl0ZXJhdG9yAEFycmF5IEl0ZXJhdG9yAFN0cmluZyBJdGVyYXRvcgBSZWdFeHAgU3RyaW5nIEl0ZXJhdG9yAEdlbmVyYXRvcgBQcm94eQBQcm9taXNlAFByb21pc2VSZXNvbHZlRnVuY3Rpb24AUHJvbWlzZVJlamVjdEZ1bmN0aW9uAEFzeW5jRnVu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AbwAQIa8AHCBvwAAAcAAMIHAAEAEwQAwAcMAQILDADCCxABAgsUAMAHHADCBxwAwAcgAQILIADCByQAwAcoAAIHKADABywAwgcsAQALMAAABzQAwAc4AMIHOAAABzwAwgc8AQAbQADAB0wBAgtMAMIHUAEAC1gAwAdcAQILXADCC2ABAhNkAMIHbAEAC3ABAAt4AAIHfAFAD4gBQg+MAUAPlAECQ5gAAge4AQBLvALQB+ABQg/gAQAL6ADAB+wAwgfsAQCj8ADABEAFAEhEBMQEdAUCCHQEwgR4BMQEfAQGCHwFAgiABMIEhATABIgEwgSIBQAojAQEBKAEBgSgBAQEpAQCBKQEAASoBAAIrAQCBLAEAgS0BAQEuAQABMAEBgTABAIExAQGBMgEBATMBAAE0AQCBNAEBATUBAYE1AQEBNgEAgTcBAYE4AQABOQEAgToBAYE+AQABQAEBAUEBAIFBAQGBQwEAAUQBAIFEAQACRQEAAUYBAAFJAQGBTgEBAU8Bc4GiAUAEuAFAArsBAIO9ATCBvwEwAcMBMAPEATABxgEwAscB0AHIATCRyAEwidEBAAHWAQCD1gHTAdgBAJHYAXMB4QEAieEBAAHmAQCC5gEwgecBcwHoAXOB6AFzgeoBcwHrAQCB6wFAGOwBcwH4AXOB+AEAAfkBAIH5AaAB+gFzgfoBQIL7ATCB/AFAAv0BMIP+ATAQAAIwIAgCACAYAgAQKAJAIjACQDZFAjABYAJAjmACAIFnAkBgaAIwppgCAKawArWBwwIxJlAIMYFjCDGBZggAK2gIAIN+CBFQ0AkQBvgJIAb8CXQBQA50gUAOdAFBDnSBQQ50AUIOdIFCDnQBQw6AgUMOgAFEDjArSA4wg14OAYG8DgGBvg4BAccOQH4AD0AYPw+1AUsPtoFLD7YBTA+2gUwPtwFND4CBTQ8wAU8PQGBQDwAIgA8wCIQPAAaIDzAGjA8ACJAPMAiUDwAImA8wCJwPAAagDzAGpA+wAagPAIGoD9MBqQ8AgakP0wGqDwCBqg/TAasPAIGrDzCBrA8wga0PMIGuDzCBrw8ACLAPMAi0DwACuA8ABLkPAAK7DwECvA8BAr0PAQK+D7cIwA9nCMQPuAjID2gIzA+4CNAPaAjUDwAC2A+5AdkPsYHZD7kB2g+xAdsP14HbDzAC3A8wAt0PYQHeD3MB3w+5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gUDrOAmJYE8jgELgj4+PEZeCQL+JpIBCvIBA4YBAlIRBJIlFVhAMg6cTgECkgUI8H4lBcIFAmIqwg/mCtI6eigmJg6yKMKyJKqONgIkhq4CLgq+NO4CL0YsoQJ+LhIkrtggxCYKIgIkJMoRAv5GIiRjQk4uJQNQxiJqB0ZCOidCMh4nSjoOJQPGOQKSJxSgJGACBi4n2MTKAm4mnMB+AiIqtj0GUOIePibeVgI35KgAIMAeJryAIJ4lBSINgS2iJ1YmlhLqGmIlD9AC2M9CAioFgTKqBUmCtgZZCHSIvOYadg0CTgkWIsUH/toOxOI2AlSCORU8wkA4BBEEEhoiJQWOAvI1F1YbsNIlSlYlsBQVA7/oGAHAJAPAKQFcMAPANQMcPAOoXIEUbIFUgIAyoYDeqAFD+ADoNAYMRAcQUIUQZIVodQZ+8YbDaIfABDgAAAABBZGxhbSxBZGxtAEFob20sQWhvbQBBbmF0b2xpYW5fSGllcm9nbHlwaHMsSGx1dwBBcmFiaWMsQXJhYgBBcm1lbmlhbixBcm1uAEF2ZXN0YW4sQXZzdABCYWxpbmVzZSxCYWxpAEJhbXVtLEJhbXUAQmFzc2FfVmFoLEJhc3MAQmF0YWssQmF0awBCZW5nYWxpLEJlbmcAQmhhaWtzdWtpLEJoa3MAQm9wb21vZm8sQm9wbwBCcmFobWksQnJhaABCcmFpbGxlLEJyYWkAQnVnaW5lc2UsQnVnaQBCdWhpZCxCdWhkAENhbmFkaWFuX0Fib3JpZ2luYWwsQ2FucwBDYXJpYW4sQ2FyaQBDYXVjYXNpYW5fQWxiYW5pYW4sQWdoYgBDaGFrbWEsQ2FrbQBDaGFtLENoYW0AQ2hlcm9rZWUsQ2hlcgBDaG9yYXNtaWFuLENocnMAQ29tbW9uLFp5eXkAQ29wdGljLENvcHQsUWFhYwBDdW5laWZvcm0sWHN1eABDeXByaW90LENwcnQAQ3lyaWxsaWMsQ3lybABDeXByb19NaW5vYW4sQ3BtbgBEZXNlcmV0LERzcnQARGV2YW5hZ2FyaSxEZXZhAERpdmVzX0FrdXJ1LERpYWsARG9ncmEsRG9ncgBEdXBsb3lhbixEdXBsAEVneXB0aWFuX0hpZXJvZ2x5cGhzLEVneXAARWxiYXNhbixFbGJhAEVseW1haWMsRWx5bQBFdGhpb3BpYyxFdGhpAEdlb3JnaWFuLEdlb3IAR2xhZ29saXRpYyxHbGFnAEdvdGhpYyxHb3RoAEdyYW50aGEsR3JhbgBHcmVlayxHcmVrAEd1amFyYXRpLEd1anIAR3VuamFsYV9Hb25kaSxHb25nAEd1cm11a2hpLEd1cnUASGFuLEhhbmkASGFuZ3VsLEhhbmcASGFuaWZpX1JvaGluZ3lhLFJvaGcASGFudW5vbyxIYW5vAEhhdHJhbixIYXRyAEhlYnJldyxIZWJyAEhpcmFnYW5hLEhpcmEASW1wZXJpYWxfQXJhbWFpYyxBcm1pAEluaGVyaXRlZCxaaW5oLFFhYWkASW5zY3JpcHRpb25hbF9QYWhsYXZpLFBobGkASW5zY3JpcHRpb25hbF9QYXJ0aGlhbixQcnRpAEphdmFuZXNlLEphdmEAS2FpdGhpLEt0aGkAS2FubmFkYSxLbmRhAEthdGFrYW5hLEthbmEAS2F5YWhfTGksS2FsaQBLaGFyb3NodGhpLEtoYXIAS2htZXIsS2htcgBLaG9qa2ksS2hvagBLaGl0YW5fU21hbGxfU2NyaXB0LEtpdHMAS2h1ZGF3YWRpLFNpbmQATGFvLExhb28ATGF0aW4sTGF0bgBMZXBjaGEsTGVwYwBMaW1idSxMaW1iAExpbmVhcl9BLExpbmEATGluZWFyX0IsTGluYgBMaXN1LExpc3UATHljaWFuLEx5Y2kATHlkaWFuLEx5ZGkATWFrYXNhcixNYWthAE1haGFqYW5pLE1haGoATWFsYXlhbGFtLE1seW0ATWFuZGFpYyxNYW5kAE1hbmljaGFlYW4sTWFuaQBNYXJjaGVuLE1hcmMATWFzYXJhbV9Hb25kaSxHb25tAE1lZGVmYWlkcmluLE1lZGYATWVldGVpX01heWVrLE10ZWkATWVuZGVfS2lrYWt1aSxNZW5kAE1lcm9pdGljX0N1cnNpdmUsTWVyYwBNZXJvaXRpY19IaWVyb2dseXBocyxNZXJvAE1pYW8sUGxyZABNb2RpLE1vZGkATW9uZ29saWFuLE1vbmcATXJvLE1yb28ATXVsdGFuaSxNdWx0AE15YW5tYXIsTXltcgBOYWJhdGFlYW4sTmJhdABOYW5kaW5hZ2FyaSxOYW5kAE5ld19UYWlfTHVlLFRhbHUATmV3YSxOZXdhAE5rbyxOa29vAE51c2h1LE5zaHUATnlpYWtlbmdfUHVhY2h1ZV9IbW9uZyxIbW5wAE9naGFtLE9nYW0AT2xfQ2hpa2ksT2xjawBPbGRfSHVuZ2FyaWFuLEh1bmcAT2xkX0l0YWxpYyxJdGFsAE9sZF9Ob3J0aF9BcmFiaWFuLE5hcmIAT2xkX1Blcm1pYyxQZXJtAE9sZF9QZXJzaWFuLFhwZW8AT2xkX1NvZ2RpYW4sU29nbwBPbGRfU291dGhfQXJhYmlhbixTYXJiAE9sZF9UdXJraWMsT3JraABPbGRfVXlnaHVyLE91Z3IAT3JpeWEsT3J5YQBPc2FnZSxPc2dlAE9zbWFueWEsT3NtYQBQYWhhd2hfSG1vbmcsSG1uZwBQYWxteXJlbmUsUGFsbQBQYXVfQ2luX0hhdSxQYXVjAFBoYWdzX1BhLFBoYWcAUGhvZW5pY2lhbixQaG54AFBzYWx0ZXJfUGFobGF2aSxQaGxwAFJlamFuZyxSam5nAFJ1bmljLFJ1bnIAU2FtYXJpdGFuLFNhbXIAU2F1cmFzaHRyYSxTYXVyAFNoYXJhZGEsU2hyZABTaGF2aWFuLFNoYXcAU2lkZGhhbSxTaWRkAFNpZ25Xcml0aW5nLFNnbncAU2luaGFsYSxTaW5oAFNvZ2RpYW4sU29nZABTb3JhX1NvbXBlbmcsU29yYQBTb3lvbWJvLFNveW8AU3VuZGFuZXNlLFN1bmQAU3lsb3RpX05hZ3JpLFN5bG8AU3lyaWFjLFN5cmMAVGFnYWxvZyxUZ2xnAFRhZ2JhbndhLFRhZ2IAVGFpX0xlLFRhbGUAVGFpX1RoYW0sTGFuYQBUYWlfVmlldCxUYXZ0AFRha3JpLFRha3IAVGFtaWwsVGFtbABUYW5ndXQsVGFuZwBUZWx1Z3UsVGVsdQBUaGFhbmEsVGhhYQBUaGFpLFRoYWkAVGliZXRhbixUaWJ0AFRpZmluYWdoLFRmbmcAVGlyaHV0YSxUaXJoAFRhbmdzYSxUbnNhAFRvdG8sVG90bwBVZ2FyaXRpYyxVZ2FyAFZhaSxWYWlpAFZpdGhrdXFpLFZpdGgAV2FuY2hvLFdjaG8AV2FyYW5nX0NpdGksV2FyYQBZZXppZGksWWV6aQBZaSxZaWlpAFphbmFiYXphcl9TcXVhcmUsWmFuYgAAAAAAAADAGZlGhRmZRq4Z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aWZpZXJfTGV0dGVyAExvLE90aGVyX0xldHRlcgBNbixOb25zcGFjaW5nX01hcmsATWMsU3BhY2luZ19NYXJrAE1lLEVuY2xvc2luZ19NYXJrAE5kLERlY2ltYWxfTnVtYmVyLGRpZ2l0AE5sLExldHRlcl9OdW1iZXIATm8sT3RoZXJfTnVtYmVyAFNtLE1hdGhfU3ltYm9sAFNjLEN1cnJlbmN5X1N5bWJvbABTayxNb2RpZmllcl9TeW1ib2wAU28sT3RoZXJfU3ltYm9sAFBjLENvbm5lY3Rvcl9QdW5jdHVhdGlvbgBQZCxEYXNoX1B1bmN0dWF0aW9uAFBzLE9wZW5fUHVuY3R1YXRpb24AUGUsQ2xvc2VfUHVuY3R1YXRpb24AUGksSW5pdGlhbF9QdW5jdHVhdGlvbgBQZixGaW5hbF9QdW5jdHVhdGlvbgBQbyxPdGhlcl9QdW5jdHVhdGlvbgBacyxTcGFjZV9TZXBhcmF0b3IAWmwsTGluZV9TZXBhcmF0b3IAWnAsUGFyYWdyYXBoX1NlcGFyYXRvcgBDYyxDb250cm9sLGNudHJsAENmLEZvcm1hdABDcyxTdXJyb2dhdGUAQ28sUHJpdmF0ZV9Vc2UATEMsQ2FzZWRfTGV0dGVyAEwsTGV0dGVyAE0sTWFyayxDb21iaW5pbmdfTWFyawBOLE51bWJlcgBTLFN5bWJvbABQLFB1bmN0dWF0aW9uLHB1bmN0AFosU2VwYXJhdG9yAEMsT3RoZXIAQYDcAguwCA4AAAA+AAAAwAEAAAAOAAAA8AAAAAB/AAAAgAMBAAA8QVNDSUlfSGV4X0RpZ2l0LEFIZXgAQmlkaV9Db250cm9sLEJpZGlfQwBEYXNoAERlcHJlY2F0ZWQsRGVwAERpYWNyaXRpYyxEaWEARXh0ZW5kZXIsRXh0AEhleF9EaWdpdCxIZXgASURTX0JpbmFyeV9PcGVyYXRvcixJRFNCAElEU19UcmluYXJ5X09wZXJhdG9yLElEU1QASWRlb2dyYXBoaWMsSWRlbwBKb2luX0NvbnRyb2wsSm9pbl9DAExvZ2ljYWxfT3JkZXJfRXhjZXB0aW9uLExPRQBOb25jaGFyYWN0ZXJfQ29kZV9Qb2ludCxOQ2hhcgBQYXR0ZXJuX1N5bnRheCxQYXRfU3luAFBhdHRlcm5fV2hpdGVfU3BhY2UsUGF0X1dTAFF1b3RhdGlvbl9NYXJrLFFNYXJrAFJhZGljYWwAUmVnaW9uYWxfSW5kaWNhdG9yLFJJAFNlbnRlbmNlX1Rlcm1pbmFsLFNUZXJtAFNvZnRfRG90dGVkLFNEAFRlcm1pbmFsX1B1bmN0dWF0aW9uLFRlcm0AVW5pZmllZF9JZGVvZ3JhcGgsVUlkZW8AVmFyaWF0aW9uX1NlbGVjdG9yLFZTAFdoaXRlX1NwYWNlLHNwYWNlAEJpZGlfTWlycm9yZWQsQmlkaV9NAEVtb2ppAEVtb2ppX0NvbXBvbmVudCxFQ29tcABFbW9qaV9Nb2RpZmllcixFTW9kAEVtb2ppX01vZGlmaWVyX0Jhc2UsRUJhc2UARW1vamlfUHJlc2VudGF0aW9uLEVQcmVzAEV4dGVuZGVkX1BpY3RvZ3JhcGhpYyxFeHRQaWN0AERlZmF1bHRfSWdub3JhYmxlX0NvZGVfUG9pbnQsREkASURfU3RhcnQsSURTAENhc2VfSWdub3JhYmxlLENJAEFTQ0lJAEFscGhhYmV0aWMsQWxwaGEAQW55AEFzc2lnbmVkAENhc2VkAENoYW5nZXNfV2hlbl9DYXNlZm9sZGVkLENXQ0YAQ2hhbmdlc19XaGVuX0Nhc2VtYXBwZWQsQ1dDTQBDaGFuZ2VzX1doZW5fTG93ZXJjYXNlZCxDV0wAQ2hhbmdlc19XaGVuX05GS0NfQ2FzZWZvbGRlZCxDV0tDRgBDaGFuZ2VzX1doZW5fVGl0bGVjYXNlZCxDV1QAQ2hhbmdlc19XaGVuX1VwcGVyY2FzZWQsQ1dVAEdyYXBoZW1lX0Jhc2UsR3JfQmFzZQBHcmFwaGVtZV9FeHRlbmQsR3JfRXh0AElEX0NvbnRpbnVlLElEQwBMb3dlcmNhc2UsTG93ZXIATWF0aABVcHBlcmNhc2UsVXBwZXIAWElEX0NvbnRpbnVlLFhJREMAWElEX1N0YXJ0LFhJRFMAQcDkAgvUFYEAKACXACoAgYAqAJfAKwAVgSwAlwAtAIFALQCXAC4AFUEuAJkBLwAWIDAAQghAAEKKRABCBEoAlgBMABeBTABCAk0AQkNOAC/BTwBCw1AAv0BSAEIDUwBCCVUAQghaAJYAXgBCQ14AgcBfAEIBaABCwWsAhQFxABfDcQBESHMARIN3AEKD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EAESARQBIAEsAUQBTQFTAWIBaAFqAXYBkgGUAakBuwHHAdEB1QG5AtcBOwDZAdsBtwDhAfwBDAIYAh0CIwInAqMDMwI/AkICSwJOAlECXQJgAmkCbAJvAnUCeAKBAooCnAKfAqMCrwK5AsUCyQLNAtEC1QLnAu0C8QL1AvkC/QIFAwkDDQMTAxcDGwMjAycDKwMvAzUDPQNBA0kDTQNRAwsPVwNbA18DYwNnA2sDbwNzA3kDfQOBA4UDiQONA5EDlQOZA50DoQPcEKUDyQPNA9kD3QPhA+8D8QM9BE8EmQTwBAIFSgVkBWwFcAVzBZoF+gX+BQcGCwYUBhgGHgYiBigGjgaUBpgGngaiBqsGrAPzBq0D9gauA/kGrwP8BswD/wbNAwIHzgMFBwkHDQcRB4YDMgc1B7kDNwc7B4gDUweJA1YHkANrB4oDdwewA4kHjgOZB58HoweMA7gHjwO7B7QAvgfAB8IHECDLBy4AzQfPByAA0gfWB9sH3wfkB+oH8AcgAPYHEiIBCAUIBwgdCCUIJwhDAC0IMAiQATYIOQhOAEUIRwhMCE4IUQhaAKkDWgBTCFcIYAhpAGIIZQhvCHQIegh+CKIISQCkCKYIqQhWAKsIrQiwCLQIWAC2CLgIuwjACMIIxQh2AMcIyQjMCNAIeADSCNQI1wjbCN4I5AjnCPAI8wj2CPkIAgkGCQsJDwkUCRcJGgkjCSwJOwk+CUEJRAlHCUoJVglcCWAJYglkCWgJaglwCXgJfAmACYYJiQmPCZEJMACTCZkJnAmeCaEJpAlhLc1rn5+mCbEJvAnHCZUKoQoVCyAAJwsxC40LoQulC6kLrQuxC7ULuQu9C8ELxQshDDUMOQw9DEEMRQxJDE0MUQxVDFkMbwxxDHMMoAy8DNwM5AzsDPQM/AwEDQwNFA0iDS4Neg2CDYUNiQ2NDZ0NsQ21DbwNwg3GDSgOLA4wDjIONg48Dj4OQQ5DDkYOdw57DokOjg6UDpwOow6pDrQOvg7GDsoOzw7ZDt0O5A7sDvMO+A4EDwoPFQ8bDyIPKA8zDz0PRQ9MD1EPVw9eD2MPaQ9wD3YPfQ+CD4kPjQ+eD6QPqQ+tD7gPvg/JD9AP1g/aD+EP5Q/vD/oPABAEEAkQDxATEBoQHxAjECkQLxAyEDYQORA/EEUQWRBhEHkQfBCAEJUQoRCxEMMQyxDPENoQ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";
return f;
}
var wasmBinaryFile;
function getBinarySync(file) {
if (file == wasmBinaryFile && wasmBinary) {
return new Uint8Array(wasmBinary);
}
var binary = tryParseAsDataURI(file);
if (binary) {
return binary;
}
if (readBinary) {
return readBinary(file);
}
throw "both async and sync fetching of the wasm failed";
}
function getBinaryPromise(binaryFile) {
return Promise.resolve().then(() => getBinarySync(binaryFile));
}
function instantiateArrayBuffer(binaryFile, imports, receiver) {
return getBinaryPromise(binaryFile).then((binary) => WebAssembly.instantiate(binary, imports)).then(receiver, (reason) => {
err(`failed to asynchronously prepare wasm: ${reason}`);
abort(reason);
});
}
function instantiateAsync(binary, binaryFile, imports, callback) {
return instantiateArrayBuffer(binaryFile, imports, callback);
}
function getWasmImports() {
return { a: wasmImports };
}
function createWasm() {
var info = getWasmImports();
function receiveInstance(instance, module3) {
wasmExports = instance.exports;
wasmMemory = wasmExports["p"];
updateMemoryViews();
addOnInit(wasmExports["q"]);
removeRunDependency("wasm-instantiate");
return wasmExports;
}
addRunDependency("wasm-instantiate");
function receiveInstantiationResult(result) {
receiveInstance(result["instance"]);
}
if (Module2["instantiateWasm"]) {
try {
return Module2["instantiateWasm"](info, receiveInstance);
} catch (e) {
err(`Module.instantiateWasm callback failed with error: ${e}`);
readyPromiseReject(e);
}
}
wasmBinaryFile ?? (wasmBinaryFile = findWasmBinary());
instantiateAsync(wasmBinary, wasmBinaryFile, info, receiveInstantiationResult).catch(readyPromiseReject);
return {};
}
function qts_host_call_function(ctx, this_ptr, argc, argv, magic_func_id) {
const asyncify = void 0;
return Module2["callbacks"]["callFunction"](asyncify, ctx, this_ptr, argc, argv, magic_func_id);
}
function qts_host_interrupt_handler(rt) {
const asyncify = void 0;
return Module2["callbacks"]["shouldInterrupt"](asyncify, rt);
}
function qts_host_load_module_source(rt, ctx, module_name) {
const asyncify = void 0;
const moduleNameString = UTF8ToString(module_name);
return Module2["callbacks"]["loadModuleSource"](asyncify, rt, ctx, moduleNameString);
}
function qts_host_normalize_module(rt, ctx, module_base_name, module_name) {
const asyncify = void 0;
const moduleBaseNameString = UTF8ToString(module_base_name);
const moduleNameString = UTF8ToString(module_name);
return Module2["callbacks"]["normalizeModule"](asyncify, rt, ctx, moduleBaseNameString, moduleNameString);
}
var callRuntimeCallbacks = (callbacks) => {
callbacks.forEach((f) => f(Module2));
};
var noExitRuntime = Module2["noExitRuntime"] || true;
var stackRestore = (val) => __emscripten_stack_restore(val);
var stackSave = () => _emscripten_stack_get_current();
var UTF8Decoder = typeof TextDecoder != "undefined" ? new TextDecoder() : void 0;
var UTF8ArrayToString = (heapOrArray, idx = 0, maxBytesToRead = NaN) => {
var endIdx = idx + maxBytesToRead;
var endPtr = idx;
while (heapOrArray[endPtr] && !(endPtr >= endIdx))
++endPtr;
if (endPtr - idx > 16 && heapOrArray.buffer && UTF8Decoder) {
return UTF8Decoder.decode(heapOrArray.subarray(idx, endPtr));
}
var str = "";
while (idx < endPtr) {
var u0 = heapOrArray[idx++];
if (!(u0 & 128)) {
str += String.fromCharCode(u0);
continue;
}
var u1 = heapOrArray[idx++] & 63;
if ((u0 & 224) == 192) {
str += String.fromCharCode((u0 & 31) << 6 | u1);
continue;
}
var u2 = heapOrArray[idx++] & 63;
if ((u0 & 240) == 224) {
u0 = (u0 & 15) << 12 | u1 << 6 | u2;
} else {
u0 = (u0 & 7) << 18 | u1 << 12 | u2 << 6 | heapOrArray[idx++] & 63;
}
if (u0 < 65536) {
str += String.fromCharCode(u0);
} else {
var ch = u0 - 65536;
str += String.fromCharCode(55296 | ch >> 10, 56320 | ch & 1023);
}
}
return str;
};
var UTF8ToString = (ptr, maxBytesToRead) => ptr ? UTF8ArrayToString(HEAPU8, ptr, maxBytesToRead) : "";
var ___assert_fail = (condition, filename, line, func) => {
abort(`Assertion failed: ${UTF8ToString(condition)}, at: ` + [filename ? UTF8ToString(filename) : "unknown filename", line, func ? UTF8ToString(func) : "unknown function"]);
};
var __abort_js = () => {
abort("");
};
var isLeapYear = (year) => year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0);
var MONTH_DAYS_LEAP_CUMULATIVE = [0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335];
var MONTH_DAYS_REGULAR_CUMULATIVE = [0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334];
var ydayFromDate = (date) => {
var leap = isLeapYear(date.getFullYear());
var monthDaysCumulative = leap ? MONTH_DAYS_LEAP_CUMULATIVE : MONTH_DAYS_REGULAR_CUMULATIVE;
var yday = monthDaysCumulative[date.getMonth()] + date.getDate() - 1;
return yday;
};
var convertI32PairToI53Checked = (lo, hi) => hi + 2097152 >>> 0 < 4194305 - !!lo ? (lo >>> 0) + hi * 4294967296 : NaN;
function __localtime_js(time_low, time_high, tmPtr) {
var time = convertI32PairToI53Checked(time_low, time_high);
var date = new Date(time * 1e3);
HEAP32[tmPtr >> 2] = date.getSeconds();
HEAP32[tmPtr + 4 >> 2] = date.getMinutes();
HEAP32[tmPtr + 8 >> 2] = date.getHours();
HEAP32[tmPtr + 12 >> 2] = date.getDate();
HEAP32[tmPtr + 16 >> 2] = date.getMonth();
HEAP32[tmPtr + 20 >> 2] = date.getFullYear() - 1900;
HEAP32[tmPtr + 24 >> 2] = date.getDay();
var yday = ydayFromDate(date) | 0;
HEAP32[tmPtr + 28 >> 2] = yday;
HEAP32[tmPtr + 36 >> 2] = -(date.getTimezoneOffset() * 60);
var start = new Date(date.getFullYear(), 0, 1);
var summerOffset = new Date(date.getFullYear(), 6, 1).getTimezoneOffset();
var winterOffset = start.getTimezoneOffset();
var dst = (summerOffset != winterOffset && date.getTimezoneOffset() == Math.min(winterOffset, summerOffset)) | 0;
HEAP32[tmPtr + 32 >> 2] = dst;
}
var stringToUTF8Array = (str, heap, outIdx, maxBytesToWrite) => {
if (!(maxBytesToWrite > 0))
return 0;
var startIdx = outIdx;
var endIdx = outIdx + maxBytesToWrite - 1;
for (var i = 0; i < str.length; ++i) {
var u = str.charCodeAt(i);
if (u >= 55296 && u <= 57343) {
var u1 = str.charCodeAt(++i);
u = 65536 + ((u & 1023) << 10) | u1 & 1023;
}
if (u <= 127) {
if (outIdx >= endIdx)
break;
heap[outIdx++] = u;
} else if (u <= 2047) {
if (outIdx + 1 >= endIdx)
break;
heap[outIdx++] = 192 | u >> 6;
heap[outIdx++] = 128 | u & 63;
} else if (u <= 65535) {
if (outIdx + 2 >= endIdx)
break;
heap[outIdx++] = 224 | u >> 12;
heap[outIdx++] = 128 | u >> 6 & 63;
heap[outIdx++] = 128 | u & 63;
} else {
if (outIdx + 3 >= endIdx)
break;
heap[outIdx++] = 240 | u >> 18;
heap[outIdx++] = 128 | u >> 12 & 63;
heap[outIdx++] = 128 | u >> 6 & 63;
heap[outIdx++] = 128 | u & 63;
}
}
heap[outIdx] = 0;
return outIdx - startIdx;
};
var stringToUTF8 = (str, outPtr, maxBytesToWrite) => stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite);
var __tzset_js = (timezone, daylight, std_name, dst_name) => {
var currentYear = (/* @__PURE__ */ new Date()).getFullYear();
var winter = new Date(currentYear, 0, 1);
var summer = new Date(currentYear, 6, 1);
var winterOffset = winter.getTimezoneOffset();
var summerOffset = summer.getTimezoneOffset();
var stdTimezoneOffset = Math.max(winterOffset, summerOffset);
HEAPU32[timezone >> 2] = stdTimezoneOffset * 60;
HEAP32[daylight >> 2] = Number(winterOffset != summerOffset);
var extractZone = (timezoneOffset) => {
var sign = timezoneOffset >= 0 ? "-" : "+";
var absOffset = Math.abs(timezoneOffset);
var hours = String(Math.floor(absOffset / 60)).padStart(2, "0");
var minutes = String(absOffset % 60).padStart(2, "0");
return `UTC${sign}${hours}${minutes}`;
};
var winterName = extractZone(winterOffset);
var summerName = extractZone(summerOffset);
if (summerOffset < winterOffset) {
stringToUTF8(winterName, std_name, 17);
stringToUTF8(summerName, dst_name, 17);
} else {
stringToUTF8(winterName, dst_name, 17);
stringToUTF8(summerName, std_name, 17);
}
};
var _emscripten_date_now = () => Date.now();
var getHeapMax = () => 2147483648;
var alignMemory = (size, alignment) => Math.ceil(size / alignment) * alignment;
var growMemory = (size) => {
var b = wasmMemory.buffer;
var pages = (size - b.byteLength + 65535) / 65536 | 0;
try {
wasmMemory.grow(pages);
updateMemoryViews();
return 1;
} catch (e) {
}
};
var _emscripten_resize_heap = (requestedSize) => {
var oldSize = HEAPU8.length;
requestedSize >>>= 0;
var maxHeapSize = getHeapMax();
if (requestedSize > maxHeapSize) {
return false;
}
for (var cutDown = 1; cutDown <= 4; cutDown *= 2) {
var overGrownHeapSize = oldSize * (1 + 0.2 / cutDown);
overGrownHeapSize = Math.min(overGrownHeapSize, requestedSize + 100663296);
var newSize = Math.min(maxHeapSize, alignMemory(Math.max(requestedSize, overGrownHeapSize), 65536));
var replacement = growMemory(newSize);
if (replacement) {
return true;
}
}
return false;
};
var ENV = {};
var getExecutableName = () => thisProgram || "./this.program";
var getEnvStrings = () => {
if (!getEnvStrings.strings) {
var lang = (typeof navigator == "object" && navigator.languages && navigator.languages[0] || "C").replace("-", "_") + ".UTF-8";
var env = { USER: "web_user", LOGNAME: "web_user", PATH: "/", PWD: "/", HOME: "/home/web_user", LANG: lang, _: getExecutableName() };
for (var x in ENV) {
if (ENV[x] === void 0)
delete env[x];
else
env[x] = ENV[x];
}
var strings = [];
for (var x in env) {
strings.push(`${x}=${env[x]}`);
}
getEnvStrings.strings = strings;
}
return getEnvStrings.strings;
};
var stringToAscii = (str, buffer) => {
for (var i = 0; i < str.length; ++i) {
HEAP8[buffer++] = str.charCodeAt(i);
}
HEAP8[buffer] = 0;
};
var _environ_get = (__environ, environ_buf) => {
var bufSize = 0;
getEnvStrings().forEach((string, i) => {
var ptr = environ_buf + bufSize;
HEAPU32[__environ + i * 4 >> 2] = ptr;
stringToAscii(string, ptr);
bufSize += string.length + 1;
});
return 0;
};
var _environ_sizes_get = (penviron_count, penviron_buf_size) => {
var strings = getEnvStrings();
HEAPU32[penviron_count >> 2] = strings.length;
var bufSize = 0;
strings.forEach((string) => bufSize += string.length + 1);
HEAPU32[penviron_buf_size >> 2] = bufSize;
return 0;
};
var _fd_close = (fd) => 52;
function _fd_seek(fd, offset_low, offset_high, whence, newOffset) {
var offset = convertI32PairToI53Checked(offset_low, offset_high);
return 70;
}
var printCharBuffers = [null, [], []];
var printChar = (stream, curr) => {
var buffer = printCharBuffers[stream];
if (curr === 0 || curr === 10) {
(stream === 1 ? out : err)(UTF8ArrayToString(buffer));
buffer.length = 0;
} else {
buffer.push(curr);
}
};
var _fd_write = (fd, iov, iovcnt, pnum) => {
var num = 0;
for (var i = 0; i < iovcnt; i++) {
var ptr = HEAPU32[iov >> 2];
var len = HEAPU32[iov + 4 >> 2];
iov += 8;
for (var j = 0; j < len; j++) {
printChar(fd, HEAPU8[ptr + j]);
}
num += len;
}
HEAPU32[pnum >> 2] = num;
return 0;
};
var getCFunc = (ident) => {
var func = Module2["_" + ident];
return func;
};
var writeArrayToMemory = (array, buffer) => {
HEAP8.set(array, buffer);
};
var lengthBytesUTF8 = (str) => {
var len = 0;
for (var i = 0; i < str.length; ++i) {
var c = str.charCodeAt(i);
if (c <= 127) {
len++;
} else if (c <= 2047) {
len += 2;
} else if (c >= 55296 && c <= 57343) {
len += 4;
++i;
} else {
len += 3;
}
}
return len;
};
var stackAlloc = (sz) => __emscripten_stack_alloc(sz);
var stringToUTF8OnStack = (str) => {
var size = lengthBytesUTF8(str) + 1;
var ret = stackAlloc(size);
stringToUTF8(str, ret, size);
return ret;
};
var ccall = (ident, returnType, argTypes, args, opts) => {
var toC = { string: (str) => {
var ret2 = 0;
if (str !== null && str !== void 0 && str !== 0) {
ret2 = stringToUTF8OnStack(str);
}
return ret2;
}, array: (arr) => {
var ret2 = stackAlloc(arr.length);
writeArrayToMemory(arr, ret2);
return ret2;
} };
function convertReturnValue(ret2) {
if (returnType === "string") {
return UTF8ToString(ret2);
}
if (returnType === "boolean")
return Boolean(ret2);
return ret2;
}
var func = getCFunc(ident);
var cArgs = [];
var stack = 0;
if (args) {
for (var i = 0; i < args.length; i++) {
var converter = toC[argTypes[i]];
if (converter) {
if (stack === 0)
stack = stackSave();
cArgs[i] = converter(args[i]);
} else {
cArgs[i] = args[i];
}
}
}
var ret = func(...cArgs);
function onDone(ret2) {
if (stack !== 0)
stackRestore(stack);
return convertReturnValue(ret2);
}
ret = onDone(ret);
return ret;
};
var cwrap = (ident, returnType, argTypes, opts) => {
var numericArgs = !argTypes || argTypes.every((type) => type === "number" || type === "boolean");
var numericRet = returnType !== "string";
if (numericRet && numericArgs && !opts) {
return getCFunc(ident);
}
return (...args) => ccall(ident, returnType, argTypes, args, opts);
};
var wasmImports = { a: ___assert_fail, b: __abort_js, i: __localtime_js, l: __tzset_js, m: _emscripten_date_now, k: _emscripten_resize_heap, e: _environ_get, f: _environ_sizes_get, d: _fd_close, j: _fd_seek, c: _fd_write, o: qts_host_call_function, n: qts_host_interrupt_handler, h: qts_host_load_module_source, g: qts_host_normalize_module };
var wasmExports = createWasm();
var ___wasm_call_ctors = () => (___wasm_call_ctors = wasmExports["q"])();
var _malloc = Module2["_malloc"] = (a0) => (_malloc = Module2["_malloc"] = wasmExports["r"])(a0);
var _QTS_Throw = Module2["_QTS_Throw"] = (a0, a1) => (_QTS_Throw = Module2["_QTS_Throw"] = wasmExports["s"])(a0, a1);
var _QTS_NewError = Module2["_QTS_NewError"] = (a0) => (_QTS_NewError = Module2["_QTS_NewError"] = wasmExports["t"])(a0);
var _QTS_RuntimeSetMemoryLimit = Module2["_QTS_RuntimeSetMemoryLimit"] = (a0, a1) => (_QTS_RuntimeSetMemoryLimit = Module2["_QTS_RuntimeSetMemoryLimit"] = wasmExports["u"])(a0, a1);
var _QTS_RuntimeComputeMemoryUsage = Module2["_QTS_RuntimeComputeMemoryUsage"] = (a0, a1) => (_QTS_RuntimeComputeMemoryUsage = Module2["_QTS_RuntimeComputeMemoryUsage"] = wasmExports["v"])(a0, a1);
var _QTS_RuntimeDumpMemoryUsage = Module2["_QTS_RuntimeDumpMemoryUsage"] = (a0) => (_QTS_RuntimeDumpMemoryUsage = Module2["_QTS_RuntimeDumpMemoryUsage"] = wasmExports["w"])(a0);
var _QTS_RecoverableLeakCheck = Module2["_QTS_RecoverableLeakCheck"] = () => (_QTS_RecoverableLeakCheck = Module2["_QTS_RecoverableLeakCheck"] = wasmExports["x"])();
var _QTS_BuildIsSanitizeLeak = Module2["_QTS_BuildIsSanitizeLeak"] = () => (_QTS_BuildIsSanitizeLeak = Module2["_QTS_BuildIsSanitizeLeak"] = wasmExports["y"])();
var _QTS_RuntimeSetMaxStackSize = Module2["_QTS_RuntimeSetMaxStackSize"] = (a0, a1) => (_QTS_RuntimeSetMaxStackSize = Module2["_QTS_RuntimeSetMaxStackSize"] = wasmExports["z"])(a0, a1);
var _QTS_GetUndefined = Module2["_QTS_GetUndefined"] = () => (_QTS_GetUndefined = Module2["_QTS_GetUndefined"] = wasmExports["A"])();
var _QTS_GetNull = Module2["_QTS_GetNull"] = () => (_QTS_GetNull = Module2["_QTS_GetNull"] = wasmExports["B"])();
var _QTS_GetFalse = Module2["_QTS_GetFalse"] = () => (_QTS_GetFalse = Module2["_QTS_GetFalse"] = wasmExports["C"])();
var _QTS_GetTrue = Module2["_QTS_GetTrue"] = () => (_QTS_GetTrue = Module2["_QTS_GetTrue"] = wasmExports["D"])();
var _QTS_NewRuntime = Module2["_QTS_NewRuntime"] = () => (_QTS_NewRuntime = Module2["_QTS_NewRuntime"] = wasmExports["E"])();
var _QTS_FreeRuntime = Module2["_QTS_FreeRuntime"] = (a0) => (_QTS_FreeRuntime = Module2["_QTS_FreeRuntime"] = wasmExports["F"])(a0);
var _QTS_NewContext = Module2["_QTS_NewContext"] = (a0) => (_QTS_NewContext = Module2["_QTS_NewContext"] = wasmExports["G"])(a0);
var _QTS_FreeContext = Module2["_QTS_FreeContext"] = (a0) => (_QTS_FreeContext = Module2["_QTS_FreeContext"] = wasmExports["H"])(a0);
var _QTS_FreeValuePointer = Module2["_QTS_FreeValuePointer"] = (a0, a1) => (_QTS_FreeValuePointer = Module2["_QTS_FreeValuePointer"] = wasmExports["I"])(a0, a1);
var _free = Module2["_free"] = (a0) => (_free = Module2["_free"] = wasmExports["J"])(a0);
var _QTS_FreeValuePointerRuntime = Module2["_QTS_FreeValuePointerRuntime"] = (a0, a1) => (_QTS_FreeValuePointerRuntime = Module2["_QTS_FreeValuePointerRuntime"] = wasmExports["K"])(a0, a1);
var _QTS_FreeVoidPointer = Module2["_QTS_FreeVoidPointer"] = (a0, a1) => (_QTS_FreeVoidPointer = Module2["_QTS_FreeVoidPointer"] = wasmExports["L"])(a0, a1);
var _QTS_FreeCString = Module2["_QTS_FreeCString"] = (a0, a1) => (_QTS_FreeCString = Module2["_QTS_FreeCString"] = wasmExports["M"])(a0, a1);
var _QTS_DupValuePointer = Module2["_QTS_DupValuePointer"] = (a0, a1) => (_QTS_DupValuePointer = Module2["_QTS_DupValuePointer"] = wasmExports["N"])(a0, a1);
var _QTS_NewObject = Module2["_QTS_NewObject"] = (a0) => (_QTS_NewObject = Module2["_QTS_NewObject"] = wasmExports["O"])(a0);
var _QTS_NewObjectProto = Module2["_QTS_NewObjectProto"] = (a0, a1) => (_QTS_NewObjectProto = Module2["_QTS_NewObjectProto"] = wasmExports["P"])(a0, a1);
var _QTS_NewArray = Module2["_QTS_NewArray"] = (a0) => (_QTS_NewArray = Module2["_QTS_NewArray"] = wasmExports["Q"])(a0);
var _QTS_NewFloat64 = Module2["_QTS_NewFloat64"] = (a0, a1) => (_QTS_NewFloat64 = Module2["_QTS_NewFloat64"] = wasmExports["R"])(a0, a1);
var _QTS_GetFloat64 = Module2["_QTS_GetFloat64"] = (a0, a1) => (_QTS_GetFloat64 = Module2["_QTS_GetFloat64"] = wasmExports["S"])(a0, a1);
var _QTS_NewString = Module2["_QTS_NewString"] = (a0, a1) => (_QTS_NewString = Module2["_QTS_NewString"] = wasmExports["T"])(a0, a1);
var _QTS_GetString = Module2["_QTS_GetString"] = (a0, a1) => (_QTS_GetString = Module2["_QTS_GetString"] = wasmExports["U"])(a0, a1);
var _QTS_NewSymbol = Module2["_QTS_NewSymbol"] = (a0, a1, a2) => (_QTS_NewSymbol = Module2["_QTS_NewSymbol"] = wasmExports["V"])(a0, a1, a2);
var _QTS_GetSymbolDescriptionOrKey = Module2["_QTS_GetSymbolDescriptionOrKey"] = (a0, a1) => (_QTS_GetSymbolDescriptionOrKey = Module2["_QTS_GetSymbolDescriptionOrKey"] = wasmExports["W"])(a0, a1);
var _QTS_IsGlobalSymbol = Module2["_QTS_IsGlobalSymbol"] = (a0, a1) => (_QTS_IsGlobalSymbol = Module2["_QTS_IsGlobalSymbol"] = wasmExports["X"])(a0, a1);
var _QTS_IsJobPending = Module2["_QTS_IsJobPending"] = (a0) => (_QTS_IsJobPending = Module2["_QTS_IsJobPending"] = wasmExports["Y"])(a0);
var _QTS_ExecutePendingJob = Module2["_QTS_ExecutePendingJob"] = (a0, a1, a2) => (_QTS_ExecutePendingJob = Module2["_QTS_ExecutePendingJob"] = wasmExports["Z"])(a0, a1, a2);
var _QTS_GetProp = Module2["_QTS_GetProp"] = (a0, a1, a2) => (_QTS_GetProp = Module2["_QTS_GetProp"] = wasmExports["_"])(a0, a1, a2);
var _QTS_SetProp = Module2["_QTS_SetProp"] = (a0, a1, a2, a3) => (_QTS_SetProp = Module2["_QTS_SetProp"] = wasmExports["$"])(a0, a1, a2, a3);
var _QTS_DefineProp = Module2["_QTS_DefineProp"] = (a0, a1, a2, a3, a4, a5, a6, a7, a8) => (_QTS_DefineProp = Module2["_QTS_DefineProp"] = wasmExports["aa"])(a0, a1, a2, a3, a4, a5, a6, a7, a8);
var _QTS_Call = Module2["_QTS_Call"] = (a0, a1, a2, a3, a4) => (_QTS_Call = Module2["_QTS_Call"] = wasmExports["ba"])(a0, a1, a2, a3, a4);
var _QTS_ResolveException = Module2["_QTS_ResolveException"] = (a0, a1) => (_QTS_ResolveException = Module2["_QTS_ResolveException"] = wasmExports["ca"])(a0, a1);
var _QTS_Dump = Module2["_QTS_Dump"] = (a0, a1) => (_QTS_Dump = Module2["_QTS_Dump"] = wasmExports["da"])(a0, a1);
var _QTS_Eval = Module2["_QTS_Eval"] = (a0, a1, a2, a3, a4) => (_QTS_Eval = Module2["_QTS_Eval"] = wasmExports["ea"])(a0, a1, a2, a3, a4);
var _QTS_Typeof = Module2["_QTS_Typeof"] = (a0, a1) => (_QTS_Typeof = Module2["_QTS_Typeof"] = wasmExports["fa"])(a0, a1);
var _QTS_GetGlobalObject = Module2["_QTS_GetGlobalObject"] = (a0) => (_QTS_GetGlobalObject = Module2["_QTS_GetGlobalObject"] = wasmExports["ga"])(a0);
var _QTS_NewPromiseCapability = Module2["_QTS_NewPromiseCapability"] = (a0, a1) => (_QTS_NewPromiseCapability = Module2["_QTS_NewPromiseCapability"] = wasmExports["ha"])(a0, a1);
var _QTS_TestStringArg = Module2["_QTS_TestStringArg"] = (a0) => (_QTS_TestStringArg = Module2["_QTS_TestStringArg"] = wasmExports["ia"])(a0);
var _QTS_BuildIsDebug = Module2["_QTS_BuildIsDebug"] = () => (_QTS_BuildIsDebug = Module2["_QTS_BuildIsDebug"] = wasmExports["ja"])();
var _QTS_BuildIsAsyncify = Module2["_QTS_BuildIsAsyncify"] = () => (_QTS_BuildIsAsyncify = Module2["_QTS_BuildIsAsyncify"] = wasmExports["ka"])();
var _QTS_NewFunction = Module2["_QTS_NewFunction"] = (a0, a1, a2) => (_QTS_NewFunction = Module2["_QTS_NewFunction"] = wasmExports["la"])(a0, a1, a2);
var _QTS_ArgvGetJSValueConstPointer = Module2["_QTS_ArgvGetJSValueConstPointer"] = (a0, a1) => (_QTS_ArgvGetJSValueConstPointer = Module2["_QTS_ArgvGetJSValueConstPointer"] = wasmExports["ma"])(a0, a1);
var _QTS_RuntimeEnableInterruptHandler = Module2["_QTS_RuntimeEnableInterruptHandler"] = (a0) => (_QTS_RuntimeEnableInterruptHandler = Module2["_QTS_RuntimeEnableInterruptHandler"] = wasmExports["na"])(a0);
var _QTS_RuntimeDisableInterruptHandler = Module2["_QTS_RuntimeDisableInterruptHandler"] = (a0) => (_QTS_RuntimeDisableInterruptHandler = Module2["_QTS_RuntimeDisableInterruptHandler"] = wasmExports["oa"])(a0);
var _QTS_RuntimeEnableModuleLoader = Module2["_QTS_RuntimeEnableModuleLoader"] = (a0, a1) => (_QTS_RuntimeEnableModuleLoader = Module2["_QTS_RuntimeEnableModuleLoader"] = wasmExports["pa"])(a0, a1);
var _QTS_RuntimeDisableModuleLoader = Module2["_QTS_RuntimeDisableModuleLoader"] = (a0) => (_QTS_RuntimeDisableModuleLoader = Module2["_QTS_RuntimeDisableModuleLoader"] = wasmExports["qa"])(a0);
var __emscripten_stack_restore = (a0) => (__emscripten_stack_restore = wasmExports["sa"])(a0);
var __emscripten_stack_alloc = (a0) => (__emscripten_stack_alloc = wasmExports["ta"])(a0);
var _emscripten_stack_get_current = () => (_emscripten_stack_get_current = wasmExports["ua"])();
Module2["cwrap"] = cwrap;
Module2["UTF8ToString"] = UTF8ToString;
Module2["stringToUTF8"] = stringToUTF8;
Module2["lengthBytesUTF8"] = lengthBytesUTF8;
var calledRun;
var calledPrerun;
dependenciesFulfilled = function runCaller() {
if (!calledRun)
run2();
if (!calledRun)
dependenciesFulfilled = runCaller;
};
function run2() {
if (runDependencies > 0) {
return;
}
if (!calledPrerun) {
calledPrerun = 1;
preRun();
if (runDependencies > 0) {
return;
}
}
function doRun() {
if (calledRun)
return;
calledRun = 1;
Module2["calledRun"] = 1;
if (ABORT)
return;
initRuntime();
readyPromiseResolve(Module2);
Module2["onRuntimeInitialized"]?.();
postRun();
}
if (Module2["setStatus"]) {
Module2["setStatus"]("Running...");
setTimeout(() => {
setTimeout(() => Module2["setStatus"](""), 1);
doRun();
}, 1);
} else {
doRun();
}
}
if (Module2["preInit"]) {
if (typeof Module2["preInit"] == "function")
Module2["preInit"] = [Module2["preInit"]];
while (Module2["preInit"].length > 0) {
Module2["preInit"].pop()();
}
}
run2();
moduleRtn = readyPromise;
return moduleRtn;
};
})();
if (typeof exports2 === "object" && typeof module2 === "object")
module2.exports = QuickJSRaw;
else if (typeof define === "function" && define["amd"])
define([], () => QuickJSRaw);
}
});
// ../../../usr/share/nodejs/quickjs-emscripten/dist/generated/ffi.WASM_RELEASE_ASYNCIFY.js
var require_ffi_WASM_RELEASE_ASYNCIFY = __commonJS({
"../../../usr/share/nodejs/quickjs-emscripten/dist/generated/ffi.WASM_RELEASE_ASYNCIFY.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.QuickJSAsyncFFI = void 0;
var types_ffi_1 = require_types_ffi();
var QuickJSAsyncFFI = class {
constructor(module3) {
this.module = module3;
this.DEBUG = false;
this.QTS_Throw = this.module.cwrap("QTS_Throw", "number", ["number", "number"]);
this.QTS_NewError = this.module.cwrap("QTS_NewError", "number", ["number"]);
this.QTS_RuntimeSetMemoryLimit = this.module.cwrap("QTS_RuntimeSetMemoryLimit", null, ["number", "number"]);
this.QTS_RuntimeComputeMemoryUsage = this.module.cwrap("QTS_RuntimeComputeMemoryUsage", "number", ["number", "number"]);
this.QTS_RuntimeDumpMemoryUsage = this.module.cwrap("QTS_RuntimeDumpMemoryUsage", "number", ["number"]);
this.QTS_RecoverableLeakCheck = this.module.cwrap("QTS_RecoverableLeakCheck", "number", []);
this.QTS_BuildIsSanitizeLeak = this.module.cwrap("QTS_BuildIsSanitizeLeak", "number", []);
this.QTS_RuntimeSetMaxStackSize = this.module.cwrap("QTS_RuntimeSetMaxStackSize", null, ["number", "number"]);
this.QTS_GetUndefined = this.module.cwrap("QTS_GetUndefined", "number", []);
this.QTS_GetNull = this.module.cwrap("QTS_GetNull", "number", []);
this.QTS_GetFalse = this.module.cwrap("QTS_GetFalse", "number", []);
this.QTS_GetTrue = this.module.cwrap("QTS_GetTrue", "number", []);
this.QTS_NewRuntime = this.module.cwrap("QTS_NewRuntime", "number", []);
this.QTS_FreeRuntime = this.module.cwrap("QTS_FreeRuntime", null, ["number"]);
this.QTS_NewContext = this.module.cwrap("QTS_NewContext", "number", ["number"]);
this.QTS_FreeContext = this.module.cwrap("QTS_FreeContext", null, ["number"]);
this.QTS_FreeValuePointer = this.module.cwrap("QTS_FreeValuePointer", null, ["number", "number"]);
this.QTS_FreeValuePointerRuntime = this.module.cwrap("QTS_FreeValuePointerRuntime", null, ["number", "number"]);
this.QTS_FreeVoidPointer = this.module.cwrap("QTS_FreeVoidPointer", null, ["number", "number"]);
this.QTS_FreeCString = this.module.cwrap("QTS_FreeCString", null, ["number", "number"]);
this.QTS_DupValuePointer = this.module.cwrap("QTS_DupValuePointer", "number", ["number", "number"]);
this.QTS_NewObject = this.module.cwrap("QTS_NewObject", "number", ["number"]);
this.QTS_NewObjectProto = this.module.cwrap("QTS_NewObjectProto", "number", ["number", "number"]);
this.QTS_NewArray = this.module.cwrap("QTS_NewArray", "number", ["number"]);
this.QTS_NewFloat64 = this.module.cwrap("QTS_NewFloat64", "number", ["number", "number"]);
this.QTS_GetFloat64 = this.module.cwrap("QTS_GetFloat64", "number", ["number", "number"]);
this.QTS_NewString = this.module.cwrap("QTS_NewString", "number", ["number", "number"]);
this.QTS_GetString = this.module.cwrap("QTS_GetString", "number", ["number", "number"]);
this.QTS_NewSymbol = this.module.cwrap("QTS_NewSymbol", "number", ["number", "number", "number"]);
this.QTS_GetSymbolDescriptionOrKey = (0, types_ffi_1.assertSync)(this.module.cwrap("QTS_GetSymbolDescriptionOrKey", "number", ["number", "number"]));
this.QTS_GetSymbolDescriptionOrKey_MaybeAsync = this.module.cwrap("QTS_GetSymbolDescriptionOrKey", "number", ["number", "number"]);
this.QTS_IsGlobalSymbol = this.module.cwrap("QTS_IsGlobalSymbol", "number", ["number", "number"]);
this.QTS_IsJobPending = this.module.cwrap("QTS_IsJobPending", "number", ["number"]);
this.QTS_ExecutePendingJob = (0, types_ffi_1.assertSync)(this.module.cwrap("QTS_ExecutePendingJob", "number", ["number", "number", "number"]));
this.QTS_ExecutePendingJob_MaybeAsync = this.module.cwrap("QTS_ExecutePendingJob", "number", ["number", "number", "number"]);
this.QTS_GetProp = (0, types_ffi_1.assertSync)(this.module.cwrap("QTS_GetProp", "number", ["number", "number", "number"]));
this.QTS_GetProp_MaybeAsync = this.module.cwrap("QTS_GetProp", "number", ["number", "number", "number"]);
this.QTS_SetProp = (0, types_ffi_1.assertSync)(this.module.cwrap("QTS_SetProp", null, ["number", "number", "number", "number"]));
this.QTS_SetProp_MaybeAsync = this.module.cwrap("QTS_SetProp", null, ["number", "number", "number", "number"]);
this.QTS_DefineProp = this.module.cwrap("QTS_DefineProp", null, ["number", "number", "number", "number", "number", "number", "boolean", "boolean", "boolean"]);
this.QTS_Call = (0, types_ffi_1.assertSync)(this.module.cwrap("QTS_Call", "number", ["number", "number", "number", "number", "number"]));
this.QTS_Call_MaybeAsync = this.module.cwrap("QTS_Call", "number", ["number", "number", "number", "number", "number"]);
this.QTS_ResolveException = this.module.cwrap("QTS_ResolveException", "number", ["number", "number"]);
this.QTS_Dump = (0, types_ffi_1.assertSync)(this.module.cwrap("QTS_Dump", "number", ["number", "number"]));
this.QTS_Dump_MaybeAsync = this.module.cwrap("QTS_Dump", "number", ["number", "number"]);
this.QTS_Eval = (0, types_ffi_1.assertSync)(this.module.cwrap("QTS_Eval", "number", ["number", "number", "string", "number", "number"]));
this.QTS_Eval_MaybeAsync = this.module.cwrap("QTS_Eval", "number", ["number", "number", "string", "number", "number"]);
this.QTS_Typeof = this.module.cwrap("QTS_Typeof", "number", ["number", "number"]);
this.QTS_GetGlobalObject = this.module.cwrap("QTS_GetGlobalObject", "number", ["number"]);
this.QTS_NewPromiseCapability = this.module.cwrap("QTS_NewPromiseCapability", "number", ["number", "number"]);
this.QTS_TestStringArg = this.module.cwrap("QTS_TestStringArg", null, ["string"]);
this.QTS_BuildIsDebug = this.module.cwrap("QTS_BuildIsDebug", "number", []);
this.QTS_BuildIsAsyncify = this.module.cwrap("QTS_BuildIsAsyncify", "number", []);
this.QTS_NewFunction = this.module.cwrap("QTS_NewFunction", "number", ["number", "number", "string"]);
this.QTS_ArgvGetJSValueConstPointer = this.module.cwrap("QTS_ArgvGetJSValueConstPointer", "number", ["number", "number"]);
this.QTS_RuntimeEnableInterruptHandler = this.module.cwrap("QTS_RuntimeEnableInterruptHandler", null, ["number"]);
this.QTS_RuntimeDisableInterruptHandler = this.module.cwrap("QTS_RuntimeDisableInterruptHandler", null, ["number"]);
this.QTS_RuntimeEnableModuleLoader = this.module.cwrap("QTS_RuntimeEnableModuleLoader", null, ["number", "number"]);
this.QTS_RuntimeDisableModuleLoader = this.module.cwrap("QTS_RuntimeDisableModuleLoader", null, ["number"]);
}
};
exports2.QuickJSAsyncFFI = QuickJSAsyncFFI;
}
});
// ../../../usr/share/nodejs/quickjs-emscripten/dist/generated/emscripten-module.WASM_RELEASE_ASYNCIFY.js
var require_emscripten_module_WASM_RELEASE_ASYNCIFY = __commonJS({
"../../../usr/share/nodejs/quickjs-emscripten/dist/generated/emscripten-module.WASM_RELEASE_ASYNCIFY.js"(exports2, module2) {
"use strict";
var QuickJSRaw = (() => {
var _scriptName = typeof document != "undefined" ? document.currentScript?.src : void 0;
if (typeof __filename != "undefined")
_scriptName = _scriptName || __filename;
return function(moduleArg = {}) {
var moduleRtn;
var Module2 = moduleArg;
var readyPromiseResolve, readyPromiseReject;
var readyPromise = new Promise((resolve, reject) => {
readyPromiseResolve = resolve;
readyPromiseReject = reject;
});
var ENVIRONMENT_IS_WEB = typeof window == "object";
var ENVIRONMENT_IS_WORKER = typeof importScripts == "function";
var ENVIRONMENT_IS_NODE = typeof process == "object" && typeof process.versions == "object" && typeof process.versions.node == "string" && process.type != "renderer";
if (ENVIRONMENT_IS_NODE) {
}
var moduleOverrides = Object.assign({}, Module2);
var arguments_ = [];
var thisProgram = "./this.program";
var quit_ = (status, toThrow) => {
throw toThrow;
};
var scriptDirectory = "";
var readAsync, readBinary;
if (ENVIRONMENT_IS_NODE) {
var fs8 = require("fs");
var nodePath = require("path");
scriptDirectory = __dirname + "/";
readBinary = (filename) => {
filename = isFileURI(filename) ? new URL(filename) : nodePath.normalize(filename);
var ret = fs8.readFileSync(filename);
return ret;
};
readAsync = (filename, binary = true) => {
filename = isFileURI(filename) ? new URL(filename) : nodePath.normalize(filename);
return new Promise((resolve, reject) => {
fs8.readFile(filename, binary ? void 0 : "utf8", (err2, data) => {
if (err2)
reject(err2);
else
resolve(binary ? data.buffer : data);
});
});
};
if (!Module2["thisProgram"] && process.argv.length > 1) {
thisProgram = process.argv[1].replace(/\\/g, "/");
}
arguments_ = process.argv.slice(2);
quit_ = (status, toThrow) => {
process.exitCode = status;
throw toThrow;
};
} else if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) {
if (ENVIRONMENT_IS_WORKER) {
scriptDirectory = self.location.href;
} else if (typeof document != "undefined" && document.currentScript) {
scriptDirectory = document.currentScript.src;
}
if (_scriptName) {
scriptDirectory = _scriptName;
}
if (scriptDirectory.startsWith("blob:")) {
scriptDirectory = "";
} else {
scriptDirectory = scriptDirectory.substr(0, scriptDirectory.replace(/[?#].*/, "").lastIndexOf("/") + 1);
}
{
if (ENVIRONMENT_IS_WORKER) {
readBinary = (url) => {
var xhr = new XMLHttpRequest();
xhr.open("GET", url, false);
xhr.responseType = "arraybuffer";
xhr.send(null);
return new Uint8Array(xhr.response);
};
}
readAsync = (url) => {
if (isFileURI(url)) {
return new Promise((resolve, reject) => {
var xhr = new XMLHttpRequest();
xhr.open("GET", url, true);
xhr.responseType = "arraybuffer";
xhr.onload = () => {
if (xhr.status == 200 || xhr.status == 0 && xhr.response) {
resolve(xhr.response);
return;
}
reject(xhr.status);
};
xhr.onerror = reject;
xhr.send(null);
});
}
return fetch(url, { credentials: "same-origin" }).then((response) => {
if (response.ok) {
return response.arrayBuffer();
}
return Promise.reject(new Error(response.status + " : " + response.url));
});
};
}
} else {
}
var out = Module2["print"] || console.log.bind(console);
var err = Module2["printErr"] || console.error.bind(console);
Object.assign(Module2, moduleOverrides);
moduleOverrides = null;
if (Module2["arguments"])
arguments_ = Module2["arguments"];
if (Module2["thisProgram"])
thisProgram = Module2["thisProgram"];
var wasmBinary = Module2["wasmBinary"];
function intArrayFromBase64(s) {
if (typeof ENVIRONMENT_IS_NODE != "undefined" && ENVIRONMENT_IS_NODE) {
var buf = Buffer.from(s, "base64");
return new Uint8Array(buf.buffer, buf.byteOffset, buf.length);
}
var decoded = atob(s);
var bytes = new Uint8Array(decoded.length);
for (var i = 0; i < decoded.length; ++i) {
bytes[i] = decoded.charCodeAt(i);
}
return bytes;
}
function tryParseAsDataURI(filename) {
if (!isDataURI(filename)) {
return;
}
return intArrayFromBase64(filename.slice(dataURIPrefix.length));
}
var wasmMemory;
var ABORT = false;
var EXITSTATUS;
var HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAPF64;
function updateMemoryViews() {
var b = wasmMemory.buffer;
Module2["HEAP8"] = HEAP8 = new Int8Array(b);
Module2["HEAP16"] = HEAP16 = new Int16Array(b);
Module2["HEAPU8"] = HEAPU8 = new Uint8Array(b);
Module2["HEAPU16"] = HEAPU16 = new Uint16Array(b);
Module2["HEAP32"] = HEAP32 = new Int32Array(b);
Module2["HEAPU32"] = HEAPU32 = new Uint32Array(b);
Module2["HEAPF32"] = HEAPF32 = new Float32Array(b);
Module2["HEAPF64"] = HEAPF64 = new Float64Array(b);
}
var __ATPRERUN__ = [];
var __ATINIT__ = [];
var __ATPOSTRUN__ = [];
var runtimeInitialized = false;
function preRun() {
var preRuns = Module2["preRun"];
if (preRuns) {
if (typeof preRuns == "function")
preRuns = [preRuns];
preRuns.forEach(addOnPreRun);
}
callRuntimeCallbacks(__ATPRERUN__);
}
function initRuntime() {
runtimeInitialized = true;
callRuntimeCallbacks(__ATINIT__);
}
function postRun() {
var postRuns = Module2["postRun"];
if (postRuns) {
if (typeof postRuns == "function")
postRuns = [postRuns];
postRuns.forEach(addOnPostRun);
}
callRuntimeCallbacks(__ATPOSTRUN__);
}
function addOnPreRun(cb) {
__ATPRERUN__.unshift(cb);
}
function addOnInit(cb) {
__ATINIT__.unshift(cb);
}
function addOnPostRun(cb) {
__ATPOSTRUN__.unshift(cb);
}
var runDependencies = 0;
var runDependencyWatcher = null;
var dependenciesFulfilled = null;
function addRunDependency(id) {
runDependencies++;
Module2["monitorRunDependencies"]?.(runDependencies);
}
function removeRunDependency(id) {
runDependencies--;
Module2["monitorRunDependencies"]?.(runDependencies);
if (runDependencies == 0) {
if (runDependencyWatcher !== null) {
clearInterval(runDependencyWatcher);
runDependencyWatcher = null;
}
if (dependenciesFulfilled) {
var callback = dependenciesFulfilled;
dependenciesFulfilled = null;
callback();
}
}
}
function abort(what) {
Module2["onAbort"]?.(what);
what = "Aborted(" + what + ")";
err(what);
ABORT = true;
what += ". Build with -sASSERTIONS for more info.";
var e = new WebAssembly.RuntimeError(what);
readyPromiseReject(e);
throw e;
}
var dataURIPrefix = "data:application/octet-stream;base64,";
var isDataURI = (filename) => filename.startsWith(dataURIPrefix);
var isFileURI = (filename) => filename.startsWith("file://");
function findWasmBinary() {
var f = "data:application/octet-stream;base64,AGFzbQEAAAAB/AZyYAJ/fwBgA39/fwF/YAR/fn9/AX5gAn9/AX9gAX8Bf2AFf35/f38BfmADf39/AGAEf39/fwF/YAJ/fgF+YAF/AGAFf39/f38Bf2ABfAF8YAJ/fgBgAn9/AX5gAn9+AX9gA39/fgF/YAN/fn8BfmADf35/AGAGf35/f39/AX5gBH9/f38AYAZ/f39/f38Bf2ADf35/AX9gBn9+fn9/fwF+YAR/f35/AX9gA39+fgF+YAN/f38BfmAFf39/fn4Bf2AEf39/fgF/YAR/f35+AX9gAAF/YAF/AX5gA39+fgF/YAR/f39/AX5gB39/f39/f38Bf2AFf39/f38BfmACfHwBfGAFf35+fn4AYAV/f39/fwBgAABgBX9+f35/AX9gBX9+fn9/AX5gAX4Bf2AEf35+fwBgB39+f35+fn8Bf2AIf39/f39/f38Bf2AFf35+fn8Bf2AGf35/fn5/AX9gBH9+f34BfmAEf35/fwBgBH9+f34AYAZ/f39/f38BfmAEf35+fwF/YAl/f39/f39/f38Bf2AEf35+fwF+YAR/fn9/AX9gA39+fgBgA35/fwF/YAV/fn5/fwBgA39/fgF+YAd/fn9/f39/AX5gA39/fgBgBH9+f34Bf2AFf39+f38Bf2AEf35+fgF/YAd/f39/f39/AGACfH8BfGABfAF/YAN8fH8BfGACf38BfGAEf39+fwBgBH9+fn4BfmABfgF+YAJ/fAF/YAZ/fH9/f38Bf2AAAXxgBX9+f35/AX5gBn9/fn5+fgF/YAJ+fwBgAn98AGAEf39+fwF+YAV/f39/fgF+YAd/fn5+f39/AX5gBH5+fn4Bf2AHf39/f39/fgF+YAp/f39/f39/f39/AX9gB39/fn5/f38Bf2AFf3x/f38BfmACfn8Bf2AGfH9/f39/AGAFf35/f38AYAV/f35/fwBgBn9+fn5+fwF/YAV/f35+fwF/YAZ/fn9/f38Bf2ADf3x/AX9gBX9+f39/AX9gBX9/fn5+AX5gBX9+fn5+AX9gBn9/fn5/fwF/YAd/f39+fn5/AX9gBH9/f34BfmACfH8Bf2AGf39/f39/AGAIf39/f39/f38AYAN/fnwBfmAAAX5gAnx8AX9gAn5+AXxgAX8BfGADfn5+AX9gBH9+fn4AYAN/f3wAYAh/fn5+fn9+fgF+YAl/f39/f39/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4gjhCOAI+gXfCN4I3QjcCNsI+QXaCNkI2AjXCNYI1Qj1BPAHuAi1CLIIsQjtCPIErgjVBawIqQijCKQIogihCKAI8QeQCY8JiwmKCY4J7AftB+oH5wfhB+AH3wfRB74HmAf0BL8JnAmbCZoJmQmYCZcJlgmVCZQJkwmSCYwJ7wjuCJoImQiYCJcIlgihBZUIlAiTCJIIkAiPCI4IjQiMCIsIigiJCIgIhwiGCIUIhAiDCOgDggjoA4EIgAj+B/0HmwieCJ0InAifCNgD/Af7B48HjgeXB5UHlAeTB5IHkQeQB94H3QfcB+gD2wehBdoH2AfXB9YHpwimCKUI+waGB4UHhAeDB4IHgQeAB/8G/gb9BvwG5QeHB40HiweZB6IHngehB6AHnQecB5sHmgejB+QH4wfiB4AC6AfmB+kH6wfuB/EG0ATwBu8G7gbtBsoE7AbrBvQG0gTyBvMH8gf3B/YH9Qf0B/oHqwnfBqoJ4gapCagJpwmmCd0G2wbHBKUJpAmjCa4GogmhCaAJnwmwBrUJtAmzCbIJsQmwCa8JrQmsCbsJmwO6CbkJuAm3CbYJyAnHB8YHxwnGCcUJxAnVA8MJwgn4BPkEwQnACb4JvQm8CcwJygnJCdMJ0gm+BL0E0QnQCc8JzgnNCdgJ1wnWCdUJ1Am1BrQGswbZCbcGtga6BrkGuAbOBs0GzAbLBsoGyQbIBscGxgbFBsQGwwbCBsEGwAa/Br4GvQa8BrsGzwbYBoIJ+gj8CNcGhQmGCYMJnASACfsI6gPOAtYG9gjyCPAI1Qb5CPUI8QiECYEJ/wiZAqUD2wnzCP0I1AbTBtIG0QbQBuQG4wbhBuAG3gbcBtoG2QbnBuYG5QbpBugG6gamB6UHpAfNB4IF1QeBBcwHywfKB8gHxQfEB8MHwQfAB78HvQe8B9AHzgfTB9IHsAevB64HrQesB6sHqgepB6gHpwe7B7kHuAe3B7YHtQe0B7MHsgexB4kJhwmICdcD9AgKv8UzzAnYAQECfyMBQQJGBEAjAiMCKAIAQQxrNgIAIwIoAgAiAigCACEAIAIpAgQhAQsCfyMBQQJGBEAjAiMCKAIAQQRrNgIAIwIoAgAoAgAhAwsCQCMBRQRAIAFCgICAgNB+VA0BIAGnIgIgAigCACICQQFrNgIAIAJBAUoNASAAKAIQIQALIwFFIANFcgRAIAAgARCVBEEAIwFBAUYNAhoLCw8LIQIjAigCACACNgIAIwIjAigCAEEEajYCACMCKAIAIgIgADYCACACIAE3AgQjAiMCKAIAQQxqNgIAC+ECAQR/IwFBAkYEQCMCIwIoAgBBFGs2AgAjAigCACICKAIAIQAgAigCBCEBIAIoAgghBCACKAIMIQUgAigCECECCwJ/IwFBAkYEQCMCIwIoAgBBBGs2AgAjAigCACgCACEDCyMBRQRAIAAoAkAiBEGAAmohAiAEKAKcAiAAKAIERyEFCyAFIwFBAkZyBEAjAUUgA0VyBEAgAkHCARASQQAjAUEBRg0CGgsjAUUEQCAAKAIEIQULIwFFIANBAUZyBEAgAiAFEB5BASMBQQFGDQIaCyMBRQRAIAQgACgCBDYCnAILCyMBRQRAIAQgBCgChAI2ApgCCyMBRSADQQJGcgRAIAIgARASQQIjAUEBRg0BGgsPCyEDIwIoAgAgAzYCACMCIwIoAgBBBGo2AgAjAigCACIDIAA2AgAgAyABNgIEIAMgBDYCCCADIAU2AgwgAyACNgIQIwIjAigCAEEUajYCAAvcAQECfyMBQQJGBEAjAiMCKAIAQQxrNgIAIwIoAgAiAigCACEAIAIoAgQhASACKAIIIQILAn8jAUECRgRAIwIjAigCAEEEazYCACMCKAIAKAIAIQMLIwFFBEAjAEEQayICJAAgAiABOgAPIAJBD2ohAQsjAUUgA0VyBEAgACABQQEQdEEAIwFBAUYNARoLIwFFBEAgAkEQaiQACw8LIQMjAigCACADNgIAIwIjAigCAEEEajYCACMCKAIAIgMgADYCACADIAE2AgQgAyACNgIIIwIjAigCAEEMajYCAAuQIgIJfwN+IwFBAkYEQCMCIwIoAgBBMGs2AgAjAigCACIHKAIAIQAgBygCBCEBIAcoAgwhAyAHKAIQIQQgBygCFCEFIAcoAhghBiAHKAIcIQkgBykCICEKIAcpAighCyAHKAIIIQILAn8jAUECRgRAIwIjAigCAEEEazYCACMCKAIAKAIAIQgLAn8jAUUEQCMAQRBrIgMkACADIAAoAgAoAhAoAnhJIQELAkAgASMBQQJGcgRAIwFFIAhFcgRAIABBjSJBABAXQQAjAUEBRg0EGgsjAUUNAQsgBSAAQRBqIwEbIQUjAUUgCEEBRnIEQCAAIAUQgQJBASMBQQFGDQMaCyMBRQRAIAAgACgCOCIBNgI0IAMgATYCDCAAQQA2AjAgACAAKAIUIgI2AgQLA0AjAUUEQCAAIAE2AhggACAAKAIIIgI2AhQgASwAACIEQf8BcSEGCwJAAkACQAJAAkACQAJAAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIwFFBEACQAJAIAYOfQAaGhoaGhoaGgUEBQUDGhoaGhoaGhoaGhoaGhoaGhoaBRUbCQgPFhsaGg4QGhEKBgsNDQ0NDQ0NDQ0aGhIUExkaCAgICAgICAgICAgICAgICAgICAgICAgICAgaBxoXCAEICAgICAgICAgICAgICAgICAgICAgICAgICBoYGgsgACgCPCABSyICBEBBACEEDB4LIAVBrH82AgAMIQsgAUEBaiEBCyMBRSAIQQJGcgRAIAAgARDOA0ECIwFBAUYNJhohAQsjAUUEQCABDR4gAyAAKAI4IgE2AgwMIAsLIwFFBEAgAUEBaiIEIAEgAS0AAUEKRiIGGyEBCwsjAUUEQCADIAFBAWoiATYCDAwfCwsjAUUEQCADIAFBAWoiATYCDAwfCwsjAUUEQCABLQABIgJBKkchBAsCQAJAIwFFBEAgBARAIAJBL0YiBA0CIAJBPUciAg0DIAMgAUECaiIBNgIMIAVBhn82AgAMHwsgAUECaiEBCwNAIwFFBEAgAyABNgIMCwJAA0AjAUUEQCABLQAAIgJBCmshBAsCQAJAAkAjAUUEQAJAIAQOBAIEBAMACyACQSpHIQQLIAQjAUECRnIEQCMBRQRAIAINBCAAKAI8IAFLIgINBgsjAUUgCEEDRnIEQCAAQdUsQQAQF0EDIwFBAUYNKxoLIwFFDSILIwFFBEAgAS0AAUEvRyICDQUgAyABQQJqIgE2AgwMJgsLIwFFBEAgAEEBNgIwIAAgACgCCEEBaiICNgIIIAFBAWohAQwFCwsjAUUEQCAAQQE2AjAgAUEBaiEBDAQLCyMBRQRAIALAQQBOIgINAiABQQYgA0EMahBaIgJBfnFBqMAARgRAIABBATYCMCADKAIMIQEMAgsgAygCDCEBIAJBf0ciAg0BCwsjAUUEQCABQQFqIQEMAgsLIwFFBEAgAUEBaiEBDAELCwsjAUUEQCABQQJqIQFBAAwYCwsjAUUEQCADIAFBAWoiATYCDCAFQS82AgAMHAsLIwFFBEBB3AAhBCABLQABQfUARyICDRcgAyABQQFqNgIEIANBBGpBARD7ASIGQQBIIgINFyAGEO4CRSICDRcgAyADKAIEIgE2AgwgA0EBNgIIDBgLCyMBRQRAIANBADYCCCADIAFBAWoiATYCDAwXCwsjAUUEQCADIAFBAWoiBjYCDCADIAFBAmo2AgRB3AAhAgJAIAEsAAEiBEHcAEYiCQRAIAEtAAJB9QBHDQEgA0EEakEBEPsBIQIMAQsgBCICQQBODQAgBkEGIANBBGoQWiECCyACEO4CRSEBCyABIwFBAkZyBEAjAUUgCEEERnIEQCAAQcvnAEEAEBdBBCMBQQFGDSAaCyMBRQ0XCyMBRQRAIAMgAygCBDYCDCADQQhqIQQgA0EMaiEBCyMBRSAIQQVGcgRAIAAgASAEIAJBARDsBEEFIwFBAUYNHxohAgsjAUUEQCACRSIBDRcgAEGrfzYCECAAIAI2AiAMGQsLIwFFBEBBLiEEIAEtAAEiAkEuRyIGDQIgAS0AAkEuRyICDRQgAyABQQNqIgE2AgwgBUGnfzYCAAwYCwsjAUUEQCABLQABQTprQXZJIgINAiAAKAJALQBuQQFxRSICDQILIwFFIAhBBkZyBEAgAEGC7QBBABAXQQYjAUEBRg0dGgsjAUUNFAsjAUUEQCACQTBrQf8BcUEKTyICDRILCyMBRQRAIAAoAkAtAG4hAiAAQQA2AiggACgCACEEIANBDGohBiAAQShqIQlB9AZB9AAgAkEEcRshAgsjAUUgCEEHRnIEQCAEIAEgBkEAIAIgCRC3BUEHIwFBAUYNGxohCgsjAUUEQCAKQoCAgIBwgyILQoCAgIDAflIhAQsCQCMBRQRAIAEEQCALQoCAgIDgAFEiAQ0VIAMoAgxBBiADQQhqIgIQWhDHAUUiAQ0CCyAAKAIAIQELIwFFIAhBCEZyBEAgASAKEBBBCCMBQQFGDRwaCyMBRSAIQQlGcgRAIABB3NUAQQAQF0EJIwFBAUYNHBoLIwFFDRMLIwFFBEAgACAKNwMgIABBgH82AhAMFQsLIwFFBEBBKiEEIAEtAAEiAkEqRyIGBEAgAkE9RyICDREgAyABQQJqIgE2AgwgBUGFfzYCAAwVCyABLQACQT1GIgIEQCADIAFBA2oiATYCDCAFQZF/NgIADBULIAMgAUECaiIBNgIMIAVBpX82AgAMFAsLIwFFBEAgAS0AAUE9RyICBEBBJSEEDBALIAMgAUECaiIBNgIMIAVBh382AgAMEwsLIwFFBEBBKyEEIAEtAAEiAkErRyIGBEAgAkE9RyICDQ8gAyABQQJqIgE2AgwgBUGIfzYCAAwTCyADIAFBAmoiATYCDCAFQZZ/NgIADBILCyMBRQRAQS0hBCABLQABIgZBLUciCQRAIAZBPUciAg0OIAMgAUECaiIBNgIMIAVBiX82AgAMEgsCQCAAKAJIRSIEDQAgAS0AAkE+RyIEDQAgACgCBCIEIAJHIgINDAsgAyABQQJqIgE2AgwgBUGVfzYCAAwRCwsjAUUEQAJAAkACQCABLQABIgJBPGsiBA4CAQACCyADIAFBAmoiATYCDCAFQZt/NgIADBILIAEtAAJBPUYiAgRAIAMgAUEDaiIBNgIMIAVBin82AgAMEgsgAyABQQJqIgE2AgwgBUGXfzYCAAwRC0E8IQQgAkEhRyICDQwgACgCSEUiAg0MIAEtAAJBLUciAg0MIAEtAANBLUYiAg0KDAwLCyMBRQRAQT4hBAJAAkAgAS0AAUE9ayICDgIAAQ0LIAMgAUECaiIBNgIMIAVBnX82AgAMEAsCQAJAAkAgAS0AAkE9ayICDgIBAAILIAEtAANBPUYiAgRAIAMgAUEEaiIBNgIMIAVBjH82AgAMEgsgAyABQQNqIgE2AgwgBUGZfzYCAAwRCyADIAFBA2oiATYCDCAFQYt/NgIADBALIAMgAUECaiIBNgIMIAVBmH82AgAMDwsLIwFFBEBBPSEEAkACQCABLQABQT1rIgIOAgABDAsgAS0AAkE9RiICBEAgAyABQQNqIgE2AgwgBUGffzYCAAwQCyADIAFBAmoiATYCDCAFQZ5/NgIADA8LIAMgAUECaiIBNgIMIAVBpn82AgAMDgsLIwFFBEAgAS0AAUE9RyICBEBBISEEDAoLIAEtAAJBPUYiAgRAIAMgAUEDaiIBNgIMIAVBoX82AgAMDgsgAyABQQJqIgE2AgwgBUGgfzYCAAwNCwsjAUUEQEEmIQQgAS0AASICQSZHIgYEQCACQT1HIgINCSADIAFBAmoiATYCDCAFQY1/NgIADA0LIAEtAAJBPUYiAgRAIAMgAUEDaiIBNgIMIAVBkn82AgAMDQsgAyABQQJqIgE2AgwgBUGifzYCAAwMCwsjAUUEQAJAIAEtAAEiAkHeAEciBARAIAJBPUciAg0BIAMgAUECajYCDCAAKAJALQBuQQRxIgEEQCAFQZB/NgIADA4LIAVBjn82AgAMDQsgAS0AAkE9RiICBEAgAyABQQNqIgE2AgwgBUGOfzYCAAwNCyADIAFBAmoiATYCDCAFQd4ANgIADAwLIAMgAUEBajYCDCAAKAJALQBuQQRxIgEEQCAFQaR/NgIADAwLIAVB3gA2AgAMCwsLIwFFBEBB/AAhBCABLQABIgJB/ABHIgYEQCACQT1HIgINByADIAFBAmoiATYCDCAFQY9/NgIADAsLIAEtAAJBPUYiAgRAIAMgAUEDaiIBNgIMIAVBk382AgAMCwsgAyABQQJqIgE2AgwgBUGjfzYCAAwKCwsjAUUEQEE/IQQgAS0AASICQS5HIgYEQCACQT9HIgINBiABLQACQT1GIgIEQCADIAFBA2oiATYCDCAFQZR/NgIADAsLIAMgAUECaiIBNgIMIAVBqH82AgAMCgsgAS0AAkEwa0H/AXFBCkkiAg0FIAMgAUECaiIBNgIMIAVBqX82AgAMCQsLIwFFBEAgBEEATiICDQQgAUEGIANBDGoiAhBaIgZBfnFBqMAARiIBBEAgACgCCCECDAoLIAYQhgMiAQ0KIAYQ7gIiAQRAIANBADYCCAwGCwsjAUUgCEEKRnIEQCAAQdHDAEEAEBdBCiMBQQFGDQ4aCyMBRQ0FCyMBRQRAIAFBAWohASADQQxqIQILIwFFIAhBC0ZyBEAgACAGQQEgASAFIAIQ8gJBCyMBQQFGDQ0aIQELIwFFBEAgAUUiAQ0HDAULCyACQQEjARsLIQIjAUUEQANAAn8CQAJAAkACQCACRQRAIAMgATYCDAwBCyABLQAAIgJFIgQNAgJAIAJBCmsiBA4EDgAADgALIALAQQBODQMgAUEGIANBDGoQWiICQX5xQajAAEYiAQ0NIAMoAgwhASACQX9GDQELQQEhAgwECyABQQFqDAILIAAoAjwgAU0iAg0KCyABQQFqCyEBQQAhAgwACwALCyMBRQRAIAUgBDYCACADIAFBAWoiATYCDAwECwsjAUUEQCADQQxqIQEgA0EIaiECCyMBRSAIQQxGcgRAIAAgASACIAZBABDsBEEMIwFBAUYNCRohAgsjAUUEQCACRSIBDQEgACACNgIgIAMoAgghASAAQQA2AiggACABNgIkAkAgAkElSSIEDQAgAkEtTQRAIAAoAkAiBC0AbkEBcSIGDQEgAkEtRyIGDQQgBC8BbCIGQQFxIgkNASAGQYD+A3FBgAZHIgYNBCAEKAJkIgYNBCAEKAIEIgRFIgYNBCAELQBsQQFxIgQNAQwECyACQS5HIgQNAyAAKAJEIgQNACAAKAJAIgQvAWwiBkECcSIJDQAgBkGA/gNxQYAGRyIGDQMgBCgCZCIGDQMgBCgCBCIERSIGDQMgBC0AbEECcUUiBA0DCyABBEAgAEGDfzYCECAAQQE2AigMBAsgBSACQdQAayIBNgIADAMLCyMBRQRAIAVBqn82AgAMBgsLIwFFBEAgBUGDfzYCAAsLIwFFBEAgACADKAIMNgI4QQAMBQsLIwFFBEAgAEEBNgIwIAAgAkEBaiIBNgIICwsjAUUEQCADKAIMIQEMAQsLCyABQX8jARsLIQEjAUUEQCADQRBqJAAgAQ8LAAshByMCKAIAIAc2AgAjAiMCKAIAQQRqNgIAIwIoAgAiByAANgIAIAcgATYCBCAHIAI2AgggByADNgIMIAcgBDYCECAHIAU2AhQgByAGNgIYIAcgCTYCHCAHIAo3AiAgByALNwIoIwIjAigCAEEwajYCAEEAC8QBAQJ/IwFBAkYEQCMCIwIoAgBBCGs2AgAjAigCACIBKAIAIQAgASgCBCEBCwJ/IwFBAkYEQCMCIwIoAgBBBGs2AgAjAigCACgCACECCyMBQQJGIAMgAUHeAU4jARtyBEAjAUUEQCAAKAIQIQALIwFFIAJFcgRAIAAgARDoBUEAIwFBAUYNAhoLCw8LIQIjAigCACACNgIAIwIjAigCAEEEajYCACMCKAIAIgIgADYCACACIAE2AgQjAiMCKAIAQQhqNgIAC5EPAgh/An4jAUECRgRAIwIjAigCAEE8azYCACMCKAIAIgYoAgAhACAGKAIMIQIgBikCECEDIAYoAhghBCAGKAIcIQUgBigCICEHIAYoAiQhCCAGKQIoIQ0gBigCMCEKIAYoAjQhCyAGKAI4IQwgBikCBCEBCwJ/IwFBAkYEQCMCIwIoAgBBBGs2AgAjAigCACgCACEJCyMBRQRAIwBBIGsiCiQAIAFCIIgiDkL/////D1IhBQsCQAJAAkACQAJAIAUjAUECRnIEQCMBRQRAIA6nIgdBAmshBUKAgICA4AAhDQsCQAJAIwFFBEACQCAFDgUAAgYGCQMLCyMBRSAJRXIEQCAAIAJBjtQAEJEBQQAjAUEBRg0JGgsjAUUNBwsjAUUgCUEBRnIEQCAAIAJB/vgAEJEBQQEjAUEBRg0IGgsjAUUNBgsjAUUEQCAHQXlGIgUNAgwDCwsjAUUEQCABpyEHDAMLCyMBRQRAIAGnIQcCfwJAIAJBAEgEQCACQf////8HcSIFIAcoAgQiCEH/////B3FPIgsNBCAHQRBqIQIgCEEATiIEDQEgBUEBdCIEIAJqLwEADAILIAJBMEciBQ0DIAc1AgRC/////weDIQ0MBgsgAiAFai0AAAtB//8DcSECCyMBRSAJQQJGcgRAIAAgAhCdA0ECIwFBAUYNBRohDQsjAUUNAwsjAUUEQCAAIAEQjAQiAaciB0UiBQ0CCwsgCyACQf////8HcSMBGyELAkADQCMBRQRAIAcoAhAiBUEwaiEMIAUoAhggAnFBf3NBAnQiCCAFaigCACEFCwJAIwFFBEADQCAFRSIIDQIgDCAFQQFrQQN0IgVqIggoAgQgAkcEQCAIKAIAQf///x9xIQUMAQsLIAgoAgBBHnZBAWshDCAHKAIUIAVqIQULAkACQAJAIwFFBEACQCAMDgMAAgMECyAFKAIAIgJFDQcgAiACKAIAQQFqIgQ2AgAgAq1CgICAgHCEIQELIwFFIAlBA0ZyBEAgACABIANBAEEAEDFBAyMBQQFGDQkaIQ0LIwFFDQcLIwFFBEAgBSgCACgCECkDACINQoCAgIBwgyIBQoCAgIDAAFEhBAsgBCMBQQJGcgRAIwFFIAlBBEZyBEAgACACENsBQQQjAUEBRg0JGgsjAUUNBQsjAUUEQCANQoCAgIDQflQNByANpyIAKAIAQQFqIQIgACACNgIADAcLCyMBRSAJQQVGcgRAIAAgByACIAUgCBDKAkEFIwFBAUYNBxohBQsjAUUEQCAFRSIFDQMMBAsLIwFFBEAgBSkDACINQoCAgIDQflQNBSANpyIAKAIAQQFqIQIgACACNgIADAULCyMBRQRAIActAAUiBUEEcUUhCAsCQCMBRQRAIAgNASAFQQhxIQULIAUjAUECRnIEQCAFIAJBAEgjARsiBSMBQQJGcgRAIwFFBEAgCyAHKAIoSSEFCyAFIwFBAkZyBEAgASAHrUKAgICAcIQjARshASMBRSAJQQZGcgRAIAAgASALELEBQQYjAUEBRg0JGiENCyMBRQ0HCyMBRQRAIAcvAQZBIGtB//8DcUH1/wNPDQYMAwsLIwFFBEAgBy8BBkEVa0H//wNxQQpLIgUNAgsjAUUgCUEHRnIEQCAAIAIQnANBByMBQQFGDQcaIQULIwFFBEAgBUUiCA0CQoCAgIDgAEKAgICAMCAFQQBIGyENDAYLCyMBRQRAIAAoAhAoAkQgBy8BBkEYbGooAhQiBUUiCA0BIAUoAhQhCAsgCCMBQQJGcgRAIwFFBEAgByAHKAIAQQFqIgQ2AgAgB61CgICAgHCEIQELIwFFIAlBCEZyBEAgACABIAIgAyAIES8AQQgjAUEBRg0HGiENCyMBRSAJQQlGcgRAIAAgARAQQQkjAUEBRg0HGgsjAUUNBQsjAUUEQCAFKAIAIgVFIggNASAHIAcoAgBBAWoiCDYCACAHrUKAgICAcIQhAQsjAUUgCUEKRnIEQCAAIAogASACIAURFwBBCiMBQQFGDQYaIQULIwFFIAlBC0ZyBEAgACABEBBBCyMBQQFGDQYaCyMBRQRAIAVBAEgiCA0DIAVFDQEgCi0AAEEQcSECCyACIwFBAkZyBEAjAUUEQCAKKQMYIQELIwFFIAlBDEZyBEAgACABEBBBDCMBQQFGDQcaCyMBRQRAIAopAxAhAQsjAUUgCUENRnIEQCAAIAEgA0EAQQAQMUENIwFBAUYNBxohDQsjAUUNBQsjAUUEQCAKKQMIIQ0MBQsLIwFFBEAgBygCECIFKAIsIgcNAQsLIwEgBHJFDQEjAUUgCUEORnIEQCAAIAIQyQJBDiMBQQFGDQQaCwsjAUUEQEKAgICA4AAhDQwCCwsgDUKAgICAMCMBGyENCyMBRQRAIApBIGokACANDwsACyEGIwIoAgAgBjYCACMCIwIoAgBBBGo2AgAjAigCACIGIAA2AgAgBiABNwIEIAYgAjYCDCAGIAM3AhAgBiAENgIYIAYgBTYCHCAGIAc2AiAgBiAINgIkIAYgDTcCKCAGIAo2AjAgBiALNgI0IAYgDDYCOCMCIwIoAgBBPGo2AgBCAAu0AQEBfyMBQQJGBEAjAiMCKAIAQQxrNgIAIwIoAgAiAigCACEAIAIoAgQhASACKAIIIQILAn8jAUUjAUECRgR/IwIjAigCAEEEazYCACMCKAIAKAIABSADC0VyBEAgACABIAJBBBDQAkEAIwFBAUYNARoLDwshAyMCKAIAIAM2AgAjAiMCKAIAQQRqNgIAIwIoAgAiAyAANgIAIAMgATYCBCADIAI2AggjAiMCKAIAQQxqNgIAC/cCAgR/AX4jAUECRgRAIwIjAigCAEEgazYCACMCKAIAIgQoAgAhACAEKAIEIQEgBCgCCCECIAQoAgwhBSAEKAIQIQYgBCkCFCEHIAQoAhwhBAsCfyMBQQJGBEAjAiMCKAIAQQRrNgIAIwIoAgAoAgAhAwsjAUUEQCMAQRBrIgYkACAAKAIAIQUgBiACNgIMCyMBRSADRXIEQCAFQQMgASACQQAQ8AVBACMBQQFGDQEaCyMBRQRAIAUoAhApA4ABIQcgACgCDCECIAAoAgghBCAAKAJAIgEEfyABKAJoQQBHQQF0BUEACyEACyMBRSADQQFGcgRAIAUgByACIAQgABDMAkEBIwFBAUYNARoLIwFFBEAgBkEQaiQACw8LIQMjAigCACADNgIAIwIjAigCAEEEajYCACMCKAIAIgMgADYCACADIAE2AgQgAyACNgIIIAMgBTYCDCADIAY2AhAgAyAHNwIUIAMgBDYCHCMCIwIoAgBBIGo2AgALrgEBAX8jAUECRgRAIwIjAigCAEEIazYCACMCKAIAIgEoAgAhACABKAIEIQELAn8gACAAQYACaiMBGyEAIwFFIwFBAkYEfyMCIwIoAgBBBGs2AgAjAigCACgCAAUgAgtFcgRAIAAgARArQQAjAUEBRg0BGgsPCyECIwIoAgAgAjYCACMCIwIoAgBBBGo2AgAjAigCACICIAA2AgAgAiABNgIEIwIjAigCAEEIajYCAAsrACABQd4BTgRAIAAoAhAoAjggAUECdGooAgAiACAAKAIAQQFqNgIACyABC5UCAQJ/An8jAUECRgRAIwIjAigCAEEcazYCACMCKAIAIgQoAgAhACAEKQIEIQEgBCgCDCECIAQpAhAhAyAEKAIYIQQLIAQgBEGAzgByIwEbIQQjAUECRgRAIwIjAigCAEEEazYCACMCKAIAKAIAIQYLIwFFIAZFcgRAIAAgASACIANCgICAgDBCgICAgDAgBBBvQQAjAUEBRg0BGiECCyMBRSAGQQFGcgRAIAAgAxAQQQEjAUEBRg0BGgsjAUUEQCACDwsACyEFIwIoAgAgBTYCACMCIwIoAgBBBGo2AgAjAigCACIFIAA2AgAgBSABNwIEIAUgAjYCDCAFIAM3AhAgBSAENgIYIwIjAigCAEEcajYCAEEAC70BAQF/IwFBAkYEQCMCIwIoAgBBCGs2AgAjAigCACIBKAIAIQAgASgCBCEBCwJ/IwFBAkYEQCMCIwIoAgBBBGs2AgAjAigCACgCACECCyMBRQRAIAAoAgAgARAZIQEgAEFAaygCACEACyMBRSACRXIEQCAAIAEQO0EAIwFBAUYNARoLDwshAiMCKAIAIAI2AgAjAiMCKAIAQQRqNgIAIwIoAgAiAiAANgIAIAIgATYCBCMCIwIoAgBBCGo2AgAL4QEBA38jAUECRgRAIwIjAigCAEEMazYCACMCKAIAIgEoAgAhACABKAIEIQIgASgCCCEBCwJ/IwFBAkYEQCMCIwIoAgBBBGs2AgAjAigCACgCACEDCwJAIwFFBEAgACgCACICRQ0BIAAoAhAiAEUNASACKAIAIQEgAigCBCECCyMBRSADRXIEQCABIABBACACEQEAGkEAIwFBAUYNAhoLCw8LIQMjAigCACADNgIAIwIjAigCAEEEajYCACMCKAIAIgMgADYCACADIAI2AgQgAyABNgIIIwIjAigCAEEMajYCAAvsAgEDfyMBQQJGBEAjAiMCKAIAQRBrNgIAIwIoAgAiBCgCACEAIAQoAgQhASAEKAIIIQIgBCgCDCEECwJ/IwFBAkYEQCMCIwIoAgBBBGs2AgAjAigCACgCACEFCyMBRQRAIABBQGsoAgAiBBDlAkUEQEF/DwsgAkEASCEDCyADIwFBAkZyQQAjAUUgBUVyGwRAIAQQNEEAIwFBAUYNARohAgsgASABQf8BcSMBGyEBIwFFIAVBAUZyBEAgACABEBFBASMBQQFGDQEaCyMBRQRAIABBQGsiACgCACEBCyMBRSAFQQJGcgRAIAEgAhA7QQIjAUEBRg0BGgsjAUUEQCAAKAIAKAKkAiACQRRsaiIAKAIAQQFqIQEgACABNgIAIAIPCwALIQMjAigCACADNgIAIwIjAigCAEEEajYCACMCKAIAIgMgADYCACADIAE2AgQgAyACNgIIIAMgBDYCDCMCIwIoAgBBEGo2AgBBAAvcAQECfyMBQQJGBEAjAiMCKAIAQQxrNgIAIwIoAgAiAigCACEAIAIoAgQhASACKAIIIQILAn8jAUECRgRAIwIjAigCAEEEazYCACMCKAIAKAIAIQMLIwFFBEAjAEEQayICJAAgAiABNgIMIAJBDGohAQsjAUUgA0VyBEAgACABQQQQdEEAIwFBAUYNARoLIwFFBEAgAkEQaiQACw8LIQMjAigCACADNgIAIwIjAigCAEEEajYCACMCKAIAIgMgADYCACADIAE2AgQgAyACNgIIIwIjAigCAEEMajYCAAu4AQIBfgJ/IwFBAkYEQCMCIwIoAgBBDGs2AgAjAigCACIFKAIAIQAgBSkCBCEDCwJ/IwFBAkYEQCMCIwIoAgBBBGs2AgAjAigCACgCACEECyMBRQRAIAEpAwAhAyABIAI3AwALIwFFIARFcgRAIAAgAxAQQQAjAUEBRg0BGgsPCyEBIwIoAgAgATYCACMCIwIoAgBBBGo2AgAjAigCACIBIAA2AgAgASADNwIEIwIjAigCAEEMajYCAAuUAgECfyMBQQJGBEAjAiMCKAIAQQxrNgIAIwIoAgAiAigCACEAIAIoAgQhASACKAIIIQILAn8jAUECRgRAIwIjAigCAEEEazYCACMCKAIAKAIAIQMLIAIgAUEATiMBGyICIwFBAkZyBEAjAUUgA0VyBEAgAEG2ARARQQAjAUEBRg0CGgsjAUUEQCAAQUBrIgAoAgAhAgsjAUUgA0EBRnIEQCACIAEQO0EBIwFBAUYNAhoLIwFFBEAgACgCACIAKAKkAiABQRRsaiAAKAKEAjYCBAsLDwshAyMCKAIAIAM2AgAjAiMCKAIAQQRqNgIAIwIoAgAiAyAANgIAIAMgATYCBCADIAI2AggjAiMCKAIAQQxqNgIACzMBAX8gAgRAIAAhAwNAIAMgAS0AADoAACADQQFqIQMgAUEBaiEBIAJBAWsiAg0ACwsgAAvpAQIBfwF+IwFBAkYEQCMCIwIoAgBBHGs2AgAjAigCACIEKAIAIQAgBCkCBCEBIAQpAgwhAiAEKAIUIQMgBCgCGCEECwJ/IwFFIwFBAkYEfyMCIwIoAgBBBGs2AgAjAigCACgCAAUgBQtFcgRAIAAgASACQoCAgIAwIAMgBEECENoBQQAjAUEBRg0BGiEBCyMBRQRAIAEPCwALIQUjAigCACAFNgIAIwIjAigCAEEEajYCACMCKAIAIgUgADYCACAFIAE3AgQgBSACNwIMIAUgAzYCFCAFIAQ2AhgjAiMCKAIAQRxqNgIAQgALhA0CC38DfiMBQQJGBEAjAiMCKAIAQcgAazYCACMCKAIAIgQoAgAhACAEKAIMIQIgBCgCECEDIAQpAhQhDyAEKAIcIQUgBCgCICEHIAQoAiQhCCAEKAIoIQkgBCgCLCEKIAQpAjAhECAEKAI4IQsgBCgCPCEMIAQoAkAhDSAEKAJEIQ4gBCkCBCEBCwJ/IwFBAkYEQCMCIwIoAgBBBGs2AgAjAigCACgCACEGCyMBRQRAIwBB4ABrIgokACADQQAgA0EASiIFGyENCwNAIAMgCyANRyMBGyIDIwFBAkZyBEAjAUUEQCALQQR0IAJqIgMoAgAhBQsjAUUgBkVyBEAgACAFELQFQQAjAUEBRg0DGiEICyMBRQRAIAMtAAQhCSADLQAFIQVCgICAgDAhDwsCQAJAAkACQAJAAkACQAJAAkAjAUUEQAJAIAUOCgIDAwYIBAUJBgAHCyADKAIIIQULIwFFIAZBAUZyBEAgACAFELQFQQEjAUEBRg0MGiEHCyMBRQRAIAMoAgxBAWohAwsCQAJAAkAjAUUEQAJAIAMOAwMAAgoLIAApA8ABIQ8LIwFFIAZBAkZyBEAgACAPIAcgD0EAEBVBAiMBQQFGDQ8aIQ8LIwFFDQILIwFFBEAgACgCKCIDKQMQIQ8LIwFFIAZBA0ZyBEAgACAPIAcgD0EAEBVBAyMBQQFGDQ4aIQ8LIwFFDQELIwFFIAZBBEZyBEAgACABIAcgAUEAEBVBBCMBQQFGDQ0aIQ8LCyMBRSAGQQVGcgRAIAAgBxAUQQUjAUEBRg0MGgsjAUUEQCAIQdABRiIDBEBBASEJDAkLIAhB2QFHIgMNCEEAIQkMCAsLIwFFBEACQCAIQdABRiIFBEBBASEJDAELIAhB2QFHIgUNAEEAIQkLCyMBRSAGQQZGcgRAIAAgASAIQQIgAyAJEJQDQQYjAUEBRg0LGiEDCyMBRQ0HCyMBRQRAQoCAgIAwIRAgAygCCCEFCyAFIwFBAkZyBEAjAUUEQCAKIAMoAgA2AhAgCkEgaiEHIApBEGohBQsjAUUgBkEHRnIEQCAHQcAAQcw8IAUQUEEHIwFBAUYNCxohBQsjAUUEQCADKAIIIQ5BCkEIIAMtAAVBAkYbIQwgAy4BBiEFCyMBRSAGQQhGcgR+IAAgDiAHQQAgDCAFEIQBQQgjAUEBRg0LGgUgEAshEAsjAUUEQCADKAIMIQULIAUjAUECRnIEQCMBRQRAIAogAygCACIFNgIAIApBIGohBwsjAUUgBkEJRnIEQCAHQcAAQcU8IAoQUEEJIwFBAUYNCxohBQsjAUUEQCADKAIMIQxBC0EJIAMtAAVBAkYbIQUgAy4BBiEDCyMBRSAGQQpGcgR+IAAgDCAHQQEgBSADEIQBQQojAUEBRg0LGgUgDwshDwsgAyAJQYA6ciMBGyEDIwFFIAZBC0ZyBEAgACABIAhCgICAgDAgECAPIAMQb0ELIwFBAUYNChohAwsjAUUgBkEMRnIEQCAAIBAQEEEMIwFBAUYNChoLIwFFIAZBDUZyBEAgACAPEBBBDSMBQQFGDQoaCyMBRQ0GCyMBRQRAIAMpAwgiD0KAgICACHwiEEL/////D1giAwRAIA9C/////w+DIQ8MBgtCgICAgMB+IA+5vSIPQoCAgIDAgYD8/wB9IhAgD0L///////////8Ag0KAgICAgICA+P8AViIDGyEPDAULCyMBRQRAQoCAgIDAfiADKQMIIg9CgICAgMCBgPz/AH0iECAPQv///////////wCDQoCAgICAgID4/wBWIgMbIQ8MBAsLIwFFIAZBDkZyBEAgACABIAhBAiADIAkQlANBDiMBQQFGDQcaIQMLIwFFDQMLIwFFBEAQLQALCyMBRQRAIAM1AgghDwsLIwFFIAZBD0ZyBEAgACABIAggDyAJEBpBDyMBQQFGDQQaIQMLCyMBRSAGQRBGcgRAIAAgCBAUQRAjAUEBRg0DGgsjAUUEQCALQQFqIQsMAgsLCyMBRQRAIApB4ABqJAALDwshBCMCKAIAIAQ2AgAjAiMCKAIAQQRqNgIAIwIoAgAiBCAANgIAIAQgATcCBCAEIAI2AgwgBCADNgIQIAQgDzcCFCAEIAU2AhwgBCAHNgIgIAQgCDYCJCAEIAk2AiggBCAKNgIsIAQgEDcCMCAEIAs2AjggBCAMNgI8IAQgDTYCQCAEIA42AkQjAiMCKAIAQcgAajYCAAvRAQECfyMBQQJGBEAjAiMCKAIAQQxrNgIAIwIoAgAiAigCACEAIAIpAgQhAQsCfyMBQQJGBEAjAiMCKAIAQQRrNgIAIwIoAgAoAgAhAwsCQCMBRQRAIAFCgICAgNB+VA0BIAGnIgIgAigCACICQQFrNgIAIAJBAUoNAQsjAUUgA0VyBEAgACABEJUEQQAjAUEBRg0CGgsLDwshAiMCKAIAIAI2AgAjAiMCKAIAQQRqNgIAIwIoAgAiAiAANgIAIAIgATcCBCMCIwIoAgBBDGo2AgALvAYCA34EfyMBQQJGBEAjAiMCKAIAQSRrNgIAIwIoAgAiBSgCACEAIAUpAgwhAiAFKAIUIQYgBSkCGCEEIAUoAiAhCCAFKQIEIQELAn8jAUECRgRAIwIjAigCAEEEazYCACMCKAIAKAIAIQcLIwFFBEAgAUIgiCICpyIGQQdrQW5JIQVBByAGIAUbQQtqIQYLAkACQAJAAkACQAJAAkACQAJAAkAjAUUEQAJAIAYOEwUDBAkHAAAAAAACBggAAAAAAgYACwsjAUUgB0VyBEAgAEGVMEEAEBZBACMBQQFGDQsaCyMBRQRAQoCAgIDgAA8LCyMBRQRAIAFCgICAgNB+VA0JIAGnIgAoAgBBAWohBiAAIAY2AgAMCQsLIwFFIAdBAUZyBEAgAEEhEHhBASMBQQFGDQkaIQILIwFFDQYLIwFFIAdBAkZyBEAgAEEiEHhBAiMBQQFGDQgaIQILIwFFDQULIwFFIAdBA0ZyBEAgAEEkEHhBAyMBQQFGDQcaIQILIwFFDQQLIwFFIAdBBEZyBEAgAEEEEHhBBCMBQQFGDQYaIQILIwFFDQMLIwFFIAdBBUZyBEAgAEEFEHhBBSMBQQFGDQUaIQILIwFFBEAgAaciBjUCBEL/////B4MhBAsjAUUgB0EGRnIEQCAAIAJBMCAEQQAQGkEGIwFBAUYNBRohBgsjAUUNAgsjAUUgB0EHRnIEQCAAQQYQeEEHIwFBAUYNBBohAgsjAUUNAQsjAUUgB0EIRnIEQCAAQQcQeEEIIwFBAUYNAxohAgsLIAggBiACQoCAgIBwg0KAgICA4ABSIwEbIgYjARsiCCMBQQJGcgRAIwFFIAFCgICAgNB+WnEEQCABpyIGKAIAQQFqIQUgBiAFNgIACyMBRSAHQQlGcgRAIAAgAiABEN0BQQkjAUEBRg0DGgsLQoCAgIDgACACIwFFIAhFIwFBAkZycRshAiMBRQRAIAIPCwsjAUUEQCABDwsACyEFIwIoAgAgBTYCACMCIwIoAgBBBGo2AgAjAigCACIFIAA2AgAgBSABNwIEIAUgAjcCDCAFIAY2AhQgBSAENwIYIAUgCDYCICMCIwIoAgBBJGo2AgBCAAuSAQEBfyMBQQJGBEAjAiMCKAIAQQRrNgIAIwIoAgAoAgAhAAsCfyMBRSMBQQJGBH8jAiMCKAIAQQRrNgIAIwIoAgAoAgAFIAELRXIEQCAAQYAxQQAQFkEAIwFBAUYNARoLDwshASMCKAIAIAE2AgAjAiMCKAIAQQRqNgIAIwIoAgAgADYCACMCIwIoAgBBBGo2AgALjQQBBH8jAUECRgRAIwIjAigCAEEUazYCACMCKAIAIgQoAgAhACAEKQIEIQEgBCgCDCECIAQoAhAhBAsCfyMBQQJGBEAjAiMCKAIAQQRrNgIAIwIoAgAoAgAhAwsjAUUEQCABQiCIpyIEQQtqIQVBfyECCwJAAkACQAJAIwFFBEACQAJAAkAgBQ4SBwcHBQIFBQUFBQQAAQEBBQUGBQsgAadBAEcPCyABpw8LIAGnKAIEIQILIwFFIANFcgRAIAAgARAQQQAjAUEBRg0FGgsjAUUEQCACQf////8HcUEARw8LCyMBRQRAIAGnLAAFIQILIwFFIANBAUZyBEAgACABEBBBASMBQQFGDQQaCyMBRQRAIAJBAE4PCwsjAUUEQCAEQQdrQW1NIgIEQCABQoCAgIDAgYD8/wB8Qv///////////wCDQgF9QoCAgICAgID4/wBUDwsLIwFFIANBAkZyBEAgACABEBBBAiMBQQFGDQMaCyACQQEjARshAgsjAUUEQCACDwsLIwFFBEAgAacoAgwhAgsjAUUgA0EDRnIEQCAAIAEQEEEDIwFBAUYNARoLIwFFBEAgAkH/////B2pBfkkPCwALIQMjAigCACADNgIAIwIjAigCAEEEajYCACMCKAIAIgMgADYCACADIAE3AgQgAyACNgIMIAMgBDYCECMCIwIoAgBBFGo2AgBBAAujBAELfyAAKAIAIQUjAEEQayIIIAI2AgxBfyEJAkADQAJAIAggAiIDQQRqIgI2AgwgAygCACIHQX9GDQAgACgCBCEKA0AgASIEIApODQMgBCAEIAVqIgwtAAAiBkECdEGAuAFqIg0tAABqIgEgCkoNAyAGQcIBRgRAIAwoAAEhCQwBCwsgBiAHRwRAIAdBGHYgBkYgBiAHQRB2Qf8BcUZyIAYgB0H/AXFGckUgBiAHQQh2Qf8BcUdxIAZFIAdBgAJJcnINAyAAIAY2AhALIARBAWohBAJAAkACQAJAAkACQAJAAkAgDS0AA0EFaw4YAAkACQkBCQkBCQkBAQECAgICBAUGBwkDCQsgBCAFai0AACEEIAggA0EIaiICNgIMIAMoAgQiA0F/RgRAIAAgBDYCFAwJCyADIARGDQgMCQsgBCAFai8AACEEIAggA0EIaiICNgIMIAMoAgQiA0F/RgRAIAAgBDYCFAwICyADIARGDQcMCAsgACAEIAVqKAAANgIYDAYLIAAgBCAFaiIDKAAANgIYIAAgAy8ABDYCHAwFCyAAIAQgBWooAAA2AiAMBAsgACAEIAVqIgMoAAA2AiAgACADLQAENgIcDAMLIAAgBCAFaiIDKAAANgIgIAAgAy8ABDYCHAwCCyAAIAQgBWoiAygAADYCICAAIAMoAAQ2AhggACADLQAINgIcDAELCyAAIAk2AgwgACABNgIIQQEhCwsgCwuzAQICfwF+IwFBAkYEQCMCIwIoAgBBDGs2AgAjAigCACICKAIAIQAgAikCBCEBCwJ/IwFFIwFBAkYEfyMCIwIoAgBBBGs2AgAjAigCACgCAAUgAwtFcgRAIAAgAUEAEI0EQQAjAUEBRg0BGiEBCyMBRQRAIAEPCwALIQIjAigCACACNgIAIwIjAigCAEEEajYCACMCKAIAIgIgADYCACACIAE3AgQjAiMCKAIAQQxqNgIAQgALkgIBBH8jAUECRgRAIwIjAigCAEEQazYCACMCKAIAIgIoAgAhACACKAIIIQMgAigCDCEEIAIoAgQhAQsCfyMBQQJGBEAjAiMCKAIAQQRrNgIAIwIoAgAoAgAhBQsjAUUEQCAAKAIQIgNBEGohBCADKAIAIQMLIwFFIAVFcgRAIAQgASADEQMAQQAjAUEBRg0BGiEBCyMBQQJGIAMgAUUjARtyBEAjAUUgBUEBRnIEQCAAEH5BASMBQQFGDQIaCwsjAUUEQCABDwsACyECIwIoAgAgAjYCACMCIwIoAgBBBGo2AgAjAigCACICIAA2AgAgAiABNgIEIAIgAzYCCCACIAQ2AgwjAiMCKAIAQRBqNgIAQQAL3AEBAn8jAUECRgRAIwIjAigCAEEMazYCACMCKAIAIgIoAgAhACACKAIEIQEgAigCCCECCwJ/IwFBAkYEQCMCIwIoAgBBBGs2AgAjAigCACgCACEDCyMBRQRAIwBBEGsiAiQAIAIgATsBDiACQQ5qIQELIwFFIANFcgRAIAAgAUECEHRBACMBQQFGDQEaCyMBRQRAIAJBEGokAAsPCyEDIwIoAgAgAzYCACMCIwIoAgBBBGo2AgAjAigCACIDIAA2AgAgAyABNgIEIAMgAjYCCCMCIwIoAgBBDGo2AgALKQEBfyACBEAgACEDA0AgAyABOgAAIANBAWohAyACQQFrIgINAAsLIAALBQAQDQALkQIBAn8jAUECRgRAIwIjAigCAEEIazYCACMCKAIAIgIoAgAhACACKAIEIQILAn8jAUECRgRAIwIjAigCAEEEazYCACMCKAIAKAIAIQMLAn8jAQR/IAIFIwBBEGsiAiQAIAAoAhAgAUcLIwFBAkZyBEAjAUUEQCACIAE2AgALIwFFIANFcgRAIABBp5gBIAIQF0EAIwFBAUYNAxoLQX8jAUUNARoLIwFFIANBAUZyBH8gABATQQEjAUEBRg0CGgUgAAsLIQAjAUUEQCACQRBqJAAgAA8LAAshASMCKAIAIAE2AgAjAiMCKAIAQQRqNgIAIwIoAgAiASAANgIAIAEgAjYCBCMCIwIoAgBBCGo2AgBBAAvBAQIBfwJ+IwFBAkYEQCMCIwIoAgBBEGs2AgAjAigCACIBKAIAIQAgASkCCCEDIAEoAgQhAQsCfyMBRSMBQQJGBH8jAiMCKAIAQQRrNgIAIwIoAgAoAgAFIAILRXIEQCAAIAFBARDmBUEAIwFBAUYNARohAwsjAUUEQCADDwsACyECIwIoAgAgAjYCACMCIwIoAgBBBGo2AgAjAigCACICIAA2AgAgAiABNgIEIAIgAzcCCCMCIwIoAgBBEGo2AgBCAAu7CgIFfw9+IwBB4ABrIgUkACAEQv///////z+DIQwgAiAEhUKAgICAgICAgIB/gyEKIAJC////////P4MiDUIgiCEOIARCMIinQf//AXEhBwJAAkAgAkIwiKdB//8BcSIJQf//AWtBgoB+TwRAIAdB//8Ba0GBgH5LDQELIAFQIAJC////////////AIMiC0KAgICAgIDA//8AVCALQoCAgICAgMD//wBRG0UEQCACQoCAgICAgCCEIQoMAgsgA1AgBEL///////////8AgyICQoCAgICAgMD//wBUIAJCgICAgICAwP//AFEbRQRAIARCgICAgICAIIQhCiADIQEMAgsgASALQoCAgICAgMD//wCFhFAEQCACIAOEUARAQoCAgICAgOD//wAhCkIAIQEMAwsgCkKAgICAgIDA//8AhCEKQgAhAQwCCyADIAJCgICAgICAwP//AIWEUARAIAEgC4RCACEBUARAQoCAgICAgOD//wAhCgwDCyAKQoCAgICAgMD//wCEIQoMAgsgASALhFAEQEIAIQEMAgsgAiADhFAEQEIAIQEMAgsgC0L///////8/WARAIAVB0ABqIAEgDSABIA0gDVAiBht5IAZBBnStfKciBkEPaxBpQRAgBmshBiAFKQNYIg1CIIghDiAFKQNQIQELIAJC////////P1YNACAFQUBrIAMgDCADIAwgDFAiCBt5IAhBBnStfKciCEEPaxBpIAYgCGtBEGohBiAFKQNIIQwgBSkDQCEDCyADQg+GIgtCgID+/w+DIgIgAUIgiCIEfiIQIAtCIIgiEyABQv////8PgyIBfnwiD0IghiIRIAEgAn58IgsgEVStIAIgDUL/////D4MiDX4iFSAEIBN+fCIRIAxCD4YiEiADQjGIhEL/////D4MiAyABfnwiFCAPIBBUrUIghiAPQiCIhHwiDyACIA5CgIAEhCIMfiIWIA0gE358Ig4gEkIgiEKAgICACIQiAiABfnwiECADIAR+fCISQiCGfCIXfCEBIAcgCWogBmpB//8AayEGAkAgAiAEfiIYIAwgE358IgQgGFStIAQgBCADIA1+fCIEVq18IAIgDH58IAQgBCARIBVUrSARIBRWrXx8IgRWrXwgAyAMfiIDIAIgDX58IgIgA1StQiCGIAJCIIiEfCAEIAJCIIZ8IgIgBFStfCACIAIgECASVq0gDiAWVK0gDiAQVq18fEIghiASQiCIhHwiAlatfCACIAIgDyAUVK0gDyAXVq18fCICVq18IgRCgICAgICAwACDUEUEQCAGQQFqIQYMAQsgC0I/iCAEQgGGIAJCP4iEIQQgAkIBhiABQj+IhCECIAtCAYYhCyABQgGGhCEBCyAGQf//AU4EQCAKQoCAgICAgMD//wCEIQpCACEBDAELAn4gBkEATARAQQEgBmsiB0H/AE0EQCAFQTBqIAsgASAG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BEZyBEAgACAGEBBBBCMBQQFGDQEaCyMBRQRAIAEPCwALIQMjAigCACADNgIAIwIjAigCAEEEajYCACMCKAIAIgMgADYCACADIAE3AgQgAyACNgIMIAMgBjcCECADIAQ2AhgjAiMCKAIAQRxqNgIAQgALdQEBfiAAIAEgBH4gAiADfnwgA0IgiCICIAFCIIgiBH58IANC/////w+DIgMgAUL/////D4MiAX4iBUIgiCADIAR+fCIDQiCIfCABIAJ+IANC/////w+DfCIBQiCIfDcDCCAAIAVC/////w+DIAFCIIaENwMAC1ABAX4CQCADQcAAcQRAIAEgA0FAaq2GIQJCACEBDAELIANFDQAgAiADrSIEhiABQcAAIANrrYiEIQIgASAEhiEBCyAAIAE3AwAgACACNwMIC1MBA38gASACQQV1IgRLBEAgACAEQQJ0aigCACEDCyACQR9xBH8gASAEQQFqIgRLBH8gACAEQQJ0aigCAAVBAAtBAXQgAkF/c3QgAyACdnIFIAMLC2QAAkACQCABQQBIDQAgACgCrAIgAUwNACAAKAKkAiABQRRsaiIAIAAoAgAgAmoiADYCACAAQQBIDQEgAA8LQYUpQbX8AEHIqAFBm9UAEAAAC0GtjgFBtfwAQcuoAUGb1QAQAAALrQIBAn8jAUECRgRAIwIjAigCAEEcazYCACMCKAIAIgQoAgAhACAEKQIMIQIgBCkCFCEDIAQpAgQhAQsCfyMBQQJGBEAjAiMCKAIAQQRrNgIAIwIoAgAoAgAhBQsjAUUEQCACQoCAgIAIfEL/////D1gEfiACQv////8PgwVCgICAgMB+IAK5vSICQoCAgIDAgYD8/wB9IAJC////////////AINCgICAgICAgPj/AFYbCyECCyMBRSAFRXIEQCAAIAEgAiADQYeAARC+AUEAIwFBAUYNARohAAsjAUUEQCAADwsACyEEIwIoAgAgBDYCACMCIwIoAgBBBGo2AgAjAigCACIEIAA2AgAgBCABNwIEIAQgAjcCDCAEIAM3AhQjAiMCKAIAQRxqNgIAQQALkwEBAX8jAUECRgRAIwIjAigCAEEEazYCACMCKAIAKAIAIQALAn8jAUUjAUECRgR/IwIjAigCAEEEazYCACMCKAIAKAIABSABC0VyBEAgAEGN+wBBABAWQQAjAUEBRg0BGgsP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AhQhBiAEKwIYIQcgBCgCICEECwJ/IwFBAkYEQCMCIwIoAgBBBGs2AgAjAigCACgCACEFCyMBRQRAIwBBEGsiBCQAIAJC/////y9YIQMLAkAjAUUEQCADBEAgASACp7c5AwBBACEADAILIAJCIIinQQdrQW1NIgMEQCABIAJCgICAgMCBgPz/AHw3AwBBACEADAILCyMBRSAFRXIEQCAAIAIQjwFBACMBQQFGDQIaIQILIAMgAkKAgICAcINCgICAgOAAUSMBGyEDAn8jAUUEQCADBEBEAAAAAAAA+H8hB0F/DAILIAJCIIinIgNBB2tBbkkhBkEHIAMgBhsiA0EKakECTyEGCwJ8AkACQCMBRQRAIAYEQCADQQdGIgANAyADDQIgAqciALcMBAsgAqdBBGohAyAEQQhqIQYLIwFFIAVBAUZyBEAgAyAGELUFQQEjAUEBRg0GGgsjAUUgBUECRnIEQCAAIAIQEEECIwFBAUYNBhoLIwFFBEAgBCsDCCEHQQAMBAsLIwFFBEAQLQALCyAHIAJCgICAgMCBgPz/AHy/IwEbCyEHIABBACMBGwshACMBRQRAIAEgBzkDAAsLIwFFBEAgBEEQaiQAIAAPCwALIQUjAigCACAFNgIAIwIjAigCAEEEajYCACMCKAIAIgUgADYCACAFIAE2AgQgBSACNwIIIAUgAzYCECAFIAY2AhQgBSAHOQIYIAUgBDYCICMCIwIoAgBBJGo2AgBBAAvJCQIEfwR+IwBB8ABrIgYkACAEQv///////////wCDIQkCQAJAIAFQIgUgAkL///////////8AgyIKQoCAgICAgMD//wB9QoCAgICAgMCAgH9UIApQG0UEQCADQgBSIAlCgICAgICAwP//AH0iC0KAgICAgIDAgIB/ViALQoCAgICAgMCAgH9RGw0BCyAFIApCgICAgICAwP//AFQgCkKAgICAgIDA//8AURtFBEAgAkKAgICAgIAghCEEIAEhAwwCCyADUCAJQoCAgICAgMD//wBUIAlCgICAgICAwP//AFEbRQRAIARCgICAgICAIIQhBAwCCyABIApCgICAgICAwP//AIWEUARAQoCAgICAgOD//wAgAiABIAOFIAIgBIVCgICAgICAgICAf4WEUCIFGyEEQgAgASAFGyEDDAILIAMgCUKAgICAgIDA//8AhYRQDQEgASAKhFAEQCADIAmEQgBSDQIgASADgyEDIAIgBIMhBAwCCyADIAmEUEUNACABIQMgAiEEDAELIAMgASABIANUIAkgClYgCSAKURsiCBshCiAEIAIgCBsiDEL///////8/gyEJIAIgBCAIGyILQjCIp0H//wFxIQcgDEIwiKdB//8BcSIFRQRAIAZB4ABqIAogCSAKIAkgCVAiBRt5IAVBBnStfKciBUEPaxBpIAYpA2ghCSAGKQNgIQpBECAFayEFCyABIAMgCBshAyALQv///////z+DIQEgBwR+IAEFIAZB0ABqIAMgASADIAEgAVAiBxt5IAdBBnStfKciB0EPaxBpQRAgB2shByAGKQNQIQMgBikDWAtCA4YgA0I9iIRCgICAgICAgASEIQEgCUIDhiAKQj2IhCACIASFIQQCfiADQgOGIgIgBSAHRg0AGiAFIAdrIgdB/wBLBEBCACEBQgEMAQsgBkFAayACIAFBgAEgB2sQaSAGQTBqIAIgASAHEJACIAYpAzghASAGKQMwIAYpA0AgBikDSIRCAFKthAshCUKAgICAgICABIQhCyAKQgOGIQoCQCAEQgBTBEBCACEDQgAhBCAJIAqFIAEgC4WEUA0CIAogCX0hAiALIAF9IAkgClatfSIEQv////////8DVg0BIAZBIGogAiAEIAIgBCAEUCIHG3kgB0EGdK18p0EMayIHEGkgBSAHayEFIAYpAyghBCAGKQMgIQIMAQsgCSAKfCICIAlUrSABIAt8fCIEQoCAgICAgIAIg1ANACAJQgGDIARCP4YgAkIBiISEIQIgBUEBaiEFIARCAYghBAsgDEKAgICAgICAgIB/gyEDIAVB//8BTgRAIANCgICAgICAwP//AIQhBEIAIQMMAQtBACEHAkAgBUEASgRAIAUhBwwBCyAGQRBqIAIgBCAFQf8AahBpIAYgAiAEQQEgBWsQkAIgBikDACAGKQMQIAYpAxiEQgBSrYQhAiAGKQMIIQQLIARCPYYgAkIDiIQhASAEQgOIQv///////z+DIAetQjCGhCADhCEEAkACQCACp0EHcSIFQQRHBEAgBCABIAEgBUEES618IgNWrXwhBAwBCyAEIAEgASABQgGDfCIDVq18IQQMAQsgBUUNAQsLIAAgAzcDACAAIAQ3AwggBkHwAGokAAuvAgEEfyMBQQJGBEAj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QQEjARsLIQcDQAJAAkACQAJAIAcgB0UjARsiByMBQQJGcgRAIwFFBEAgAkKAgICAYIMhNiAEQQN0ISggA0KAgICAcIMhNyATQQhqIRwgE0EQaiEdIBNBGGohHiAXQQhqIR8gF0EQaiEgIBdBGGohISAUQRhqISkgGkEYaiEqIAStITUgA6chIiASQTBqISsgEkHoAGohIyAJIQcLAkADQAJAIwFFBEAgDUEBaiEQQgIhLyANLQAAIghBAWshC0KAgICAMCEBCwJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCMBRQRAAkACQAJAAkACQAJAAkAgCw71AQABJgqTAQsMDQ4PEBESExQVFhkXGBobHB0iIyQlHiEfICooKCsrLC3iAYMCLi8wMd8BMjM0NTY3ODk6Ojs7PKABowE+PT+QAZEBkgGUAZUBlgGeAZ8BogGhAaQBlwGYAZkBmgGbAaUBpgGnAZwBnAGdAZ0BQEFCQ0RFbW5vc3R1dnBxcnd+fXqBAYIBgwHLAcwBzQHOAc4BzgHOAc4BzgF4eHh5hAGGAYgBhQGHAYoBiQGLAYwBjQGO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IAE2AgQgBCACNwIIIAQgAzYCECAEIAU2AhQgBCAJNwIYIAQgBjYCICAEIAg2AiQjAiMCKAIAQShqNgIAQQALXgEBfyABQRBqIQMCQCABKAIEQQBIBEAgACADIAJBAXQQIRoMAQtBACEBIAJBACACQQBKGyECA0AgASACRg0BIAAgAUEBdGogASADai0AADsBACABQQFqIQEMAAsACwvyAwICfgV/IwBBIGsiBSQAIAFC////////P4MhAgJ+IAFCMIhC//8BgyIDpyIEQYH4AGtB/Q9NBEAgAkIEhiAAQjyIhCECIARBgPgAa60hAwJAIABC//////////8PgyIAQoGAgICAgICACFoEQCACQgF8IQIMAQsgAEKAgICAgICAgAhSDQAgAkIBgyACfCECC0IAIAIgAkL/////////B1YiBBshACAErSADfAwBCyAAIAKEUCADQv//AVJyRQRAIAJCBIYgAEI8iIRCgICAgICAgASEIQBC/w8MAQsgBEH+hwFLBEBCACEAQv8PDAELQYD4AEGB+AAgA1AiBxsiCCAEayIGQfAASgRAQgAhAEIADAELIAVBEGogACACIAJCgICAgICAwACEIAcbIgJBgAEgBmsQaSAFIAAgAiAGEJACIAUpAwhCBIYgBSkDACICQjyIhCEAAkAgBCAIRyAFKQMQIAUpAxiEQgBSca0gAkL//////////w+DhCICQoGAgICAgICACFoEQCAAQgF8IQAMAQsgAkKAgICAgICAgAhSDQAgAEIBgyAAfCEACyAAQoCAgICAgIAIhSAAIABC/////////wdWIgQbIQAgBK0LIQIgBUEgaiQAIAFCgICAgICAgICAf4MgAkI0hoQgAIS/C/4FAwR/AXwBfiMBQQJGBEAjAiMCKAIAQRxrNgIAIwIoAgAiBCgCACEAIAQoAgQhASAEKQIIIQIgBCgCECEFIAQoAhQhBiAEKAIYIQQLAn8jAUECRgRAIwIjAigCAEEEazYCACMCKAIAKAIAIQMLIwFFBEAjAEEgayIFJAAgASEECwJAAn8CQAJAA0AjAUUEQCACQiCIpyIBQQdrQW5JIQYCQAJAAkACQEEHIAEgBhsiAQ4IAAAAAAMDAwECCyACpwwHC0EAIQAgAkKAgICAwIGA/P8AfCICQv///////////wCDQoCAgICAgID4/wBWIgEN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hAIgAUEQaiABKQMwIAEpAzggASkDICABKQMoEDAgASkDECEXIAEpAxgMAgsgFkKaBFkEQEHg1gRBxAA2AgAgAUHgAGogBBB7IAFB0ABqIAEpA2AgASkDaEJ/Qv///////7///wAQMCABQUBrIAEpA1AgASkDWEJ/Qv///////7///wAQMCABKQNAIRcgASkDSAwCCyAWQut1VwRAQeDWBEHEADYCACABQZABaiAEEHsgAUGAAWogASkDkAEgASkDmAFCAEKAgICAgIDAABAwIAFB8ABqIAEpA4ABIAEpA4gBQgBCgICAgICAwAAQMCABKQNwIRcgASkDeAwCCyAKBEAgCkEITARAIAFBkAZqIAlBAnRqIgAoAgAhCANAIAhBCmwhCCAKQQFqIgpBCUcNAAsgACAINgIACyAJQQFqIQkLAkAgC0EJTiAWQhFVciALIBanIgpKcg0AIBZCCVEEQCABQcABaiAEEHsgAUGwAWogASgCkAYQhAIgAUGgAWogASkDwAEgASkDyAEgASkDsAEgASkDuAEQMCABKQOgASEXIAEpA6gBDAMLIBZCCFcEQCABQZACaiAEEHsgAUGAAmogASgCkAYQhAIgAUHwAWogASkDkAIgASkDmAIgASkDgAIgASkDiAIQMCABQeABakEAIAprQQJ0QYDHBGooAgAQeyABQdABaiABKQPwASABKQP4ASABKQPgASABKQPoARDkBSABKQPQASEXIAEpA9gBDAMLIBZCEVlBACABKAKQBiIAIApBfWxB0ABqdhsNACABQeACaiAEEHsgAUHQAmogABCEAiABQcACaiABKQPgAiABKQPoAiABKQPQAiABKQPYAhAwIAFBsAJqIApBAnRBuMYEaigCABB7IAFBoAJqIAEpA8ACIAEpA8gCIAEpA7ACIAEpA7gCEDAgASkDoAIhFyABKQOoAgwCCwNAIAFBkAZqIAkiAEEBayIJQQJ0aigCAEUNAAtBACELAkAgCkEJbyICRQRAQQAhAgwBCyACQQlqIAIgFkIAUxshBwJAIABFBEBBACECQQAhAAwBC0GAlOvcA0EAIAdrQQJ0QYDHBGooAgAiBm0hCUEAIQNBACEIQQAhAgNAIAFBkAZqIg8gCEECdGoiDiAOKAIAIg4gBm4iESADaiIDNgIAIAJBAWpB/w9xIAIgA0UgAiAIRnEiAxsh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wAAQ6gUhACABKQOIAyAXIABBAE4iBxshFyABKQOAAyAYIAcbIRggAiAGRyAAQQBIciALQZJ3SHEgFiAZQgBCABDvAUEAR3FFIAcgC2oiAEGPB0xxDQBB4NYEQcQANgIACyABQfACaiAYIBcgABCHBiABKQPwAiEXIAEpA/gCCwshFiMBRQRAIA0gFjcDGCANIBc3AxAgAUGQxgBqJAAgDSkDGCEWIA0pAxAhFwsLIwFFBEAgEyAXNwMAIBMgFjcDCCANQTBqJAAgEykDACEWIBIgEykDCDcDCCASIBY3AwAgE0GgAWokACASKQMAIBIpAwgQwwUgEkEQaiQADwsACyEFIwIoAgAgBTYCACMCIwIoAgBBBGo2AgAjAigCACIFIAA2AgAgBSABNgIEIAUgAjYCCCAFIAM2AgwgBSAENgIQIAUgBjYCFCAFIBY3AhggBSAHNgIgIAUgFzcCJCAFIAg2AiwgBSAJNgIwIAUgGDcCNCAFIAo2AjwgBSALNgJAIAUgGTcCRCAFIBo3AkwgBSANNgJUIAUgDjYCWCAFIBs3AlwgBSAPNgJkIAUgEDYCaCAFIBE2AmwgBSASNgJwIAUgEzYCdCAFIBw3AnggBSAUNgKAASAFIBU2AoQBIwIjAigCAEGIAWo2AgBEAAAAAAAAAAALqg8CBX8PfiMAQdACayIFJAAgBEL///////8/gyEKIAJC////////P4MhCyACIASFQoCAgICAgICAgH+DIQwgBEIwiKdB//8BcSEIAkACQCACQjCIp0H//wFxIglB//8Ba0GCgH5PBEAgCEH//wFrQYGAfksNAQsgAVAgAkL///////////8AgyINQoCAgICAgMD//wBUIA1CgICAgICAwP//AFEbRQRAIAJCgICAgICAIIQhDAwCCyADUCAEQv///////////wCDIgJCgICAgICAwP//AFQgAkKAgICAgIDA//8AURtFBEAgBEKAgICAgIAghCEMIAMhAQwCCyABIA1CgICAgICAwP//AIWEUARAIAMgAkKAgICAgIDA//8AhYRQBEBCACEBQoCAgICAgOD//wAhDAwDCyAMQoCAgICAgMD//wCEIQxCACEBDAILIAMgAkKAgICAgIDA//8AhYRQBEBCACEBDAILIAEgDYRQBEBCgICAgICA4P//ACAMIAIgA4RQGyEMQgAhAQwCCyACIAOEUARAIAxCgICAgICAwP//AIQhDEIAIQEMAgsgDUL///////8/WARAIAVBwAJqIAEgCyABIAsgC1AiBht5IAZBBnStfKciBkEPaxBpQRAgBmshBiAFKQPIAiELIAUpA8ACIQELIAJC////////P1YNACAFQbACaiADIAogAyAKIApQIgcbeSAHQQZ0rXynIgdBD2sQaSAGIAdqQRBrIQYgBSkDuAIhCiAFKQOwAiEDCyAFQaACaiAKQoCAgICAgMAAhCISQg+GIANCMYiEIgJCAEKAgICAsOa8gvUAIAJ9IgRCABBoIAVBkAJqQgAgBSkDqAJ9QgAgBEIAEGggBUGAAmogBSkDmAJCAYYgBSkDkAJCP4iEIgRCACACQgAQaCAFQfABaiAEQgBCACAFKQOIAn1CABBoIAVB4AFqIAUpA/gBQgGGIAUpA/ABQj+IhCIEQgAgAkIAEGggBUHQAWogBEIAQgAgBSkD6AF9QgAQaCAFQcABaiAFKQPYAUIBhiAFKQPQAUI/iIQiBEIAIAJCABBoIAVBsAFqIARCAEIAIAUpA8gBfUIAEGggBUGgAWogAkIAIAUpA7gBQgGGIAUpA7ABQj+IhEIBfSICQgAQaCAFQZABaiADQg+GQgAgAkIAEGggBUHwAGogAkIAQgAgBSkDqAEgBSkDoAEiDSAFKQOYAXwiBCANVK18IARCAVatfH1CABBoIAVBgAFqQgEgBH1CACACQgAQaCAGIAkgCGtqIQYCfyAFKQNwIhNCAYYiDiAFKQOIASIPQgGGIAUpA4ABQj+IhHwiEELn7AB9IhRCIIgiAiALQoCAgICAgMAAhCIVQgGGIhZCIIgiBH4iESABQgGGIg1CIIgiCiAQIBRWrSAOIBBWrSAFKQN4QgGGIBNCP4iEIA9CP4h8fHxCAX0iE0IgiCIQfnwiDiARVK0gDiAOIBNC/////w+DIhMgAUI/iCIXIAtCAYaEQv////8PgyILfnwiDlatfCAEIBB+fCAEIBN+IhEgCyAQfnwiDyARVK1CIIYgD0IgiIR8IA4gDiAPQiCGfCIOVq18IA4gDiAUQv////8PgyIUIAt+IhEgAiAKfnwiDyARVK0gDyAPIBMgDUL+////D4MiEX58Ig9WrXx8Ig5WrXwgDiAEIBR+IhggECARfnwiBCACIAt+fCILIAogE358IhBCIIggCyAQVq0gBCAYVK0gBCALVq18fEIghoR8IgQgDlStfCAEIA8gAiARfiICIAogFH58IgpCIIggAiAKVq1CIIaEfCICIA9UrSACIBBCIIZ8IAJUrXx8IgIgBFStfCIEQv////////8AWARAIBYgF4QhFSAFQdAAaiACIAQgAyASEGggAUIxhiAFKQNYfSAFKQNQIgFCAFKtfSEKQgAgAX0hCyAGQf7/AGoMAQsgBUHgAGogBEI/hiACQgGIhCICIARCAYgiBCADIBIQaCABQjCGIAUpA2h9IAUpA2AiDUIAUq19IQpCACANfSELIAEhDSAGQf//AGoLIgZB//8BTgRAIAxCgICAgICAwP//AIQhDEIAIQEMAQsCfiAGQQBKBEAgCkIBhiALQj+IhCEBIARC////////P4MgBq1CMIaEIQogC0IBhgwBCyAGQY9/TARAQgAhAQwCCyAFQUBrIAIgBEEBIAZrEJACIAVBMGogDSAVIAZB8ABqEGkgBUEgaiADIBIgBSkDQCICIAUpA0giChBoIAUpAzggBSkDKEIBhiAFKQMgIgFCP4iEfSAFKQMwIgQgAUIBhiINVK19IQEgBCANfQshBCAFQRBqIAMgEkIDQgAQaCAFIAMgEkIFQgAQaCAKIAIgAiADIAQgAkIBgyIEfCIDVCABIAMgBFStfCIBIBJWIAEgElEbrXwiAlatfCIEIAIgAiAEQoCAgICAgMD//wBUIAMgBSkDEFYgASAFKQMYIgRWIAEgBFEbca18IgJWrXwiBCACIARCgICAgICAwP//AFQgAyAFKQMAViABIAUpAwgiA1YgASADURtxrXwiASACVK18IAyEIQwLIAAgATcDACAAIAw3AwggBUHQAmokAAvYAQEBfwJAAkAgACABc0EDcQRAIAEtAAAhAgwBCyABQQNxBEADQCAAIAEtAAAiAjoAACACRQ0DIABBAWohACABQQFqIgFBA3ENAAsLQYCChAggASgCACICayACckGAgYKEeHFBgIGChHhHDQADQCAAIAI2AgAgAEEEaiEAIAEoAgQhAiABQQRqIQEgAkGAgoQIIAJrckGAgYKEeHFBgIGChHhGDQALCyAAIAI6AAAgAkH/AXFFDQADQCAAIAEtAAEiAjoAASAAQQFqIQAgAUEBaiEBIAINAAsLC/YDAgN/An4jAUECRgRAIwIj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DQQaIQYLIwEEfCAMBSAGDQJBASEGIAgrAwgLCyEMIwFFBEAgBiACIAIgBkgiBxshAgsDQCAHIAIgBkcjARsiByMBQQJGcgRAIwFFBEAgBkEDdCADaiIHKQMAIQELIwFFIAlBAUZyBEAgACAIIAEQREEBIwFBAUYNBRohBwsjAUUEQCAHDQMCQCAMvSIOQv///////////wCDIgFCgICAgICAgPj/AFYiBw0AIAgrAwAiDb0iAUL///////////8Ag0KAgICAgICA+P8AViIHBEAgDSEMDAELIAxEAAAAAAAAAABhIgcgDUQAAAAAAAAAAGFxIQUgBARAIAUEQCABIA6DIgG/IQwMAgsgDCAMIA2lIA29Qv///////////wCDQoCAgICAgID4/wBWGyANIAy9Qv///////////wCDIgFCgICAgICAgPj/AFgiBxshDAwBCyAFBEAgASAOhCIBvyEMDAELIAwgDCANpCANvUL///////////8Ag0KAgICAgICA+P8AVhsgDSAMvUL///////////8AgyIBQoCAgICAgID4/wBYIgcbIQwLIAZBAWohBgwCCwsLIwFFBEAgDL0iAQJ/IAyZRAAAAAAAAOBBYwRAIAyqDAELQYCAgIB4CyIAt71RBEAgAK0hAQwDC0KAgICAwH4gAUKAgICAwIGA/P8AfSABQv///////////wCDQoCAgICAgID4/wBWGyEBDAILCyABQoCAgIDgACMBGyEBCyMBRQRAIAhBEGokACABDwsACyEFIwIoAgAgBTYCACMCIwIoAgBBBGo2AgAjAigCACIFIAA2AgAgBSABNwIEIAUgAjYCDCAFIAM2AhAgBSAENgIUIAUgBjYCGCAFIAc2AhwgBSAMOQIgIAUgCDYCKCMCIwIoAgBBLGo2AgBCAAvwAQIBfgF/IwFBAkYEQCMCIwIoAgBBFGs2AgAjAigCACICKAIAIQAgAikCDCEEIAIpAgQhAQsCfyMBQQJGBEAjAiMCKAIAQQRrNgIAIwIoAgAoAgAhBQsjAUUEQCADKQMIIQQgAykDACEBCyMBRSAFRXIEQCAAIAEgBEEAEI0CQQAjAUEBRg0BGiEACyMBRQRAQoCAgIDgACAAQQBHrUKAgICAEIQgAEEASBsPCwALIQIjAigCACACNgIAIwIjAigCAEEEajYCACMCKAIAIgIg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GCAFIAo3AiAgBSALNwIoIAUgBzYCMCAFIAw3AjQgBSAINgI8IAUgDTcCQCMCIwIoAgBByABqNgIAQgALhwIBAX8jAUECRgRAIwIjAigCAEEQazYCACMCKAIAIgIoAgAhACACKQIEIQEgAigCDCECCwJ/IwFFIwFBAkYEfyMCIwIoAgBBBGs2AgAjAigCACgCAAUgAwtFcgRAIAAgASACEE5BACMBQQFGDQEaIQALIwFFBEAgAEUEQEKAgICA4AAPCyAAKAIAIgBBAE4EQCAArQ8LIAC4vSIBQoCAgICAgID4/wBWIQBCgICAgMB+IAFCgICAgMCBgPz/AH0gABsPCwALIQMjAigCACADNgIAIwIjAigCAEEEajYCACMCKAIAIgMgADYCACADIAE3AgQgAyACNgIMIwIjAigCAEEQajYCAEIACzkBAX5CgICAgMB+IAEpAwAiAkKAgICAwIGA/P8AfSACQv///////////wCDQoCAgICAgID4/wBWGws7AQF+QoCAgIDAfiABKgIAu70iAkKAgICAwIGA/P8AfSACQv///////////wCDQoCAgICAgID4/wBWGwu/AQICfgJ/IwFBAkYEQCMCIwIoAgBBDGs2AgAjAigCACIFKAIAIQAgBSkCBCECCwJ/IwFBAkYEQCMCIwIoAgBBBGs2AgAjAigCACgCACEECyMBRQRAIAEpAwAhAgsjAUUgBEVyBEAgACACEPkDQQAjAUEBRg0BGiECCyMBRQRAIAIPCwALIQEjAigCACABNgIAIwIjAigCAEEEajYCACMCKAIAIgEgADYCACABIAI3AgQjAiMCKAIAQQxqNgIAQgALvwECAn4CfyMBQQJGBEAjAiMCKAIAQQxrNgIAIwIoAgAiBSgCACEAIAUpAgQhAgsCfyMBQQJGBEAjAiMCKAIAQQRrNgIAIwIoAgAoAgAhBAsjAUUEQCABKQMAIQILIwFFIARFcgRAIAAgAhCJAkEAIwFBAUYNARohAgsjAUUEQCACDwsACyEBIwIoAgAgATYCACMCIwIoAgBBBGo2AgAjAigCACIBIAA2AgAgASACNwIEIwIjAigCAEEMajYCAEIACz0BAX4gASgCACIAQQBOBEAgAK0PC0KAgICAwH4gALi9IgJCgICAgMCBgPz/AH0gAkKAgICAgICA+P8AVhsLBwAgATUCAAsH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BygCHCICIABqIAynQf//A3EgCiACaxD9ASICRQ0NIAIgAGshBQwNCyADRQ0MIAcpAxAiDEKAgAJ8QoCABFoNDAwBCyADIAcpAxAiDEKAgARUcUUNCwsgBigCJCEAIAcoAhwhBSAMp0H//wNxIQMDQCACIAVGDQkgBUEBdCAAai8BACADRg0LIAUgCWohBQwACwALIANFDQkgBykDECIMQoCAgIAIfEKAgICAEFoNCQwBCyADIAcpAxAiDEKAgICAEFRxRQ0ICyAMpyEAIAYoAiQhAyAHKAIcIQUDQCACIAVGDQYgBUECdCADaigCACAARg0IIAUgCWohBQwACwALIAhFDQYgDr1C////////////AINCgYCAgICAgPj/AFoEQCAEQX9HDQggBigCJCEAIAcoAhwhBQNAIAIgBUYNBiAFQQJ0IABqKAIAQf////8HcUGAgID8B0sNCCAFIAlqIQUMAAsACyAOtiIPuyAOYg0GIAYoAiQhACAHKAIcIQUDQCACIAVGDQUgBUECdCAAaioCACAPWw0HIAUgCWohBQwACwALIAhFDQUgBigCJCEAIA69Qv///////////wCDQoGAgICAgID4/wBaBEAgBEF/Rw0HIAcoAhwhBQNAIAIgBUYNBSAFQQN0IABqKQMAQv///////////wCDQoCAgICAgID4/wBWDQcgBSAJaiEFDAALAAsgBygCHCEFA0AgAiAFRg0EIAVBA3QgAGorAwAgDmENBiAFIAlqIQUMAAsACyAIRQ0BIAAoAhAoAowBIgAEfyADIAAtAChBBHFBAnZxBUEAC0UNBCAHKQMQQv////////8PfEL/////////H1oNBAwBCyAIRQ0AIAAoAhAoAowBIgBFDQMgAyAALQAoQQRxQQJ2cUUNAyAHKQMQQv////////8PVg0DCyAGKAIkIQAgBygCHCEFIAcpAxAhAQNAIAIgBUYNASAFQQN0IABqKQMAIgwgAVENAyAFIAlqIQUMAAsAC0F/IQULCyMBRSAEQX9GcQ0BCyMBRQRAIAWtIQwMAgsLIwFFBEAgBUEATq1CgICAgBCEIQwLCyMBRQRAIAdBIGokACAMDwsACyEGIwIoAgAgBjYCACMCIwIoAgBBBGo2AgAjAigCACIGIAA2AgAgBiABNwIEIAYgAjYCDCAGIAM2AhAgBiAENgIUIAYg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AwsCfyMBQQJGBEAjAiMCKAIAQQRrNgIAIwIoAgAoAgAhBgsjAUUEQCMAQdABayIFJAAgACAFEJQFCyMBRSAGRXIEQCABEDZBACMBQQFGDQEaIQMLIwFFBEACfiAFKQMIIgJCgICAgAh8Qv////8PWARAIAJC/////w+DDAELQoCAgIDAfiACub0iAkKAgICAwIGA/P8AfSACQv///////////wCDQoCAgICAgID4/wBWGwshAgsjAUUgBkEBRnIEQCABIANBqi0gAhBCQQEjAUEBRg0BGgsjAUUEQAJ+IAUpAxAiAkKAgICACHxC/////w9YBEAgAkL/////D4MMAQtCgICAgMB+IAK5vSICQoCAgIDAgYD8/wB9IAJC////////////AINCgICAgICAgPj/AFYbCyECCyMBRSAGQQJGcgRAIAEgA0Hm4AAgAhBCQQIjAUEBRg0BGgsjAUUEQAJ+IAUpAxgiAkKAgICACHxC/////w9YBEAgAkL/////D4MMAQtCgICAgMB+IAK5vSICQoCAgIDAgYD8/wB9IAJC////////////AINCgICAgICAgPj/AFYbCyECCyMBRSAGQQNGcgRAIAEgA0G6KiACEEJBAyMBQQFGDQEaCyMBRQRAAn4gBSkDICICQoCAgIAIfEL/////D1gEQCACQv////8PgwwBC0KAgICAwH4gArm9IgJCgICAgMCBgPz/AH0gAkL///////////8Ag0KAgICAgICA+P8AVhsLIQILIwFFIAZBBEZyBEAgASADQagqIAIQQkEEIwFBAUYNARoLIwFFBEACfiAFKQMoIgJCgICAgAh8Qv////8PWARAIAJC/////w+DDAELQoCAgIDAfiACub0iAkKAgICAwIGA/P8AfSACQv///////////wCDQoCAgICAgID4/wBWGwshAgsjAUUgBkEFRnIEQCABIANB+iggAhBCQQUjAUEBRg0BGgsjAUUEQAJ+IAUpAzAiAkKAgICACHxC/////w9YBEAgAkL/////D4MMAQtCgICAgMB+IAK5vSICQoCAgIDAgYD8/wB9IAJC////////////AINCgICAgICAgPj/AFYbCyECCyMBRSAGQQZGcgRAIAEgA0GB4AAgAhBCQQYjAUEBRg0BGgsjAUUEQAJ+IAUpAzgiAkKAgICACHxC/////w9YBEAgAkL/////D4MMAQtCgICAgMB+IAK5vSICQoCAgIDAgYD8/wB9IAJC////////////AINCgICAgICAgPj/AFYbCyECCyMBRSAGQQdGcgRAIAEgA0HYKCACEEJBByMBQQFGDQEaCyMBRQRAAn4gBSkDQCICQoCAgIAIfEL/////D1gEQCACQv////8PgwwBC0KAgICAwH4gArm9IgJCgICAgMCBgPz/AH0gAkL///////////8Ag0KAgICAgICA+P8AVhsLIQILIwFFIAZBCEZyBEAgASADQb3fACACEEJBCCMBQQFGDQEaCyMBRQRAAn4gBSkDSCICQoCAgIAIfEL/////D1gEQCACQv////8PgwwBC0KAgICAwH4gArm9IgJCgICAgMCBgPz/AH0gAkL///////////8Ag0KAgICAgICA+P8AVhsLIQILIwFFIAZBCUZyBEAgASADQc0pIAIQQkEJIwFBAUYNARoLIwFFBEACfiAFKQNQIgJCgICAgAh8Qv////8PWARAIAJC/////w+DDAELQoCAgIDAfiACub0iAkKAgICAwIGA/P8AfSACQv///////////wCDQoCAgICAgID4/wBWGwshAgsjAUUgBkEKRnIEQCABIANBnuAAIAIQQkEKIwFBAUYNARoLIwFFBEACfiAFKQNYIgJCgICAgAh8Qv////8PWARAIAJC/////w+DDAELQoCAgIDAfiACub0iAkKAgICAwIGA/P8AfSACQv///////////wCDQoCAgICAgID4/wBWGwshAgsjAUUgBkELRnIEQCABIANB4iggAhBCQQsjAUEBRg0BGgsjAUUEQAJ+IAUpA2AiAkKAgICACHxC/////w9YBEAgAkL/////D4MMAQtCgICAgMB+IAK5vSICQoCAgIDAgYD8/wB9IAJC////////////AINCgICAgICAgPj/AFYbCyECCyMBRSAGQQxGcgRAIAEgA0HW3wAgAhBCQQwjAUEBRg0BGgsjAUUEQAJ+IAUpA2giAkKAgICACHxC/////w9YBEAgAkL/////D4MMAQtCgICAgMB+IAK5vSICQoCAgIDAgYD8/wB9IAJC////////////AINCgICAgICAgPj/AFYbCyECCyMBRSAGQQ1GcgRAIAEgA0GGKiACEEJBDSMBQQFGDQEaCyMBRQRAAn4gBSkDcCICQoCAgIAIfEL/////D1gEQCACQv////8PgwwBC0KAgICAwH4gArm9IgJCgICAgMCBgPz/AH0gAkL///////////8Ag0KAgICAgICA+P8AVhsLIQILIwFFIAZBDkZyBEAgASADQbTgACACEEJBDiMBQQFGDQEaCyMBRQRAAn4gBSkDeCICQoCAgIAIfEL/////D1gEQCACQv////8PgwwBC0KAgICAwH4gArm9IgJCgICAgMCBgPz/AH0gAkL///////////8Ag0KAgICAgICA+P8AVhsLIQILIwFFIAZBD0ZyBEAgASADQccqIAIQQkEPIwFBAUYNARoLIwFFBEACfiAFKQOAASICQoCAgIAIfEL/////D1gEQCACQv////8PgwwBC0KAgICAwH4gArm9IgJCgICAgMCBgPz/AH0gAkL///////////8Ag0KAgICAgICA+P8AVhsLIQILIwFFIAZBEEZyBEAgASADQffgACACEEJBECMBQQFGDQEaCyMBRQRAAn4gBSkDiAEiAkKAgICACHxC/////w9YBEAgAkL/////D4MMAQtCgICAgMB+IAK5vSICQoCAgIDAgYD8/wB9IAJC////////////AINCgICAgICAgPj/AFYbCyECCyMBRSAGQRFGcgRAIAEgA0HU4AAgAhBCQREjAUEBRg0BGgsjAUUEQAJ+IAUpA5ABIgJCgICAgAh8Qv////8PWARAIAJC/////w+DDAELQoCAgIDAfiACub0iAkKAgICAwIGA/P8AfSACQv///////////wCDQoCAgICAgID4/wBWGwshAgsjAUUgBkESRnIEQCABIANBkiogAhBCQRIjAUEBRg0BGgsjAUUEQAJ+IAUpA5gBIgJCgICAgAh8Qv////8PWARAIAJC/////w+DDAELQoCAgIDAfiACub0iAkKAgICAwIGA/P8AfSACQv///////////wCDQoCAgICAgID4/wBWGwshAgsjAUUgBkETRnIEQCABIANBv+AAIAIQQkETIwFBAUYNARoLIwFFBEACfiAFKQOgASICQoCAgIAIfEL/////D1gEQCACQv////8PgwwBC0KAgICAwH4gArm9IgJCgICAgMCBgPz/AH0gAkL///////////8Ag0KAgICAgICA+P8AVhsLIQILIwFFIAZBFEZyBEAgASADQdUqIAIQQkEUIwFBAUYNARoLIwFFBEACfiAFKQOoASICQoCAgIAIfEL/////D1gEQCACQv////8PgwwBC0KAgICAwH4gArm9IgJCgICAgMCBgPz/AH0gAkL///////////8Ag0KAgICAgICA+P8AVhsLIQILIwFFIAZBFUZyBEAgASADQe8nIAIQQkEVIwFBAUYNARoLIwFFBEACfiAFKQOwASICQoCAgIAIfEL/////D1gEQCACQv////8PgwwBC0KAgICAwH4gArm9IgJCgICAgMCBgPz/AH0gAkL///////////8Ag0KAgICAgICA+P8AVhsLIQILIwFFIAZBFkZyBEAgASADQeonIAIQQkEWIwFBAUYNARoLIwFFBEACfiAFKQO4ASICQoCAgIAIfEL/////D1gEQCACQv////8PgwwBC0KAgICAwH4gArm9IgJCgICAgMCBgPz/AH0gAkL///////////8Ag0KAgICAgICA+P8AVhsLIQILIwFFIAZBF0ZyBEAgASADQeszIAIQQkEXIwFBAUYNARoLIwFFBEACfiAFKQPAASICQoCAgIAIfEL/////D1gEQCACQv////8PgwwBC0KAgICAwH4gArm9IgJCgICAgMCBgPz/AH0gAkL///////////8Ag0KAgICAgICA+P8AVhsLIQILIwFFIAZBGEZyBEAgASADQfsnIAIQQkEYIwFBAUYNARoLIwFFBEACfiAFKQPIASICQoCAgIAIfEL/////D1gEQCACQv////8PgwwBC0KAgICAwH4gArm9IgJCgICAgMCBgPz/AH0gAkL///////////8Ag0KAgICAgICA+P8AVhsLIQILIwFFIAZBGUZyBEAgASADQarfACACEEJBGSMBQQFGDQEaCyMBRQRAIAMQViAFQdABaiQADwsACyEAIwIoAgAgADYCACMCIwIoAgBBBGo2AgAjAigCACIAIAE2AgAgACACNwIEIAAgBTYCDCAAIAM3AhAjAiMCKAIAQRhqNgIAQQALCQAgACABNgIYC+EGAgR+An8jAUECRgRAIwIjAigCAEEsazYCACMCKAIAIgMoAgAhACADKAIMIQIgAykCECEEIAMpAhghBiADKAIgIQkgAykCJCEHIAMpAgQhAQsCfyMBQQJGBEAjAiMCKAIAQQRrNgIAIwIoAgAoAgAhCAsg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AUEBRg0CGiEACyMBRQRAIAAPCwsjAUUEQEEBDwsACyEHIwIoAgAgBzYCACMCIwIoAgBBBGo2AgAjAigCACIHIAA2AgAgByABNwIEIAcgAjYCDCAHIAM3AhAgByAENwIYIAcgBTcCICAHIAY2AigjAiMCKAIAQSxqNgIAQQALRgACfwJAIAJBAE4NACABpykDICIBQoCAgIBwg0KAgICAkH9SDQBBACACQf////8HcSABpygCBEH/////B3FJDQEaC0EBCwuOAwIEfwF+IwFBAkYEQCMCIwIoAgBBGGs2AgAjAigCACIFKAIAIQAgBSgCBCEBIAUpAgghAiAFKAIQIQMgBSgCFCEFCwJ/IwFBAkYEQCMCIwIoAgBBBGs2AgAjAigCACgCACEGCyAEIANBAE4jARshBAJAIwFFBEAgBA0BIAKnKQMgIgJCgICAgHCDQoCAgICQf1INASADQf////8HcSIDIAKnIgQoAgQiB0H/////B3FPDQFBASEFIAFFDQEgBEEQaiEEAn8gB0EASARAIAQgA0EBdGovAQAMAQsgAyAEai0AAAsgAUEENgIAQf//A3EhAwsjAUUgBkVyBEAgACADEJ0DQQAjAUEBRg0CGiECCyMBRQRAIAFCgICAgDA3AxggAUKAgICAMDcDECABIAI3AwgLCyMBRQRAIAUPCwALIQQjAigCACAENgIAIwIjAigCAEEEajYCACMCKAIAIgQgADYCACAEIAE2AgQgBCACNwIIIAQgAzYCECAEIAU2AhQjAiMCKAIAQRhqNgIAQQALaQECfyABpygCECIAQTBqIQMgACAAKAIYIAJxQX9zQQJ0aigCACEAA0ACQCAARQRAQQAhAAwBCyADIABBA3RqIgRBCGshACAEQQRrKAIAIAJGDQAgACgCAEH///8fcSEADAELCyAAQQBHC44BAQJ/IAEoAgAiAkEASgRAIAEgAkEBayICNgIAAkAgAg0AIAEtAARB8AFxQRBHDQAgASgCCCICIAEoAgwiAzYCBCADIAI2AgAgAUEANgIIIAAoAmAiAiABQQhqIgM2AgQgASAAQeAAajYCDCABIAI2AgggACADNgJgCw8LQcyNAUG1/ABBsCxB1vQAEAAAC28BAn8gASABKAIAIgJBAWo2AgAgAkUEQCABKAIIIgIgASgCDCIDNgIEIAMgAjYCACABQQA2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3gPLlmRGxz+gokRZkyKUJEnSP6CiRJNVVVVVVeU/oKKgoKIgACAEoSADoaAiAEQAACAVe8vbP6IgBUQ2K/ER8/5ZPaIgACAEoETVrZrKOJS7PaKgoKCgIQALIAALBABCAAuUAQICfAF+RAAAAAAAAOA/IACmIQICQCAAmSIBvSIDQv////+fyIvDwABYBEAgARCZAiEBIANC//////////c/WARAIANCgICAgICAgKg+VA0CIAIgASABoCABIAGiIAFEAAAAAAAA8D+go6GiDwsgAiABIAEgAUQAAAAAAADwP6CjoKIPCyABIAIgAqAQjQYhAAsgAAvKAQICfwF8IwBBEGsiASQAAkAgAL1CIIinQf////8HcSICQfvDpP8DTQRAIAJBgIDA8gNJDQEgAEQAAAAAAAAAAEEAENECIQAMAQsgAkGAgMD/B08EQCAAIAChIQAMAQsgACABEJsEIQIgASsDCCEAIAErAwAhAwJAAkACQAJAIAJBA3FBAWsOAwECAwALIAMgAEEBENECIQAMAwsgAyAAENICIQAMAgsgAyAAQQEQ0QKaIQAMAQsgAyAAENICmiEACyABQRBqJAAgAAuhAQEEfyACIAAoAlQiAygCBCIEIAMoAgAiBWsiBkEAIAQgBk8bIgRLBEAgACAAKAIAQRByNgIAIAQhAgsgASADKAIMIAVqIAIQIRogAyADKAIAIAJqIgU2AgAgACAAKAIsIgE2AgQgACABIAQgAmsiBCAAKAIwIgAgACAESxsiAGo2AgggASADKAIMIAVqIAAQIRogAyADKAIAIABqNgIAIAILhwEBAX8jAEEQayIDJAACfgJAIAJBA08NACAAKAJUIQAgA0EANgIEIAMgACgCADYCCCADIAAoAgQ2AgxBACADQQRqIAJBAnRqKAIAIgJrrCABVQ0AIAAoAgggAmusIAFTDQAgACACIAGnaiIANgIAIACtDAELQeDWBEEcNgIAQn8LIANBEGokAAubAQEBfgJ8IACZIgC9IgFC/////5/Ii/M/WARARAAAAAAAAPA/IAFCgICAgICAgKg+VA0BGiAAEJkCIgAgAKIgAEQAAAAAAADwP6AiACAAoKNEAAAAAAAA8D+gDwsgAUL/////n8iLw8AAWARAIAAQ6gMiAEQAAAAAAADwPyAAo6BEAAAAAAAA4D+iDwsgAEQAAAAAAADwPxCNBgsLBQAgAJwLwgECAXwCfyMAQRBrIgIkAAJ8IAC9QiCIp0H/////B3EiA0H7w6T/A00EQEQAAAAAAADwPyADQZ7BmvIDSQ0BGiAARAAAAAAAAAAAENICDAELIAAgAKEgA0GAgMD/B08NABogACACEJsEIQMgAisDCCEAIAIrAwAhAQJAAkACQAJAIANBA3FBAWsOAwECAwALIAEgABDSAgwDCyABIABBARDRApoMAgsgASAAENICmgwBCyABIABBARDRAgsgAkEQaiQACwUAIACbC4ICAwJ8An8BfiAAvSIFQiCIp0H/////B3EiA0GAgMD/B08EQCAAIACgDwsCQCADQf//P0sEf0GT8f3UAgUgAEQAAAAAAABQQ6K9IgVCIIinQf////8HcSIDRQ0BQZPx/csCCyEEIAVCgICAgICAgICAf4MgA0EDbiAEaq1CIIaEvyICIAKiIAIgAKOiIgEgASABoqIgAUTX7eTUALDCP6JE2VHnvstE6L+goiABIAFEwtZJSmDx+T+iRCAk8JLgKP6/oKJEkuZhD+YD/j+goCACor1CgICAgHyDQoCAgIAIfL8iASAAIAEgAaKjIgAgAaEgASABoCAAoKOiIAGgIQALIAALuAMCA38CfiMBQQJGBEAjAiMCKAIAQSBrNgIAIwIoAgAiBCgCACEAIAQoAgwhAiAEKAIQIQMgBCgCFCEFIAQpAhghByAEKQIEIQELAn8jAUECRgRAIwIjAigCAEEEazYCACMCKAIAKAIAIQYLIwEEfyAFBSABQoCAgIBwgyIBQoCAgIAwUgsjAUECRnIEQCMBRSAGRXIEQCAAQaI+QQAQFkEAIwFBAUYNAhoLIwFFBEBCgICAgOAADwsLIAIgAkUjARshAgJ+AkAjAUUEQCACDQEgAykDACIBQoCAgIBwgyIHQoCAgIAwUQ0BCyMBRSAGQQFGcgRAIAAgARApQQEjAUEBRg0DGiEBCyMBRQRAQoCAgIDgACIHIAFCgICAgHCDQoCAgIDgAFENAhogAachBQsLIwFFIAZBAkZyBH4gACAFQQMQ/wNBAiMBQQFGDQIaBSAHCwshByMBRQRAIAcPCwALIQQjAigCACAENgIAIwIjAigCAEEEajYCACMCKAIAIgQgADYCACAEIAE3AgQgBCACNgIMIAQgAzYCECAEIAU2AhQgBCAHNwIYIwIjAigCAEEgajYCAEIAC3sDAXwBfgF/IACZIQECQAJ8IAC9IgJCNIinQf8PcSIDQf0HTQRAIANB3wdJDQIgASABoCIAIAEgAKJEAAAAAAAA8D8gAaGjoAwBCyABRAAAAAAAAPA/IAGhoyIAIACgCxClA0QAAAAAAADgP6IhAQsgAZogASACQgBTGwurAwIFfwF+IAC9Qv///////////wCDQoGAgICAgID4/wBUIAG9Qv///////////wCDQoCAgICAgID4/wBYcUUEQCAAIAGgDwsgAb0iB0IgiKciAkGAgMD/A2sgB6ciBXJFBEAgABCcBA8LIAJBHnZBAnEiBiAAvSIHQj+Ip3IhAwJAIAdCIIinQf////8HcSIEIAenckUEQAJAAkAgA0ECaw4CAAEDC0QYLURU+yEJQA8LRBgtRFT7IQnADwsgAkH/////B3EiAiAFckUEQEQYLURU+yH5PyAApg8LAkAgAkGAgMD/B0YEQCAEQYCAwP8HRw0BIANBA3RB8K8EaisDAA8LIARBgIDA/wdHIAJBgICAIGogBE9xRQRARBgtRFT7Ifk/IACmDwsCfCAGBEBEAAAAAAAAAAAgBEGAgIAgaiACSQ0BGgsgACABo5kQnAQLIQACQAJAAkAgA0EBaw4DAAECBAsgAJoPC0QYLURU+yEJQCAARAdcFDMmpqG8oKEPCyAARAdcFDMmpqG8oEQYLURU+yEJwKAPCyADQQN0QZCwBGorAwAhAAsgAAumAQMBfAF/AX4gAJkhAQJAIAC9IgNCNIinQf8PcSICQZkITwRAIAEQzgJE7zn6/kIu5j+gIQEMAQsgAkGACE8EQCABIAGgRAAAAAAAAPA/IAEgACAAokQAAAAAAADwP6CfoKOgEM4CIQEMAQsgAkHlB0kNACABIAAgAKIiACAARAAAAAAAAPA/oJ9EAAAAAAAA8D+go6AQpQMhAQsgAZogASADQgBTGwsFACAAmQu5AgMBfwN8AX4gAL0iBUIgiKdB/////wdxIgFBgIDA/wNPBEAgBacgAUGAgMD/A2tyRQRAIABEGC1EVPsh+T+iRAAAAAAAAHA4oA8LRAAAAAAAAAAAIAAgAKGjDwsCQCABQf////4DTQRAIAFBgIBAakGAgIDyA0kNASAAIAAgAKIQ0wKiIACgDwtEAAAAAAAA8D8gAJmhRAAAAAAAAOA/oiIDnyEAIAMQ0wIhBAJ8IAFBs+a8/wNPBEBEGC1EVPsh+T8gACAEoiAAoCIAIACgRAdcFDMmppG8oKEMAQtEGC1EVPsh6T8gAL1CgICAgHCDvyICIAKgoSAAIACgIASiRAdcFDMmppE8IAMgAiACoqEgACACoKMiACAAoKGhoUQYLURU+yHpP6ALIgCaIAAgBUIAUxshAAsgAAt2AQF/IAC9QjSIp0H/D3EiAUH/B00EQCAARAAAAAAAAPC/oCIAIAAgAKIgACAAoKCfoBClAw8LIAFBmAhNBEAgACAAoEQAAAAAAADwvyAAIACiRAAAAAAAAPC/oJ8gAKCjoBDOAg8LIAAQzgJE7zn6/kIu5j+gCwUAIACfC64CAwF8AX4BfyAAvSICQiCIp0H/////B3EiA0GAgMD/A08EQCACpyADQYCAwP8Da3JFBEBEAAAAAAAAAABEGC1EVPshCUAgAkIAWRsPC0QAAAAAAAAAACAAIAChow8LAnwgA0H////+A00EQEQYLURU+yH5PyADQYGAgOMDSQ0BGkQHXBQzJqaRPCAAIAAgAKIQ0wKioSAAoUQYLURU+yH5P6APCyACQgBTBEBEGC1EVPsh+T8gAEQAAAAAAADwP6BEAAAAAAAA4D+iIgCfIgEgASAAENMCokQHXBQzJqaRvKCgoSIAIACgDwtEAAAAAAAA8D8gAKFEAAAAAAAA4D+iIgCfIgEgABDTAqIgACABvUKAgICAcIO/IgAgAKKhIAEgAKCjoCAAoCIAIACgCwu6AgEHfyMAQSBrIgMkACADIAAoAhwiBDYCECAAKAIUIQUgAyACNgIcIAMgATYCGCADIAUgBGsiATYCFCABIAJqIQVBAiEGIANBEGohAQJ/A0ACQAJAAkAgACgCPCABIAYgA0EMahABEJ4ERQRAIAUgAygCDCIHRg0BIAdBAE4NAgwDCyAFQX9HDQILIAAgACgCLCIBNgIcIAAgATYCFCAAIAEgACgCMGo2AhAgAgwDCyABIAcgASgCBCIISyIJQQN0aiIEIAcgCEEAIAkbayIIIAQoAgBqNgIAIAFBDEEEIAkbaiIBIAEoAgAgCGs2AgAgBSAHayEFIAYgCWshBiAEIQEMAQsLIABBADYCHCAAQgA3AxAgACAAKAIAQSByNgIAQQAgBkECRg0AGiACIAEoAgRrCyADQSBqJAALQgEBfyAAKAI8IwBBEGsiACQAIAGnIAFCIIinIAJB/wFxIABBCGoQCRCeBCECIAApAwghASAAQRBqJABCfyABIAIbCwwAIAAoAjwQAhCeBAuXCwIHfwF+IwFBAkYEQCMCIwIoAgBBLGs2AgAjAigCACIEKAIAIQAgBCgCCCECIAQoAgwhAyAEKAIQIQUgBCgCFCEGIAQpAhghCyAEKAIgIQggBCgCJCEJIAQoAighCiAEKAIEIQELAn8jAUECRgRAIwIjAigCAEEEazYCACMCKAIAKAIAIQcLIwFFBEAjAEFAaiIFJAAgACgCACEIIAVCADcCDCAFQoCAgICAgICAgH83AgQgBSAINgIAIAEhCCACQSBqIQELIwFFIAdFcgRAIAUgCCABQeYPEKAEQQAjAUEBRg0BGgsjAUUgB0EBRnIEQCAFIAUgAyABQeYPEEVBASMBQQFGDQEaIQELIwFFBEAgBSgCCCIBQf////8HRiEDCwJAAkAgAyMBQQJGcgRAIwFFIAdBAkZyBEAgABA3QQIjAUEBRg0EGgsjAUUNAQsjAUUEQCAAIAVGDQIgACgCACEKIAVCADcCOCAFQoCAgICAgICAgH83AjAgBSAKNgIsIAFBAEghAwsCQCMBRQRAIAMEQEF/QQAgBSgCBCIDGyEIDAILIAVBLGohAQsjAUUgB0EDRnIEQCABQSBBARDUAkEDIwFBAUYNBBoLIwFFIAdBBEZyBEAgASAFIAFBIEECEJcBQQQjAUEBRg0EGiEDCyMBRQRAIAVBKGoiAyABQQAQqwEgBSgCKCEIIAUoAgghAQsLIwFFBEAgBUEsaiEGIAIgAUEAIAFBAEobaiEJIAkgAkEfaiACQSFqQQF2EJUGIgNuQQFqIgEgA2pBAXRqQTpqIQILIwFFIAdBBUZyBEAgBiACQQYQ1AJBBSMBQQFGDQMaCyALIAisIwEbIQsjAUUgB0EGRnIEQCAGIAYgCyACQQAQ1QJBBiMBQQFGDQMaCyMBRSAHQQdGcgR/IAYgBSAGIAJBABDmAUEHIwFBAUYNAxoFIAkLQQAgA2sjARshCSMBRSAHQQhGcgRAIAYgCUH/////A0EBEM4BQQgjAUEBRg0DGiEGCyMBRQRAIAVCADcCICAFQoCAgICAgICAgH83AhggBSAKNgIUCyMBRSAHQQlGcgRAIABCARAzQQkjAUEBRg0DGiEGCyALIAGtIwEbIQsDQCABIAunQQBKIwEbIgEjAUECRnIEQCABIAVBFGojARshASMBRSAHQQpGcgR/IAEgCxAzQQojAUEBRg0FGgUgBgsgBUEsaiMBGyEGIwFFIAdBC0ZyBEAgASAGIAEgAkEAEJcBQQsjAUEBRg0FGiEGCyMBRSAHQQxGcgRAIAAgACABIAJBABBFQQwjAUEBRg0FGiEBCyMBRSAHQQ1GcgRAIAAgAEIBIAJBABB3QQ0jAUEBRg0FGiEBCyMBRQRAIAtCAX0hCwwCCwsLIwFFBEAgA0EAIANBAEobIQMgBUEUaiEGQQAhAQsjAUUgB0EORnIEQCAGEBxBDiMBQQFGDQMaCyAGIAVBLGojARshBiMBRSAHQQ9GcgRAIAYQHEEPIwFBAUYNAxoLA0AgBiABIANHIwEbIgYjAUECRnIEQCMBRSAHQRBGcgRAIAAgACAAIAJB4A8QRUEQIwFBAUYNBRohBgsjAUUEQCABQQFqIQEMAgsLCyMBRSAHQRFGcgRAIAAgCEH/////A0HhDxDOARpBESMBQQFGDQMaCwsjAUUgB0ESRnIEQCAFEBxBEiMBQQFGDQIaCyMBRQRAIAVBQGskAEEQDwsLIwFFBEBB3/0AQdv8AEG+IUGf1gAQAAALAAshBCMCKAIAIAQ2AgAjAiMCKAIAQQRqNgIAIwIoAgAiBCAANgIAIAQgATYCBCAEIAI2AgggBCADNgIMIAQgBTYCECAEIAY2AhQgBCALNwIYIAQgCDYCICAEIAk2AiQgBCAKNgIoIwIjAigCAEEsajYCAEEAC4kEAQV/IwFBAkYEQCMCIwIoAgBBHGs2AgAjAigCACIEKAIAIQAgBCgCCCECIAQoAgwhAyAEKAIQIQUgBCgCFCEHIAQoAhghCCAEKAIEIQELAn8jAUECRgRAIwIjAigCAEEEazYCACMCKAIAKAIAIQYLIwFFBEAjAEEgayIFJAAgACgCACEHIAVBCGogA0EAEKsBIAEhCCAFKAIIIgEhBEHAACAEIAFBH3UiAXMgAWsiAUEBa2dBAXRrQQAgAUECTxsgAmpBCGohAgsjAUUgBkVyBEAgACAIIAEgAkHgDxCjBEEAIwFBAUYNARohAQsjAUUEQCADKAIEIQMLIAMjAUECRnIEQCMBRQRAIAVCADcCGCAFQoCAgICAgICAgH83AhAgBSAHNgIMIAVBDGohAwsjAUUgBkEBRnIEQCADQgEQMxpBASMBQQFGDQIaCyMBRSAGQQJGcgRAIAAgAyAAIAJB4A8QlwFBAiMBQQFGDQIaIQALIAEgACABciMBGyEBIwFFIAZBA0ZyBEAgAxAcQQMjAUEBRg0CGgsLIwFFBEAgBUEgaiQAIAEPCwALIQQjAigCACAENgIAIwIjAigCAEEEajYCACMCKAIAIgQgADYCACAEIAE2AgQgBCACNgIIIAQgAzYCDCAEIAU2AhAgBCAHNgIUIAQgCDYCGCMCIwIoAgBBHGo2AgBBAAuXDwIKfwJ+IwFBAkYEQCMCIwIoAgBBQGo2AgAjAigCACIEKAIAIQAgBCgCCCECIAQoAgwhAyAEKAIQIQYgBCgCFCEHIAQoAhghCCAEKQIcIQ4gBCgCJCEJIAQoAighCiAEKAIsIQsgBCgCMCEMIAQoAjQhDSAEKQI4IQ8gBCgCBCEBCwJ/IwFBAkYEQCMCIwIoAgBBBGs2AgAjAigCACgCACEFCyMBRQRAIwBB8ABrIgMkACAAIAFHIQYLIAYjAUECRnIEQCMBRQRAIAAoAgAhBiADQgA3AmggA0KAgICAgICAgIB/NwJgIAMgBjYCXCADQdwAaiEICyMBRSAFRXIEQCAIIAEQRkEAIwFBAUYNAhohAQsjAUUEQCADQgA3AlQgA0KAgICAgICAgIB/NwJMIAMgBjYCSCADKAJkIQogA0EANgJkIANByABqIQELIwFFIAVBAUZyBEAgAUKq1arVChAzQQEjAUEBRg0CGiEHCyMBRQRAIANBADYCUCAIIAEQtAIEQCADIAMoAmRBAWo2AmQgCkEBayEKCyADQcgAaiEBCyMBRSAFQQJGcgRAIAEQHEECIwFBAUYNAhoLIwFFBEAgAkEBakEBdhCVBiEIIANCADcCVCADQoCAgICAgICAgH83AkwgAyAGNgJIIANCADcCQCADQoCAgICAgICAgH83AjggAyAGNgI0IANB3ABqIQELIwFFIAVBA0ZyBEAgASABQn9B/////wNBABB3QQMjAUEBRg0CGiEBCyMBRQRAIAhBACAIQQBKGyEMIAIgCGogAiAIQQF0IgduQQFqIg1BAXRqQSBqIQJBACEBCwNAIAcgASAMRyMBGyIHIwFBAkZyBEAjAUUEQCADQdwAaiELIANByABqIQcLIwFFIAVBBEZyBH8gByALQgEgAkEAEHdBBCMBQQFGDQQaBSAJCyADQTRqIwEbIQkjAUUgBUEFRnIEQCAJIAcgAkEGEJEGQQUjAUEBRg0EGgsjAUUgBUEGRnIEQCAHIAlCASACQQAQd0EGIwFBAUYNBBohCQsjAUUgBUEHRnIEQCALIAsgByACQQAQlwFBByMBQQFGDQQaIQcLIwFFBEAgAUEBaiEBDAILCwsjAUUEQCADQgA3AiwgA0KAgICAgICAgIB/NwIkIAMgBjYCICADQgA3AhggA0KAgICAgICAgIB/NwIQIAMgBjYCDCADQdwAaiEGIANBIGohAQsjAUUgBUEIRnIEQCABIAZCAiACQQAQdxpBCCMBQQFGDQIaCyMBRSAFQQlGcgR/IAEgBiABIAJBABCXAUEJIwFBAUYNAhoFIAYLIANBDGojARshBiMBRSAFQQpGcgRAIAYgASABIAJBABBFQQojAUEBRg0CGiEBCyMBRSAFQQtGcgRAIABCABAzQQsjAUEBRg0CGiEBCyAOIA2tIwEbIQ4DQCABIA6nQQBKIwEbIgEjAUECRnIEQCABIANByABqIwEbIQEjAUUgBUEMRnIEQCABQgEQM0EMIwFBAUYNBBohBgsjAUUEQCAOQgGGQgGEIQ8gA0E0aiEGCyMBRSAFQQ1GcgRAIAYgDxAzGkENIwFBAUYNBBoLIwFFIAVBDkZyBEAgASABIAYgAkEAEJcBQQ4jAUEBRg0EGiEGCyMBRSAFQQ9GcgR/IAAgACABIAJBABDNAUEPIwFBAUYNBBoFIAELIANBDGojARshASMBRSAFQRBGcgRAIAAgACABIAJBABBFQRAjAUEBRg0EGiEBCyMBRQRAIA5CAX0hDgwCCwsLIwFFIAVBEUZyBH8gACAAQgEgAkEAEHdBESMBQQFGDQIaBSABCyADQSBqIwEbIQEjAUUgBUESRnIEQCAAIAAgASACQQAQRRpBEiMBQQFGDQIaCyMBRSAFQRNGcgRAIAEQHEETIwFBAUYNAhoLIAEgA0EMaiMBGyEBIwFFIAVBFEZyBEAgARAcQRQjAUEBRg0CGgsgASADQTRqIwEbIQEjAUUgBUEVRnIEQCABEBxBFSMBQQFGDQIaCyABIANByABqIwEbIQEjAUUgBUEWRnIEQCABEBxBFiMBQQFGDQIaCyABIAhBAWojARshASMBRSAFQRdGcgR/IAAgAUH/////A0EBEM4BQRcjAUEBRg0CGgUgAQsgA0HcAGojARshASMBRSAFQRhGcgRAIAEgAkEGENQCQRgjAUEBRg0CGgsgDiAKrCMBGyEOIwFFIAVBGUZyBEAgASABIA4gAkEAENUCQRkjAUEBRg0CGgsjAUUgBUEaRnIEQCAAIAAgASACQQAQzQEaQRojAUEBRg0CGgsjAUUgBUEbRnIEQCABEBxBGyMBQQFGDQIaCyMBRQRAIANB8ABqJABBEA8LCyMBRQRAQd/9AEHb/ABB1yJBr9YAEAAACwALIQQjAigCACAENgIAIwIjAigCAEEEajYCACMCKAIAIgQgADYCACAEIAE2AgQgBCACNgIIIAQgAzYCDCAEIAY2AhAgBCAHNgIUIAQgCDYCGCAEIA43AhwgBCAJNgIkIAQgCjYCKCAEIAs2AiwgBCAMNgIwIAQgDTYCNCAEIA83AjgjAiMCKAIAQUBrNgIAQQAL5gICAn4CfyMBQQJGBEAjAiMCKAIAQRhrNgIAIwIoAgAiBygCACEAIAcoAgwhAiAHKQIQIQQgBykCBCEBCwJ/IwFBAkYEQCMCIwIoAgBBBGs2AgAjAigCACgCACEGCyMBRQRAIAMpAwAhBAsjAUUgBkVyBEAgACAEEP8BQQAjAUEBRg0BGiECCyMBRQRAIAJBAEetQoCAgIAQhCEEIAFCgICAgHCDQoCAgIAwUSICBEAgBA8LCyMBRSAGQQFGcgRAIAAgAUEGEGdBASMBQQFGDQEaIQELIwFBAkYgAiABQoCAgIBwg0KAgICA4ABSIwEbcgRAIwFFIAZBAkZyBEAgACABIAQQ3QFBAiMBQQFGDQIaCwsjAUUEQCABDwsACyEDIwIoAgAgAzYCACMCIwIoAgBBBGo2AgAjAigCACIDIAA2AgAgAyABNwIEIAMgAjYCDCADIAQ3AhAjAiMCKAIAQRhqNgIAQgAL4QEBAX8jAUECRgRAIwIjAigCAEEUazYCACMCKAIAIgQoAgAhACAEKAIEIQEgBCgCCCECIAQoAgwhAyAEKAIQIQQLAn8jAUUjAUECRgR/IwIjAigCAEEEazYCACMCKAIAKAIABSAFC0VyBEAgACABIAIgAyAEQQAQlgZBACMBQQFGDQEaIQALIwFFBEAgAA8LAAshBSMCKAIAIAU2AgAjAiMCKAIAQQRqNgIAIwIoAgAiBSAANgIAIAUgATYCBCAFIAI2AgggBSADNgIMIAUgBDYCECMCIwIoAgBBFGo2AgBBAAvhAQEBfyMBQQJGBEAjAiMCKAIAQRRrNgIAIwIoAgAiBCgCACEAIAQoAgQhASAEKAIIIQIgBCgCDCEDIAQoAhAhBAsCfyMBRSMBQQJGBH8jAiMCKAIAQQRrNgIAIwIoAgAoAgAFIAULRXIEQCAAIAEgAiADIARBARCWBkEAIwFBAUYNARohAAsjAUUEQCAADwsACyEFIwIoAgAgBTYCACMCIwIoAgBBBGo2AgAjAigCACIFIAA2AgAgBSABNgIEIAUgAjYCCCAFIAM2AgwgBSAENgIQIwIjAigCAEEUajYCAEEAC90JAQp/IwFBAkYEQCMCIwIoAgBBNGs2AgAjAigCACIFKAIAIQAgBSgCCCECIAUoAgwhAyAFKAIQIQQgBSgCFCEGIAUoAhghByAFKAIcIQggBSgCICEKIAUoAiQhCyAFKAIoIQwgBSgCLCENIAUoAjAhDiAFKAIEIQELAn8jAUECRgRAIwIjAigCAEEEazYCACMCKAIAKAIAIQkLIwFFBEAgAigCBCABKAIEcyENIAEoAggiB0H9////B0whBgsCQAJAAkACQAJAIwFFBEACQAJAIAYEQCACKAIIIgZB/f///wdKIgoNASAHQYCAgIB4RyIHDQcgBkGAgICAeEYiAQ0FDAgLIAdB/////wdGIgENASACKAIIIQYLIAZB/////wdHIgENAgsLIwFFIAlFcgRAIAAQN0EAIwFBAUYNBhoLIwFFBEBBAA8LCyMBRQRAIAdB/v///wdHIgEgBkH+////B0dyIgINAgsLIwFFIAlBAUZyBEAgABA3QQEjAUEBRg0EGgsjAUUEQEEBDwsLIwFBASABG0UNASMBRSAJQQJGcgRAIAAgDRCOAUECIwFBAUYNAxoLIwFFBEBBAA8LCyAGIAZBgICAgHhGIwEbIgYjAUECRnIEQCMBRSAJQQNGcgRAIAAgDRCOAUEDIwFBAUYNAxoLIwFFBEBBAg8LCyMBRQRAIAAoAgAiBigCACELIAEoAgwiByADQSFqQQV2IgpKIQwgByAKIAwbIQggBigCBCEOIAggAigCDCIKaiIMQQJ0QQRqIQcLIwFFIAlBBEZyBEAgC0EAIAcgDhEBAEEEIwFBAUYNAhohBwsCQCAHIwFBAkZyBEAjAUUEQCAHQQAgDCABKAIMa0ECdCILECwiByALaiABKAIQIAEoAgxBAnQQISELIAhBAWohCAsjAUUgCUEFRnIEQCAAIAgQQ0EFIwFBAUYNBBohCAsgCCAIRSMBGyIIIwFBAkZyBEAjAUUEQCACKAIQIQsgACgCECEICyMBRSAJQQZGcgRAIAYgCCAHIAwgCyAKEKUEQQYjAUEBRg0FGiEMCyMBIAxyRQ0CCyMBRQRAIAYoAgQhAiAGKAIAIQELIwFFIAlBB0ZyBH8gASAHQQAgAhEBAEEHIwFBAUYNBBoFIAELIQELIwFFIAlBCEZyBEAgABA3QQgjAUEBRg0DGgsjAUUEQEEgDwsLIwFFBEAgByAKEKYDBEAgACgCECIGKAIAQQFyIQogBiAKNgIACyAAKAIAIgYoAgAhCiAGKAIEIQYLIwFFIAlBCUZyBEAgCiAHQQAgBhEBABpBCSMBQQFGDQIaCyMBRQRAIAIoAgghAiABKAIIIQEgACANNgIEIAAgASACa0EgajYCCAsjAUUgCUEKRnIEQCAAIAMgBBC1AkEKIwFBAUYNAhohAAsjAUUEQCAADwsLIwFFIAlBC0ZyBEAgACANEIsBQQsjAUEBRg0BGgsjAUUEQEEADwsACyEFIwIoAgAgBTYCACMCIwIoAgBBBGo2AgAjAigCACIFIAA2AgAgBSABNgIEIAUgAjYCCCAFIAM2AgwgBSAENgIQIAUgBjYCFCAFIAc2AhggBSAINgIcIAUgCjYCICAFIAs2AiQgBSAMNgIoIAUgDTYCLCAFIA42AjAjAiMCKAIAQTRqNgIAQQAL0QUCAn4CfyMBQQJGBEAjAiMCKAIAQSBrNgIAIwIoAgAiBygCACEAIAcpAgQhASAHKAIMIQIgBygCECEDIAcpAhQhBCAHKAIcIQcLAn8jAUECRgRAIwIjAigCAEEEazYCACMCKAIAKAIAIQYLIwFFBEAjAEEQayIHJAAgAkUhAgsCQAJAIwFFBEAgAg0BIAMpAwAhBAsjAUUgBkVyBEAgACAEELsCQQAjAUEBRg0DGiEECyMBRQRAIARCgICAgHCDQoCAgIDgAFENAiAEQiCIp0ELaiECCwJAIwFFBEACQCACDgMCAAADCyAHQQhqIQMgBKdBBGohAgsjAUUgBkEBRnIEQCACIAMQtQVBASMBQQFGDQQaCyMBRSAGQQJGcgRAIAAgBBAQQQIjAUEBRg0EGgsjAUUEQEKAgICAwH4gBykDCCIEQoCAgIDAgYD8/wB9IARC////////////AINCgICAgICAgPj/AFYiAhshBAwCCwsjAUUgBkEDRnIEQCAAIAQQOUEDIwFBAUYNAxohBAsjAUUEQCAEQoCAgIBwg0KAgICA4ABRIgINAgsjAUUgBkEERnIEQCAAIAQQjwFBBCMBQQFGDQMaIQQLIwFFBEAgBEKAgICAcINCgICAgOAAUSICDQILCyMBRQRAIAFCgICAgHCDQoCAgIAwUSICDQELIwFFIAZBBUZyBEAgACABQQQQZ0EFIwFBAUYNAhohAQsjAUECRiACIAFCgICAgHCDQoCAgIDgAFIjARtyBEAjAUUgBkEGRnIEQCAAIAEgBBDdAUEGIwFBAUYNAxoLCyAEIAEjARshBAsjAUUEQCAHQRBqJAAgBA8LAAshBiMCKAIAIAY2AgAjAiMCKAIAQQRqNgIAIwIoAgAiBiAANgIAIAYgATcCBCAGIAI2AgwgBiADNgIQIAYgBDcCFCAGIAc2AhwjAiMCKAIAQSBqNgIAQgALOwEBfwNAIAIEQCAALQAAIQMgACABLQAAOgAAIAEgAzoAACABQQFqIQEgAEEBaiEAIAJBAWshAgwBCwsLGgAgAC0AACECIAAgAS0AADoAACABIAI6AAALQgEBfyACQQF2IQIDQCACBEAgAC8BACEDIAAgAS8BADsBACABIAM7AQAgAUECaiEBIABBAmohACACQQFrIQIMAQsLCxoAIAAvAQAhAiAAIAEvAQA7AQAgASACOwEAC0IBAX8gAkECdiECA0AgAgRAIAAoAgAhAyAAIAEoAgA2AgAgASADNgIAIAFBBGohASAAQQRqIQAgAkEBayECDAELCwsaACAAKAIAIQIgACABKAIANgIAIAEgAjYCAAtCAQF+IAJBA3YhAgNAIAIEQCAAKQMAIQMgACABKQMANwMAIAEgAzcDACABQQhqIQEgAEEIaiEAIAJBAWshAgwBCwsLHAEBfiAAKQMAIQMgACABKQMANwMAIAEgAzcDAAtaAQJ+IAJBBHYhAgNAIAIEQCAAKQMAIQMgACABKQMANwMAIAApAwghBCAAIAEpAwg3AwggASAENwMIIAEgAzcDACABQRBqIQEgAEEQaiEAIAJBAWshAgwBCwsLNAECfiAAKQMAIQMgACABKQMANwMAIAApAwghBCAAIAEpAwg3AwggASAENwMIIAEgAzcDAAsJACABIAIQ8wUL6AsCBH8HfiMBQQJGBEAjAiMCKAIAQcwAazYCACMCKAIAIgUoAgAhACAFKAIMIQIgBSgCECEDIAUoAhQhBCAFKQIYIQkgBSgCICEHIAUpAiQhCyAFKQIsIQwgBSkCNCENIAUpAjwhDiAFKQJEIQ8gBSkCBCEBCwJ/IwFBAkYEQCMCIwIoAgBBBGs2AgAjAigCACgCACEGCyMBRQRAIwBBEGsiAiQAIAFCgICAgHCDIglCgICAgDBRIgcEfiAAKAIQKAKMASIHKQMIBSABCyEBCyMBRSAGRXIEQCAAIAFBOyABQQAQFUEAIwFBAUYNARohCQsjAUUEQCAJQoCAgIBwgyIMQoCAgIDgAFEhBwsCQCMBRQRAIAcEQCAJIQEMAgsgCUL/////b1YhBwsCQAJAIwFBASAHG0UNACMBRSAGQQFGcgRAIAAgCRAQQQEjAUEBRg0EGgsjAUUgBkECRnIEQCAAIAEQ/wJBAiMBQQFGDQQaIQcLIwFFBEAgB0UNAgJ/IARBAEgEQCAHKAIoQRhqDAELIARBA3QgB2pB2ABqCykDACIJQoCAgIDQflQiBw0BIAmnIgcoAgBBAWohBSAHIAU2AgALCyMBRSAGQQNGcgRAIAAgCUEDEExBAyMBQQFGDQMaIQELIwFFIAZBBEZyBEAgACAJEBBBBCMBQQFGDQMaCwJAIwEEfyAHBSABQoCAgIBwg0KAgICA4ABRDQIgBEEHRkEDdCADaikDACIJQoCAgIBwgyIMQoCAgIAwUgsjAUECRnIEQCMBRSAGQQVGcgRAIAAgCRApQQUjAUEBRg0FGiEJCyMBRQRAIAlCgICAgHCDIgxCgICAgOAAUQ0CCyMBRSAGQQZGcgRAIAAgAUEzIAlBAxAaGkEGIwFBAUYNBRoLCyMBQQJGIAQgBEEHRiMBG3IEQCMBRQRAQoCAgIDgACEMIAMpAwAhC0KAgICAMCEJCyMBRSAGQQdGcgRAIAAgC0EAEOkBQQcjAUEBRg0FGiELCyMBRQRAIAtCgICAgHCDIg1CgICAgOAAUSEDCwJAAkAjAUEBIAMbRQRAQoCAgIAwIQ0MAQsjAUUgBkEIRnIEQCAAIAtB6gAgC0EAEBVBCCMBQQFGDQcaIQ0LIwFFBEAgDUKAgICAcIMiDkKAgICA4ABRIgMNAQsjAUUgBkEJRnIEQCAAEEBBCSMBQQFGDQcaIQkLIwFFBEAgCUKAgICAcIMiDkKAgICA4ABRIgMEQEKAgICA4AAhCQwCCwsDQCADIAJBDGojARsiAyMBRSAGQQpGcgRAIAAgCyANIAMQrwFBCiMBQQFGDQgaIQ4LIA5CgICAgHCDQoCAgIDgAFIjARsiAyMBQQJGcgRAIwFFBEAgAigCDCIDBEAgCSEMDAULCyMBRSAGQQtGcgRAIAAgCSAPIA4QbEELIwFBAUYNCRohAwsjAUUEQCAPQgF8IQ8gA0EATiIDDQILCwsjAUUgBkEMRnIEQCAAIAtBARCuARpBDCMBQQFGDQcaCwsjAUUgBkENRnIEQCAAIAkQEEENIwFBAUYNBhoLCyMBRSAGQQ5GcgRAIAAgDRAQQQ4jAUEBRg0FGgsjAUUgBkEPRnIEQCAAIAsQEEEPIwFBAUYNBRoLIwFFIAxCgICAgHCDQoCAgIDgAFFxDQEjAUUgBkEQRnIEQCAAIAFBNCAMQQMQGhpBECMBQQFGDQUaCwsjAUUgBkERRnIEQCAAIAFBAEEAQQEQzAJBESMBQQFGDQQaCyMBRQ0CCyMBRSAGQRJGcgRAIAAgARAQQRIjAUEBRg0DGgsLIAFCgICAgOAAIwEbIQELIwFFBEAgAkEQaiQAIAEPCwALIQUjAigCACAFNgIAIwIjAigCAEEEajYCACMCKAIAIgUgADYCACAFIAE3AgQgBSACNgIMIAUgAzYCECAFIAQ2AhQgBSAJNwIYIAUgBzYCICAFIAs3AiQgBSAMNwIsIAUgDTcCNCAFIA43AjwgBSAPNwJEIwIjAigCAEHMAGo2AgBCAAujDAIIfwN+IwFBAkYEQCMCIwIoAgBBQGo2AgAjAigCACIFKAIAIQAgBSgCDCECIAUoAhAhAyAFKAIUIQQgBSgCGCEGIAUpAhwhDSAFKQIkIQ4gBSgCLCEJIAUoAjAhCiAFKAI0IQggBSgCOCELIAUoAjwhDCAFKQIEIQELAn8jAUECRgRAIwIjAigCAEEEazYCACMCKAIAKAIAIQcLIwFFBEAjAEEgayIJJAAgCUEIaiEGCyMBRSAHRXIEQCAAIAZBABA/QQAjAUEBRg0BGiEKCyMBRSAHQQFGcgR/IAZBKBA9QQEjAUEBRg0BGgUgCgsgBEF+cUECRiMBGyIKIwFBAkZyBH8jAUUgB0ECRnIEfyAGQfiZARCKAUECIwFBAUYNAhoFIAYLBSAGCyAJQQhqIwEbIQYjAUUgB0EDRnIEfyAGQcHMABCKAUEDIwFBAUYNARoFIAoLIARBfXFBAUYjARsiCiMBQQJGcgR/IwFFIAdBBEZyBH8gBkEqED1BBCMBQQFGDQIaBSAGCwUgBgsgCUEIaiMBGyEGIwFFIAdBBUZyBEAgBkG2lAEQigFBBSMBQQFGDQEaIQYLIwFFBEAgAkEBayIKQQBKIQsgCkEAIAsbIQtBACEGCwJAAkACQANAIAggBiALRyMBGyIIIwFBAkZyBEAgBiMBQQJGcgRAIAggCUEIaiMBGyEIIwFFIAdBBkZyBH8gCEEsED1BBiMBQQFGDQcaBSAICyEICyMBRQRAIAlBCGohDCAGQQN0IANqIggpAwAhDSAGQQFqIQYLIwFFIAdBB0ZyBEAgDCANEIkBQQcjAUEBRg0GGiEICyMBRQRAIAhFIggNAgwDCwsLIAYgCUEIaiMBGyEGIwFFIAdBCEZyBEAgBkGNmgEQigEaQQgjAUEBRg0EGgsgAiACQQBKIwEbIgIjAUECRnIEQCMBRQRAIAMgCkEDdGoiAikDACENCyMBRSAHQQlGcgRAIAYgDRCJAUEJIwFBAUYNBRohAgsjAUEBIAIbRQ0BCyACIAlBCGojARshAiMBRSAHQQpGcgRAIAJBkJEBEIoBQQojAUEBRg0EGiEDCyAOQoCAgIAwIwEbIQ4jAUUgB0ELRnIEQCACEDhBCyMBQQFGDQQaIQ0LIwFFBEAgDUKAgICAcINCgICAgOAAUSICDQIgACkDwAEhDgsjAUUgB0EMRnIEQCAAIA4gDUEDQX8QmgNBDCMBQQFGDQQaIQ4LIwFFIAdBDUZyBEAgACANEBBBDSMBQQFGDQQaCyMBRQRAIA5CgICAgHCDQoCAgIDgAFENAiABQoCAgIBwgyINQoCAgIAwUSICDQMLIwFFIAdBDkZyBEAgACABQTsgAUEAEBVBDiMBQQFGDQQaIQ0LIwFFBEAgDUKAgICAcINCgICAgOAAUQ0CIA1C/////29WIQILAkAjAUEBIAIbRQ0AIwFFIAdBD0ZyBEAgACANEBBBDyMBQQFGDQUaCyMBRSAHQRBGcgRAIAAgARD/AkEQIwFBAUYNBRohAgsjAUUEQCACRQ0DIARBAXRBrsABai8BAEEDdCIDIAIoAihqKQMAIg1CgICAgNB+VCICDQEgDaciAigCAEEBaiEDIAIgAzYCAAsLIwFFIAdBEUZyBEAgACAOIA1BARCNAkERIwFBAUYNBBohAgsjAUUgB0ESRnIEQCAAIA0QEEESIwFBAUYNBBoLIwFFBEAgAkEATg0DDAILCyMBRQRAIAkoAggoAhAiAkEQaiEDIAkoAgwhBCACKAIEIQILIwFFIAdBE0ZyBEAgAyAEIAIRAABBEyMBQQFGDQMaCyAOQoCAgIAwIwEbIQ4LIwFFIAdBFEZyBEAgACAOEBBBFCMBQQFGDQIaCyAOQoCAgIDgACMBGyEOCyMBRQRAIAlBIGokACAODwsACyEFIwIoAgAgBTYCACMCIwIoAgBBBGo2AgAjAigCACIFIAA2AgAgBSABNwIEIAUgAjYCDCAFIAM2AhAgBSAENgIUIAUgBjYCGCAFIA03AhwgBSAONwIkIAUgCTYCLCAFIAo2AjAgBSAINgI0IAUgCzYCOCAFIAw2AjwjAiMCKAIAQUBrNgIAQgALmgQCA38CfiMBQQJGBEAjAiMCKAIAQSBrNgIAIwIoAgAiBCgCACEAIAQoAgwhAiAEKAIQIQMgBCkCFCEHIAQoAhwhBiAEKQIEIQELAn8jAUECRgRAIwIjAigCAEEEazYCACMCKAIAKAIAIQULIwFFBEAgAykDACEBCyMBRSAFRXIEQCAAIAEQJUEAIwFBAUYNARohAQsjAUUEQCABQoCAgIBwgyIHQoCAgIDgAFIhAgsjAUECRiAGIAIjARtyBEAjAUUEQCADKQMIIQcLIwFFIAVBAUZyBEAgACAHEDJBASMBQQFGDQIaIQILAkACQCADIAJFIwEbIgMjAUECRnIEQCMBRSAFQQJGcgRAIAAgARAQQQIjAUEBRg0FGgsjAUUNAQsgAyABpyMBGyEDIwFFIAVBA0ZyBEAgAEEAIAMgAhBLQQMjAUEBRg0EGiEDCyMBRSAFQQRGcgRAIAAgAhAUQQQjAUEBRg0EGgsjAUUgBUEFRnIEQCAAIAEQEEEFIwFBAUYNBBoLIwFFIANBAE5xDQELIwFFBEBCgICAgOAADwsLIwEEfiABBSADQQBHrUKAgICAEIQLIQELIwFFBEAgAQ8LAAshBCMCKAIAIAQ2AgAjAiMCKAIAQQRqNgIAIwIoAgAiBCAANgIAIAQgATcCBCAEIAI2AgwgBCADNgIQIAQgBzcCFCAEIAY2AhwjAiMCKAIAQSBqNgIAQgAL4ggCAn8HfiMBQQJGBEAjAiMCKAIAQcQAazYCACMCKAIAIgQoAgAhACAEKAIMIQIgBCgCECEDIAQpAhQhBiAEKQIcIQggBCkCJCEJIAQpAiwhCiAEKQI0IQsgBCkCPCEMIAQpAgQhAQsCfyMBQQJGBEAjAiMCKAIAQQRrNgIAIwIoAgAoAgAhBQsjAUUEQCMAQRBrIgIkAEKAgICA4AAhDCADKQMAIQELIwFFIAVFcgRAIAAQNkEAIwFBAUYNARohCQsjAUUEQCAJQoCAgIBwgyIIQoCAgIDgAFIhAwsgAyMBQQJGcgRAIAZCgICAgDAjARshBiMBRSAFQQFGcgRAIAAgAUEAEOkBQQEjAUEBRg0CGiEBCyMBRQRAIAFCgICAgHCDIghCgICAgOAAUiEDCwJAIAMjAUECRnIEQCMBRSAFQQJGcgRAIAAgAUHqACABQQAQFUECIwFBAUYNBBohCAsjAUUEQCAIQoCAgIBwgyIGQoCAgIDgAFEhAwsCQCMBQQEgAxtFDQADQCADIAJBDGojARshAyMBRSAFQQNGcgRAIAAgASAIIAMQrwFBAyMBQQFGDQYaIQYLIwFFBEAgBkKAgICAcIMiCkKAgICA4ABRIgMNAiACKAIMBEAgCSEMDAULIAZC/////29YIQMLAkACQCADIwFBAkZyBEAjAUUgBUEERnIEQCAAECZBBCMBQQFGDQkaCyMBRQ0BCyMBRSAFQQVGcgRAIAAgBkIAEE9BBSMBQQFGDQgaIQoLIwFFBEAgCkKAgICAcIMiC0KAgICA4ABRIgMNAQsjAUUgBUEGRnIEQCAAIAZCARBPQQYjAUEBRg0IGiELCyADIAtCgICAgHCDQoCAgIDgAFEjARsiAyMBQQJGcgRAIwFFIAVBB0ZyBEAgACAKEBBBByMBQQFGDQkaCyMBRQ0BCyMBRSAFQQhGcgRAIAAgCSAKIAtBh4ABEL4BQQgjAUEBRg0IGiEDCyMBRQRAIANBAE4iAw0CCwsjAUUgBUEJRnIEQCAAIAYQEEEJIwFBAUYNBxoLIwFFDQILIwFFIAVBCkZyBEAgACAGEBBBCiMBQQFGDQYaCyMBRQ0ACwsjAUECRiADIAFCgICAgHBaIwEbcgRAIwFFIAVBC0ZyBEAgACABQQEQrgEaQQsjAUEBRg0FGgsLIAYgCCMBGyEGCyMBRQRAIAEhCCAJIQELCyMBRSAFQQxGcgRAIAAgBhAQQQwjAUEBRg0CGgsjAUUgBUENRnIEQCAAIAgQEEENIwFBAUYNAhoLIwFFIAVBDkZyBEAgACABEBBBDiMBQQFGDQIaCwsjAUUEQCACQRBqJAAgDA8LAAshBCMCKAIAIAQ2AgAjAiMCKAIAQQRqNgIAIwIoAgAiBCAANgIAIAQgATcCBCAEIAI2AgwgBCADNgIQIAQgBjcCFCAEIAg3AhwgBCAJNwIkIAQgCjcCLCAEIAs3AjQgBCAMNwI8IwIjAigCAEHEAGo2AgBCAAuGAgIBfwF+IwFBAkYEQCMCIwIoAgBBEGs2AgAjAigCACICKAIAIQAgAikCBCEBIAIoAgwhAgsCfyMBQQJGBEAjAiMCKAIAQQRrNgIAIwIoAgAoAgAhBAsjAUUEQCADKQMAIgFCgICAgHBaBH8gAacvAQYiAkEwRgR/QQ1BMCAAIAEQOhsFIAILQRhsIAAoAhAoAkRqKAIEBUEvCyECCyMBRSAERXIEQCAAIAIQL0EAIwFBAUYNARohAQsjAUUEQCABDwsACyEDIwIoAgAgAzYCACMCIwIoAgBBBGo2AgAjAigCACIDIAA2AgAgAyABNwIEIAMgAjYCDCMCIwIoAgBBEGo2AgBCAAvRBQIHfwF+IwFBAkYEQCMCIwIoAgBBNGs2AgAjAigCACIFKAIAIQAgBSgCDCECIAUoAhAhAyAFKAIUIQQgBSgCGCEGIAUoAhwhByAFKQIgIQwgBSgCKCEJIAUoAiwhCiAFKAIwIQsgBSkCBCEBCwJ/IwFBAkYEQCMCIwIoAgBBBGs2AgAjAigCACgCACEICyMBRQRAIwBBMGsiAiQAIAMpAwAiDEKAgICAcFQhA0KBgICAECEBCwJAIwFFBEAgAw0BIAJBLGohAyACQShqIQYgDKchCUKAgICA4AAhAQsjAUUgCEVyBEAgACADIAYgCUEDEJABQQAjAUEBRg0CGiEDCyMBRQRAIAMNASACKAIsIQogAigCKCELQQAhAwsCQANAIAYgAyALRyMBGyIGIwFBAkZyBEAjAUUEQCACQQhqIQcgCiADQQN0aigCBCEGCyMBRSAIQQFGcgRAIAAgByAJIAYQS0EBIwFBAUYNBRohBgsjAUUEQCAGQQBIDQMgBkUhBgsCQCMBQQEgBhtFDQAjAUUgCEECRnIEQCAAIAcQSkECIwFBAUYNBhoLIwFFBEAgAigCCCIGQQFxRSEHIAcgBkECcUUgBEVycSIGDQFCgICAgBAhAQwECwsjAUUEQCADQQFqIQMMAgsLCyMBRSAIQQNGcgRAIAAgDBCbAUEDIwFBAUYNAxohAwsjAUUEQCADQQBIDQIgA0EBR61CgICAgBCEIQELCyMBRSAIQQRGcgRAIAAgCiALEFxBBCMBQQFGDQIaCwsjAUUEQCACQTBqJAAgAQ8LAAshBSMCKAIAIAU2AgAjAiMCKAIAQQRqNgIAIwIoAgAiBSAANgIAIAUgATcCBCAFIAI2AgwgBSADNgIQIAUgBDYCFCAFIAY2AhggBSAHNgIcIAUgDDcCICAFIAk2AiggBSAKNgIsIAUgCzYCMCMCIwIoAgBBNGo2AgBCAAvYBAIEfwJ+IwFBAkYEQCMCIwIoAgBBJGs2AgAjAigCACIEKAIAIQAgBCkCBCEBIAQoAgwhAiAEKAIQIQMgBCkCFCEIIAQoAhwhByAEKAIgIQQLAn8jAUECRgRAIwIjAigCAEEEazYCACMCKAIAKAIAIQYLIwFFBEAgAykDACEIQoCAgIAwIQELIwFFIAZFcgRAIAAgCBAlQQAjAUEBRg0BGiEICyAHIAhCgICAgHCDQoCAgIDgAFEjARshBwJAIwFFBEAgBw0BQQEgAiACQQFMGyEHQQEhAgsDQCMBRQRAIAIgB0YEQCAIDwsgAkEDdCADaikDACIBQoCAgIAQhEKAgICAcINCgICAgDBSIQQLIAQjAUECRnIEQCMBRSAGQQFGcgRAIAAgARAlQQEjAUEBRg0EGiEBCyMBRQRAIAFCgICAgHCDQoCAgIDgAFEiBA0DCyMBRSAGQQJGcgRAIAAgCCABQoCAgIAwQQEQ1AVBAiMBQQFGDQQaIQQLIwFBASAEG0UNAiMBRSAGQQNGcgRAIAAgARAQQQMjAUEBRg0EGgsLIwFFBEAgAkEBaiECDAELCwsjAUUgBkEERnIEQCAAIAgQEEEEIwFBAUYNARoLIwFFIAZBBUZyBEAgACABEBBBBSMBQQFGDQEaCyMBRQRAQoCAgIDgAA8LAAshBSMCKAIAIAU2AgAjAiMCKAIAQQRqNgIAIwIoAgAiBSAANgIAIAUgATcCBCAFIAI2AgwgBSADNgIQIAUgCDcCFCAFIAc2AhwgBSAENgIgIwIjAigCAEEkajYCAEIAC90BAgF+AX8jAUECRgRAIwIjAigCAEEUazYCACMCKAIAIgIoAgAhACACKQIMIQQgAikCBCEBCwJ/IwFBAkYEQCMCIwIoAgBBBGs2AgAjAigCACgCACEFCyMBRQRAIAMpAwghBCADKQMAIQELIwFFIAVFcgRAIAAgASAEEFRBACMBQQFGDQEaIQALIwFFBEAgAK1CgICAgBCEDwsACyECIwIoAgAgAjYCACMCIwIoAgBBBGo2AgAjAigCACICIAA2AgAgAiABNwIEIAIgBDcCDCMCIwIoAgBBFGo2AgBCAAuHCAIGfwR+IwFBAkYEQCMCIwIoAgBBPGs2AgAjAigCACIEKAIAIQAgBCgCDCECIAQoAhAhAyAEKQIUIQogBCgCHCEFIAQpAiAhCyAEKAIoIQcgBCgCLCEIIAQoAjAhCSAEKQI0IQ0gBCkCBCEBCwJ/IwFBAkYEQCMCIwIoAgBBBGs2AgAjAigCACgCACEGCyMBRQRAIwBBIGsiAiQAQoCAgIDgACEKIAMpAwAhAQsjAUUgBkVyBEAgACABECVBACMBQQFGDQEaIQsLIwFFBEAgC0KAgICAcIMiAUKAgICA4ABSIQMLIAMjAUECRnIEQCMBRQRAIAJBGGohByALpyEIIAJBHGohAwsjAUUgBkEBRnIEQCAAIAMgByAIQQMQkAFBASMBQQFGDQIaIQMLAkACQCMBQQEgAxtFBEBCgICAgDAhASACKAIYIQcgAigCHCEIDAELIwFFIAZBAkZyBEAgABA2QQIjAUEBRg0EGiEBCyMBRQRAIAIoAhghByACKAIcIQggAUKAgICAcIMiCkKAgICA4ABRBEBCgICAgOAAIQEMAgtBACEDCwNAIAUgAyAHRyMBGyIFIwFBAkZyBEAjAUUEQCAIIANBA3RqIgUoAgQhCQsjAUUgBkEDRnIEQCAAIAkQXkEDIwFBAUYNBhohCgsjAUUEQCAKQoCAgIBwgyINQoCAgIDgAFEiCQ0DIAIgCjcDCCACIAs3AwALIwFFIAZBBEZyBEAgACALIAAgAkEAEMcEQQQjAUEBRg0GGiENCyMBRSAGQQVGcgRAIAAgChAQQQUjAUEBRg0GGgsjAUUEQCANQoCAgIBwgyIKQoCAgIAwUiEJCyAJIwFBAkZyBEAjAUUEQCAKQoCAgIDgAFEiCQ0EIAUoAgQhBQsjAUUgBkEGRnIEQCAAIAEgBSANQYeAARAaQQYjAUEBRg0HGiEFCyMBRQRAIAVBAEgiBQ0ECwsjAUUEQCADQQFqIQMMAgsLCyMBRSAGQQdGcgRAIAAgCCAHEFxBByMBQQFGDQQaCyMBRQ0BCyMBRSAGQQhGcgRAIAAgCCAHEFxBCCMBQQFGDQMaCyMBRSAGQQlGcgRAIAAgCxAQQQkjAUEBRg0DGgsjAUUEQCABIQtCgICAgOAAIQELCyAKIAEjARshCiMBRSAGQQpGcgRAIAAgCxAQQQojAUEBRg0CGgsLIwFFBEAgAkEgaiQAIAoPCwALIQQjAigCACAENgIAIwIjAigCAEEEajYCACMCKAIAIgQgADYCACAEIAE3AgQgBCACNgIMIAQgAzYCECAEIAo3AhQgBCAFNgIcIAQgCzcCICAEIAc2AiggBCAINgIsIAQgCTYCMCAEIA03AjQjAiMCKAIAQTxqNgIAQgAL0QECAX8BfiMBQQJGBEAjAiMCKAIAQRBrNgIAIwIoAgAiAigCACEAIAIoAgwhBCACKQIEIQELAn8jAUECRgRAIwIjAigCAEEEazYCACMCKAIAKAIAIQULIwFFBEAgAykDACEBCyMBRSAFRXIEQCAAIAFBESAEEKwCQQAjAUEBRg0BGiEBCyMBRQRAIAEPCwALIQIjAigCACACNgIAIwIjAigCAEEEajYCACMCKAIAIgIgADYCACACIAE3AgQgAiAENgIMIwIjAigCAEEQajYCAEIAC8MBAgF/AX4jAUECRgRAIwIjAigCAEEMazYCACMCKAIAIgIoAgAhACACKQIEIQELAn8jAUECRgRAIwIjAigCAEEEazYCACMCKAIAKAIAIQQLIwFFBEAgAykDACEBCyMBRSAERXIEQCAAIAFBAkEAEKwCQQAjAUEBRg0BGiEBCyMBRQRAIAEPCwALIQIjAigCACACNgIAIwIjAigCAEEEajYCACMCKAIAIgIgADYCACACIAE3AgQjAiMCKAIAQQxqNgIAQgALwwECAX8BfiMBQQJGBEAjAiMCKAIAQQxrNgIAIwIoAgAiAigCACEAIAIpAgQhAQsCfyMBQQJGBEAjAiMCKAIAQQRrNgIAIwIoAgAoAgAhBAsjAUUEQCADKQMAIQELIwFFIARFcgRAIAAgAUEBQQAQrAJBACMBQQFGDQEaIQELIwFFBEAgAQ8LAAshAiMCKAIAIAI2AgAjAiMCKAIAQQRqNgIAIwIoAgAiAiAANgIAIAIgATcCBCMCIwIoAgBBDGo2AgBCAAuGAgIBfgF/IwFBAkYEQCMCIwIoAgBBFGs2AgAjAigCACICKAIAIQAgAikCDCEEIAIpAgQhAQsCfyMBQQJGBEAjAiMCKAIAQQRrNgIAIwIoAgAoAgAhBQsjAUUEQCADKQMIIQQgAykDACEBCyMBRSAFRXIEQCAAIAEgBBCtBkEAIwFBAUYNARohAAsjAUUEQCAABEBCgICAgOAAIQEFIAFCgICAgNB+WgRAIAGnIgAoAgBBAWohAiAAIAI2AgALCyABDwsACyECIwIoAgAgAjYCACMCIwIoAgBBBGo2AgAjAigCACICIAA2AgAgAiABNwIEIAIgBDcCDCMCIwIoAgBBFGo2AgBCAAuJAgIBfgF/IwFBAkYEQCMCIwIoAgBBFGs2AgAjAigCACICKAIAIQAgAikCDCEEIAIpAgQhAQsCfyMBQQJGBEAjAiMCKAIAQQRrNgIAIwIoAgAoAgAhBQsjAUUEQCADKQMIIQQgAykDACEBCyMBRSAFRXIEQCAAIAEgBEEBEI0CQQAjAUEBRg0BGiEACyMBRQRAIABBAEgEQEKAgICA4AAPCyABQoCAgIDQfloEQCABpyIAKAIAQQFqIQIgACACNgIACyABDwsACyECIwIoAgAgAjYCACMCIwIoAgBBBGo2AgAjAigCACICIAA2AgAgAiABNwIEIAIgBDcCDCMCIwIoAgBBFGo2AgBCAAvZAwICfwJ+IwFBAkYEQCMCIwIoAgBBHGs2AgAjAigCACIEKAIAIQAgBCgCDCECIAQoAhAhAyAEKQIUIQYgBCkCBCEBCwJ/IwFBAkYEQCMCIwIoAgBBBGs2AgAjAigCACgCACEFCyMBRQRAIAMpAwAiAUL/////b1YgAUKAgICAcIMiBkKAgICAIFFyRSECCyACIwFBAkZyBEAjAUUgBUVyBEAgAEG+5ABBABAWQQAjAUEBRg0CGgsjAUUEQEKAgICA4AAPCwsjAUUgBUEBRnIEQCAAIAEQSUEBIwFBAUYNARohAQsjAUUEQCABQoCAgIBwgyIGQoCAgIDgAFIhAgsCQCACIwFBAkZyBEAjAUUEQCADKQMIIgZCgICAgHCDQoCAgIAwUSICDQILIwFFIAVBAkZyBEAgACABIAYQrQZBAiMBQQFGDQMaIQILIwEgAnJFDQEjAUUgBUEDRnIEQCAAIAEQEEEDIwFBAUYNAxoLCyMBRQRAQoCAgIDgAA8LCyMBRQRAIAEPCwALIQQjAigCACAENgIAIwIjAigCAEEEajYCACMCKAIAIgQgADYCACAEIAE3AgQgBCACNgIMIAQgAzYCECAEIAY3AhQjAiMCKAIAQRxqNgIAQgALmQYCBH8DfiMBQQJGBEAjAiMCKAIAQTBrNgIAIwIoAgAiBSgCACEAIAUoAgwhAiAFKAIQIQMgBSgCFCEEIAUoAhghBiAFKQIcIQkgBSkCJCEKIAUoAiwhCCAFKQIEIQELAn8jAUECRgRAIwIjAigCAEEEazYCACMCKAIAKAIAIQcLIwFFBEAjAEEgayICJABCgICAgOAAIQkLIwFFIAdFcgRAIAAgARAlQQAjAUEBRg0BGiEBCyMBRQRAIAFCgICAgHCDIgpCgICAgOAAUSEGCwJAAkAjAUUEQCAGDQEgAykDACEKCyMBRSAHQQFGcgRAIAAgChAyQQEjAUEBRg0DGiEDCyMBRQRAIANFIgYNAQsDQCAGIAGnIwEbIQYjAUUgB0ECRnIEQCAAIAIgBiADEEtBAiMBQQFGDQQaIQYLIAggBkEATiMBGyIIIwFBAkZyBEAgBiMBQQJGcgRAIwFFBEBCgICAgDAhCQJAIAItAABBEHFFIgYNAEEYQRAgBBsgAmopAwAiCUKAgICA0H5UIgQNACAJpyIEKAIAQQFqIQYgBCAGNgIACwsjAUUgB0EDRnIEQCAAIAIQSkEDIwFBAUYNBhoLIwFFDQQLIwFFIAdBBEZyBEAgACABEI4CQQQjAUEBRg0FGiEBCyMBRQRAIAFCgICAgHCDIglCgICAgCBRBEBCgICAgDAhCQwFCyAJQoCAgIDgAFEiBg0ECyMBRSAHQQVGcgRAIAAQfUEFIwFBAUYNBRohBgsjAUUEQCAGRSIGDQILCwsjAUUEQEKAgICA4AAhCQwCCwsgA0EAIwEbIQMLIwFFIAdBBkZyBEAgACADEBRBBiMBQQFGDQEaCyMBRSAHQQdGcgRAIAAgARAQQQcjAUEBRg0BGgsjAUUEQCACQSBqJAAgCQ8LAAshBSMCKAIAIAU2AgAjAiMCKAIAQQRqNgIAIwIoAgAiBSAANgIAIAUgATcCBCAFIAI2AgwgBSADNgIQIAUgBDYCFCAFIAY2AhggBSAJNwIcIAUgCjcCJCAFIAg2AiwjAiMCKAIAQTBqNgIAQgALgQUCA38DfiMBQQJGBEAjAiMCKAIAQSxrNgIAIwIoAgAiBSgCACEAIAUoAgwhAiAFKAIQIQMgBSgCFCEEIAUpAhghCCAFKQIgIQkgBSgCKCEHIAUpAgQhAQsCfyMBQQJGBEAjAiMCKAIAQQRrNgIAIwIoAgAoAgAhBgsjAUUEQCADKQMAIQkgAykDCCEICyMBRSAGRXIEQCAAIAEQJUEAIwFBAUYNARohAQsCQEKAgICA4AAgByACIAFCgICAgHCDQoCAgIDgAFIjARsiAiMBGyIHIwFBAkZyBH4jAUUgBkEBRnIEQCAAIAgQYkEBIwFBAUYNAxohAgsjAUEBIAIbRQ0BIwFFIAZBAkZyBEAgACAJEDJBAiMBQQFGDQMaIQILIwFFBEAgAkUNAkKAgICAMCAIIAQbIQkgCEKAgICAMCAEGyEIQYWqAUGFmgEgBBshAwsjAUUgBkEDRnIEQCAAIAEgAkKAgICAMCAJIAggAxBvQQMjAUEBRg0DGiEDCyMBRSAGQQRGcgRAIAAgARAQQQQjAUEBRg0DGgsjAUUgBkEFRnIEQCAAIAIQFEEFIwFBAUYNAxoLIwEEfiABBUKAgICA4ABCgICAgDAgA0EASCIAGwsFIAELIwFFIAdFIwFBAkZycRshASMBRQRAIAEPCwsjAUUgBkEGRnIEQCAAIAEQEEEGIwFBAUYNARoLIwFFBEBCgICAgOAADwsACyEFIwIoAgAgBTYCACMCIwIoAgBBBGo2AgAjAigCACIFIAA2AgAgBSABNwIEIAUgAjYCDCAFIAM2AhAgBSAENgIUIAUgCDcCGCAFIAk3AiAgBSAHNgIoIwIjAigCAEEsajYCAEIAC4UDAgF/AX4jAUECRgRAIwIjAigCAEEUazYCACMCKAIAIgMoAgAhACADKQIEIQEgAygCDCECIAMoAhAhAwsCfyMBQQJGBEAjAiMCKAIAQQRrNgIAIwIoAgAoAgAhBAsgAiABQoCAgIBwg0KAgICAMFEjARshAgJAIwFFBEAgAg0BIAAoAhAoAowBKAIIIAGnRiICDQELIwFFIARFcgRAIAAgAUEBEGdBACMBQQFGDQIaIQELIwFFBEAgAQ8LCyMBBH8gAgUgAykDACIBQiCIpyICQQtqQRFLIQMgAyACQX5xQQJHckULIwFBAkZyBEAjAUUgBEEBRnIEQCAAEDZBASMBQQFGDQIaIQELIwFFBEAgAQ8LCyMBRSAEQQJGcgRAIAAgARAlQQIjAUEBRg0BGiEBCyMBRQRAIAEPCwALIQQjAigCACAENgIAIwIjAigCAEEEajYCACMCKAIAIgQgADYCACAEIAE3AgQgBCACNgIMIAQgAzYCECMCIwIoAgBBFGo2AgBCAAuaAwEDfyMBQQJGBEAjAiMCKAIAQRxrNgIAIwIoAgAiBCgCACEAIAQpAgQhASAEKQIMIQIgBCgCFCEFIAQoAhghBAsCfyMBQQJGBEAjAiMCKAIAQQRrNgIAIwIoAgAoAgAhAwsjAUUEQCABQoCAgIAQhEKAgICAcINCgICAgDBRIQULIAUjAUECRnIEQCMBRSADRXIEQCAAECZBACMBQQFGDQIaCyMBRQRAQoCAgIDgAA8LCyMBRQRAIAJCgICAgHCDQoCAgIAgUiACQv////9vWHEhBQtCgICAgDAgAUEAIAQgBSMBGyIEIwFBAkZyIwEbGyEBIARFIwFBAkZyBEAjAUUgA0EBRnIEQCAAIAEgAkEBEI0CQQEjAUEBRg0CGiEACyMBBH4gAQVCgICAgOAAQoCAgIAwIABBAEgbCyEBCyMBRQRAIAEPCwALIQMjAigCACADNgIAIwIjAigCAEEEajYCACMCKAIAIgMgADYCACADIAE3AgQgAyACNwIMIAMgBTYCFCADIAQ2AhgjAiMCKAIAQRxqNgIAQgALmQICAn8CfiMBQQJGBEAjAiMCKAIAQRRrNgIAIwIoAgAiAygCACEAIAMpAgwhBCADKQIEIQELAn8jAUECRgRAIwIjAigCAEEEazYCACMCKAIAKAIAIQILIwFFIAJFcgRAIAAgARAlQQAjAUEBRg0BGiEBCyMBRQRAIAFCgICAgHCDIgRCgICAgOAAUQRAIAEPCwsjAUUgAkEBRnIEQCAAIAEQ6gFBASMBQQFGDQEaIQQLIwFFIAJBAkZyBEAgACABEBBBAiMBQQFGDQEaCyMBRQRAIAQPCwALIQIjAigCACACNgIAIwIjAigCAEEEajYCACMCKAIAIgIgADYCACACIAE3AgQgAiAENwIMIwIjAigCAEEUajYCAEIAC7IEAgN/A34jAUECRgRAIwIjAigCAEEoazYCACMCKAIAIgQoAgAhACAEKAIMIQIgBCgCECEDIAQoAhQhBSAEKQIYIQcgBCkCICEIIAQpAgQhAQsCfyMBQQJGBEAjAiMCKAIAQQRrNgIAIwIoAgAoAgAhBgsjAUUEQCMAQSBrIgIkAEKAgICA4AAhBwsjAUUgBkVyBEAgACABECVBACMBQQFGDQEaIQELIwFFBEAgAUKAgICAcIMiCEKAgICA4ABRIQULAkACQCMBRQRAIAUNASADKQMAIQgLIwFFIAZBAUZyBEAgACAIEDJBASMBQQFGDQMaIQMLIwFFBEAgA0UNASABpyEFCyMBRSAGQQJGcgRAIAAgAiAFIAMQS0ECIwFBAUYNAxohBQsjAUUEQCAFQQBIDQIgBUUEQEKAgICAECEHDAMLIAI1AgAhBwsjAUUgBkEDRnIEQCAAIAIQSkEDIwFBAUYNAxoLIwFFBEAgB0ICiEIBg0KAgICAEIQhBwwCCwsgA0EAIwEbIQMLIwFFIAZBBEZyBEAgACADEBRBBCMBQQFGDQEaCyMBRSAGQQVGcgRAIAAgARAQQQUjAUEBRg0BGgsjAUUEQCACQSBqJAAgBw8LAAshBCMCKAIAIAQ2AgAjAiMCKAIAQQRqNgIAIwIoAgAiBCAANgIAIAQgATcCBCAEIAI2AgwgBCADNgIQIAQgBTYCFCAEIAc3AhggBCAINwIgIwIjAigCAEEoajYCAEIAC/MEAgJ/A34jAUECRgRAIwIjAigCAEEkazYCACMCKAIAIgQoAgAhACAEKAIMIQIgBCgCECEDIAQpAhQhByAEKQIcIQYgBCkCBCEBCwJ/IwFBAkYEQCMCIwIoAgBBBGs2AgAjAigCACgCACEFCyMBRQRAQoCAgIAQIQcgAykDACIGQoCAgIBwVCECCwJAAkAjAUEBIAIbRQ0AIwFFIAVFcgRAIAAgARAlQQAjAUEBRg0DGiEBCyMBRQRAQoCAgIDgACEHIAFCgICAgHCDQoCAgIDgAFENASAGpyICKAIAQQFqIQMgAiADNgIAIAGnIQILA0AjAUUgBUEBRnIEQCAAIAYQjgJBASMBQQFGDQQaIQYLIwFFBEAgBkKAgICAcIMiB0KAgICA4ABSIQMLIAMjAUECRnIEQCMBRQRAIAanIAJGIAdCgICAgCBRciIDDQQLIwFFIAVBAkZyBEAgABB9QQIjAUEBRg0FGiEDCyMBRQRAIANFIgMNAgsLCyMBRSAFQQNGcgRAIAAgBhAQQQMjAUEBRg0DGgsjAUUgBUEERnIEQCAAIAEQEEEEIwFBAUYNAxoLIAdCgICAgOAAIwEbIQcLIwFFBEAgBw8LCyMBRSAFQQVGcgRAIAAgBhAQQQUjAUEBRg0BGgsjAUUgBUEGRnIEQCAAIAEQEEEGIwFBAUYNARoLIwFFBEAgB0KAgICAIFKtQoCAgIAQhA8LAAshBCMCKAIAIAQ2AgAjAiMCKAIAQQRqNgIAIwIoAgAiBCAANgIAIAQgATcCBCAEIAI2AgwgBCADNgIQIAQgBzcCFCAEIAY3AhwjAiMCKAIAQSRqNgIAQgAL3gMCAn8CfiMBQQJGBEAjAiMCKAIAQRxrNgIAIwIoAgAiBCgCACEAIAQoAgwhAiAEKAIQIQMgBCkCFCEGIAQpAgQhAQsCfyMBQQJGBEAjAiMCKAIAQQRrNgIAIwIoAgAoAgAhBQsjAUUEQCADKQMAIQYLIwFFIAVFcgRAIAAgBhAyQQAjAUEBRg0BGiECCyMBRQRAIAJFIgMEQEKAgICA4AAPCwsjAUUgBUEBRnIEQCAAIAEQJUEBIwFBAUYNARohAQsgAyABQoCAgIBwg0KAgICA4ABRIwEbIgMjAUECRnIEQCMBRSAFQQJGcgRAIAAgAhAUQQIjAUEBRg0CGgsjAUUEQCABDwsLIAMgAacjARshAyMBRSAFQQNGcgRAIABBACADIAIQS0EDIwFBAUYNARohAwsjAUUgBUEERnIEQCAAIAIQFEEEIwFBAUYNARoLIwFFIAVBBUZyBEAgACABEBBBBSMBQQFGDQEaCyMBRQRAQoCAgIDgACADQQBHrUKAgICAEIQgA0EASBsPCwALIQQjAigCACAENgIAIwIjAigCAEEEajYCACMCKAIAIgQgADYCACAEIAE3AgQgBCACNgIMIAQgAzYCECAEIAY3AhQjAiMCKAIAQRxqNgIAQgALsAECAX4BfyMBQQJGBEAjAiMCKAIAQQxrNgIAIwIoAgAiAigCACEAIAIpAgQhAQsCfyMBRSMBQQJGBH8jAiMCKAIAQQRrNgIAIwIoAgAoAgAFIAULRXIEQCAAIAEQJUEAIwFBAUYNARohAQsjAUUEQCABDwsACyECIwIoAgAgAjYCACMCIwIoAgBBBGo2AgAjAigCACICIAA2AgAgAiABNwIEIwIjAigCAEEMajYCAEIAC7cBAgF+AX8jAUECRgRAIwIjAigCAEEMazYCACMCKAIAIgIoAgAhACACKQIEIQELAn8jAUUjAUECRgR/IwIjAigCAEEEazYCACMCKAIAKAIABSAFC0VyBEAgACABQTdBAEEAEK4CQQAjAUEBRg0BGiEBCyMBRQRAIAEPCwALIQIjAigCACACNgIAIwIjAigCAEEEajYCACMCKAIAIgIgADYCACACIAE3AgQjAiMCKAIAQQxqNgIAQgALLQEBfkKAgICAMCECAkAgARChAyIARQ0AIAAtABJBBHFFDQAgADUCRCECCyACC/YBAgR/AX4jAUECRgRAIwIjAigCAEEQazYCACMCKAIAIgIoAgAhACACKAIEIQMgAikCCCEGCwJ/IwFBAkYEQCMCIwIoAgBBBGs2AgAjAigCACgCACEECyMBRQRAIAEQoQMiA0UhBUKAgICAMCEGCwJAIwFFBEAgBQ0BIAMtABJBBHFFDQEgAygCQCEDCyMBRSAERXIEQCAAIAMQL0EAIwFBAUYNAhohBgsLIwFFBEAgBg8LAAshAiMCKAIAIAI2AgAjAiMCKAIAQQRqNgIAIwIoAgAiAiAANgIAIAIgAzYCBCACIAY3AggjAiMCKAIAQRBqNgIAQgAL5wECAX4BfyMBQQJGBEAjAiMCKAIAQRRrNgIAIwIoAgAiAigCACEAIAIpAgwhBCACKQIEIQELAn8jAUECRgRAIwIjAigCAEEEazYCACMCKAIAKAIAIQULIwFFBEAgAykDACEECyMBRSAFRXIEQCAAIAQgARC+BUEAIwFBAUYNARohAAsjAUUEQEKAgICA4AAgAEEAR61CgICAgBCEIABBAEgbDwsACyECIwIoAgAgAjYCACMCIwIoAgBBBGo2AgAjAigCACICIAA2AgAgAiABNwIEIAIgBDcCDCMCIwIoAgBBFGo2AgBCAAv0BAIGfwF+An8jAUECRgRAIwIjAigCAEEkazYCACMCKAIAIgQoAgAhACAEKAIMIQIgBCgCECEDIAQoAhQhBSAEKAIYIQcgBCgCHCEIIAQoAiAhCSAEKQIEIQELIwFBAkYEQCMCIwIoAgBBBGs2AgAjAigCACgCACEGCyMBRSAGRXIEQCAAIAEQYkEAIwFBAUYNARohAgtCgICAgOAAIAFBACAHIAIjARsiByMBQQJGciMBGxshASAHRSMBQQJGcgRAIwFFBEAgAaciAi8BBhDwASEDC0HRmQEgCCADIwEbIggjAUECRnIEfyMBRQRAIAIoAiAiAi8AESIDQYAIcUUhBQsCQCMBRQRAIAUNASACKAJUIgVFDQEgAigCSCECCyMBRSAGQQFGcgRAIAAgBSACEJUCQQEjAUEBRg0EGiEBCyMBRQRAIAEPCwsjAQR/IAIFIANBAnZBDHFBhIACaigCAAsFIAILIwFFIAhFIwFBAkZycRshAiMBRSAGQQJGcgRAIAAgAUE2IAFBABAVQQIjAUEBRg0CGiEBCyMBQQJGIAkgAyABQoCAgIBwg0KAgICAMFEjARsiAyMBG3IEQCMBRSAGQQNGcgRAIABBLxAvQQMjAUEBRg0DGiEBCwsjAUUgBkEERnIEfiAAIAIgAUG+GRC/AUEEIwFBAUYNAhoFIAELIQELIwFFBEAgAQ8LAAshBCMCKAIAIAQ2AgAjAiMCKAIAQQRqNgIAIwIoAgAiBCAANgIAIAQgATcCBCAEIAI2AgwgBCADNgIQIAQgBTYCFCAEIAc2AhggBCAINgIcIAQgCTYCICMCIwIoAgBBJGo2AgBCAAuDDAMKfwR+A3wjAUECRgRAIwIjAigCAEHMAGs2AgAjAigCACIEKAIAIQAgBCgCDCECIAQoAhAhAyAEKQIUIQ4gBCgCHCEGIAQoAiAhByAEKQIkIQ8gBCkCLCEQIAQoAjQhCCAEKwI4IRIgBCgCQCEJIAQoAkQhCiAEKAJIIQsgBCkCBCEBCwJ/IwFBAkYEQCMCIwIoAgBBBGs2AgAjAigCACgCACEFCyMBRSAFRXIEQCAAIAEQYkEAIwFBAUYNARohBgsgDkKAgICA4AAjARshDgJAAkAjAUUEQCAGDQEgACkDMCEOCyMBRSAFQQFGcgRAIAAgDkEOEExBASMBQQFGDQMaIQ8LIwFFBEBCgICAgOAAIQ4gD0KAgICAcINCgICAgOAAUQ0BIA+nIgkgAUKAgICAcFoEfyABpy0ABUEQcQVBAAsgCS0ABUHvAXEiB3I6AAVBASACIAJBAUwbIgpBAWsiCEEDdEEYaiECCyMBRSAFQQJGcgRAIAAgAhAqQQIjAUEBRg0DGiEHCyMBRQRAIAdFDQIgAUKAgICA0H5aBEAgAaciAigCAEEBaiEGIAIgBjYCAAsgByABNwMAIAMpAwAiDkKAgICA0H5aBEAgDqciAigCAEEBaiEGIAIgBjYCAAsgByAINgIQIAcgDjcDCCAHQRhqIQxBACECA0AgAiAIRwRAIAJBAWoiBkEDdCADaikDACIOQoCAgIDQfloEQCAOpyINKAIAQQFqIQQgDSAENgIACyAMIAJBA3RqIA43AwAgBiECDAELCyAJIAc2AiAgAUL/////b1ghAgsgAiMBQQJGcgRAIwFFIAVBA0ZyBEAgABAmQQMjAUEBRg0EGgsjAUUNAgsgAiABpyMBGyECIwFFIAVBBEZyBEAgAEEAIAJBMBBLQQQjAUEBRg0DGiECCyMBRQRAIAJBAEgNAkIAIQ4gAkUhAgsCQCMBQQEgAhtFDQAjAUUgBUEFRnIEQCAAIAFBMCABQQAQFUEFIwFBAUYNBBohEAsjAUUEQCAQQoCAgIBwg0KAgICA4ABRDQMgEEL/////D1gEQCAQpyICIAhrQQAgAiAKThsiAq0hDgwCCyAQQiCIp0EHa0FtTSICBEACQCAQQoCAgIDAgYD8/wB8Ig5C////////////AINCgICAgICAgPj/AFYNACAOv50iEyAIuCIUZQ0AIBMgFKEhEgsgEr0iDgJ/IBKZRAAAAAAAAOBBYwRAIBKqDAELQYCAgIB4CyICt71RBEAgAq0hDgwDC0KAgICAwH4gDkKAgICAwIGA/P8AfSAOQv///////////wCDQoCAgICAgID4/wBWIgIbIQ4MAgsLIwFFIAVBBkZyBEAgACAQEBBBBiMBQQFGDQQaCwsjAUUgBUEHRnIEQCAAIA9BMCAOQQEQGkEHIwFBAUYNAxohAgsjAUUgBUEIRnIEQCAAIAFBNiABQQAQFUEIIwFBAUYNAxohDgsjAUUEQCAOQoCAgIBwgyIBQoCAgICQf1IhAgsjAUECRiALIAIjARtyBEAjAUUgAUKAgICA4ABRcQ0CIwFFIAVBCUZyBEAgACAOEBBBCSMBQQFGDQQaCyMBRSAFQQpGcgR+IABBLxAvQQojAUEBRg0EGgUgDgshDgsjAUUgBUELRnIEQCAAQduZASAOQdOeARC/AUELIwFBAUYNAxohAQsjAUUEQCABQoCAgIBwgyIOQoCAgIDgAFENAgsjAUUgBUEMRnIEQCAAIA9BNiABQQEQGkEMIwFBAUYNAxohAAsgDiAPIwEbIQ4LIwFFBEAgDg8LCyMBRSAFQQ1GcgRAIAAgDxAQQQ0jAUEBRg0BGgsjAUUEQEKAgICA4AAPCwALIQQjAigCACAENgIAIwIjAigCAEEEajYCACMCKAIAIgQgADYCACAEIAE3AgQgBCACNgIMIAQgAzYCECAEIA43AhQgBCAGNgIcIAQgBzYCICAEIA83AiQgBCAQNwIsIAQgCDYCNCAEIBI5AjggBCAJNgJAIAQgCjYCRCAEIAs2AkgjAiMCKAIAQcwAajYCAEIAC8ACAgN/An4jAUECRgRAIwIjAigCAEEcazYCACMCKAIAIgQoAgAhACAEKAIMIQIgBCgCECEDIAQpAhQhByAEKQIEIQELAn8jAUECRgRAIwIjAigCAEEEazYCACMCKAIAKAIAIQULIwFBAkYgBiACQQBMIwEbcgRAIwFFIAVFcgRAIAAgAUKAgICAMEEAQQAQIkEAIwFBAUYNAhohAQsjAUUEQCABDwsLIwFFBEAgAykDACEHIANBCGohAyACQQFrIQILIwFFIAVBAUZyBEAgACABIAcgAiADECJBASMBQQFGDQEaIQELIwFFBEAgAQ8LAAshBCMCKAIAIAQ2AgAjAiMCKAIAQQRqNgIAIwIoAgAiBCAANgIAIAQgATcCBCAEIAI2AgwgBCADNgIQIAQgBzcCFCMCIwIoAgBBHGo2AgBCAAvaBgIEfwZ+IwFBAkYEQCMCIwIoAgBByABrNgIAIwIoAgAiBSgCACEAIAUoAgwhAiAFKAIQIQMgBSgCFCEEIAUoAhghByAFKQIcIQkgBSkCJCEKIAUpAiwhDCAFKQI0IQsgBSgCPCEIIAUpAkAhDiAFKQIEIQELAn8jAUECRgRAIwIjAigCAEEEazYCACMCKAIAKAIAIQYLIwFFBEAjAEEQayIHJAAgB0EIaiEIQoCAgIAwIQwLIwFFIAZFcgRAIAAgARAlQQAjAUEBRg0BGiELCyMBRSAGQQFGcgRAIAAgCCALED5BASMBQQFGDQEaIQgLAkACQCMBRQRAIAgNASAHQQE2AgQLAkAgBCMBQQJGcgRAIwFFBEAgAykDACEJQoCAgIAwIQogAkECTiICBH4gAykDCAUgCgshCgsjAUUgBkECRnIEQCAAIAkQYkECIwFBAUYNBRohAgsjAUUEQCACRSICDQIMAwsLIwFFBEAgAkEATCICBEBCgICAgDAhCUKAgICAMCEKDAILQoCAgIAwIQlCgICAgDAhCiADKQMAIgFCgICAgHCDIg5CgICAgDBRIgINASAHQQRqIQILIwFFIAZBA0ZyBEAgACACIAEQuwFBAyMBQQFGDQQaIQILIwFFBEAgAkEASCICDQILCyMBRSAGQQRGcgRAIAAgC0IAEK0CQQQjAUEBRg0DGiEBCyMBRQRAIAFCgICAgHCDQoCAgIDgAFEEQCABIQwMAgsgASEMIAcpAwghDiAHKAIEIQILIwFFIAZBBUZyBEAgACABIAsgDkIAIAIgCSAKEK8GQQUjAUEBRg0DGiEJCyMBRQRAIAlCAFMNASALIQwMAgsLIwFFIAZBBkZyBEAgACALEBBBBiMBQQFGDQIaCyABQoCAgIDgACMBGyEBCyMBRSAGQQdGcgRAIAAgDBAQQQcjAUEBRg0BGgsjAUUEQCAHQRBqJAAgAQ8LAAshBSMCKAIAIAU2AgAjAiMCKAIAQQRqNgIAIwIoAgAiBSAANgIAIAUgATcCBCAFIAI2AgwgBSADNgIQIAUgBDYCFCAFIAc2AhggBSAJNwIcIAUgCjcCJCAFIAw3AiwgBSALNwI0IAUgCDYCPCAFIA43AkAjAiMCKAIAQcgAajYCAEIAC/wFAgR/BX4jAUECRgRAIwIjAigCAEE8azYCACMCKAIAIgQoAgAhACAEKAIMIQIgBCgCECEDIAQpAhQhCCAEKAIcIQUgBCkCICEJIAQoAighBiAEKQIsIQogBCkCNCELIAQpAgQhAQsCfyMBQQJGBEAjAiMCKAIAQQRrNgIAIwIoAgAoAgAhBwsjAUUEQCMAQSBrIgYkACAGQRhqIQULIwFFIAdFcgRAIAAgARAlQQAjAUEBRg0BGiEBCyMBRSAHQQFGcgRAIAAgBSABED5BASMBQQFGDQEaIQULAkACQCMBRQRAIAUNASAGKQMYIQggAykDACEJIAZBCGohBQsjAUUgB0ECRnIEQCAAIAUgCUIAIAggCBB2QQIjAUEBRg0DGiEFCyMBRQRAIAUNASADKQMIIQkgBkEQaiEFCyMBRSAHQQNGcgRAIAAgBSAJQgAgCCAIEHZBAyMBQQFGDQMaIQULIwFFBEAgBQ0BIAYgCDcDACAIIQkgAkEDSCECCwJAIwFFBEAgAg0BIAghCSADKQMQIgpCgICAgHCDQoCAgIAwUSICDQELIwFFIAdBBEZyBEAgACAGIApCACAIIAgQdkEEIwFBAUYNBBohAgsjAUUEQCACDQIgBikDACEJCwsjAUUEQCAIIAYpAwgiCn0iCCAJIAYpAxAiC30iCVUhAkEBQX9BASAKIAsgCSAIIAIbIgh8UxsgCiALVxshAgsjAUUgB0EFRnIEQCAAIAEgCiALIAggAhDzAkEFIwFBAUYNAxohAgsjASACckUNAQsjAUUgB0EGRnIEQCAAIAEQEEEGIwFBAUYNAhoLIAFCgICAgOAAIwEbIQELIwFFBEAgBkEgaiQAIAEPCwALIQQjAigCACAENgIAIwIjAigCAEEEajYCACMCKAIAIgQgADYCACAEIAE3AgQgBCACNgIMIAQgAzYCECAEIAg3AhQgBCAFNgIcIAQgCTcCICAEIAY2AiggBCAKNwIsIAQgCzcCNCMCIwIoAgBBPGo2AgBCAAuFEgIGfwp+IwFBAkYEQCMCIwIoAgBB8ABrNgIAIwIoAgAiBSgCACEAIAUoAgwhAiAFKAIQIQMgBSgCFCEEIAUoAhghBiAFKQIcIQsgBSkCJCEMIAUoAiwhByAFKQIwIQ0gBSkCOCEOIAUpAkAhDyAFKQJIIRAgBSkCUCERIAUoAlghCSAFKQJcIRIgBSkCZCETIAUoAmwhCiAFKQIEIQELAn8jAUECRgRAIwIjAigCAEEEazYCACMCKAIAKAIAIQgLIwFFBEAjAEEwayIHJABCgICAgDAhCyAHQSBqIQYLIwFFIAhFcgRAIAAgARAlQQAjAUEBRg0BGiEQCyMBRSAIQQFGcgRAIAAgBiAQED5BASMBQQFGDQEaIQYLAkACQCMBRQRAIAYNASAHQRhqIQYgBykDICENIAMpAwAhAQsjAUUgCEECRnIEQCAAIAYgAUIAIA0gDRB2QQIjAUEBRg0DGiEGCyMBQQEgBhtFDQACQCAEIwFBAkZyBEACQCMBRQRAAkACQCACDgIDAAELIA0gBykDGCIBfSEOQQAhAgwCCyAHQRBqIQYgDSAHKQMYfSERIAMpAwghAQsjAUUgCEEDRnIEQCAAIAYgAUIAIBFCABB2QQMjAUEBRg0GGiEGCyMBRQRAIAYNBCAHKQMQIQ4gAkECayECCwsjAUUEQCANIAKtfCAOfSIBQoCAgICAgIAQUyIGDQILIwFFIAhBBEZyBEAgAEHX2gBBABAWQQQjAUEBRg0FGgsjAUUNAgsjAUUEQCAHIA03AxAgAykDCCIRQoCAgIBwgyIOQoCAgIAwUiECIA0hAQsjAUECRiAKIAIjARtyBEAgAiAHQRBqIwEbIQIjAUUgCEEFRnIEQCAAIAIgEUIAIAEgARB2QQUjAUEBRg0FGiECCyMBBH4gAQUgAg0DIAcpAxALIQELIwFFBEAgASAHKQMYIgt9IgFCAFUhAiABQgAgAhshDkEAIQILCyMBRQRAIA5CgICAgAh8IgFC/////w9YIgYEfiAOQv////8PgwVCgICAgMB+IA65vSIBQoCAgIDAgYD8/wB9IAFC////////////AIMiAUKAgICAgICA+P8AViIGGwshCwsjAUUgCEEGRnIEQCAAIBAgCxCtAkEGIwFBAUYNAxohAQsjAUUgCEEHRnIEQCAAIAsQEEEHIwFBAUYNAxoLIwFFBEAgAUKAgICAcIMiC0KAgICA4ABRIQYLAkAjAUUEQCAGDQEgBykDGCIRIA58IQ8gAUL/////b1giCSAQIAdBDGogB0EIahCMAkVyIQYLAkACQCMBRQRAIAYNASABpyIGLwEGQQJHIgkNASARIQsgBi0ABUEIcUUiBg0CIA8gBzUCCCIMUyEGIA8gDCAGGyETQgAhDCAHKAIMIQYLA0AjAUUEQCALIBNZDQMgC6dBA3QgBmopAwAiEkKAgICA0H5aIgkEQCASpyIJKAIAQQFqIQogCSAKNgIACwsjAUUgCEEIRnIEQCAAIAEgDCASQYCAARDUAUEIIwFBAUYNBxohCQsjAUUEQCAJQQBIIgkNBCAMQgF8IQwgC0IBfCELDAELCwsgCyARIwEbIQsLIwFFBEAgCyAPIAsgD1UiBhshDwsDQCAGIAsgD1IjARsiBiMBQQJGcgRAIAYgB0EoaiMBGyEGIwFFIAhBCUZyBEAgACAQIAsgBhCHAUEJIwFBAUYNBhohBgsjAUUgBkEASHENAiAGIwFBAkZyBEAjAUUEQCAHKQMoIRILIwFFIAhBCkZyBEAgACABIAwgEkGAgAEQ1AFBCiMBQQFGDQcaIQYLIwFFBEAgBkEASCIGDQQLCyMBRQRAIAxCAXwhDCALQgF8IQsMAgsLCyMBRQRAIAxCgICAgAhaIgYEQEKAgICAwH4gDLq9IgtCgICAgMCBgPz/AH0gC0KAgICAgICA+P8AViIGGyEMCwsjAUUgCEELRnIEQCAAIAFBMCAMEEdBCyMBQQFGDQQaIQYLIwFFIAZBAEhxDQAgBCMBQQJGcgRAIwFFBEAgDSACrSIMfCILIA59IQ8gDCAOUSECCwJAIwFFBEAgAg0BIAwgEXwhEiANIA4gEXwiC30hE0F/QQEgDCAOVRshAgsjAUUgCEEMRnIEQCAAIBAgEiALIBMgAhDzAkEMIwFBAUYNBhohAgsjAUUEQCACQQBIIgINAwsDQCMBRQRAIA0gD1ciAg0CIA1CAX0hDQsjAUUgCEENRnIEQCAAIBAgDRD8AUENIwFBAUYNBxohAgsjAUUEQCACQQBOIgINAQsLIwFFDQILIwFFBEBCACELIANBEGohAgsDQCADIAsgDFIjARsiAyMBQQJGcgRAIwFFBEAgC6dBA3QgAmopAwAiDUKAgICA0H5aIgMEQCANpyIDKAIAQQFqIQQgAyAENgIACyALIBF8IQ4gC0IBfCELCyMBRSAIQQ5GcgRAIAAgECAOIA0QiAFBDiMBQQFGDQcaIQMLIwFFBEAgA0EATiIDDQIMBAsLCyMBRQRAIA9CgICAgAh8Qv////8PWCICBH4gD0L/////D4MFQoCAgIDAfiAPub0iC0KAgICAwIGA/P8AfSALQv///////////wCDQoCAgICAgID4/wBWIgIbCyEMIAEhCwsjAUUgCEEPRnIEQCAAIBBBMCAMEEdBDyMBQQFGDQUaIQILIwFFIAJBAEhxDQILIwFFBEAgECELDAMLCyALIAEjARshCwsjAUUgCEEQRnIEQCAAIBAQEEEQIwFBAUYNAhoLIAFCgICAgOAAIwEbIQELIwFFIAhBEUZyBEAgACALEBBBESMBQQFGDQEaCyMBRQRAIAdBMGokACABDwsACyEFIwIoAgAgBTYCACMCIwIoAgBBBGo2AgAjAigCACIFIAA2AgAgBSABNwIEIAUgAjYCDCAFIAM2AhAgBSAENgIUIAUgBjYCGCAFIAs3AhwgBSAMNwIkIAUgBzYCLCAFIA03AjAgBSAONwI4IAUgDzcCQCAFIBA3AkggBSARNwJQIAUgCTYCWCAFIBI3AlwgBSATNwJkIAUgCjYCbCMCIwIoAgBB8ABqNgIAQgAL4AYDAn4IfwF8IwFBAkYEQCMCIwIoAgBBLGs2AgAjAigCACIGKAIAIQAgBigCCCECIAYoAgwhBSAGKQIQIQMgBigCGCEHIAYoAhwhCCAGKAIgIQkgBigCJCEMIAYoAighCyAGKAIEIQELAn8jAUECRgRAIwIjAigCAEEEazYCACMCKAIAKAIAIQoLIwFFBEAjAEEgayIIJAAgAigCBCEFCwJAAkACQAJ/IwFFBEAgBQ0EIAIoAgAhCSACKAIIIQULIAUjAUECRnIEQCMBRQRAIAAgAUEIEGNFDQMgCCAAKQMANwMQIAggASkDADcDGCAIQRBqIQUgAikDECEDCyMBRSAKRXIEQCAJIANCgICAgDBBAiAFECJBACMBQQFGDQYaIQMLIwFFBEAgA0KAgICAcINCgICAgOAAUQ0EIANCAFIiByADp0EfdXIgA0L/////D1gNAhogCEEIaiEFCyMBRSAKQQFGcgRAIAkgBSADEHBBASMBQQFGDQYaIQULIwFFBEAgBUEASA0EIAgrAwgiDUQAAAAAAAAAAGQiAiANRAAAAAAAAAAAY2sMAgsLIwFFBEAgACgCCCIFRSEHCyAHIwFBAkZyBEAjAUUEQCAAKQMAIQMLIwFFIApBAkZyBEAgCSADEClBAiMBQQFGDQYaIQMLIwFFBEAgA0KAgICAcINCgICAgOAAUQ0EIAAgA6ciBTYCCAsLIwFFBEAgASgCCCEHCyAMIAcjARsiDEUjAUECRnIEQCMBRQRAIAEpAwAhAwsjAUUgCkEDRnIEQCAJIAMQKUEDIwFBAUYNBhohAwsjAQR/IAUFIANCgICAgHCDQoCAgIDgAFENBCABIAOnIgc2AgggACgCCAshBQsjAQR/IAUFIAUgBxCGAgsLIQUjAUUEQCAFIQsgBQ0DCwsjAUUEQCAAKQMQIgMgASkDECIEVSADIARTayELDAILCyMBRQRAIAJBATYCBAsLIwFFBEAgCEEgaiQAIAsPCwALIQYjAigCACAGNgIAIwIjAigCAEEEajYCACMCKAIAIgYgADYCACAGIAE2AgQgBiACNgIIIAYgBTYCDCAGIAM3AhAgBiAHNgIYIAYgCDYCHCAGIAk2AiAgBiAMNgIkIAYgCzYCKCMCIwIoAgBBLGo2AgBBAAu4DQIHfwV+IwFBAkYEQCMCIwIoAgBByABrNgIAIwIoAgAiBCgCACEAIAQoAgwhAiAEKAIQIQMgBCgCFCEFIAQpAhghCyAEKAIgIQcgBCgCJCEIIAQpAighDSAEKQIwIQwgBCgCOCEJIAQoAjwhCiAEKQJAIQ4gBCkCBCEBCwJ/IwFBAkYEQCMCIwIoAgBBBGs2AgAjAigCACgCACEGCwJAAkACfyMBRQRAIwBBMGsiByQAIAdCADcCHCAHIAA2AhggByADKQMAIg03AyhCgICAgDAhDCANQoCAgIBwgyIOQoCAgIAwUiECCyACIwFBAkZyBEAgAkEAIwEbIQIjAUUgBkVyBEAgACANEGJBACMBQQFGDQUaIQMLIwFFBEBBACIFIAMNAhogB0EBNgIgCwsjAUUEQCAHQRBqIQNBACECCyMBRSAGQQFGcgRAIAAgARAlQQEjAUEBRg0EGiEMCyMBRSAGQQJGcgRAIAAgAyAMED5BAiMBQQFGDQQaIQMLAkAjAUUEQCADDQFCACEBCwNAIwFFBEAgCyAHKQMQIg1TIQMLIAMjAUECRnIEQCADIAggCU0jARsiAyMBQQJGcgRAIwFFBEAgB0EMaiEFIAggCEEBdmpBH2pBcHEiCEEYbCEDCyMBRSAGQQNGcgRAIAAgAiADIAUQqQFBAyMBQQFGDQgaIQMLIwEEfyACBSADRSIFDQQgCCAHKAIMQRhuaiEIIAMLIQILIwFFBEAgCUEYbCIDIAJqIQoLIwFFIAZBBEZyBEAgACAMIAsgChCHAUEEIwFBAUYNBxohAwsjAUUEQEEAIgUgA0EASA0EGgJAIANFIgMNACAKNQIEQiCGIg1CgICAgDBRIgMEQCABQgF8IQEMAQsgCiALNwMQIApBADYCCCAJQQFqIQkLIAtCAXwhCwwCCwsLIAMgB0EYaiMBGyEDIwFFIAZBBUZyBEAgAiAJQRhB1gAgAxDAAkEFIwFBAUYNBRoLIwFFBEBBACIFIAcoAhwiAw0CGkIAIQsgCa0iDSABfCABQj+HIg4gAYN9IQELA0ACQCADIAsgDVIjARsiAyMBQQJGcgRAIwFFBEAgC6ciCEEYbCACaiIDKAIIIQoLIAojAUECRnIEQCAOIAqtQoCAgICQf4QjARshDiMBRSAGQQZGcgRAIAAgDhAQQQYjAUEBRg0JGgsLIwFFBEAgAykDACEOIAMpAxAgC1EhAwsgAyMBQQJGcgRAIwFFIAZBB0ZyBEAgACAOEBBBByMBQQFGDQkaCyMBRQ0CCyMBRSAGQQhGcgRAIAAgDCALIA4QiAFBCCMBQQFGDQgaIQMLIwFFBEAgA0EATiIDDQIgCEEBagwFCwsjAUUEQCAAKAIQIgNBEGohBSADKAIEIQMLIwFFIAZBCUZyBEAgBSACIAMRAABBCSMBQQFGDQcaCwNAIAIgASANUSMBGyICIwFBAkZyBEAjAUUEQCAHKQMQIQsLA0AjAUUEQCABIAtZIgINCQsjAUUgBkEKRnIEQCAAIAwgARD8AUEKIwFBAUYNChohAgsjAUUEQCABQgF8IQEgAkEATiICDQELCyMBRQ0GCyMBRSAGQQtGcgRAIAAgDCANQoCAgIAwEIgBQQsjAUEBRg0IGiECCyMBRQRAIA1CAXwhDSACQQBOIgINAQsLIwFFDQQLIwFFBEAgC0IBfCELDAELCwsgBUEAIwEbCyEFIwFFBEAgCSAFIgNLIQUgCSADIAUbIQkLA0AgBSADIAlHIwEbIgUjAUECRnIEQCMBRQRAIANBGGwiBSACaiIIKQMAIQELIwFFIAZBDEZyBEAgACABEBBBDCMBQQFGDQUaCyMBRQRAIAgoAgghCAsgCCMBQQJGcgRAIAEgCK1CgICAgJB/hCMBGyEBIwFFIAZBDUZyBEAgACABEBBBDSMBQQFGDQYaCwsjAUUEQCADQQFqIQMMAgsLCyMBRQRAIAAoAhAiA0EQaiEFIAMoAgQhAwsjAUUgBkEORnIEQCAFIAIgAxEAAEEOIwFBAUYNAxoLCyMBRSAGQQ9GcgRAIAAgDBAQQQ8jAUEBRg0CGgsgDEKAgICA4AAjARshDAsjAUUEQCAHQTBqJAAgDA8LAAshBCMCKAIAIAQ2AgAjAiMCKAIAQQRqNgIAIwIoAgAiBCAANgIAIAQgATcCBCAEIAI2AgwgBCADNgIQIAQgBTYCFCAEIAs3AhggBCAHNgIgIAQgCDYCJCAEIA03AiggBCAMNwIwIAQgCTYCOCAEIAo2AjwgBCAONwJAIwIjAigCAEHIAGo2AgBCAAvTCAIEfwR+IwFBAkYEQCMCIwIoAgBBNGs2AgAjAigCACIEKAIAIQAgBCgCDCECIAQoAhAhAyAEKAIUIQUgBCkCGCEIIAQpAiAhCSAEKQIoIQogBCgCMCEHIAQpAgQhAQsCfyMBQQJGBEAjAiMCKAIAQQRrNgIAIwIoAgAoAgAhBgsjAUUEQCMAQTBrIgIkACACQoCAgIAwNwMoIAJBEGohAwsjAUUgBkVyBEAgACABECVBACMBQQFGDQEaIQELIwFFIAZBAUZyBEAgACADIAEQPkEBIwFBAUYNARohAwsgCEKAgICAMCMBGyEIAkACQCMBRQRAIAMNASABIAJBHGogAkEMaiIFEIwCIQMgAikDECEIAkAgA0UiAw0AIAIoAgwiA60iCSAIUiIFDQAgA0ECSQ0DQQAhACACKAIcIQcDQCADQQFrIgMgAE0NBCAHIABBA3RqIgUpAwAhCiAFIAcgA0EDdGoiBSkDADcDACAFIAo3AwAgAEEBaiEADAALAAsLA0AjAUUEQCAKIAhCAX0iCFkNAyACQShqIQMLIwFFIAZBAkZyBEAgACABIAogAxCHAUECIwFBAUYNBBohAwsgBSADQQBIIwEbIQUCQAJAAkAjAUUEQCAFDQEgAkEgaiEFCyMBRSAGQQNGcgRAIAAgASAIIAUQhwFBAyMBQQFGDQcaIQcLIwFFBEAgB0EASCIFDQELAkACQCAHIwFBAkZyBEAjAUUEQCACKQMgIQkLIwFFIAZBBEZyBEAgACABIAogCRCIAUEEIwFBAUYNChohBQsjAUUEQCAFQQBIIgUNBCADRSIDDQMgAikDKCEJCyMBRSAGQQVGcgRAIAAgASAIIAkQiAFBBSMBQQFGDQoaIQMLIwFFBEAgA0EATiIDDQIMBgsLIwFFBEAgA0UiAw0ECyMBRSAGQQZGcgRAIAAgASAKEPwBQQYjAUEBRg0JGiEDCyMBRQRAIANBAEgiAw0DIAIpAyghCQsjAUUgBkEHRnIEQCAAIAEgCCAJEIgBQQcjAUEBRg0JGiEDCyMBRQRAIANBAEgiAw0FCwsjAUUEQCACQoCAgIAwNwMoDAMLCyMBRSAGQQhGcgRAIAAgASAIEPwBQQgjAUEBRg0HGiEDCyMBRQRAIANBAE4iAw0CCwsjAUUEQCACKQMoIQgMBAsLIwFFBEAgCkIBfCEKDAILCwsgCEKAgICAMCMBGyEICyMBRSAGQQlGcgRAIAAgCBAQQQkjAUEBRg0CGgsjAUUgBkEKRnIEQCAAIAEQEEEKIwFBAUYNAhoLIAFCgICAgOAAIwEbIQELIwFFBEAgAkEwaiQAIAEPCwALIQQjAigCACAENgIAIwIjAigCAEEEajYCACMCKAIAIgQgADYCACAEIAE3AgQgBCACNgIMIAQgAzYCECAEIAU2AhQgBCAINwIYIAQgCTcCICAEIAo3AiggBCAHNgIwIwIjAigCAEE0ajYCAEIAC4QEAgN+AX8jAUECRgRAIwIjAigCAEEgazYCACMCKAIAIgMoAgAhACADKAIMIQIgAykCECEEIAMpAhghBSADKQIEIQELAn8gBEKAgICA4AAjARshBCMBQQJGBEAjAiMCKAIAQQRrNgIAIwIoAgAoAgAhBwsjAUUgB0VyBEAgACABECVBACMBQQFGDQEaIQELIwFFBEAgAUKAgICAcIMiBUKAgICA4ABSIQILIAIjAUECRnIEQCMBRSAHQQFGcgRAIAAgAUHbACABQQAQFUEBIwFBAUYNAhohBAsjAUUEQEKAgICA4AAhBSAEQoCAgIBwg0KAgICA4ABRIQILAkAjAUUEQCACDQEgACAEEDpFIQILIAIjAUECRnIEQCMBRSAHQQJGcgRAIAAgBBAQQQIjAUEBRg0EGgsjAUUgB0EDRnIEQCAAIAEgACAAELAGQQMjAUEBRg0EGiEFCyMBRQ0BCyMBRSAHQQRGcgRAIAAgBCABQQBBABAxQQQjAUEBRg0DGiEFCwsgBCAFIwEbIQQjAUUgB0EFRnIEQCAAIAEQEEEFIwFBAUYNAhoLCyMBRQRAIAQPCwALIQMjAigCACADNgIAIwIjAigCAEEEajYCACMCKAIAIgMgADYCACADIAE3AgQgAyACNgIMIAMgBDcCECADIAU3AhgjAiMCKAIAQSBqNgIAQgALmwoCBn8GfiMBQQJGBEAjAiMCKAIAQdAAazYCACMCKAIAIgUoAgAhACAFKAIMIQIgBSgCECEDIAUoAhQhBCAFKAIYIQcgBSkCHCELIAUoAiQhCCAFKQIoIQwgBSkCMCEOIAUoAjghCSAFKQI8IQ8gBSkCRCEQIAUoAkwhCiAFKQIEIQELAn8jAUECRgRAIwIjAigCAEEEazYCACMCKAIAKAIAIQYLIwFFBEAjAEEgayIHJAALIwFFIAZFcgRAIAAgARAlQQAjAUEBRg0BGiEOCyMBRSAGQQFGcgRAIAAgByAOED5BASMBQQFGDQEaIQgLAkACQCMBRQRAIAgNAUEsIQggBCACQQBMckUhAgsCQCACIwFBAkZyBEAjAUUEQEKAgICAMCEMQQAhAiADKQMAIgFCgICAgHCDIgtCgICAgDBRIgMNAgsjAUUgBkECRnIEQCAAIAEQKUECIwFBAUYNBRohDAsjAUUEQCAMQoCAgIBwgyIBQoCAgIDgAFENA0F/IQggDKciAigCBEEBRyIDDQIgAi0AECEIDAILCyMBRQRAQoCAgIAwIQxBACECCwsgAyAHQQhqIwEbIQMjAUUgBkEDRnIEQCAAIANBABA/QQMjAUEBRg0DGiEDCyMBRQRAIAcpAwAiC0IAVSEDIAtCACADGyEQQgAhAQsCQANAIAMgASAQUiMBGyIDIwFBAkZyBEAgAyABUCMBGyEDAkAjAUUEQCADDQEgCEEATiEDCyADIwFBAkZyBEAgAyAHQQhqIwEbIQMjAUUgBkEERnIEQCADIAgQPUEEIwFBAUYNCBohAwsjAUUNAQsjAUUEQCACKAIEQf////8HcSEJIAdBCGohAwsjAUUgBkEFRnIEQCADIAJBACAJEFNBBSMBQQFGDQcaIQMLCyADIAGnIwEbIQMjAUUgBkEGRnIEQCAAIA4gAxCxAUEGIwFBAUYNBhohCwsjAUUEQCALQoCAgIBwgyIPQoCAgIAgUSAPQoCAgIAwUSIJckUhAwsgAyMBQQJGcgRAIwFFBEAgD0KAgICA4ABRIgMNBCAHQQhqIQMLIAogBCMBGyIKIwFBAkZyBEAjAUUgBkEHRnIEQCAAIAsQ/wRBByMBQQFGDQgaIQsLCyMBRSAGQQhGcgRAIAMgCxCBAUEIIwFBAUYNBxohAwsjAUEBIAMbRQ0DCyMBRQRAIAFCAXwhAQwCCwsLIwFFIAZBCUZyBEAgACAMEBBBCSMBQQFGDQQaCyMBRSAGQQpGcgRAIAAgDhAQQQojAUEBRg0EGgsgACAHQQhqIwEbIQAjAUUgBkELRnIEQCAAEDhBCyMBQQFGDQQaIQELIwFFDQILIwFFBEAgBygCCCgCECICQRBqIQMgBygCDCEEIAIoAgQhAgsjAUUgBkEMRnIEQCADIAQgAhEAAEEMIwFBAUYNAxoLIwFFIAZBDUZyBEAgACAMEBBBDSMBQQFGDQMaCwsjAUUgBkEORnIEQCAAIA4QEEEOIwFBAUYNAhoLIAFCgICAgOAAIwEbIQELIwFFBEAgB0EgaiQAIAEPCwALIQUjAigCACAFNgIAIwIjAigCAEEEajYCACMCKAIAIgUgADYCACAFIAE3AgQgBSACNgIMIAUgAzYCECAFIAQ2AhQgBSAHNgIYIAUgCzcCHCAFIAg2AiQgBSAMNwIoIAUgDjcCMCAFIAk2AjggBSAPNwI8IAUgEDcCRCAFIAo2AkwjAiMCKAIAQdAAajYCAEIAC8YGAgR/BH4jAUECRgRAIwIjAigCAEE0azYCACMCKAIAIgQoAgAhACAEKAIMIQIgBCgCECEDIAQoAhQhBSAEKQIYIQggBCgCICEGIAQpAiQhCSAEKQIsIQogBCkCBCEBCwJ/IwFBAkYEQCMCIwIoAgBBBGs2AgAjAigCACgCACEHCyMBRQRAIwBBIGsiBSQAIAVBEGohBgsjAUUgB0VyBEAgACABECVBACMBQQFGDQEaIQkLIwFFIAdBAUZyBEAgACAGIAkQPkEBIwFBAUYNARohBgsCfgJAAkACQCMBRQRAIAYNASAFKQMQIghCAFcNAiAFIAhCAX0iATcDCCACQQJOIQILIAIjAUECRnIEQCMBRQRAIAMpAwghCiAFQQhqIQILIwFFIAdBAkZyBEAgACACIApCfyABIAgQdkECIwFBAUYNBhohAgsjAQR+IAEFIAINAiAFKQMICyEBCwNAIwFFBEAgAUIAUw0DIAVBGGohAgsjAUUgB0EDRnIEQCAAIAkgASACEIcBQQMjAUEBRg0GGiECCyMBRSACQQBIcQ0BIAIjAUECRnIEQCMBRQRAIAMpAwAiCEKAgICA0H5aIgIEQCAIpyICKAIAQQFqIQYgAiAGNgIACyAFKQMYIQoLIwFFIAdBBEZyBEAgACAIIApBABC9AUEEIwFBAUYNBxohAgsjAUEBIAIbRQ0ECyMBRQRAIAFCAX0hAQwBCwsLIwFFIAdBBUZyBEAgACAJEBBBBSMBQQFGDQQaC0KAgICA4AAjAUUNAhoLIAFCfyMBGyEBCyMBRSAHQQZGcgRAIAAgCRAQQQYjAUEBRg0CGgsjAQR+IAgFIAFC/////w+DIAFCgICAgAh8Qv////8PWA0BGkKAgICAwH4gAbm9IgFCgICAgMCBgPz/AH0gAUL///////////8Ag0KAgICAgICA+P8AVhsLCyEIIwFFBEAgBUEgaiQAIAgPCwALIQQjAigCACAENgIAIwIjAigCAEEEajYCACMCKAIAIgQgADYCACAEIAE3AgQgBCACNgIMIAQgAzYCECAEIAU2AhQgBCAINwIYIAQgBjYCICAEIAk3AiQgBCAKNwIsIwIjAigCAEE0ajYCAEIAC+sIAgR/B34jAUECRgRAIwIjAigCAEHMAGs2AgAjAigCACIEKAIAIQAgBCgCDCECIAQoAhAhAyAEKAIUIQUgBCgCGCEGIAQpAhwhCCAEKQIkIQkgBCkCLCELIAQpAjQhCiAEKQI8IQwgBCkCRCENIAQpAgQhAQsCfyMBQQJGBEAjAiMCKAIAQQRrNgIAIwIoAgAoAgAhBwsjAUUEQCMAQSBrIgYkACAGQRBqIQULIwFFIAdFcgRAIAAgARAlQQAjAUEBRg0BGiEKCyMBRSAHQQFGcgRAIAAgBSAKED5BASMBQQFGDQEaIQULAn4CQCMBRQRAIAUNAUJ/IQsgBikDECIIQgBXIQULAkAjAUUEQCAFDQEgBkIANwMIIAJBAk4hAkIAIQELIAIjAUECRnIEQCMBRQRAIAZBCGohAiADKQMIIQELIwFFIAdBAkZyBEAgACACIAFCACAIIAgQdkECIwFBAUYNBRohAgsjAQR+IAEFIAINAyAGKQMICyEBCyMBRQRAIAogBkEEaiAGEIwCRSECCwJAAkAjAUUEQCACDQEgBjUCACIJIAFTIQIgASAJIAIbIQ0gBigCBCECCwNAIwFFBEAgASANUQ0CIAMpAwAiCUKAgICA0H5aBEAgCaciBSgCAEEBaiEEIAUgBDYCAAsgAadBA3QgAmopAwAiDEKAgICA0H5aIgUEQCAMpyIFKAIAQQFqIQQgBSAENgIACwsjAUUgB0EDRnIEQCAAIAkgDEEAEL0BQQMjAUEBRg0HGiEFCyMBRQRAIAUNAyABQgF8IQEMAQsLCyMBRQRAIAEgCCABIAhVIgIbIQkLA0AjAUUEQCABIAlRDQMgBkEYaiECCyMBRSAHQQRGcgRAIAAgCiABIAIQhwFBBCMBQQFGDQYaIQILIwFFIAJBAEhxDQMgAiMBQQJGcgRAIwFFBEAgAykDACIIQoCAgIDQfloiAgRAIAinIgIoAgBBAWohBSACIAU2AgALIAYpAxghDAsjAUUgB0EFRnIEQCAAIAggDEEAEL0BQQUjAUEBRg0HGiECCyMBQQEgAhtFDQILIwFFBEAgAUIBfCEBDAELCwsgCyABIwEbIQsLIwFFIAdBBkZyBEAgACAKEBBBBiMBQQFGDQMaCyMBRQRAIAtC/////w+DIAtCgICAgAh8Qv////8PWA0CGkKAgICAwH4gC7m9IgFCgICAgMCBgPz/AH0gAUL///////////8Ag0KAgICAgICA+P8AVhsMAgsLIwFFIAdBB0ZyBEAgACAKEBBBByMBQQFGDQIaCyABQoCAgIDgACMBGwshASMBRQRAIAZBIGokACABDwsACyEEIwIoAgAgBDYCACMCIwIoAgBBBGo2AgAjAigCACIEIAA2AgAgBCABNwIEIAQgAjYCDCAEIAM2AhAgBCAFNgIUIAQgBjYCGCAEIAg3AhwgBCAJNwIkIAQgCzcCLCAEIAo3AjQgBCAMNwI8IAQgDTcCRCMCIwIoAgBBzABqNgIAQgAL4wkCBX8JfiMBQQJGBEAjAiMCKAIAQeQAazYCACMCKAIAIgUoAgAhACAFKAIMIQIgBSgCECEDIAUoAhQhBCAFKQIYIQogBSkCICELIAUoAighCCAFKQIsIQwgBSgCNCEHIAUpAjghDSAFKQJAIQ4gBSkCSCEPIAUpAlAhESAFKQJYIRIgBSgCYCEJIAUpAgQhAQsCfyMBQQJGBEAjAiMCKAIAQQRrNgIAIwIoAgAoAgAhBgsjAUUEQCMAQTBrIggkAEKAgICAMCELIAhBCGohBwsjAUUgBkVyBEAgACABECVBACMBQQFGDQEaIQwLIwFFIAZBAUZyBEAgACAHIAwQPkEBIwFBAUYNARohBwsCQAJAIwFFBEAgBwRAQoCAgIAwIQoMAgsgAykDACERQoCAgIAwIQoLIwFFIAZBAkZyBEAgACAREGJBAiMBQQFGDQMaIQcLIwFFBEAgBw0BQoCAgIAwIQ4gAkECTgRAIAMpAwghDgsgCCkDCCIKQgBVIQIgCkIAIAIbIRILA0AgAiAPIBJSIwEbIgIjAUECRnIEQCMBRQRAIA8iCkKAgICACFoEQEKAgICAwH4gCrq9IgpCgICAgMCBgPz/AH0gCkKAgICAgICA+P8AVhshCgsgCkKAgICAcIMiDUKAgICA4ABRIgINAwsjAUUgBkEDRnIEQCAAIAwgChBPQQMjAUEBRg0FGiELCyMBRQRAIAtCgICAgHCDIg1CgICAgOAAUQ0DIAggATcDICAIIAo3AxggCCALNwMQIAhBEGohAgsjAUUgBkEERnIEQCAAIBEgDkEDIAIQIkEEIwFBAUYNBRohDQsjAUUEQCANQoCAgIBwg0KAgICA4ABRIgINAwsjAUUgBkEFRnIEQCAAIA0QJ0EFIwFBAUYNBRohAgsgCSACIwEbIgkjAUECRnIEQCAEIwFBAkZyBEAjAUUgBkEGRnIEQCAAIAsQEEEGIwFBAUYNBxoLIwFFIAZBB0ZyBEAgACAMEBBBByMBQQFGDQcaCyMBRQ0FCyMBRSAGQQhGcgRAIAAgChAQQQgjAUEBRg0GGgsjAUUgBkEJRnIEQCAAIAwQEEEJIwFBAUYNBhoLIwFFBEAgCyEKDAULCyAJRSMBQQJGcgRAIwFFIAZBCkZyBEAgACALEBBBCiMBQQFGDQYaCyMBRSAGQQtGcgRAIAAgChAQQQsjAUEBRg0GGgsjAUUEQCAPQgF8IQ8MAwsLCwsjAUUgBkEMRnIEQCAAIAwQEEEMIwFBAUYNAxoLIwFFBEBC/////w9CgICAgDAgBBshCgwCCwsjAUUgBkENRnIEQCAAIAoQEEENIwFBAUYNAhoLIwFFIAZBDkZyBEAgACALEBBBDiMBQQFGDQIaCyMBRSAGQQ9GcgRAIAAgDBAQQQ8jAUEBRg0CGgsgCkKAgICA4AAjARshCgsjAUUEQCAIQTBqJAAgCg8LAAshBSMCKAIAIAU2AgAjAiMCKAIAQQRqNgIAIwIoAgAiBSAANgIAIAUgATcCBCAFIAI2AgwgBSADNgIQIAUgBDYCFCAFIAo3AhggBSALNwIgIAUgCDYCKCAFIAw3AiwgBSAHNgI0IAUgDTcCOCAFIA43AkAgBSAPNwJIIAUgETcCUCAFIBI3AlggBSAJNgJgIwIjAigCAEHkAGo2AgBCAAuTBgIEfwR+IwFBAkYEQCMCIwIoAgBBNGs2AgAjAigCACIEKAIAIQAgBCgCDCECIAQoAhAhAyAEKAIUIQUgBCkCGCEIIAQoAiAhBiAEKQIkIQkgBCkCLCEKIAQpAgQhAQsCfyMBQQJGBEAjAiMCKAIAQQRrNgIAIwIoAgAoAgAhBwsjAUUEQCMAQSBrIgYkACAGQRhqIQULIwFFIAdFcgRAIAAgARAlQQAjAUEBRg0BGiEJCyMBRSAHQQFGcgRAIAAgBSAJED5BASMBQQFGDQEaIQULAkACQCMBRQRAIAUNASAGQgA3AxAgAkEBTCEFCwJAIwFFBEAgBQRAIAYpAxghCAwCCyAGKQMYIQggAykDCCIBQoCAgIBwgyIKQoCAgIAwUiEFCyAFIwFBAkZyBEAgBSAGQRBqIwEbIQUjAUUgB0ECRnIEQCAAIAUgAUIAIAggCBB2QQIjAUEBRg0FGiEFCyMBQQEgBRtFDQILIwFFBEAgBiAINwMIIAJBAkYiAg0BIAMpAxAiAUKAgICAcIMiCkKAgICAMFEiAg0BIAZBCGohAgsjAUUgB0EDRnIEQCAAIAIgAUIAIAggCBB2QQMjAUEBRg0EGiECCyMBRQRAIAINAiAGKQMIIQgLCyMBRQRAIAggBikDECIBVSECIAggASACGyEKCwNAIwFFBEAgASAKUQ0DIAMpAwAiCEKAgICA0H5aIgIEQCAIpyICKAIAQQFqIQUgAiAFNgIACwsjAUUgB0EERnIEQCAAIAkgASAIEIgBQQQjAUEBRg0EGiECCyMBRQRAIAJBAEgiAg0CIAFCAXwhAQwBCwsLIwFFIAdBBUZyBEAgACAJEBBBBSMBQQFGDQIaCyAJQoCAgIDgACMBGyEJCyMBRQRAIAZBIGokACAJDwsACyEEIwIoAgAgBDYCACMCIwIoAgBBBGo2AgAjAigCACIEIAA2AgAgBCABNwIEIAQgAjYCDCAEIAM2AhAgBCAFNgIUIAQgCDcCGCAEIAY2AiAgBCAJNwIkIAQgCjcCLCMCIwIoAgBBNGo2AgBCAAvYCgIFfwd+IwFBAkYEQCMCIwIoAgBB0ABrNgIAIwIoAgAiBCgCACEAIAQoAgwhAiAEKAIQIQMgBCkCFCEJIAQpAhwhCiAEKQIkIQsgBCgCLCEGIAQpAjAhDCAEKAI4IQcgBCkCPCENIAQoAkQhCCAEKQJIIQ8gBCkCBCEBCwJ/IwFBAkYEQCMCIwIoAgBBBGs2AgAjAigCACgCACEFCyMBRQRAIwBBEGsiByQAQoCAgIAwIQoLIwFFIAVFcgRAIAAgARAlQQAjAUEBRg0BGiENCyMBRQRAIA1CgICAgHCDIgFCgICAgOAAUSEGCwJAAkAjAUEBIAYbRQ0AIwFFIAVBAUZyBEAgACANQgAQrQJBASMBQQFGDQMaIQoLIwFFBEAgCkKAgICAcIMiAUKAgICA4ABRDQFBfyACIAJBAEgbIQhBfyEGCwJAA0AgAiAGIAhHIwEbIgIjAUECRnIEQCMBRQRAIA0hCyAGQQBOBEAgAyAGQQN0aikDACELCyALQoCAgIBwVCECCwJAAkAjAUEBIAIbRQ0AIwFFIAVBAkZyBEAgACALQdgBIAtBABAVQQIjAUEBRg0IGiEBCyMBRQRAIAFCgICAgHCDIgxCgICAgDBSIQILAkAgAiMBQQJGcgRAIwFFBEAgDEKAgICA4ABRIgINCAsjAUUgBUEDRnIEQCAAIAEQJ0EDIwFBAUYNChohAgsjAUUNAQsjAUUgBUEERnIEQCAAIAsQzAFBBCMBQQFGDQkaIQILCyMBRQRAIAJBAEgNBiACRSICDQELIwFFIAVBBUZyBEAgACAHIAsQPkEFIwFBAUYNCBohAgsjAUUEQCACDQYgBykDACIMIAl8Qv////////8PVQ0FIAxCACAMQgBVIgIbIQxCACEBCwNAIwFFBEAgASAMUSICDQMgB0EIaiECCyMBRSAFQQZGcgRAIAAgCyABIAIQhwFBBiMBQQFGDQkaIQILIwFFIAJBAEhxDQYgAiMBQQJGcgRAIwFFBEAgBykDCCEPCyMBRSAFQQdGcgRAIAAgCiAJIA8QbEEHIwFBAUYNChohAgsjAUUEQCACQQBIIgINCAsLIwFFBEAgCUIBfCEJIAFCAXwhAQwBCwsLIwFFBEAgCUL+////////D1UNBCALQoCAgIDQfloiAgRAIAunIgIoAgBBAWohBCACIAQ2AgALCyMBRSAFQQhGcgRAIAAgCiAJIAsQbEEIIwFBAUYNBxohAgsjAUUEQCACQQBIIgINBSAJQgF8IQkLCyMBRQRAIAZBAWohBgwCCwsLIwFFBEAgCUKAgICACHxC/////w9YIgIEfiAJQv////8PgwVCgICAgMB+IAm5vSIBQoCAgIDAgYD8/wB9IAFC////////////AINCgICAgICAgPj/AFYiAhsLIQELIwFFIAVBCUZyBEAgACAKQTAgARBHQQkjAUEBRg0EGiECCyMBRQRAIAJBAEgNAgwDCwsjAUUgBUEKRnIEQCAAQdfaAEEAEBZBCiMBQQFGDQMaCwsjAUUgBUELRnIEQCAAIAoQEEELIwFBAUYNAhoLIApCgICAgOAAIwEbIQoLIwFFIAVBDEZyBEAgACANEBBBDCMBQQFGDQEaCyMBRQRAIAdBEGokACAKDwsACyEEIwIoAgAgBDYCACMCIwIoAgBBBGo2AgAjAigCACIEIAA2AgAgBCABNwIEIAQgAjYCDCAEIAM2AhAgBCAJNwIUIAQgCjcCHCAEIAs3AiQgBCAGNgIsIAQgDDcCMCAEIAc2AjggBCANNwI8IAQgCDYCRCAEIA83AkgjAiMCKAIAQdAAajYCAEIAC/kFAgR/BX4jAUECRgRAIwIjAigCAEE8azYCACMCKAIAIgQoAgAhACAEKAIMIQIgBCgCECEDIAQoAhQhBSAEKQIYIQggBCgCICEHIAQpAiQhCSAEKQIsIQogBCkCNCELIAQpAgQhAQsCfyMBQQJGBEAjAiMCKAIAQQRrNgIAIwIoAgAoAgAhBgsjAUUEQCMAQRBrIgckACABQoCAgIBwVCEFQoCAgIDgACEJCwJAAkAjAUUEQCAFDQEgAactAAVBEHFFIgUNASAHIAKtIgg3AwggB0EIaiEFCyMBRSAGRXIEQCAAIAFBASAFEKgBQQAjAUEBRg0DGiEICyMBRQ0BCyMBRSAGQQFGcgRAIAAQQEEBIwFBAUYNAhohCAsLIwFFBEAgCEKAgICAcIMiAUKAgICA4ABRIQULAkAjAUUEQCAFDQEgAkEAIAJBAEobIgWtIQtCACEBCwJAA0AgBSABIAtSIwEbIgUjAUECRnIEQCMBRQRAIAGnQQN0IANqKQMAIgpCgICAgNB+WiIFBEAgCqciBSgCAEEBaiEEIAUgBDYCAAsLIwFFIAZBAkZyBEAgACAIIAEgCkGAgAEQ1AFBAiMBQQFGDQUaIQULIwFFBEAgAUIBfCEBIAVBAE4iBQ0CDAMLCwsjAUUEQCACQQBOBH4gAq0FQoCAgIDAfiACuL0iAUKAgICAwIGA/P8AfSABQoCAgICAgID4/wBWIgIbCyEBCyMBRSAGQQNGcgRAIAAgCEEwIAEQR0EDIwFBAUYNAxohAgsjAUUEQCACQQBIDQEgCCEJDAILCyMBRSAGQQRGcgRAIAAgCBAQQQQjAUEBRg0CGgsLIwFFBEAgB0EQaiQAIAkPCwALIQQjAigCACAENgIAIwIjAigCAEEEajYCACMCKAIAIgQgADYCACAEIAE3AgQgBCACNgIMIAQgAzYCECAEIAU2AhQgBCAINwIYIAQgBzYCICAEIAk3AiQgBCAKNwIsIAQgCzcCNCMCIwIoAgBBPGo2AgBCAAv1EgIFfwl+IwFBAkYEQCMCIwIoAgBB3ABrNgIAIwIoAgAiBCgCACEAIAQoAgwhAiAEKAIQIQMgBCkCFCEJIAQpAhwhCiAEKQIkIQsgBCgCLCEGIAQpAjAhDSAEKQI4IQ4gBCkCQCEPIAQoAkghByAEKQJMIRAgBCkCVCERIAQpAgQhAQsCfyMBQQJGBEAjAiMCKAIAQQRrNgIAIwIoAgAoAgAhBQsjAUUEQCMAQTBrIgYkACADKQMAIQogBkKAgICAMDcDGCACQQJIIQhBASEHCwJAAkAgEQJ+IwFFBEAgCARAQoCAgIAwIRBCgICAgDAMAgtCgICAgDAgAykDCCIQQoCAgIBwg0KAgICAMFENARpCgICAgDAhDkKAgICAMCENQoCAgIAwIQ9CgICAgDAhCQsjAUUgBUVyBEAgACAQEGJBACMBQQFGDQQaIQcLIwEEfiAJBSAHDQJBACEHQoCAgIAwIAJBAkYiAg0BGiADKQMQCwsiCSMBGyERIwFFIAVBAUZyBEAgACAKQdEBIApBABAVQQEjAUEBRg0DGiELCyMBRQRAIAtCgICAgHCDIglCgICAgDBSIQILAkACQAJAAkAgAiMBQQJGcgRAAkACQCMBQQEgAiAJQoCAgIDgAFEjARsiAhtFBEBCgICAgDAhDkKAgICAMCENQoCAgIAwIQkMAQsjAUUgBUECRnIEQCAAIAsQEEECIwFBAUYNChoLIAIgAUKAgICAcFQjARshAgJAAkAjAUUEQCACDQEgAactAAVBEHFFIgINAQsjAUUgBUEDRnIEQCAAIAFBAEEAEKgBQQMjAUEBRg0MGiEJCyMBRQ0BCyMBRSAFQQRGcgRAIAAQQEEEIwFBAUYNCxohCQsLIwFFBEAgCUKAgICAcIMiAUKAgICA4ABRIgIEQEKAgICAMCEOQoCAgIAwIQ0MAgsgCkKAgICA0H5aBEAgCqciAigCAEEBaiEDIAIgAzYCAAsgBiAKNwMQIAZBEGpBCHIhAgsjAUUgBUEFRnIEQCAAIAJBABCXA0EFIwFBAUYNChohAgsjAUUEQCAGKQMYIQ4gBikDECENIAJFIgINAgsLIwFFBEBCgICAgDAhDwwHCwsgC0IAIwEbIQsDQCACIAZBCGojARshAiMBRSAFQQZGcgRAIAAgDSAOIAIQrwFBBiMBQQFGDQkaIQoLIwFFBEAgCkKAgICAcIMiAUKAgICA4ABRIgINAyAGKAIIIgIEQEKAgICAMCEPDAcLCwJAIwFFBEAgBwRAIAohAQwCCyAGIAo3AyAgBiALQv////8PgyIBNwMoIAZBIGohAgsjAUUgBUEHRnIEQCAAIBAgEUECIAIQIkEHIwFBAUYNChohAQsjAUUgBUEIRnIEQCAAIAoQEEEIIwFBAUYNChoLIwFFBEAgAUKAgICAcIMiCkKAgICA4ABRIgINBAsLIwFFIAVBCUZyBEAgACAJIAsgARBsQQkjAUEBRg0JGiECCyMBRQRAIAJBAEgiAg0DIAtCAXwhCwwBCwsLIwFFIAVBCkZyBEAgACAKECVBCiMBQQFGDQcaIQ8LIwFFBEAgD0KAgICAcIMiCUKAgICA4ABRIgINAyAGQQhqIQILIwFFIAVBC0ZyBEAgACACIA8QPkELIwFBAUYNBxohAgsjAUUEQCACQQBIIgINAyAGAn4gBikDCCIKQoCAgIAIfCIJQv////8PWARAIApC/////w+DDAELQoCAgIDAfiAKub0iC0KAgICAwIGA/P8AfSIJIAtC////////////AINCgICAgICAgPj/AFYbCyILNwMgIAFCgICAgHBUIQILAkACQCMBRQRAIAINASABpy0ABUEQcUUiAg0BIAZBIGohAgsjAUUgBUEMRnIEQCAAIAFBASACEKgBQQwjAUEBRg0JGiEJCyMBRQ0BCyACIAZBIGojARshAiMBRSAFQQ1GcgRAIABCgICAgDBBASACEKkDQQ0jAUEBRg0IGiEJCwsjAUUgBUEORnIEQCAAIAsQEEEOIwFBAUYNBxoLIwFFBEAgCUKAgICAcIMiAUKAgICA4ABRIgIEQEKAgICAMCEODAMLIApCACAKQgBVIgIbIQ1CACELCwNAIwFFBEAgCyANUSICBEBCgICAgDAhDkKAgICAMCENDAYLQoCAgIAwIQ4LIwFFIAVBD0ZyBEAgACAPIAsQdUEPIwFBAUYNCBohCgsjAUUEQCAKQoCAgIBwgyIBQoCAgIDgAFEiAg0DCwJAIwFFBEAgBwRAIAohAQwCCyAGIAo3AyAgBiALQv////8PgyIBNwMoIAZBIGohAgsjAUUgBUEQRnIEQCAAIBAgEUECIAIQIkEQIwFBAUYNCRohAQsjAUUgBUERRnIEQCAAIAoQEEERIwFBAUYNCRoLIwFFBEAgAUKAgICAcIMiCkKAgICA4ABRIgINBAsLIwFFIAVBEkZyBEAgACAJIAsgARBsQRIjAUEBRg0IGiECCyMBRQRAIAJBAEgiAg0DIAtCAXwhCwwBCwsLIwFFBEBCgICAgDAhDyANQoCAgIBwgyIBQoCAgIAwUSICDQQLIwFFIAVBE0ZyBEAgACANQQEQrgFBEyMBQQFGDQYaIQILIwFFDQMLIwFFBEBCgICAgDAhDQwDCwsjAUUEQEKAgICAMCEOQoCAgIAwIQ1CgICAgDAhCQwCCwsjAUUEQCALpyICQQBOBH4gC0L/////B4MFQoCAgIDAfiACuL0iAUKAgICAwIGA/P8AfSABQoCAgICAgID4/wBWIgIbCyEBCyMBRSAFQRRGcgRAIAAgCUEwIAEQR0EUIwFBAUYNAxohAgsjAUUgAkEATnENAQsjAUUgBUEVRnIEQCAAIAkQEEEVIwFBAUYNAhoLIAlCgICAgOAAIwEbIQkLIwFFIAVBFkZyBEAgACAPEBBBFiMBQQFGDQEaCyMBRSAFQRdGcgRAIAAgDRAQQRcjAUEBRg0BGgsjAUUgBUEYRnIEQCAAIA4QEEEYIwFBAUYNARoLIwFFBEAgBkEwaiQAIAkPCwALIQQjAigCACAENgIAIwIjAigCAEEEajYCACMCKAIAIgQgADYCACAEIAE3AgQgBCACNgIMIAQgAzYCECAEIAk3AhQgBCAKNwIcIAQgCzcCJCAEIAY2AiwgBCANNwIwIAQgDjcCOCAEIA83AkAgBCAHNgJIIAQgEDcCTCAEIBE3AlQjAiMCKAIAQdwAajYCAEIAC/sBAQJ/IwFBAkYEQCMCIwIoAgBBDGs2AgAjAigCACIFKAIAIQAgBSkCBCEBCwJ/IwFBAkYEQCMCIwIoAgBBBGs2AgAjAigCACgCACEECyMBRQRAIAEQoQMiAkUhAwsCfiMBRQRAAkAgAw0AIAItABBBAXENAEKAgICAMCIBIAItABFBAXENAhoLCyMBRSAERXIEQCAAQbI0QQAQFkEAIwFBAUYNAhoLIAFCgICAgOAAIwEbCyEBIwFFBEAgAQ8LAAshAiMCKAIAIAI2AgAjAiMCKAIAQQRqNgIAIwIoAgAiAiAANgIAIAIgATcCBCMCIwIoAgBBDGo2AgBCAAvVAQEBfyMBQQJGBEAjAiMCKAIAQQxrNgIAIwIoAgAiAigCACEAIAIpAgQhAQsCfyMBQQJGBEAjAiMCKAIAQQRrNgIAIwIoAgAoAgAhBAsjAUUEQCADKQMAIQELIwFFIARFcgRAIAAgARDMAUEAIwFBAUYNARohAAsjAUUEQEKAgICA4AAgAEEAR61CgICAgBCEIABBAEgbDwsACyECIwIoAgAgAjYCACMCIwIoAgBBBGo2AgAjAigCACICIAA2AgAgAiABNwIEIwIjAigCAEEMajYCAEIAC3wAIwBBEGsiACQAIAAQnQQCfiAANAIIIAApAwBCwIQ9fnwiAUKAgICACHxC/////w9YBEAgAUL/////D4MMAQtCgICAgMB+IAG5vSIBQoCAgIDAgYD8/wB9IAFC////////////AINCgICAgICAgPj/AFYbCyAAQRBqJAALmQYCCX8BfiMBQQJGBEAjAiMCKAIAQTBrNgIAIwIoAgAiBCgCACEAIAQoAgwhAiAEKAIQIQMgBCgCFCEFIAQoAhghBiAEKAIcIQcgBCgCICEIIAQoAiQhCiAEKAIoIQsgBCgCLCEMIAQpAgQhAQsCfyMBQQJGBEAjAiMCKAIAQQRrNgIAIwIoAgAoAgAhCQsjAUUEQCMAIgJBIGsiBiQAIAMpAwAhAQsjAUUgCUVyBEAgACABEClBACMBQQFGDQEaIQELIAIgAUKAgICAcINCgICAgOAAUiMBGyICIwFBAkZyBEAgAiAGQQhqIwEbIQIjAUUgCUEBRnIEQCAAIAJBABA/QQEjAUEBRg0CGiECCyMBRQRAIAGnIgdBEGohCCAHKAIEIgJB/////wdxIgpBA2shCyAKQQZrIQxBACEDCwNAIAIgAyAKSCMBGyICIwFBAkZyBEAjAUUEQAJAAn8gBygCBEEATiIFRQRAIAggA0EBdGovAQAMAQsgAyAIai0AAAsiAkElRw0AAkAgAyAMSg0AIANBAWohAgJ/IAVFBEAgCCACQQF0ai8BAAwBCyACIAhqLQAAC0H1AEcNACAHIANBAmpBBBC5BCICQQBIDQAgA0EFaiEDDAELQSUhAiADIAtKDQAgByADQQFqQQIQuQQiAkEATiEFIAJBJSAFGyECIANBAmogAyAFGyEDCyAGQQhqIQULIwFFIAlBAkZyBEAgBSACEI0BQQIjAUEBRg0EGiECCyMBRQRAIANBAWohAwwCCwsLIwFFIAlBA0ZyBEAgACABEBBBAyMBQQFGDQIaCyAAIAZBCGojARshACMBRSAJQQRGcgR+IAAQOEEEIwFBAUYNAhoFIAELIQELIwFFBEAgBkEgaiQAIAEPCwALIQQjAigCACAENgIAIwIjAigCAEEEajYCACMCKAIAIgQgADYCACAEIAE3AgQgBCACNgIMIAQgAzYCECAEIAU2AhQgBCAGNgIYIAQgBzYCHCAEIAg2AiAgBCAKNgIkIAQgCzYCKCAEIAw2AiwjAiMCKAIAQTBqNgIAQgALxgUCB38BfiMBQQJGBEAjAiMCKAIAQShrNgIAIwIoAgAiBCgCACEAIAQoAgwhAiAEKAIQIQMgBCgCFCEFIAQoAhghBiAEKAIcIQggBCgCICEJIAQoAiQhCiAEKQIEIQELAn8jAUECRgRAIwIjAigCAEEEazYCACMCKAIAKAIAIQcLIwFFBEAjAEEgayICJAAgAykDACEBCyMBRSAHRXIEQCAAIAEQKUEAIwFBAUYNARohAQsgAyABQoCAgIBwg0KAgICA4ABSIwEbIgMjAUECRnIEQCMBRQRAIAGnIggoAgRB/////wdxIQUgAkEIaiEDCyMBRSAHQQFGcgRAIAAgAyAFED9BASMBQQFGDQIaIQMLIwFFBEAgCEEQaiEJIAgoAgRB/////wdxIQpBACEDCwNAIAUgAyAKRyMBGyIFIwFBAkZyBEAjAUUEQCAIKAIEQQBOIQULAkACQCMBRQRAAkAgBQRAIAMgCWotAAAhBQwBCyAJIANBAXRqLwEAIgVB/wFLIgYNAgtBoOEBIAVBxQAQ/QFFIgYNASACQQhqIQYLIwFFIAdBAkZyBEAgBiAFEI0BQQIjAUEBRg0GGiEFCyMBRQ0BCyAGIAJBCGojARshBiMBRSAHQQNGcgRAIAYgBRCcAkEDIwFBAUYNBRoLCyMBRQRAIANBAWohAwwCCwsLIwFFIAdBBEZyBEAgACABEBBBBCMBQQFGDQIaCyAAIAJBCGojARshACMBRSAHQQVGcgR+IAAQOEEFIwFBAUYNAhoFIAELIQELIwFFBEAgAkEgaiQAIAEPCwALIQQjAigCACAENgIAIwIjAigCAEEEajYCACMCKAIAIgQgADYCACAEIAE3AgQgBCACNgIMIAQgAzYCECAEIAU2AhQgBCAGNgIYIAQgCDYCHCAEIAk2AiAgBCAKNgIkIwIjAigCAEEoajYCAEIAC/4KAgp/AX4jAUECRgRAIwIjAigCAEE4azYCACMCKAIAIgUoAgAhACAFKAIMIQIgBSgCECEDIAUoAhQhBCAFKAIYIQYgBSgCHCEHIAUoAiAhCSAFKAIkIQogBSgCKCELIAUoAiwhDCAFKAIwIQ0gBSgCNCEOIAUpAgQhAQsCfyMBQQJGBEAjAiMCKAIAQQRrNgIAIwIoAgAoAgAhCAsjAUUEQCMAIgJBIGsiCSQAIAMpAwAhAQsjAUUgCEVyBEAgACABEClBACMBQQFGDQEaIQELIAIgAUKAgICAcINCgICAgOAAUSMBGyECAkAjAUUEQCACDQEgAaciDSgCBEH/////B3EhAyAJQQhqIQILIwFFIAhBAUZyBEAgACACIAMQP0EBIwFBAUYNAhohAgsjAUUEQCANQRBqIQtBACECCwJAA0AjAUUEQCANKAIEIgdB/////wdxIg4gAkohAwsgAyMBQQJGcgRAIwFFBEAgAkEBaiEGIAdBAE4hAwsCQCMBRQRAAkAgAwRAIAIgC2otAAAhAwwBCyALIAJBAXRqLwEAIgNB/wFLIgoNAgsCQCADQd//A3FBwQBrQRpJIgwgA0Ewa0EKSXIiCg0AQayUASADQQkQ/QEiCg0AIAQNAiADELEGRSIKDQILIAlBCGohAgsjAUUgCEECRnIEQCACIAMQjQFBAiMBQQFGDQYaIQILIwFFBEAgBiECDAMLCyMBRQRAIANBgPgDcSIKQYCwA0chDAsCfwJ/AkAjAUUEQCAMBEAgCkGAuANHIgINAkG/wwAhCgwHC0HkwAAhCiAGIA5OIg4NBgJ/IAdBAEgEQCALIAZBAXRqLwEADAELIAYgC2otAAALIgdBgMADa0GAeEkNBiADQQp0QYD4P3EgB0H/B3FyQYCABGoiA0ESdkHwAXIhByAJQQhqIQYLIwFFIAhBA0ZyBEAgBiAHEJwCQQMjAUEBRg0IGgsjAUUEQCADQQx2QT9xIgZBgAFyIQcgAkECagwCCwsgAiADQf8ATSMBGyICIwFBAkZyBEAgAiAJQQhqIwEbIQIjAUUgCEEERnIEQCACIAMQnAJBBCMBQQFGDQgaCyMBRQRAIAYhAgwFCwsjAQR/IAIFIANB/w9NBEAgBiECIANBBnYiBkHAAXIMAwsgA0EMdkHgAXIhByAGCwshAiAGIAlBCGojARshBiMBRSAIQQVGcgRAIAYgBxCcAkEFIwFBAUYNBhoLIwEEfyAHBSADQQZ2QT9xIgZBgAFyCwshByAGIAlBCGojARshBiMBRSAIQQZGcgRAIAYgBxCcAkEGIwFBAUYNBRoLIAMgA0E/cUGAAXIjARshAyMBRSAIQQdGcgRAIAYgAxCcAkEHIwFBAUYNBRoLIwFFDQELCyMBRSAIQQhGcgRAIAAgARAQQQgjAUEBRg0DGgsgACAJQQhqIwEbIQAjAUUgCEEJRnIEQCAAEDhBCSMBQQFGDQMaIQELIwFFDQELIwFFIAhBCkZyBEAgACAKELoEQQojAUEBRg0CGgsjAUUgCEELRnIEQCAAIAEQEEELIwFBAUYNAhoLIwFFBEAgCSgCCCgCECIAQRBqIQIgCSgCDCEDIAAoAgQhAAsjAUUgCEEMRnIEQCACIAMgABEAAEEMIwFBAUYNAhoLIAFCgICAgOAAIwEbIQELIwFFBEAgCUEgaiQAIAEPCwALIQUjAigCACAFNgIAIwIjAigCAEEEajYCACMCKAIAIgUgADYCACAFIAE3AgQgBSACNgIMIAUgAzYCECAFIAQ2AhQgBSAGNgIYIAUgBzYCHCAFIAk2AiAgBSAKNgIkIAUgCzYCKCAFIAw2AiwgBSANNgIwIAUgDjYCNCMCIwIoAgBBOGo2AgBCAAukCQIIfwF+IwFBAkYEQCMCIwIoAgBBMGs2AgAjAigCACIFKAIAIQAgBSgCDCECIAUoAhAhAyAFKAIUIQQgBSgCGCEGIAUoAhwhCCAFKAIgIQkgBSgCJCEKIAUoAighCyAFKAIsIQwgBSkCBCEBCwJ/IwFBAkYEQCMCIwIoAgBBBGs2AgAjAigCACgCACEHCyMBRQRAIwAiAkEgayIJJAAgAykDACEBCyMBRSAHRXIEQCAAIAEQKUEAIwFBAUYNARohAQsgAiABQoCAgIBwg0KAgICA4ABRIwEbIQICQCMBRQRAIAINASAJQQhqIQILIwFFIAdBAUZyBEAgACACQQAQP0EBIwFBAUYNAhohAgsjAUUEQCABpyILQRBqIQxBACECCwNAIwFFBEAgCygCBCIDQf////8HcSACSiEGCwJAAkACQCAGIwFBAkZyBEAjAUUEQAJ/IANBAEgEQCAMIAJBAXRqLwEADAELIAIgDGotAAALIgNBJUYhBgsgBiMBQQJGcgRAIwFFIAdBAkZyBEAgACALIAIQsgZBAiMBQQFGDQgaIQMLIwFFBEAgA0EASCIGDQQgAkEDaiEGIANB/wBNIggEQCAEBEAgBiECDAcLQSUgAyADELEGIggbIQMgAkEBaiAGIAgbIQIMBgsCfyADQeD///8HcUHAAUYEQCADQR9xIQNBgAEhCEEBDAELIANB8P///wdxQeABRgRAIANBD3EhA0GAECEIQQIMAQsgA0H4////B3FB8AFHBEBBASEIQQAhA0EADAELIANBB3EhA0GAgAQhCEEDCyECCwNAIwFFBEAgAkEATCIKDQQLIwFFIAdBA0ZyBEAgACALIAYQsgZBAyMBQQFGDQkaIQoLIwFFBEAgCkEASA0FIAZBA2ohBiAKQcABcUGAAUcEQEEAIQMMBQUgAkEBayECIApBP3EiCiADQQZ0ciEDDAILAAsLCyMBRQRAIAJBAWohAgwECwsjAUUgB0EERnIEQCAAIAEQEEEEIwFBAUYNBhoLIAAgCUEIaiMBGyEAIwFFIAdBBUZyBEAgABA4QQUjAUEBRg0GGiEBCyMBRQ0ECyMBRQRAIAYhAiADIAhIIANB///DAEpyRSADQYBwcUGAsANHIghxIgYNAgsjAUUgB0EGRnIEQCAAQdCJARC6BEEGIwFBAUYNBRoLCyMBRSAHQQdGcgRAIAAgARAQQQcjAUEBRg0EGgsjAUUEQCAJKAIIKAIQIgBBEGohAiAJKAIMIQMgACgCBCEACyMBRSAHQQhGcgRAIAIgAyAAEQAAQQgjAUEBRg0EGgsjAUUEQEKAgICA4AAhAQwDCwsgBiAJQQhqIwEbIQYjAUUgB0EJRnIEQCAGIAMQugFBCSMBQQFGDQMaIQMLIwFFDQALCyMBRQRAIAlBIGokACABDwsACyEFIwIoAgAgBTYCACMCIwIoAgBBBGo2AgAjAigCACIFIAA2AgAgBSABNwIEIAUgAjYCDCAFIAM2AhAgBSAENgIUIAUgBjYCGCAFIAg2AhwgBSAJNgIgIAUgCjYCJCAFIAs2AiggBSAMNgIsIwIjAigCAEEwajYCAEIAC7oCAgJ/AX4jAUECRgRAIwIjAigCAEEUazYCACMCKAIAIgMoAgAhACADKQIEIQEgAygCDCECIAMoAhAhAwsCfyMBQQJGBEAjAiMCKAIAQQRrNgIAIwIoAgAoAgAhBQsjAUUEQCADKQMAIQELIwFFIAVFcgRAIAAgARC0AUEAIwFBAUYNARohAgsjAUUEQCACRQRAQoCAgIDgAA8LIAIQgwIgAmohAwsjAUUgBUEBRnIEQCAAIANBAEEKQQAQugJBASMBQQFGDQEaIQELIwFFIAVBAkZyBEAgACACEFdBAiMBQQFGDQEaCyMBRQRAIAEPCwALIQQjAigCACAENgIAIwIjAigCAEEEajYCACMCKAIAIgQgADYCACAEIAE3AgQgBCACNgIMIAQgAzYCECMCIwIoAgBBFGo2AgBCAAvcAwIEfwF+IwFBAkYEQCMCIwIoAgBBHGs2AgAjAigCACIEKAIAIQAgBCgCDCECIAQoAhAhAyAEKAIUIQUgBCgCGCEGIAQpAgQhAQsCfyMBQQJGBEAjAiMCKAIAQQRrNgIAIwIoAgAoAgAhBwsjAUUEQCMAQRBrIgIkACADKQMAIQELIwFFIAdFcgRAIAAgARC0AUEAIwFBAUYNARohBgsgBSAGRSMBGyEFAkAjAUUEQCAFBEBCgICAgOAAIQEMAgsgAkEMaiEFIAMpAwghAQsjAUUgB0EBRnIEQCAAIAUgARB5QQEjAUEBRg0CGiEDCyABQoCAgIDgACMBGyEBAkAjAUUEQCADDQFCgICAgMB+IQEgAigCDCIDRSADQSVrQV1PckUNASAGEIMCIAZqIQULIwFFIAdBAkZyBEAgACAFQQAgA0GBCBC6AkECIwFBAUYNAxohAQsLIwFFIAdBA0ZyBEAgACAGEFdBAyMBQQFGDQIaCwsjAUUEQCACQRBqJAAgAQ8LAAshBCMCKAIAIAQ2AgAjAiMCKAIAQQRqNgIAIwIoAgAiBCAANgIAIAQgATcCBCAEIAI2AgwgBCADNgIQIAQgBTYCFCAEIAY2AhgjAiMCKAIAQRxqNgIAQgALsQECAX4BfyMBQQJGBEAjAiMCKAIAQQxrNgIAIwIoAgAiAigCACEAIAIpAgQhAQsCfyMBRSMBQQJGBH8jAiMCKAIAQQRrNgIAIwIoAgAoAgAFIAULRXIEQCAAIAEQ3QJBACMBQQFGDQEaIQELIwFFBEAgAQ8LAAshAiMCKAIAIAI2AgAjAiMCKAIAQQRqNgIAIwIoAgAiAiAANgIAIAIgATcCBCMCIwIoAgBBDGo2AgBCAAvCBAMDfwJ+AXwjAUECRgRAIwIjAigCAEEsazYCACMCKAIAIgUoAgAhACAFKAIMIQIgBSgCECEDIAUoAhQhBCAFKAIYIQYgBSkCHCEIIAUrAiQhCiAFKQIEIQELAn8jAUECRgRAIwIjAigCAEEEazYCACMCKAIAKAIAIQcLIwFFBEAjAEEQayICJAALIwFFIAdFcgRAIAAgARDdAkEAIwFBAUYNARohCAsjAUUEQCAIQoCAgIBwgyIBQoCAgIDgAFEhBgsCQCMBRQRAIAYEQCAIIQEMAgtBCiEGCwJAAkAjAUUEQCAEDQEgAykDACIBQoCAgIBwg0KAgICAMFEiAw0BCyMBRSAHQQFGcgRAIAAgARCPBUEBIwFBAUYNBBohBgsjAUUEQCAGQQBIIgMNAgsLIAMgAkEIaiMBGyEDIwFFIAdBAkZyBEAgACADIAgQcEECIwFBAUYNAxohAwsjAUUEQEKAgICA4AAhASADDQIgAisDCCEKCyMBRSAHQQNGcgRAIAAgCiAGQQBBABCRAkEDIwFBAUYNAxohAQsjAUUNAQsjAUUgB0EERnIEQCAAIAgQEEEEIwFBAUYNAhoLIAFCgICAgOAAIwEbIQELIwFFBEAgAkEQaiQAIAEPCwALIQUjAigCACAFNgIAIwIjAigCAEEEajYCACMCKAIAIgUgADYCACAFIAE3AgQgBSACNgIMIAUgAzYCECAFIAQ2AhQgBSAGNgIYIAUgCDcCHCAFIAo5AiQjAiMCKAIAQSxqNgIAQgALtwUDA38CfgF8IwFBAkYEQCMCIwIoAgBBKGs2AgAjAigCACIEKAIAIQAgBCgCDCECIAQoAhAhAyAEKQIUIQcgBCsCHCEJIAQoAiQhBSAEKQIEIQELAn8jAUECRgRAIwIjAigCAEEEazYCACMCKAIAKAIAIQYLIwFFBEAjAEEQayICJABCgICAgOAAIQcLIwFFIAZFcgRAIAAgARDdAkEAIwFBAUYNARohAQsCQCMBQQEgBSABQoCAgIBwg0KAgICA4ABRIwEbIgUbRQRAIAEhBwwBCyMBRSAGQQFGcgRAIAAgAiABEHBBASMBQQFGDQIaIQULIwFFBEAgBQ0BIAMpAwAiAUKAgICAcINCgICAgDBRIQMLAkACQCMBRQRAIAMEQCACKwMAIQkMAgsgAkEMaiEDCyMBRSAGQQJGcgRAIAAgAyABELsBQQIjAUEBRg0EGiEDCyMBRQRAIAMNAyACKwMAIgm9Qv///////////wCDIgFCgICAgICAgPj/AFQiAw0CCwsjAUUEQEKAgICAwH4gCb1CgICAgMCBgPz/AH0gCZkiCb0iB0KAgICAgICA+P8AViIDGyEBCyMBRSAGQQNGcgRAIAAgARA5QQMjAUEBRg0DGiEHCyMBRQ0BCyMBBH8gBQUgAigCDCIDQeUAa0Gbf00LIwFBAkZyBEAjAUUgBkEERnIEQCAAQYo0QQAQUkEEIwFBAUYNAxoLIwFFDQELIwFFIAZBBUZyBEAgACAJQQogA0EBEJECQQUjAUEBRg0CGiEHCwsjAUUEQCACQRBqJAAgBw8LAAshBCMCKAIAIAQ2AgAjAiMCKAIAQQRqNgIAIwIoAgAiBCAANgIAIAQgATcCBCAEIAI2AgwgBCADNgIQIAQgBzcCFCAEIAk5AhwgBCAFNgIkIwIjAigCAEEoajYCAEIAC48FAwN/An4CfCMBQQJGBEAjAiMCKAIAQTBrNgIAIwIoAgAiBCgCACEAIAQoAgwhAiAEKAIQIQMgBCgCFCEFIAQpAhghByAEKwIgIQkgBCsCKCEKIAQpAgQhAQsCfyMBQQJGBEAjAiMCKAIAQQRrNgIAIwIoAgAoAgAhBgsjAUUEQCMAQRBrIgIkAEKAgICA4AAhBwsjAUUgBkVyBEAgACABEN0CQQAjAUEBRg0BGiEBCwJAIwFBASAFIAFCgICAgHCDQoCAgIDgAFEjARsiBRtFBEAgASEHDAELIwFFIAZBAUZyBEAgACACIAEQcEEBIwFBAUYNAhohBQsjAUUEQCAFDQEgAkEMaiEFIAMpAwAhAQsjAUUgBkECRnIEQCAAIAUgARC7AUECIwFBAUYNAhohAwsjAUUEQCADDQEgAigCDCIDQeUATyEFCyAFIwFBAkZyBEAjAUUgBkEDRnIEQCAAQYo0QQAQUkEDIwFBAUYNAxoLIwFFDQELIwEEfyAFBSACKwMAIgmZIgpEUO/i1uQaS0RmCyMBQQJGcgRAIwFFBEBCgICAgMB+IAm9QoCAgIDAgYD8/wB9IAq9IgdCgICAgICAgPj/AFYiAxshAQsjAUUgBkEERnIEQCAAIAEQOUEEIwFBAUYNAxohBwsjAUUNAQsjAUUgBkEFRnIEQCAAIAlBCiADQQIQkQJBBSMBQQFGDQIaIQcLCyMBRQRAIAJBEGokACAHDwsACyEEIwIoAgAgBDYCACMCIwIoAgBBBGo2AgAjAigCACIEIAA2AgAgBCABNwIEIAQgAjYCDCAEIAM2AhAgBCAFNgIUIAQgBzcCGCAEIAk5AiAgBCAKOQIoIwIjAigCAEEwajYCAEIAC/EFAwN/An4BfCMBQQJGBEAjAiMCKAIAQShrNgIAIwIoAgAiBCgCACEAIAQoAgwhAiAEKAIQIQMgBCgCFCEFIAQpAhghByAEKwIgIQkgBCkCBCEBCwJ/IwFBAkYEQCMCIwIoAgBBBGs2AgAjAigCACgCACEGCyMBRQRAIwBBEGsiAiQAQoCAgIDgACEHCyMBRSAGRXIEQCAAIAEQ3QJBACMBQQFGDQEaIQELAkAjAUEBIAUgAUKAgICAcINCgICAgOAAUSMBGyIFG0UEQCABIQcMAQsjAUUgBkEBRnIEQCAAIAIgARBwQQEjAUEBRg0CGiEFCyMBRQRAIAUNASACQQxqIQUgAykDACEBCyMBRSAGQQJGcgRAIAAgBSABELsBQQIjAUEBRg0CGiEFCyMBRQRAIAUNASACKwMAIgm9IgFCgICAgICAgPj/AINCgICAgICAgPj/AFEhBQsgBSMBQQJGcgRAIwFFBEBCgICAgMB+IAFCgICAgMCBgPz/AH0iByABQv///////////wCDQoCAgICAgID4/wBWIgMbIQELIwFFIAZBA0ZyBEAgACABEDlBAyMBQQFGDQMaIQcLIwFFDQELIwFFBEAgAzUCBEIghkKAgICAMFEhAwsgAyMBQQJGcgRAIwFFIAZBBEZyBEAgACAJQQpBAEEEEJECQQQjAUEBRg0DGiEHCyMBRQ0BCyMBBH8gBQUgAigCDCIDQeUATwsjAUECRnIEQCMBRSAGQQVGcgRAIABBijRBABBSQQUjAUEBRg0DGgsjAUUNAQsgAyADQQFqIwEbIQMjAUUgBkEGRnIEQCAAIAlBCiADQQUQkQJBBiMBQQFGDQIaIQcLCyMBRQRAIAJBEGokACAHDwsACyEEIwIoAgAgBDYCACMCIwIoAgBBBGo2AgAjAigCACIEIAA2AgAgBCABNwIEIAQgAjYCDCAEIAM2AhAgBCAFNgIUIAQgBzcCGCAEIAk5AiAjAiMCKAIAQShqNgIAQgAL0QICAn8BfiMBQQJGBEAjAiMCKAIAQRxrNgIAIwIoAgAiBCgCACEAIAQoAgwhAiAEKAIQIQMgBCkCFCEGIAQpAgQhAQsCfyMBQQJGBEAjAiMCKAIAQQRrNgIAIwIoAgAoAgAhBQsjAUUEQCMAQRBrIgIkAEKAgICAECEGIAMpAwAiAUKAgICAEFogAUIgiKdBC2pBEklxIQMLAkAjAUUEQCADDQEgAkEIaiEDCyMBRSAFRXIEQCAAIAMgARBEQQAjAUEBRg0CGiEACyMBRQRAQoCAgIDgACEGIAANASACKwMIEL8CrUKAgICAEIQhBgsLIwFFBEAgAkEQaiQAIAYPCwALIQQjAigCACAENgIAIwIjAigCAEEEajYCACMCKAIAIgQgADYCACAEIAE3AgQgBCACNgIMIAQgAzYCECAEIAY3AhQjAiMCKAIAQRxqNgIAQgALogEBAX8jAUECRgRAIwIjAigCAEEEazYCACMCKAIAKAIAIQALAn8jAUUjAUECRgR/IwIjAigCAEEEazYCACMCKAIAKAIABSAEC0VyBEAgAEGyNEEAEBZBACMBQQFGDQEaCyMBRQRAQoCAgIDgAA8LAAshAiMCKAIAIAI2AgAjAiMCKAIAQQRqNgIAIwIoAgAgADYCACMCIwIoAgBBBGo2AgBCAAvHAwMFfAJ+An8CQAJ/AkAgAL0iBkL/////////B1cEQCAARAAAAAAAAAAAYQRARAAAAAAAAPC/IAAgAKKjDwsgBkIAWQ0BIAAgAKFEAAAAAAAAAACjDwsgBkL/////////9/8AVg0CQYF4IQkgBkIgiCIHQoCAwP8DUgRAIAenDAILQYCAwP8DIAanDQEaRAAAAAAAAAAADwtBy3chCSAARAAAAAAAAFBDor0iBkIgiKcLIQggBkL/////D4MgCEHiviVqIghB//8/cUGewZr/A2qtQiCGhL9EAAAAAAAA8L+gIgAgACAARAAAAAAAAOA/oqIiA6G9QoCAgIBwg78iBEQAACBlRxX3P6IiASAJIAhBFHZqtyICoCIFIAEgAiAFoaAgACAARAAAAAAAAABAoKMiASADIAEgAaIiAiACoiIBIAEgAUSfxnjQCZrDP6JEr3iOHcVxzD+gokQE+peZmZnZP6CiIAIgASABIAFERFI+3xLxwj+iRN4Dy5ZkRsc/oKJEWZMilCRJ0j+gokSTVVVVVVXlP6CioKCiIAAgBKEgA6GgIgAgBKBEAKLvLvwF5z2iIABEAAAgZUcV9z+ioKCgIQALIAALC6TABGMAQYAIC3D+gitlRxVnQAAAAAAAADhDAAD6/kIudr86O568mvcMvb39/////98/PFRVVVVVxT+RKxfPVVWlPxfQpGcREYE/AAAAAAAAyELvOfr+Qi7mPyTEgv+9v84/tfQM1whrrD/MUEbSq7KDP4Q6Tpvg11U/AEH+CAuSEPA/br+IGk87mzw1M/upPfbvP13c2JwTYHG8YYB3Pprs7z/RZocQel6QvIV/bugV4+8/E/ZnNVLSjDx0hRXTsNnvP/qO+SOAzou83vbdKWvQ7z9hyOZhTvdgPMibdRhFx+8/mdMzW+SjkDyD88bKPr7vP217g12mmpc8D4n5bFi17z/87/2SGrWOPPdHciuSrO8/0ZwvcD2+Pjyi0dMy7KPvPwtukIk0A2q8G9P+r2ab7z8OvS8qUlaVvFFbEtABk+8/VepOjO+AULzMMWzAvYrvPxb01bkjyZG84C2prpqC7z+vVVzp49OAPFGOpciYeu8/SJOl6hUbgLx7UX08uHLvPz0y3lXwH4+86o2MOPlq7z+/UxM/jImLPHXLb+tbY+8/JusRdpzZlrzUXASE4FvvP2AvOj737Jo8qrloMYdU7z+dOIbLguePvB3Z/CJQTe8/jcOmREFvijzWjGKIO0bvP30E5LAFeoA8ltx9kUk/7z+UqKjj/Y6WPDhidW56OO8/fUh08hhehzw/prJPzjHvP/LnH5grR4A83XziZUUr7z9eCHE/e7iWvIFj9eHfJO8/MasJbeH3gjzh3h/1nR7vP/q/bxqbIT28kNna0H8Y7z+0CgxygjeLPAsD5KaFEu8/j8vOiZIUbjxWLz6prwzvP7arsE11TYM8FbcxCv4G7z9MdKziAUKGPDHYTPxwAe8/SvjTXTndjzz/FmSyCPzuPwRbjjuAo4a88Z+SX8X27j9oUEvM7UqSvMupOjen8e4/ji1RG/gHmbxm2AVtruzuP9I2lD7o0XG895/lNNvn7j8VG86zGRmZvOWoE8Mt4+4/bUwqp0ifhTwiNBJMpt7uP4ppKHpgEpO8HICsBEXa7j9biRdIj6dYvCou9yEK1u4/G5pJZ5ssfLyXqFDZ9dHuPxGswmDtY0M8LYlhYAjO7j/vZAY7CWaWPFcAHe1Byu4/eQOh2uHMbjzQPMG1osbuPzASDz+O/5M83tPX8CrD7j+wr3q7zpB2PCcqNtXav+4/d+BU670dkzwN3f2ZsrzuP46jcQA0lI+8pyyddrK57j9Jo5PczN6HvEJmz6Latu4/XzgPvcbeeLyCT51WK7TuP/Zce+xGEoa8D5JdyqSx7j+O1/0YBTWTPNontTZHr+4/BZuKL7eYezz9x5fUEq3uPwlUHOLhY5A8KVRI3Qer7j/qxhlQhcc0PLdGWYomqe4/NcBkK+YylDxIIa0Vb6fuP592mWFK5Iy8Cdx2ueGl7j+oTe87xTOMvIVVOrB+pO4/rukriXhThLwgw8w0RqPuP1hYVnjdzpO8JSJVgjii7j9kGX6AqhBXPHOpTNRVoe4/KCJev++zk7zNO39mnqDuP4K5NIetEmq8v9oLdRKg7j/uqW2472djvC8aZTyyn+4/UYjgVD3cgLyElFH5fZ/uP88+Wn5kH3i8dF/s6HWf7j+wfYvASu6GvHSBpUian+4/iuZVHjIZhrzJZ0JW65/uP9PUCV7LnJA8P13eT2mg7j8dpU253DJ7vIcB63MUoe4/a8BnVP3slDwywTAB7aHuP1Vs1qvh62U8Yk7PNvOi7j9Cz7MvxaGIvBIaPlQnpO4/NDc78bZpk7wTzkyZiaXuPx7/GTqEXoC8rccjRhqn7j9uV3LYUNSUvO2SRJvZqO4/AIoOW2etkDyZZorZx6ruP7Tq8MEvt40826AqQuWs7j//58WcYLZlvIxEtRYyr+4/RF/zWYP2ezw2dxWZrrHuP4M9HqcfCZO8xv+RC1u07j8pHmyLuKldvOXFzbA3t+4/WbmQfPkjbLwPUsjLRLruP6r59CJDQ5K8UE7en4K97j9LjmbXbMqFvLoHynDxwO4/J86RK/yvcTyQ8KOCkcTuP7tzCuE10m08IyPjGWPI7j9jImIiBMWHvGXlXXtmzO4/1THi44YcizwzLUrsm9DuPxW7vNPRu5G8XSU+sgPV7j/SMe6cMcyQPFizMBOe2e4/s1pzboRphDy//XlVa97uP7SdjpfN34K8evPTv2vj7j+HM8uSdxqMPK3TWpmf6O4/+tnRSo97kLxmto0pB+7uP7qu3FbZw1W8+xVPuKLz7j9A9qY9DqSQvDpZ5Y1y+e4/NJOtOPTWaLxHXvvydv/uPzWKWGvi7pG8SgahMLAF7z/N3V8K1/90PNLBS5AeDO8/rJiS+vu9kbwJHtdbwhLvP7MMrzCubnM8nFKF3ZsZ7z+U/Z9cMuOOPHrQ/1+rIO8/rFkJ0Y/ghDxL0Vcu8SfvP2caTjivzWM8tecGlG0v7z9oGZJsLGtnPGmQ79wgN+8/0rXMgxiKgLz6w11VCz/vP2/6/z9drY+8fIkHSi1H7z9JqXU4rg2QvPKJDQiHT+8/pwc9poWjdDyHpPvcGFjvPw8iQCCekYK8mIPJFuNg7z+sksHVUFqOPIUy2wPmae8/S2sBrFk6hDxgtAHzIXPvPx8+tAch1YK8X5t7M5d87z/JDUc7uSqJvCmh9RRGhu8/04g6YAS2dDz2P4vnLpDvP3FynVHsxYM8g0zH+1Ga7z/wkdOPEvePvNqQpKKvpO8/fXQj4piujbzxZ44tSK/vPwggqkG8w448J1ph7hu67z8y66nDlCuEPJe6azcrxe8/7oXRMalkijxARW5bdtDvP+3jO+S6N468FL6crf3b7z+dzZFNO4l3PNiQnoHB5+8/icxgQcEFUzzxcY8rwvPvPwAAAAAAAPA/AAAAAAAA+D8AAAAAAAAAAAbQz0Pr/Uw+AEGbGQvrhQFAA7jiPygpe30AKCl7c3VwZXIoLi4uYXJndW1lbnRzKTt9ACgpIHsKICAgIFtuYXRpdmUgY29kZV0KfQBjYW5ub3QgbWl4ID8/IHdpdGggJiYgb3IgfHwAY3R6AHByb3h5OiBwcm9wZXJ0eSBub3QgcHJlc2VudCBpbiB0YXJnZXQgd2VyZSByZXR1cm5lZCBieSBub24gZXh0ZW5zaWJsZSBwcm94eQByZXZva2VkIHByb3h5AFByb3h5AGFkZF9wcm9wZXJ0eQBwcm94eTogY2Fubm90IHNldCBwcm9wZXJ0eQBubyBzZXR0ZXIgZm9yIHByb3BlcnR5AHZhbHVlIGhhcyBubyBwcm9wZXJ0eQBjb3VsZCBub3QgZGVsZXRlIHByb3BlcnR5AHByb3h5OiBkdXBsaWNhdGUgcHJvcGVydHkASlNfRGVmaW5lQXV0b0luaXRQcm9wZXJ0eQBoYXNPd25Qcm9wZXJ0eQBwcm94eTogaW5jb25zaXN0ZW50IGRlbGV0ZVByb3BlcnR5AHByb3h5OiBpbmNvbnNpc3RlbnQgZGVmaW5lUHJvcGVydHkASlNfRGVmaW5lUHJvcGVydHkAIW1yLT5lbXB0eQBpbmZpbml0eQBJbmZpbml0eQBvdXQgb2YgbWVtb3J5AHVua25vd24gdW5pY29kZSBnZW5lcmFsIGNhdGVnb3J5AEdlbmVyYWxfQ2F0ZWdvcnkAZXZlcnkAYW55AGFwcGx5ACclcycgaXMgcmVhZC1vbmx5AGV4cGVjdGluZyBjYXRjaCBvciBmaW5hbGx5AHN0aWNreQBiaWdpbnQgYXJlIGZvcmJpZGRlbiBpbiBKU09OLnN0cmluZ2lmeQBzdWJhcnJheQBlbXB0eSBhcnJheQBub24gaW50ZWdlciBpbmRleCBpbiB0eXBlZCBhcnJheQBuZWdhdGl2ZSBpbmRleCBpbiB0eXBlZCBhcnJheQBvdXQtb2YtYm91bmQgaW5kZXggaW4gdHlwZWQgYXJyYXkAY2Fubm90IGNyZWF0ZSBudW1lcmljIGluZGV4IGluIHR5cGVkIGFycmF5AGlzQXJyYXkAVHlwZWRBcnJheQBnZXREYXkAZ2V0VVRDRGF5AGpzX2dldF9hdG9tX2luZGV4AGludmFsaWQgYXJyYXkgaW5kZXgAb3V0LW9mLWJvdW5kIG51bWVyaWMgaW5kZXgASlNfQXRvbUlzQXJyYXlJbmRleABmaW5kSW5kZXgAaW52YWxpZCBleHBvcnQgc3ludGF4AGludmFsaWQgYXNzaWdubWVudCBzeW50YXgAbWF4AFx1JTA0eABpbnZhbGlkIG9wY29kZTogcGM9JXUgb3Bjb2RlPTB4JTAyeAAtKyAgIDBYMHgALTBYKzBYIDBYLTB4KzB4IDB4AGxpbmUgdGVybWluYXRvciBub3QgYWxsb3dlZCBhZnRlciB0aHJvdwBiZl9wb3cAbm93AGludGVnZXIgb3ZlcmZsb3cAc3RhY2sgb3ZlcmZsb3cAbXVzdCBiZSBjYWxsZWQgd2l0aCBuZXcAaXNWaWV3AERhdGFWaWV3AHJhdwB0ZGl2AGZkaXYAZWRpdgBjZGl2ACV1AGNsYXNzIGRlY2xhcmF0aW9ucyBjYW4ndCBhcHBlYXIgaW4gc2luZ2xlLXN0YXRlbWVudCBjb250ZXh0AGZ1bmN0aW9uIGRlY2xhcmF0aW9ucyBjYW4ndCBhcHBlYXIgaW4gc2luZ2xlLXN0YXRlbWVudCBjb250ZXh0AGxleGljYWwgZGVjbGFyYXRpb25zIGNhbid0IGFwcGVhciBpbiBzaW5nbGUtc3RhdGVtZW50IGNvbnRleHQAZHVwbGljYXRlIGFyZ3VtZW50IG5hbWVzIG5vdCBhbGxvd2VkIGluIHRoaXMgY29udGV4dABkdXBsaWNhdGUgcGFyYW1ldGVyIG5hbWVzIG5vdCBhbGxvd2VkIGluIHRoaXMgY29udGV4dABpbXBvcnQubWV0YSBub3Qgc3VwcG9ydGVkIGluIHRoaXMgY29udGV4dABKU19GcmVlQ29udGV4dABKU0NvbnRleHQAanNfbWFwX2l0ZXJhdG9yX25leHQAanNfYXN5bmNfZ2VuZXJhdG9yX3Jlc3VtZV9uZXh0AHVuZXhwZWN0ZWQgZW5kIG9mIGlucHV0AHR0AGV4cG9ydGVkIHZhcmlhYmxlICclcycgZG9lcyBub3QgZXhpc3QAcHJpdmF0ZSBjbGFzcyBmaWVsZCAnJXMnIGRvZXMgbm90IGV4aXN0AHRlc3QAYXNzaWdubWVudCByZXN0IHByb3BlcnR5IG11c3QgYmUgbGFzdABiZl9zcXJ0AHNvcnQAY2JydAB0cmltU3RhcnQAcGFkU3RhcnQAdW5rbm93biB1bmljb2RlIHNjcmlwdABTY3JpcHQAaHlwb3QAZnJlZV96ZXJvX3JlZmNvdW50AGZhc3RfYXJyYXlfY291bnQAYmluYXJ5X29iamVjdF9jb3VudABzdHJfaW5kZXggPT0gbnVtX2tleXNfY291bnQgKyBzdHJfa2V5c19jb3VudABudW1faW5kZXggPT0gbnVtX2tleXNfY291bnQAc3RyX2NvdW50AHByb3BfY291bnQAc3ltX2luZGV4ID09IGF0b21fY291bnQAbGFiZWwgPj0gMCAmJiBsYWJlbCA8IHMtPmxhYmVsX2NvdW50AGxhYjEgPj0gMCAmJiBsYWIxIDwgcy0+bGFiZWxfY291bnQAb2JqX2NvdW50AHZhbCA8IHMtPmNhcHR1cmVfY291bnQAdmFsMiA8IHMtPmNhcHR1cmVfY291bnQAc2hhcGVfY291bnQAanNfZnVuY19wYzJsaW5lX2NvdW50AG1lbW9yeV91c2VkX2NvdW50AG1hbGxvY19jb3VudABqc19mdW5jX2NvdW50AGNfZnVuY19jb3VudABpbnZhbGlkIHJlcGVhdCBjb3VudABpbnZhbGlkIHJlcGV0aXRpb24gY291bnQAZm9udABpbnZhbGlkIGNvZGUgcG9pbnQAZnJvbUNvZGVQb2ludABpbnZhbGlkIGhpbnQAY2Fubm90IGNvbnZlcnQgTmFOIG9yIEluZmluaXR5IHRvIGJpZ2ludABjYW5ub3QgY29udmVydCB0byBiaWdpbnQAYm90aCBvcGVyYW5kcyBtdXN0IGJlIGJpZ2ludABub3QgYSBiaWdpbnQAZW5jb2RlVVJJQ29tcG9uZW50AGRlY29kZVVSSUNvbXBvbmVudAB1bmV4cGVjdGVkIGVuZCBvZiBjb21tZW50AGludmFsaWQgc3dpdGNoIHN0YXRlbWVudABCaWdJbnQAcGFyc2VJbnQAZHVwbGljYXRlIGRlZmF1bHQAbWFsbG9jX2xpbWl0AHNwbGl0AGV4cGVjdGluZyBoZXggZGlnaXQAdHJpbVJpZ2h0AHJlZHVjZVJpZ2h0AHVuc2hpZnQAdHJpbUxlZnQAaW52YWxpZCBvZmZzZXQAaW52YWxpZCBieXRlT2Zmc2V0AGdldFRpbWV6b25lT2Zmc2V0AHJlc29sdmluZyBmdW5jdGlvbiBhbHJlYWR5IHNldABwcm94eTogaW5jb25zaXN0ZW50IHNldABmaW5kX2p1bXBfdGFyZ2V0AGV4cGVjdGluZyB0YXJnZXQAaW52YWxpZCBkZXN0cnVjdHVyaW5nIHRhcmdldABwcm94eTogaW5jb25zaXN0ZW50IGdldABXZWFrU2V0AGNvbnN0cnVjdABKU19GcmVlQXRvbVN0cnVjdAB1c2Ugc3RyaWN0AFJlZmxlY3QAcmVqZWN0AG5vdCBhbiBBc3luY0dlbmVyYXRvciBvYmplY3QAY2Fubm90IGNvbnZlcnQgdG8gb2JqZWN0AGludmFsaWQgYnJhbmQgb24gb2JqZWN0AG9wZXJhbmQgJ3Byb3RvdHlwZScgcHJvcGVydHkgaXMgbm90IGFuIG9iamVjdAByZWNlaXZlciBpcyBub3QgYW4gb2JqZWN0AGl0ZXJhdG9yIG11c3QgcmV0dXJuIGFuIG9iamVjdABub3QgYSBEYXRlIG9iamVjdABub3QgYSBvYmplY3QASlNPYmplY3QAYmlnZmxvYXQAcGFyc2VGbG9hdABmbGF0AG5vdGhpbmcgdG8gcmVwZWF0AGNvbmNhdABjb2RlUG9pbnRBdABjaGFyQXQAY2hhckNvZGVBdABrZXlzAHByb3h5OiB0YXJnZXQgcHJvcGVydHkgbXVzdCBiZSBwcmVzZW50IGluIHByb3h5IG93bktleXMAICBmYXN0IGFycmF5cwBleHBvcnQgJyVzJyBpbiBtb2R1bGUgJyVzJyBpcyBhbWJpZ3VvdXMAcHJpdmF0ZSBjbGFzcyBmaWVsZCAnJXMnIGFscmVhZHkgZXhpc3RzAHRvbyBtYW55IGFyZ3VtZW50cwBUb28gbWFueSBjYWxsIGFyZ3VtZW50cwBmYXN0X2FycmF5X2VsZW1lbnRzACAgZWxlbWVudHMAaW52YWxpZCBudW1iZXIgb2YgZGlnaXRzAGJpbmFyeSBvYmplY3RzAGludmFsaWQgcHJvcGVydHkgYWNjZXNzAGpzX29wX2RlZmluZV9jbGFzcwBmZC0+Ynl0ZV9jb2RlLmJ1ZltkZWZpbmVfY2xhc3NfcG9zXSA9PSBPUF9kZWZpbmVfY2xhc3MAX19nZXRDbGFzcwBzZXRIb3VycwBnZXRIb3VycwBzZXRVVENIb3VycwBnZXRVVENIb3VycwBnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzAHRvbyBtYW55IGltYnJpY2F0ZWQgcXVhbnRpZmllcnMAdW5pY29kZV9wcm9wX29wcwBhY29zAGZvciBhd2FpdCBpcyBvbmx5IHZhbGlkIGluIGFzeW5jaHJvbm91cyBmdW5jdGlvbnMAbmV3LnRhcmdldCBvbmx5IGFsbG93ZWQgd2l0aGluIGZ1bmN0aW9ucwBieXRlY29kZSBmdW5jdGlvbnMAQyBmdW5jdGlvbnMAcHJveHk6IGluY29uc2lzdGVudCBwcmV2ZW50RXh0ZW5zaW9ucwBTY3JpcHRfRXh0ZW5zaW9ucwBhdG9tcwBwcm94eTogcHJvcGVydGllcyBtdXN0IGJlIHN0cmluZ3Mgb3Igc3ltYm9scwBnZXRPd25Qcm9wZXJ0eVN5bWJvbHMAcmVzb2x2ZV9sYWJlbHMASlNfRXZhbFRoaXMAc3RyaW5ncwBpbnZhbGlkIGRlc2NyaXB0b3IgZmxhZ3MAaW52YWxpZCByZWd1bGFyIGV4cHJlc3Npb24gZmxhZ3MAdmFsdWVzAHNldE1pbnV0ZXMAZ2V0TWludXRlcwBzZXRVVENNaW51dGVzAGdldFVUQ01pbnV0ZXMAdG9vIG1hbnkgY2FwdHVyZXMAICBzaGFwZXMAZ2V0T3duUHJvcGVydHlOYW1lcwBnY19mcmVlX2N5Y2xlcwBhZGRfZXZhbF92YXJpYWJsZXMAcmVzb2x2ZV92YXJpYWJsZXMAdG9vIG1hbnkgbG9jYWwgdmFyaWFibGVzAHRvbyBtYW55IGNsb3N1cmUgdmFyaWFibGVzAGNvbXBhY3RfcHJvcGVydGllcwAgIHByb3BlcnRpZXMAZGVmaW5lUHJvcGVydGllcwBlbnRyaWVzAGZyb21FbnRyaWVzAHRvbyBtYW55IHJhbmdlcwBpbmNsdWRlcwBzZXRNaWxsaXNlY29uZHMAZ2V0TWlsbGlzZWNvbmRzAHNldFVUQ01pbGxpc2Vjb25kcwBnZXRVVENNaWxsaXNlY29uZHMAc2V0U2Vjb25kcwBnZXRTZWNvbmRzAHNldFVUQ1NlY29uZHMAZ2V0VVRDU2Vjb25kcwBpdGFsaWNzAGFicwBwcm94eTogaW5jb25zaXN0ZW50IGhhcwAlLipzACAoJXMAc2V0ICVzAGdldCAlcwAgICAgYXQgJXMAbm8gb3ZlcmxvYWRlZCBvcGVyYXRvciAlcwBub3QgYSAlcwB1bnN1cHBvcnRlZCBrZXl3b3JkOiAlcwBzdWJzdHIAcHJveHk6IGluY29uc2lzdGVudCBnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IAc3VwZXIoKSBpcyBvbmx5IHZhbGlkIGluIGEgZGVyaXZlZCBjbGFzcyBjb25zdHJ1Y3RvcgBwYXJlbnQgY2xhc3MgbXVzdCBiZSBjb25zdHJ1Y3RvcgBub3QgYSBjb25zdHJ1Y3RvcgBBcnJheSBJdGVyYXRvcgBTZXQgSXRlcmF0b3IATWFwIEl0ZXJhdG9yAFJlZ0V4cCBTdHJpbmcgSXRlcmF0b3IAbm90IGFuIEFzeW5jLWZyb20tU3luYyBJdGVyYXRvcgBjYW5ub3QgaW52b2tlIGEgcnVubmluZyBnZW5lcmF0b3IAbm90IGEgZ2VuZXJhdG9yAEFzeW5jR2VuZXJhdG9yAHN5bnRheCBlcnJvcgBTeW50YXhFcnJvcgBFdmFsRXJyb3IASW50ZXJuYWxFcnJvcgBBZ2dyZWdhdGVFcnJvcgBUeXBlRXJyb3IAUmFuZ2VFcnJvcgBSZWZlcmVuY2VFcnJvcgBVUklFcnJvcgBmbG9vcgBmb250Y29sb3IAYW5jaG9yAGZvcgBrZXlGb3IAZXhwZWN0aW5nIHN1cnJvZ2F0ZSBwYWlyAGEgZGVjbGFyYXRpb24gaW4gdGhlIGhlYWQgb2YgYSBmb3ItJXMgbG9vcCBjYW4ndCBoYXZlIGFuIGluaXRpYWxpemVyACdhcmd1bWVudHMnIGlkZW50aWZpZXIgaXMgbm90IGFsbG93ZWQgaW4gY2xhc3MgZmllbGQgaW5pdGlhbGl6ZXIAaW52YWxpZCBudW1iZXIgb2YgYXJndW1lbnRzIGZvciBnZXR0ZXIgb3Igc2V0dGVyAGludmFsaWQgc2V0dGVyAGludmFsaWQgZ2V0dGVyAGZpbHRlcgBtaXNzaW5nIGZvcm1hbCBwYXJhbWV0ZXIAInVzZSBzdHJpY3QiIG5vdCBhbGxvd2VkIGluIGZ1bmN0aW9uIHdpdGggZGVmYXVsdCBvciBkZXN0cnVjdHVyaW5nIHBhcmFtZXRlcgBpbnZhbGlkIGNoYXJhY3RlcgB1bmV4cGVjdGVkIGNoYXJhY3RlcgBwcml2YXRlIGNsYXNzIGZpZWxkIGZvcmJpZGRlbiBhZnRlciBzdXBlcgBpbnZhbGlkIHJlZGVmaW5pdGlvbiBvZiBsZXhpY2FsIGlkZW50aWZpZXIAJ2xldCcgaXMgbm90IGEgdmFsaWQgbGV4aWNhbCBpZGVudGlmaWVyAGludmFsaWQgcmVkZWZpbml0aW9uIG9mIGdsb2JhbCBpZGVudGlmaWVyAHlpZWxkIGlzIGEgcmVzZXJ2ZWQgaWRlbnRpZmllcgAnJXMnIGlzIGEgcmVzZXJ2ZWQgaWRlbnRpZmllcgBvdGhlcgBhdG9tMV9pc19pbnRlZ2VyICYmIGF0b20yX2lzX2ludGVnZXIAY2Fubm90IGNvbnZlcnQgdG8gYmlnaW50OiBub3QgYW4gaW50ZWdlcgBpc0ludGVnZXIAaXNTYWZlSW50ZWdlcgBidWZmZXIAU2hhcmVkQXJyYXlCdWZmZXIAY2Fubm90IHVzZSBpZGVudGljYWwgQXJyYXlCdWZmZXIAY2Fubm90IGNvbnZlcnQgYmlnaW50IHRvIG51bWJlcgBjYW5ub3QgY29udmVydCBiaWdmbG9hdCB0byBudW1iZXIAY2Fubm90IGNvbnZlcnQgc3ltYm9sIHRvIG51bWJlcgBjYW5ub3QgY29udmVydCBiaWdkZWNpbWFsIHRvIG51bWJlcgBub3QgYSBudW1iZXIAbGluZU51bWJlcgBtYWxmb3JtZWQgdW5pY29kZSBjaGFyAGNsZWFyAHNldFllYXIAZ2V0WWVhcgBzZXRGdWxsWWVhcgBnZXRGdWxsWWVhcgBzZXRVVENGdWxsWWVhcgBnZXRVVENGdWxsWWVhcgBxICE9IHIAdW5leHBlY3RlZCBsaW5lIHRlcm1pbmF0b3IgaW4gcmVnZXhwAHVuZXhwZWN0ZWQgZW5kIG9mIHJlZ2V4cABSZWdFeHAAc3VwAGludmFsaWQgZ3JvdXAAcG9wAGNvbnRpbnVlIG11c3QgYmUgaW5zaWRlIGxvb3AAYmZfbG9naWNfb3AAbnVtX2tleXNfY21wAHVzZSBzdHJpcABtYXAAZmxhdE1hcABXZWFrTWFwAGV4cGVjdGluZyAneycgYWZ0ZXIgXHAAbG9nMXAAZGl2aXNpb24gYnkgemVybwB1bmtub3duAGhhc093bgBpdGVyYXRvcl9jbG9zZV9yZXR1cm4AcHJvbWlzZSBzZWxmIHJlc29sdXRpb24Ab3V0IG9mIG1lbW9yeSBpbiByZWdleHAgZXhlY3V0aW9uAGRlc2NyaXB0aW9uAHByb3h5OiBkZWZpbmVQcm9wZXJ0eSBleGNlcHRpb24AanNfYXN5bmNfZ2VuZXJhdG9yX3Jlc29sdmVfZnVuY3Rpb24AanNfY3JlYXRlX2Z1bmN0aW9uAHNldC9hZGQgaXMgbm90IGEgZnVuY3Rpb24AcmV0dXJuIG5vdCBpbiBhIGZ1bmN0aW9uAEFzeW5jR2VuZXJhdG9yRnVuY3Rpb24AQXN5bmNGdW5jdGlvbgBpbnZhbGlkIG9wZXJhdGlvbgB1bnN1cHBvcnRlZCBvcGVyYXRpb24AYXdhaXQgaW4gZGVmYXVsdCBleHByZXNzaW9uAHlpZWxkIGluIGRlZmF1bHQgZXhwcmVzc2lvbgBpbnZhbGlkIGRlY2ltYWwgZXNjYXBlIGluIHJlZ3VsYXIgZXhwcmVzc2lvbgBiYWNrIHJlZmVyZW5jZSBvdXQgb2YgcmFuZ2UgaW4gcmVndWxhciBleHByZXNzaW9uAGludmFsaWQgZXNjYXBlIHNlcXVlbmNlIGluIHJlZ3VsYXIgZXhwcmVzc2lvbgBleHBlY3RlZCAnb2YnIG9yICdpbicgaW4gZm9yIGNvbnRyb2wgZXhwcmVzc2lvbgB0b28gY29tcGxpY2F0ZWQgZGVzdHJ1Y3R1cmluZyBleHByZXNzaW9uAGV4cGVjdGVkICd9JyBhZnRlciB0ZW1wbGF0ZSBleHByZXNzaW9uAHRvUHJlY2lzaW9uAGFzaW4Aam9pbgBtaW4AY29weVdpdGhpbgB0ZW1wbGF0ZSBsaXRlcmFsIGNhbm5vdCBhcHBlYXIgaW4gYW4gb3B0aW9uYWwgY2hhaW4AY2lyY3VsYXIgcHJvdG90eXBlIGNoYWluAGFzc2lnbgAheS0+c2lnbgBpc0Zyb3plbgBtYXJrX2NoaWxkcmVuAChwb3MgKyBsZW4pIDw9IGJjX2J1Zl9sZW4AdW5leHBlY3RlZCBlbGxpcHNpcyB0b2tlbgB0aGVuAHNldHRlciBpcyBmb3JiaWRkZW4AbnVsbCBvciB1bmRlZmluZWQgYXJlIGZvcmJpZGRlbgBhdGFuAG5hbgBub3QgYSBib29sZWFuAEJvb2xlYW4AZ2Nfc2NhbgBiYWQgbm9ybWFsaXphdGlvbiBmb3JtAEpTX05ld1N5bWJvbEZyb21BdG9tAGZyb20AcmFuZG9tAHRyaW0AdGRpdnJlbQBmZGl2cmVtAGVkaXZyZW0AY2RpdnJlbQBiZl9kaXZyZW0Ac3FydHJlbQBpbXVsAG5vdCBhIHN5bWJvbABTeW1ib2wAUmVnRXhwIGV4ZWMgbWV0aG9kIG11c3QgcmV0dXJuIGFuIG9iamVjdCBvciBudWxsAHBhcmVudCBwcm90b3R5cGUgbXVzdCBiZSBhbiBvYmplY3Qgb3IgbnVsbABjYW5ub3Qgc2V0IHByb3BlcnR5ICclcycgb2YgbnVsbABjYW5ub3QgcmVhZCBwcm9wZXJ0eSAnJXMnIG9mIG51bGwATnVsbABmaWxsAG5ldyBBcnJheUJ1ZmZlciBpcyB0b28gc21hbGwAVHlwZWRBcnJheSBsZW5ndGggaXMgdG9vIHNtYWxsAGNhbGwAZG90QWxsAG1hdGNoQWxsAHJlcGxhY2VBbGwAY2VpbAB1cGRhdGVfbGFiZWwAYmNfYnVmW3Bvc10gPT0gT1BfbGFiZWwAZXZhbABpbnZhbGlkIGJpZ2ludCBsaXRlcmFsAGludmFsaWQgbnVtYmVyIGxpdGVyYWwAbWFsZm9ybWVkIGVzY2FwZSBzZXF1ZW5jZSBpbiBzdHJpbmcgbGl0ZXJhbABiZl9leHBfaW50ZXJuYWwAYmZfbG9nX2ludGVybmFsAEpTX1NldFByb3BlcnR5SW50ZXJuYWwASlNfR2V0T3duUHJvcGVydHlOYW1lc0ludGVybmFsAF9fSlNfRXZhbEludGVybmFsAGJpZ2RlY2ltYWwAbnR0X2ZmdF9wYXJ0aWFsAHRvRXhwb25lbnRpYWwAc2VhbABnbG9iYWwAYmxpbmsAX19kYXRlX2Nsb2NrAHN0YWNrAGxyZV9leGVjX2JhY2t0cmFjawBzLT5pc193ZWFrAGJmX3Bvd191aQBzZXRNb250aABnZXRNb250aABzZXRVVENNb250aABnZXRVVENNb250aABpbnZhbGlkIGtleXdvcmQ6IHdpdGgAc3RhcnRzV2l0aABlbmRzV2l0aABwcm9wID09IEpTX0FUT01fbGVuZ3RoAGludmFsaWQgYXJyYXkgbGVuZ3RoAGludmFsaWQgYXJyYXkgYnVmZmVyIGxlbmd0aABpbnZhbGlkIGxlbmd0aABpbnZhbGlkIGJ5dGVMZW5ndGgAdXNlIG1hdGgATWF0aABwdXNoAGFjb3NoAEpTX1Jlc2l6ZUF0b21IYXNoAGFzaW5oAGF0YW5oAGJyZWFrIG11c3QgYmUgaW5zaWRlIGxvb3Agb3Igc3dpdGNoAG1hdGNoAGNhdGNoAHNlYXJjaABmb3JFYWNoAGJmX2xvZwBBcnJheSB0b28gbG9uZwBzdHJpbmcgdG9vIGxvbmcAQXJyYXkgbG9vIGxvbmcAc3Vic3RyaW5nAGNhbm5vdCBjb252ZXJ0IHN5bWJvbCB0byBzdHJpbmcAdW5leHBlY3RlZCBlbmQgb2Ygc3RyaW5nAG5vdCBhIHN0cmluZwBpbnZhbGlkIGNoYXJhY3RlciBpbiBhIEpTT04gc3RyaW5nAHRvU3RyaW5nAHRvRGF0ZVN0cmluZwB0b0xvY2FsZURhdGVTdHJpbmcAdG9UaW1lU3RyaW5nAHRvTG9jYWxlVGltZVN0cmluZwB0b0xvY2FsZVN0cmluZwB0b0dNVFN0cmluZwBKU1N0cmluZwB0b0lTT1N0cmluZwB0b1VUQ1N0cmluZwBkdXBsaWNhdGUgaW1wb3J0IGJpbmRpbmcAaW52YWxpZCBpbXBvcnQgYmluZGluZwBiaWcAcmVnZXhwIG11c3QgaGF2ZSB0aGUgJ2cnIGZsYWcAb2YAaW5mAGRpZmYgPT0gKGludDhfdClkaWZmAGRpZmYgPT0gKGludDE2X3QpZGlmZgBocmVmAGdjX2RlY3JlZgBmcmVlX3Zhcl9yZWYAb3B0aW1pemVfc2NvcGVfbWFrZV9nbG9iYWxfcmVmAHJlc2V0X3dlYWtfcmVmAGRlbGV0ZV93ZWFrX3JlZgBvcHRpbWl6ZV9zY29wZV9tYWtlX3JlZgBpbmRleE9mAGxhc3RJbmRleE9mAHZhbHVlT2YAc2V0UHJvdG90eXBlT2YAZ2V0UHJvdG90eXBlT2YAaXNQcm90b3R5cGVPZgAlLipmAGZvbnRzaXplAGJpbmFyeV9vYmplY3Rfc2l6ZQBzdHJfc2l6ZQBuZXdfc2l6ZSA8PSBzaC0+cHJvcF9zaXplAGRlc2NyIDwgcnQtPmF0b21fc2l6ZQBhdG9tIDwgcnQtPmF0b21fc2l6ZQBjb21wdXRlX3N0YWNrX3NpemUAb2JqX3NpemUAbiA8IGJ1Zl9zaXplAHNoYXBlX3NpemUAanNfZnVuY19wYzJsaW5lX3NpemUAanNfZnVuY19jb2RlX3NpemUAbWVtb3J5X3VzZWRfc2l6ZQBqc19mdW5jX3NpemUAbm9ybWFsaXplAGZyZWV6ZQByZXNvbHZlAHRvUHJpbWl0aXZlAHB1dF9sdmFsdWUAdW5rbm93biB1bmljb2RlIHByb3BlcnR5IHZhbHVlAHJlc3QgZWxlbWVudCBjYW5ub3QgaGF2ZSBhIGRlZmF1bHQgdmFsdWUAaW52YWxpZCByZXQgdmFsdWUAX19KU19BdG9tVG9WYWx1ZQBfX3F1b3RlAGlzRmluaXRlAGRlbGV0ZQBjcmVhdGUAc2V0RGF0ZQBnZXREYXRlAHNldFVUQ0RhdGUAZ2V0VVRDRGF0ZQBJbnZhbGlkIERhdGUAcmV2ZXJzZQBwYXJzZQBwcm94eSBwcmV2ZW50RXh0ZW5zaW9ucyBoYW5kbGVyIHJldHVybmVkIGZhbHNlAFByb21pc2UAdG9Mb3dlckNhc2UAdG9Mb2NhbGVMb3dlckNhc2UAdG9VcHBlckNhc2UAdG9Mb2NhbGVVcHBlckNhc2UAaWdub3JlQ2FzZQBsb2NhbGVDb21wYXJlAHByb3h5OiBpbmNvbnNpc3RlbnQgcHJvdG90eXBlAHByb3h5OiBiYWQgcHJvdG90eXBlAG5vdCBhIHByb3RvdHlwZQBpbnZhbGlkIG9iamVjdCB0eXBlAHVuZXNjYXBlAG5vbmUAcmVzdCBlbGVtZW50IG11c3QgYmUgdGhlIGxhc3Qgb25lAG11bHRpbGluZQAgIHBjMmxpbmUAc29tZQBKU19GcmVlUnVudGltZQBKU1J1bnRpbWUAc2V0VGltZQBnZXRUaW1lAHNldF9vYmplY3RfbmFtZQBleHBlY3RpbmcgcHJvcGVydHkgbmFtZQB1bmtub3duIHVuaWNvZGUgcHJvcGVydHkgbmFtZQBpbnZhbGlkIHByb3BlcnR5IG5hbWUAZHVwbGljYXRlIF9fcHJvdG9fXyBwcm9wZXJ0eSBuYW1lAGludmFsaWQgcmVkZWZpbml0aW9uIG9mIHBhcmFtZXRlciBuYW1lAGV4cGVjdGluZyBncm91cCBuYW1lAGR1cGxpY2F0ZSBncm91cCBuYW1lAGludmFsaWQgZ3JvdXAgbmFtZQBkdXBsaWNhdGUgbGFiZWwgbmFtZQBpbnZhbGlkIGZpcnN0IGNoYXJhY3RlciBvZiBwcml2YXRlIG5hbWUAaW52YWxpZCBsZXhpY2FsIHZhcmlhYmxlIG5hbWUAaW52YWxpZCBtZXRob2QgbmFtZQBleHBlY3RpbmcgZmllbGQgbmFtZQBpbnZhbGlkIGZpZWxkIG5hbWUAY2xhc3Mgc3RhdGVtZW50IHJlcXVpcmVzIGEgbmFtZQBmaWxlTmFtZQBjb21waWxlAG9iamVjdCBpcyBub3QgZXh0ZW5zaWJsZQBwcm94eTogaW5jb25zaXN0ZW50IGlzRXh0ZW5zaWJsZQBjYW5ub3QgaGF2ZSBzZXR0ZXIvZ2V0dGVyIGFuZCB2YWx1ZSBvciB3cml0YWJsZQBwcm9wZXJ0eSBpcyBub3QgY29uZmlndXJhYmxlAHZhbHVlIGlzIG5vdCBpdGVyYWJsZQBwcm9wZXJ0eUlzRW51bWVyYWJsZQBtaXNzaW5nIGluaXRpYWxpemVyIGZvciBjb25zdCB2YXJpYWJsZQBsZXhpY2FsIHZhcmlhYmxlAGludmFsaWQgcmVkZWZpbml0aW9uIG9mIGEgdmFyaWFibGUAcmV2b2NhYmxlAHN0cmlrZQBtcF9kaXZub3JtX2xhcmdlAGludmFsaWQgY2xhc3MgcmFuZ2UAbWVzc2FnZQBhc3luY19mdW5jX2ZyZWUAaW52YWxpZCBsdmFsdWUgaW4gc3RyaWN0IG1vZGUAaW52YWxpZCB2YXJpYWJsZSBuYW1lIGluIHN0cmljdCBtb2RlAGNhbm5vdCBkZWxldGUgYSBkaXJlY3QgcmVmZXJlbmNlIGluIHN0cmljdCBtb2RlAG9jdGFsIGVzY2FwZSBzZXF1ZW5jZXMgYXJlIG5vdCBhbGxvd2VkIGluIHN0cmljdCBtb2RlAG9jdGFsIGxpdGVyYWxzIGFyZSBkZXByZWNhdGVkIGluIHN0cmljdCBtb2RlAHVuaWNvZGUAICBieXRlY29kZQBKU0Z1bmN0aW9uQnl0ZWNvZGUAc2tpcF9kZWFkX2NvZGUAaW52YWxpZCBhcmd1bWVudCBuYW1lIGluIHN0cmljdCBjb2RlAGludmFsaWQgZnVuY3Rpb24gbmFtZSBpbiBzdHJpY3QgY29kZQBpbnZhbGlkIHJlZGVmaW5pdGlvbiBvZiBnbG9iYWwgaWRlbnRpZmllciBpbiBtb2R1bGUgY29kZQBpbXBvcnQubWV0YSBvbmx5IHZhbGlkIGluIG1vZHVsZSBjb2RlAGZyb21DaGFyQ29kZQBpbnZhbGlkIGZvciBpbi9vZiBsZWZ0IGhhbmQtc2lkZQBpbnZhbGlkIGFzc2lnbm1lbnQgbGVmdC1oYW5kIHNpZGUAcmVkdWNlAHNvdXJjZQAndGhpcycgY2FuIGJlIGluaXRpYWxpemVkIG9ubHkgb25jZQBwcm9wZXJ0eSBjb25zdHJ1Y3RvciBhcHBlYXJzIG1vcmUgdGhhbiBvbmNlAGludmFsaWQgVVRGLTggc2VxdWVuY2UAY2lyY3VsYXIgcmVmZXJlbmNlAHNsaWNlAHNwbGljZQByYWNlAHJlcGxhY2UAJSsuKmUAdW5leHBlY3RlZCAnYXdhaXQnIGtleXdvcmQAdW5leHBlY3RlZCAneWllbGQnIGtleXdvcmQAbWFwX2RlY3JlZl9yZWNvcmQAaXRlcmF0b3IgZG9lcyBub3QgaGF2ZSBhIHRocm93IG1ldGhvZABvYmplY3QgbmVlZHMgdG9JU09TdHJpbmcgbWV0aG9kACdzdXBlcicgaXMgb25seSB2YWxpZCBpbiBhIG1ldGhvZABmcm91bmQAX19iZl9yb3VuZABicmVhay9jb250aW51ZSBsYWJlbCBub3QgZm91bmQAb3V0IG9mIGJvdW5kAGZpbmQAYmluZABpbnZhbGlkIGluZGV4IGZvciBhcHBlbmQAZXh0cmFuZW91cyBjaGFyYWN0ZXJzIGF0IHRoZSBlbmQAdW5leHBlY3RlZCBkYXRhIGF0IHRoZSBlbmQAdW5leHBlY3RlZCBlbmQAaW52YWxpZCBpbmNyZW1lbnQvZGVjcmVtZW50IG9wZXJhbmQAaW52YWxpZCAnaW5zdGFuY2VvZicgcmlnaHQgb3BlcmFuZABpbnZhbGlkICdpbicgb3BlcmFuZAB0cmltRW5kAHBhZEVuZABib2xkACVsbGQAZ2NfZGVjcmVmX2NoaWxkAHJlc29sdmVfc2NvcGVfcHJpdmF0ZV9maWVsZABjYW5ub3QgZGVsZXRlIGEgcHJpdmF0ZSBjbGFzcyBmaWVsZABleHBlY3RpbmcgPGJyYW5kPiBwcml2YXRlIGZpZWxkACVzIGlzIG5vdCBpbml0aWFsaXplZABmaXhlZAB0b0ZpeGVkAHNldF9vYmplY3RfbmFtZV9jb21wdXRlZAByZWdleCBub3Qgc3VwcG9ydGVkAGV2YWwgaXMgbm90IHN1cHBvcnRlZABSZWdFeHAgYXJlIG5vdCBzdXBwb3J0ZWQAaW50ZXJydXB0ZWQAJXMgb2JqZWN0IGV4cGVjdGVkAGlkZW50aWZpZXIgZXhwZWN0ZWQAYnl0ZWNvZGUgZnVuY3Rpb24gZXhwZWN0ZWQAc3RyaW5nIGV4cGVjdGVkAGZyb20gY2xhdXNlIGV4cGVjdGVkAGZ1bmN0aW9uIG5hbWUgZXhwZWN0ZWQAdmFyaWFibGUgbmFtZSBleHBlY3RlZABtZXRhIGV4cGVjdGVkAHJlamVjdGVkAG1lbW9yeSBhbGxvY2F0ZWQAbWVtb3J5IHVzZWQAZGVyaXZlZCBjbGFzcyBjb25zdHJ1Y3RvciBtdXN0IHJldHVybiBhbiBvYmplY3Qgb3IgdW5kZWZpbmVkAGNhbm5vdCBzZXQgcHJvcGVydHkgJyVzJyBvZiB1bmRlZmluZWQAY2Fubm90IHJlYWQgcHJvcGVydHkgJyVzJyBvZiB1bmRlZmluZWQAZmxhZ3MgbXVzdCBiZSB1bmRlZmluZWQAVW5kZWZpbmVkAHByaXZhdGUgY2xhc3MgZmllbGQgaXMgYWxyZWFkeSBkZWZpbmVkACclcycgaXMgbm90IGRlZmluZWQAZ3JvdXAgbmFtZSBub3QgZGVmaW5lZABvcGVyYXRvciAlczogbm8gZnVuY3Rpb24gZGVmaW5lZABhbGxTZXR0bGVkAGZ1bGZpbGxlZABjYW5ub3QgYmUgY2FsbGVkAGlzU2VhbGVkACFzaC0+aXNfaGFzaGVkAHZhcl9yZWYtPmlzX2RldGFjaGVkAEFycmF5QnVmZmVyIGlzIGRldGFjaGVkAGFkZAAlKzA3ZAAlMDRkACUwMmQlMDJkACUwMmQvJTAyZC8lMCpkACUuM3MgJS4zcyAlMDJkICUwKmQAOiVkAGludmFsaWQgdGhyb3cgdmFyIHR5cGUgJWQAc2MAanNfZGVmX21hbGxvYwB0cnVuYwBnYwBleGVjAGJmX2ludGVnZXJfdG9fcmFkaXhfcmVjAHF1aWNranMvcXVpY2tqcy5jAHF1aWNranMvbGlicmVnZXhwLmMAcXVpY2tqcy9saWJiZi5jAHF1aWNranMvbGlidW5pY29kZS5jAHN1YgBwcm9taXNlX3JlYWN0aW9uX2pvYgBqc19wcm9taXNlX3Jlc29sdmVfdGhlbmFibGVfam9iAHIgIT0gYSAmJiByICE9IGIAcSAhPSBhICYmIHEgIT0gYgByd2EAciAhPSBhAF9fbG9va3VwU2V0dGVyX18AX19kZWZpbmVTZXR0ZXJfXwBfX2xvb2t1cEdldHRlcl9fAF9fZGVmaW5lR2V0dGVyX18AX19wcm90b19fAFtTeW1ib2wuc3BsaXRdAFtTeW1ib2wuc3BlY2llc10AW1N5bWJvbC5pdGVyYXRvcl0AW1N5bWJvbC5hc3luY0l0ZXJhdG9yXQBbU3ltYm9sLm1hdGNoQWxsXQBbU3ltYm9sLm1hdGNoXQBbU3ltYm9sLnNlYXJjaF0AW1N5bWJvbC50b1N0cmluZ1RhZ10AW1N5bWJvbC50b1ByaW1pdGl2ZV0AW3Vuc3VwcG9ydGVkIHR5cGVdAFtmdW5jdGlvbiBieXRlY29kZV0AW1N5bWJvbC5oYXNJbnN0YW5jZV0AW1N5bWJvbC5yZXBsYWNlXQBbACUwMmQ6JTAyZDolMDJkLiUwM2RaAFBPU0lUSVZFX0lORklOSVRZAE5FR0FUSVZFX0lORklOSVRZAHAtPmNsYXNzX2lkID09IEpTX0NMQVNTX0FSUkFZAHN0YWNrX2xlbiA8IFBPUF9TVEFDS19MRU5fTUFYAC0lMDJkLSUwMmRUAEpTX0F0b21HZXRTdHJSVABvcGNvZGUgPCBSRU9QX0NPVU5UAEJZVEVTX1BFUl9FTEVNRU5UACUwMmQ6JTAyZDolMDJkIEdNVABKU19WQUxVRV9HRVRfVEFHKHNmLT5jdXJfZnVuYykgPT0gSlNfVEFHX09CSkVDVAB2YXJfa2luZCA9PSBKU19WQVJfUFJJVkFURV9TRVRURVIATUFYX1NBRkVfSU5URUdFUgBNSU5fU0FGRV9JTlRFR0VSAGFzVWludE4AYXNJbnROAGlzTmFOAERhdGUgdmFsdWUgaXMgTmFOAHRvSlNPTgBFUFNJTE9OAE5BTgAlMDJkOiUwMmQ6JTAyZCAlY00Acy0+bGFiZWxfc2xvdHNbbGFiZWxdLmZpcnN0X3JlbG9jID09IE5VTEwAbGFiZWxfc2xvdHNbaV0uZmlyc3RfcmVsb2MgPT0gTlVMTABwcnMgIT0gTlVMTABzZi0+Y3VyX3NwICE9IE5VTEwAc2YgIT0gTlVMTABtcjEgIT0gTlVMTAB2YXJfa2luZCAhPSBKU19WQVJfTk9STUFMAGItPmZ1bmNfa2luZCA9PSBKU19GVU5DX05PUk1BTABlbmNvZGVVUkkAZGVjb2RlVVJJAFBJAHNwZWNpYWwgPT0gUFVUX0xWQUxVRV9OT0tFRVAgfHwgc3BlY2lhbCA9PSBQVVRfTFZBTFVFX05PS0VFUF9ERVBUSABzLT5zdGF0ZSA9PSBKU19BU1lOQ19HRU5FUkFUT1JfU1RBVEVfRVhFQ1VUSU5HAHByZWMxICE9IEJGX1BSRUNfSU5GADAxMjM0NTY3ODlBQkNERUYAU0laRQBNQVhfVkFMVUUATUlOX1ZBTFVFAE5BTUUAZXZhbF90eXBlID09IEpTX0VWQUxfVFlQRV9HTE9CQUwgfHwgZXZhbF90eXBlID09IEpTX0VWQUxfVFlQRV9NT0RVTEUAcC0+Z2Nfb2JqX3R5cGUgPT0gSlNfR0NfT0JKX1RZUEVfSlNfT0JKRUNUIHx8IHAtPmdjX29ial90eXBlID09IEpTX0dDX09CSl9UWVBFX0ZVTkNUSU9OX0JZVEVDT0RFAExPRzJFAExPRzEwRQBzLT5zdGF0ZSA9PSBKU19BU1lOQ19HRU5FUkFUT1JfU1RBVEVfQVdBSVRJTkdfUkVUVVJOIHx8IHMtPnN0YXRlID09IEpTX0FTWU5DX0dFTkVSQVRPUl9TVEFURV9DT01QTEVURUQAVVRDADxpbnB1dD4APHNldD4APGFub255bW91cz4APGR1bXA+ADxudWxsPgBiaWdpbnQgb3BlcmFuZHMgYXJlIGZvcmJpZGRlbiBmb3IgPj4+ACZxdW90OwBzZXRVaW50OABnZXRVaW50OABzZXRJbnQ4AGdldEludDgAbWFsZm9ybWVkIFVURi04AHJhZGl4IG11c3QgYmUgYmV0d2VlbiAyIGFuZCAzNgBzZXRVaW50MTYAZ2V0VWludDE2AHNldEludDE2AGdldEludDE2AGFyZ2MgPT0gNQBzZXRCaWdVaW50NjQAZ2V0QmlnVWludDY0AHNldEJpZ0ludDY0AGdldEJpZ0ludDY0AHNldEZsb2F0NjQAZ2V0RmxvYXQ2NABhcmdjID09IDMAYXRhbjIAbG9nMgBmbG9vckxvZzIAU1FSVDFfMgBTUVJUMgBMTjIAY2x6MzIAc2V0VWludDMyAGdldFVpbnQzMgBzZXRJbnQzMgBnZXRJbnQzMgBzZXRGbG9hdDMyAGdldEZsb2F0MzIAc3RhY2tfbGVuID49IDIASlNfQXRvbUlzTnVtZXJpY0luZGV4MQBqc19mY3Z0MQBKU19Db21wYWN0QmlnSW50MQBleHBtMQByICE9IGExICYmIHIgIT0gYjEAbHMtPmFkZHIgPT0gLTEAbnEgPj0gMQBzdGFja19sZW4gPj0gMQBwLT5oZWFkZXIucmVmX2NvdW50ID09IDEAcC0+c2hhcGUtPmhlYWRlci5yZWZfY291bnQgPT0gMQBzdGFja19sZW4gPT0gMQBqc19mcmVlX3NoYXBlMABsb2cxMABMTjEwAHAtPnJlZl9jb3VudCA+IDAAdmFyX3JlZi0+aGVhZGVyLnJlZl9jb3VudCA+IDAAc3RhY2tfc2l6ZSA+IDAAY3Bvb2xfaWR4ID49IDAAcnQtPmF0b21fY291bnQgPj0gMABscy0+cmVmX2NvdW50ID49IDAAcy0+aXNfZXZhbCB8fCBzLT5jbG9zdXJlX3Zhcl9jb3VudCA9PSAwAHAtPnJlZl9jb3VudCA9PSAwAGN0eC0+aGVhZGVyLnJlZl9jb3VudCA9PSAwAHNoLT5oZWFkZXIucmVmX2NvdW50ID09IDAAcC0+bWFyayA9PSAwAChuMiAlIHN0cmlwX2xlbikgPT0gMAAocHItPnUuaW5pdC5yZWFsbV9hbmRfaWQgJiAzKSA9PSAwAChuZXdfaGFzaF9zaXplICYgKG5ld19oYXNoX3NpemUgLSAxKSkgPT0gMABpICE9IDAAc2l6ZSAhPSAwAF4kXC4qKz8oKVtde318LwA8LwAwLgBtaXNzaW5nIGJpbmRpbmcgcGF0dGVybi4uLgBiaWdpbnQgYXJndW1lbnQgd2l0aCB1bmFyeSArAGFzeW5jIGZ1bmN0aW9uICoACn0pAGxpc3RfZW1wdHkoJnJ0LT5nY19vYmpfbGlzdCkAaiA9PSAoc2gtPnByb3BfY291bnQgLSBzaC0+ZGVsZXRlZF9wcm9wX2NvdW50KQBKU19Jc1VuZGVmaW5lZChmdW5jX3JldCkAIV9fSlNfQXRvbUlzVGFnZ2VkSW50KGRlc2NyKQAhYXRvbV9pc19mcmVlKHApAChudWxsKQAgKG5hdGl2ZSkAanNfY2xhc3NfaGFzX2J5dGVjb2RlKHAtPmNsYXNzX2lkKQB1bmNvbnNpc3RlbnQgc3RhY2sgc2l6ZTogJWQgJWQgKHBjPSVkKQBieXRlY29kZSBidWZmZXIgb3ZlcmZsb3cgKG9wPSVkLCBwYz0lZCkAc3RhY2sgb3ZlcmZsb3cgKG9wPSVkLCBwYz0lZCkAc3RhY2sgdW5kZXJmbG93IChvcD0lZCwgcGM9JWQpAGludmFsaWQgb3Bjb2RlIChvcD0lZCwgcGM9JWQpACg/OikAbm8gZnVuY3Rpb24gZmlsZW5hbWUgZm9yIGltcG9ydCgpAC1fLiF+KicoKQAgYW5vbnltb3VzKABTeW1ib2woAGV4cGVjdGluZyAnfScAY2xhc3MgY29uc3RydWN0b3JzIG11c3QgYmUgaW52b2tlZCB3aXRoICduZXcnAGV4cGVjdGluZyAnYXMnAHVuZXhwZWN0ZWQgdG9rZW4gaW4gZXhwcmVzc2lvbjogJyUuKnMnAHVuZXhwZWN0ZWQgdG9rZW46ICclLipzJwByZWRlY2xhcmF0aW9uIG9mICclcycAZHVwbGljYXRlIGV4cG9ydGVkIG5hbWUgJyVzJwBjaXJjdWxhciByZWZlcmVuY2Ugd2hlbiBsb29raW5nIGZvciBleHBvcnQgJyVzJyBpbiBtb2R1bGUgJyVzJwBDb3VsZCBub3QgZmluZCBleHBvcnQgJyVzJyBpbiBtb2R1bGUgJyVzJwBjb3VsZCBub3QgbG9hZCBtb2R1bGUgJyVzJwBjYW5ub3QgZGVmaW5lIHZhcmlhYmxlICclcycAdW5kZWZpbmVkIHByaXZhdGUgZmllbGQgJyVzJwB1bnN1cHBvcnRlZCByZWZlcmVuY2UgdG8gJ3N1cGVyJwBpbnZhbGlkIHVzZSBvZiAnc3VwZXInACdmb3IgYXdhaXQnIGxvb3Agc2hvdWxkIGJlIHVzZWQgd2l0aCAnb2YnAGV4cGVjdGluZyAnJWMnAHVucGFyZW50aGVzaXplZCB1bmFyeSBleHByZXNzaW9uIGNhbid0IGFwcGVhciBvbiB0aGUgbGVmdC1oYW5kIHNpZGUgb2YgJyoqJwBpbnZhbGlkIHVzZSBvZiAnaW1wb3J0KCknAGV4cGVjdGluZyAlJQA7Lz86QCY9KyQsIwA9IgBzZXQgAGdldCAAW29iamVjdCAAYXN5bmMgZnVuY3Rpb24gAGJvdW5kIAAlLjNzLCAlMDJkICUuM3MgJTAqZCAAYXN5bmMgADogACAgICAgICAgICAACikgewoACkpTT2JqZWN0IGNsYXNzZXMKACUtMjBzICU4cyAlOHMKACAgJTVkICAlMi4wZCAlcwoAICAlM3Ug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cHVibGljAHN0YXRpYwB5aWVsZABhd2FpdAAAbGVuZ3RoAGZpbGVOYW1lAGxpbmVOdW1iZXIAbWVzc2FnZQBlcnJvcnMAc3RhY2sAbmFtZQB0b1N0cmluZwB0b0xvY2FsZVN0cmluZwB2YWx1ZU9mAGV2YWwAcHJvdG90eXBlAGNvbnN0cnVjdG9yAGNvbmZpZ3VyYWJsZQB3cml0YWJsZQBlbnVtZXJhYmxlAHZhbHVlAGdldABzZXQAb2YAX19wcm90b19fAHVuZGVmaW5lZABudW1iZXIAYm9vbGVhbgBzdHJpbmcAb2JqZWN0AHN5bWJvbABpbnRlZ2VyAHVua25vd24AYXJndW1lbnRzAGNhbGxlZQBjYWxsZXIAPGV2YWw+ADxyZXQ+ADx2YXI+ADxhcmdfdmFyPgA8d2l0aD4AbGFzdEluZGV4AHRhcmdldABpbmRleABpbnB1dABkZWZpbmVQcm9wZXJ0aWVzAGFwcGx5AGpvaW4AY29uY2F0AHNwbGl0AGNvbnN0cnVjdABnZXRQcm90b3R5cGVPZgBzZXRQcm90b3R5cGVPZgBpc0V4dGVuc2libGUAcHJldmVudEV4dGVuc2lvbnMAaGFzAGRlbGV0ZVByb3BlcnR5AGRlZmluZVByb3BlcnR5AGdldE93blByb3BlcnR5RGVzY3JpcHRvcgBvd25LZXlzAGFkZABkb25lAG5leHQAdmFsdWVzAHNvdXJjZQBmbGFncwBnbG9iYWwAdW5pY29kZQByYXcAbmV3LnRhcmdldAB0aGlzLmFjdGl2ZV9mdW5jADxob21lX29iamVjdD4APGNvbXB1dGVkX2ZpZWxkPgA8c3RhdGljX2NvbXB1dGVkX2ZpZWxkPgA8Y2xhc3NfZmllbGRzX2luaXQ+ADxicmFuZD4AI2NvbnN0cnVjdG9yAGFzAGZyb20AbWV0YQAqZGVmYXVsdCoAKgBNb2R1bGUAdGhlbgByZXNvbHZlAHJlamVjdABwcm9taXNlAHByb3h5AHJldm9rZQBhc3luYwBleGVjAGdyb3VwcwBzdGF0dXMAcmVhc29uAGdsb2JhbFRoaXMAYmlnaW50AGJpZ2Zsb2F0AGJpZ2RlY2ltYWwAcm91bmRpbmdNb2RlAG1heGltdW1TaWduaWZpY2FudERpZ2l0cwBtYXhpbXVtRnJhY3Rpb25EaWdpdHMAdG9KU09OAE9iamVjdABBcnJheQBFcnJvcgBOdW1iZXIAU3RyaW5nAEJvb2xlYW4AU3ltYm9sAEFyZ3VtZW50cwBNYXRoAEpTT04ARGF0ZQBGdW5jdGlvbgBHZW5lcmF0b3JGdW5jdGlvbgBGb3JJbkl0ZXJhdG9yAFJlZ0V4cABBcnJheUJ1ZmZlcgBTaGFyZWRBcnJheUJ1ZmZlcgBVaW50OENsYW1wZWRBcnJheQBJbnQ4QXJyYXkAVWludDhBcnJheQBJbnQxNkFycmF5AFVpbnQxNkFycmF5AEludDMyQXJyYXkAVWludDMyQXJyYXkAQmlnSW50NjRBcnJheQBCaWdVaW50NjRBcnJheQBGbG9hdDMyQXJyYXkARmxvYXQ2NEFycmF5AERhdGFWaWV3AEJpZ0ludABCaWdGbG9hdABCaWdGbG9hdEVudgBCaWdEZWNpbWFsAE9wZXJhdG9yU2V0AE9wZXJhdG9ycwBNYXAAU2V0AFdlYWtNYXAAV2Vha1NldABNYXAgSXRlcmF0b3IAU2V0IEl0ZXJhdG9yAEFycmF5IEl0ZXJhdG9yAFN0cmluZyBJdGVyYXRvcgBSZWdFeHAgU3RyaW5nIEl0ZXJhdG9yAEdlbmVyYXRvcgBQcm94eQBQcm9taXNlAFByb21pc2VSZXNvbHZlRnVuY3Rpb24AUHJvbWlzZVJlamVjdEZ1bmN0aW9uAEFzeW5jRnVuY3Rpb24AQXN5bmNGdW5jdGlvblJlc29sdmUAQXN5bmNGdW5jdGlvblJlamVjdABBc3luY0dlbmVyYXRvckZ1bmN0aW9uAEFzeW5jR2VuZXJhdG9yAEV2YWxFcnJvcgBSYW5nZUVycm9yAFJlZmVyZW5jZUVycm9yAFN5bnRheEVycm9yAFR5cGVFcnJvcgBVUklFcnJvcgBJbnRlcm5hbEVycm9yADxicmFuZD4AU3ltYm9sLnRvUHJpbWl0aXZlAFN5bWJvbC5pdGVyYXRvcgBTeW1ib2wubWF0Y2gAU3ltYm9sLm1hdGNoQWxsAFN5bWJvbC5yZXBsYWNlAFN5bWJvbC5zZWFyY2gAU3ltYm9sLnNwbGl0AFN5bWJvbC50b1N0cmluZ1RhZwBTeW1ib2wuaXNDb25jYXRTcHJlYWRhYmxlAFN5bWJvbC5oYXNJbnN0YW5j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bSxBZGxtAEFob20sQWhvbQBBbmF0b2xpYW5fSGllcm9nbHlwaHMsSGx1dwBBcmFiaWMsQXJhYgBBcm1lbmlhbixBcm1uAEF2ZXN0YW4sQXZzdABCYWxpbmVzZSxCYWxpAEJhbXVtLEJhbXUAQmFzc2FfVmFoLEJhc3MAQmF0YWssQmF0awBCZW5nYWxpLEJlbmcAQmhhaWtzdWtpLEJoa3MAQm9wb21vZm8sQm9wbwBCcmFobWksQnJhaABCcmFpbGxlLEJyYWkAQnVnaW5lc2UsQnVnaQBCdWhpZCxCdWhkAENhbmFkaWFuX0Fib3JpZ2luYWwsQ2FucwBDYXJpYW4sQ2FyaQBDYXVjYXNpYW5fQWxiYW5pYW4sQWdoYgBDaGFrbWEsQ2FrbQBDaGFtLENoYW0AQ2hlcm9rZWUsQ2hlcgBDaG9yYXNtaWFuLENocnMAQ29tbW9uLFp5eXkAQ29wdGljLENvcHQsUWFhYwBDdW5laWZvcm0sWHN1eABDeXByaW90LENwcnQAQ3lyaWxsaWMsQ3lybABDeXByb19NaW5vYW4sQ3BtbgBEZXNlcmV0LERzcnQARGV2YW5hZ2FyaSxEZXZhAERpdmVzX0FrdXJ1LERpYWsARG9ncmEsRG9ncgBEdXBsb3lhbixEdXBsAEVneXB0aWFuX0hpZXJvZ2x5cGhzLEVneXAARWxiYXNhbixFbGJhAEVseW1haWMsRWx5bQBFdGhpb3BpYyxFdGhpAEdlb3JnaWFuLEdlb3IAR2xhZ29saXRpYyxHbGFnAEdvdGhpYyxHb3RoAEdyYW50aGEsR3JhbgBHcmVlayxHcmVrAEd1amFyYXRpLEd1anIAR3VuamFsYV9Hb25kaSxHb25nAEd1cm11a2hpLEd1cnUASGFuLEhhbmkASGFuZ3VsLEhhbmcASGFuaWZpX1JvaGluZ3lhLFJvaGcASGFudW5vbyxIYW5vAEhhdHJhbixIYXRyAEhlYnJldyxIZWJyAEhpcmFnYW5hLEhpcmEASW1wZXJpYWxfQXJhbWFpYyxBcm1pAEluaGVyaXRlZCxaaW5oLFFhYWkASW5zY3JpcHRpb25hbF9QYWhsYXZpLFBobGkASW5zY3JpcHRpb25hbF9QYXJ0aGlhbixQcnRpAEphdmFuZXNlLEphdmEAS2FpdGhpLEt0aGkAS2FubmFkYSxLbmRhAEthdGFrYW5hLEthbmEAS2F5YWhfTGksS2FsaQBLaGFyb3NodGhpLEtoYXIAS2htZXIsS2htcgBLaG9qa2ksS2hvagBLaGl0YW5fU21hbGxfU2NyaXB0LEtpdHMAS2h1ZGF3YWRpLFNpbmQATGFvLExhb28ATGF0aW4sTGF0bgBMZXBjaGEsTGVwYwBMaW1idSxMaW1iAExpbmVhcl9BLExpbmEATGluZWFyX0IsTGluYgBMaXN1LExpc3UATHljaWFuLEx5Y2kATHlkaWFuLEx5ZGkATWFrYXNhcixNYWthAE1haGFqYW5pLE1haGoATWFsYXlhbGFtLE1seW0ATWFuZGFpYyxNYW5kAE1hbmljaGFlYW4sTWFuaQBNYXJjaGVuLE1hcmMATWFzYXJhbV9Hb25kaSxHb25tAE1lZGVmYWlkcmluLE1lZGYATWVldGVpX01heWVrLE10ZWkATWVuZGVfS2lrYWt1aSxNZW5kAE1lcm9pdGljX0N1cnNpdmUsTWVyYwBNZXJvaXRpY19IaWVyb2dseXBocyxNZXJvAE1pYW8sUGxyZABNb2RpLE1vZGkATW9uZ29saWFuLE1vbmcATXJvLE1yb28ATXVsdGFuaSxNdWx0AE15YW5tYXIsTXltcgBOYWJhdGFlYW4sTmJhdABOYW5kaW5hZ2FyaSxOYW5kAE5ld19UYWlfTHVlLFRhbHUATmV3YSxOZXdhAE5rbyxOa29vAE51c2h1LE5zaHUATnlpYWtlbmdfUHVhY2h1ZV9IbW9uZyxIbW5wAE9naGFtLE9nYW0AT2xfQ2hpa2ksT2xjawBPbGRfSHVuZ2FyaWFuLEh1bmcAT2xkX0l0YWxpYyxJdGFsAE9sZF9Ob3J0aF9BcmFiaWFuLE5hcmIAT2xkX1Blcm1pYyxQZXJtAE9sZF9QZXJzaWFuLFhwZW8AT2xkX1NvZ2RpYW4sU29nbwBPbGRfU291dGhfQXJhYmlhbixTYXJiAE9sZF9UdXJraWMsT3JraABPbGRfVXlnaHVyLE91Z3IAT3JpeWEsT3J5YQBPc2FnZSxPc2dlAE9zbWFueWEsT3NtYQBQYWhhd2hfSG1vbmcsSG1uZwBQYWxteXJlbmUsUGFsbQBQYXVfQ2luX0hhdSxQYXVjAFBoYWdzX1BhLFBoYWcAUGhvZW5pY2lhbixQaG54AFBzYWx0ZXJfUGFobGF2aSxQaGxwAFJlamFuZyxSam5nAFJ1bmljLFJ1bnIAU2FtYXJpdGFuLFNhbXIAU2F1cmFzaHRyYSxTYXVyAFNoYXJhZGEsU2hyZABTaGF2aWFuLFNoYXcAU2lkZGhhbSxTaWRkAFNpZ25Xcml0aW5nLFNnbncAU2luaGFsYSxTaW5oAFNvZ2RpYW4sU29nZABTb3JhX1NvbXBlbmcsU29yYQBTb3lvbWJvLFNveW8AU3VuZGFuZXNlLFN1bmQAU3lsb3RpX05hZ3JpLFN5bG8AU3lyaWFjLFN5cmMAVGFnYWxvZyxUZ2xnAFRhZ2JhbndhLFRhZ2IAVGFpX0xlLFRhbGUAVGFpX1RoYW0sTGFuYQBUYWlfVmlldCxUYXZ0AFRha3JpLFRha3IAVGFtaWwsVGFtbABUYW5ndXQsVGFuZwBUZWx1Z3UsVGVsdQBUaGFhbmEsVGhhYQBUaGFpLFRoYWkAVGliZXRhbixUaWJ0AFRpZmluYWdoLFRmbmcAVGlyaHV0YSxUaXJoAFRhbmdzYSxUbnNhAFRvdG8sVG90bwBVZ2FyaXRpYyxVZ2FyAFZhaSxWYWlpAFZpdGhrdXFpLFZpdGgAV2FuY2hvLFdjaG8AV2FyYW5nX0NpdGksV2FyYQBZZXppZGksWWV6aQBZaSxZaWlpAFphbmFiYXphcl9TcXVhcmUsWmFuYgAAAAAAAADAGZlGhRmZRq4ZgEaOGYBGhBmWRoAZnkaAGeFgRqYZhEaEGYENkxngDziDLIAZgiwBgyyAGYAsA4AsgBmALIAZgiwAgCwAkywAviyNGo8s4CQdgTjgSB0ApQUBsQUBggUAtjUHmjUDhTUKhASAGYUEgBmNBIAZggSAGZ8EgBmJBIo4mQSAOOALBIAZoQSNiQC7iQGCia8EsZMNumQBgmStfQGOfQCbUQGAUQCKiQSeBACBBAXJBIAZnATQIIM4jiCBGZkggwsAhwsBgQsBlQsAhgsAgAsCgwsBiAsBgQsBgwsHgAsDgQsAhAsBmAsBgi8AhS8DgS8BlS8Ahi8AgS8AgS8AgS8BgC8AhC8DgS8Bgi8CgC8Ggy8AgC8GkC8Jgi0AiC0Agi0AlS0Ahi0AgS0AhC0BiS0Agi0Agi0BgC0Ogy0Biy0Ghi0AgnIAh3IBgXIBlXIAhnIAgXIAhHIBiHIB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dUMpiJFwEoaDPgCGPgCBPgCAPuC+NoI+LII2EIM+B+ErZWij4AojBIwjAogjBokjAYMjgxlwAfutOAGWOAjgExk74JUZCaYZAb0ZgjiQGYc4gRmGOJ0Zgzi8GRTFLGA5kxkL1hkImBlgJtQZAMYZAIEZAYAZAYEZAYMZAIsZAIAZAIYZAMAZAIMZAYcZAIYZAJsZAIMZAIQZAIAZAoYZAODzGQHgwxkBsRniK4IOhIIAjoJj755GYICGKQCQKQGGKQCBKQCEKWB0rGYCjWYBiWYDgWZg356ZELmdBICdZH+GJwCDJwCBJwCOJwDgZFcBj1coywEDiQEDgQFisMMZS7wZYGGDBACaBACBBACABAGABACJBACDBACABACABAWABAOABACABACABACCBACBBACABAGABACABACABACABACABACBBACABAGDBACGBACDBACDBACABACJBACQBASCBACEBACQBDOBBGCtqxkD4AMZC44ZAY4ZAI4ZAKQZCeBNGTeZGYA2gRkMqxkDiBkGgRkNhRlgOeN3GQSPGQKMGQLgExkL2BkGixkDgBkOixkDtxkHiRkFpxkHnRkBgRlN4PMZC40ZAYQZAoQZAoYZCJwZAooZBIUZCYkZBYcZB4YZCOAyGQC2GSSJGWOl8JZ/MB/v2DAG4H0wAfAGITAN8AzQMGu+4b0wZYHwAuowetxVgBkd3xlgH+CPOABBoNACC9ILgsEAAAEsAQAAASwcAAwBRoCSAAACHWwAAh0pAQIdRgACHSmBAwAABgRkMomTnw0AAAYEZDKJk58AAwSJkwEAAAcBBGQyiZOfHwAACQEEUVJxejKEiQkACgIEiQkACQMEk58FAAACBIliAAACBDKB+wAADQsgKy0vPUZQcn+QkpcADAsgKy0vPUZQcpCSlxAAABQLICIuVCstLz1PUGFyRIOIj5CSlwAVCyAiLlQrLS89SE9QYXJEg4iPkJKXCQQgIjxPdQAJAwsViHUACQIvXnUACQItQoB1AA0CK5CAcQAJAj1hgs8ACQMVX4yAMAAAAihGhbgAAQQRM4uKgEoAAQJceAAAAAJceIRJAAAECyArPQABIAAECyArPQACICsAASABAgsgAAIgfwACCyAAAiB/AAYgPVBykJIAASABAiB/AQEgAAIgfwACCyAGASAAAiBhAAILIAEBIAACCyADASAACAsgKz1hcpKXAAIgKwADICs9AQILIAABCwECICsAAWGARAABASw1AAACHYkAAAABiYGzAAACRlyAPwAAAyArRozRAAACHSmBPAABBg0xMDY+oAAFDTEwNj4BAAABMAAACQYNMTA2PqAAAAAFDTEwNj4HBg0xMDY+oAMFDTEwNj4JAAMCDTABAAAFDTEwNj4EAjY+AAAABQ0xMDY+AwABAzA2PgEBMFgAAwI2PgIAAAI2PlkAAAYNMTA2PqAAAjY+gBIADwEwHwAjATA7ACcBMDcAMAEwDgALATAyAAABMFcAGAEwCQAEATBfAB4BMMAx7wAAAh0pgA8ABwIwRoCnAAIOICItL0I9PE9QW2FEj5cCDSAiLS9CPTxPW2FEj5cDCyAiLS9CPE9bRI+XgDYAAAILIAAAAAIgkDkAAAM/Rl+AHwAAAhA7wBLtAAECBGSAMQAAAgSTCQAAAgSTRgABBQ0xMDY+gJkABAYNMTA2PqAJAAACNj4sAAECNj6A3wABAx4cSgACHEoDACwDHElKAgAIAhxKgR8AGwIEGod1AAACUnGHjQAAAiuQAAAAAiuQNgABAiuQjBIAAQIrkAAAAAIrkMBcSwADASOWOwARATCeXQABATDOzS0AAAAAAENuLFVuYXNzaWduZWQATHUsVXBwZXJjYXNlX0xldHRlcgBMbCxMb3dlcmNhc2VfTGV0dGVyAEx0LFRpdGxlY2FzZV9MZXR0ZXIATG0sTW9kaWZpZXJfTGV0dGVyAExvLE90aGVyX0xldHRlcgBNbixOb25zcGFjaW5nX01hcmsATWMsU3BhY2luZ19NYXJrAE1lLEVuY2xvc2luZ19NYXJrAE5kLERlY2ltYWxfTnVtYmVyLGRpZ2l0AE5sLExldHRlcl9OdW1iZXIATm8sT3RoZXJfTnVtYmVyAFNtLE1hdGhfU3ltYm9sAFNjLEN1cnJlbmN5X1N5bWJvbABTayxNb2RpZmllcl9TeW1ib2wAU28sT3RoZXJfU3ltYm9sAFBjLENvbm5lY3Rvcl9QdW5jdHVhdGlvbgBQZCxEYXNoX1B1bmN0dWF0aW9uAFBzLE9wZW5fUHVuY3R1YXRpb24AUGUsQ2xvc2VfUHVuY3R1YXRpb24AUGksSW5pdGlhbF9QdW5jdHVhdGlvbgBQZixGaW5hbF9QdW5jdHVhdGlvbgBQbyxPdGhlcl9QdW5jdHVhdGlvbgBacyxTcGFjZV9TZXBhcmF0b3IAWmwsTGluZV9TZXBhcmF0b3IAWnAsUGFyYWdyYXBoX1NlcGFyYXRvcgBDYyxDb250cm9sLGNudHJsAENmLEZvcm1hdABDcyxTdXJyb2dhdGUAQ28sUHJpdmF0ZV9Vc2UATEMsQ2FzZWRfTGV0dGVyAEwsTGV0dGVyAE0sTWFyayxDb21iaW5pbmdfTWFyawBOLE51bWJlcgBTLFN5bWJvbABQLFB1bmN0dWF0aW9uLHB1bmN0AFosU2VwYXJhdG9yAEMsT3RoZXIAQYDcAguwCA4AAAA+AAAAwAEAAAAOAAAA8AAAAAB/AAAAgAMBAAA8QVNDSUlfSGV4X0RpZ2l0LEFIZXgAQmlkaV9Db250cm9sLEJpZGlfQwBEYXNoAERlcHJlY2F0ZWQsRGVwAERpYWNyaXRpYyxEaWEARXh0ZW5kZXIsRXh0AEhleF9EaWdpdCxIZXgASURTX0JpbmFyeV9PcGVyYXRvcixJRFNCAElEU19UcmluYXJ5X09wZXJhdG9yLElEU1QASWRlb2dyYXBoaWMsSWRlbwBKb2luX0NvbnRyb2wsSm9pbl9DAExvZ2ljYWxfT3JkZXJfRXhjZXB0aW9uLExPRQBOb25jaGFyYWN0ZXJfQ29kZV9Qb2ludCxOQ2hhcgBQYXR0ZXJuX1N5bnRheCxQYXRfU3luAFBhdHRlcm5fV2hpdGVfU3BhY2UsUGF0X1dTAFF1b3RhdGlvbl9NYXJrLFFNYXJrAFJhZGljYWwAUmVnaW9uYWxfSW5kaWNhdG9yLFJJAFNlbnRlbmNlX1Rlcm1pbmFsLFNUZXJtAFNvZnRfRG90dGVkLFNEAFRlcm1pbmFsX1B1bmN0dWF0aW9uLFRlcm0AVW5pZmllZF9JZGVvZ3JhcGgsVUlkZW8AVmFyaWF0aW9uX1NlbGVjdG9yLFZTAFdoaXRlX1NwYWNlLHNwYWNlAEJpZGlfTWlycm9yZWQsQmlkaV9NAEVtb2ppAEVtb2ppX0NvbXBvbmVudCxFQ29tcABFbW9qaV9Nb2RpZmllcixFTW9kAEVtb2ppX01vZGlmaWVyX0Jhc2UsRUJhc2UARW1vamlfUHJlc2VudGF0aW9uLEVQcmVzAEV4dGVuZGVkX1BpY3RvZ3JhcGhpYyxFeHRQ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V7wDV20AV2sAV00AV2sAqQNNAKkDYS5tLkJxY2NjZEPRa2dDby5kQkd5aGFIUGluS0tLTWt0bG1sbmxvZ2x4bWJtaWxtb2xQSHAubS5QUE1QUnNyU3ZXYlbRbUHRbTEA5WUxADAA5WUyADAA5WUzADAA5WVnYWxKBEwEQ0ZRJgFTASenN6trAlKrSIz0ZsqOyIzRbjJO5VOcn5yfUVnRkYdVSFn2YWl2hX8/hrqH+IiPkAJqG23ZcN5zPYRqkfGZgk51UwRrG3Ithh6eUF3rb82FZInJYtiBH4jKXhdnam38cs6Qhk+3Ud5SxGTTahBy53YBgAaGXIbvjTKXb5v6nYx4f3mgfcmDBJN/ntaK31gEX2B8foBicsp4woz3lthYYlwTatptD28vfTd+S5bSUouA3FHMURx6vn3xg3WWgIvPYgJq/oo5TudbEmCHc3B1F1P7eL9PqV8NTsxseGUifcNTXlgBd0mEqoq6a7CPiGz+YuWCoGNlda5OaVHJUYFo53xvgtKKz5H1UkJUc1nsXsVl/m8qea2VapqXns6em1LGZndrYo90XpBhAGKaZCNvSXGJdMp59H1vgCaP7oQjkEqTF1KjUr1UyHDCiKqKyV71X3tjrms+fHVz5E75Vudbul0cYLJzaXSaf0aANJL2lkiXGJiLT655tJG4luFghk7aUO5bP1yZZQJqznFCdvyEfJCNn4hmLpaJUntn82dBbZxuCXRZdWt4EH1emG1RLmJ4litQGV3qbSqPi19EYRdoh3OGlilSD1RlXBNmTmeoaOVsBnTidXl/z4jhiMyR4pY/U7puHVTQcZh0+oWjllecn56XZ8tt6IHLeiB7knzAcplwWIvATjaDOlIHUqZe02LWfIVbHm20ZjuPTIhNlouJ015AUcBVAAAAAFpYAAB0ZgAAAADeUSpzynY8eV55ZXmPeVaXvny9fwAAEoYAAPiKAAAAADiQ/ZDvmPyYKJm0nd6Qt5auT+dQTVHJUuRSUVOdVQZWaFZAWKhYZFxuXJRgaGGOYfJhT2XiZZFmhWh3bRpuIm9ucStyInSReD55SXlIeVB5VnldeY15jnlAeoF6wHv0fQl+QX5yfwWA7YF5gnmCV4QQiZaJAYs5i9OMCI22jziQ45b/lzuYdWDuQhiCAiZOtVFoUYBPRVGAUcdS+lKdVVVVmVXiVVpYs1hEWVRZYloo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";
return f;
}
var wasmBinaryFile;
function getBinarySync(file) {
if (file == wasmBinaryFile && wasmBinary) {
return new Uint8Array(wasmBinary);
}
var binary = tryParseAsDataURI(file);
if (binary) {
return binary;
}
if (readBinary) {
return readBinary(file);
}
throw "both async and sync fetching of the wasm failed";
}
function getBinaryPromise(binaryFile) {
return Promise.resolve().then(() => getBinarySync(binaryFile));
}
function instantiateArrayBuffer(binaryFile, imports, receiver) {
return getBinaryPromise(binaryFile).then((binary) => WebAssembly.instantiate(binary, imports)).then(receiver, (reason) => {
err(`failed to asynchronously prepare wasm: ${reason}`);
abort(reason);
});
}
function instantiateAsync(binary, binaryFile, imports, callback) {
return instantiateArrayBuffer(binaryFile, imports, callback);
}
function getWasmImports() {
return { a: wasmImports };
}
function createWasm() {
var info = getWasmImports();
function receiveInstance(instance, module3) {
wasmExports = instance.exports;
wasmExports = Asyncify.instrumentWasmExports(wasmExports);
wasmMemory = wasmExports["q"];
updateMemoryViews();
addOnInit(wasmExports["r"]);
removeRunDependency("wasm-instantiate");
return wasmExports;
}
addRunDependency("wasm-instantiate");
function receiveInstantiationResult(result) {
receiveInstance(result["instance"]);
}
if (Module2["instantiateWasm"]) {
try {
return Module2["instantiateWasm"](info, receiveInstance);
} catch (e) {
err(`Module.instantiateWasm callback failed with error: ${e}`);
readyPromiseReject(e);
}
}
wasmBinaryFile ?? (wasmBinaryFile = findWasmBinary());
instantiateAsync(wasmBinary, wasmBinaryFile, info, receiveInstantiationResult).catch(readyPromiseReject);
return {};
}
function set_asyncify_stack_size(size) {
Asyncify.StackSize = size || 81920;
}
function qts_host_call_function(ctx, this_ptr, argc, argv, magic_func_id) {
const asyncify = { ["handleSleep"]: Asyncify.handleSleep };
return Module2["callbacks"]["callFunction"](asyncify, ctx, this_ptr, argc, argv, magic_func_id);
}
function qts_host_interrupt_handler(rt) {
const asyncify = void 0;
return Module2["callbacks"]["shouldInterrupt"](asyncify, rt);
}
function qts_host_load_module_source(rt, ctx, module_name) {
const asyncify = { ["handleSleep"]: Asyncify.handleSleep };
const moduleNameString = UTF8ToString(module_name);
return Module2["callbacks"]["loadModuleSource"](asyncify, rt, ctx, moduleNameString);
}
function qts_host_normalize_module(rt, ctx, module_base_name, module_name) {
const asyncify = { ["handleSleep"]: Asyncify.handleSleep };
const moduleBaseNameString = UTF8ToString(module_base_name);
const moduleNameString = UTF8ToString(module_name);
return Module2["callbacks"]["normalizeModule"](asyncify, rt, ctx, moduleBaseNameString, moduleNameString);
}
function ExitStatus(status) {
this.name = "ExitStatus";
this.message = `Program terminated with exit(${status})`;
this.status = status;
}
var callRuntimeCallbacks = (callbacks) => {
callbacks.forEach((f) => f(Module2));
};
var noExitRuntime = Module2["noExitRuntime"] || true;
var stackRestore = (val) => __emscripten_stack_restore(val);
var stackSave = () => _emscripten_stack_get_current();
var UTF8Decoder = typeof TextDecoder != "undefined" ? new TextDecoder() : void 0;
var UTF8ArrayToString = (heapOrArray, idx = 0, maxBytesToRead = NaN) => {
var endIdx = idx + maxBytesToRead;
var endPtr = idx;
while (heapOrArray[endPtr] && !(endPtr >= endIdx))
++endPtr;
if (endPtr - idx > 16 && heapOrArray.buffer && UTF8Decoder) {
return UTF8Decoder.decode(heapOrArray.subarray(idx, endPtr));
}
var str = "";
while (idx < endPtr) {
var u0 = heapOrArray[idx++];
if (!(u0 & 128)) {
str += String.fromCharCode(u0);
continue;
}
var u1 = heapOrArray[idx++] & 63;
if ((u0 & 224) == 192) {
str += String.fromCharCode((u0 & 31) << 6 | u1);
continue;
}
var u2 = heapOrArray[idx++] & 63;
if ((u0 & 240) == 224) {
u0 = (u0 & 15) << 12 | u1 << 6 | u2;
} else {
u0 = (u0 & 7) << 18 | u1 << 12 | u2 << 6 | heapOrArray[idx++] & 63;
}
if (u0 < 65536) {
str += String.fromCharCode(u0);
} else {
var ch = u0 - 65536;
str += String.fromCharCode(55296 | ch >> 10, 56320 | ch & 1023);
}
}
return str;
};
var UTF8ToString = (ptr, maxBytesToRead) => ptr ? UTF8ArrayToString(HEAPU8, ptr, maxBytesToRead) : "";
var ___assert_fail = (condition, filename, line, func) => {
abort(`Assertion failed: ${UTF8ToString(condition)}, at: ` + [filename ? UTF8ToString(filename) : "unknown filename", line, func ? UTF8ToString(func) : "unknown function"]);
};
var __abort_js = () => {
abort("");
};
var isLeapYear = (year) => year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0);
var MONTH_DAYS_LEAP_CUMULATIVE = [0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335];
var MONTH_DAYS_REGULAR_CUMULATIVE = [0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334];
var ydayFromDate = (date) => {
var leap = isLeapYear(date.getFullYear());
var monthDaysCumulative = leap ? MONTH_DAYS_LEAP_CUMULATIVE : MONTH_DAYS_REGULAR_CUMULATIVE;
var yday = monthDaysCumulative[date.getMonth()] + date.getDate() - 1;
return yday;
};
var convertI32PairToI53Checked = (lo, hi) => hi + 2097152 >>> 0 < 4194305 - !!lo ? (lo >>> 0) + hi * 4294967296 : NaN;
function __localtime_js(time_low, time_high, tmPtr) {
var time = convertI32PairToI53Checked(time_low, time_high);
var date = new Date(time * 1e3);
HEAP32[tmPtr >> 2] = date.getSeconds();
HEAP32[tmPtr + 4 >> 2] = date.getMinutes();
HEAP32[tmPtr + 8 >> 2] = date.getHours();
HEAP32[tmPtr + 12 >> 2] = date.getDate();
HEAP32[tmPtr + 16 >> 2] = date.getMonth();
HEAP32[tmPtr + 20 >> 2] = date.getFullYear() - 1900;
HEAP32[tmPtr + 24 >> 2] = date.getDay();
var yday = ydayFromDate(date) | 0;
HEAP32[tmPtr + 28 >> 2] = yday;
HEAP32[tmPtr + 36 >> 2] = -(date.getTimezoneOffset() * 60);
var start = new Date(date.getFullYear(), 0, 1);
var summerOffset = new Date(date.getFullYear(), 6, 1).getTimezoneOffset();
var winterOffset = start.getTimezoneOffset();
var dst = (summerOffset != winterOffset && date.getTimezoneOffset() == Math.min(winterOffset, summerOffset)) | 0;
HEAP32[tmPtr + 32 >> 2] = dst;
}
var stringToUTF8Array = (str, heap, outIdx, maxBytesToWrite) => {
if (!(maxBytesToWrite > 0))
return 0;
var startIdx = outIdx;
var endIdx = outIdx + maxBytesToWrite - 1;
for (var i = 0; i < str.length; ++i) {
var u = str.charCodeAt(i);
if (u >= 55296 && u <= 57343) {
var u1 = str.charCodeAt(++i);
u = 65536 + ((u & 1023) << 10) | u1 & 1023;
}
if (u <= 127) {
if (outIdx >= endIdx)
break;
heap[outIdx++] = u;
} else if (u <= 2047) {
if (outIdx + 1 >= endIdx)
break;
heap[outIdx++] = 192 | u >> 6;
heap[outIdx++] = 128 | u & 63;
} else if (u <= 65535) {
if (outIdx + 2 >= endIdx)
break;
heap[outIdx++] = 224 | u >> 12;
heap[outIdx++] = 128 | u >> 6 & 63;
heap[outIdx++] = 128 | u & 63;
} else {
if (outIdx + 3 >= endIdx)
break;
heap[outIdx++] = 240 | u >> 18;
heap[outIdx++] = 128 | u >> 12 & 63;
heap[outIdx++] = 128 | u >> 6 & 63;
heap[outIdx++] = 128 | u & 63;
}
}
heap[outIdx] = 0;
return outIdx - startIdx;
};
var stringToUTF8 = (str, outPtr, maxBytesToWrite) => stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite);
var __tzset_js = (timezone, daylight, std_name, dst_name) => {
var currentYear = (/* @__PURE__ */ new Date()).getFullYear();
var winter = new Date(currentYear, 0, 1);
var summer = new Date(currentYear, 6, 1);
var winterOffset = winter.getTimezoneOffset();
var summerOffset = summer.getTimezoneOffset();
var stdTimezoneOffset = Math.max(winterOffset, summerOffset);
HEAPU32[timezone >> 2] = stdTimezoneOffset * 60;
HEAP32[daylight >> 2] = Number(winterOffset != summerOffset);
var extractZone = (timezoneOffset) => {
var sign = timezoneOffset >= 0 ? "-" : "+";
var absOffset = Math.abs(timezoneOffset);
var hours = String(Math.floor(absOffset / 60)).padStart(2, "0");
var minutes = String(absOffset % 60).padStart(2, "0");
return `UTC${sign}${hours}${minutes}`;
};
var winterName = extractZone(winterOffset);
var summerName = extractZone(summerOffset);
if (summerOffset < winterOffset) {
stringToUTF8(winterName, std_name, 17);
stringToUTF8(summerName, dst_name, 17);
} else {
stringToUTF8(winterName, dst_name, 17);
stringToUTF8(summerName, std_name, 17);
}
};
var _emscripten_date_now = () => Date.now();
var getHeapMax = () => 2147483648;
var alignMemory = (size, alignment) => Math.ceil(size / alignment) * alignment;
var growMemory = (size) => {
var b = wasmMemory.buffer;
var pages = (size - b.byteLength + 65535) / 65536 | 0;
try {
wasmMemory.grow(pages);
updateMemoryViews();
return 1;
} catch (e) {
}
};
var _emscripten_resize_heap = (requestedSize) => {
var oldSize = HEAPU8.length;
requestedSize >>>= 0;
var maxHeapSize = getHeapMax();
if (requestedSize > maxHeapSize) {
return false;
}
for (var cutDown = 1; cutDown <= 4; cutDown *= 2) {
var overGrownHeapSize = oldSize * (1 + 0.2 / cutDown);
overGrownHeapSize = Math.min(overGrownHeapSize, requestedSize + 100663296);
var newSize = Math.min(maxHeapSize, alignMemory(Math.max(requestedSize, overGrownHeapSize), 65536));
var replacement = growMemory(newSize);
if (replacement) {
return true;
}
}
return false;
};
var ENV = {};
var getExecutableName = () => thisProgram || "./this.program";
var getEnvStrings = () => {
if (!getEnvStrings.strings) {
var lang = (typeof navigator == "object" && navigator.languages && navigator.languages[0] || "C").replace("-", "_") + ".UTF-8";
var env = { USER: "web_user", LOGNAME: "web_user", PATH: "/", PWD: "/", HOME: "/home/web_user", LANG: lang, _: getExecutableName() };
for (var x in ENV) {
if (ENV[x] === void 0)
delete env[x];
else
env[x] = ENV[x];
}
var strings = [];
for (var x in env) {
strings.push(`${x}=${env[x]}`);
}
getEnvStrings.strings = strings;
}
return getEnvStrings.strings;
};
var stringToAscii = (str, buffer) => {
for (var i = 0; i < str.length; ++i) {
HEAP8[buffer++] = str.charCodeAt(i);
}
HEAP8[buffer] = 0;
};
var _environ_get = (__environ, environ_buf) => {
var bufSize = 0;
getEnvStrings().forEach((string, i) => {
var ptr = environ_buf + bufSize;
HEAPU32[__environ + i * 4 >> 2] = ptr;
stringToAscii(string, ptr);
bufSize += string.length + 1;
});
return 0;
};
var _environ_sizes_get = (penviron_count, penviron_buf_size) => {
var strings = getEnvStrings();
HEAPU32[penviron_count >> 2] = strings.length;
var bufSize = 0;
strings.forEach((string) => bufSize += string.length + 1);
HEAPU32[penviron_buf_size >> 2] = bufSize;
return 0;
};
var _fd_close = (fd) => 52;
function _fd_seek(fd, offset_low, offset_high, whence, newOffset) {
var offset = convertI32PairToI53Checked(offset_low, offset_high);
return 70;
}
var printCharBuffers = [null, [], []];
var printChar = (stream, curr) => {
var buffer = printCharBuffers[stream];
if (curr === 0 || curr === 10) {
(stream === 1 ? out : err)(UTF8ArrayToString(buffer));
buffer.length = 0;
} else {
buffer.push(curr);
}
};
var _fd_write = (fd, iov, iovcnt, pnum) => {
var num = 0;
for (var i = 0; i < iovcnt; i++) {
var ptr = HEAPU32[iov >> 2];
var len = HEAPU32[iov + 4 >> 2];
iov += 8;
for (var j = 0; j < len; j++) {
printChar(fd, HEAPU8[ptr + j]);
}
num += len;
}
HEAPU32[pnum >> 2] = num;
return 0;
};
var runAndAbortIfError = (func) => {
try {
return func();
} catch (e) {
abort(e);
}
};
var handleException = (e) => {
if (e instanceof ExitStatus || e == "unwind") {
return EXITSTATUS;
}
quit_(1, e);
};
var runtimeKeepaliveCounter = 0;
var keepRuntimeAlive = () => noExitRuntime || runtimeKeepaliveCounter > 0;
var _proc_exit = (code) => {
EXITSTATUS = code;
if (!keepRuntimeAlive()) {
Module2["onExit"]?.(code);
ABORT = true;
}
quit_(code, new ExitStatus(code));
};
var exitJS = (status, implicit) => {
EXITSTATUS = status;
_proc_exit(status);
};
var _exit = exitJS;
var maybeExit = () => {
if (!keepRuntimeAlive()) {
try {
_exit(EXITSTATUS);
} catch (e) {
handleException(e);
}
}
};
var callUserCallback = (func) => {
if (ABORT) {
return;
}
try {
func();
maybeExit();
} catch (e) {
handleException(e);
}
};
var runtimeKeepalivePush = () => {
runtimeKeepaliveCounter += 1;
};
var runtimeKeepalivePop = () => {
runtimeKeepaliveCounter -= 1;
};
var Asyncify = { instrumentWasmImports(imports) {
var importPattern = /^(qts_host_call_function|qts_host_load_module_source|qts_host_normalize_module|invoke_.*|__asyncjs__.*)$/;
for (let [x, original] of Object.entries(imports)) {
if (typeof original == "function") {
let isAsyncifyImport = original.isAsync || importPattern.test(x);
}
}
}, instrumentWasmExports(exports3) {
var ret = {};
for (let [x, original] of Object.entries(exports3)) {
if (typeof original == "function") {
ret[x] = (...args) => {
Asyncify.exportCallStack.push(x);
try {
return original(...args);
} finally {
if (!ABORT) {
var y = Asyncify.exportCallStack.pop();
Asyncify.maybeStopUnwind();
}
}
};
} else {
ret[x] = original;
}
}
return ret;
}, State: { Normal: 0, Unwinding: 1, Rewinding: 2, Disabled: 3 }, state: 0, StackSize: 81920, currData: null, handleSleepReturnValue: 0, exportCallStack: [], callStackNameToId: {}, callStackIdToName: {}, callStackId: 0, asyncPromiseHandlers: null, sleepCallbacks: [], getCallStackId(funcName) {
var id = Asyncify.callStackNameToId[funcName];
if (id === void 0) {
id = Asyncify.callStackId++;
Asyncify.callStackNameToId[funcName] = id;
Asyncify.callStackIdToName[id] = funcName;
}
return id;
}, maybeStopUnwind() {
if (Asyncify.currData && Asyncify.state === Asyncify.State.Unwinding && Asyncify.exportCallStack.length === 0) {
Asyncify.state = Asyncify.State.Normal;
runAndAbortIfError(_asyncify_stop_unwind);
if (typeof Fibers != "undefined") {
Fibers.trampoline();
}
}
}, whenDone() {
return new Promise((resolve, reject) => {
Asyncify.asyncPromiseHandlers = { resolve, reject };
});
}, allocateData() {
var ptr = _malloc(12 + Asyncify.StackSize);
Asyncify.setDataHeader(ptr, ptr + 12, Asyncify.StackSize);
Asyncify.setDataRewindFunc(ptr);
return ptr;
}, setDataHeader(ptr, stack, stackSize) {
HEAPU32[ptr >> 2] = stack;
HEAPU32[ptr + 4 >> 2] = stack + stackSize;
}, setDataRewindFunc(ptr) {
var bottomOfCallStack = Asyncify.exportCallStack[0];
var rewindId = Asyncify.getCallStackId(bottomOfCallStack);
HEAP32[ptr + 8 >> 2] = rewindId;
}, getDataRewindFuncName(ptr) {
var id = HEAP32[ptr + 8 >> 2];
var name = Asyncify.callStackIdToName[id];
return name;
}, getDataRewindFunc(name) {
var func = wasmExports[name];
return func;
}, doRewind(ptr) {
var name = Asyncify.getDataRewindFuncName(ptr);
var func = Asyncify.getDataRewindFunc(name);
return func();
}, handleSleep(startAsync) {
if (ABORT)
return;
if (Asyncify.state === Asyncify.State.Normal) {
var reachedCallback = false;
var reachedAfterCallback = false;
startAsync((handleSleepReturnValue = 0) => {
if (ABORT)
return;
Asyncify.handleSleepReturnValue = handleSleepReturnValue;
reachedCallback = true;
if (!reachedAfterCallback) {
return;
}
Asyncify.state = Asyncify.State.Rewinding;
runAndAbortIfError(() => _asyncify_start_rewind(Asyncify.currData));
if (typeof MainLoop != "undefined" && MainLoop.func) {
MainLoop.resume();
}
var asyncWasmReturnValue, isError = false;
try {
asyncWasmReturnValue = Asyncify.doRewind(Asyncify.currData);
} catch (err2) {
asyncWasmReturnValue = err2;
isError = true;
}
var handled = false;
if (!Asyncify.currData) {
var asyncPromiseHandlers = Asyncify.asyncPromiseHandlers;
if (asyncPromiseHandlers) {
Asyncify.asyncPromiseHandlers = null;
(isError ? asyncPromiseHandlers.reject : asyncPromiseHandlers.resolve)(asyncWasmReturnValue);
handled = true;
}
}
if (isError && !handled) {
throw asyncWasmReturnValue;
}
});
reachedAfterCallback = true;
if (!reachedCallback) {
Asyncify.state = Asyncify.State.Unwinding;
Asyncify.currData = Asyncify.allocateData();
if (typeof MainLoop != "undefined" && MainLoop.func) {
MainLoop.pause();
}
runAndAbortIfError(() => _asyncify_start_unwind(Asyncify.currData));
}
} else if (Asyncify.state === Asyncify.State.Rewinding) {
Asyncify.state = Asyncify.State.Normal;
runAndAbortIfError(_asyncify_stop_rewind);
_free(Asyncify.currData);
Asyncify.currData = null;
Asyncify.sleepCallbacks.forEach(callUserCallback);
} else {
abort(`invalid state: ${Asyncify.state}`);
}
return Asyncify.handleSleepReturnValue;
}, handleAsync(startAsync) {
return Asyncify.handleSleep((wakeUp) => {
startAsync().then(wakeUp);
});
} };
var getCFunc = (ident) => {
var func = Module2["_" + ident];
return func;
};
var writeArrayToMemory = (array, buffer) => {
HEAP8.set(array, buffer);
};
var lengthBytesUTF8 = (str) => {
var len = 0;
for (var i = 0; i < str.length; ++i) {
var c = str.charCodeAt(i);
if (c <= 127) {
len++;
} else if (c <= 2047) {
len += 2;
} else if (c >= 55296 && c <= 57343) {
len += 4;
++i;
} else {
len += 3;
}
}
return len;
};
var stackAlloc = (sz) => __emscripten_stack_alloc(sz);
var stringToUTF8OnStack = (str) => {
var size = lengthBytesUTF8(str) + 1;
var ret = stackAlloc(size);
stringToUTF8(str, ret, size);
return ret;
};
var ccall = (ident, returnType, argTypes, args, opts) => {
var toC = { string: (str) => {
var ret2 = 0;
if (str !== null && str !== void 0 && str !== 0) {
ret2 = stringToUTF8OnStack(str);
}
return ret2;
}, array: (arr) => {
var ret2 = stackAlloc(arr.length);
writeArrayToMemory(arr, ret2);
return ret2;
} };
function convertReturnValue(ret2) {
if (returnType === "string") {
return UTF8ToString(ret2);
}
if (returnType === "boolean")
return Boolean(ret2);
return ret2;
}
var func = getCFunc(ident);
var cArgs = [];
var stack = 0;
if (args) {
for (var i = 0; i < args.length; i++) {
var converter = toC[argTypes[i]];
if (converter) {
if (stack === 0)
stack = stackSave();
cArgs[i] = converter(args[i]);
} else {
cArgs[i] = args[i];
}
}
}
var previousAsync = Asyncify.currData;
var ret = func(...cArgs);
function onDone(ret2) {
runtimeKeepalivePop();
if (stack !== 0)
stackRestore(stack);
return convertReturnValue(ret2);
}
var asyncMode = opts?.async;
runtimeKeepalivePush();
if (Asyncify.currData != previousAsync) {
return Asyncify.whenDone().then(onDone);
}
ret = onDone(ret);
if (asyncMode)
return Promise.resolve(ret);
return ret;
};
var cwrap = (ident, returnType, argTypes, opts) => {
var numericArgs = !argTypes || argTypes.every((type) => type === "number" || type === "boolean");
var numericRet = returnType !== "string";
if (numericRet && numericArgs && !opts) {
return getCFunc(ident);
}
return (...args) => ccall(ident, returnType, argTypes, args, opts);
};
var wasmImports = { a: ___assert_fail, n: __abort_js, i: __localtime_js, l: __tzset_js, m: _emscripten_date_now, k: _emscripten_resize_heap, d: _environ_get, e: _environ_sizes_get, c: _fd_close, j: _fd_seek, b: _fd_write, o: qts_host_call_function, h: qts_host_interrupt_handler, g: qts_host_load_module_source, f: qts_host_normalize_module, p: set_asyncify_stack_size };
var wasmExports = createWasm();
var ___wasm_call_ctors = () => (___wasm_call_ctors = wasmExports["r"])();
var _malloc = Module2["_malloc"] = (a0) => (_malloc = Module2["_malloc"] = wasmExports["s"])(a0);
var _QTS_Throw = Module2["_QTS_Throw"] = (a0, a1) => (_QTS_Throw = Module2["_QTS_Throw"] = wasmExports["t"])(a0, a1);
var _QTS_NewError = Module2["_QTS_NewError"] = (a0) => (_QTS_NewError = Module2["_QTS_NewError"] = wasmExports["u"])(a0);
var _QTS_RuntimeSetMemoryLimit = Module2["_QTS_RuntimeSetMemoryLimit"] = (a0, a1) => (_QTS_RuntimeSetMemoryLimit = Module2["_QTS_RuntimeSetMemoryLimit"] = wasmExports["v"])(a0, a1);
var _QTS_RuntimeComputeMemoryUsage = Module2["_QTS_RuntimeComputeMemoryUsage"] = (a0, a1) => (_QTS_RuntimeComputeMemoryUsage = Module2["_QTS_RuntimeComputeMemoryUsage"] = wasmExports["w"])(a0, a1);
var _QTS_RuntimeDumpMemoryUsage = Module2["_QTS_RuntimeDumpMemoryUsage"] = (a0) => (_QTS_RuntimeDumpMemoryUsage = Module2["_QTS_RuntimeDumpMemoryUsage"] = wasmExports["x"])(a0);
var _QTS_RecoverableLeakCheck = Module2["_QTS_RecoverableLeakCheck"] = () => (_QTS_RecoverableLeakCheck = Module2["_QTS_RecoverableLeakCheck"] = wasmExports["y"])();
var _QTS_BuildIsSanitizeLeak = Module2["_QTS_BuildIsSanitizeLeak"] = () => (_QTS_BuildIsSanitizeLeak = Module2["_QTS_BuildIsSanitizeLeak"] = wasmExports["z"])();
var _QTS_RuntimeSetMaxStackSize = Module2["_QTS_RuntimeSetMaxStackSize"] = (a0, a1) => (_QTS_RuntimeSetMaxStackSize = Module2["_QTS_RuntimeSetMaxStackSize"] = wasmExports["A"])(a0, a1);
var _QTS_GetUndefined = Module2["_QTS_GetUndefined"] = () => (_QTS_GetUndefined = Module2["_QTS_GetUndefined"] = wasmExports["B"])();
var _QTS_GetNull = Module2["_QTS_GetNull"] = () => (_QTS_GetNull = Module2["_QTS_GetNull"] = wasmExports["C"])();
var _QTS_GetFalse = Module2["_QTS_GetFalse"] = () => (_QTS_GetFalse = Module2["_QTS_GetFalse"] = wasmExports["D"])();
var _QTS_GetTrue = Module2["_QTS_GetTrue"] = () => (_QTS_GetTrue = Module2["_QTS_GetTrue"] = wasmExports["E"])();
var _QTS_NewRuntime = Module2["_QTS_NewRuntime"] = () => (_QTS_NewRuntime = Module2["_QTS_NewRuntime"] = wasmExports["F"])();
var _QTS_FreeRuntime = Module2["_QTS_FreeRuntime"] = (a0) => (_QTS_FreeRuntime = Module2["_QTS_FreeRuntime"] = wasmExports["G"])(a0);
var _QTS_NewContext = Module2["_QTS_NewContext"] = (a0) => (_QTS_NewContext = Module2["_QTS_NewContext"] = wasmExports["H"])(a0);
var _QTS_FreeContext = Module2["_QTS_FreeContext"] = (a0) => (_QTS_FreeContext = Module2["_QTS_FreeContext"] = wasmExports["I"])(a0);
var _QTS_FreeValuePointer = Module2["_QTS_FreeValuePointer"] = (a0, a1) => (_QTS_FreeValuePointer = Module2["_QTS_FreeValuePointer"] = wasmExports["J"])(a0, a1);
var _free = Module2["_free"] = (a0) => (_free = Module2["_free"] = wasmExports["K"])(a0);
var _QTS_FreeValuePointerRuntime = Module2["_QTS_FreeValuePointerRuntime"] = (a0, a1) => (_QTS_FreeValuePointerRuntime = Module2["_QTS_FreeValuePointerRuntime"] = wasmExports["L"])(a0, a1);
var _QTS_FreeVoidPointer = Module2["_QTS_FreeVoidPointer"] = (a0, a1) => (_QTS_FreeVoidPointer = Module2["_QTS_FreeVoidPointer"] = wasmExports["M"])(a0, a1);
var _QTS_FreeCString = Module2["_QTS_FreeCString"] = (a0, a1) => (_QTS_FreeCString = Module2["_QTS_FreeCString"] = wasmExports["N"])(a0, a1);
var _QTS_DupValuePointer = Module2["_QTS_DupValuePointer"] = (a0, a1) => (_QTS_DupValuePointer = Module2["_QTS_DupValuePointer"] = wasmExports["O"])(a0, a1);
var _QTS_NewObject = Module2["_QTS_NewObject"] = (a0) => (_QTS_NewObject = Module2["_QTS_NewObject"] = wasmExports["P"])(a0);
var _QTS_NewObjectProto = Module2["_QTS_NewObjectProto"] = (a0, a1) => (_QTS_NewObjectProto = Module2["_QTS_NewObjectProto"] = wasmExports["Q"])(a0, a1);
var _QTS_NewArray = Module2["_QTS_NewArray"] = (a0) => (_QTS_NewArray = Module2["_QTS_NewArray"] = wasmExports["R"])(a0);
var _QTS_NewFloat64 = Module2["_QTS_NewFloat64"] = (a0, a1) => (_QTS_NewFloat64 = Module2["_QTS_NewFloat64"] = wasmExports["S"])(a0, a1);
var _QTS_GetFloat64 = Module2["_QTS_GetFloat64"] = (a0, a1) => (_QTS_GetFloat64 = Module2["_QTS_GetFloat64"] = wasmExports["T"])(a0, a1);
var _QTS_NewString = Module2["_QTS_NewString"] = (a0, a1) => (_QTS_NewString = Module2["_QTS_NewString"] = wasmExports["U"])(a0, a1);
var _QTS_GetString = Module2["_QTS_GetString"] = (a0, a1) => (_QTS_GetString = Module2["_QTS_GetString"] = wasmExports["V"])(a0, a1);
var _QTS_NewSymbol = Module2["_QTS_NewSymbol"] = (a0, a1, a2) => (_QTS_NewSymbol = Module2["_QTS_NewSymbol"] = wasmExports["W"])(a0, a1, a2);
var _QTS_GetSymbolDescriptionOrKey = Module2["_QTS_GetSymbolDescriptionOrKey"] = (a0, a1) => (_QTS_GetSymbolDescriptionOrKey = Module2["_QTS_GetSymbolDescriptionOrKey"] = wasmExports["X"])(a0, a1);
var _QTS_IsGlobalSymbol = Module2["_QTS_IsGlobalSymbol"] = (a0, a1) => (_QTS_IsGlobalSymbol = Module2["_QTS_IsGlobalSymbol"] = wasmExports["Y"])(a0, a1);
var _QTS_IsJobPending = Module2["_QTS_IsJobPending"] = (a0) => (_QTS_IsJobPending = Module2["_QTS_IsJobPending"] = wasmExports["Z"])(a0);
var _QTS_ExecutePendingJob = Module2["_QTS_ExecutePendingJob"] = (a0, a1, a2) => (_QTS_ExecutePendingJob = Module2["_QTS_ExecutePendingJob"] = wasmExports["_"])(a0, a1, a2);
var _QTS_GetProp = Module2["_QTS_GetProp"] = (a0, a1, a2) => (_QTS_GetProp = Module2["_QTS_GetProp"] = wasmExports["$"])(a0, a1, a2);
var _QTS_SetProp = Module2["_QTS_SetProp"] = (a0, a1, a2, a3) => (_QTS_SetProp = Module2["_QTS_SetProp"] = wasmExports["aa"])(a0, a1, a2, a3);
var _QTS_DefineProp = Module2["_QTS_DefineProp"] = (a0, a1, a2, a3, a4, a5, a6, a7, a8) => (_QTS_DefineProp = Module2["_QTS_DefineProp"] = wasmExports["ba"])(a0, a1, a2, a3, a4, a5, a6, a7, a8);
var _QTS_Call = Module2["_QTS_Call"] = (a0, a1, a2, a3, a4) => (_QTS_Call = Module2["_QTS_Call"] = wasmExports["ca"])(a0, a1, a2, a3, a4);
var _QTS_ResolveException = Module2["_QTS_ResolveException"] = (a0, a1) => (_QTS_ResolveException = Module2["_QTS_ResolveException"] = wasmExports["da"])(a0, a1);
var _QTS_Dump = Module2["_QTS_Dump"] = (a0, a1) => (_QTS_Dump = Module2["_QTS_Dump"] = wasmExports["ea"])(a0, a1);
var _QTS_Eval = Module2["_QTS_Eval"] = (a0, a1, a2, a3, a4) => (_QTS_Eval = Module2["_QTS_Eval"] = wasmExports["fa"])(a0, a1, a2, a3, a4);
var _QTS_Typeof = Module2["_QTS_Typeof"] = (a0, a1) => (_QTS_Typeof = Module2["_QTS_Typeof"] = wasmExports["ga"])(a0, a1);
var _QTS_GetGlobalObject = Module2["_QTS_GetGlobalObject"] = (a0) => (_QTS_GetGlobalObject = Module2["_QTS_GetGlobalObject"] = wasmExports["ha"])(a0);
var _QTS_NewPromiseCapability = Module2["_QTS_NewPromiseCapability"] = (a0, a1) => (_QTS_NewPromiseCapability = Module2["_QTS_NewPromiseCapability"] = wasmExports["ia"])(a0, a1);
var _QTS_TestStringArg = Module2["_QTS_TestStringArg"] = (a0) => (_QTS_TestStringArg = Module2["_QTS_TestStringArg"] = wasmExports["ja"])(a0);
var _QTS_BuildIsDebug = Module2["_QTS_BuildIsDebug"] = () => (_QTS_BuildIsDebug = Module2["_QTS_BuildIsDebug"] = wasmExports["ka"])();
var _QTS_BuildIsAsyncify = Module2["_QTS_BuildIsAsyncify"] = () => (_QTS_BuildIsAsyncify = Module2["_QTS_BuildIsAsyncify"] = wasmExports["la"])();
var _QTS_NewFunction = Module2["_QTS_NewFunction"] = (a0, a1, a2) => (_QTS_NewFunction = Module2["_QTS_NewFunction"] = wasmExports["ma"])(a0, a1, a2);
var _QTS_ArgvGetJSValueConstPointer = Module2["_QTS_ArgvGetJSValueConstPointer"] = (a0, a1) => (_QTS_ArgvGetJSValueConstPointer = Module2["_QTS_ArgvGetJSValueConstPointer"] = wasmExports["na"])(a0, a1);
var _QTS_RuntimeEnableInterruptHandler = Module2["_QTS_RuntimeEnableInterruptHandler"] = (a0) => (_QTS_RuntimeEnableInterruptHandler = Module2["_QTS_RuntimeEnableInterruptHandler"] = wasmExports["oa"])(a0);
var _QTS_RuntimeDisableInterruptHandler = Module2["_QTS_RuntimeDisableInterruptHandler"] = (a0) => (_QTS_RuntimeDisableInterruptHandler = Module2["_QTS_RuntimeDisableInterruptHandler"] = wasmExports["pa"])(a0);
var _QTS_RuntimeEnableModuleLoader = Module2["_QTS_RuntimeEnableModuleLoader"] = (a0, a1) => (_QTS_RuntimeEnableModuleLoader = Module2["_QTS_RuntimeEnableModuleLoader"] = wasmExports["qa"])(a0, a1);
var _QTS_RuntimeDisableModuleLoader = Module2["_QTS_RuntimeDisableModuleLoader"] = (a0) => (_QTS_RuntimeDisableModuleLoader = Module2["_QTS_RuntimeDisableModuleLoader"] = wasmExports["ra"])(a0);
var __emscripten_stack_restore = (a0) => (__emscripten_stack_restore = wasmExports["ta"])(a0);
var __emscripten_stack_alloc = (a0) => (__emscripten_stack_alloc = wasmExports["ua"])(a0);
var _emscripten_stack_get_current = () => (_emscripten_stack_get_current = wasmExports["va"])();
var _asyncify_start_unwind = (a0) => (_asyncify_start_unwind = wasmExports["wa"])(a0);
var _asyncify_stop_unwind = () => (_asyncify_stop_unwind = wasmExports["xa"])();
var _asyncify_start_rewind = (a0) => (_asyncify_start_rewind = wasmExports["ya"])(a0);
var _asyncify_stop_rewind = () => (_asyncify_stop_rewind = wasmExports["za"])();
Module2["cwrap"] = cwrap;
Module2["UTF8ToString"] = UTF8ToString;
Module2["stringToUTF8"] = stringToUTF8;
Module2["lengthBytesUTF8"] = lengthBytesUTF8;
var calledRun;
var calledPrerun;
dependenciesFulfilled = function runCaller() {
if (!calledRun)
run2();
if (!calledRun)
dependenciesFulfilled = runCaller;
};
function run2() {
if (runDependencies > 0) {
return;
}
if (!calledPrerun) {
calledPrerun = 1;
preRun();
if (runDependencies > 0) {
return;
}
}
function doRun() {
if (calledRun)
return;
calledRun = 1;
Module2["calledRun"] = 1;
if (ABORT)
return;
initRuntime();
readyPromiseResolve(Module2);
Module2["onRuntimeInitialized"]?.();
postRun();
}
if (Module2["setStatus"]) {
Module2["setStatus"]("Running...");
setTimeout(() => {
setTimeout(() => Module2["setStatus"](""), 1);
doRun();
}, 1);
} else {
doRun();
}
}
if (Module2["preInit"]) {
if (typeof Module2["preInit"] == "function")
Module2["preInit"] = [Module2["preInit"]];
while (Module2["preInit"].length > 0) {
Module2["preInit"].pop()();
}
}
run2();
moduleRtn = readyPromise;
return moduleRtn;
};
})();
if (typeof exports2 === "object" && typeof module2 === "object")
module2.exports = QuickJSRaw;
else if (typeof define === "function" && define["amd"])
define([], () => QuickJSRaw);
}
});
// ../../../usr/share/nodejs/quickjs-emscripten/dist/variants.js
var require_variants = __commonJS({
"../../../usr/share/nodejs/quickjs-emscripten/dist/variants.js"(exports2) {
"use strict";
var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
if (k2 === void 0) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() {
return m[k];
} };
}
Object.defineProperty(o, k2, desc);
} : function(o, m, k, k2) {
if (k2 === void 0) k2 = k;
o[k2] = m[k];
});
var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
} : function(o, v) {
o["default"] = v;
});
var __importStar2 = exports2 && exports2.__importStar || function(mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) {
for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
}
__setModuleDefault2(result, mod);
return result;
};
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.RELEASE_ASYNC = exports2.RELEASE_SYNC = exports2.memoizePromiseFactory = exports2.newQuickJSAsyncWASMModule = exports2.newQuickJSWASMModule = void 0;
var esmHelpers_1 = require_esmHelpers();
async function newQuickJSWASMModule(variant = exports2.RELEASE_SYNC) {
const [wasmModuleLoader, QuickJSFFI, { QuickJSWASMModule }] = await Promise.all([
variant.importModuleLoader(),
variant.importFFI(),
Promise.resolve().then(() => __importStar2(require_module())).then(esmHelpers_1.unwrapTypescript)
]);
const wasmModule = await wasmModuleLoader();
wasmModule.type = "sync";
const ffi = new QuickJSFFI(wasmModule);
return new QuickJSWASMModule(wasmModule, ffi);
}
exports2.newQuickJSWASMModule = newQuickJSWASMModule;
async function newQuickJSAsyncWASMModule(variant = exports2.RELEASE_ASYNC) {
const [wasmModuleLoader, QuickJSAsyncFFI, { QuickJSAsyncWASMModule }] = await Promise.all([
variant.importModuleLoader(),
variant.importFFI(),
Promise.resolve().then(() => __importStar2(require_module_asyncify())).then(esmHelpers_1.unwrapTypescript)
]);
const wasmModule = await wasmModuleLoader();
wasmModule.type = "async";
const ffi = new QuickJSAsyncFFI(wasmModule);
return new QuickJSAsyncWASMModule(wasmModule, ffi);
}
exports2.newQuickJSAsyncWASMModule = newQuickJSAsyncWASMModule;
function memoizePromiseFactory(fn2) {
let promise;
return () => {
return promise ?? (promise = fn2());
};
}
exports2.memoizePromiseFactory = memoizePromiseFactory;
exports2.RELEASE_SYNC = {
type: "sync",
async importFFI() {
const mod = await Promise.resolve().then(() => __importStar2(require_ffi_WASM_RELEASE_SYNC()));
return (0, esmHelpers_1.unwrapTypescript)(mod).QuickJSFFI;
},
async importModuleLoader() {
const mod = await Promise.resolve().then(() => __importStar2(require_emscripten_module_WASM_RELEASE_SYNC()));
return (0, esmHelpers_1.unwrapJavascript)(mod);
}
};
exports2.RELEASE_ASYNC = {
type: "async",
async importFFI() {
const mod = await Promise.resolve().then(() => __importStar2(require_ffi_WASM_RELEASE_ASYNCIFY()));
return (0, esmHelpers_1.unwrapTypescript)(mod).QuickJSAsyncFFI;
},
async importModuleLoader() {
const mod = await Promise.resolve().then(() => __importStar2(require_emscripten_module_WASM_RELEASE_ASYNCIFY()));
return (0, esmHelpers_1.unwrapJavascript)(mod);
}
};
}
});
// ../../../usr/share/nodejs/quickjs-emscripten/dist/vm-interface.js
var require_vm_interface = __commonJS({
"../../../usr/share/nodejs/quickjs-emscripten/dist/vm-interface.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.isFail = exports2.isSuccess = void 0;
function isSuccess(successOrFail) {
return "error" in successOrFail === false;
}
exports2.isSuccess = isSuccess;
function isFail(successOrFail) {
return "error" in successOrFail === true;
}
exports2.isFail = isFail;
}
});
// ../../../usr/share/nodejs/quickjs-emscripten/dist/module-test.js
var require_module_test = __commonJS({
"../../../usr/share/nodejs/quickjs-emscripten/dist/module-test.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.TestQuickJSWASMModule = void 0;
var errors_1 = require_errors();
var lifetime_1 = require_lifetime();
var TestQuickJSWASMModule = class {
constructor(parent) {
this.parent = parent;
this.contexts = /* @__PURE__ */ new Set();
this.runtimes = /* @__PURE__ */ new Set();
}
newRuntime(options) {
const runtime = this.parent.newRuntime({
...options,
ownedLifetimes: [
new lifetime_1.Lifetime(void 0, void 0, () => this.runtimes.delete(runtime)),
...options?.ownedLifetimes ?? []
]
});
this.runtimes.add(runtime);
return runtime;
}
newContext(options) {
const context = this.parent.newContext({
...options,
ownedLifetimes: [
new lifetime_1.Lifetime(void 0, void 0, () => this.contexts.delete(context)),
...options?.ownedLifetimes ?? []
]
});
this.contexts.add(context);
return context;
}
evalCode(code, options) {
return this.parent.evalCode(code, options);
}
disposeAll() {
const allDisposables = [...this.contexts, ...this.runtimes];
this.runtimes.clear();
this.contexts.clear();
allDisposables.forEach((d) => {
if (d.alive) {
d.dispose();
}
});
}
assertNoMemoryAllocated() {
const leaksDetected = this.getFFI().QTS_RecoverableLeakCheck();
if (leaksDetected) {
throw new errors_1.QuickJSMemoryLeakDetected("Leak sanitizer detected un-freed memory");
}
if (this.contexts.size > 0) {
throw new errors_1.QuickJSMemoryLeakDetected(`${this.contexts.size} contexts leaked`);
}
if (this.runtimes.size > 0) {
throw new errors_1.QuickJSMemoryLeakDetected(`${this.runtimes.size} runtimes leaked`);
}
}
/** @private */
getFFI() {
return this.parent.getFFI();
}
};
exports2.TestQuickJSWASMModule = TestQuickJSWASMModule;
}
});
// ../../../usr/share/nodejs/quickjs-emscripten/dist/index.js
var require_dist9 = __commonJS({
"../../../usr/share/nodejs/quickjs-emscripten/dist/index.js"(exports2) {
"use strict";
var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
if (k2 === void 0) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() {
return m[k];
} };
}
Object.defineProperty(o, k2, desc);
} : function(o, m, k, k2) {
if (k2 === void 0) k2 = k;
o[k2] = m[k];
});
var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
} : function(o, v) {
o["default"] = v;
});
var __exportStar2 = exports2 && exports2.__exportStar || function(m, exports3) {
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) __createBinding2(exports3, m, p);
};
var __importStar2 = exports2 && exports2.__importStar || function(mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) {
for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
}
__setModuleDefault2(result, mod);
return result;
};
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.shouldInterruptAfterDeadline = exports2.newAsyncContext = exports2.newAsyncRuntime = exports2.getQuickJSSync = exports2.getQuickJS = exports2.errors = exports2.RELEASE_SYNC = exports2.RELEASE_ASYNC = exports2.newQuickJSAsyncWASMModule = exports2.newQuickJSWASMModule = void 0;
var variants_1 = require_variants();
Object.defineProperty(exports2, "newQuickJSWASMModule", { enumerable: true, get: function() {
return variants_1.newQuickJSWASMModule;
} });
Object.defineProperty(exports2, "newQuickJSAsyncWASMModule", { enumerable: true, get: function() {
return variants_1.newQuickJSAsyncWASMModule;
} });
Object.defineProperty(exports2, "RELEASE_ASYNC", { enumerable: true, get: function() {
return variants_1.RELEASE_ASYNC;
} });
Object.defineProperty(exports2, "RELEASE_SYNC", { enumerable: true, get: function() {
return variants_1.RELEASE_SYNC;
} });
__exportStar2(require_vm_interface(), exports2);
__exportStar2(require_lifetime(), exports2);
exports2.errors = __importStar2(require_errors());
__exportStar2(require_deferred_promise(), exports2);
__exportStar2(require_module_test(), exports2);
var singleton = void 0;
var singletonPromise = void 0;
async function getQuickJS() {
singletonPromise ?? (singletonPromise = (0, variants_1.newQuickJSWASMModule)().then((instance) => {
singleton = instance;
return instance;
}));
return await singletonPromise;
}
exports2.getQuickJS = getQuickJS;
function getQuickJSSync() {
if (!singleton) {
throw new Error("QuickJS not initialized. Await getQuickJS() at least once.");
}
return singleton;
}
exports2.getQuickJSSync = getQuickJSSync;
async function newAsyncRuntime(options) {
const module3 = await (0, variants_1.newQuickJSAsyncWASMModule)();
return module3.newRuntime(options);
}
exports2.newAsyncRuntime = newAsyncRuntime;
async function newAsyncContext(options) {
const module3 = await (0, variants_1.newQuickJSAsyncWASMModule)();
return module3.newContext(options);
}
exports2.newAsyncContext = newAsyncContext;
function shouldInterruptAfterDeadline(deadline) {
const deadlineAsNumber = typeof deadline === "number" ? deadline : deadline.getTime();
return function() {
return Date.now() > deadlineAsNumber;
};
}
exports2.shouldInterruptAfterDeadline = shouldInterruptAfterDeadline;
}
});
// ../../../usr/share/nodejs/pac-proxy-agent/dist/index.js
var require_dist10 = __commonJS({
"../../../usr/share/nodejs/pac-proxy-agent/dist/index.js"(exports2) {
"use strict";
var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
if (k2 === void 0) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() {
return m[k];
} };
}
Object.defineProperty(o, k2, desc);
} : function(o, m, k, k2) {
if (k2 === void 0) k2 = k;
o[k2] = m[k];
});
var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
} : function(o, v) {
o["default"] = v;
});
var __importStar2 = exports2 && exports2.__importStar || function(mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) {
for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
}
__setModuleDefault2(result, mod);
return result;
};
var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
return mod && mod.__esModule ? mod : { "default": mod };
};
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.PacProxyAgent = void 0;
var net = __importStar2(require("net"));
var tls = __importStar2(require("tls"));
var crypto = __importStar2(require("crypto"));
var events_1 = require("events");
var debug_1 = __importDefault2(require_src());
var url_1 = require("url");
var agent_base_1 = require_dist();
var http_proxy_agent_1 = require_dist2();
var https_proxy_agent_1 = require_dist3();
var socks_proxy_agent_1 = require_dist4();
var get_uri_1 = require_dist6();
var pac_resolver_1 = require_dist8();
var quickjs_emscripten_1 = require_dist9();
var debug2 = (0, debug_1.default)("pac-proxy-agent");
var PacProxyAgent = class extends agent_base_1.Agent {
constructor(uri, opts) {
super(opts);
this.clearResolverPromise = () => {
this.resolverPromise = void 0;
};
const uriStr = typeof uri === "string" ? uri : uri.href;
this.uri = new url_1.URL(uriStr.replace(/^pac\+/i, ""));
debug2("Creating PacProxyAgent with URI %o", this.uri.href);
this.opts = { ...opts };
this.cache = void 0;
this.resolver = void 0;
this.resolverHash = "";
this.resolverPromise = void 0;
if (!this.opts.filename) {
this.opts.filename = this.uri.href;
}
}
/**
* Loads the PAC proxy file from the source if necessary, and returns
* a generated `FindProxyForURL()` resolver function to use.
*
* @api private
*/
getResolver() {
if (!this.resolverPromise) {
this.resolverPromise = this.loadResolver();
this.resolverPromise.then(this.clearResolverPromise, this.clearResolverPromise);
}
return this.resolverPromise;
}
async loadResolver() {
try {
const [qjs, code] = await Promise.all([
(0, quickjs_emscripten_1.getQuickJS)(),
this.loadPacFile()
]);
const hash = crypto.createHash("sha1").update(code).digest("hex");
if (this.resolver && this.resolverHash === hash) {
debug2("Same sha1 hash for code - contents have not changed, reusing previous proxy resolver");
return this.resolver;
}
debug2("Creating new proxy resolver instance");
this.resolver = (0, pac_resolver_1.createPacResolver)(qjs, code, this.opts);
this.resolverHash = hash;
return this.resolver;
} catch (err) {
if (this.resolver && err.code === "ENOTMODIFIED") {
debug2("Got ENOTMODIFIED response, reusing previous proxy resolver");
return this.resolver;
}
throw err;
}
}
/**
* Loads the contents of the PAC proxy file.
*
* @api private
*/
async loadPacFile() {
debug2("Loading PAC file: %o", this.uri);
const rs = await (0, get_uri_1.getUri)(this.uri, { ...this.opts, cache: this.cache });
debug2("Got `Readable` instance for URI");
this.cache = rs;
const buf = await (0, agent_base_1.toBuffer)(rs);
debug2("Read %o byte PAC file from URI", buf.length);
return buf.toString("utf8");
}
/**
* Called when the node-core HTTP client library is creating a new HTTP request.
*/
async connect(req, opts) {
const { secureEndpoint } = opts;
const resolver = await this.getResolver();
const defaultPort = secureEndpoint ? 443 : 80;
let path10 = req.path;
let search = null;
const firstQuestion = path10.indexOf("?");
if (firstQuestion !== -1) {
search = path10.substring(firstQuestion);
path10 = path10.substring(0, firstQuestion);
}
const urlOpts = {
...opts,
protocol: secureEndpoint ? "https:" : "http:",
pathname: path10,
search,
// need to use `hostname` instead of `host` otherwise `port` is ignored
hostname: opts.host,
host: null,
href: null,
// set `port` to null when it is the protocol default port (80 / 443)
port: defaultPort === opts.port ? null : opts.port
};
const url = (0, url_1.format)(urlOpts);
debug2("url: %o", url);
let result = await resolver(url);
if (!result) {
result = "DIRECT";
}
const proxies = String(result).trim().split(/\s*;\s*/g).filter(Boolean);
if (this.opts.fallbackToDirect && !proxies.includes("DIRECT")) {
proxies.push("DIRECT");
}
for (const proxy of proxies) {
let agent = null;
let socket = null;
const [type, target] = proxy.split(/\s+/);
debug2("Attempting to use proxy: %o", proxy);
if (type === "DIRECT") {
if (secureEndpoint) {
const servername = opts.servername || opts.host;
socket = tls.connect({
...opts,
servername
});
} else {
socket = net.connect(opts);
}
} else if (type === "SOCKS" || type === "SOCKS5") {
agent = new socks_proxy_agent_1.SocksProxyAgent(`socks://${target}`, this.opts);
} else if (type === "SOCKS4") {
agent = new socks_proxy_agent_1.SocksProxyAgent(`socks4a://${target}`, this.opts);
} else if (type === "PROXY" || type === "HTTP" || type === "HTTPS") {
const proxyURL = `${type === "HTTPS" ? "https" : "http"}://${target}`;
if (secureEndpoint) {
agent = new https_proxy_agent_1.HttpsProxyAgent(proxyURL, this.opts);
} else {
agent = new http_proxy_agent_1.HttpProxyAgent(proxyURL, this.opts);
}
}
try {
if (socket) {
await (0, events_1.once)(socket, "connect");
req.emit("proxy", { proxy, socket });
return socket;
}
if (agent) {
const s = await agent.connect(req, opts);
if (!(s instanceof net.Socket)) {
throw new Error("Expected a `net.Socket` to be returned from agent");
}
req.emit("proxy", { proxy, socket: s });
return s;
}
throw new Error(`Could not determine proxy type for: ${proxy}`);
} catch (err) {
debug2("Got error for proxy %o: %o", proxy, err);
req.emit("proxy", { proxy, error: err });
}
}
throw new Error(`Failed to establish a socket connection to proxies: ${JSON.stringify(proxies)}`);
}
};
exports2.PacProxyAgent = PacProxyAgent;
PacProxyAgent.protocols = [
"pac+data",
"pac+file",
"pac+ftp",
"pac+http",
"pac+https"
];
}
});
// ../../../usr/share/nodejs/proxy-agent/dist/index.js
var require_dist11 = __commonJS({
"../../../usr/share/nodejs/proxy-agent/dist/index.js"(exports2) {
"use strict";
var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
if (k2 === void 0) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() {
return m[k];
} };
}
Object.defineProperty(o, k2, desc);
} : function(o, m, k, k2) {
if (k2 === void 0) k2 = k;
o[k2] = m[k];
});
var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
} : function(o, v) {
o["default"] = v;
});
var __importStar2 = exports2 && exports2.__importStar || function(mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) {
for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
}
__setModuleDefault2(result, mod);
return result;
};
var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
return mod && mod.__esModule ? mod : { "default": mod };
};
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.ProxyAgent = exports2.proxies = void 0;
var http = __importStar2(require("http"));
var https = __importStar2(require("https"));
var url_1 = require("url");
var lru_cache_1 = require_index_cjs();
var agent_base_1 = require_dist();
var debug_1 = __importDefault2(require_src());
var proxy_from_env_1 = require_proxy_from_env();
var pac_proxy_agent_1 = require_dist10();
var http_proxy_agent_1 = require_dist2();
var https_proxy_agent_1 = require_dist3();
var socks_proxy_agent_1 = require_dist4();
var debug2 = (0, debug_1.default)("proxy-agent");
var PROTOCOLS = [
...http_proxy_agent_1.HttpProxyAgent.protocols,
...socks_proxy_agent_1.SocksProxyAgent.protocols,
...pac_proxy_agent_1.PacProxyAgent.protocols
];
exports2.proxies = {
http: [http_proxy_agent_1.HttpProxyAgent, https_proxy_agent_1.HttpsProxyAgent],
https: [http_proxy_agent_1.HttpProxyAgent, https_proxy_agent_1.HttpsProxyAgent],
socks: [socks_proxy_agent_1.SocksProxyAgent, socks_proxy_agent_1.SocksProxyAgent],
socks4: [socks_proxy_agent_1.SocksProxyAgent, socks_proxy_agent_1.SocksProxyAgent],
socks4a: [socks_proxy_agent_1.SocksProxyAgent, socks_proxy_agent_1.SocksProxyAgent],
socks5: [socks_proxy_agent_1.SocksProxyAgent, socks_proxy_agent_1.SocksProxyAgent],
socks5h: [socks_proxy_agent_1.SocksProxyAgent, socks_proxy_agent_1.SocksProxyAgent],
"pac+data": [pac_proxy_agent_1.PacProxyAgent, pac_proxy_agent_1.PacProxyAgent],
"pac+file": [pac_proxy_agent_1.PacProxyAgent, pac_proxy_agent_1.PacProxyAgent],
"pac+ftp": [pac_proxy_agent_1.PacProxyAgent, pac_proxy_agent_1.PacProxyAgent],
"pac+http": [pac_proxy_agent_1.PacProxyAgent, pac_proxy_agent_1.PacProxyAgent],
"pac+https": [pac_proxy_agent_1.PacProxyAgent, pac_proxy_agent_1.PacProxyAgent]
};
function isValidProtocol(v) {
return PROTOCOLS.includes(v);
}
var ProxyAgent = class extends agent_base_1.Agent {
constructor(opts) {
super(opts);
this.cache = new lru_cache_1.LRUCache({ max: 20 });
debug2("Creating new ProxyAgent instance: %o", opts);
this.connectOpts = opts;
this.httpAgent = opts?.httpAgent || new http.Agent(opts);
this.httpsAgent = opts?.httpsAgent || new https.Agent(opts);
this.getProxyForUrl = opts?.getProxyForUrl || proxy_from_env_1.getProxyForUrl;
}
async connect(req, opts) {
const { secureEndpoint } = opts;
const isWebSocket = req.getHeader("upgrade") === "websocket";
const protocol = secureEndpoint ? isWebSocket ? "wss:" : "https:" : isWebSocket ? "ws:" : "http:";
const host = req.getHeader("host");
const url = new url_1.URL(req.path, `${protocol}//${host}`).href;
const proxy = await this.getProxyForUrl(url);
if (!proxy) {
debug2("Proxy not enabled for URL: %o", url);
return secureEndpoint ? this.httpsAgent : this.httpAgent;
}
debug2("Request URL: %o", url);
debug2("Proxy URL: %o", proxy);
const cacheKey = `${protocol}+${proxy}`;
let agent = this.cache.get(cacheKey);
if (!agent) {
const proxyUrl = new url_1.URL(proxy);
const proxyProto = proxyUrl.protocol.replace(":", "");
if (!isValidProtocol(proxyProto)) {
throw new Error(`Unsupported protocol for proxy URL: ${proxy}`);
}
const ctor = exports2.proxies[proxyProto][secureEndpoint || isWebSocket ? 1 : 0];
agent = new ctor(proxy, this.connectOpts);
this.cache.set(cacheKey, agent);
} else {
debug2("Cache hit for proxy URL: %o", proxy);
}
return agent;
}
destroy() {
for (const agent of this.cache.values()) {
agent.destroy();
}
super.destroy();
}
};
exports2.ProxyAgent = ProxyAgent;
}
});
// ../../../usr/share/nodejs/tar/lib/high-level-opt.js
var require_high_level_opt = __commonJS({
"../../../usr/share/nodejs/tar/lib/high-level-opt.js"(exports2, module2) {
"use strict";
var argmap = /* @__PURE__ */ new Map([
["C", "cwd"],
["f", "file"],
["z", "gzip"],
["P", "preservePaths"],
["U", "unlink"],
["strip-components", "strip"],
["stripComponents", "strip"],
["keep-newer", "newer"],
["keepNewer", "newer"],
["keep-newer-files", "newer"],
["keepNewerFiles", "newer"],
["k", "keep"],
["keep-existing", "keep"],
["keepExisting", "keep"],
["m", "noMtime"],
["no-mtime", "noMtime"],
["p", "preserveOwner"],
["L", "follow"],
["h", "follow"]
]);
module2.exports = (opt) => opt ? Object.keys(opt).map((k) => [
argmap.has(k) ? argmap.get(k) : k,
opt[k]
]).reduce((set, kv) => (set[kv[0]] = kv[1], set), /* @__PURE__ */ Object.create(null)) : {};
}
});
// ../../../usr/share/nodejs/minipass/index.js
var require_minipass = __commonJS({
"../../../usr/share/nodejs/minipass/index.js"(exports2, module2) {
"use strict";
var proc = typeof process === "object" && process ? process : {
stdout: null,
stderr: null
};
var EE = require("events");
var Stream = require("stream");
var stringdecoder = require("string_decoder");
var SD = stringdecoder.StringDecoder;
var EOF = Symbol("EOF");
var MAYBE_EMIT_END = Symbol("maybeEmitEnd");
var EMITTED_END = Symbol("emittedEnd");
var EMITTING_END = Symbol("emittingEnd");
var EMITTED_ERROR = Symbol("emittedError");
var CLOSED = Symbol("closed");
var READ = Symbol("read");
var FLUSH = Symbol("flush");
var FLUSHCHUNK = Symbol("flushChunk");
var ENCODING = Symbol("encoding");
var DECODER = Symbol("decoder");
var FLOWING = Symbol("flowing");
var PAUSED = Symbol("paused");
var RESUME = Symbol("resume");
var BUFFER = Symbol("buffer");
var PIPES = Symbol("pipes");
var BUFFERLENGTH = Symbol("bufferLength");
var BUFFERPUSH = Symbol("bufferPush");
var BUFFERSHIFT = Symbol("bufferShift");
var OBJECTMODE = Symbol("objectMode");
var DESTROYED = Symbol("destroyed");
var ERROR = Symbol("error");
var EMITDATA = Symbol("emitData");
var EMITEND = Symbol("emitEnd");
var EMITEND2 = Symbol("emitEnd2");
var ASYNC = Symbol("async");
var ABORT = Symbol("abort");
var ABORTED = Symbol("aborted");
var SIGNAL = Symbol("signal");
var defer = (fn2) => Promise.resolve().then(fn2);
var doIter = global._MP_NO_ITERATOR_SYMBOLS_ !== "1";
var ASYNCITERATOR = doIter && Symbol.asyncIterator || Symbol("asyncIterator not implemented");
var ITERATOR = doIter && Symbol.iterator || Symbol("iterator not implemented");
var isEndish = (ev) => ev === "end" || ev === "finish" || ev === "prefinish";
var isArrayBuffer = (b) => b instanceof ArrayBuffer || typeof b === "object" && b.constructor && b.constructor.name === "ArrayBuffer" && b.byteLength >= 0;
var isArrayBufferView = (b) => !Buffer.isBuffer(b) && ArrayBuffer.isView(b);
var Pipe = class {
constructor(src, dest, opts) {
this.src = src;
this.dest = dest;
this.opts = opts;
this.ondrain = () => src[RESUME]();
dest.on("drain", this.ondrain);
}
unpipe() {
this.dest.removeListener("drain", this.ondrain);
}
// istanbul ignore next - only here for the prototype
proxyErrors() {
}
end() {
this.unpipe();
if (this.opts.end) this.dest.end();
}
};
var PipeProxyErrors = class extends Pipe {
unpipe() {
this.src.removeListener("error", this.proxyErrors);
super.unpipe();
}
constructor(src, dest, opts) {
super(src, dest, opts);
this.proxyErrors = (er) => dest.emit("error", er);
src.on("error", this.proxyErrors);
}
};
var Minipass = class _Minipass extends Stream {
constructor(options) {
super();
this[FLOWING] = false;
this[PAUSED] = false;
this[PIPES] = [];
this[BUFFER] = [];
this[OBJECTMODE] = options && options.objectMode || false;
if (this[OBJECTMODE]) this[ENCODING] = null;
else this[ENCODING] = options && options.encoding || null;
if (this[ENCODING] === "buffer") this[ENCODING] = null;
this[ASYNC] = options && !!options.async || false;
this[DECODER] = this[ENCODING] ? new SD(this[ENCODING]) : null;
this[EOF] = false;
this[EMITTED_END] = false;
this[EMITTING_END] = false;
this[CLOSED] = false;
this[EMITTED_ERROR] = null;
this.writable = true;
this.readable = true;
this[BUFFERLENGTH] = 0;
this[DESTROYED] = false;
Object.defineProperty(this, "buffer", { get: () => this[BUFFER] });
Object.defineProperty(this, "pipes", { get: () => this[PIPES] });
this[SIGNAL] = options && options.signal;
this[ABORTED] = false;
if (this[SIGNAL]) {
this[SIGNAL].addEventListener("abort", () => this[ABORT]());
if (this[SIGNAL].aborted) {
this[ABORT]();
}
}
}
get bufferLength() {
return this[BUFFERLENGTH];
}
get encoding() {
return this[ENCODING];
}
set encoding(enc) {
if (this[OBJECTMODE]) throw new Error("cannot set encoding in objectMode");
if (this[ENCODING] && enc !== this[ENCODING] && (this[DECODER] && this[DECODER].lastNeed || this[BUFFERLENGTH]))
throw new Error("cannot change encoding");
if (this[ENCODING] !== enc) {
this[DECODER] = enc ? new SD(enc) : null;
if (this[BUFFER].length)
this[BUFFER] = this[BUFFER].map((chunk) => this[DECODER].write(chunk));
}
this[ENCODING] = enc;
}
setEncoding(enc) {
this.encoding = enc;
}
get objectMode() {
return this[OBJECTMODE];
}
set objectMode(om) {
this[OBJECTMODE] = this[OBJECTMODE] || !!om;
}
get ["async"]() {
return this[ASYNC];
}
set ["async"](a) {
this[ASYNC] = this[ASYNC] || !!a;
}
// drop everything and get out of the flow completely
[ABORT]() {
this[ABORTED] = true;
this.emit("abort", this[SIGNAL].reason);
this.destroy(this[SIGNAL].reason);
}
get aborted() {
return this[ABORTED];
}
set aborted(_) {
}
write(chunk, encoding, cb) {
if (this[ABORTED]) return false;
if (this[EOF]) throw new Error("write after end");
if (this[DESTROYED]) {
this.emit(
"error",
Object.assign(
new Error("Cannot call write after a stream was destroyed"),
{ code: "ERR_STREAM_DESTROYED" }
)
);
return true;
}
if (typeof encoding === "function") cb = encoding, encoding = "utf8";
if (!encoding) encoding = "utf8";
const fn2 = this[ASYNC] ? defer : (f) => f();
if (!this[OBJECTMODE] && !Buffer.isBuffer(chunk)) {
if (isArrayBufferView(chunk))
chunk = Buffer.from(chunk.buffer, chunk.byteOffset, chunk.byteLength);
else if (isArrayBuffer(chunk)) chunk = Buffer.from(chunk);
else if (typeof chunk !== "string")
this.objectMode = true;
}
if (this[OBJECTMODE]) {
if (this.flowing && this[BUFFERLENGTH] !== 0) this[FLUSH](true);
if (this.flowing) this.emit("data", chunk);
else this[BUFFERPUSH](chunk);
if (this[BUFFERLENGTH] !== 0) this.emit("readable");
if (cb) fn2(cb);
return this.flowing;
}
if (!chunk.length) {
if (this[BUFFERLENGTH] !== 0) this.emit("readable");
if (cb) fn2(cb);
return this.flowing;
}
if (typeof chunk === "string" && // unless it is a string already ready for us to use
!(encoding === this[ENCODING] && !this[DECODER].lastNeed)) {
chunk = Buffer.from(chunk, encoding);
}
if (Buffer.isBuffer(chunk) && this[ENCODING])
chunk = this[DECODER].write(chunk);
if (this.flowing && this[BUFFERLENGTH] !== 0) this[FLUSH](true);
if (this.flowing) this.emit("data", chunk);
else this[BUFFERPUSH](chunk);
if (this[BUFFERLENGTH] !== 0) this.emit("readable");
if (cb) fn2(cb);
return this.flowing;
}
read(n) {
if (this[DESTROYED]) return null;
if (this[BUFFERLENGTH] === 0 || n === 0 || n > this[BUFFERLENGTH]) {
this[MAYBE_EMIT_END]();
return null;
}
if (this[OBJECTMODE]) n = null;
if (this[BUFFER].length > 1 && !this[OBJECTMODE]) {
if (this.encoding) this[BUFFER] = [this[BUFFER].join("")];
else this[BUFFER] = [Buffer.concat(this[BUFFER], this[BUFFERLENGTH])];
}
const ret = this[READ](n || null, this[BUFFER][0]);
this[MAYBE_EMIT_END]();
return ret;
}
[READ](n, chunk) {
if (n === chunk.length || n === null) this[BUFFERSHIFT]();
else {
this[BUFFER][0] = chunk.slice(n);
chunk = chunk.slice(0, n);
this[BUFFERLENGTH] -= n;
}
this.emit("data", chunk);
if (!this[BUFFER].length && !this[EOF]) this.emit("drain");
return chunk;
}
end(chunk, encoding, cb) {
if (typeof chunk === "function") cb = chunk, chunk = null;
if (typeof encoding === "function") cb = encoding, encoding = "utf8";
if (chunk) this.write(chunk, encoding);
if (cb) this.once("end", cb);
this[EOF] = true;
this.writable = false;
if (this.flowing || !this[PAUSED]) this[MAYBE_EMIT_END]();
return this;
}
// don't let the internal resume be overwritten
[RESUME]() {
if (this[DESTROYED]) return;
this[PAUSED] = false;
this[FLOWING] = true;
this.emit("resume");
if (this[BUFFER].length) this[FLUSH]();
else if (this[EOF]) this[MAYBE_EMIT_END]();
else this.emit("drain");
}
resume() {
return this[RESUME]();
}
pause() {
this[FLOWING] = false;
this[PAUSED] = true;
}
get destroyed() {
return this[DESTROYED];
}
get flowing() {
return this[FLOWING];
}
get paused() {
return this[PAUSED];
}
[BUFFERPUSH](chunk) {
if (this[OBJECTMODE]) this[BUFFERLENGTH] += 1;
else this[BUFFERLENGTH] += chunk.length;
this[BUFFER].push(chunk);
}
[BUFFERSHIFT]() {
if (this[OBJECTMODE]) this[BUFFERLENGTH] -= 1;
else this[BUFFERLENGTH] -= this[BUFFER][0].length;
return this[BUFFER].shift();
}
[FLUSH](noDrain) {
do {
} while (this[FLUSHCHUNK](this[BUFFERSHIFT]()) && this[BUFFER].length);
if (!noDrain && !this[BUFFER].length && !this[EOF]) this.emit("drain");
}
[FLUSHCHUNK](chunk) {
this.emit("data", chunk);
return this.flowing;
}
pipe(dest, opts) {
if (this[DESTROYED]) return;
const ended = this[EMITTED_END];
opts = opts || {};
if (dest === proc.stdout || dest === proc.stderr) opts.end = false;
else opts.end = opts.end !== false;
opts.proxyErrors = !!opts.proxyErrors;
if (ended) {
if (opts.end) dest.end();
} else {
this[PIPES].push(
!opts.proxyErrors ? new Pipe(this, dest, opts) : new PipeProxyErrors(this, dest, opts)
);
if (this[ASYNC]) defer(() => this[RESUME]());
else this[RESUME]();
}
return dest;
}
unpipe(dest) {
const p = this[PIPES].find((p2) => p2.dest === dest);
if (p) {
this[PIPES].splice(this[PIPES].indexOf(p), 1);
p.unpipe();
}
}
addListener(ev, fn2) {
return this.on(ev, fn2);
}
on(ev, fn2) {
const ret = super.on(ev, fn2);
if (ev === "data" && !this[PIPES].length && !this.flowing) this[RESUME]();
else if (ev === "readable" && this[BUFFERLENGTH] !== 0)
super.emit("readable");
else if (isEndish(ev) && this[EMITTED_END]) {
super.emit(ev);
this.removeAllListeners(ev);
} else if (ev === "error" && this[EMITTED_ERROR]) {
if (this[ASYNC]) defer(() => fn2.call(this, this[EMITTED_ERROR]));
else fn2.call(this, this[EMITTED_ERROR]);
}
return ret;
}
get emittedEnd() {
return this[EMITTED_END];
}
[MAYBE_EMIT_END]() {
if (!this[EMITTING_END] && !this[EMITTED_END] && !this[DESTROYED] && this[BUFFER].length === 0 && this[EOF]) {
this[EMITTING_END] = true;
this.emit("end");
this.emit("prefinish");
this.emit("finish");
if (this[CLOSED]) this.emit("close");
this[EMITTING_END] = false;
}
}
emit(ev, data, ...extra) {
if (ev !== "error" && ev !== "close" && ev !== DESTROYED && this[DESTROYED])
return;
else if (ev === "data") {
return !this[OBJECTMODE] && !data ? false : this[ASYNC] ? defer(() => this[EMITDATA](data)) : this[EMITDATA](data);
} else if (ev === "end") {
return this[EMITEND]();
} else if (ev === "close") {
this[CLOSED] = true;
if (!this[EMITTED_END] && !this[DESTROYED]) return;
const ret2 = super.emit("close");
this.removeAllListeners("close");
return ret2;
} else if (ev === "error") {
this[EMITTED_ERROR] = data;
super.emit(ERROR, data);
const ret2 = !this[SIGNAL] || this.listeners("error").length ? super.emit("error", data) : false;
this[MAYBE_EMIT_END]();
return ret2;
} else if (ev === "resume") {
const ret2 = super.emit("resume");
this[MAYBE_EMIT_END]();
return ret2;
} else if (ev === "finish" || ev === "prefinish") {
const ret2 = super.emit(ev);
this.removeAllListeners(ev);
return ret2;
}
const ret = super.emit(ev, data, ...extra);
this[MAYBE_EMIT_END]();
return ret;
}
[EMITDATA](data) {
for (const p of this[PIPES]) {
if (p.dest.write(data) === false) this.pause();
}
const ret = super.emit("data", data);
this[MAYBE_EMIT_END]();
return ret;
}
[EMITEND]() {
if (this[EMITTED_END]) return;
this[EMITTED_END] = true;
this.readable = false;
if (this[ASYNC]) defer(() => this[EMITEND2]());
else this[EMITEND2]();
}
[EMITEND2]() {
if (this[DECODER]) {
const data = this[DECODER].end();
if (data) {
for (const p of this[PIPES]) {
p.dest.write(data);
}
super.emit("data", data);
}
}
for (const p of this[PIPES]) {
p.end();
}
const ret = super.emit("end");
this.removeAllListeners("end");
return ret;
}
// const all = await stream.collect()
collect() {
const buf = [];
if (!this[OBJECTMODE]) buf.dataLength = 0;
const p = this.promise();
this.on("data", (c) => {
buf.push(c);
if (!this[OBJECTMODE]) buf.dataLength += c.length;
});
return p.then(() => buf);
}
// const data = await stream.concat()
concat() {
return this[OBJECTMODE] ? Promise.reject(new Error("cannot concat in objectMode")) : this.collect().then(
(buf) => this[OBJECTMODE] ? Promise.reject(new Error("cannot concat in objectMode")) : this[ENCODING] ? buf.join("") : Buffer.concat(buf, buf.dataLength)
);
}
// stream.promise().then(() => done, er => emitted error)
promise() {
return new Promise((resolve, reject) => {
this.on(DESTROYED, () => reject(new Error("stream destroyed")));
this.on("error", (er) => reject(er));
this.on("end", () => resolve());
});
}
// for await (let chunk of stream)
[ASYNCITERATOR]() {
let stopped = false;
const stop = () => {
this.pause();
stopped = true;
return Promise.resolve({ done: true });
};
const next = () => {
if (stopped) return stop();
const res = this.read();
if (res !== null) return Promise.resolve({ done: false, value: res });
if (this[EOF]) return stop();
let resolve = null;
let reject = null;
const onerr = (er) => {
this.removeListener("data", ondata);
this.removeListener("end", onend);
this.removeListener(DESTROYED, ondestroy);
stop();
reject(er);
};
const ondata = (value) => {
this.removeListener("error", onerr);
this.removeListener("end", onend);
this.removeListener(DESTROYED, ondestroy);
this.pause();
resolve({ value, done: !!this[EOF] });
};
const onend = () => {
this.removeListener("error", onerr);
this.removeListener("data", ondata);
this.removeListener(DESTROYED, ondestroy);
stop();
resolve({ done: true });
};
const ondestroy = () => onerr(new Error("stream destroyed"));
return new Promise((res2, rej) => {
reject = rej;
resolve = res2;
this.once(DESTROYED, ondestroy);
this.once("error", onerr);
this.once("end", onend);
this.once("data", ondata);
});
};
return {
next,
throw: stop,
return: stop,
[ASYNCITERATOR]() {
return this;
}
};
}
// for (let chunk of stream)
[ITERATOR]() {
let stopped = false;
const stop = () => {
this.pause();
this.removeListener(ERROR, stop);
this.removeListener(DESTROYED, stop);
this.removeListener("end", stop);
stopped = true;
return { done: true };
};
const next = () => {
if (stopped) return stop();
const value = this.read();
return value === null ? stop() : { value };
};
this.once("end", stop);
this.once(ERROR, stop);
this.once(DESTROYED, stop);
return {
next,
throw: stop,
return: stop,
[ITERATOR]() {
return this;
}
};
}
destroy(er) {
if (this[DESTROYED]) {
if (er) this.emit("error", er);
else this.emit(DESTROYED);
return this;
}
this[DESTROYED] = true;
this[BUFFER].length = 0;
this[BUFFERLENGTH] = 0;
if (typeof this.close === "function" && !this[CLOSED]) this.close();
if (er) this.emit("error", er);
else this.emit(DESTROYED);
return this;
}
static isStream(s) {
return !!s && (s instanceof _Minipass || s instanceof Stream || s instanceof EE && // readable
(typeof s.pipe === "function" || // writable
typeof s.write === "function" && typeof s.end === "function"));
}
};
module2.exports = Minipass;
module2.exports.Minipass = Minipass;
}
});
// ../../../usr/share/nodejs/minizlib/constants.js
var require_constants3 = __commonJS({
"../../../usr/share/nodejs/minizlib/constants.js"(exports2, module2) {
var realZlibConstants = require("zlib").constants || /* istanbul ignore next */
{ ZLIB_VERNUM: 4736 };
module2.exports = Object.freeze(Object.assign(/* @__PURE__ */ Object.create(null), {
Z_NO_FLUSH: 0,
Z_PARTIAL_FLUSH: 1,
Z_SYNC_FLUSH: 2,
Z_FULL_FLUSH: 3,
Z_FINISH: 4,
Z_BLOCK: 5,
Z_OK: 0,
Z_STREAM_END: 1,
Z_NEED_DICT: 2,
Z_ERRNO: -1,
Z_STREAM_ERROR: -2,
Z_DATA_ERROR: -3,
Z_MEM_ERROR: -4,
Z_BUF_ERROR: -5,
Z_VERSION_ERROR: -6,
Z_NO_COMPRESSION: 0,
Z_BEST_SPEED: 1,
Z_BEST_COMPRESSION: 9,
Z_DEFAULT_COMPRESSION: -1,
Z_FILTERED: 1,
Z_HUFFMAN_ONLY: 2,
Z_RLE: 3,
Z_FIXED: 4,
Z_DEFAULT_STRATEGY: 0,
DEFLATE: 1,
INFLATE: 2,
GZIP: 3,
GUNZIP: 4,
DEFLATERAW: 5,
INFLATERAW: 6,
UNZIP: 7,
BROTLI_DECODE: 8,
BROTLI_ENCODE: 9,
Z_MIN_WINDOWBITS: 8,
Z_MAX_WINDOWBITS: 15,
Z_DEFAULT_WINDOWBITS: 15,
Z_MIN_CHUNK: 64,
Z_MAX_CHUNK: Infinity,
Z_DEFAULT_CHUNK: 16384,
Z_MIN_MEMLEVEL: 1,
Z_MAX_MEMLEVEL: 9,
Z_DEFAULT_MEMLEVEL: 8,
Z_MIN_LEVEL: -1,
Z_MAX_LEVEL: 9,
Z_DEFAULT_LEVEL: -1,
BROTLI_OPERATION_PROCESS: 0,
BROTLI_OPERATION_FLUSH: 1,
BROTLI_OPERATION_FINISH: 2,
BROTLI_OPERATION_EMIT_METADATA: 3,
BROTLI_MODE_GENERIC: 0,
BROTLI_MODE_TEXT: 1,
BROTLI_MODE_FONT: 2,
BROTLI_DEFAULT_MODE: 0,
BROTLI_MIN_QUALITY: 0,
BROTLI_MAX_QUALITY: 11,
BROTLI_DEFAULT_QUALITY: 11,
BROTLI_MIN_WINDOW_BITS: 10,
BROTLI_MAX_WINDOW_BITS: 24,
BROTLI_LARGE_MAX_WINDOW_BITS: 30,
BROTLI_DEFAULT_WINDOW: 22,
BROTLI_MIN_INPUT_BLOCK_BITS: 16,
BROTLI_MAX_INPUT_BLOCK_BITS: 24,
BROTLI_PARAM_MODE: 0,
BROTLI_PARAM_QUALITY: 1,
BROTLI_PARAM_LGWIN: 2,
BROTLI_PARAM_LGBLOCK: 3,
BROTLI_PARAM_DISABLE_LITERAL_CONTEXT_MODELING: 4,
BROTLI_PARAM_SIZE_HINT: 5,
BROTLI_PARAM_LARGE_WINDOW: 6,
BROTLI_PARAM_NPOSTFIX: 7,
BROTLI_PARAM_NDIRECT: 8,
BROTLI_DECODER_RESULT_ERROR: 0,
BROTLI_DECODER_RESULT_SUCCESS: 1,
BROTLI_DECODER_RESULT_NEEDS_MORE_INPUT: 2,
BROTLI_DECODER_RESULT_NEEDS_MORE_OUTPUT: 3,
BROTLI_DECODER_PARAM_DISABLE_RING_BUFFER_REALLOCATION: 0,
BROTLI_DECODER_PARAM_LARGE_WINDOW: 1,
BROTLI_DECODER_NO_ERROR: 0,
BROTLI_DECODER_SUCCESS: 1,
BROTLI_DECODER_NEEDS_MORE_INPUT: 2,
BROTLI_DECODER_NEEDS_MORE_OUTPUT: 3,
BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_NIBBLE: -1,
BROTLI_DECODER_ERROR_FORMAT_RESERVED: -2,
BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_META_NIBBLE: -3,
BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_ALPHABET: -4,
BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_SAME: -5,
BROTLI_DECODER_ERROR_FORMAT_CL_SPACE: -6,
BROTLI_DECODER_ERROR_FORMAT_HUFFMAN_SPACE: -7,
BROTLI_DECODER_ERROR_FORMAT_CONTEXT_MAP_REPEAT: -8,
BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_1: -9,
BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_2: -10,
BROTLI_DECODER_ERROR_FORMAT_TRANSFORM: -11,
BROTLI_DECODER_ERROR_FORMAT_DICTIONARY: -12,
BROTLI_DECODER_ERROR_FORMAT_WINDOW_BITS: -13,
BROTLI_DECODER_ERROR_FORMAT_PADDING_1: -14,
BROTLI_DECODER_ERROR_FORMAT_PADDING_2: -15,
BROTLI_DECODER_ERROR_FORMAT_DISTANCE: -16,
BROTLI_DECODER_ERROR_DICTIONARY_NOT_SET: -19,
BROTLI_DECODER_ERROR_INVALID_ARGUMENTS: -20,
BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MODES: -21,
BROTLI_DECODER_ERROR_ALLOC_TREE_GROUPS: -22,
BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MAP: -25,
BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_1: -26,
BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_2: -27,
BROTLI_DECODER_ERROR_ALLOC_BLOCK_TYPE_TREES: -30,
BROTLI_DECODER_ERROR_UNREACHABLE: -31
}, realZlibConstants));
}
});
// ../../../usr/share/nodejs/minizlib/index.js
var require_minizlib = __commonJS({
"../../../usr/share/nodejs/minizlib/index.js"(exports2) {
"use strict";
var assert2 = require("assert");
var Buffer2 = require("buffer").Buffer;
var realZlib = require("zlib");
var constants = exports2.constants = require_constants3();
var { Minipass } = require_minipass();
var OriginalBufferConcat = Buffer2.concat;
var _superWrite = Symbol("_superWrite");
var ZlibError = class extends Error {
constructor(err) {
super("zlib: " + err.message);
this.code = err.code;
this.errno = err.errno;
if (!this.code)
this.code = "ZLIB_ERROR";
this.message = "zlib: " + err.message;
Error.captureStackTrace(this, this.constructor);
}
get name() {
return "ZlibError";
}
};
var _opts = Symbol("opts");
var _flushFlag = Symbol("flushFlag");
var _finishFlushFlag = Symbol("finishFlushFlag");
var _fullFlushFlag = Symbol("fullFlushFlag");
var _handle = Symbol("handle");
var _onError = Symbol("onError");
var _sawError = Symbol("sawError");
var _level = Symbol("level");
var _strategy = Symbol("strategy");
var _ended = Symbol("ended");
var _defaultFullFlush = Symbol("_defaultFullFlush");
var ZlibBase = class extends Minipass {
constructor(opts, mode) {
if (!opts || typeof opts !== "object")
throw new TypeError("invalid options for ZlibBase constructor");
super(opts);
this[_sawError] = false;
this[_ended] = false;
this[_opts] = opts;
this[_flushFlag] = opts.flush;
this[_finishFlushFlag] = opts.finishFlush;
try {
this[_handle] = new realZlib[mode](opts);
} catch (er) {
throw new ZlibError(er);
}
this[_onError] = (err) => {
if (this[_sawError])
return;
this[_sawError] = true;
this.close();
this.emit("error", err);
};
this[_handle].on("error", (er) => this[_onError](new ZlibError(er)));
this.once("end", () => this.close);
}
close() {
if (this[_handle]) {
this[_handle].close();
this[_handle] = null;
this.emit("close");
}
}
reset() {
if (!this[_sawError]) {
assert2(this[_handle], "zlib binding closed");
return this[_handle].reset();
}
}
flush(flushFlag) {
if (this.ended)
return;
if (typeof flushFlag !== "number")
flushFlag = this[_fullFlushFlag];
this.write(Object.assign(Buffer2.alloc(0), { [_flushFlag]: flushFlag }));
}
end(chunk, encoding, cb) {
if (chunk)
this.write(chunk, encoding);
this.flush(this[_finishFlushFlag]);
this[_ended] = true;
return super.end(null, null, cb);
}
get ended() {
return this[_ended];
}
write(chunk, encoding, cb) {
if (typeof encoding === "function")
cb = encoding, encoding = "utf8";
if (typeof chunk === "string")
chunk = Buffer2.from(chunk, encoding);
if (this[_sawError])
return;
assert2(this[_handle], "zlib binding closed");
const nativeHandle = this[_handle]._handle;
const originalNativeClose = nativeHandle.close;
nativeHandle.close = () => {
};
const originalClose = this[_handle].close;
this[_handle].close = () => {
};
Buffer2.concat = (args) => args;
let result;
try {
const flushFlag = typeof chunk[_flushFlag] === "number" ? chunk[_flushFlag] : this[_flushFlag];
result = this[_handle]._processChunk(chunk, flushFlag);
Buffer2.concat = OriginalBufferConcat;
} catch (err) {
Buffer2.concat = OriginalBufferConcat;
this[_onError](new ZlibError(err));
} finally {
if (this[_handle]) {
this[_handle]._handle = nativeHandle;
nativeHandle.close = originalNativeClose;
this[_handle].close = originalClose;
this[_handle].removeAllListeners("error");
}
}
if (this[_handle])
this[_handle].on("error", (er) => this[_onError](new ZlibError(er)));
let writeReturn;
if (result) {
if (Array.isArray(result) && result.length > 0) {
writeReturn = this[_superWrite](Buffer2.from(result[0]));
for (let i = 1; i < result.length; i++) {
writeReturn = this[_superWrite](result[i]);
}
} else {
writeReturn = this[_superWrite](Buffer2.from(result));
}
}
if (cb)
cb();
return writeReturn;
}
[_superWrite](data) {
return super.write(data);
}
};
var Zlib = class extends ZlibBase {
constructor(opts, mode) {
opts = opts || {};
opts.flush = opts.flush || constants.Z_NO_FLUSH;
opts.finishFlush = opts.finishFlush || constants.Z_FINISH;
super(opts, mode);
this[_fullFlushFlag] = constants.Z_FULL_FLUSH;
this[_level] = opts.level;
this[_strategy] = opts.strategy;
}
params(level, strategy) {
if (this[_sawError])
return;
if (!this[_handle])
throw new Error("cannot switch params when binding is closed");
if (!this[_handle].params)
throw new Error("not supported in this implementation");
if (this[_level] !== level || this[_strategy] !== strategy) {
this.flush(constants.Z_SYNC_FLUSH);
assert2(this[_handle], "zlib binding closed");
const origFlush = this[_handle].flush;
this[_handle].flush = (flushFlag, cb) => {
this.flush(flushFlag);
cb();
};
try {
this[_handle].params(level, strategy);
} finally {
this[_handle].flush = origFlush;
}
if (this[_handle]) {
this[_level] = level;
this[_strategy] = strategy;
}
}
}
};
var Deflate = class extends Zlib {
constructor(opts) {
super(opts, "Deflate");
}
};
var Inflate = class extends Zlib {
constructor(opts) {
super(opts, "Inflate");
}
};
var _portable = Symbol("_portable");
var Gzip = class extends Zlib {
constructor(opts) {
super(opts, "Gzip");
this[_portable] = opts && !!opts.portable;
}
[_superWrite](data) {
if (!this[_portable])
return super[_superWrite](data);
this[_portable] = false;
data[9] = 255;
return super[_superWrite](data);
}
};
var Gunzip = class extends Zlib {
constructor(opts) {
super(opts, "Gunzip");
}
};
var DeflateRaw = class extends Zlib {
constructor(opts) {
super(opts, "DeflateRaw");
}
};
var InflateRaw = class extends Zlib {
constructor(opts) {
super(opts, "InflateRaw");
}
};
var Unzip = class extends Zlib {
constructor(opts) {
super(opts, "Unzip");
}
};
var Brotli = class extends ZlibBase {
constructor(opts, mode) {
opts = opts || {};
opts.flush = opts.flush || constants.BROTLI_OPERATION_PROCESS;
opts.finishFlush = opts.finishFlush || constants.BROTLI_OPERATION_FINISH;
super(opts, mode);
this[_fullFlushFlag] = constants.BROTLI_OPERATION_FLUSH;
}
};
var BrotliCompress = class extends Brotli {
constructor(opts) {
super(opts, "BrotliCompress");
}
};
var BrotliDecompress = class extends Brotli {
constructor(opts) {
super(opts, "BrotliDecompress");
}
};
exports2.Deflate = Deflate;
exports2.Inflate = Inflate;
exports2.Gzip = Gzip;
exports2.Gunzip = Gunzip;
exports2.DeflateRaw = DeflateRaw;
exports2.InflateRaw = InflateRaw;
exports2.Unzip = Unzip;
if (typeof realZlib.BrotliCompress === "function") {
exports2.BrotliCompress = BrotliCompress;
exports2.BrotliDecompress = BrotliDecompress;
} else {
exports2.BrotliCompress = exports2.BrotliDecompress = class {
constructor() {
throw new Error("Brotli is not supported in this version of Node.js");
}
};
}
}
});
// ../../../usr/share/nodejs/tar/lib/normalize-windows-path.js
var require_normalize_windows_path = __commonJS({
"../../../usr/share/nodejs/tar/lib/normalize-windows-path.js"(exports2, module2) {
var platform = process.env.TESTING_TAR_FAKE_PLATFORM || process.platform;
module2.exports = platform !== "win32" ? (p) => p : (p) => p && p.replace(/\\/g, "/");
}
});
// ../../../usr/share/nodejs/tar/lib/read-entry.js
var require_read_entry = __commonJS({
"../../../usr/share/nodejs/tar/lib/read-entry.js"(exports2, module2) {
"use strict";
var { Minipass } = require_minipass();
var normPath = require_normalize_windows_path();
var SLURP = Symbol("slurp");
module2.exports = class ReadEntry extends Minipass {
constructor(header, ex, gex) {
super();
this.pause();
this.extended = ex;
this.globalExtended = gex;
this.header = header;
this.startBlockSize = 512 * Math.ceil(header.size / 512);
this.blockRemain = this.startBlockSize;
this.remain = header.size;
this.type = header.type;
this.meta = false;
this.ignore = false;
switch (this.type) {
case "File":
case "OldFile":
case "Link":
case "SymbolicLink":
case "CharacterDevice":
case "BlockDevice":
case "Directory":
case "FIFO":
case "ContiguousFile":
case "GNUDumpDir":
break;
case "NextFileHasLongLinkpath":
case "NextFileHasLongPath":
case "OldGnuLongPath":
case "GlobalExtendedHeader":
case "ExtendedHeader":
case "OldExtendedHeader":
this.meta = true;
break;
// NOTE: gnutar and bsdtar treat unrecognized types as 'File'
// it may be worth doing the same, but with a warning.
default:
this.ignore = true;
}
this.path = normPath(header.path);
this.mode = header.mode;
if (this.mode) {
this.mode = this.mode & 4095;
}
this.uid = header.uid;
this.gid = header.gid;
this.uname = header.uname;
this.gname = header.gname;
this.size = header.size;
this.mtime = header.mtime;
this.atime = header.atime;
this.ctime = header.ctime;
this.linkpath = normPath(header.linkpath);
this.uname = header.uname;
this.gname = header.gname;
if (ex) {
this[SLURP](ex);
}
if (gex) {
this[SLURP](gex, true);
}
}
write(data) {
const writeLen = data.length;
if (writeLen > this.blockRemain) {
throw new Error("writing more to entry than is appropriate");
}
const r = this.remain;
const br = this.blockRemain;
this.remain = Math.max(0, r - writeLen);
this.blockRemain = Math.max(0, br - writeLen);
if (this.ignore) {
return true;
}
if (r >= writeLen) {
return super.write(data);
}
return super.write(data.slice(0, r));
}
[SLURP](ex, global2) {
for (const k in ex) {
if (ex[k] !== null && ex[k] !== void 0 && !(global2 && k === "path")) {
this[k] = k === "path" || k === "linkpath" ? normPath(ex[k]) : ex[k];
}
}
}
};
}
});
// ../../../usr/share/nodejs/tar/lib/types.js
var require_types3 = __commonJS({
"../../../usr/share/nodejs/tar/lib/types.js"(exports2) {
"use strict";
exports2.name = /* @__PURE__ */ new Map([
["0", "File"],
// same as File
["", "OldFile"],
["1", "Link"],
["2", "SymbolicLink"],
// Devices and FIFOs aren't fully supported
// they are parsed, but skipped when unpacking
["3", "CharacterDevice"],
["4", "BlockDevice"],
["5", "Directory"],
["6", "FIFO"],
// same as File
["7", "ContiguousFile"],
// pax headers
["g", "GlobalExtendedHeader"],
["x", "ExtendedHeader"],
// vendor-specific stuff
// skip
["A", "SolarisACL"],
// like 5, but with data, which should be skipped
["D", "GNUDumpDir"],
// metadata only, skip
["I", "Inode"],
// data = link path of next file
["K", "NextFileHasLongLinkpath"],
// data = path of next file
["L", "NextFileHasLongPath"],
// skip
["M", "ContinuationFile"],
// like L
["N", "OldGnuLongPath"],
// skip
["S", "SparseFile"],
// skip
["V", "TapeVolumeHeader"],
// like x
["X", "OldExtendedHeader"]
]);
exports2.code = new Map(Array.from(exports2.name).map((kv) => [kv[1], kv[0]]));
}
});
// ../../../usr/share/nodejs/tar/lib/large-numbers.js
var require_large_numbers = __commonJS({
"../../../usr/share/nodejs/tar/lib/large-numbers.js"(exports2, module2) {
"use strict";
var encode = (num, buf) => {
if (!Number.isSafeInteger(num)) {
throw Error("cannot encode number outside of javascript safe integer range");
} else if (num < 0) {
encodeNegative(num, buf);
} else {
encodePositive(num, buf);
}
return buf;
};
var encodePositive = (num, buf) => {
buf[0] = 128;
for (var i = buf.length; i > 1; i--) {
buf[i - 1] = num & 255;
num = Math.floor(num / 256);
}
};
var encodeNegative = (num, buf) => {
buf[0] = 255;
var flipped = false;
num = num * -1;
for (var i = buf.length; i > 1; i--) {
var byte = num & 255;
num = Math.floor(num / 256);
if (flipped) {
buf[i - 1] = onesComp(byte);
} else if (byte === 0) {
buf[i - 1] = 0;
} else {
flipped = true;
buf[i - 1] = twosComp(byte);
}
}
};
var parse = (buf) => {
const pre = buf[0];
const value = pre === 128 ? pos(buf.slice(1, buf.length)) : pre === 255 ? twos(buf) : null;
if (value === null) {
throw Error("invalid base256 encoding");
}
if (!Number.isSafeInteger(value)) {
throw Error("parsed number outside of javascript safe integer range");
}
return value;
};
var twos = (buf) => {
var len = buf.length;
var sum = 0;
var flipped = false;
for (var i = len - 1; i > -1; i--) {
var byte = buf[i];
var f;
if (flipped) {
f = onesComp(byte);
} else if (byte === 0) {
f = byte;
} else {
flipped = true;
f = twosComp(byte);
}
if (f !== 0) {
sum -= f * Math.pow(256, len - i - 1);
}
}
return sum;
};
var pos = (buf) => {
var len = buf.length;
var sum = 0;
for (var i = len - 1; i > -1; i--) {
var byte = buf[i];
if (byte !== 0) {
sum += byte * Math.pow(256, len - i - 1);
}
}
return sum;
};
var onesComp = (byte) => (255 ^ byte) & 255;
var twosComp = (byte) => (255 ^ byte) + 1 & 255;
module2.exports = {
encode,
parse
};
}
});
// ../../../usr/share/nodejs/tar/lib/header.js
var require_header = __commonJS({
"../../../usr/share/nodejs/tar/lib/header.js"(exports2, module2) {
"use strict";
var types = require_types3();
var pathModule = require("path").posix;
var large = require_large_numbers();
var SLURP = Symbol("slurp");
var TYPE = Symbol("type");
var Header = class {
constructor(data, off, ex, gex) {
this.cksumValid = false;
this.needPax = false;
this.nullBlock = false;
this.block = null;
this.path = null;
this.mode = null;
this.uid = null;
this.gid = null;
this.size = null;
this.mtime = null;
this.cksum = null;
this[TYPE] = "0";
this.linkpath = null;
this.uname = null;
this.gname = null;
this.devmaj = 0;
this.devmin = 0;
this.atime = null;
this.ctime = null;
if (Buffer.isBuffer(data)) {
this.decode(data, off || 0, ex, gex);
} else if (data) {
this.set(data);
}
}
decode(buf, off, ex, gex) {
if (!off) {
off = 0;
}
if (!buf || !(buf.length >= off + 512)) {
throw new Error("need 512 bytes for header");
}
this.path = decString(buf, off, 100);
this.mode = decNumber(buf, off + 100, 8);
this.uid = decNumber(buf, off + 108, 8);
this.gid = decNumber(buf, off + 116, 8);
this.size = decNumber(buf, off + 124, 12);
this.mtime = decDate(buf, off + 136, 12);
this.cksum = decNumber(buf, off + 148, 12);
this[SLURP](ex);
this[SLURP](gex, true);
this[TYPE] = decString(buf, off + 156, 1);
if (this[TYPE] === "") {
this[TYPE] = "0";
}
if (this[TYPE] === "0" && this.path.slice(-1) === "/") {
this[TYPE] = "5";
}
if (this[TYPE] === "5") {
this.size = 0;
}
this.linkpath = decString(buf, off + 157, 100);
if (buf.slice(off + 257, off + 265).toString() === "ustar\x0000") {
this.uname = decString(buf, off + 265, 32);
this.gname = decString(buf, off + 297, 32);
this.devmaj = decNumber(buf, off + 329, 8);
this.devmin = decNumber(buf, off + 337, 8);
if (buf[off + 475] !== 0) {
const prefix = decString(buf, off + 345, 155);
this.path = prefix + "/" + this.path;
} else {
const prefix = decString(buf, off + 345, 130);
if (prefix) {
this.path = prefix + "/" + this.path;
}
this.atime = decDate(buf, off + 476, 12);
this.ctime = decDate(buf, off + 488, 12);
}
}
let sum = 8 * 32;
for (let i = off; i < off + 148; i++) {
sum += buf[i];
}
for (let i = off + 156; i < off + 512; i++) {
sum += buf[i];
}
this.cksumValid = sum === this.cksum;
if (this.cksum === null && sum === 8 * 32) {
this.nullBlock = true;
}
}
[SLURP](ex, global2) {
for (const k in ex) {
if (ex[k] !== null && ex[k] !== void 0 && !(global2 && k === "path")) {
this[k] = ex[k];
}
}
}
encode(buf, off) {
if (!buf) {
buf = this.block = Buffer.alloc(512);
off = 0;
}
if (!off) {
off = 0;
}
if (!(buf.length >= off + 512)) {
throw new Error("need 512 bytes for header");
}
const prefixSize = this.ctime || this.atime ? 130 : 155;
const split = splitPrefix(this.path || "", prefixSize);
const path10 = split[0];
const prefix = split[1];
this.needPax = split[2];
this.needPax = encString(buf, off, 100, path10) || this.needPax;
this.needPax = encNumber(buf, off + 100, 8, this.mode) || this.needPax;
this.needPax = encNumber(buf, off + 108, 8, this.uid) || this.needPax;
this.needPax = encNumber(buf, off + 116, 8, this.gid) || this.needPax;
this.needPax = encNumber(buf, off + 124, 12, this.size) || this.needPax;
this.needPax = encDate(buf, off + 136, 12, this.mtime) || this.needPax;
buf[off + 156] = this[TYPE].charCodeAt(0);
this.needPax = encString(buf, off + 157, 100, this.linkpath) || this.needPax;
buf.write("ustar\x0000", off + 257, 8);
this.needPax = encString(buf, off + 265, 32, this.uname) || this.needPax;
this.needPax = encString(buf, off + 297, 32, this.gname) || this.needPax;
this.needPax = encNumber(buf, off + 329, 8, this.devmaj) || this.needPax;
this.needPax = encNumber(buf, off + 337, 8, this.devmin) || this.needPax;
this.needPax = encString(buf, off + 345, prefixSize, prefix) || this.needPax;
if (buf[off + 475] !== 0) {
this.needPax = encString(buf, off + 345, 155, prefix) || this.needPax;
} else {
this.needPax = encString(buf, off + 345, 130, prefix) || this.needPax;
this.needPax = encDate(buf, off + 476, 12, this.atime) || this.needPax;
this.needPax = encDate(buf, off + 488, 12, this.ctime) || this.needPax;
}
let sum = 8 * 32;
for (let i = off; i < off + 148; i++) {
sum += buf[i];
}
for (let i = off + 156; i < off + 512; i++) {
sum += buf[i];
}
this.cksum = sum;
encNumber(buf, off + 148, 8, this.cksum);
this.cksumValid = true;
return this.needPax;
}
set(data) {
for (const i in data) {
if (data[i] !== null && data[i] !== void 0) {
this[i] = data[i];
}
}
}
get type() {
return types.name.get(this[TYPE]) || this[TYPE];
}
get typeKey() {
return this[TYPE];
}
set type(type) {
if (types.code.has(type)) {
this[TYPE] = types.code.get(type);
} else {
this[TYPE] = type;
}
}
};
var splitPrefix = (p, prefixSize) => {
const pathSize = 100;
let pp = p;
let prefix = "";
let ret;
const root = pathModule.parse(p).root || ".";
if (Buffer.byteLength(pp) < pathSize) {
ret = [pp, prefix, false];
} else {
prefix = pathModule.dirname(pp);
pp = pathModule.basename(pp);
do {
if (Buffer.byteLength(pp) <= pathSize && Buffer.byteLength(prefix) <= prefixSize) {
ret = [pp, prefix, false];
} else if (Buffer.byteLength(pp) > pathSize && Buffer.byteLength(prefix) <= prefixSize) {
ret = [pp.slice(0, pathSize - 1), prefix, true];
} else {
pp = pathModule.join(pathModule.basename(prefix), pp);
prefix = pathModule.dirname(prefix);
}
} while (prefix !== root && !ret);
if (!ret) {
ret = [p.slice(0, pathSize - 1), "", true];
}
}
return ret;
};
var decString = (buf, off, size) => buf.slice(off, off + size).toString("utf8").replace(/\0.*/, "");
var decDate = (buf, off, size) => numToDate(decNumber(buf, off, size));
var numToDate = (num) => num === null ? null : new Date(num * 1e3);
var decNumber = (buf, off, size) => buf[off] & 128 ? large.parse(buf.slice(off, off + size)) : decSmallNumber(buf, off, size);
var nanNull = (value) => isNaN(value) ? null : value;
var decSmallNumber = (buf, off, size) => nanNull(parseInt(
buf.slice(off, off + size).toString("utf8").replace(/\0.*$/, "").trim(),
8
));
var MAXNUM = {
12: 8589934591,
8: 2097151
};
var encNumber = (buf, off, size, number) => number === null ? false : number > MAXNUM[size] || number < 0 ? (large.encode(number, buf.slice(off, off + size)), true) : (encSmallNumber(buf, off, size, number), false);
var encSmallNumber = (buf, off, size, number) => buf.write(octalString(number, size), off, size, "ascii");
var octalString = (number, size) => padOctal(Math.floor(number).toString(8), size);
var padOctal = (string, size) => (string.length === size - 1 ? string : new Array(size - string.length - 1).join("0") + string + " ") + "\0";
var encDate = (buf, off, size, date) => date === null ? false : encNumber(buf, off, size, date.getTime() / 1e3);
var NULLS = new Array(156).join("\0");
var encString = (buf, off, size, string) => string === null ? false : (buf.write(string + NULLS, off, size, "utf8"), string.length !== Buffer.byteLength(string) || string.length > size);
module2.exports = Header;
}
});
// ../../../usr/share/nodejs/tar/lib/pax.js
var require_pax = __commonJS({
"../../../usr/share/nodejs/tar/lib/pax.js"(exports2, module2) {
"use strict";
var Header = require_header();
var path10 = require("path");
var Pax = class {
constructor(obj, global2) {
this.atime = obj.atime || null;
this.charset = obj.charset || null;
this.comment = obj.comment || null;
this.ctime = obj.ctime || null;
this.gid = obj.gid || null;
this.gname = obj.gname || null;
this.linkpath = obj.linkpath || null;
this.mtime = obj.mtime || null;
this.path = obj.path || null;
this.size = obj.size || null;
this.uid = obj.uid || null;
this.uname = obj.uname || null;
this.dev = obj.dev || null;
this.ino = obj.ino || null;
this.nlink = obj.nlink || null;
this.global = global2 || false;
}
encode() {
const body = this.encodeBody();
if (body === "") {
return null;
}
const bodyLen = Buffer.byteLength(body);
const bufLen = 512 * Math.ceil(1 + bodyLen / 512);
const buf = Buffer.allocUnsafe(bufLen);
for (let i = 0; i < 512; i++) {
buf[i] = 0;
}
new Header({
// XXX split the path
// then the path should be PaxHeader + basename, but less than 99,
// prepend with the dirname
path: ("PaxHeader/" + path10.basename(this.path)).slice(0, 99),
mode: this.mode || 420,
uid: this.uid || null,
gid: this.gid || null,
size: bodyLen,
mtime: this.mtime || null,
type: this.global ? "GlobalExtendedHeader" : "ExtendedHeader",
linkpath: "",
uname: this.uname || "",
gname: this.gname || "",
devmaj: 0,
devmin: 0,
atime: this.atime || null,
ctime: this.ctime || null
}).encode(buf);
buf.write(body, 512, bodyLen, "utf8");
for (let i = bodyLen + 512; i < buf.length; i++) {
buf[i] = 0;
}
return buf;
}
encodeBody() {
return this.encodeField("path") + this.encodeField("ctime") + this.encodeField("atime") + this.encodeField("dev") + this.encodeField("ino") + this.encodeField("nlink") + this.encodeField("charset") + this.encodeField("comment") + this.encodeField("gid") + this.encodeField("gname") + this.encodeField("linkpath") + this.encodeField("mtime") + this.encodeField("size") + this.encodeField("uid") + this.encodeField("uname");
}
encodeField(field) {
if (this[field] === null || this[field] === void 0) {
return "";
}
const v = this[field] instanceof Date ? this[field].getTime() / 1e3 : this[field];
const s = " " + (field === "dev" || field === "ino" || field === "nlink" ? "SCHILY." : "") + field + "=" + v + "\n";
const byteLen = Buffer.byteLength(s);
let digits = Math.floor(Math.log(byteLen) / Math.log(10)) + 1;
if (byteLen + digits >= Math.pow(10, digits)) {
digits += 1;
}
const len = digits + byteLen;
return len + s;
}
};
Pax.parse = (string, ex, g) => new Pax(merge(parseKV(string), ex), g);
var merge = (a, b) => b ? Object.keys(a).reduce((s, k) => (s[k] = a[k], s), b) : a;
var parseKV = (string) => string.replace(/\n$/, "").split("\n").reduce(parseKVLine, /* @__PURE__ */ Object.create(null));
var parseKVLine = (set, line) => {
const n = parseInt(line, 10);
if (n !== Buffer.byteLength(line) + 1) {
return set;
}
line = line.slice((n + " ").length);
const kv = line.split("=");
const k = kv.shift().replace(/^SCHILY\.(dev|ino|nlink)/, "$1");
if (!k) {
return set;
}
const v = kv.join("=");
set[k] = /^([A-Z]+\.)?([mac]|birth|creation)time$/.test(k) ? new Date(v * 1e3) : /^[0-9]+$/.test(v) ? +v : v;
return set;
};
module2.exports = Pax;
}
});
// ../../../usr/share/nodejs/tar/lib/strip-trailing-slashes.js
var require_strip_trailing_slashes = __commonJS({
"../../../usr/share/nodejs/tar/lib/strip-trailing-slashes.js"(exports2, module2) {
module2.exports = (str) => {
let i = str.length - 1;
let slashesStart = -1;
while (i > -1 && str.charAt(i) === "/") {
slashesStart = i;
i--;
}
return slashesStart === -1 ? str : str.slice(0, slashesStart);
};
}
});
// ../../../usr/share/nodejs/tar/lib/warn-mixin.js
var require_warn_mixin = __commonJS({
"../../../usr/share/nodejs/tar/lib/warn-mixin.js"(exports2, module2) {
"use strict";
module2.exports = (Base) => class extends Base {
warn(code, message, data = {}) {
if (this.file) {
data.file = this.file;
}
if (this.cwd) {
data.cwd = this.cwd;
}
data.code = message instanceof Error && message.code || code;
data.tarCode = code;
if (!this.strict && data.recoverable !== false) {
if (message instanceof Error) {
data = Object.assign(message, data);
message = message.message;
}
this.emit("warn", data.tarCode, message, data);
} else if (message instanceof Error) {
this.emit("error", Object.assign(message, data));
} else {
this.emit("error", Object.assign(new Error(`${code}: ${message}`), data));
}
}
};
}
});
// ../../../usr/share/nodejs/tar/lib/winchars.js
var require_winchars = __commonJS({
"../../../usr/share/nodejs/tar/lib/winchars.js"(exports2, module2) {
"use strict";
var raw = [
"|",
"<",
">",
"?",
":"
];
var win = raw.map((char) => String.fromCharCode(61440 + char.charCodeAt(0)));
var toWin = new Map(raw.map((char, i) => [char, win[i]]));
var toRaw = new Map(win.map((char, i) => [char, raw[i]]));
module2.exports = {
encode: (s) => raw.reduce((s2, c) => s2.split(c).join(toWin.get(c)), s),
decode: (s) => win.reduce((s2, c) => s2.split(c).join(toRaw.get(c)), s)
};
}
});
// ../../../usr/share/nodejs/tar/lib/strip-absolute-path.js
var require_strip_absolute_path = __commonJS({
"../../../usr/share/nodejs/tar/lib/strip-absolute-path.js"(exports2, module2) {
var { isAbsolute, parse } = require("path").win32;
module2.exports = (path10) => {
let r = "";
let parsed = parse(path10);
while (isAbsolute(path10) || parsed.root) {
const root = path10.charAt(0) === "/" && path10.slice(0, 4) !== "//?/" ? "/" : parsed.root;
path10 = path10.slice(root.length);
r += root;
parsed = parse(path10);
}
return [r, path10];
};
}
});
// ../../../usr/share/nodejs/tar/lib/mode-fix.js
var require_mode_fix = __commonJS({
"../../../usr/share/nodejs/tar/lib/mode-fix.js"(exports2, module2) {
"use strict";
module2.exports = (mode, isDir, portable) => {
mode &= 4095;
if (portable) {
mode = (mode | 384) & ~18;
}
if (isDir) {
if (mode & 256) {
mode |= 64;
}
if (mode & 32) {
mode |= 8;
}
if (mode & 4) {
mode |= 1;
}
}
return mode;
};
}
});
// ../../../usr/share/nodejs/tar/lib/write-entry.js
var require_write_entry = __commonJS({
"../../../usr/share/nodejs/tar/lib/write-entry.js"(exports2, module2) {
"use strict";
var { Minipass } = require_minipass();
var Pax = require_pax();
var Header = require_header();
var fs8 = require("fs");
var path10 = require("path");
var normPath = require_normalize_windows_path();
var stripSlash = require_strip_trailing_slashes();
var prefixPath = (path11, prefix) => {
if (!prefix) {
return normPath(path11);
}
path11 = normPath(path11).replace(/^\.(\/|$)/, "");
return stripSlash(prefix) + "/" + path11;
};
var maxReadSize = 16 * 1024 * 1024;
var PROCESS = Symbol("process");
var FILE = Symbol("file");
var DIRECTORY = Symbol("directory");
var SYMLINK = Symbol("symlink");
var HARDLINK = Symbol("hardlink");
var HEADER = Symbol("header");
var READ = Symbol("read");
var LSTAT = Symbol("lstat");
var ONLSTAT = Symbol("onlstat");
var ONREAD = Symbol("onread");
var ONREADLINK = Symbol("onreadlink");
var OPENFILE = Symbol("openfile");
var ONOPENFILE = Symbol("onopenfile");
var CLOSE = Symbol("close");
var MODE = Symbol("mode");
var AWAITDRAIN = Symbol("awaitDrain");
var ONDRAIN = Symbol("ondrain");
var PREFIX = Symbol("prefix");
var HAD_ERROR = Symbol("hadError");
var warner = require_warn_mixin();
var winchars = require_winchars();
var stripAbsolutePath = require_strip_absolute_path();
var modeFix = require_mode_fix();
var WriteEntry = warner(class WriteEntry extends Minipass {
constructor(p, opt) {
opt = opt || {};
super(opt);
if (typeof p !== "string") {
throw new TypeError("path is required");
}
this.path = normPath(p);
this.portable = !!opt.portable;
this.myuid = process.getuid && process.getuid() || 0;
this.myuser = process.env.USER || "";
this.maxReadSize = opt.maxReadSize || maxReadSize;
this.linkCache = opt.linkCache || /* @__PURE__ */ new Map();
this.statCache = opt.statCache || /* @__PURE__ */ new Map();
this.preservePaths = !!opt.preservePaths;
this.cwd = normPath(opt.cwd || process.cwd());
this.strict = !!opt.strict;
this.noPax = !!opt.noPax;
this.noMtime = !!opt.noMtime;
this.mtime = opt.mtime || null;
this.prefix = opt.prefix ? normPath(opt.prefix) : null;
this.fd = null;
this.blockLen = null;
this.blockRemain = null;
this.buf = null;
this.offset = null;
this.length = null;
this.pos = null;
this.remain = null;
if (typeof opt.onwarn === "function") {
this.on("warn", opt.onwarn);
}
let pathWarn = false;
if (!this.preservePaths) {
const [root, stripped] = stripAbsolutePath(this.path);
if (root) {
this.path = stripped;
pathWarn = root;
}
}
this.win32 = !!opt.win32 || process.platform === "win32";
if (this.win32) {
this.path = winchars.decode(this.path.replace(/\\/g, "/"));
p = p.replace(/\\/g, "/");
}
this.absolute = normPath(opt.absolute || path10.resolve(this.cwd, p));
if (this.path === "") {
this.path = "./";
}
if (pathWarn) {
this.warn("TAR_ENTRY_INFO", `stripping ${pathWarn} from absolute path`, {
entry: this,
path: pathWarn + this.path
});
}
if (this.statCache.has(this.absolute)) {
this[ONLSTAT](this.statCache.get(this.absolute));
} else {
this[LSTAT]();
}
}
emit(ev, ...data) {
if (ev === "error") {
this[HAD_ERROR] = true;
}
return super.emit(ev, ...data);
}
[LSTAT]() {
fs8.lstat(this.absolute, (er, stat) => {
if (er) {
return this.emit("error", er);
}
this[ONLSTAT](stat);
});
}
[ONLSTAT](stat) {
this.statCache.set(this.absolute, stat);
this.stat = stat;
if (!stat.isFile()) {
stat.size = 0;
}
this.type = getType(stat);
this.emit("stat", stat);
this[PROCESS]();
}
[PROCESS]() {
switch (this.type) {
case "File":
return this[FILE]();
case "Directory":
return this[DIRECTORY]();
case "SymbolicLink":
return this[SYMLINK]();
// unsupported types are ignored.
default:
return this.end();
}
}
[MODE](mode) {
return modeFix(mode, this.type === "Directory", this.portable);
}
[PREFIX](path11) {
return prefixPath(path11, this.prefix);
}
[HEADER]() {
if (this.type === "Directory" && this.portable) {
this.noMtime = true;
}
this.header = new Header({
path: this[PREFIX](this.path),
// only apply the prefix to hard links.
linkpath: this.type === "Link" ? this[PREFIX](this.linkpath) : this.linkpath,
// only the permissions and setuid/setgid/sticky bitflags
// not the higher-order bits that specify file type
mode: this[MODE](this.stat.mode),
uid: this.portable ? null : this.stat.uid,
gid: this.portable ? null : this.stat.gid,
size: this.stat.size,
mtime: this.noMtime ? null : this.mtime || this.stat.mtime,
type: this.type,
uname: this.portable ? null : this.stat.uid === this.myuid ? this.myuser : "",
atime: this.portable ? null : this.stat.atime,
ctime: this.portable ? null : this.stat.ctime
});
if (this.header.encode() && !this.noPax) {
super.write(new Pax({
atime: this.portable ? null : this.header.atime,
ctime: this.portable ? null : this.header.ctime,
gid: this.portable ? null : this.header.gid,
mtime: this.noMtime ? null : this.mtime || this.header.mtime,
path: this[PREFIX](this.path),
linkpath: this.type === "Link" ? this[PREFIX](this.linkpath) : this.linkpath,
size: this.header.size,
uid: this.portable ? null : this.header.uid,
uname: this.portable ? null : this.header.uname,
dev: this.portable ? null : this.stat.dev,
ino: this.portable ? null : this.stat.ino,
nlink: this.portable ? null : this.stat.nlink
}).encode());
}
super.write(this.header.block);
}
[DIRECTORY]() {
if (this.path.slice(-1) !== "/") {
this.path += "/";
}
this.stat.size = 0;
this[HEADER]();
this.end();
}
[SYMLINK]() {
fs8.readlink(this.absolute, (er, linkpath) => {
if (er) {
return this.emit("error", er);
}
this[ONREADLINK](linkpath);
});
}
[ONREADLINK](linkpath) {
this.linkpath = normPath(linkpath);
this[HEADER]();
this.end();
}
[HARDLINK](linkpath) {
this.type = "Link";
this.linkpath = normPath(path10.relative(this.cwd, linkpath));
this.stat.size = 0;
this[HEADER]();
this.end();
}
[FILE]() {
if (this.stat.nlink > 1) {
const linkKey = this.stat.dev + ":" + this.stat.ino;
if (this.linkCache.has(linkKey)) {
const linkpath = this.linkCache.get(linkKey);
if (linkpath.indexOf(this.cwd) === 0) {
return this[HARDLINK](linkpath);
}
}
this.linkCache.set(linkKey, this.absolute);
}
this[HEADER]();
if (this.stat.size === 0) {
return this.end();
}
this[OPENFILE]();
}
[OPENFILE]() {
fs8.open(this.absolute, "r", (er, fd) => {
if (er) {
return this.emit("error", er);
}
this[ONOPENFILE](fd);
});
}
[ONOPENFILE](fd) {
this.fd = fd;
if (this[HAD_ERROR]) {
return this[CLOSE]();
}
this.blockLen = 512 * Math.ceil(this.stat.size / 512);
this.blockRemain = this.blockLen;
const bufLen = Math.min(this.blockLen, this.maxReadSize);
this.buf = Buffer.allocUnsafe(bufLen);
this.offset = 0;
this.pos = 0;
this.remain = this.stat.size;
this.length = this.buf.length;
this[READ]();
}
[READ]() {
const { fd, buf, offset, length, pos } = this;
fs8.read(fd, buf, offset, length, pos, (er, bytesRead) => {
if (er) {
return this[CLOSE](() => this.emit("error", er));
}
this[ONREAD](bytesRead);
});
}
[CLOSE](cb) {
fs8.close(this.fd, cb);
}
[ONREAD](bytesRead) {
if (bytesRead <= 0 && this.remain > 0) {
const er = new Error("encountered unexpected EOF");
er.path = this.absolute;
er.syscall = "read";
er.code = "EOF";
return this[CLOSE](() => this.emit("error", er));
}
if (bytesRead > this.remain) {
const er = new Error("did not encounter expected EOF");
er.path = this.absolute;
er.syscall = "read";
er.code = "EOF";
return this[CLOSE](() => this.emit("error", er));
}
if (bytesRead === this.remain) {
for (let i = bytesRead; i < this.length && bytesRead < this.blockRemain; i++) {
this.buf[i + this.offset] = 0;
bytesRead++;
this.remain++;
}
}
const writeBuf = this.offset === 0 && bytesRead === this.buf.length ? this.buf : this.buf.slice(this.offset, this.offset + bytesRead);
const flushed = this.write(writeBuf);
if (!flushed) {
this[AWAITDRAIN](() => this[ONDRAIN]());
} else {
this[ONDRAIN]();
}
}
[AWAITDRAIN](cb) {
this.once("drain", cb);
}
write(writeBuf) {
if (this.blockRemain < writeBuf.length) {
const er = new Error("writing more data than expected");
er.path = this.absolute;
return this.emit("error", er);
}
this.remain -= writeBuf.length;
this.blockRemain -= writeBuf.length;
this.pos += writeBuf.length;
this.offset += writeBuf.length;
return super.write(writeBuf);
}
[ONDRAIN]() {
if (!this.remain) {
if (this.blockRemain) {
super.write(Buffer.alloc(this.blockRemain));
}
return this[CLOSE]((er) => er ? this.emit("error", er) : this.end());
}
if (this.offset >= this.length) {
this.buf = Buffer.allocUnsafe(Math.min(this.blockRemain, this.buf.length));
this.offset = 0;
}
this.length = this.buf.length - this.offset;
this[READ]();
}
});
var WriteEntrySync = class extends WriteEntry {
[LSTAT]() {
this[ONLSTAT](fs8.lstatSync(this.absolute));
}
[SYMLINK]() {
this[ONREADLINK](fs8.readlinkSync(this.absolute));
}
[OPENFILE]() {
this[ONOPENFILE](fs8.openSync(this.absolute, "r"));
}
[READ]() {
let threw = true;
try {
const { fd, buf, offset, length, pos } = this;
const bytesRead = fs8.readSync(fd, buf, offset, length, pos);
this[ONREAD](bytesRead);
threw = false;
} finally {
if (threw) {
try {
this[CLOSE](() => {
});
} catch (er) {
}
}
}
}
[AWAITDRAIN](cb) {
cb();
}
[CLOSE](cb) {
fs8.closeSync(this.fd);
cb();
}
};
var WriteEntryTar = warner(class WriteEntryTar extends Minipass {
constructor(readEntry, opt) {
opt = opt || {};
super(opt);
this.preservePaths = !!opt.preservePaths;
this.portable = !!opt.portable;
this.strict = !!opt.strict;
this.noPax = !!opt.noPax;
this.noMtime = !!opt.noMtime;
this.readEntry = readEntry;
this.type = readEntry.type;
if (this.type === "Directory" && this.portable) {
this.noMtime = true;
}
this.prefix = opt.prefix || null;
this.path = normPath(readEntry.path);
this.mode = this[MODE](readEntry.mode);
this.uid = this.portable ? null : readEntry.uid;
this.gid = this.portable ? null : readEntry.gid;
this.uname = this.portable ? null : readEntry.uname;
this.gname = this.portable ? null : readEntry.gname;
this.size = readEntry.size;
this.mtime = this.noMtime ? null : opt.mtime || readEntry.mtime;
this.atime = this.portable ? null : readEntry.atime;
this.ctime = this.portable ? null : readEntry.ctime;
this.linkpath = normPath(readEntry.linkpath);
if (typeof opt.onwarn === "function") {
this.on("warn", opt.onwarn);
}
let pathWarn = false;
if (!this.preservePaths) {
const [root, stripped] = stripAbsolutePath(this.path);
if (root) {
this.path = stripped;
pathWarn = root;
}
}
this.remain = readEntry.size;
this.blockRemain = readEntry.startBlockSize;
this.header = new Header({
path: this[PREFIX](this.path),
linkpath: this.type === "Link" ? this[PREFIX](this.linkpath) : this.linkpath,
// only the permissions and setuid/setgid/sticky bitflags
// not the higher-order bits that specify file type
mode: this.mode,
uid: this.portable ? null : this.uid,
gid: this.portable ? null : this.gid,
size: this.size,
mtime: this.noMtime ? null : this.mtime,
type: this.type,
uname: this.portable ? null : this.uname,
atime: this.portable ? null : this.atime,
ctime: this.portable ? null : this.ctime
});
if (pathWarn) {
this.warn("TAR_ENTRY_INFO", `stripping ${pathWarn} from absolute path`, {
entry: this,
path: pathWarn + this.path
});
}
if (this.header.encode() && !this.noPax) {
super.write(new Pax({
atime: this.portable ? null : this.atime,
ctime: this.portable ? null : this.ctime,
gid: this.portable ? null : this.gid,
mtime: this.noMtime ? null : this.mtime,
path: this[PREFIX](this.path),
linkpath: this.type === "Link" ? this[PREFIX](this.linkpath) : this.linkpath,
size: this.size,
uid: this.portable ? null : this.uid,
uname: this.portable ? null : this.uname,
dev: this.portable ? null : this.readEntry.dev,
ino: this.portable ? null : this.readEntry.ino,
nlink: this.portable ? null : this.readEntry.nlink
}).encode());
}
super.write(this.header.block);
readEntry.pipe(this);
}
[PREFIX](path11) {
return prefixPath(path11, this.prefix);
}
[MODE](mode) {
return modeFix(mode, this.type === "Directory", this.portable);
}
write(data) {
const writeLen = data.length;
if (writeLen > this.blockRemain) {
throw new Error("writing more to entry than is appropriate");
}
this.blockRemain -= writeLen;
return super.write(data);
}
end() {
if (this.blockRemain) {
super.write(Buffer.alloc(this.blockRemain));
}
return super.end();
}
});
WriteEntry.Sync = WriteEntrySync;
WriteEntry.Tar = WriteEntryTar;
var getType = (stat) => stat.isFile() ? "File" : stat.isDirectory() ? "Directory" : stat.isSymbolicLink() ? "SymbolicLink" : "Unsupported";
module2.exports = WriteEntry;
}
});
// ../../../usr/share/nodejs/yallist/iterator.js
var require_iterator = __commonJS({
"../../../usr/share/nodejs/yallist/iterator.js"(exports2, module2) {
"use strict";
module2.exports = function(Yallist) {
Yallist.prototype[Symbol.iterator] = function* () {
for (let walker = this.head; walker; walker = walker.next) {
yield walker.value;
}
};
};
}
});
// ../../../usr/share/nodejs/yallist/yallist.js
var require_yallist = __commonJS({
"../../../usr/share/nodejs/yallist/yallist.js"(exports2, module2) {
"use strict";
module2.exports = Yallist;
Yallist.Node = Node;
Yallist.create = Yallist;
function Yallist(list) {
var self2 = this;
if (!(self2 instanceof Yallist)) {
self2 = new Yallist();
}
self2.tail = null;
self2.head = null;
self2.length = 0;
if (list && typeof list.forEach === "function") {
list.forEach(function(item) {
self2.push(item);
});
} else if (arguments.length > 0) {
for (var i = 0, l = arguments.length; i < l; i++) {
self2.push(arguments[i]);
}
}
return self2;
}
Yallist.prototype.removeNode = function(node) {
if (node.list !== this) {
throw new Error("removing node which does not belong to this list");
}
var next = node.next;
var prev = node.prev;
if (next) {
next.prev = prev;
}
if (prev) {
prev.next = next;
}
if (node === this.head) {
this.head = next;
}
if (node === this.tail) {
this.tail = prev;
}
node.list.length--;
node.next = null;
node.prev = null;
node.list = null;
return next;
};
Yallist.prototype.unshiftNode = function(node) {
if (node === this.head) {
return;
}
if (node.list) {
node.list.removeNode(node);
}
var head = this.head;
node.list = this;
node.next = head;
if (head) {
head.prev = node;
}
this.head = node;
if (!this.tail) {
this.tail = node;
}
this.length++;
};
Yallist.prototype.pushNode = function(node) {
if (node === this.tail) {
return;
}
if (node.list) {
node.list.removeNode(node);
}
var tail = this.tail;
node.list = this;
node.prev = tail;
if (tail) {
tail.next = node;
}
this.tail = node;
if (!this.head) {
this.head = node;
}
this.length++;
};
Yallist.prototype.push = function() {
for (var i = 0, l = arguments.length; i < l; i++) {
push(this, arguments[i]);
}
return this.length;
};
Yallist.prototype.unshift = function() {
for (var i = 0, l = arguments.length; i < l; i++) {
unshift(this, arguments[i]);
}
return this.length;
};
Yallist.prototype.pop = function() {
if (!this.tail) {
return void 0;
}
var res = this.tail.value;
this.tail = this.tail.prev;
if (this.tail) {
this.tail.next = null;
} else {
this.head = null;
}
this.length--;
return res;
};
Yallist.prototype.shift = function() {
if (!this.head) {
return void 0;
}
var res = this.head.value;
this.head = this.head.next;
if (this.head) {
this.head.prev = null;
} else {
this.tail = null;
}
this.length--;
return res;
};
Yallist.prototype.forEach = function(fn2, thisp) {
thisp = thisp || this;
for (var walker = this.head, i = 0; walker !== null; i++) {
fn2.call(thisp, walker.value, i, this);
walker = walker.next;
}
};
Yallist.prototype.forEachReverse = function(fn2, thisp) {
thisp = thisp || this;
for (var walker = this.tail, i = this.length - 1; walker !== null; i--) {
fn2.call(thisp, walker.value, i, this);
walker = walker.prev;
}
};
Yallist.prototype.get = function(n) {
for (var i = 0, walker = this.head; walker !== null && i < n; i++) {
walker = walker.next;
}
if (i === n && walker !== null) {
return walker.value;
}
};
Yallist.prototype.getReverse = function(n) {
for (var i = 0, walker = this.tail; walker !== null && i < n; i++) {
walker = walker.prev;
}
if (i === n && walker !== null) {
return walker.value;
}
};
Yallist.prototype.map = function(fn2, thisp) {
thisp = thisp || this;
var res = new Yallist();
for (var walker = this.head; walker !== null; ) {
res.push(fn2.call(thisp, walker.value, this));
walker = walker.next;
}
return res;
};
Yallist.prototype.mapReverse = function(fn2, thisp) {
thisp = thisp || this;
var res = new Yallist();
for (var walker = this.tail; walker !== null; ) {
res.push(fn2.call(thisp, walker.value, this));
walker = walker.prev;
}
return res;
};
Yallist.prototype.reduce = function(fn2, initial) {
var acc;
var walker = this.head;
if (arguments.length > 1) {
acc = initial;
} else if (this.head) {
walker = this.head.next;
acc = this.head.value;
} else {
throw new TypeError("Reduce of empty list with no initial value");
}
for (var i = 0; walker !== null; i++) {
acc = fn2(acc, walker.value, i);
walker = walker.next;
}
return acc;
};
Yallist.prototype.reduceReverse = function(fn2, initial) {
var acc;
var walker = this.tail;
if (arguments.length > 1) {
acc = initial;
} else if (this.tail) {
walker = this.tail.prev;
acc = this.tail.value;
} else {
throw new TypeError("Reduce of empty list with no initial value");
}
for (var i = this.length - 1; walker !== null; i--) {
acc = fn2(acc, walker.value, i);
walker = walker.prev;
}
return acc;
};
Yallist.prototype.toArray = function() {
var arr = new Array(this.length);
for (var i = 0, walker = this.head; walker !== null; i++) {
arr[i] = walker.value;
walker = walker.next;
}
return arr;
};
Yallist.prototype.toArrayReverse = function() {
var arr = new Array(this.length);
for (var i = 0, walker = this.tail; walker !== null; i++) {
arr[i] = walker.value;
walker = walker.prev;
}
return arr;
};
Yallist.prototype.slice = function(from, to) {
to = to || this.length;
if (to < 0) {
to += this.length;
}
from = from || 0;
if (from < 0) {
from += this.length;
}
var ret = new Yallist();
if (to < from || to < 0) {
return ret;
}
if (from < 0) {
from = 0;
}
if (to > this.length) {
to = this.length;
}
for (var i = 0, walker = this.head; walker !== null && i < from; i++) {
walker = walker.next;
}
for (; walker !== null && i < to; i++, walker = walker.next) {
ret.push(walker.value);
}
return ret;
};
Yallist.prototype.sliceReverse = function(from, to) {
to = to || this.length;
if (to < 0) {
to += this.length;
}
from = from || 0;
if (from < 0) {
from += this.length;
}
var ret = new Yallist();
if (to < from || to < 0) {
return ret;
}
if (from < 0) {
from = 0;
}
if (to > this.length) {
to = this.length;
}
for (var i = this.length, walker = this.tail; walker !== null && i > to; i--) {
walker = walker.prev;
}
for (; walker !== null && i > from; i--, walker = walker.prev) {
ret.push(walker.value);
}
return ret;
};
Yallist.prototype.splice = function(start, deleteCount, ...nodes) {
if (start > this.length) {
start = this.length - 1;
}
if (start < 0) {
start = this.length + start;
}
for (var i = 0, walker = this.head; walker !== null && i < start; i++) {
walker = walker.next;
}
var ret = [];
for (var i = 0; walker && i < deleteCount; i++) {
ret.push(walker.value);
walker = this.removeNode(walker);
}
if (walker === null) {
walker = this.tail;
}
if (walker !== this.head && walker !== this.tail) {
walker = walker.prev;
}
for (var i = 0; i < nodes.length; i++) {
walker = insert(this, walker, nodes[i]);
}
return ret;
};
Yallist.prototype.reverse = function() {
var head = this.head;
var tail = this.tail;
for (var walker = head; walker !== null; walker = walker.prev) {
var p = walker.prev;
walker.prev = walker.next;
walker.next = p;
}
this.head = tail;
this.tail = head;
return this;
};
function insert(self2, node, value) {
var inserted = node === self2.head ? new Node(value, null, node, self2) : new Node(value, node, node.next, self2);
if (inserted.next === null) {
self2.tail = inserted;
}
if (inserted.prev === null) {
self2.head = inserted;
}
self2.length++;
return inserted;
}
function push(self2, item) {
self2.tail = new Node(item, self2.tail, null, self2);
if (!self2.head) {
self2.head = self2.tail;
}
self2.length++;
}
function unshift(self2, item) {
self2.head = new Node(item, null, self2.head, self2);
if (!self2.tail) {
self2.tail = self2.head;
}
self2.length++;
}
function Node(value, prev, next, list) {
if (!(this instanceof Node)) {
return new Node(value, prev, next, list);
}
this.list = list;
this.value = value;
if (prev) {
prev.next = this;
this.prev = prev;
} else {
this.prev = null;
}
if (next) {
next.prev = this;
this.next = next;
} else {
this.next = null;
}
}
try {
require_iterator()(Yallist);
} catch (er) {
}
}
});
// ../../../usr/share/nodejs/tar/lib/pack.js
var require_pack = __commonJS({
"../../../usr/share/nodejs/tar/lib/pack.js"(exports2, module2) {
"use strict";
var PackJob = class {
constructor(path11, absolute) {
this.path = path11 || "./";
this.absolute = absolute;
this.entry = null;
this.stat = null;
this.readdir = null;
this.pending = false;
this.ignore = false;
this.piped = false;
}
};
var { Minipass } = require_minipass();
var zlib = require_minizlib();
var ReadEntry = require_read_entry();
var WriteEntry = require_write_entry();
var WriteEntrySync = WriteEntry.Sync;
var WriteEntryTar = WriteEntry.Tar;
var Yallist = require_yallist();
var EOF = Buffer.alloc(1024);
var ONSTAT = Symbol("onStat");
var ENDED = Symbol("ended");
var QUEUE = Symbol("queue");
var CURRENT = Symbol("current");
var PROCESS = Symbol("process");
var PROCESSING = Symbol("processing");
var PROCESSJOB = Symbol("processJob");
var JOBS = Symbol("jobs");
var JOBDONE = Symbol("jobDone");
var ADDFSENTRY = Symbol("addFSEntry");
var ADDTARENTRY = Symbol("addTarEntry");
var STAT = Symbol("stat");
var READDIR = Symbol("readdir");
var ONREADDIR = Symbol("onreaddir");
var PIPE = Symbol("pipe");
var ENTRY = Symbol("entry");
var ENTRYOPT = Symbol("entryOpt");
var WRITEENTRYCLASS = Symbol("writeEntryClass");
var WRITE = Symbol("write");
var ONDRAIN = Symbol("ondrain");
var fs8 = require("fs");
var path10 = require("path");
var warner = require_warn_mixin();
var normPath = require_normalize_windows_path();
var Pack = warner(class Pack extends Minipass {
constructor(opt) {
super(opt);
opt = opt || /* @__PURE__ */ Object.create(null);
this.opt = opt;
this.file = opt.file || "";
this.cwd = opt.cwd || process.cwd();
this.maxReadSize = opt.maxReadSize;
this.preservePaths = !!opt.preservePaths;
this.strict = !!opt.strict;
this.noPax = !!opt.noPax;
this.prefix = normPath(opt.prefix || "");
this.linkCache = opt.linkCache || /* @__PURE__ */ new Map();
this.statCache = opt.statCache || /* @__PURE__ */ new Map();
this.readdirCache = opt.readdirCache || /* @__PURE__ */ new Map();
this[WRITEENTRYCLASS] = WriteEntry;
if (typeof opt.onwarn === "function") {
this.on("warn", opt.onwarn);
}
this.portable = !!opt.portable;
this.zip = null;
if (opt.gzip || opt.brotli) {
if (opt.gzip && opt.brotli) {
throw new TypeError("gzip and brotli are mutually exclusive");
}
if (opt.gzip) {
if (typeof opt.gzip !== "object") {
opt.gzip = {};
}
if (this.portable) {
opt.gzip.portable = true;
}
this.zip = new zlib.Gzip(opt.gzip);
}
if (opt.brotli) {
if (typeof opt.brotli !== "object") {
opt.brotli = {};
}
this.zip = new zlib.BrotliCompress(opt.brotli);
}
this.zip.on("data", (chunk) => super.write(chunk));
this.zip.on("end", (_) => super.end());
this.zip.on("drain", (_) => this[ONDRAIN]());
this.on("resume", (_) => this.zip.resume());
} else {
this.on("drain", this[ONDRAIN]);
}
this.noDirRecurse = !!opt.noDirRecurse;
this.follow = !!opt.follow;
this.noMtime = !!opt.noMtime;
this.mtime = opt.mtime || null;
this.filter = typeof opt.filter === "function" ? opt.filter : (_) => true;
this[QUEUE] = new Yallist();
this[JOBS] = 0;
this.jobs = +opt.jobs || 4;
this[PROCESSING] = false;
this[ENDED] = false;
}
[WRITE](chunk) {
return super.write(chunk);
}
add(path11) {
this.write(path11);
return this;
}
end(path11) {
if (path11) {
this.write(path11);
}
this[ENDED] = true;
this[PROCESS]();
return this;
}
write(path11) {
if (this[ENDED]) {
throw new Error("write after end");
}
if (path11 instanceof ReadEntry) {
this[ADDTARENTRY](path11);
} else {
this[ADDFSENTRY](path11);
}
return this.flowing;
}
[ADDTARENTRY](p) {
const absolute = normPath(path10.resolve(this.cwd, p.path));
if (!this.filter(p.path, p)) {
p.resume();
} else {
const job = new PackJob(p.path, absolute, false);
job.entry = new WriteEntryTar(p, this[ENTRYOPT](job));
job.entry.on("end", (_) => this[JOBDONE](job));
this[JOBS] += 1;
this[QUEUE].push(job);
}
this[PROCESS]();
}
[ADDFSENTRY](p) {
const absolute = normPath(path10.resolve(this.cwd, p));
this[QUEUE].push(new PackJob(p, absolute));
this[PROCESS]();
}
[STAT](job) {
job.pending = true;
this[JOBS] += 1;
const stat = this.follow ? "stat" : "lstat";
fs8[stat](job.absolute, (er, stat2) => {
job.pending = false;
this[JOBS] -= 1;
if (er) {
this.emit("error", er);
} else {
this[ONSTAT](job, stat2);
}
});
}
[ONSTAT](job, stat) {
this.statCache.set(job.absolute, stat);
job.stat = stat;
if (!this.filter(job.path, stat)) {
job.ignore = true;
}
this[PROCESS]();
}
[READDIR](job) {
job.pending = true;
this[JOBS] += 1;
fs8.readdir(job.absolute, (er, entries) => {
job.pending = false;
this[JOBS] -= 1;
if (er) {
return this.emit("error", er);
}
this[ONREADDIR](job, entries);
});
}
[ONREADDIR](job, entries) {
this.readdirCache.set(job.absolute, entries);
job.readdir = entries;
this[PROCESS]();
}
[PROCESS]() {
if (this[PROCESSING]) {
return;
}
this[PROCESSING] = true;
for (let w = this[QUEUE].head; w !== null && this[JOBS] < this.jobs; w = w.next) {
this[PROCESSJOB](w.value);
if (w.value.ignore) {
const p = w.next;
this[QUEUE].removeNode(w);
w.next = p;
}
}
this[PROCESSING] = false;
if (this[ENDED] && !this[QUEUE].length && this[JOBS] === 0) {
if (this.zip) {
this.zip.end(EOF);
} else {
super.write(EOF);
super.end();
}
}
}
get [CURRENT]() {
return this[QUEUE] && this[QUEUE].head && this[QUEUE].head.value;
}
[JOBDONE](job) {
this[QUEUE].shift();
this[JOBS] -= 1;
this[PROCESS]();
}
[PROCESSJOB](job) {
if (job.pending) {
return;
}
if (job.entry) {
if (job === this[CURRENT] && !job.piped) {
this[PIPE](job);
}
return;
}
if (!job.stat) {
if (this.statCache.has(job.absolute)) {
this[ONSTAT](job, this.statCache.get(job.absolute));
} else {
this[STAT](job);
}
}
if (!job.stat) {
return;
}
if (job.ignore) {
return;
}
if (!this.noDirRecurse && job.stat.isDirectory() && !job.readdir) {
if (this.readdirCache.has(job.absolute)) {
this[ONREADDIR](job, this.readdirCache.get(job.absolute));
} else {
this[READDIR](job);
}
if (!job.readdir) {
return;
}
}
job.entry = this[ENTRY](job);
if (!job.entry) {
job.ignore = true;
return;
}
if (job === this[CURRENT] && !job.piped) {
this[PIPE](job);
}
}
[ENTRYOPT](job) {
return {
onwarn: (code, msg, data) => this.warn(code, msg, data),
noPax: this.noPax,
cwd: this.cwd,
absolute: job.absolute,
preservePaths: this.preservePaths,
maxReadSize: this.maxReadSize,
strict: this.strict,
portable: this.portable,
linkCache: this.linkCache,
statCache: this.statCache,
noMtime: this.noMtime,
mtime: this.mtime,
prefix: this.prefix
};
}
[ENTRY](job) {
this[JOBS] += 1;
try {
return new this[WRITEENTRYCLASS](job.path, this[ENTRYOPT](job)).on("end", () => this[JOBDONE](job)).on("error", (er) => this.emit("error", er));
} catch (er) {
this.emit("error", er);
}
}
[ONDRAIN]() {
if (this[CURRENT] && this[CURRENT].entry) {
this[CURRENT].entry.resume();
}
}
// like .pipe() but using super, because our write() is special
[PIPE](job) {
job.piped = true;
if (job.readdir) {
job.readdir.forEach((entry) => {
const p = job.path;
const base = p === "./" ? "" : p.replace(/\/*$/, "/");
this[ADDFSENTRY](base + entry);
});
}
const source = job.entry;
const zip = this.zip;
if (zip) {
source.on("data", (chunk) => {
if (!zip.write(chunk)) {
source.pause();
}
});
} else {
source.on("data", (chunk) => {
if (!super.write(chunk)) {
source.pause();
}
});
}
}
pause() {
if (this.zip) {
this.zip.pause();
}
return super.pause();
}
});
var PackSync = class extends Pack {
constructor(opt) {
super(opt);
this[WRITEENTRYCLASS] = WriteEntrySync;
}
// pause/resume are no-ops in sync streams.
pause() {
}
resume() {
}
[STAT](job) {
const stat = this.follow ? "statSync" : "lstatSync";
this[ONSTAT](job, fs8[stat](job.absolute));
}
[READDIR](job, stat) {
this[ONREADDIR](job, fs8.readdirSync(job.absolute));
}
// gotta get it all in this tick
[PIPE](job) {
const source = job.entry;
const zip = this.zip;
if (job.readdir) {
job.readdir.forEach((entry) => {
const p = job.path;
const base = p === "./" ? "" : p.replace(/\/*$/, "/");
this[ADDFSENTRY](base + entry);
});
}
if (zip) {
source.on("data", (chunk) => {
zip.write(chunk);
});
} else {
source.on("data", (chunk) => {
super[WRITE](chunk);
});
}
}
};
Pack.Sync = PackSync;
module2.exports = Pack;
}
});
// ../../../usr/share/nodejs/tar/node_modules/fs-minipass/lib/index.js
var require_lib2 = __commonJS({
"../../../usr/share/nodejs/tar/node_modules/fs-minipass/lib/index.js"(exports2) {
"use strict";
var { Minipass } = require_minipass();
var EE = require("events").EventEmitter;
var fs8 = require("fs");
var writev = fs8.writev;
var _autoClose = Symbol("_autoClose");
var _close = Symbol("_close");
var _ended = Symbol("_ended");
var _fd = Symbol("_fd");
var _finished = Symbol("_finished");
var _flags = Symbol("_flags");
var _flush = Symbol("_flush");
var _handleChunk = Symbol("_handleChunk");
var _makeBuf = Symbol("_makeBuf");
var _mode = Symbol("_mode");
var _needDrain = Symbol("_needDrain");
var _onerror = Symbol("_onerror");
var _onopen = Symbol("_onopen");
var _onread = Symbol("_onread");
var _onwrite = Symbol("_onwrite");
var _open = Symbol("_open");
var _path = Symbol("_path");
var _pos = Symbol("_pos");
var _queue = Symbol("_queue");
var _read = Symbol("_read");
var _readSize = Symbol("_readSize");
var _reading = Symbol("_reading");
var _remain = Symbol("_remain");
var _size = Symbol("_size");
var _write = Symbol("_write");
var _writing = Symbol("_writing");
var _defaultFlag = Symbol("_defaultFlag");
var _errored = Symbol("_errored");
var ReadStream = class extends Minipass {
constructor(path10, opt) {
opt = opt || {};
super(opt);
this.readable = true;
this.writable = false;
if (typeof path10 !== "string") {
throw new TypeError("path must be a string");
}
this[_errored] = false;
this[_fd] = typeof opt.fd === "number" ? opt.fd : null;
this[_path] = path10;
this[_readSize] = opt.readSize || 16 * 1024 * 1024;
this[_reading] = false;
this[_size] = typeof opt.size === "number" ? opt.size : Infinity;
this[_remain] = this[_size];
this[_autoClose] = typeof opt.autoClose === "boolean" ? opt.autoClose : true;
if (typeof this[_fd] === "number") {
this[_read]();
} else {
this[_open]();
}
}
get fd() {
return this[_fd];
}
get path() {
return this[_path];
}
write() {
throw new TypeError("this is a readable stream");
}
end() {
throw new TypeError("this is a readable stream");
}
[_open]() {
fs8.open(this[_path], "r", (er, fd) => this[_onopen](er, fd));
}
[_onopen](er, fd) {
if (er) {
this[_onerror](er);
} else {
this[_fd] = fd;
this.emit("open", fd);
this[_read]();
}
}
[_makeBuf]() {
return Buffer.allocUnsafe(Math.min(this[_readSize], this[_remain]));
}
[_read]() {
if (!this[_reading]) {
this[_reading] = true;
const buf = this[_makeBuf]();
if (buf.length === 0) {
return process.nextTick(() => this[_onread](null, 0, buf));
}
fs8.read(this[_fd], buf, 0, buf.length, null, (er, br, b) => this[_onread](er, br, b));
}
}
[_onread](er, br, buf) {
this[_reading] = false;
if (er) {
this[_onerror](er);
} else if (this[_handleChunk](br, buf)) {
this[_read]();
}
}
[_close]() {
if (this[_autoClose] && typeof this[_fd] === "number") {
const fd = this[_fd];
this[_fd] = null;
fs8.close(fd, (er) => er ? this.emit("error", er) : this.emit("close"));
}
}
[_onerror](er) {
this[_reading] = true;
this[_close]();
this.emit("error", er);
}
[_handleChunk](br, buf) {
let ret = false;
this[_remain] -= br;
if (br > 0) {
ret = super.write(br < buf.length ? buf.slice(0, br) : buf);
}
if (br === 0 || this[_remain] <= 0) {
ret = false;
this[_close]();
super.end();
}
return ret;
}
emit(ev, data) {
switch (ev) {
case "prefinish":
case "finish":
break;
case "drain":
if (typeof this[_fd] === "number") {
this[_read]();
}
break;
case "error":
if (this[_errored]) {
return;
}
this[_errored] = true;
return super.emit(ev, data);
default:
return super.emit(ev, data);
}
}
};
var ReadStreamSync = class extends ReadStream {
[_open]() {
let threw = true;
try {
this[_onopen](null, fs8.openSync(this[_path], "r"));
threw = false;
} finally {
if (threw) {
this[_close]();
}
}
}
[_read]() {
let threw = true;
try {
if (!this[_reading]) {
this[_reading] = true;
do {
const buf = this[_makeBuf]();
const br = buf.length === 0 ? 0 : fs8.readSync(this[_fd], buf, 0, buf.length, null);
if (!this[_handleChunk](br, buf)) {
break;
}
} while (true);
this[_reading] = false;
}
threw = false;
} finally {
if (threw) {
this[_close]();
}
}
}
[_close]() {
if (this[_autoClose] && typeof this[_fd] === "number") {
const fd = this[_fd];
this[_fd] = null;
fs8.closeSync(fd);
this.emit("close");
}
}
};
var WriteStream = class extends EE {
constructor(path10, opt) {
opt = opt || {};
super(opt);
this.readable = false;
this.writable = true;
this[_errored] = false;
this[_writing] = false;
this[_ended] = false;
this[_needDrain] = false;
this[_queue] = [];
this[_path] = path10;
this[_fd] = typeof opt.fd === "number" ? opt.fd : null;
this[_mode] = opt.mode === void 0 ? 438 : opt.mode;
this[_pos] = typeof opt.start === "number" ? opt.start : null;
this[_autoClose] = typeof opt.autoClose === "boolean" ? opt.autoClose : true;
const defaultFlag = this[_pos] !== null ? "r+" : "w";
this[_defaultFlag] = opt.flags === void 0;
this[_flags] = this[_defaultFlag] ? defaultFlag : opt.flags;
if (this[_fd] === null) {
this[_open]();
}
}
emit(ev, data) {
if (ev === "error") {
if (this[_errored]) {
return;
}
this[_errored] = true;
}
return super.emit(ev, data);
}
get fd() {
return this[_fd];
}
get path() {
return this[_path];
}
[_onerror](er) {
this[_close]();
this[_writing] = true;
this.emit("error", er);
}
[_open]() {
fs8.open(
this[_path],
this[_flags],
this[_mode],
(er, fd) => this[_onopen](er, fd)
);
}
[_onopen](er, fd) {
if (this[_defaultFlag] && this[_flags] === "r+" && er && er.code === "ENOENT") {
this[_flags] = "w";
this[_open]();
} else if (er) {
this[_onerror](er);
} else {
this[_fd] = fd;
this.emit("open", fd);
if (!this[_writing]) {
this[_flush]();
}
}
}
end(buf, enc) {
if (buf) {
this.write(buf, enc);
}
this[_ended] = true;
if (!this[_writing] && !this[_queue].length && typeof this[_fd] === "number") {
this[_onwrite](null, 0);
}
return this;
}
write(buf, enc) {
if (typeof buf === "string") {
buf = Buffer.from(buf, enc);
}
if (this[_ended]) {
this.emit("error", new Error("write() after end()"));
return false;
}
if (this[_fd] === null || this[_writing] || this[_queue].length) {
this[_queue].push(buf);
this[_needDrain] = true;
return false;
}
this[_writing] = true;
this[_write](buf);
return true;
}
[_write](buf) {
fs8.write(this[_fd], buf, 0, buf.length, this[_pos], (er, bw) => this[_onwrite](er, bw));
}
[_onwrite](er, bw) {
if (er) {
this[_onerror](er);
} else {
if (this[_pos] !== null) {
this[_pos] += bw;
}
if (this[_queue].length) {
this[_flush]();
} else {
this[_writing] = false;
if (this[_ended] && !this[_finished]) {
this[_finished] = true;
this[_close]();
this.emit("finish");
} else if (this[_needDrain]) {
this[_needDrain] = false;
this.emit("drain");
}
}
}
}
[_flush]() {
if (this[_queue].length === 0) {
if (this[_ended]) {
this[_onwrite](null, 0);
}
} else if (this[_queue].length === 1) {
this[_write](this[_queue].pop());
} else {
const iovec = this[_queue];
this[_queue] = [];
writev(
this[_fd],
iovec,
this[_pos],
(er, bw) => this[_onwrite](er, bw)
);
}
}
[_close]() {
if (this[_autoClose] && typeof this[_fd] === "number") {
const fd = this[_fd];
this[_fd] = null;
fs8.close(fd, (er) => er ? this.emit("error", er) : this.emit("close"));
}
}
};
var WriteStreamSync = class extends WriteStream {
[_open]() {
let fd;
if (this[_defaultFlag] && this[_flags] === "r+") {
try {
fd = fs8.openSync(this[_path], this[_flags], this[_mode]);
} catch (er) {
if (er.code === "ENOENT") {
this[_flags] = "w";
return this[_open]();
} else {
throw er;
}
}
} else {
fd = fs8.openSync(this[_path], this[_flags], this[_mode]);
}
this[_onopen](null, fd);
}
[_close]() {
if (this[_autoClose] && typeof this[_fd] === "number") {
const fd = this[_fd];
this[_fd] = null;
fs8.closeSync(fd);
this.emit("close");
}
}
[_write](buf) {
let threw = true;
try {
this[_onwrite](
null,
fs8.writeSync(this[_fd], buf, 0, buf.length, this[_pos])
);
threw = false;
} finally {
if (threw) {
try {
this[_close]();
} catch {
}
}
}
}
};
exports2.ReadStream = ReadStream;
exports2.ReadStreamSync = ReadStreamSync;
exports2.WriteStream = WriteStream;
exports2.WriteStreamSync = WriteStreamSync;
}
});
// ../../../usr/share/nodejs/tar/lib/parse.js
var require_parse2 = __commonJS({
"../../../usr/share/nodejs/tar/lib/parse.js"(exports2, module2) {
"use strict";
var warner = require_warn_mixin();
var Header = require_header();
var EE = require("events");
var Yallist = require_yallist();
var maxMetaEntrySize = 1024 * 1024;
var Entry = require_read_entry();
var Pax = require_pax();
var zlib = require_minizlib();
var { nextTick } = require("process");
var gzipHeader = Buffer.from([31, 139]);
var STATE = Symbol("state");
var WRITEENTRY = Symbol("writeEntry");
var READENTRY = Symbol("readEntry");
var NEXTENTRY = Symbol("nextEntry");
var PROCESSENTRY = Symbol("processEntry");
var EX = Symbol("extendedHeader");
var GEX = Symbol("globalExtendedHeader");
var META = Symbol("meta");
var EMITMETA = Symbol("emitMeta");
var BUFFER = Symbol("buffer");
var QUEUE = Symbol("queue");
var ENDED = Symbol("ended");
var EMITTEDEND = Symbol("emittedEnd");
var EMIT = Symbol("emit");
var UNZIP = Symbol("unzip");
var CONSUMECHUNK = Symbol("consumeChunk");
var CONSUMECHUNKSUB = Symbol("consumeChunkSub");
var CONSUMEBODY = Symbol("consumeBody");
var CONSUMEMETA = Symbol("consumeMeta");
var CONSUMEHEADER = Symbol("consumeHeader");
var CONSUMING = Symbol("consuming");
var BUFFERCONCAT = Symbol("bufferConcat");
var MAYBEEND = Symbol("maybeEnd");
var WRITING = Symbol("writing");
var ABORTED = Symbol("aborted");
var DONE = Symbol("onDone");
var SAW_VALID_ENTRY = Symbol("sawValidEntry");
var SAW_NULL_BLOCK = Symbol("sawNullBlock");
var SAW_EOF = Symbol("sawEOF");
var CLOSESTREAM = Symbol("closeStream");
var noop = (_) => true;
module2.exports = warner(class Parser extends EE {
constructor(opt) {
opt = opt || {};
super(opt);
this.file = opt.file || "";
this[SAW_VALID_ENTRY] = null;
this.on(DONE, (_) => {
if (this[STATE] === "begin" || this[SAW_VALID_ENTRY] === false) {
this.warn("TAR_BAD_ARCHIVE", "Unrecognized archive format");
}
});
if (opt.ondone) {
this.on(DONE, opt.ondone);
} else {
this.on(DONE, (_) => {
this.emit("prefinish");
this.emit("finish");
this.emit("end");
});
}
this.strict = !!opt.strict;
this.maxMetaEntrySize = opt.maxMetaEntrySize || maxMetaEntrySize;
this.filter = typeof opt.filter === "function" ? opt.filter : noop;
const isTBR = opt.file && (opt.file.endsWith(".tar.br") || opt.file.endsWith(".tbr"));
this.brotli = !opt.gzip && opt.brotli !== void 0 ? opt.brotli : isTBR ? void 0 : false;
this.writable = true;
this.readable = false;
this[QUEUE] = new Yallist();
this[BUFFER] = null;
this[READENTRY] = null;
this[WRITEENTRY] = null;
this[STATE] = "begin";
this[META] = "";
this[EX] = null;
this[GEX] = null;
this[ENDED] = false;
this[UNZIP] = null;
this[ABORTED] = false;
this[SAW_NULL_BLOCK] = false;
this[SAW_EOF] = false;
this.on("end", () => this[CLOSESTREAM]());
if (typeof opt.onwarn === "function") {
this.on("warn", opt.onwarn);
}
if (typeof opt.onentry === "function") {
this.on("entry", opt.onentry);
}
}
[CONSUMEHEADER](chunk, position) {
if (this[SAW_VALID_ENTRY] === null) {
this[SAW_VALID_ENTRY] = false;
}
let header;
try {
header = new Header(chunk, position, this[EX], this[GEX]);
} catch (er) {
return this.warn("TAR_ENTRY_INVALID", er);
}
if (header.nullBlock) {
if (this[SAW_NULL_BLOCK]) {
this[SAW_EOF] = true;
if (this[STATE] === "begin") {
this[STATE] = "header";
}
this[EMIT]("eof");
} else {
this[SAW_NULL_BLOCK] = true;
this[EMIT]("nullBlock");
}
} else {
this[SAW_NULL_BLOCK] = false;
if (!header.cksumValid) {
this.warn("TAR_ENTRY_INVALID", "checksum failure", { header });
} else if (!header.path) {
this.warn("TAR_ENTRY_INVALID", "path is required", { header });
} else {
const type = header.type;
if (/^(Symbolic)?Link$/.test(type) && !header.linkpath) {
this.warn("TAR_ENTRY_INVALID", "linkpath required", { header });
} else if (!/^(Symbolic)?Link$/.test(type) && header.linkpath) {
this.warn("TAR_ENTRY_INVALID", "linkpath forbidden", { header });
} else {
const entry = this[WRITEENTRY] = new Entry(header, this[EX], this[GEX]);
if (!this[SAW_VALID_ENTRY]) {
if (entry.remain) {
const onend = () => {
if (!entry.invalid) {
this[SAW_VALID_ENTRY] = true;
}
};
entry.on("end", onend);
} else {
this[SAW_VALID_ENTRY] = true;
}
}
if (entry.meta) {
if (entry.size > this.maxMetaEntrySize) {
entry.ignore = true;
this[EMIT]("ignoredEntry", entry);
this[STATE] = "ignore";
entry.resume();
} else if (entry.size > 0) {
this[META] = "";
entry.on("data", (c) => this[META] += c);
this[STATE] = "meta";
}
} else {
this[EX] = null;
entry.ignore = entry.ignore || !this.filter(entry.path, entry);
if (entry.ignore) {
this[EMIT]("ignoredEntry", entry);
this[STATE] = entry.remain ? "ignore" : "header";
entry.resume();
} else {
if (entry.remain) {
this[STATE] = "body";
} else {
this[STATE] = "header";
entry.end();
}
if (!this[READENTRY]) {
this[QUEUE].push(entry);
this[NEXTENTRY]();
} else {
this[QUEUE].push(entry);
}
}
}
}
}
}
}
[CLOSESTREAM]() {
nextTick(() => this.emit("close"));
}
[PROCESSENTRY](entry) {
let go = true;
if (!entry) {
this[READENTRY] = null;
go = false;
} else if (Array.isArray(entry)) {
this.emit.apply(this, entry);
} else {
this[READENTRY] = entry;
this.emit("entry", entry);
if (!entry.emittedEnd) {
entry.on("end", (_) => this[NEXTENTRY]());
go = false;
}
}
return go;
}
[NEXTENTRY]() {
do {
} while (this[PROCESSENTRY](this[QUEUE].shift()));
if (!this[QUEUE].length) {
const re = this[READENTRY];
const drainNow = !re || re.flowing || re.size === re.remain;
if (drainNow) {
if (!this[WRITING]) {
this.emit("drain");
}
} else {
re.once("drain", (_) => this.emit("drain"));
}
}
}
[CONSUMEBODY](chunk, position) {
const entry = this[WRITEENTRY];
const br = entry.blockRemain;
const c = br >= chunk.length && position === 0 ? chunk : chunk.slice(position, position + br);
entry.write(c);
if (!entry.blockRemain) {
this[STATE] = "header";
this[WRITEENTRY] = null;
entry.end();
}
return c.length;
}
[CONSUMEMETA](chunk, position) {
const entry = this[WRITEENTRY];
const ret = this[CONSUMEBODY](chunk, position);
if (!this[WRITEENTRY]) {
this[EMITMETA](entry);
}
return ret;
}
[EMIT](ev, data, extra) {
if (!this[QUEUE].length && !this[READENTRY]) {
this.emit(ev, data, extra);
} else {
this[QUEUE].push([ev, data, extra]);
}
}
[EMITMETA](entry) {
this[EMIT]("meta", this[META]);
switch (entry.type) {
case "ExtendedHeader":
case "OldExtendedHeader":
this[EX] = Pax.parse(this[META], this[EX], false);
break;
case "GlobalExtendedHeader":
this[GEX] = Pax.parse(this[META], this[GEX], true);
break;
case "NextFileHasLongPath":
case "OldGnuLongPath":
this[EX] = this[EX] || /* @__PURE__ */ Object.create(null);
this[EX].path = this[META].replace(/\0.*/, "");
break;
case "NextFileHasLongLinkpath":
this[EX] = this[EX] || /* @__PURE__ */ Object.create(null);
this[EX].linkpath = this[META].replace(/\0.*/, "");
break;
/* istanbul ignore next */
default:
throw new Error("unknown meta: " + entry.type);
}
}
abort(error) {
this[ABORTED] = true;
this.emit("abort", error);
this.warn("TAR_ABORT", error, { recoverable: false });
}
write(chunk) {
if (this[ABORTED]) {
return;
}
const needSniff = this[UNZIP] === null || this.brotli === void 0 && this[UNZIP] === false;
if (needSniff && chunk) {
if (this[BUFFER]) {
chunk = Buffer.concat([this[BUFFER], chunk]);
this[BUFFER] = null;
}
if (chunk.length < gzipHeader.length) {
this[BUFFER] = chunk;
return true;
}
for (let i = 0; this[UNZIP] === null && i < gzipHeader.length; i++) {
if (chunk[i] !== gzipHeader[i]) {
this[UNZIP] = false;
}
}
const maybeBrotli = this.brotli === void 0;
if (this[UNZIP] === false && maybeBrotli) {
if (chunk.length < 512) {
if (this[ENDED]) {
this.brotli = true;
} else {
this[BUFFER] = chunk;
return true;
}
} else {
try {
new Header(chunk.slice(0, 512));
this.brotli = false;
} catch (_) {
this.brotli = true;
}
}
}
if (this[UNZIP] === null || this[UNZIP] === false && this.brotli) {
const ended = this[ENDED];
this[ENDED] = false;
this[UNZIP] = this[UNZIP] === null ? new zlib.Unzip() : new zlib.BrotliDecompress();
this[UNZIP].on("data", (chunk2) => this[CONSUMECHUNK](chunk2));
this[UNZIP].on("error", (er) => this.abort(er));
this[UNZIP].on("end", (_) => {
this[ENDED] = true;
this[CONSUMECHUNK]();
});
this[WRITING] = true;
const ret2 = this[UNZIP][ended ? "end" : "write"](chunk);
this[WRITING] = false;
return ret2;
}
}
this[WRITING] = true;
if (this[UNZIP]) {
this[UNZIP].write(chunk);
} else {
this[CONSUMECHUNK](chunk);
}
this[WRITING] = false;
const ret = this[QUEUE].length ? false : this[READENTRY] ? this[READENTRY].flowing : true;
if (!ret && !this[QUEUE].length) {
this[READENTRY].once("drain", (_) => this.emit("drain"));
}
return ret;
}
[BUFFERCONCAT](c) {
if (c && !this[ABORTED]) {
this[BUFFER] = this[BUFFER] ? Buffer.concat([this[BUFFER], c]) : c;
}
}
[MAYBEEND]() {
if (this[ENDED] && !this[EMITTEDEND] && !this[ABORTED] && !this[CONSUMING]) {
this[EMITTEDEND] = true;
const entry = this[WRITEENTRY];
if (entry && entry.blockRemain) {
const have = this[BUFFER] ? this[BUFFER].length : 0;
this.warn("TAR_BAD_ARCHIVE", `Truncated input (needed ${entry.blockRemain} more bytes, only ${have} available)`, { entry });
if (this[BUFFER]) {
entry.write(this[BUFFER]);
}
entry.end();
}
this[EMIT](DONE);
}
}
[CONSUMECHUNK](chunk) {
if (this[CONSUMING]) {
this[BUFFERCONCAT](chunk);
} else if (!chunk && !this[BUFFER]) {
this[MAYBEEND]();
} else {
this[CONSUMING] = true;
if (this[BUFFER]) {
this[BUFFERCONCAT](chunk);
const c = this[BUFFER];
this[BUFFER] = null;
this[CONSUMECHUNKSUB](c);
} else {
this[CONSUMECHUNKSUB](chunk);
}
while (this[BUFFER] && this[BUFFER].length >= 512 && !this[ABORTED] && !this[SAW_EOF]) {
const c = this[BUFFER];
this[BUFFER] = null;
this[CONSUMECHUNKSUB](c);
}
this[CONSUMING] = false;
}
if (!this[BUFFER] || this[ENDED]) {
this[MAYBEEND]();
}
}
[CONSUMECHUNKSUB](chunk) {
let position = 0;
const length = chunk.length;
while (position + 512 <= length && !this[ABORTED] && !this[SAW_EOF]) {
switch (this[STATE]) {
case "begin":
case "header":
this[CONSUMEHEADER](chunk, position);
position += 512;
break;
case "ignore":
case "body":
position += this[CONSUMEBODY](chunk, position);
break;
case "meta":
position += this[CONSUMEMETA](chunk, position);
break;
/* istanbul ignore next */
default:
throw new Error("invalid state: " + this[STATE]);
}
}
if (position < length) {
if (this[BUFFER]) {
this[BUFFER] = Buffer.concat([chunk.slice(position), this[BUFFER]]);
} else {
this[BUFFER] = chunk.slice(position);
}
}
}
end(chunk) {
if (!this[ABORTED]) {
if (this[UNZIP]) {
this[UNZIP].end(chunk);
} else {
this[ENDED] = true;
if (this.brotli === void 0) chunk = chunk || Buffer.alloc(0);
this.write(chunk);
}
}
}
});
}
});
// ../../../usr/share/nodejs/tar/lib/list.js
var require_list = __commonJS({
"../../../usr/share/nodejs/tar/lib/list.js"(exports2, module2) {
"use strict";
var hlo = require_high_level_opt();
var Parser = require_parse2();
var fs8 = require("fs");
var fsm = require_lib2();
var path10 = require("path");
var stripSlash = require_strip_trailing_slashes();
module2.exports = (opt_, files, cb) => {
if (typeof opt_ === "function") {
cb = opt_, files = null, opt_ = {};
} else if (Array.isArray(opt_)) {
files = opt_, opt_ = {};
}
if (typeof files === "function") {
cb = files, files = null;
}
if (!files) {
files = [];
} else {
files = Array.from(files);
}
const opt = hlo(opt_);
if (opt.sync && typeof cb === "function") {
throw new TypeError("callback not supported for sync tar functions");
}
if (!opt.file && typeof cb === "function") {
throw new TypeError("callback only supported with file option");
}
if (files.length) {
filesFilter(opt, files);
}
if (!opt.noResume) {
onentryFunction(opt);
}
return opt.file && opt.sync ? listFileSync(opt) : opt.file ? listFile(opt, cb) : list(opt);
};
var onentryFunction = (opt) => {
const onentry = opt.onentry;
opt.onentry = onentry ? (e) => {
onentry(e);
e.resume();
} : (e) => e.resume();
};
var filesFilter = (opt, files) => {
const map = new Map(files.map((f) => [stripSlash(f), true]));
const filter = opt.filter;
const mapHas = (file, r) => {
const root = r || path10.parse(file).root || ".";
const ret = file === root ? false : map.has(file) ? map.get(file) : mapHas(path10.dirname(file), root);
map.set(file, ret);
return ret;
};
opt.filter = filter ? (file, entry) => filter(file, entry) && mapHas(stripSlash(file)) : (file) => mapHas(stripSlash(file));
};
var listFileSync = (opt) => {
const p = list(opt);
const file = opt.file;
let threw = true;
let fd;
try {
const stat = fs8.statSync(file);
const readSize = opt.maxReadSize || 16 * 1024 * 1024;
if (stat.size < readSize) {
p.end(fs8.readFileSync(file));
} else {
let pos = 0;
const buf = Buffer.allocUnsafe(readSize);
fd = fs8.openSync(file, "r");
while (pos < stat.size) {
const bytesRead = fs8.readSync(fd, buf, 0, readSize, pos);
pos += bytesRead;
p.write(buf.slice(0, bytesRead));
}
p.end();
}
threw = false;
} finally {
if (threw && fd) {
try {
fs8.closeSync(fd);
} catch (er) {
}
}
}
};
var listFile = (opt, cb) => {
const parse = new Parser(opt);
const readSize = opt.maxReadSize || 16 * 1024 * 1024;
const file = opt.file;
const p = new Promise((resolve, reject) => {
parse.on("error", reject);
parse.on("end", resolve);
fs8.stat(file, (er, stat) => {
if (er) {
reject(er);
} else {
const stream = new fsm.ReadStream(file, {
readSize,
size: stat.size
});
stream.on("error", reject);
stream.pipe(parse);
}
});
});
return cb ? p.then(cb, cb) : p;
};
var list = (opt) => new Parser(opt);
}
});
// ../../../usr/share/nodejs/tar/lib/create.js
var require_create = __commonJS({
"../../../usr/share/nodejs/tar/lib/create.js"(exports2, module2) {
"use strict";
var hlo = require_high_level_opt();
var Pack = require_pack();
var fsm = require_lib2();
var t = require_list();
var path10 = require("path");
module2.exports = (opt_, files, cb) => {
if (typeof files === "function") {
cb = files;
}
if (Array.isArray(opt_)) {
files = opt_, opt_ = {};
}
if (!files || !Array.isArray(files) || !files.length) {
throw new TypeError("no files or directories specified");
}
files = Array.from(files);
const opt = hlo(opt_);
if (opt.sync && typeof cb === "function") {
throw new TypeError("callback not supported for sync tar functions");
}
if (!opt.file && typeof cb === "function") {
throw new TypeError("callback only supported with file option");
}
return opt.file && opt.sync ? createFileSync(opt, files) : opt.file ? createFile(opt, files, cb) : opt.sync ? createSync(opt, files) : create(opt, files);
};
var createFileSync = (opt, files) => {
const p = new Pack.Sync(opt);
const stream = new fsm.WriteStreamSync(opt.file, {
mode: opt.mode || 438
});
p.pipe(stream);
addFilesSync(p, files);
};
var createFile = (opt, files, cb) => {
const p = new Pack(opt);
const stream = new fsm.WriteStream(opt.file, {
mode: opt.mode || 438
});
p.pipe(stream);
const promise = new Promise((res, rej) => {
stream.on("error", rej);
stream.on("close", res);
p.on("error", rej);
});
addFilesAsync(p, files);
return cb ? promise.then(cb, cb) : promise;
};
var addFilesSync = (p, files) => {
files.forEach((file) => {
if (file.charAt(0) === "@") {
t({
file: path10.resolve(p.cwd, file.slice(1)),
sync: true,
noResume: true,
onentry: (entry) => p.add(entry)
});
} else {
p.add(file);
}
});
p.end();
};
var addFilesAsync = (p, files) => {
while (files.length) {
const file = files.shift();
if (file.charAt(0) === "@") {
return t({
file: path10.resolve(p.cwd, file.slice(1)),
noResume: true,
onentry: (entry) => p.add(entry)
}).then((_) => addFilesAsync(p, files));
} else {
p.add(file);
}
}
p.end();
};
var createSync = (opt, files) => {
const p = new Pack.Sync(opt);
addFilesSync(p, files);
return p;
};
var create = (opt, files) => {
const p = new Pack(opt);
addFilesAsync(p, files);
return p;
};
}
});
// ../../../usr/share/nodejs/tar/lib/replace.js
var require_replace = __commonJS({
"../../../usr/share/nodejs/tar/lib/replace.js"(exports2, module2) {
"use strict";
var hlo = require_high_level_opt();
var Pack = require_pack();
var fs8 = require("fs");
var fsm = require_lib2();
var t = require_list();
var path10 = require("path");
var Header = require_header();
module2.exports = (opt_, files, cb) => {
const opt = hlo(opt_);
if (!opt.file) {
throw new TypeError("file is required");
}
if (opt.gzip || opt.brotli || opt.file.endsWith(".br") || opt.file.endsWith(".tbr")) {
throw new TypeError("cannot append to compressed archives");
}
if (!files || !Array.isArray(files) || !files.length) {
throw new TypeError("no files or directories specified");
}
files = Array.from(files);
return opt.sync ? replaceSync(opt, files) : replace(opt, files, cb);
};
var replaceSync = (opt, files) => {
const p = new Pack.Sync(opt);
let threw = true;
let fd;
let position;
try {
try {
fd = fs8.openSync(opt.file, "r+");
} catch (er) {
if (er.code === "ENOENT") {
fd = fs8.openSync(opt.file, "w+");
} else {
throw er;
}
}
const st = fs8.fstatSync(fd);
const headBuf = Buffer.alloc(512);
POSITION: for (position = 0; position < st.size; position += 512) {
for (let bufPos = 0, bytes = 0; bufPos < 512; bufPos += bytes) {
bytes = fs8.readSync(
fd,
headBuf,
bufPos,
headBuf.length - bufPos,
position + bufPos
);
if (position === 0 && headBuf[0] === 31 && headBuf[1] === 139) {
throw new Error("cannot append to compressed archives");
}
if (!bytes) {
break POSITION;
}
}
const h = new Header(headBuf);
if (!h.cksumValid) {
break;
}
const entryBlockSize = 512 * Math.ceil(h.size / 512);
if (position + entryBlockSize + 512 > st.size) {
break;
}
position += entryBlockSize;
if (opt.mtimeCache) {
opt.mtimeCache.set(h.path, h.mtime);
}
}
threw = false;
streamSync(opt, p, position, fd, files);
} finally {
if (threw) {
try {
fs8.closeSync(fd);
} catch (er) {
}
}
}
};
var streamSync = (opt, p, position, fd, files) => {
const stream = new fsm.WriteStreamSync(opt.file, {
fd,
start: position
});
p.pipe(stream);
addFilesSync(p, files);
};
var replace = (opt, files, cb) => {
files = Array.from(files);
const p = new Pack(opt);
const getPos = (fd, size, cb_) => {
const cb2 = (er, pos) => {
if (er) {
fs8.close(fd, (_) => cb_(er));
} else {
cb_(null, pos);
}
};
let position = 0;
if (size === 0) {
return cb2(null, 0);
}
let bufPos = 0;
const headBuf = Buffer.alloc(512);
const onread = (er, bytes) => {
if (er) {
return cb2(er);
}
bufPos += bytes;
if (bufPos < 512 && bytes) {
return fs8.read(
fd,
headBuf,
bufPos,
headBuf.length - bufPos,
position + bufPos,
onread
);
}
if (position === 0 && headBuf[0] === 31 && headBuf[1] === 139) {
return cb2(new Error("cannot append to compressed archives"));
}
if (bufPos < 512) {
return cb2(null, position);
}
const h = new Header(headBuf);
if (!h.cksumValid) {
return cb2(null, position);
}
const entryBlockSize = 512 * Math.ceil(h.size / 512);
if (position + entryBlockSize + 512 > size) {
return cb2(null, position);
}
position += entryBlockSize + 512;
if (position >= size) {
return cb2(null, position);
}
if (opt.mtimeCache) {
opt.mtimeCache.set(h.path, h.mtime);
}
bufPos = 0;
fs8.read(fd, headBuf, 0, 512, position, onread);
};
fs8.read(fd, headBuf, 0, 512, position, onread);
};
const promise = new Promise((resolve, reject) => {
p.on("error", reject);
let flag = "r+";
const onopen = (er, fd) => {
if (er && er.code === "ENOENT" && flag === "r+") {
flag = "w+";
return fs8.open(opt.file, flag, onopen);
}
if (er) {
return reject(er);
}
fs8.fstat(fd, (er2, st) => {
if (er2) {
return fs8.close(fd, () => reject(er2));
}
getPos(fd, st.size, (er3, position) => {
if (er3) {
return reject(er3);
}
const stream = new fsm.WriteStream(opt.file, {
fd,
start: position
});
p.pipe(stream);
stream.on("error", reject);
stream.on("close", resolve);
addFilesAsync(p, files);
});
});
};
fs8.open(opt.file, flag, onopen);
});
return cb ? promise.then(cb, cb) : promise;
};
var addFilesSync = (p, files) => {
files.forEach((file) => {
if (file.charAt(0) === "@") {
t({
file: path10.resolve(p.cwd, file.slice(1)),
sync: true,
noResume: true,
onentry: (entry) => p.add(entry)
});
} else {
p.add(file);
}
});
p.end();
};
var addFilesAsync = (p, files) => {
while (files.length) {
const file = files.shift();
if (file.charAt(0) === "@") {
return t({
file: path10.resolve(p.cwd, file.slice(1)),
noResume: true,
onentry: (entry) => p.add(entry)
}).then((_) => addFilesAsync(p, files));
} else {
p.add(file);
}
}
p.end();
};
}
});
// ../../../usr/share/nodejs/tar/lib/update.js
var require_update = __commonJS({
"../../../usr/share/nodejs/tar/lib/update.js"(exports2, module2) {
"use strict";
var hlo = require_high_level_opt();
var r = require_replace();
module2.exports = (opt_, files, cb) => {
const opt = hlo(opt_);
if (!opt.file) {
throw new TypeError("file is required");
}
if (opt.gzip || opt.brotli || opt.file.endsWith(".br") || opt.file.endsWith(".tbr")) {
throw new TypeError("cannot append to compressed archives");
}
if (!files || !Array.isArray(files) || !files.length) {
throw new TypeError("no files or directories specified");
}
files = Array.from(files);
mtimeFilter(opt);
return r(opt, files, cb);
};
var mtimeFilter = (opt) => {
const filter = opt.filter;
if (!opt.mtimeCache) {
opt.mtimeCache = /* @__PURE__ */ new Map();
}
opt.filter = filter ? (path10, stat) => filter(path10, stat) && !(opt.mtimeCache.get(path10) > stat.mtime) : (path10, stat) => !(opt.mtimeCache.get(path10) > stat.mtime);
};
}
});
// ../../../usr/share/nodejs/mkdirp/dist/cjs/src/opts-arg.js
var require_opts_arg = __commonJS({
"../../../usr/share/nodejs/mkdirp/dist/cjs/src/opts-arg.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.optsArg = void 0;
var fs_1 = require("fs");
var optsArg = (opts) => {
if (!opts) {
opts = { mode: 511 };
} else if (typeof opts === "object") {
opts = { mode: 511, ...opts };
} else if (typeof opts === "number") {
opts = { mode: opts };
} else if (typeof opts === "string") {
opts = { mode: parseInt(opts, 8) };
} else {
throw new TypeError("invalid options argument");
}
const resolved = opts;
const optsFs = opts.fs || {};
opts.mkdir = opts.mkdir || optsFs.mkdir || fs_1.mkdir;
opts.mkdirAsync = opts.mkdirAsync ? opts.mkdirAsync : async (path10, options) => {
return new Promise((res, rej) => resolved.mkdir(path10, options, (er, made) => er ? rej(er) : res(made)));
};
opts.stat = opts.stat || optsFs.stat || fs_1.stat;
opts.statAsync = opts.statAsync ? opts.statAsync : async (path10) => new Promise((res, rej) => resolved.stat(path10, (err, stats) => err ? rej(err) : res(stats)));
opts.statSync = opts.statSync || optsFs.statSync || fs_1.statSync;
opts.mkdirSync = opts.mkdirSync || optsFs.mkdirSync || fs_1.mkdirSync;
return resolved;
};
exports2.optsArg = optsArg;
}
});
// ../../../usr/share/nodejs/mkdirp/dist/cjs/src/mkdirp-manual.js
var require_mkdirp_manual = __commonJS({
"../../../usr/share/nodejs/mkdirp/dist/cjs/src/mkdirp-manual.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.mkdirpManual = exports2.mkdirpManualSync = void 0;
var path_1 = require("path");
var opts_arg_js_1 = require_opts_arg();
var mkdirpManualSync = (path10, options, made) => {
const parent = (0, path_1.dirname)(path10);
const opts = { ...(0, opts_arg_js_1.optsArg)(options), recursive: false };
if (parent === path10) {
try {
return opts.mkdirSync(path10, opts);
} catch (er) {
const fer = er;
if (fer && fer.code !== "EISDIR") {
throw er;
}
return;
}
}
try {
opts.mkdirSync(path10, opts);
return made || path10;
} catch (er) {
const fer = er;
if (fer && fer.code === "ENOENT") {
return (0, exports2.mkdirpManualSync)(path10, opts, (0, exports2.mkdirpManualSync)(parent, opts, made));
}
if (fer && fer.code !== "EEXIST" && fer && fer.code !== "EROFS") {
throw er;
}
try {
if (!opts.statSync(path10).isDirectory())
throw er;
} catch (_) {
throw er;
}
}
};
exports2.mkdirpManualSync = mkdirpManualSync;
exports2.mkdirpManual = Object.assign(async (path10, options, made) => {
const opts = (0, opts_arg_js_1.optsArg)(options);
opts.recursive = false;
const parent = (0, path_1.dirname)(path10);
if (parent === path10) {
return opts.mkdirAsync(path10, opts).catch((er) => {
const fer = er;
if (fer && fer.code !== "EISDIR") {
throw er;
}
});
}
return opts.mkdirAsync(path10, opts).then(() => made || path10, async (er) => {
const fer = er;
if (fer && fer.code === "ENOENT") {
return (0, exports2.mkdirpManual)(parent, opts).then((made2) => (0, exports2.mkdirpManual)(path10, opts, made2));
}
if (fer && fer.code !== "EEXIST" && fer.code !== "EROFS") {
throw er;
}
return opts.statAsync(path10).then((st) => {
if (st.isDirectory()) {
return made;
} else {
throw er;
}
}, () => {
throw er;
});
});
}, { sync: exports2.mkdirpManualSync });
}
});
// ../../../usr/share/nodejs/mkdirp/dist/cjs/src/find-made.js
var require_find_made = __commonJS({
"../../../usr/share/nodejs/mkdirp/dist/cjs/src/find-made.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.findMadeSync = exports2.findMade = void 0;
var path_1 = require("path");
var findMade = async (opts, parent, path10) => {
if (path10 === parent) {
return;
}
return opts.statAsync(parent).then(
(st) => st.isDirectory() ? path10 : void 0,
// will fail later
// will fail later
(er) => {
const fer = er;
return fer && fer.code === "ENOENT" ? (0, exports2.findMade)(opts, (0, path_1.dirname)(parent), parent) : void 0;
}
);
};
exports2.findMade = findMade;
var findMadeSync = (opts, parent, path10) => {
if (path10 === parent) {
return void 0;
}
try {
return opts.statSync(parent).isDirectory() ? path10 : void 0;
} catch (er) {
const fer = er;
return fer && fer.code === "ENOENT" ? (0, exports2.findMadeSync)(opts, (0, path_1.dirname)(parent), parent) : void 0;
}
};
exports2.findMadeSync = findMadeSync;
}
});
// ../../../usr/share/nodejs/mkdirp/dist/cjs/src/mkdirp-native.js
var require_mkdirp_native = __commonJS({
"../../../usr/share/nodejs/mkdirp/dist/cjs/src/mkdirp-native.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.mkdirpNative = exports2.mkdirpNativeSync = void 0;
var path_1 = require("path");
var find_made_js_1 = require_find_made();
var mkdirp_manual_js_1 = require_mkdirp_manual();
var opts_arg_js_1 = require_opts_arg();
var mkdirpNativeSync = (path10, options) => {
const opts = (0, opts_arg_js_1.optsArg)(options);
opts.recursive = true;
const parent = (0, path_1.dirname)(path10);
if (parent === path10) {
return opts.mkdirSync(path10, opts);
}
const made = (0, find_made_js_1.findMadeSync)(opts, path10);
try {
opts.mkdirSync(path10, opts);
return made;
} catch (er) {
const fer = er;
if (fer && fer.code === "ENOENT") {
return (0, mkdirp_manual_js_1.mkdirpManualSync)(path10, opts);
} else {
throw er;
}
}
};
exports2.mkdirpNativeSync = mkdirpNativeSync;
exports2.mkdirpNative = Object.assign(async (path10, options) => {
const opts = { ...(0, opts_arg_js_1.optsArg)(options), recursive: true };
const parent = (0, path_1.dirname)(path10);
if (parent === path10) {
return await opts.mkdirAsync(path10, opts);
}
return (0, find_made_js_1.findMade)(opts, path10).then((made) => opts.mkdirAsync(path10, opts).then((m) => made || m).catch((er) => {
const fer = er;
if (fer && fer.code === "ENOENT") {
return (0, mkdirp_manual_js_1.mkdirpManual)(path10, opts);
} else {
throw er;
}
}));
}, { sync: exports2.mkdirpNativeSync });
}
});
// ../../../usr/share/nodejs/mkdirp/dist/cjs/src/path-arg.js
var require_path_arg = __commonJS({
"../../../usr/share/nodejs/mkdirp/dist/cjs/src/path-arg.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.pathArg = void 0;
var platform = process.env.__TESTING_MKDIRP_PLATFORM__ || process.platform;
var path_1 = require("path");
var pathArg = (path10) => {
if (/\0/.test(path10)) {
throw Object.assign(new TypeError("path must be a string without null bytes"), {
path: path10,
code: "ERR_INVALID_ARG_VALUE"
});
}
path10 = (0, path_1.resolve)(path10);
if (platform === "win32") {
const badWinChars = /[*|"<>?:]/;
const { root } = (0, path_1.parse)(path10);
if (badWinChars.test(path10.substring(root.length))) {
throw Object.assign(new Error("Illegal characters in path."), {
path: path10,
code: "EINVAL"
});
}
}
return path10;
};
exports2.pathArg = pathArg;
}
});
// ../../../usr/share/nodejs/mkdirp/dist/cjs/src/use-native.js
var require_use_native = __commonJS({
"../../../usr/share/nodejs/mkdirp/dist/cjs/src/use-native.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.useNative = exports2.useNativeSync = void 0;
var fs_1 = require("fs");
var opts_arg_js_1 = require_opts_arg();
var version2 = process.env.__TESTING_MKDIRP_NODE_VERSION__ || process.version;
var versArr = version2.replace(/^v/, "").split(".");
var hasNative = +versArr[0] > 10 || +versArr[0] === 10 && +versArr[1] >= 12;
exports2.useNativeSync = !hasNative ? () => false : (opts) => (0, opts_arg_js_1.optsArg)(opts).mkdirSync === fs_1.mkdirSync;
exports2.useNative = Object.assign(!hasNative ? () => false : (opts) => (0, opts_arg_js_1.optsArg)(opts).mkdir === fs_1.mkdir, {
sync: exports2.useNativeSync
});
}
});
// ../../../usr/share/nodejs/mkdirp/dist/cjs/src/index.js
var require_src2 = __commonJS({
"../../../usr/share/nodejs/mkdirp/dist/cjs/src/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.mkdirp = exports2.mkdirpSync = exports2.useNativeSync = exports2.useNative = exports2.mkdirpNativeSync = exports2.mkdirpNative = exports2.mkdirpManualSync = exports2.mkdirpManual = void 0;
var mkdirp_manual_js_1 = require_mkdirp_manual();
var mkdirp_native_js_1 = require_mkdirp_native();
var opts_arg_js_1 = require_opts_arg();
var path_arg_js_1 = require_path_arg();
var use_native_js_1 = require_use_native();
var mkdirp_manual_js_2 = require_mkdirp_manual();
Object.defineProperty(exports2, "mkdirpManual", { enumerable: true, get: function() {
return mkdirp_manual_js_2.mkdirpManual;
} });
Object.defineProperty(exports2, "mkdirpManualSync", { enumerable: true, get: function() {
return mkdirp_manual_js_2.mkdirpManualSync;
} });
var mkdirp_native_js_2 = require_mkdirp_native();
Object.defineProperty(exports2, "mkdirpNative", { enumerable: true, get: function() {
return mkdirp_native_js_2.mkdirpNative;
} });
Object.defineProperty(exports2, "mkdirpNativeSync", { enumerable: true, get: function() {
return mkdirp_native_js_2.mkdirpNativeSync;
} });
var use_native_js_2 = require_use_native();
Object.defineProperty(exports2, "useNative", { enumerable: true, get: function() {
return use_native_js_2.useNative;
} });
Object.defineProperty(exports2, "useNativeSync", { enumerable: true, get: function() {
return use_native_js_2.useNativeSync;
} });
var mkdirpSync = (path10, opts) => {
path10 = (0, path_arg_js_1.pathArg)(path10);
const resolved = (0, opts_arg_js_1.optsArg)(opts);
return (0, use_native_js_1.useNativeSync)(resolved) ? (0, mkdirp_native_js_1.mkdirpNativeSync)(path10, resolved) : (0, mkdirp_manual_js_1.mkdirpManualSync)(path10, resolved);
};
exports2.mkdirpSync = mkdirpSync;
exports2.mkdirp = Object.assign(async (path10, opts) => {
path10 = (0, path_arg_js_1.pathArg)(path10);
const resolved = (0, opts_arg_js_1.optsArg)(opts);
return (0, use_native_js_1.useNative)(resolved) ? (0, mkdirp_native_js_1.mkdirpNative)(path10, resolved) : (0, mkdirp_manual_js_1.mkdirpManual)(path10, resolved);
}, {
mkdirpSync: exports2.mkdirpSync,
mkdirpNative: mkdirp_native_js_1.mkdirpNative,
mkdirpNativeSync: mkdirp_native_js_1.mkdirpNativeSync,
mkdirpManual: mkdirp_manual_js_1.mkdirpManual,
mkdirpManualSync: mkdirp_manual_js_1.mkdirpManualSync,
sync: exports2.mkdirpSync,
native: mkdirp_native_js_1.mkdirpNative,
nativeSync: mkdirp_native_js_1.mkdirpNativeSync,
manual: mkdirp_manual_js_1.mkdirpManual,
manualSync: mkdirp_manual_js_1.mkdirpManualSync,
useNative: use_native_js_1.useNative,
useNativeSync: use_native_js_1.useNativeSync
});
exports2.default = exports2.mkdirp;
}
});
// ../../../usr/share/nodejs/mkdirp/dist/cjs/src/index-cjs.js
var require_index_cjs2 = __commonJS({
"../../../usr/share/nodejs/mkdirp/dist/cjs/src/index-cjs.js"(exports2, module2) {
"use strict";
var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
return mod && mod.__esModule ? mod : { "default": mod };
};
var index_js_1 = __importDefault2(require_src2());
module2.exports = Object.assign(index_js_1.default, { default: index_js_1.default, mkdirp: index_js_1.default });
}
});
// ../../../usr/share/nodejs/chownr/chownr.js
var require_chownr = __commonJS({
"../../../usr/share/nodejs/chownr/chownr.js"(exports2, module2) {
"use strict";
var fs8 = require("fs");
var path10 = require("path");
var LCHOWN = fs8.lchown ? "lchown" : "chown";
var LCHOWNSYNC = fs8.lchownSync ? "lchownSync" : "chownSync";
var needEISDIRHandled = fs8.lchown && !process.version.match(/v1[1-9]+\./) && !process.version.match(/v10\.[6-9]/);
var lchownSync = (path11, uid, gid) => {
try {
return fs8[LCHOWNSYNC](path11, uid, gid);
} catch (er) {
if (er.code !== "ENOENT")
throw er;
}
};
var chownSync = (path11, uid, gid) => {
try {
return fs8.chownSync(path11, uid, gid);
} catch (er) {
if (er.code !== "ENOENT")
throw er;
}
};
var handleEISDIR = needEISDIRHandled ? (path11, uid, gid, cb) => (er) => {
if (!er || er.code !== "EISDIR")
cb(er);
else
fs8.chown(path11, uid, gid, cb);
} : (_, __, ___, cb) => cb;
var handleEISDirSync = needEISDIRHandled ? (path11, uid, gid) => {
try {
return lchownSync(path11, uid, gid);
} catch (er) {
if (er.code !== "EISDIR")
throw er;
chownSync(path11, uid, gid);
}
} : (path11, uid, gid) => lchownSync(path11, uid, gid);
var nodeVersion = process.version;
var readdir = (path11, options, cb) => fs8.readdir(path11, options, cb);
var readdirSync = (path11, options) => fs8.readdirSync(path11, options);
if (/^v4\./.test(nodeVersion))
readdir = (path11, options, cb) => fs8.readdir(path11, cb);
var chown = (cpath, uid, gid, cb) => {
fs8[LCHOWN](cpath, uid, gid, handleEISDIR(cpath, uid, gid, (er) => {
cb(er && er.code !== "ENOENT" ? er : null);
}));
};
var chownrKid = (p, child, uid, gid, cb) => {
if (typeof child === "string")
return fs8.lstat(path10.resolve(p, child), (er, stats) => {
if (er)
return cb(er.code !== "ENOENT" ? er : null);
stats.name = child;
chownrKid(p, stats, uid, gid, cb);
});
if (child.isDirectory()) {
chownr(path10.resolve(p, child.name), uid, gid, (er) => {
if (er)
return cb(er);
const cpath = path10.resolve(p, child.name);
chown(cpath, uid, gid, cb);
});
} else {
const cpath = path10.resolve(p, child.name);
chown(cpath, uid, gid, cb);
}
};
var chownr = (p, uid, gid, cb) => {
readdir(p, { withFileTypes: true }, (er, children) => {
if (er) {
if (er.code === "ENOENT")
return cb();
else if (er.code !== "ENOTDIR" && er.code !== "ENOTSUP")
return cb(er);
}
if (er || !children.length)
return chown(p, uid, gid, cb);
let len = children.length;
let errState = null;
const then = (er2) => {
if (errState)
return;
if (er2)
return cb(errState = er2);
if (--len === 0)
return chown(p, uid, gid, cb);
};
children.forEach((child) => chownrKid(p, child, uid, gid, then));
});
};
var chownrKidSync = (p, child, uid, gid) => {
if (typeof child === "string") {
try {
const stats = fs8.lstatSync(path10.resolve(p, child));
stats.name = child;
child = stats;
} catch (er) {
if (er.code === "ENOENT")
return;
else
throw er;
}
}
if (child.isDirectory())
chownrSync(path10.resolve(p, child.name), uid, gid);
handleEISDirSync(path10.resolve(p, child.name), uid, gid);
};
var chownrSync = (p, uid, gid) => {
let children;
try {
children = readdirSync(p, { withFileTypes: true });
} catch (er) {
if (er.code === "ENOENT")
return;
else if (er.code === "ENOTDIR" || er.code === "ENOTSUP")
return handleEISDirSync(p, uid, gid);
else
throw er;
}
if (children && children.length)
children.forEach((child) => chownrKidSync(p, child, uid, gid));
return handleEISDirSync(p, uid, gid);
};
module2.exports = chownr;
chownr.sync = chownrSync;
}
});
// ../../../usr/share/nodejs/tar/lib/mkdir.js
var require_mkdir = __commonJS({
"../../../usr/share/nodejs/tar/lib/mkdir.js"(exports2, module2) {
"use strict";
var mkdirp = require_index_cjs2();
var fs8 = require("fs");
var path10 = require("path");
var chownr = require_chownr();
var normPath = require_normalize_windows_path();
var SymlinkError = class extends Error {
constructor(symlink, path11) {
super("Cannot extract through symbolic link");
this.path = path11;
this.symlink = symlink;
}
get name() {
return "SylinkError";
}
};
var CwdError = class extends Error {
constructor(path11, code) {
super(code + ": Cannot cd into '" + path11 + "'");
this.path = path11;
this.code = code;
}
get name() {
return "CwdError";
}
};
var cGet = (cache, key) => cache.get(normPath(key));
var cSet = (cache, key, val) => cache.set(normPath(key), val);
var checkCwd = (dir, cb) => {
fs8.stat(dir, (er, st) => {
if (er || !st.isDirectory()) {
er = new CwdError(dir, er && er.code || "ENOTDIR");
}
cb(er);
});
};
module2.exports = (dir, opt, cb) => {
dir = normPath(dir);
const umask = opt.umask;
const mode = opt.mode | 448;
const needChmod = (mode & umask) !== 0;
const uid = opt.uid;
const gid = opt.gid;
const doChown = typeof uid === "number" && typeof gid === "number" && (uid !== opt.processUid || gid !== opt.processGid);
const preserve = opt.preserve;
const unlink = opt.unlink;
const cache = opt.cache;
const cwd = normPath(opt.cwd);
const done = (er, created) => {
if (er) {
cb(er);
} else {
cSet(cache, dir, true);
if (created && doChown) {
chownr(created, uid, gid, (er2) => done(er2));
} else if (needChmod) {
fs8.chmod(dir, mode, cb);
} else {
cb();
}
}
};
if (cache && cGet(cache, dir) === true) {
return done();
}
if (dir === cwd) {
return checkCwd(dir, done);
}
if (preserve) {
return mkdirp(dir, { mode }).then((made) => done(null, made), done);
}
const sub = normPath(path10.relative(cwd, dir));
const parts = sub.split("/");
mkdir_(cwd, parts, mode, cache, unlink, cwd, null, done);
};
var mkdir_ = (base, parts, mode, cache, unlink, cwd, created, cb) => {
if (!parts.length) {
return cb(null, created);
}
const p = parts.shift();
const part = normPath(path10.resolve(base + "/" + p));
if (cGet(cache, part)) {
return mkdir_(part, parts, mode, cache, unlink, cwd, created, cb);
}
fs8.mkdir(part, mode, onmkdir(part, parts, mode, cache, unlink, cwd, created, cb));
};
var onmkdir = (part, parts, mode, cache, unlink, cwd, created, cb) => (er) => {
if (er) {
fs8.lstat(part, (statEr, st) => {
if (statEr) {
statEr.path = statEr.path && normPath(statEr.path);
cb(statEr);
} else if (st.isDirectory()) {
mkdir_(part, parts, mode, cache, unlink, cwd, created, cb);
} else if (unlink) {
fs8.unlink(part, (er2) => {
if (er2) {
return cb(er2);
}
fs8.mkdir(part, mode, onmkdir(part, parts, mode, cache, unlink, cwd, created, cb));
});
} else if (st.isSymbolicLink()) {
return cb(new SymlinkError(part, part + "/" + parts.join("/")));
} else {
cb(er);
}
});
} else {
created = created || part;
mkdir_(part, parts, mode, cache, unlink, cwd, created, cb);
}
};
var checkCwdSync = (dir) => {
let ok = false;
let code = "ENOTDIR";
try {
ok = fs8.statSync(dir).isDirectory();
} catch (er) {
code = er.code;
} finally {
if (!ok) {
throw new CwdError(dir, code);
}
}
};
module2.exports.sync = (dir, opt) => {
dir = normPath(dir);
const umask = opt.umask;
const mode = opt.mode | 448;
const needChmod = (mode & umask) !== 0;
const uid = opt.uid;
const gid = opt.gid;
const doChown = typeof uid === "number" && typeof gid === "number" && (uid !== opt.processUid || gid !== opt.processGid);
const preserve = opt.preserve;
const unlink = opt.unlink;
const cache = opt.cache;
const cwd = normPath(opt.cwd);
const done = (created2) => {
cSet(cache, dir, true);
if (created2 && doChown) {
chownr.sync(created2, uid, gid);
}
if (needChmod) {
fs8.chmodSync(dir, mode);
}
};
if (cache && cGet(cache, dir) === true) {
return done();
}
if (dir === cwd) {
checkCwdSync(cwd);
return done();
}
if (preserve) {
return done(mkdirp.sync(dir, mode));
}
const sub = normPath(path10.relative(cwd, dir));
const parts = sub.split("/");
let created = null;
for (let p = parts.shift(), part = cwd; p && (part += "/" + p); p = parts.shift()) {
part = normPath(path10.resolve(part));
if (cGet(cache, part)) {
continue;
}
try {
fs8.mkdirSync(part, mode);
created = created || part;
cSet(cache, part, true);
} catch (er) {
const st = fs8.lstatSync(part);
if (st.isDirectory()) {
cSet(cache, part, true);
continue;
} else if (unlink) {
fs8.unlinkSync(part);
fs8.mkdirSync(part, mode);
created = created || part;
cSet(cache, part, true);
continue;
} else if (st.isSymbolicLink()) {
return new SymlinkError(part, part + "/" + parts.join("/"));
}
}
}
return done(created);
};
}
});
// ../../../usr/share/nodejs/tar/lib/normalize-unicode.js
var require_normalize_unicode = __commonJS({
"../../../usr/share/nodejs/tar/lib/normalize-unicode.js"(exports2, module2) {
var normalizeCache = /* @__PURE__ */ Object.create(null);
var { hasOwnProperty } = Object.prototype;
module2.exports = (s) => {
if (!hasOwnProperty.call(normalizeCache, s)) {
normalizeCache[s] = s.normalize("NFD");
}
return normalizeCache[s];
};
}
});
// ../../../usr/share/nodejs/tar/lib/path-reservations.js
var require_path_reservations = __commonJS({
"../../../usr/share/nodejs/tar/lib/path-reservations.js"(exports2, module2) {
var assert2 = require("assert");
var normalize = require_normalize_unicode();
var stripSlashes = require_strip_trailing_slashes();
var { join: join2 } = require("path");
var platform = process.env.TESTING_TAR_FAKE_PLATFORM || process.platform;
var isWindows = platform === "win32";
module2.exports = () => {
const queues = /* @__PURE__ */ new Map();
const reservations = /* @__PURE__ */ new Map();
const getDirs = (path10) => {
const dirs = path10.split("/").slice(0, -1).reduce((set, path11) => {
if (set.length) {
path11 = join2(set[set.length - 1], path11);
}
set.push(path11 || "/");
return set;
}, []);
return dirs;
};
const running = /* @__PURE__ */ new Set();
const getQueues = (fn2) => {
const res = reservations.get(fn2);
if (!res) {
throw new Error("function does not have any path reservations");
}
return {
paths: res.paths.map((path10) => queues.get(path10)),
dirs: [...res.dirs].map((path10) => queues.get(path10))
};
};
const check = (fn2) => {
const { paths, dirs } = getQueues(fn2);
return paths.every((q) => q[0] === fn2) && dirs.every((q) => q[0] instanceof Set && q[0].has(fn2));
};
const run2 = (fn2) => {
if (running.has(fn2) || !check(fn2)) {
return false;
}
running.add(fn2);
fn2(() => clear(fn2));
return true;
};
const clear = (fn2) => {
if (!running.has(fn2)) {
return false;
}
const { paths, dirs } = reservations.get(fn2);
const next = /* @__PURE__ */ new Set();
paths.forEach((path10) => {
const q = queues.get(path10);
assert2.equal(q[0], fn2);
if (q.length === 1) {
queues.delete(path10);
} else {
q.shift();
if (typeof q[0] === "function") {
next.add(q[0]);
} else {
q[0].forEach((fn3) => next.add(fn3));
}
}
});
dirs.forEach((dir) => {
const q = queues.get(dir);
assert2(q[0] instanceof Set);
if (q[0].size === 1 && q.length === 1) {
queues.delete(dir);
} else if (q[0].size === 1) {
q.shift();
next.add(q[0]);
} else {
q[0].delete(fn2);
}
});
running.delete(fn2);
next.forEach((fn3) => run2(fn3));
return true;
};
const reserve = (paths, fn2) => {
paths = isWindows ? ["win32 parallelization disabled"] : paths.map((p) => {
return stripSlashes(join2(normalize(p))).toLowerCase();
});
const dirs = new Set(
paths.map((path10) => getDirs(path10)).reduce((a, b) => a.concat(b))
);
reservations.set(fn2, { dirs, paths });
paths.forEach((path10) => {
const q = queues.get(path10);
if (!q) {
queues.set(path10, [fn2]);
} else {
q.push(fn2);
}
});
dirs.forEach((dir) => {
const q = queues.get(dir);
if (!q) {
queues.set(dir, [/* @__PURE__ */ new Set([fn2])]);
} else if (q[q.length - 1] instanceof Set) {
q[q.length - 1].add(fn2);
} else {
q.push(/* @__PURE__ */ new Set([fn2]));
}
});
return run2(fn2);
};
return { check, reserve };
};
}
});
// ../../../usr/share/nodejs/tar/lib/get-write-flag.js
var require_get_write_flag = __commonJS({
"../../../usr/share/nodejs/tar/lib/get-write-flag.js"(exports2, module2) {
var platform = process.env.__FAKE_PLATFORM__ || process.platform;
var isWindows = platform === "win32";
var fs8 = global.__FAKE_TESTING_FS__ || require("fs");
var { O_CREAT, O_TRUNC, O_WRONLY, UV_FS_O_FILEMAP = 0 } = fs8.constants;
var fMapEnabled = isWindows && !!UV_FS_O_FILEMAP;
var fMapLimit = 512 * 1024;
var fMapFlag = UV_FS_O_FILEMAP | O_TRUNC | O_CREAT | O_WRONLY;
module2.exports = !fMapEnabled ? () => "w" : (size) => size < fMapLimit ? fMapFlag : "w";
}
});
// ../../../usr/share/nodejs/tar/lib/unpack.js
var require_unpack = __commonJS({
"../../../usr/share/nodejs/tar/lib/unpack.js"(exports2, module2) {
"use strict";
var assert2 = require("assert");
var Parser = require_parse2();
var fs8 = require("fs");
var fsm = require_lib2();
var path10 = require("path");
var mkdir4 = require_mkdir();
var wc = require_winchars();
var pathReservations = require_path_reservations();
var stripAbsolutePath = require_strip_absolute_path();
var normPath = require_normalize_windows_path();
var stripSlash = require_strip_trailing_slashes();
var normalize = require_normalize_unicode();
var ONENTRY = Symbol("onEntry");
var CHECKFS = Symbol("checkFs");
var CHECKFS2 = Symbol("checkFs2");
var PRUNECACHE = Symbol("pruneCache");
var ISREUSABLE = Symbol("isReusable");
var MAKEFS = Symbol("makeFs");
var FILE = Symbol("file");
var DIRECTORY = Symbol("directory");
var LINK = Symbol("link");
var SYMLINK = Symbol("symlink");
var HARDLINK = Symbol("hardlink");
var UNSUPPORTED = Symbol("unsupported");
var CHECKPATH = Symbol("checkPath");
var MKDIR = Symbol("mkdir");
var ONERROR = Symbol("onError");
var PENDING = Symbol("pending");
var PEND = Symbol("pend");
var UNPEND = Symbol("unpend");
var ENDED = Symbol("ended");
var MAYBECLOSE = Symbol("maybeClose");
var SKIP = Symbol("skip");
var DOCHOWN = Symbol("doChown");
var UID = Symbol("uid");
var GID = Symbol("gid");
var CHECKED_CWD = Symbol("checkedCwd");
var crypto = require("crypto");
var getFlag = require_get_write_flag();
var platform = process.env.TESTING_TAR_FAKE_PLATFORM || process.platform;
var isWindows = platform === "win32";
var DEFAULT_MAX_DEPTH = 1024;
var unlinkFile = (path11, cb) => {
if (!isWindows) {
return fs8.unlink(path11, cb);
}
const name = path11 + ".DELETE." + crypto.randomBytes(16).toString("hex");
fs8.rename(path11, name, (er) => {
if (er) {
return cb(er);
}
fs8.unlink(name, cb);
});
};
var unlinkFileSync = (path11) => {
if (!isWindows) {
return fs8.unlinkSync(path11);
}
const name = path11 + ".DELETE." + crypto.randomBytes(16).toString("hex");
fs8.renameSync(path11, name);
fs8.unlinkSync(name);
};
var uint32 = (a, b, c) => a === a >>> 0 ? a : b === b >>> 0 ? b : c;
var cacheKeyNormalize = (path11) => stripSlash(normPath(normalize(path11))).toLowerCase();
var pruneCache = (cache, abs) => {
abs = cacheKeyNormalize(abs);
for (const path11 of cache.keys()) {
const pnorm = cacheKeyNormalize(path11);
if (pnorm === abs || pnorm.indexOf(abs + "/") === 0) {
cache.delete(path11);
}
}
};
var dropCache = (cache) => {
for (const key of cache.keys()) {
cache.delete(key);
}
};
var Unpack = class extends Parser {
constructor(opt) {
if (!opt) {
opt = {};
}
opt.ondone = (_) => {
this[ENDED] = true;
this[MAYBECLOSE]();
};
super(opt);
this[CHECKED_CWD] = false;
this.reservations = pathReservations();
this.transform = typeof opt.transform === "function" ? opt.transform : null;
this.writable = true;
this.readable = false;
this[PENDING] = 0;
this[ENDED] = false;
this.dirCache = opt.dirCache || /* @__PURE__ */ new Map();
if (typeof opt.uid === "number" || typeof opt.gid === "number") {
if (typeof opt.uid !== "number" || typeof opt.gid !== "number") {
throw new TypeError("cannot set owner without number uid and gid");
}
if (opt.preserveOwner) {
throw new TypeError(
"cannot preserve owner in archive and also set owner explicitly"
);
}
this.uid = opt.uid;
this.gid = opt.gid;
this.setOwner = true;
} else {
this.uid = null;
this.gid = null;
this.setOwner = false;
}
if (opt.preserveOwner === void 0 && typeof opt.uid !== "number") {
this.preserveOwner = process.getuid && process.getuid() === 0;
} else {
this.preserveOwner = !!opt.preserveOwner;
}
this.processUid = (this.preserveOwner || this.setOwner) && process.getuid ? process.getuid() : null;
this.processGid = (this.preserveOwner || this.setOwner) && process.getgid ? process.getgid() : null;
this.maxDepth = typeof opt.maxDepth === "number" ? opt.maxDepth : DEFAULT_MAX_DEPTH;
this.forceChown = opt.forceChown === true;
this.win32 = !!opt.win32 || isWindows;
this.newer = !!opt.newer;
this.keep = !!opt.keep;
this.noMtime = !!opt.noMtime;
this.preservePaths = !!opt.preservePaths;
this.unlink = !!opt.unlink;
this.cwd = normPath(path10.resolve(opt.cwd || process.cwd()));
this.strip = +opt.strip || 0;
this.processUmask = opt.noChmod ? 0 : process.umask();
this.umask = typeof opt.umask === "number" ? opt.umask : this.processUmask;
this.dmode = opt.dmode || 511 & ~this.umask;
this.fmode = opt.fmode || 438 & ~this.umask;
this.on("entry", (entry) => this[ONENTRY](entry));
}
// a bad or damaged archive is a warning for Parser, but an error
// when extracting. Mark those errors as unrecoverable, because
// the Unpack contract cannot be met.
warn(code, msg, data = {}) {
if (code === "TAR_BAD_ARCHIVE" || code === "TAR_ABORT") {
data.recoverable = false;
}
return super.warn(code, msg, data);
}
[MAYBECLOSE]() {
if (this[ENDED] && this[PENDING] === 0) {
this.emit("prefinish");
this.emit("finish");
this.emit("end");
}
}
[CHECKPATH](entry) {
const p = normPath(entry.path);
const parts = p.split("/");
if (this.strip) {
if (parts.length < this.strip) {
return false;
}
if (entry.type === "Link") {
const linkparts = normPath(entry.linkpath).split("/");
if (linkparts.length >= this.strip) {
entry.linkpath = linkparts.slice(this.strip).join("/");
} else {
return false;
}
}
parts.splice(0, this.strip);
entry.path = parts.join("/");
}
if (isFinite(this.maxDepth) && parts.length > this.maxDepth) {
this.warn("TAR_ENTRY_ERROR", "path excessively deep", {
entry,
path: p,
depth: parts.length,
maxDepth: this.maxDepth
});
return false;
}
if (!this.preservePaths) {
if (parts.includes("..") || isWindows && /^[a-z]:\.\.$/i.test(parts[0])) {
this.warn("TAR_ENTRY_ERROR", `path contains '..'`, {
entry,
path: p
});
return false;
}
const [root, stripped] = stripAbsolutePath(p);
if (root) {
entry.path = stripped;
this.warn("TAR_ENTRY_INFO", `stripping ${root} from absolute path`, {
entry,
path: p
});
}
}
if (path10.isAbsolute(entry.path)) {
entry.absolute = normPath(path10.resolve(entry.path));
} else {
entry.absolute = normPath(path10.resolve(this.cwd, entry.path));
}
if (!this.preservePaths && entry.absolute.indexOf(this.cwd + "/") !== 0 && entry.absolute !== this.cwd) {
this.warn("TAR_ENTRY_ERROR", "path escaped extraction target", {
entry,
path: normPath(entry.path),
resolvedPath: entry.absolute,
cwd: this.cwd
});
return false;
}
if (entry.absolute === this.cwd && entry.type !== "Directory" && entry.type !== "GNUDumpDir") {
return false;
}
if (this.win32) {
const { root: aRoot } = path10.win32.parse(entry.absolute);
entry.absolute = aRoot + wc.encode(entry.absolute.slice(aRoot.length));
const { root: pRoot } = path10.win32.parse(entry.path);
entry.path = pRoot + wc.encode(entry.path.slice(pRoot.length));
}
return true;
}
[ONENTRY](entry) {
if (!this[CHECKPATH](entry)) {
return entry.resume();
}
assert2.equal(typeof entry.absolute, "string");
switch (entry.type) {
case "Directory":
case "GNUDumpDir":
if (entry.mode) {
entry.mode = entry.mode | 448;
}
// eslint-disable-next-line no-fallthrough
case "File":
case "OldFile":
case "ContiguousFile":
case "Link":
case "SymbolicLink":
return this[CHECKFS](entry);
case "CharacterDevice":
case "BlockDevice":
case "FIFO":
default:
return this[UNSUPPORTED](entry);
}
}
[ONERROR](er, entry) {
if (er.name === "CwdError") {
this.emit("error", er);
} else {
this.warn("TAR_ENTRY_ERROR", er, { entry });
this[UNPEND]();
entry.resume();
}
}
[MKDIR](dir, mode, cb) {
mkdir4(normPath(dir), {
uid: this.uid,
gid: this.gid,
processUid: this.processUid,
processGid: this.processGid,
umask: this.processUmask,
preserve: this.preservePaths,
unlink: this.unlink,
cache: this.dirCache,
cwd: this.cwd,
mode,
noChmod: this.noChmod
}, cb);
}
[DOCHOWN](entry) {
return this.forceChown || this.preserveOwner && (typeof entry.uid === "number" && entry.uid !== this.processUid || typeof entry.gid === "number" && entry.gid !== this.processGid) || (typeof this.uid === "number" && this.uid !== this.processUid || typeof this.gid === "number" && this.gid !== this.processGid);
}
[UID](entry) {
return uint32(this.uid, entry.uid, this.processUid);
}
[GID](entry) {
return uint32(this.gid, entry.gid, this.processGid);
}
[FILE](entry, fullyDone) {
const mode = entry.mode & 4095 || this.fmode;
const stream = new fsm.WriteStream(entry.absolute, {
flags: getFlag(entry.size),
mode,
autoClose: false
});
stream.on("error", (er) => {
if (stream.fd) {
fs8.close(stream.fd, () => {
});
}
stream.write = () => true;
this[ONERROR](er, entry);
fullyDone();
});
let actions = 1;
const done = (er) => {
if (er) {
if (stream.fd) {
fs8.close(stream.fd, () => {
});
}
this[ONERROR](er, entry);
fullyDone();
return;
}
if (--actions === 0) {
fs8.close(stream.fd, (er2) => {
if (er2) {
this[ONERROR](er2, entry);
} else {
this[UNPEND]();
}
fullyDone();
});
}
};
stream.on("finish", (_) => {
const abs = entry.absolute;
const fd = stream.fd;
if (entry.mtime && !this.noMtime) {
actions++;
const atime = entry.atime || /* @__PURE__ */ new Date();
const mtime = entry.mtime;
fs8.futimes(fd, atime, mtime, (er) => er ? fs8.utimes(abs, atime, mtime, (er2) => done(er2 && er)) : done());
}
if (this[DOCHOWN](entry)) {
actions++;
const uid = this[UID](entry);
const gid = this[GID](entry);
fs8.fchown(fd, uid, gid, (er) => er ? fs8.chown(abs, uid, gid, (er2) => done(er2 && er)) : done());
}
done();
});
const tx = this.transform ? this.transform(entry) || entry : entry;
if (tx !== entry) {
tx.on("error", (er) => {
this[ONERROR](er, entry);
fullyDone();
});
entry.pipe(tx);
}
tx.pipe(stream);
}
[DIRECTORY](entry, fullyDone) {
const mode = entry.mode & 4095 || this.dmode;
this[MKDIR](entry.absolute, mode, (er) => {
if (er) {
this[ONERROR](er, entry);
fullyDone();
return;
}
let actions = 1;
const done = (_) => {
if (--actions === 0) {
fullyDone();
this[UNPEND]();
entry.resume();
}
};
if (entry.mtime && !this.noMtime) {
actions++;
fs8.utimes(entry.absolute, entry.atime || /* @__PURE__ */ new Date(), entry.mtime, done);
}
if (this[DOCHOWN](entry)) {
actions++;
fs8.chown(entry.absolute, this[UID](entry), this[GID](entry), done);
}
done();
});
}
[UNSUPPORTED](entry) {
entry.unsupported = true;
this.warn(
"TAR_ENTRY_UNSUPPORTED",
`unsupported entry type: ${entry.type}`,
{ entry }
);
entry.resume();
}
[SYMLINK](entry, done) {
this[LINK](entry, entry.linkpath, "symlink", done);
}
[HARDLINK](entry, done) {
const linkpath = normPath(path10.resolve(this.cwd, entry.linkpath));
this[LINK](entry, linkpath, "link", done);
}
[PEND]() {
this[PENDING]++;
}
[UNPEND]() {
this[PENDING]--;
this[MAYBECLOSE]();
}
[SKIP](entry) {
this[UNPEND]();
entry.resume();
}
// Check if we can reuse an existing filesystem entry safely and
// overwrite it, rather than unlinking and recreating
// Windows doesn't report a useful nlink, so we just never reuse entries
[ISREUSABLE](entry, st) {
return entry.type === "File" && !this.unlink && st.isFile() && st.nlink <= 1 && !isWindows;
}
// check if a thing is there, and if so, try to clobber it
[CHECKFS](entry) {
this[PEND]();
const paths = [entry.path];
if (entry.linkpath) {
paths.push(entry.linkpath);
}
this.reservations.reserve(paths, (done) => this[CHECKFS2](entry, done));
}
[PRUNECACHE](entry) {
if (entry.type === "SymbolicLink") {
dropCache(this.dirCache);
} else if (entry.type !== "Directory") {
pruneCache(this.dirCache, entry.absolute);
}
}
[CHECKFS2](entry, fullyDone) {
this[PRUNECACHE](entry);
const done = (er) => {
this[PRUNECACHE](entry);
fullyDone(er);
};
const checkCwd = () => {
this[MKDIR](this.cwd, this.dmode, (er) => {
if (er) {
this[ONERROR](er, entry);
done();
return;
}
this[CHECKED_CWD] = true;
start();
});
};
const start = () => {
if (entry.absolute !== this.cwd) {
const parent = normPath(path10.dirname(entry.absolute));
if (parent !== this.cwd) {
return this[MKDIR](parent, this.dmode, (er) => {
if (er) {
this[ONERROR](er, entry);
done();
return;
}
afterMakeParent();
});
}
}
afterMakeParent();
};
const afterMakeParent = () => {
fs8.lstat(entry.absolute, (lstatEr, st) => {
if (st && (this.keep || this.newer && st.mtime > entry.mtime)) {
this[SKIP](entry);
done();
return;
}
if (lstatEr || this[ISREUSABLE](entry, st)) {
return this[MAKEFS](null, entry, done);
}
if (st.isDirectory()) {
if (entry.type === "Directory") {
const needChmod = !this.noChmod && entry.mode && (st.mode & 4095) !== entry.mode;
const afterChmod = (er) => this[MAKEFS](er, entry, done);
if (!needChmod) {
return afterChmod();
}
return fs8.chmod(entry.absolute, entry.mode, afterChmod);
}
if (entry.absolute !== this.cwd) {
return fs8.rmdir(entry.absolute, (er) => this[MAKEFS](er, entry, done));
}
}
if (entry.absolute === this.cwd) {
return this[MAKEFS](null, entry, done);
}
unlinkFile(entry.absolute, (er) => this[MAKEFS](er, entry, done));
});
};
if (this[CHECKED_CWD]) {
start();
} else {
checkCwd();
}
}
[MAKEFS](er, entry, done) {
if (er) {
this[ONERROR](er, entry);
done();
return;
}
switch (entry.type) {
case "File":
case "OldFile":
case "ContiguousFile":
return this[FILE](entry, done);
case "Link":
return this[HARDLINK](entry, done);
case "SymbolicLink":
return this[SYMLINK](entry, done);
case "Directory":
case "GNUDumpDir":
return this[DIRECTORY](entry, done);
}
}
[LINK](entry, linkpath, link, done) {
fs8[link](linkpath, entry.absolute, (er) => {
if (er) {
this[ONERROR](er, entry);
} else {
this[UNPEND]();
entry.resume();
}
done();
});
}
};
var callSync = (fn2) => {
try {
return [null, fn2()];
} catch (er) {
return [er, null];
}
};
var UnpackSync = class extends Unpack {
[MAKEFS](er, entry) {
return super[MAKEFS](er, entry, () => {
});
}
[CHECKFS](entry) {
this[PRUNECACHE](entry);
if (!this[CHECKED_CWD]) {
const er2 = this[MKDIR](this.cwd, this.dmode);
if (er2) {
return this[ONERROR](er2, entry);
}
this[CHECKED_CWD] = true;
}
if (entry.absolute !== this.cwd) {
const parent = normPath(path10.dirname(entry.absolute));
if (parent !== this.cwd) {
const mkParent = this[MKDIR](parent, this.dmode);
if (mkParent) {
return this[ONERROR](mkParent, entry);
}
}
}
const [lstatEr, st] = callSync(() => fs8.lstatSync(entry.absolute));
if (st && (this.keep || this.newer && st.mtime > entry.mtime)) {
return this[SKIP](entry);
}
if (lstatEr || this[ISREUSABLE](entry, st)) {
return this[MAKEFS](null, entry);
}
if (st.isDirectory()) {
if (entry.type === "Directory") {
const needChmod = !this.noChmod && entry.mode && (st.mode & 4095) !== entry.mode;
const [er3] = needChmod ? callSync(() => {
fs8.chmodSync(entry.absolute, entry.mode);
}) : [];
return this[MAKEFS](er3, entry);
}
const [er2] = callSync(() => fs8.rmdirSync(entry.absolute));
this[MAKEFS](er2, entry);
}
const [er] = entry.absolute === this.cwd ? [] : callSync(() => unlinkFileSync(entry.absolute));
this[MAKEFS](er, entry);
}
[FILE](entry, done) {
const mode = entry.mode & 4095 || this.fmode;
const oner = (er) => {
let closeError;
try {
fs8.closeSync(fd);
} catch (e) {
closeError = e;
}
if (er || closeError) {
this[ONERROR](er || closeError, entry);
}
done();
};
let fd;
try {
fd = fs8.openSync(entry.absolute, getFlag(entry.size), mode);
} catch (er) {
return oner(er);
}
const tx = this.transform ? this.transform(entry) || entry : entry;
if (tx !== entry) {
tx.on("error", (er) => this[ONERROR](er, entry));
entry.pipe(tx);
}
tx.on("data", (chunk) => {
try {
fs8.writeSync(fd, chunk, 0, chunk.length);
} catch (er) {
oner(er);
}
});
tx.on("end", (_) => {
let er = null;
if (entry.mtime && !this.noMtime) {
const atime = entry.atime || /* @__PURE__ */ new Date();
const mtime = entry.mtime;
try {
fs8.futimesSync(fd, atime, mtime);
} catch (futimeser) {
try {
fs8.utimesSync(entry.absolute, atime, mtime);
} catch (utimeser) {
er = futimeser;
}
}
}
if (this[DOCHOWN](entry)) {
const uid = this[UID](entry);
const gid = this[GID](entry);
try {
fs8.fchownSync(fd, uid, gid);
} catch (fchowner) {
try {
fs8.chownSync(entry.absolute, uid, gid);
} catch (chowner) {
er = er || fchowner;
}
}
}
oner(er);
});
}
[DIRECTORY](entry, done) {
const mode = entry.mode & 4095 || this.dmode;
const er = this[MKDIR](entry.absolute, mode);
if (er) {
this[ONERROR](er, entry);
done();
return;
}
if (entry.mtime && !this.noMtime) {
try {
fs8.utimesSync(entry.absolute, entry.atime || /* @__PURE__ */ new Date(), entry.mtime);
} catch (er2) {
}
}
if (this[DOCHOWN](entry)) {
try {
fs8.chownSync(entry.absolute, this[UID](entry), this[GID](entry));
} catch (er2) {
}
}
done();
entry.resume();
}
[MKDIR](dir, mode) {
try {
return mkdir4.sync(normPath(dir), {
uid: this.uid,
gid: this.gid,
processUid: this.processUid,
processGid: this.processGid,
umask: this.processUmask,
preserve: this.preservePaths,
unlink: this.unlink,
cache: this.dirCache,
cwd: this.cwd,
mode
});
} catch (er) {
return er;
}
}
[LINK](entry, linkpath, link, done) {
try {
fs8[link + "Sync"](linkpath, entry.absolute);
done();
entry.resume();
} catch (er) {
return this[ONERROR](er, entry);
}
}
};
Unpack.Sync = UnpackSync;
module2.exports = Unpack;
}
});
// ../../../usr/share/nodejs/tar/lib/extract.js
var require_extract = __commonJS({
"../../../usr/share/nodejs/tar/lib/extract.js"(exports2, module2) {
"use strict";
var hlo = require_high_level_opt();
var Unpack = require_unpack();
var fs8 = require("fs");
var fsm = require_lib2();
var path10 = require("path");
var stripSlash = require_strip_trailing_slashes();
module2.exports = (opt_, files, cb) => {
if (typeof opt_ === "function") {
cb = opt_, files = null, opt_ = {};
} else if (Array.isArray(opt_)) {
files = opt_, opt_ = {};
}
if (typeof files === "function") {
cb = files, files = null;
}
if (!files) {
files = [];
} else {
files = Array.from(files);
}
const opt = hlo(opt_);
if (opt.sync && typeof cb === "function") {
throw new TypeError("callback not supported for sync tar functions");
}
if (!opt.file && typeof cb === "function") {
throw new TypeError("callback only supported with file option");
}
if (files.length) {
filesFilter(opt, files);
}
return opt.file && opt.sync ? extractFileSync(opt) : opt.file ? extractFile(opt, cb) : opt.sync ? extractSync(opt) : extract(opt);
};
var filesFilter = (opt, files) => {
const map = new Map(files.map((f) => [stripSlash(f), true]));
const filter = opt.filter;
const mapHas = (file, r) => {
const root = r || path10.parse(file).root || ".";
const ret = file === root ? false : map.has(file) ? map.get(file) : mapHas(path10.dirname(file), root);
map.set(file, ret);
return ret;
};
opt.filter = filter ? (file, entry) => filter(file, entry) && mapHas(stripSlash(file)) : (file) => mapHas(stripSlash(file));
};
var extractFileSync = (opt) => {
const u = new Unpack.Sync(opt);
const file = opt.file;
const stat = fs8.statSync(file);
const readSize = opt.maxReadSize || 16 * 1024 * 1024;
const stream = new fsm.ReadStreamSync(file, {
readSize,
size: stat.size
});
stream.pipe(u);
};
var extractFile = (opt, cb) => {
const u = new Unpack(opt);
const readSize = opt.maxReadSize || 16 * 1024 * 1024;
const file = opt.file;
const p = new Promise((resolve, reject) => {
u.on("error", reject);
u.on("close", resolve);
fs8.stat(file, (er, stat) => {
if (er) {
reject(er);
} else {
const stream = new fsm.ReadStream(file, {
readSize,
size: stat.size
});
stream.on("error", reject);
stream.pipe(u);
}
});
});
return cb ? p.then(cb, cb) : p;
};
var extractSync = (opt) => new Unpack.Sync(opt);
var extract = (opt) => new Unpack(opt);
}
});
// ../../../usr/share/nodejs/tar/index.js
var require_tar = __commonJS({
"../../../usr/share/nodejs/tar/index.js"(exports2) {
"use strict";
exports2.c = exports2.create = exports2.Create = require_create();
exports2.r = exports2.replace = exports2.Replace = require_replace();
exports2.t = exports2.list = exports2.List = require_list();
exports2.u = exports2.update = exports2.Update = require_update();
exports2.x = exports2.extract = exports2.Extract = require_extract();
exports2.Pack = require_pack();
exports2.Unpack = require_unpack();
exports2.Parse = require_parse2();
exports2.ReadEntry = require_read_entry();
exports2.WriteEntry = require_write_entry();
exports2.Header = require_header();
exports2.Pax = require_pax();
exports2.types = require_types3();
}
});
// ../../../usr/share/nodejs/v8-compile-cache/v8-compile-cache.js
var require_v8_compile_cache = __commonJS({
"../../../usr/share/nodejs/v8-compile-cache/v8-compile-cache.js"(exports2, module2) {
"use strict";
var Module2 = require("module");
var crypto = require("crypto");
var fs8 = require("fs");
var path10 = require("path");
var vm = require("vm");
var os2 = require("os");
var hasOwnProperty = Object.prototype.hasOwnProperty;
var FileSystemBlobStore = class {
constructor(directory, prefix) {
const name = prefix ? slashEscape(prefix + ".") : "";
this._blobFilename = path10.join(directory, name + "BLOB");
this._mapFilename = path10.join(directory, name + "MAP");
this._lockFilename = path10.join(directory, name + "LOCK");
this._directory = directory;
this._load();
}
has(key, invalidationKey) {
if (hasOwnProperty.call(this._memoryBlobs, key)) {
return this._invalidationKeys[key] === invalidationKey;
} else if (hasOwnProperty.call(this._storedMap, key)) {
return this._storedMap[key][0] === invalidationKey;
}
return false;
}
get(key, invalidationKey) {
if (hasOwnProperty.call(this._memoryBlobs, key)) {
if (this._invalidationKeys[key] === invalidationKey) {
return this._memoryBlobs[key];
}
} else if (hasOwnProperty.call(this._storedMap, key)) {
const mapping = this._storedMap[key];
if (mapping[0] === invalidationKey) {
return this._storedBlob.slice(mapping[1], mapping[2]);
}
}
}
set(key, invalidationKey, buffer) {
this._invalidationKeys[key] = invalidationKey;
this._memoryBlobs[key] = buffer;
this._dirty = true;
}
delete(key) {
if (hasOwnProperty.call(this._memoryBlobs, key)) {
this._dirty = true;
delete this._memoryBlobs[key];
}
if (hasOwnProperty.call(this._invalidationKeys, key)) {
this._dirty = true;
delete this._invalidationKeys[key];
}
if (hasOwnProperty.call(this._storedMap, key)) {
this._dirty = true;
delete this._storedMap[key];
}
}
isDirty() {
return this._dirty;
}
save() {
const dump = this._getDump();
const blobToStore = Buffer.concat(dump[0]);
const mapToStore = JSON.stringify(dump[1]);
try {
mkdirpSync(this._directory);
fs8.writeFileSync(this._lockFilename, "LOCK", { flag: "wx" });
} catch (error) {
return false;
}
try {
fs8.writeFileSync(this._blobFilename, blobToStore);
fs8.writeFileSync(this._mapFilename, mapToStore);
} finally {
fs8.unlinkSync(this._lockFilename);
}
return true;
}
_load() {
try {
this._storedBlob = fs8.readFileSync(this._blobFilename);
this._storedMap = JSON.parse(fs8.readFileSync(this._mapFilename));
} catch (e) {
this._storedBlob = Buffer.alloc(0);
this._storedMap = {};
}
this._dirty = false;
this._memoryBlobs = {};
this._invalidationKeys = {};
}
_getDump() {
const buffers = [];
const newMap = {};
let offset = 0;
function push(key, invalidationKey, buffer) {
buffers.push(buffer);
newMap[key] = [invalidationKey, offset, offset + buffer.length];
offset += buffer.length;
}
for (const key of Object.keys(this._memoryBlobs)) {
const buffer = this._memoryBlobs[key];
const invalidationKey = this._invalidationKeys[key];
push(key, invalidationKey, buffer);
}
for (const key of Object.keys(this._storedMap)) {
if (hasOwnProperty.call(newMap, key)) continue;
const mapping = this._storedMap[key];
const buffer = this._storedBlob.slice(mapping[1], mapping[2]);
push(key, mapping[0], buffer);
}
return [buffers, newMap];
}
};
var NativeCompileCache = class {
constructor() {
this._cacheStore = null;
this._previousModuleCompile = null;
}
setCacheStore(cacheStore) {
this._cacheStore = cacheStore;
}
install() {
const self2 = this;
const hasRequireResolvePaths = typeof require.resolve.paths === "function";
this._previousModuleCompile = Module2.prototype._compile;
Module2.prototype._compile = function(content, filename) {
const mod = this;
function require2(id) {
return mod.require(id);
}
function resolve(request, options) {
return Module2._resolveFilename(request, mod, false, options);
}
require2.resolve = resolve;
if (hasRequireResolvePaths) {
resolve.paths = function paths(request) {
return Module2._resolveLookupPaths(request, mod, true);
};
}
require2.main = process.mainModule;
require2.extensions = Module2._extensions;
require2.cache = Module2._cache;
const dirname = path10.dirname(filename);
const compiledWrapper = self2._moduleCompile(filename, content);
const args = [mod.exports, require2, mod, filename, dirname, process, global, Buffer];
return compiledWrapper.apply(mod.exports, args);
};
}
uninstall() {
Module2.prototype._compile = this._previousModuleCompile;
}
_moduleCompile(filename, content) {
var contLen = content.length;
if (contLen >= 2) {
if (content.charCodeAt(0) === 35 && content.charCodeAt(1) === 33) {
if (contLen === 2) {
content = "";
} else {
var i = 2;
for (; i < contLen; ++i) {
var code = content.charCodeAt(i);
if (code === 10 || code === 13) break;
}
if (i === contLen) {
content = "";
} else {
content = content.slice(i);
}
}
}
}
var wrapper = Module2.wrap(content);
var invalidationKey = crypto.createHash("sha1").update(content, "utf8").digest("hex");
var buffer = this._cacheStore.get(filename, invalidationKey);
var script = new vm.Script(wrapper, {
filename,
lineOffset: 0,
displayErrors: true,
cachedData: buffer,
produceCachedData: true
});
if (script.cachedDataProduced) {
this._cacheStore.set(filename, invalidationKey, script.cachedData);
} else if (script.cachedDataRejected) {
this._cacheStore.delete(filename);
}
var compiledWrapper = script.runInThisContext({
filename,
lineOffset: 0,
columnOffset: 0,
displayErrors: true
});
return compiledWrapper;
}
};
function mkdirpSync(p_) {
_mkdirpSync(path10.resolve(p_), 511);
}
function _mkdirpSync(p, mode) {
try {
fs8.mkdirSync(p, mode);
} catch (err0) {
if (err0.code === "ENOENT") {
_mkdirpSync(path10.dirname(p));
_mkdirpSync(p);
} else {
try {
const stat = fs8.statSync(p);
if (!stat.isDirectory()) {
throw err0;
}
} catch (err1) {
throw err0;
}
}
}
}
function slashEscape(str) {
const ESCAPE_LOOKUP = {
"\\": "zB",
":": "zC",
"/": "zS",
"\0": "z0",
"z": "zZ"
};
const ESCAPE_REGEX = /[\\:/\x00z]/g;
return str.replace(ESCAPE_REGEX, (match) => ESCAPE_LOOKUP[match]);
}
function supportsCachedData() {
const script = new vm.Script('""', { produceCachedData: true });
return script.cachedDataProduced === true;
}
function getCacheDir() {
const v8_compile_cache_cache_dir = process.env.V8_COMPILE_CACHE_CACHE_DIR;
if (v8_compile_cache_cache_dir) {
return v8_compile_cache_cache_dir;
}
const dirname = typeof process.getuid === "function" ? "v8-compile-cache-" + process.getuid() : "v8-compile-cache";
const arch = process.arch;
const version2 = typeof process.versions.v8 === "string" ? process.versions.v8 : typeof process.versions.chakracore === "string" ? "chakracore-" + process.versions.chakracore : "node-" + process.version;
const cacheDir = path10.join(os2.tmpdir(), dirname, arch, version2);
return cacheDir;
}
function getMainName() {
const mainName = require.main && typeof require.main.filename === "string" ? require.main.filename : process.cwd();
return mainName;
}
if (!process.env.DISABLE_V8_COMPILE_CACHE && supportsCachedData()) {
const cacheDir = getCacheDir();
const prefix = getMainName();
const blobStore = new FileSystemBlobStore(cacheDir, prefix);
const nativeCompileCache = new NativeCompileCache();
nativeCompileCache.setCacheStore(blobStore);
nativeCompileCache.install();
process.once("exit", () => {
if (blobStore.isDirty()) {
blobStore.save();
}
nativeCompileCache.uninstall();
});
}
module2.exports.__TEST__ = {
FileSystemBlobStore,
NativeCompileCache,
mkdirpSync,
slashEscape,
supportsCachedData,
getCacheDir,
getMainName
};
}
});
// ../../../usr/share/nodejs/isexe/windows.js
var require_windows = __commonJS({
"../../../usr/share/nodejs/isexe/windows.js"(exports2, module2) {
module2.exports = isexe;
isexe.sync = sync;
var fs8 = require("fs");
function checkPathExt(path10, options) {
var pathext = options.pathExt !== void 0 ? options.pathExt : process.env.PATHEXT;
if (!pathext) {
return true;
}
pathext = pathext.split(";");
if (pathext.indexOf("") !== -1) {
return true;
}
for (var i = 0; i < pathext.length; i++) {
var p = pathext[i].toLowerCase();
if (p && path10.substr(-p.length).toLowerCase() === p) {
return true;
}
}
return false;
}
function checkStat(stat, path10, options) {
if (!stat.isSymbolicLink() && !stat.isFile()) {
return false;
}
return checkPathExt(path10, options);
}
function isexe(path10, options, cb) {
fs8.stat(path10, function(er, stat) {
cb(er, er ? false : checkStat(stat, path10, options));
});
}
function sync(path10, options) {
return checkStat(fs8.statSync(path10), path10, options);
}
}
});
// ../../../usr/share/nodejs/isexe/mode.js
var require_mode = __commonJS({
"../../../usr/share/nodejs/isexe/mode.js"(exports2, module2) {
module2.exports = isexe;
isexe.sync = sync;
var fs8 = require("fs");
function isexe(path10, options, cb) {
fs8.stat(path10, function(er, stat) {
cb(er, er ? false : checkStat(stat, options));
});
}
function sync(path10, options) {
return checkStat(fs8.statSync(path10), options);
}
function checkStat(stat, options) {
return stat.isFile() && checkMode(stat, options);
}
function checkMode(stat, options) {
var mod = stat.mode;
var uid = stat.uid;
var gid = stat.gid;
var myUid = options.uid !== void 0 ? options.uid : process.getuid && process.getuid();
var myGid = options.gid !== void 0 ? options.gid : process.getgid && process.getgid();
var u = parseInt("100", 8);
var g = parseInt("010", 8);
var o = parseInt("001", 8);
var ug = u | g;
var ret = mod & o || mod & g && gid === myGid || mod & u && uid === myUid || mod & ug && myUid === 0;
return ret;
}
}
});
// ../../../usr/share/nodejs/isexe/index.js
var require_isexe = __commonJS({
"../../../usr/share/nodejs/isexe/index.js"(exports2, module2) {
var fs8 = require("fs");
var core;
if (process.platform === "win32" || global.TESTING_WINDOWS) {
core = require_windows();
} else {
core = require_mode();
}
module2.exports = isexe;
isexe.sync = sync;
function isexe(path10, options, cb) {
if (typeof options === "function") {
cb = options;
options = {};
}
if (!cb) {
if (typeof Promise !== "function") {
throw new TypeError("callback not provided");
}
return new Promise(function(resolve, reject) {
isexe(path10, options || {}, function(er, is) {
if (er) {
reject(er);
} else {
resolve(is);
}
});
});
}
core(path10, options || {}, function(er, is) {
if (er) {
if (er.code === "EACCES" || options && options.ignoreErrors) {
er = null;
is = false;
}
}
cb(er, is);
});
}
function sync(path10, options) {
try {
return core.sync(path10, options || {});
} catch (er) {
if (options && options.ignoreErrors || er.code === "EACCES") {
return false;
} else {
throw er;
}
}
}
}
});
// ../../../usr/share/nodejs/which/which.js
var require_which = __commonJS({
"../../../usr/share/nodejs/which/which.js"(exports2, module2) {
var isWindows = process.platform === "win32" || process.env.OSTYPE === "cygwin" || process.env.OSTYPE === "msys";
var path10 = require("path");
var COLON = isWindows ? ";" : ":";
var isexe = require_isexe();
var getNotFoundError = (cmd) => Object.assign(new Error(`not found: ${cmd}`), { code: "ENOENT" });
var getPathInfo = (cmd, opt) => {
const colon = opt.colon || COLON;
const pathEnv = cmd.match(/\//) || isWindows && cmd.match(/\\/) ? [""] : [
// windows always checks the cwd first
...isWindows ? [process.cwd()] : [],
...(opt.path || process.env.PATH || /* istanbul ignore next: very unusual */
"").split(colon)
];
const pathExtExe = isWindows ? opt.pathExt || process.env.PATHEXT || ".EXE;.CMD;.BAT;.COM" : "";
const pathExt = isWindows ? pathExtExe.split(colon) : [""];
if (isWindows) {
if (cmd.indexOf(".") !== -1 && pathExt[0] !== "")
pathExt.unshift("");
}
return {
pathEnv,
pathExt,
pathExtExe
};
};
var which3 = (cmd, opt, cb) => {
if (typeof opt === "function") {
cb = opt;
opt = {};
}
if (!opt)
opt = {};
const { pathEnv, pathExt, pathExtExe } = getPathInfo(cmd, opt);
const found = [];
const step = (i) => new Promise((resolve, reject) => {
if (i === pathEnv.length)
return opt.all && found.length ? resolve(found) : reject(getNotFoundError(cmd));
const ppRaw = pathEnv[i];
const pathPart = /^".*"$/.test(ppRaw) ? ppRaw.slice(1, -1) : ppRaw;
const pCmd = path10.join(pathPart, cmd);
const p = !pathPart && /^\.[\\\/]/.test(cmd) ? cmd.slice(0, 2) + pCmd : pCmd;
resolve(subStep(p, i, 0));
});
const subStep = (p, i, ii) => new Promise((resolve, reject) => {
if (ii === pathExt.length)
return resolve(step(i + 1));
const ext = pathExt[ii];
isexe(p + ext, { pathExt: pathExtExe }, (er, is) => {
if (!er && is) {
if (opt.all)
found.push(p + ext);
else
return resolve(p + ext);
}
return resolve(subStep(p, i, ii + 1));
});
});
return cb ? step(0).then((res) => cb(null, res), cb) : step(0);
};
var whichSync = (cmd, opt) => {
opt = opt || {};
const { pathEnv, pathExt, pathExtExe } = getPathInfo(cmd, opt);
const found = [];
for (let i = 0; i < pathEnv.length; i++) {
const ppRaw = pathEnv[i];
const pathPart = /^".*"$/.test(ppRaw) ? ppRaw.slice(1, -1) : ppRaw;
const pCmd = path10.join(pathPart, cmd);
const p = !pathPart && /^\.[\\\/]/.test(cmd) ? cmd.slice(0, 2) + pCmd : pCmd;
for (let j = 0; j < pathExt.length; j++) {
const cur = p + pathExt[j];
try {
const is = isexe.sync(cur, { pathExt: pathExtExe });
if (is) {
if (opt.all)
found.push(cur);
else
return cur;
}
} catch (ex) {
}
}
}
if (opt.all && found.length)
return found;
if (opt.nothrow)
return null;
throw getNotFoundError(cmd);
};
module2.exports = which3;
which3.sync = whichSync;
}
});
// ../../../usr/share/nodejs/is-windows/index.js
var require_is_windows = __commonJS({
"../../../usr/share/nodejs/is-windows/index.js"(exports2, module2) {
(function(factory) {
if (exports2 && typeof exports2 === "object" && typeof module2 !== "undefined") {
module2.exports = factory();
} else if (typeof define === "function" && define.amd) {
define([], factory);
} else if (typeof window !== "undefined") {
window.isWindows = factory();
} else if (typeof global !== "undefined") {
global.isWindows = factory();
} else if (typeof self !== "undefined") {
self.isWindows = factory();
} else {
this.isWindows = factory();
}
})(function() {
"use strict";
return function isWindows() {
return process && (process.platform === "win32" || /^(msys|cygwin)$/.test(process.env.OSTYPE));
};
});
}
});
// ../../../usr/share/nodejs/@zkochan/cmd-shim/node_modules/cmd-extension/index.js
var require_cmd_extension = __commonJS({
"../../../usr/share/nodejs/@zkochan/cmd-shim/node_modules/cmd-extension/index.js"(exports2, module2) {
"use strict";
var path10 = require("path");
var cmdExtension;
if (process.env.PATHEXT) {
cmdExtension = process.env.PATHEXT.split(path10.delimiter).find((ext) => ext.toUpperCase() === ".CMD");
}
module2.exports = cmdExtension || ".cmd";
}
});
// ../../../usr/share/nodejs/@zkochan/cmd-shim/index.js
var require_cmd_shim = __commonJS({
"../../../usr/share/nodejs/@zkochan/cmd-shim/index.js"(exports2, module2) {
"use strict";
cmdShim2.ifExists = cmdShimIfExists;
var util_1 = require("util");
var path10 = require("path");
var isWindows = require_is_windows();
var CMD_EXTENSION = require_cmd_extension();
var shebangExpr = /^#!\s*(?:\/usr\/bin\/env)?\s*([^ \t]+)(.*)$/;
var DEFAULT_OPTIONS = {
// Create PowerShell file by default if the option hasn't been specified
createPwshFile: true,
createCmdFile: isWindows(),
fs: require("fs")
};
var extensionToProgramMap = /* @__PURE__ */ new Map([
[".js", "node"],
[".cjs", "node"],
[".mjs", "node"],
[".cmd", "cmd"],
[".bat", "cmd"],
[".ps1", "pwsh"],
[".sh", "sh"]
]);
function ingestOptions(opts) {
const opts_ = { ...DEFAULT_OPTIONS, ...opts };
const fs8 = opts_.fs;
opts_.fs_ = {
chmod: fs8.chmod ? (0, util_1.promisify)(fs8.chmod) : async () => {
},
mkdir: (0, util_1.promisify)(fs8.mkdir),
readFile: (0, util_1.promisify)(fs8.readFile),
stat: (0, util_1.promisify)(fs8.stat),
unlink: (0, util_1.promisify)(fs8.unlink),
writeFile: (0, util_1.promisify)(fs8.writeFile)
};
return opts_;
}
async function cmdShim2(src, to, opts) {
const opts_ = ingestOptions(opts);
await cmdShim_(src, to, opts_);
}
function cmdShimIfExists(src, to, opts) {
return cmdShim2(src, to, opts).catch(() => {
});
}
function rm2(path11, opts) {
return opts.fs_.unlink(path11).catch(() => {
});
}
async function cmdShim_(src, to, opts) {
const srcRuntimeInfo = await searchScriptRuntime(src, opts);
await writeShimsPreCommon(to, opts);
return writeAllShims(src, to, srcRuntimeInfo, opts);
}
function writeShimsPreCommon(target, opts) {
return opts.fs_.mkdir(path10.dirname(target), { recursive: true });
}
function writeAllShims(src, to, srcRuntimeInfo, opts) {
const opts_ = ingestOptions(opts);
const generatorAndExts = [{ generator: generateShShim, extension: "" }];
if (opts_.createCmdFile) {
generatorAndExts.push({ generator: generateCmdShim, extension: CMD_EXTENSION });
}
if (opts_.createPwshFile) {
generatorAndExts.push({ generator: generatePwshShim, extension: ".ps1" });
}
return Promise.all(generatorAndExts.map((generatorAndExt) => writeShim(src, to + generatorAndExt.extension, srcRuntimeInfo, generatorAndExt.generator, opts_)));
}
function writeShimPre(target, opts) {
return rm2(target, opts);
}
function writeShimPost(target, opts) {
return chmodShim(target, opts);
}
async function searchScriptRuntime(target, opts) {
try {
const data = await opts.fs_.readFile(target, "utf8");
const firstLine = data.trim().split(/\r*\n/)[0];
const shebang = firstLine.match(shebangExpr);
if (!shebang) {
const targetExtension = path10.extname(target).toLowerCase();
return {
// undefined if extension is unknown but it's converted to null.
program: extensionToProgramMap.get(targetExtension) || null,
additionalArgs: ""
};
}
return {
program: shebang[1],
additionalArgs: shebang[2]
};
} catch (err) {
if (!isWindows() || err.code !== "ENOENT")
throw err;
if (await opts.fs_.stat(`${target}${getExeExtension()}`)) {
return {
program: null,
additionalArgs: ""
};
}
throw err;
}
}
function getExeExtension() {
let cmdExtension;
if (process.env.PATHEXT) {
cmdExtension = process.env.PATHEXT.split(path10.delimiter).find((ext) => ext.toLowerCase() === ".exe");
}
return cmdExtension || ".exe";
}
async function writeShim(src, to, srcRuntimeInfo, generateShimScript, opts) {
const defaultArgs = opts.preserveSymlinks ? "--preserve-symlinks" : "";
const args = [srcRuntimeInfo.additionalArgs, defaultArgs].filter((arg) => arg).join(" ");
opts = Object.assign({}, opts, {
prog: srcRuntimeInfo.program,
args
});
await writeShimPre(to, opts);
await opts.fs_.writeFile(to, generateShimScript(src, to, opts), "utf8");
return writeShimPost(to, opts);
}
function generateCmdShim(src, to, opts) {
const shTarget = path10.relative(path10.dirname(to), src);
let target = shTarget.split("/").join("\\");
const quotedPathToTarget = path10.isAbsolute(target) ? `"${target}"` : `"%~dp0\\${target}"`;
let longProg;
let prog = opts.prog;
let args = opts.args || "";
const nodePath = normalizePathEnvVar(opts.nodePath).win32;
const prependToPath = normalizePathEnvVar(opts.prependToPath).win32;
if (!prog) {
prog = quotedPathToTarget;
args = "";
target = "";
} else if (prog === "node" && opts.nodeExecPath) {
prog = `"${opts.nodeExecPath}"`;
target = quotedPathToTarget;
} else {
longProg = `"%~dp0\\${prog}.exe"`;
target = quotedPathToTarget;
}
let progArgs = opts.progArgs ? `${opts.progArgs.join(` `)} ` : "";
let cmd = "@SETLOCAL\r\n";
if (prependToPath) {
cmd += `@SET "PATH=${prependToPath}:%PATH%"\r
`;
}
if (nodePath) {
cmd += `@IF NOT DEFINED NODE_PATH (\r
@SET "NODE_PATH=${nodePath}"\r
) ELSE (\r
@SET "NODE_PATH=%NODE_PATH%;${nodePath}"\r
)\r
`;
}
if (longProg) {
cmd += `@IF EXIST ${longProg} (\r
${longProg} ${args} ${target} ${progArgs}%*\r
) ELSE (\r
@SET PATHEXT=%PATHEXT:;.JS;=;%\r
${prog} ${args} ${target} ${progArgs}%*\r
)\r
`;
} else {
cmd += `@${prog} ${args} ${target} ${progArgs}%*\r
`;
}
return cmd;
}
function generateShShim(src, to, opts) {
let shTarget = path10.relative(path10.dirname(to), src);
let shProg = opts.prog && opts.prog.split("\\").join("/");
let shLongProg;
shTarget = shTarget.split("\\").join("/");
const quotedPathToTarget = path10.isAbsolute(shTarget) ? `"${shTarget}"` : `"$basedir/${shTarget}"`;
let args = opts.args || "";
const shNodePath = normalizePathEnvVar(opts.nodePath).posix;
if (!shProg) {
shProg = quotedPathToTarget;
args = "";
shTarget = "";
} else if (opts.prog === "node" && opts.nodeExecPath) {
shProg = `"${opts.nodeExecPath}"`;
shTarget = quotedPathToTarget;
} else {
shLongProg = `"$basedir/${opts.prog}"`;
shTarget = quotedPathToTarget;
}
let progArgs = opts.progArgs ? `${opts.progArgs.join(` `)} ` : "";
let sh = `#!/bin/sh
basedir=$(dirname "$(echo "$0" | sed -e 's,\\\\,/,g')")
case \`uname\` in
*CYGWIN*) basedir=\`cygpath -w "$basedir"\`;;
esac
`;
if (opts.prependToPath) {
sh += `export PATH="${opts.prependToPath}:$PATH"
`;
}
if (shNodePath) {
sh += `if [ -z "$NODE_PATH" ]; then
export NODE_PATH="${shNodePath}"
else
export NODE_PATH="$NODE_PATH:${shNodePath}"
fi
`;
}
if (shLongProg) {
sh += `if [ -x ${shLongProg} ]; then
exec ${shLongProg} ${args} ${shTarget} ${progArgs}"$@"
else
exec ${shProg} ${args} ${shTarget} ${progArgs}"$@"
fi
`;
} else {
sh += `${shProg} ${args} ${shTarget} ${progArgs}"$@"
exit $?
`;
}
return sh;
}
function generatePwshShim(src, to, opts) {
let shTarget = path10.relative(path10.dirname(to), src);
const shProg = opts.prog && opts.prog.split("\\").join("/");
let pwshProg = shProg && `"${shProg}$exe"`;
let pwshLongProg;
shTarget = shTarget.split("\\").join("/");
const quotedPathToTarget = path10.isAbsolute(shTarget) ? `"${shTarget}"` : `"$basedir/${shTarget}"`;
let args = opts.args || "";
let normalizedNodePathEnvVar = normalizePathEnvVar(opts.nodePath);
const nodePath = normalizedNodePathEnvVar.win32;
const shNodePath = normalizedNodePathEnvVar.posix;
let normalizedPrependPathEnvVar = normalizePathEnvVar(opts.prependToPath);
const prependPath = normalizedPrependPathEnvVar.win32;
const shPrependPath = normalizedPrependPathEnvVar.posix;
if (!pwshProg) {
pwshProg = quotedPathToTarget;
args = "";
shTarget = "";
} else if (opts.prog === "node" && opts.nodeExecPath) {
pwshProg = `"${opts.nodeExecPath}"`;
shTarget = quotedPathToTarget;
} else {
pwshLongProg = `"$basedir/${opts.prog}$exe"`;
shTarget = quotedPathToTarget;
}
let progArgs = opts.progArgs ? `${opts.progArgs.join(` `)} ` : "";
let pwsh = `#!/usr/bin/env pwsh
$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
$exe=""
${nodePath || prependPath ? '$pathsep=":"\n' : ""}${nodePath ? `$env_node_path=$env:NODE_PATH
$new_node_path="${nodePath}"
` : ""}${prependPath ? `$env_path=$env:PATH
$prepend_path="${prependPath}"
` : ""}if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
# Fix case when both the Windows and Linux builds of Node
# are installed in the same directory
$exe=".exe"
${nodePath || prependPath ? ' $pathsep=";"\n' : ""}}`;
if (shNodePath || shPrependPath) {
pwsh += ` else {
${shNodePath ? ` $new_node_path="${shNodePath}"
` : ""}${shPrependPath ? ` $prepend_path="${shPrependPath}"
` : ""}}
`;
}
if (shNodePath) {
pwsh += `if ([string]::IsNullOrEmpty($env_node_path)) {
$env:NODE_PATH=$new_node_path
} else {
$env:NODE_PATH="$env_node_path$pathsep$new_node_path"
}
`;
}
if (opts.prependToPath) {
pwsh += `
$env:PATH="$prepend_path$pathsep$env:PATH"
`;
}
if (pwshLongProg) {
pwsh += `
$ret=0
if (Test-Path ${pwshLongProg}) {
# Support pipeline input
if ($MyInvocation.ExpectingInput) {
$input | & ${pwshLongProg} ${args} ${shTarget} ${progArgs}$args
} else {
& ${pwshLongProg} ${args} ${shTarget} ${progArgs}$args
}
$ret=$LASTEXITCODE
} else {
# Support pipeline input
if ($MyInvocation.ExpectingInput) {
$input | & ${pwshProg} ${args} ${shTarget} ${progArgs}$args
} else {
& ${pwshProg} ${args} ${shTarget} ${progArgs}$args
}
$ret=$LASTEXITCODE
}
${nodePath ? "$env:NODE_PATH=$env_node_path\n" : ""}${prependPath ? "$env:PATH=$env_path\n" : ""}exit $ret
`;
} else {
pwsh += `
# Support pipeline input
if ($MyInvocation.ExpectingInput) {
$input | & ${pwshProg} ${args} ${shTarget} ${progArgs}$args
} else {
& ${pwshProg} ${args} ${shTarget} ${progArgs}$args
}
${nodePath ? "$env:NODE_PATH=$env_node_path\n" : ""}${prependPath ? "$env:PATH=$env_path\n" : ""}exit $LASTEXITCODE
`;
}
return pwsh;
}
function chmodShim(to, opts) {
return opts.fs_.chmod(to, 493);
}
function normalizePathEnvVar(nodePath) {
if (!nodePath || !nodePath.length) {
return {
win32: "",
posix: ""
};
}
let split = typeof nodePath === "string" ? nodePath.split(path10.delimiter) : Array.from(nodePath);
let result = {};
for (let i = 0; i < split.length; i++) {
const win32 = split[i].split("/").join("\\");
const posix = isWindows() ? split[i].split("\\").join("/").replace(/^([^:\\/]*):/, (_, $1) => `/mnt/${$1.toLowerCase()}`) : split[i];
result.win32 = result.win32 ? `${result.win32};${win32}` : win32;
result.posix = result.posix ? `${result.posix}:${posix}` : posix;
result[i] = { win32, posix };
}
return result;
}
module2.exports = cmdShim2;
}
});
// sources/_lib.ts
var lib_exports2 = {};
__export(lib_exports2, {
runMain: () => runMain
});
module.exports = __toCommonJS(lib_exports2);
// ../../../usr/share/nodejs/clipanion/lib/constants.mjs
var NODE_INITIAL = 0;
var NODE_SUCCESS = 1;
var NODE_ERRORED = 2;
var START_OF_INPUT = ``;
var END_OF_INPUT = `\0`;
var HELP_COMMAND_INDEX = -1;
var HELP_REGEX = /^(-h|--help)(?:=([0-9]+))?$/;
var OPTION_REGEX = /^(--[a-z]+(?:-[a-z]+)*|-[a-zA-Z]+)$/;
var BATCH_REGEX = /^-[a-zA-Z]{2,}$/;
var BINDING_REGEX = /^([^=]+)=([\s\S]*)$/;
var DEBUG = process.env.DEBUG_CLI === `1`;
// ../../../usr/share/nodejs/clipanion/lib/errors.mjs
var UsageError = class extends Error {
constructor(message) {
super(message);
this.clipanion = { type: `usage` };
this.name = `UsageError`;
}
};
var UnknownSyntaxError = class extends Error {
constructor(input, candidates) {
super();
this.input = input;
this.candidates = candidates;
this.clipanion = { type: `none` };
this.name = `UnknownSyntaxError`;
if (this.candidates.length === 0) {
this.message = `Command not found, but we're not sure what's the alternative.`;
} else if (this.candidates.every((candidate) => candidate.reason !== null && candidate.reason === candidates[0].reason)) {
const [{ reason }] = this.candidates;
this.message = `${reason}
${this.candidates.map(({ usage }) => `$ ${usage}`).join(`
`)}`;
} else if (this.candidates.length === 1) {
const [{ usage }] = this.candidates;
this.message = `Command not found; did you mean:
$ ${usage}
${whileRunning(input)}`;
} else {
this.message = `Command not found; did you mean one of:
${this.candidates.map(({ usage }, index) => {
return `${`${index}.`.padStart(4)} ${usage}`;
}).join(`
`)}
${whileRunning(input)}`;
}
}
};
var AmbiguousSyntaxError = class extends Error {
constructor(input, usages) {
super();
this.input = input;
this.usages = usages;
this.clipanion = { type: `none` };
this.name = `AmbiguousSyntaxError`;
this.message = `Cannot find which to pick amongst the following alternatives:
${this.usages.map((usage, index) => {
return `${`${index}.`.padStart(4)} ${usage}`;
}).join(`
`)}
${whileRunning(input)}`;
}
};
var whileRunning = (input) => `While running ${input.filter((token) => {
return token !== END_OF_INPUT;
}).map((token) => {
const json = JSON.stringify(token);
if (token.match(/\s/) || token.length === 0 || json !== `"${token}"`) {
return json;
} else {
return token;
}
}).join(` `)}`;
// ../../../usr/share/nodejs/clipanion/lib/advanced/options/utils.mjs
var isOptionSymbol = Symbol(`clipanion/isOption`);
function makeCommandOption(spec) {
return { ...spec, [isOptionSymbol]: true };
}
function rerouteArguments(a, b) {
if (typeof a === `undefined`)
return [a, b];
if (typeof a === `object` && a !== null && !Array.isArray(a)) {
return [void 0, a];
} else {
return [a, b];
}
}
function cleanValidationError(message, { mergeName = false } = {}) {
const match = message.match(/^([^:]+): (.*)$/m);
if (!match)
return `validation failed`;
let [, path10, line] = match;
if (mergeName)
line = line[0].toLowerCase() + line.slice(1);
line = path10 !== `.` || !mergeName ? `${path10.replace(/^\.(\[|$)/, `$1`)}: ${line}` : `: ${line}`;
return line;
}
function formatError(message, errors) {
if (errors.length === 1) {
return new UsageError(`${message}${cleanValidationError(errors[0], { mergeName: true })}`);
} else {
return new UsageError(`${message}:
${errors.map((error) => `
- ${cleanValidationError(error)}`).join(``)}`);
}
}
function applyValidator(name, value, validator) {
if (typeof validator === `undefined`)
return value;
const errors = [];
const coercions = [];
const coercion = (v) => {
const orig = value;
value = v;
return coercion.bind(null, orig);
};
const check = validator(value, { errors, coercions, coercion });
if (!check)
throw formatError(`Invalid value for ${name}`, errors);
for (const [, op] of coercions)
op();
return value;
}
// ../../../usr/share/nodejs/clipanion/lib/advanced/Command.mjs
var Command = class {
constructor() {
this.help = false;
}
/**
* Defines the usage information for the given command.
*/
static Usage(usage) {
return usage;
}
/**
* Standard error handler which will simply rethrow the error. Can be used
* to add custom logic to handle errors from the command or simply return
* the parent class error handling.
*/
async catch(error) {
throw error;
}
async validateAndExecute() {
const commandClass = this.constructor;
const cascade2 = commandClass.schema;
if (Array.isArray(cascade2)) {
const { isDict: isDict2, isUnknown: isUnknown2, applyCascade: applyCascade2 } = await Promise.resolve().then(() => (init_lib(), lib_exports));
const schema = applyCascade2(isDict2(isUnknown2()), cascade2);
const errors = [];
const coercions = [];
const check = schema(this, { errors, coercions });
if (!check)
throw formatError(`Invalid option schema`, errors);
for (const [, op] of coercions) {
op();
}
} else if (cascade2 != null) {
throw new Error(`Invalid command schema`);
}
const exitCode = await this.execute();
if (typeof exitCode !== `undefined`) {
return exitCode;
} else {
return 0;
}
}
};
Command.isOption = isOptionSymbol;
Command.Default = [];
// ../../../usr/share/nodejs/clipanion/lib/core.mjs
function debug(str) {
if (DEBUG) {
console.log(str);
}
}
var basicHelpState = {
candidateUsage: null,
requiredOptions: [],
errorMessage: null,
ignoreOptions: false,
path: [],
positionals: [],
options: [],
remainder: null,
selectedIndex: HELP_COMMAND_INDEX
};
function makeStateMachine() {
return {
nodes: [makeNode(), makeNode(), makeNode()]
};
}
function makeAnyOfMachine(inputs) {
const output = makeStateMachine();
const heads = [];
let offset = output.nodes.length;
for (const input of inputs) {
heads.push(offset);
for (let t = 0; t < input.nodes.length; ++t)
if (!isTerminalNode(t))
output.nodes.push(cloneNode(input.nodes[t], offset));
offset += input.nodes.length - 2;
}
for (const head of heads)
registerShortcut(output, NODE_INITIAL, head);
return output;
}
function injectNode(machine, node) {
machine.nodes.push(node);
return machine.nodes.length - 1;
}
function simplifyMachine(input) {
const visited = /* @__PURE__ */ new Set();
const process4 = (node) => {
if (visited.has(node))
return;
visited.add(node);
const nodeDef = input.nodes[node];
for (const transitions of Object.values(nodeDef.statics))
for (const { to } of transitions)
process4(to);
for (const [, { to }] of nodeDef.dynamics)
process4(to);
for (const { to } of nodeDef.shortcuts)
process4(to);
const shortcuts = new Set(nodeDef.shortcuts.map(({ to }) => to));
while (nodeDef.shortcuts.length > 0) {
const { to } = nodeDef.shortcuts.shift();
const toDef = input.nodes[to];
for (const [segment, transitions] of Object.entries(toDef.statics)) {
const store = !Object.prototype.hasOwnProperty.call(nodeDef.statics, segment) ? nodeDef.statics[segment] = [] : nodeDef.statics[segment];
for (const transition of transitions) {
if (!store.some(({ to: to2 }) => transition.to === to2)) {
store.push(transition);
}
}
}
for (const [test, transition] of toDef.dynamics)
if (!nodeDef.dynamics.some(([otherTest, { to: to2 }]) => test === otherTest && transition.to === to2))
nodeDef.dynamics.push([test, transition]);
for (const transition of toDef.shortcuts) {
if (!shortcuts.has(transition.to)) {
nodeDef.shortcuts.push(transition);
shortcuts.add(transition.to);
}
}
}
};
process4(NODE_INITIAL);
}
function debugMachine(machine, { prefix = `` } = {}) {
if (DEBUG) {
debug(`${prefix}Nodes are:`);
for (let t = 0; t < machine.nodes.length; ++t) {
debug(`${prefix} ${t}: ${JSON.stringify(machine.nodes[t])}`);
}
}
}
function runMachineInternal(machine, input, partial = false) {
debug(`Running a vm on ${JSON.stringify(input)}`);
let branches = [{ node: NODE_INITIAL, state: {
candidateUsage: null,
requiredOptions: [],
errorMessage: null,
ignoreOptions: false,
options: [],
path: [],
positionals: [],
remainder: null,
selectedIndex: null
} }];
debugMachine(machine, { prefix: ` ` });
const tokens = [START_OF_INPUT, ...input];
for (let t = 0; t < tokens.length; ++t) {
const segment = tokens[t];
debug(` Processing ${JSON.stringify(segment)}`);
const nextBranches = [];
for (const { node, state } of branches) {
debug(` Current node is ${node}`);
const nodeDef = machine.nodes[node];
if (node === NODE_ERRORED) {
nextBranches.push({ node, state });
continue;
}
console.assert(nodeDef.shortcuts.length === 0, `Shortcuts should have been eliminated by now`);
const hasExactMatch = Object.prototype.hasOwnProperty.call(nodeDef.statics, segment);
if (!partial || t < tokens.length - 1 || hasExactMatch) {
if (hasExactMatch) {
const transitions = nodeDef.statics[segment];
for (const { to, reducer } of transitions) {
nextBranches.push({ node: to, state: typeof reducer !== `undefined` ? execute(reducers, reducer, state, segment) : state });
debug(` Static transition to ${to} found`);
}
} else {
debug(` No static transition found`);
}
} else {
let hasMatches = false;
for (const candidate of Object.keys(nodeDef.statics)) {
if (!candidate.startsWith(segment))
continue;
if (segment === candidate) {
for (const { to, reducer } of nodeDef.statics[candidate]) {
nextBranches.push({ node: to, state: typeof reducer !== `undefined` ? execute(reducers, reducer, state, segment) : state });
debug(` Static transition to ${to} found`);
}
} else {
for (const { to } of nodeDef.statics[candidate]) {
nextBranches.push({ node: to, state: { ...state, remainder: candidate.slice(segment.length) } });
debug(` Static transition to ${to} found (partial match)`);
}
}
hasMatches = true;
}
if (!hasMatches) {
debug(` No partial static transition found`);
}
}
if (segment !== END_OF_INPUT) {
for (const [test, { to, reducer }] of nodeDef.dynamics) {
if (execute(tests, test, state, segment)) {
nextBranches.push({ node: to, state: typeof reducer !== `undefined` ? execute(reducers, reducer, state, segment) : state });
debug(` Dynamic transition to ${to} found (via ${test})`);
}
}
}
}
if (nextBranches.length === 0 && segment === END_OF_INPUT && input.length === 1) {
return [{
node: NODE_INITIAL,
state: basicHelpState
}];
}
if (nextBranches.length === 0) {
throw new UnknownSyntaxError(input, branches.filter(({ node }) => {
return node !== NODE_ERRORED;
}).map(({ state }) => {
return { usage: state.candidateUsage, reason: null };
}));
}
if (nextBranches.every(({ node }) => node === NODE_ERRORED)) {
throw new UnknownSyntaxError(input, nextBranches.map(({ state }) => {
return { usage: state.candidateUsage, reason: state.errorMessage };
}));
}
branches = trimSmallerBranches(nextBranches);
}
if (branches.length > 0) {
debug(` Results:`);
for (const branch of branches) {
debug(` - ${branch.node} -> ${JSON.stringify(branch.state)}`);
}
} else {
debug(` No results`);
}
return branches;
}
function checkIfNodeIsFinished(node, state) {
if (state.selectedIndex !== null)
return true;
if (Object.prototype.hasOwnProperty.call(node.statics, END_OF_INPUT)) {
for (const { to } of node.statics[END_OF_INPUT])
if (to === NODE_SUCCESS)
return true;
}
return false;
}
function suggestMachine(machine, input, partial) {
const prefix = partial && input.length > 0 ? [``] : [];
const branches = runMachineInternal(machine, input, partial);
const suggestions = [];
const suggestionsJson = /* @__PURE__ */ new Set();
const traverseSuggestion = (suggestion, node, skipFirst = true) => {
let nextNodes = [node];
while (nextNodes.length > 0) {
const currentNodes = nextNodes;
nextNodes = [];
for (const node2 of currentNodes) {
const nodeDef = machine.nodes[node2];
const keys = Object.keys(nodeDef.statics);
for (const key of Object.keys(nodeDef.statics)) {
const segment = keys[0];
for (const { to, reducer } of nodeDef.statics[segment]) {
if (reducer !== `pushPath`)
continue;
if (!skipFirst)
suggestion.push(segment);
nextNodes.push(to);
}
}
}
skipFirst = false;
}
const json = JSON.stringify(suggestion);
if (suggestionsJson.has(json))
return;
suggestions.push(suggestion);
suggestionsJson.add(json);
};
for (const { node, state } of branches) {
if (state.remainder !== null) {
traverseSuggestion([state.remainder], node);
continue;
}
const nodeDef = machine.nodes[node];
const isFinished = checkIfNodeIsFinished(nodeDef, state);
for (const [candidate, transitions] of Object.entries(nodeDef.statics))
if (isFinished && candidate !== END_OF_INPUT || !candidate.startsWith(`-`) && transitions.some(({ reducer }) => reducer === `pushPath`))
traverseSuggestion([...prefix, candidate], node);
if (!isFinished)
continue;
for (const [test, { to }] of nodeDef.dynamics) {
if (to === NODE_ERRORED)
continue;
const tokens = suggest(test, state);
if (tokens === null)
continue;
for (const token of tokens) {
traverseSuggestion([...prefix, token], node);
}
}
}
return [...suggestions].sort();
}
function runMachine(machine, input) {
const branches = runMachineInternal(machine, [...input, END_OF_INPUT]);
return selectBestState(input, branches.map(({ state }) => {
return state;
}));
}
function trimSmallerBranches(branches) {
let maxPathSize = 0;
for (const { state } of branches)
if (state.path.length > maxPathSize)
maxPathSize = state.path.length;
return branches.filter(({ state }) => {
return state.path.length === maxPathSize;
});
}
function selectBestState(input, states) {
const terminalStates = states.filter((state) => {
return state.selectedIndex !== null;
});
if (terminalStates.length === 0)
throw new Error();
const requiredOptionsSetStates = terminalStates.filter((state) => state.selectedIndex === HELP_COMMAND_INDEX || state.requiredOptions.every((names) => names.some((name) => state.options.find((opt) => opt.name === name))));
if (requiredOptionsSetStates.length === 0) {
throw new UnknownSyntaxError(input, terminalStates.map((state) => ({
usage: state.candidateUsage,
reason: null
})));
}
let maxPathSize = 0;
for (const state of requiredOptionsSetStates)
if (state.path.length > maxPathSize)
maxPathSize = state.path.length;
const bestPathBranches = requiredOptionsSetStates.filter((state) => {
return state.path.length === maxPathSize;
});
const getPositionalCount = (state) => state.positionals.filter(({ extra }) => {
return !extra;
}).length + state.options.length;
const statesWithPositionalCount = bestPathBranches.map((state) => {
return { state, positionalCount: getPositionalCount(state) };
});
let maxPositionalCount = 0;
for (const { positionalCount } of statesWithPositionalCount)
if (positionalCount > maxPositionalCount)
maxPositionalCount = positionalCount;
const bestPositionalStates = statesWithPositionalCount.filter(({ positionalCount }) => {
return positionalCount === maxPositionalCount;
}).map(({ state }) => {
return state;
});
const fixedStates = aggregateHelpStates(bestPositionalStates);
if (fixedStates.length > 1)
throw new AmbiguousSyntaxError(input, fixedStates.map((state) => state.candidateUsage));
return fixedStates[0];
}
function aggregateHelpStates(states) {
const notHelps = [];
const helps = [];
for (const state of states) {
if (state.selectedIndex === HELP_COMMAND_INDEX) {
helps.push(state);
} else {
notHelps.push(state);
}
}
if (helps.length > 0) {
notHelps.push({
...basicHelpState,
path: findCommonPrefix(...helps.map((state) => state.path)),
options: helps.reduce((options, state) => options.concat(state.options), [])
});
}
return notHelps;
}
function findCommonPrefix(firstPath, secondPath, ...rest) {
if (secondPath === void 0)
return Array.from(firstPath);
return findCommonPrefix(firstPath.filter((segment, i) => segment === secondPath[i]), ...rest);
}
function makeNode() {
return {
dynamics: [],
shortcuts: [],
statics: {}
};
}
function isTerminalNode(node) {
return node === NODE_SUCCESS || node === NODE_ERRORED;
}
function cloneTransition(input, offset = 0) {
return {
to: !isTerminalNode(input.to) ? input.to > 2 ? input.to + offset - 2 : input.to + offset : input.to,
reducer: input.reducer
};
}
function cloneNode(input, offset = 0) {
const output = makeNode();
for (const [test, transition] of input.dynamics)
output.dynamics.push([test, cloneTransition(transition, offset)]);
for (const transition of input.shortcuts)
output.shortcuts.push(cloneTransition(transition, offset));
for (const [segment, transitions] of Object.entries(input.statics))
output.statics[segment] = transitions.map((transition) => cloneTransition(transition, offset));
return output;
}
function registerDynamic(machine, from, test, to, reducer) {
machine.nodes[from].dynamics.push([
test,
{ to, reducer }
]);
}
function registerShortcut(machine, from, to, reducer) {
machine.nodes[from].shortcuts.push({ to, reducer });
}
function registerStatic(machine, from, test, to, reducer) {
const store = !Object.prototype.hasOwnProperty.call(machine.nodes[from].statics, test) ? machine.nodes[from].statics[test] = [] : machine.nodes[from].statics[test];
store.push({ to, reducer });
}
function execute(store, callback, state, segment) {
if (Array.isArray(callback)) {
const [name, ...args] = callback;
return store[name](state, segment, ...args);
} else {
return store[callback](state, segment);
}
}
function suggest(callback, state) {
const fn2 = Array.isArray(callback) ? tests[callback[0]] : tests[callback];
if (typeof fn2.suggest === `undefined`)
return null;
const args = Array.isArray(callback) ? callback.slice(1) : [];
return fn2.suggest(state, ...args);
}
var tests = {
always: () => {
return true;
},
isOptionLike: (state, segment) => {
return !state.ignoreOptions && (segment !== `-` && segment.startsWith(`-`));
},
isNotOptionLike: (state, segment) => {
return state.ignoreOptions || segment === `-` || !segment.startsWith(`-`);
},
isOption: (state, segment, name, hidden) => {
return !state.ignoreOptions && segment === name;
},
isBatchOption: (state, segment, names) => {
return !state.ignoreOptions && BATCH_REGEX.test(segment) && [...segment.slice(1)].every((name) => names.includes(`-${name}`));
},
isBoundOption: (state, segment, names, options) => {
const optionParsing = segment.match(BINDING_REGEX);
return !state.ignoreOptions && !!optionParsing && OPTION_REGEX.test(optionParsing[1]) && names.includes(optionParsing[1]) && options.filter((opt) => opt.names.includes(optionParsing[1])).every((opt) => opt.allowBinding);
},
isNegatedOption: (state, segment, name) => {
return !state.ignoreOptions && segment === `--no-${name.slice(2)}`;
},
isHelp: (state, segment) => {
return !state.ignoreOptions && HELP_REGEX.test(segment);
},
isUnsupportedOption: (state, segment, names) => {
return !state.ignoreOptions && segment.startsWith(`-`) && OPTION_REGEX.test(segment) && !names.includes(segment);
},
isInvalidOption: (state, segment) => {
return !state.ignoreOptions && segment.startsWith(`-`) && !OPTION_REGEX.test(segment);
}
};
tests.isOption.suggest = (state, name, hidden = true) => {
return !hidden ? [name] : null;
};
var reducers = {
setCandidateState: (state, segment, candidateState) => {
return { ...state, ...candidateState };
},
setSelectedIndex: (state, segment, index) => {
return { ...state, selectedIndex: index };
},
pushBatch: (state, segment) => {
return { ...state, options: state.options.concat([...segment.slice(1)].map((name) => ({ name: `-${name}`, value: true }))) };
},
pushBound: (state, segment) => {
const [, name, value] = segment.match(BINDING_REGEX);
return { ...state, options: state.options.concat({ name, value }) };
},
pushPath: (state, segment) => {
return { ...state, path: state.path.concat(segment) };
},
pushPositional: (state, segment) => {
return { ...state, positionals: state.positionals.concat({ value: segment, extra: false }) };
},
pushExtra: (state, segment) => {
return { ...state, positionals: state.positionals.concat({ value: segment, extra: true }) };
},
pushExtraNoLimits: (state, segment) => {
return { ...state, positionals: state.positionals.concat({ value: segment, extra: NoLimits }) };
},
pushTrue: (state, segment, name = segment) => {
return { ...state, options: state.options.concat({ name: segment, value: true }) };
},
pushFalse: (state, segment, name = segment) => {
return { ...state, options: state.options.concat({ name, value: false }) };
},
pushUndefined: (state, segment) => {
return { ...state, options: state.options.concat({ name: segment, value: void 0 }) };
},
pushStringValue: (state, segment) => {
var _a;
const copy = { ...state, options: [...state.options] };
const lastOption = state.options[state.options.length - 1];
lastOption.value = ((_a = lastOption.value) !== null && _a !== void 0 ? _a : []).concat([segment]);
return copy;
},
setStringValue: (state, segment) => {
const copy = { ...state, options: [...state.options] };
const lastOption = state.options[state.options.length - 1];
lastOption.value = segment;
return copy;
},
inhibateOptions: (state) => {
return { ...state, ignoreOptions: true };
},
useHelp: (state, segment, command) => {
const [
,
/* name */
,
index
] = segment.match(HELP_REGEX);
if (typeof index !== `undefined`) {
return { ...state, options: [{ name: `-c`, value: String(command) }, { name: `-i`, value: index }] };
} else {
return { ...state, options: [{ name: `-c`, value: String(command) }] };
}
},
setError: (state, segment, errorMessage) => {
if (segment === END_OF_INPUT) {
return { ...state, errorMessage: `${errorMessage}.` };
} else {
return { ...state, errorMessage: `${errorMessage} ("${segment}").` };
}
},
setOptionArityError: (state, segment) => {
const lastOption = state.options[state.options.length - 1];
return { ...state, errorMessage: `Not enough arguments to option ${lastOption.name}.` };
}
};
var NoLimits = Symbol();
var CommandBuilder = class {
constructor(cliIndex, cliOpts) {
this.allOptionNames = [];
this.arity = { leading: [], trailing: [], extra: [], proxy: false };
this.options = [];
this.paths = [];
this.cliIndex = cliIndex;
this.cliOpts = cliOpts;
}
addPath(path10) {
this.paths.push(path10);
}
setArity({ leading = this.arity.leading, trailing = this.arity.trailing, extra = this.arity.extra, proxy = this.arity.proxy }) {
Object.assign(this.arity, { leading, trailing, extra, proxy });
}
addPositional({ name = `arg`, required = true } = {}) {
if (!required && this.arity.extra === NoLimits)
throw new Error(`Optional parameters cannot be declared when using .rest() or .proxy()`);
if (!required && this.arity.trailing.length > 0)
throw new Error(`Optional parameters cannot be declared after the required trailing positional arguments`);
if (!required && this.arity.extra !== NoLimits) {
this.arity.extra.push(name);
} else if (this.arity.extra !== NoLimits && this.arity.extra.length === 0) {
this.arity.leading.push(name);
} else {
this.arity.trailing.push(name);
}
}
addRest({ name = `arg`, required = 0 } = {}) {
if (this.arity.extra === NoLimits)
throw new Error(`Infinite lists cannot be declared multiple times in the same command`);
if (this.arity.trailing.length > 0)
throw new Error(`Infinite lists cannot be declared after the required trailing positional arguments`);
for (let t = 0; t < required; ++t)
this.addPositional({ name });
this.arity.extra = NoLimits;
}
addProxy({ required = 0 } = {}) {
this.addRest({ required });
this.arity.proxy = true;
}
addOption({ names, description, arity = 0, hidden = false, required = false, allowBinding = true }) {
if (!allowBinding && arity > 1)
throw new Error(`The arity cannot be higher than 1 when the option only supports the --arg=value syntax`);
if (!Number.isInteger(arity))
throw new Error(`The arity must be an integer, got ${arity}`);
if (arity < 0)
throw new Error(`The arity must be positive, got ${arity}`);
this.allOptionNames.push(...names);
this.options.push({ names, description, arity, hidden, required, allowBinding });
}
setContext(context) {
this.context = context;
}
usage({ detailed = true, inlineOptions = true } = {}) {
const segments = [this.cliOpts.binaryName];
const detailedOptionList = [];
if (this.paths.length > 0)
segments.push(...this.paths[0]);
if (detailed) {
for (const { names, arity, hidden, description, required } of this.options) {
if (hidden)
continue;
const args = [];
for (let t = 0; t < arity; ++t)
args.push(` #${t}`);
const definition = `${names.join(`,`)}${args.join(``)}`;
if (!inlineOptions && description) {
detailedOptionList.push({ definition, description, required });
} else {
segments.push(required ? `<${definition}>` : `[${definition}]`);
}
}
segments.push(...this.arity.leading.map((name) => `<${name}>`));
if (this.arity.extra === NoLimits)
segments.push(`...`);
else
segments.push(...this.arity.extra.map((name) => `[${name}]`));
segments.push(...this.arity.trailing.map((name) => `<${name}>`));
}
const usage = segments.join(` `);
return { usage, options: detailedOptionList };
}
compile() {
if (typeof this.context === `undefined`)
throw new Error(`Assertion failed: No context attached`);
const machine = makeStateMachine();
let firstNode = NODE_INITIAL;
const candidateUsage = this.usage().usage;
const requiredOptions = this.options.filter((opt) => opt.required).map((opt) => opt.names);
firstNode = injectNode(machine, makeNode());
registerStatic(machine, NODE_INITIAL, START_OF_INPUT, firstNode, [`setCandidateState`, { candidateUsage, requiredOptions }]);
const positionalArgument = this.arity.proxy ? `always` : `isNotOptionLike`;
const paths = this.paths.length > 0 ? this.paths : [[]];
for (const path10 of paths) {
let lastPathNode = firstNode;
if (path10.length > 0) {
const optionPathNode = injectNode(machine, makeNode());
registerShortcut(machine, lastPathNode, optionPathNode);
this.registerOptions(machine, optionPathNode);
lastPathNode = optionPathNode;
}
for (let t = 0; t < path10.length; ++t) {
const nextPathNode = injectNode(machine, makeNode());
registerStatic(machine, lastPathNode, path10[t], nextPathNode, `pushPath`);
lastPathNode = nextPathNode;
}
if (this.arity.leading.length > 0 || !this.arity.proxy) {
const helpNode = injectNode(machine, makeNode());
registerDynamic(machine, lastPathNode, `isHelp`, helpNode, [`useHelp`, this.cliIndex]);
registerDynamic(machine, helpNode, `always`, helpNode, `pushExtra`);
registerStatic(machine, helpNode, END_OF_INPUT, NODE_SUCCESS, [`setSelectedIndex`, HELP_COMMAND_INDEX]);
this.registerOptions(machine, lastPathNode);
}
if (this.arity.leading.length > 0)
registerStatic(machine, lastPathNode, END_OF_INPUT, NODE_ERRORED, [`setError`, `Not enough positional arguments`]);
let lastLeadingNode = lastPathNode;
for (let t = 0; t < this.arity.leading.length; ++t) {
const nextLeadingNode = injectNode(machine, makeNode());
if (!this.arity.proxy || t + 1 !== this.arity.leading.length)
this.registerOptions(machine, nextLeadingNode);
if (this.arity.trailing.length > 0 || t + 1 !== this.arity.leading.length)
registerStatic(machine, nextLeadingNode, END_OF_INPUT, NODE_ERRORED, [`setError`, `Not enough positional arguments`]);
registerDynamic(machine, lastLeadingNode, `isNotOptionLike`, nextLeadingNode, `pushPositional`);
lastLeadingNode = nextLeadingNode;
}
let lastExtraNode = lastLeadingNode;
if (this.arity.extra === NoLimits || this.arity.extra.length > 0) {
const extraShortcutNode = injectNode(machine, makeNode());
registerShortcut(machine, lastLeadingNode, extraShortcutNode);
if (this.arity.extra === NoLimits) {
const extraNode = injectNode(machine, makeNode());
if (!this.arity.proxy)
this.registerOptions(machine, extraNode);
registerDynamic(machine, lastLeadingNode, positionalArgument, extraNode, `pushExtraNoLimits`);
registerDynamic(machine, extraNode, positionalArgument, extraNode, `pushExtraNoLimits`);
registerShortcut(machine, extraNode, extraShortcutNode);
} else {
for (let t = 0; t < this.arity.extra.length; ++t) {
const nextExtraNode = injectNode(machine, makeNode());
if (!this.arity.proxy || t > 0)
this.registerOptions(machine, nextExtraNode);
registerDynamic(machine, lastExtraNode, positionalArgument, nextExtraNode, `pushExtra`);
registerShortcut(machine, nextExtraNode, extraShortcutNode);
lastExtraNode = nextExtraNode;
}
}
lastExtraNode = extraShortcutNode;
}
if (this.arity.trailing.length > 0)
registerStatic(machine, lastExtraNode, END_OF_INPUT, NODE_ERRORED, [`setError`, `Not enough positional arguments`]);
let lastTrailingNode = lastExtraNode;
for (let t = 0; t < this.arity.trailing.length; ++t) {
const nextTrailingNode = injectNode(machine, makeNode());
if (!this.arity.proxy)
this.registerOptions(machine, nextTrailingNode);
if (t + 1 < this.arity.trailing.length)
registerStatic(machine, nextTrailingNode, END_OF_INPUT, NODE_ERRORED, [`setError`, `Not enough positional arguments`]);
registerDynamic(machine, lastTrailingNode, `isNotOptionLike`, nextTrailingNode, `pushPositional`);
lastTrailingNode = nextTrailingNode;
}
registerDynamic(machine, lastTrailingNode, positionalArgument, NODE_ERRORED, [`setError`, `Extraneous positional argument`]);
registerStatic(machine, lastTrailingNode, END_OF_INPUT, NODE_SUCCESS, [`setSelectedIndex`, this.cliIndex]);
}
return {
machine,
context: this.context
};
}
registerOptions(machine, node) {
registerDynamic(machine, node, [`isOption`, `--`], node, `inhibateOptions`);
registerDynamic(machine, node, [`isBatchOption`, this.allOptionNames], node, `pushBatch`);
registerDynamic(machine, node, [`isBoundOption`, this.allOptionNames, this.options], node, `pushBound`);
registerDynamic(machine, node, [`isUnsupportedOption`, this.allOptionNames], NODE_ERRORED, [`setError`, `Unsupported option name`]);
registerDynamic(machine, node, [`isInvalidOption`], NODE_ERRORED, [`setError`, `Invalid option name`]);
for (const option of this.options) {
const longestName = option.names.reduce((longestName2, name) => {
return name.length > longestName2.length ? name : longestName2;
}, ``);
if (option.arity === 0) {
for (const name of option.names) {
registerDynamic(machine, node, [`isOption`, name, option.hidden || name !== longestName], node, `pushTrue`);
if (name.startsWith(`--`) && !name.startsWith(`--no-`)) {
registerDynamic(machine, node, [`isNegatedOption`, name], node, [`pushFalse`, name]);
}
}
} else {
let lastNode = injectNode(machine, makeNode());
for (const name of option.names)
registerDynamic(machine, node, [`isOption`, name, option.hidden || name !== longestName], lastNode, `pushUndefined`);
for (let t = 0; t < option.arity; ++t) {
const nextNode = injectNode(machine, makeNode());
registerStatic(machine, lastNode, END_OF_INPUT, NODE_ERRORED, `setOptionArityError`);
registerDynamic(machine, lastNode, `isOptionLike`, NODE_ERRORED, `setOptionArityError`);
const action = option.arity === 1 ? `setStringValue` : `pushStringValue`;
registerDynamic(machine, lastNode, `isNotOptionLike`, nextNode, action);
lastNode = nextNode;
}
registerShortcut(machine, lastNode, node);
}
}
}
};
var CliBuilder = class _CliBuilder {
constructor({ binaryName = `...` } = {}) {
this.builders = [];
this.opts = { binaryName };
}
static build(cbs, opts = {}) {
return new _CliBuilder(opts).commands(cbs).compile();
}
getBuilderByIndex(n) {
if (!(n >= 0 && n < this.builders.length))
throw new Error(`Assertion failed: Out-of-bound command index (${n})`);
return this.builders[n];
}
commands(cbs) {
for (const cb of cbs)
cb(this.command());
return this;
}
command() {
const builder = new CommandBuilder(this.builders.length, this.opts);
this.builders.push(builder);
return builder;
}
compile() {
const machines = [];
const contexts = [];
for (const builder of this.builders) {
const { machine: machine2, context } = builder.compile();
machines.push(machine2);
contexts.push(context);
}
const machine = makeAnyOfMachine(machines);
simplifyMachine(machine);
return {
machine,
contexts,
process: (input) => {
return runMachine(machine, input);
},
suggest: (input, partial) => {
return suggestMachine(machine, input, partial);
}
};
}
};
// ../../../usr/share/nodejs/clipanion/lib/format.mjs
var MAX_LINE_LENGTH = 80;
var richLine = Array(MAX_LINE_LENGTH).fill(`\u2501`);
for (let t = 0; t <= 24; ++t)
richLine[richLine.length - t] = `\x1B[38;5;${232 + t}m\u2501`;
var richFormat = {
header: (str) => `\x1B[1m\u2501\u2501\u2501 ${str}${str.length < MAX_LINE_LENGTH - 5 ? ` ${richLine.slice(str.length + 5).join(``)}` : `:`}\x1B[0m`,
bold: (str) => `\x1B[1m${str}\x1B[22m`,
error: (str) => `\x1B[31m\x1B[1m${str}\x1B[22m\x1B[39m`,
code: (str) => `\x1B[36m${str}\x1B[39m`
};
var textFormat = {
header: (str) => str,
bold: (str) => str,
error: (str) => str,
code: (str) => str
};
function dedent(text) {
const lines = text.split(`
`);
const nonEmptyLines = lines.filter((line) => line.match(/\S/));
const indent = nonEmptyLines.length > 0 ? nonEmptyLines.reduce((minLength, line) => Math.min(minLength, line.length - line.trimStart().length), Number.MAX_VALUE) : 0;
return lines.map((line) => line.slice(indent).trimRight()).join(`
`);
}
function formatMarkdownish(text, { format, paragraphs }) {
text = text.replace(/\r\n?/g, `
`);
text = dedent(text);
text = text.replace(/^\n+|\n+$/g, ``);
text = text.replace(/^(\s*)-([^\n]*?)\n+/gm, `$1-$2
`);
text = text.replace(/\n(\n)?\n*/g, ($0, $1) => $1 ? $1 : ` `);
if (paragraphs) {
text = text.split(/\n/).map((paragraph) => {
const bulletMatch = paragraph.match(/^\s*[*-][\t ]+(.*)/);
if (!bulletMatch)
return paragraph.match(/(.{1,80})(?: |$)/g).join(`
`);
const indent = paragraph.length - paragraph.trimStart().length;
return bulletMatch[1].match(new RegExp(`(.{1,${78 - indent}})(?: |$)`, `g`)).map((line, index) => {
return ` `.repeat(indent) + (index === 0 ? `- ` : ` `) + line;
}).join(`
`);
}).join(`
`);
}
text = text.replace(/(`+)((?:.|[\n])*?)\1/g, ($0, $1, $2) => {
return format.code($1 + $2 + $1);
});
text = text.replace(/(\*\*)((?:.|[\n])*?)\1/g, ($0, $1, $2) => {
return format.bold($1 + $2 + $1);
});
return text ? `${text}
` : ``;
}
// ../../../usr/share/nodejs/clipanion/lib/platform/node.mjs
var import_tty = __toESM(require("tty"), 1);
function getDefaultColorDepth() {
if (import_tty.default && `getColorDepth` in import_tty.default.WriteStream.prototype)
return import_tty.default.WriteStream.prototype.getColorDepth();
if (process.env.FORCE_COLOR === `0`)
return 1;
if (process.env.FORCE_COLOR === `1`)
return 8;
if (typeof process.stdout !== `undefined` && process.stdout.isTTY)
return 8;
return 1;
}
var gContextStorage;
function getCaptureActivator(context) {
let contextStorage = gContextStorage;
if (typeof contextStorage === `undefined`) {
if (context.stdout === process.stdout && context.stderr === process.stderr)
return null;
const { AsyncLocalStorage: LazyAsyncLocalStorage } = require("async_hooks");
contextStorage = gContextStorage = new LazyAsyncLocalStorage();
const origStdoutWrite = process.stdout._write;
process.stdout._write = function(chunk, encoding, cb) {
const context2 = contextStorage.getStore();
if (typeof context2 === `undefined`)
return origStdoutWrite.call(this, chunk, encoding, cb);
return context2.stdout.write(chunk, encoding, cb);
};
const origStderrWrite = process.stderr._write;
process.stderr._write = function(chunk, encoding, cb) {
const context2 = contextStorage.getStore();
if (typeof context2 === `undefined`)
return origStderrWrite.call(this, chunk, encoding, cb);
return context2.stderr.write(chunk, encoding, cb);
};
}
return (fn2) => {
return contextStorage.run(context, fn2);
};
}
// ../../../usr/share/nodejs/clipanion/lib/advanced/HelpCommand.mjs
var HelpCommand = class _HelpCommand extends Command {
constructor(contexts) {
super();
this.contexts = contexts;
this.commands = [];
}
static from(state, contexts) {
const command = new _HelpCommand(contexts);
command.path = state.path;
for (const opt of state.options) {
switch (opt.name) {
case `-c`:
{
command.commands.push(Number(opt.value));
}
break;
case `-i`:
{
command.index = Number(opt.value);
}
break;
}
}
return command;
}
async execute() {
let commands = this.commands;
if (typeof this.index !== `undefined` && this.index >= 0 && this.index < commands.length)
commands = [commands[this.index]];
if (commands.length === 0) {
this.context.stdout.write(this.cli.usage());
} else if (commands.length === 1) {
this.context.stdout.write(this.cli.usage(this.contexts[commands[0]].commandClass, { detailed: true }));
} else if (commands.length > 1) {
this.context.stdout.write(`Multiple commands match your selection:
`);
this.context.stdout.write(`
`);
let index = 0;
for (const command of this.commands)
this.context.stdout.write(this.cli.usage(this.contexts[command].commandClass, { prefix: `${index++}. `.padStart(5) }));
this.context.stdout.write(`
`);
this.context.stdout.write(`Run again with -h= to see the longer details of any of those commands.
`);
}
}
};
// ../../../usr/share/nodejs/clipanion/lib/advanced/Cli.mjs
var errorCommandSymbol = Symbol(`clipanion/errorCommand`);
var Cli = class _Cli {
constructor({ binaryLabel, binaryName: binaryNameOpt = `...`, binaryVersion, enableCapture = false, enableColors } = {}) {
this.registrations = /* @__PURE__ */ new Map();
this.builder = new CliBuilder({ binaryName: binaryNameOpt });
this.binaryLabel = binaryLabel;
this.binaryName = binaryNameOpt;
this.binaryVersion = binaryVersion;
this.enableCapture = enableCapture;
this.enableColors = enableColors;
}
/**
* Creates a new Cli and registers all commands passed as parameters.
*
* @param commandClasses The Commands to register
* @returns The created `Cli` instance
*/
static from(commandClasses, options = {}) {
const cli = new _Cli(options);
const resolvedCommandClasses = Array.isArray(commandClasses) ? commandClasses : [commandClasses];
for (const commandClass of resolvedCommandClasses)
cli.register(commandClass);
return cli;
}
/**
* Registers a command inside the CLI.
*/
register(commandClass) {
var _a;
const specs = /* @__PURE__ */ new Map();
const command = new commandClass();
for (const key in command) {
const value = command[key];
if (typeof value === `object` && value !== null && value[Command.isOption]) {
specs.set(key, value);
}
}
const builder = this.builder.command();
const index = builder.cliIndex;
const paths = (_a = commandClass.paths) !== null && _a !== void 0 ? _a : command.paths;
if (typeof paths !== `undefined`)
for (const path10 of paths)
builder.addPath(path10);
this.registrations.set(commandClass, { specs, builder, index });
for (const [key, { definition }] of specs.entries())
definition(builder, key);
builder.setContext({
commandClass
});
}
process(input, userContext) {
const { contexts, process: process4 } = this.builder.compile();
const state = process4(input);
const context = {
..._Cli.defaultContext,
...userContext
};
switch (state.selectedIndex) {
case HELP_COMMAND_INDEX: {
const command = HelpCommand.from(state, contexts);
command.context = context;
return command;
}
default:
{
const { commandClass } = contexts[state.selectedIndex];
const record = this.registrations.get(commandClass);
if (typeof record === `undefined`)
throw new Error(`Assertion failed: Expected the command class to have been registered.`);
const command = new commandClass();
command.context = context;
command.path = state.path;
try {
for (const [key, { transformer }] of record.specs.entries())
command[key] = transformer(record.builder, key, state, context);
return command;
} catch (error) {
error[errorCommandSymbol] = command;
throw error;
}
}
break;
}
}
async run(input, userContext) {
var _a, _b;
let command;
const context = {
..._Cli.defaultContext,
...userContext
};
const colored = (_a = this.enableColors) !== null && _a !== void 0 ? _a : context.colorDepth > 1;
if (!Array.isArray(input)) {
command = input;
} else {
try {
command = this.process(input, context);
} catch (error) {
context.stdout.write(this.error(error, { colored }));
return 1;
}
}
if (command.help) {
context.stdout.write(this.usage(command, { colored, detailed: true }));
return 0;
}
command.context = context;
command.cli = {
binaryLabel: this.binaryLabel,
binaryName: this.binaryName,
binaryVersion: this.binaryVersion,
enableCapture: this.enableCapture,
enableColors: this.enableColors,
definitions: () => this.definitions(),
error: (error, opts) => this.error(error, opts),
format: (colored2) => this.format(colored2),
process: (input2, subContext) => this.process(input2, { ...context, ...subContext }),
run: (input2, subContext) => this.run(input2, { ...context, ...subContext }),
usage: (command2, opts) => this.usage(command2, opts)
};
const activate = this.enableCapture ? (_b = getCaptureActivator(context)) !== null && _b !== void 0 ? _b : noopCaptureActivator : noopCaptureActivator;
let exitCode;
try {
exitCode = await activate(() => command.validateAndExecute().catch((error) => command.catch(error).then(() => 0)));
} catch (error) {
context.stdout.write(this.error(error, { colored, command }));
return 1;
}
return exitCode;
}
async runExit(input, context) {
process.exitCode = await this.run(input, context);
}
suggest(input, partial) {
const { suggest: suggest2 } = this.builder.compile();
return suggest2(input, partial);
}
definitions({ colored = false } = {}) {
const data = [];
for (const [commandClass, { index }] of this.registrations) {
if (typeof commandClass.usage === `undefined`)
continue;
const { usage: path10 } = this.getUsageByIndex(index, { detailed: false });
const { usage, options } = this.getUsageByIndex(index, { detailed: true, inlineOptions: false });
const category = typeof commandClass.usage.category !== `undefined` ? formatMarkdownish(commandClass.usage.category, { format: this.format(colored), paragraphs: false }) : void 0;
const description = typeof commandClass.usage.description !== `undefined` ? formatMarkdownish(commandClass.usage.description, { format: this.format(colored), paragraphs: false }) : void 0;
const details = typeof commandClass.usage.details !== `undefined` ? formatMarkdownish(commandClass.usage.details, { format: this.format(colored), paragraphs: true }) : void 0;
const examples = typeof commandClass.usage.examples !== `undefined` ? commandClass.usage.examples.map(([label, cli]) => [formatMarkdownish(label, { format: this.format(colored), paragraphs: false }), cli.replace(/\$0/g, this.binaryName)]) : void 0;
data.push({ path: path10, usage, category, description, details, examples, options });
}
return data;
}
usage(command = null, { colored, detailed = false, prefix = `$ ` } = {}) {
var _a;
if (command === null) {
for (const commandClass2 of this.registrations.keys()) {
const paths = commandClass2.paths;
const isDocumented = typeof commandClass2.usage !== `undefined`;
const isExclusivelyDefault = !paths || paths.length === 0 || paths.length === 1 && paths[0].length === 0;
const isDefault = isExclusivelyDefault || ((_a = paths === null || paths === void 0 ? void 0 : paths.some((path10) => path10.length === 0)) !== null && _a !== void 0 ? _a : false);
if (isDefault) {
if (command) {
command = null;
break;
} else {
command = commandClass2;
}
} else {
if (isDocumented) {
command = null;
continue;
}
}
}
if (command) {
detailed = true;
}
}
const commandClass = command !== null && command instanceof Command ? command.constructor : command;
let result = ``;
if (!commandClass) {
const commandsByCategories = /* @__PURE__ */ new Map();
for (const [commandClass2, { index }] of this.registrations.entries()) {
if (typeof commandClass2.usage === `undefined`)
continue;
const category = typeof commandClass2.usage.category !== `undefined` ? formatMarkdownish(commandClass2.usage.category, { format: this.format(colored), paragraphs: false }) : null;
let categoryCommands = commandsByCategories.get(category);
if (typeof categoryCommands === `undefined`)
commandsByCategories.set(category, categoryCommands = []);
const { usage } = this.getUsageByIndex(index);
categoryCommands.push({ commandClass: commandClass2, usage });
}
const categoryNames = Array.from(commandsByCategories.keys()).sort((a, b) => {
if (a === null)
return -1;
if (b === null)
return 1;
return a.localeCompare(b, `en`, { usage: `sort`, caseFirst: `upper` });
});
const hasLabel = typeof this.binaryLabel !== `undefined`;
const hasVersion = typeof this.binaryVersion !== `undefined`;
if (hasLabel || hasVersion) {
if (hasLabel && hasVersion)
result += `${this.format(colored).header(`${this.binaryLabel} - ${this.binaryVersion}`)}
`;
else if (hasLabel)
result += `${this.format(colored).header(`${this.binaryLabel}`)}
`;
else
result += `${this.format(colored).header(`${this.binaryVersion}`)}
`;
result += ` ${this.format(colored).bold(prefix)}${this.binaryName}
`;
} else {
result += `${this.format(colored).bold(prefix)}${this.binaryName}
`;
}
for (const categoryName of categoryNames) {
const commands = commandsByCategories.get(categoryName).slice().sort((a, b) => {
return a.usage.localeCompare(b.usage, `en`, { usage: `sort`, caseFirst: `upper` });
});
const header = categoryName !== null ? categoryName.trim() : `General commands`;
result += `
`;
result += `${this.format(colored).header(`${header}`)}
`;
for (const { commandClass: commandClass2, usage } of commands) {
const doc = commandClass2.usage.description || `undocumented`;
result += `
`;
result += ` ${this.format(colored).bold(usage)}
`;
result += ` ${formatMarkdownish(doc, { format: this.format(colored), paragraphs: false })}`;
}
}
result += `
`;
result += formatMarkdownish(`You can also print more details about any of these commands by calling them with the \`-h,--help\` flag right after the command name.`, { format: this.format(colored), paragraphs: true });
} else {
if (!detailed) {
const { usage } = this.getUsageByRegistration(commandClass);
result += `${this.format(colored).bold(prefix)}${usage}
`;
} else {
const { description = ``, details = ``, examples = [] } = commandClass.usage || {};
if (description !== ``) {
result += formatMarkdownish(description, { format: this.format(colored), paragraphs: false }).replace(/^./, ($0) => $0.toUpperCase());
result += `
`;
}
if (details !== `` || examples.length > 0) {
result += `${this.format(colored).header(`Usage`)}
`;
result += `
`;
}
const { usage, options } = this.getUsageByRegistration(commandClass, { inlineOptions: false });
result += `${this.format(colored).bold(prefix)}${usage}
`;
if (options.length > 0) {
result += `
`;
result += `${this.format(colored).header(`Options`)}
`;
const maxDefinitionLength = options.reduce((length, option) => {
return Math.max(length, option.definition.length);
}, 0);
result += `
`;
for (const { definition, description: description2 } of options) {
result += ` ${this.format(colored).bold(definition.padEnd(maxDefinitionLength))} ${formatMarkdownish(description2, { format: this.format(colored), paragraphs: false })}`;
}
}
if (details !== ``) {
result += `
`;
result += `${this.format(colored).header(`Details`)}
`;
result += `
`;
result += formatMarkdownish(details, { format: this.format(colored), paragraphs: true });
}
if (examples.length > 0) {
result += `
`;
result += `${this.format(colored).header(`Examples`)}
`;
for (const [description2, example] of examples) {
result += `
`;
result += formatMarkdownish(description2, { format: this.format(colored), paragraphs: false });
result += `${example.replace(/^/m, ` ${this.format(colored).bold(prefix)}`).replace(/\$0/g, this.binaryName)}
`;
}
}
}
}
return result;
}
error(error, _a) {
var _b;
var { colored, command = (_b = error[errorCommandSymbol]) !== null && _b !== void 0 ? _b : null } = _a === void 0 ? {} : _a;
if (!error || typeof error !== `object` || !(`stack` in error))
error = new Error(`Execution failed with a non-error rejection (rejected value: ${JSON.stringify(error)})`);
let result = ``;
let name = error.name.replace(/([a-z])([A-Z])/g, `$1 $2`);
if (name === `Error`)
name = `Internal Error`;
result += `${this.format(colored).error(name)}: ${error.message}
`;
const meta = error.clipanion;
if (typeof meta !== `undefined`) {
if (meta.type === `usage`) {
result += `
`;
result += this.usage(command);
}
} else {
if (error.stack) {
result += `${error.stack.replace(/^.*\n/, ``)}
`;
}
}
return result;
}
format(colored) {
var _a;
return ((_a = colored !== null && colored !== void 0 ? colored : this.enableColors) !== null && _a !== void 0 ? _a : _Cli.defaultContext.colorDepth > 1) ? richFormat : textFormat;
}
getUsageByRegistration(klass, opts) {
const record = this.registrations.get(klass);
if (typeof record === `undefined`)
throw new Error(`Assertion failed: Unregistered command`);
return this.getUsageByIndex(record.index, opts);
}
getUsageByIndex(n, opts) {
return this.builder.getBuilderByIndex(n).usage(opts);
}
};
Cli.defaultContext = {
env: process.env,
stdin: process.stdin,
stdout: process.stdout,
stderr: process.stderr,
colorDepth: getDefaultColorDepth()
};
function noopCaptureActivator(fn2) {
return fn2();
}
// ../../../usr/share/nodejs/clipanion/lib/advanced/builtins/index.mjs
var builtins_exports = {};
__export(builtins_exports, {
DefinitionsCommand: () => DefinitionsCommand,
HelpCommand: () => HelpCommand2,
VersionCommand: () => VersionCommand
});
// ../../../usr/share/nodejs/clipanion/lib/advanced/builtins/definitions.mjs
var DefinitionsCommand = class extends Command {
async execute() {
this.context.stdout.write(`${JSON.stringify(this.cli.definitions(), null, 2)}
`);
}
};
DefinitionsCommand.paths = [[`--clipanion=definitions`]];
// ../../../usr/share/nodejs/clipanion/lib/advanced/builtins/help.mjs
var HelpCommand2 = class extends Command {
async execute() {
this.context.stdout.write(this.cli.usage());
}
};
HelpCommand2.paths = [[`-h`], [`--help`]];
// ../../../usr/share/nodejs/clipanion/lib/advanced/builtins/version.mjs
var VersionCommand = class extends Command {
async execute() {
var _a;
this.context.stdout.write(`${(_a = this.cli.binaryVersion) !== null && _a !== void 0 ? _a : ``}
`);
}
};
VersionCommand.paths = [[`-v`], [`--version`]];
// ../../../usr/share/nodejs/clipanion/lib/advanced/options/index.mjs
var options_exports = {};
__export(options_exports, {
Array: () => Array2,
Boolean: () => Boolean2,
Counter: () => Counter,
Proxy: () => Proxy2,
Rest: () => Rest,
String: () => String2,
applyValidator: () => applyValidator,
cleanValidationError: () => cleanValidationError,
formatError: () => formatError,
isOptionSymbol: () => isOptionSymbol,
makeCommandOption: () => makeCommandOption,
rerouteArguments: () => rerouteArguments
});
// ../../../usr/share/nodejs/clipanion/lib/advanced/options/Array.mjs
function Array2(descriptor, initialValueBase, optsBase) {
const [initialValue, opts] = rerouteArguments(initialValueBase, optsBase !== null && optsBase !== void 0 ? optsBase : {});
const { arity = 1 } = opts;
const optNames = descriptor.split(`,`);
const nameSet = new Set(optNames);
return makeCommandOption({
definition(builder) {
builder.addOption({
names: optNames,
arity,
hidden: opts === null || opts === void 0 ? void 0 : opts.hidden,
description: opts === null || opts === void 0 ? void 0 : opts.description,
required: opts.required
});
},
transformer(builder, key, state) {
let usedName;
let currentValue = typeof initialValue !== `undefined` ? [...initialValue] : void 0;
for (const { name, value } of state.options) {
if (!nameSet.has(name))
continue;
usedName = name;
currentValue = currentValue !== null && currentValue !== void 0 ? currentValue : [];
currentValue.push(value);
}
if (typeof currentValue !== `undefined`) {
return applyValidator(usedName !== null && usedName !== void 0 ? usedName : key, currentValue, opts.validator);
} else {
return currentValue;
}
}
});
}
// ../../../usr/share/nodejs/clipanion/lib/advanced/options/Boolean.mjs
function Boolean2(descriptor, initialValueBase, optsBase) {
const [initialValue, opts] = rerouteArguments(initialValueBase, optsBase !== null && optsBase !== void 0 ? optsBase : {});
const optNames = descriptor.split(`,`);
const nameSet = new Set(optNames);
return makeCommandOption({
definition(builder) {
builder.addOption({
names: optNames,
allowBinding: false,
arity: 0,
hidden: opts.hidden,
description: opts.description,
required: opts.required
});
},
transformer(builer, key, state) {
let currentValue = initialValue;
for (const { name, value } of state.options) {
if (!nameSet.has(name))
continue;
currentValue = value;
}
return currentValue;
}
});
}
// ../../../usr/share/nodejs/clipanion/lib/advanced/options/Counter.mjs
function Counter(descriptor, initialValueBase, optsBase) {
const [initialValue, opts] = rerouteArguments(initialValueBase, optsBase !== null && optsBase !== void 0 ? optsBase : {});
const optNames = descriptor.split(`,`);
const nameSet = new Set(optNames);
return makeCommandOption({
definition(builder) {
builder.addOption({
names: optNames,
allowBinding: false,
arity: 0,
hidden: opts.hidden,
description: opts.description,
required: opts.required
});
},
transformer(builder, key, state) {
let currentValue = initialValue;
for (const { name, value } of state.options) {
if (!nameSet.has(name))
continue;
currentValue !== null && currentValue !== void 0 ? currentValue : currentValue = 0;
if (!value) {
currentValue = 0;
} else {
currentValue += 1;
}
}
return currentValue;
}
});
}
// ../../../usr/share/nodejs/clipanion/lib/advanced/options/Proxy.mjs
function Proxy2(opts = {}) {
return makeCommandOption({
definition(builder, key) {
var _a;
builder.addProxy({
name: (_a = opts.name) !== null && _a !== void 0 ? _a : key,
required: opts.required
});
},
transformer(builder, key, state) {
return state.positionals.map(({ value }) => value);
}
});
}
// ../../../usr/share/nodejs/clipanion/lib/advanced/options/Rest.mjs
function Rest(opts = {}) {
return makeCommandOption({
definition(builder, key) {
var _a;
builder.addRest({
name: (_a = opts.name) !== null && _a !== void 0 ? _a : key,
required: opts.required
});
},
transformer(builder, key, state) {
const isRestPositional = (index) => {
const positional = state.positionals[index];
if (positional.extra === NoLimits)
return true;
if (positional.extra === false && index < builder.arity.leading.length)
return true;
return false;
};
let count = 0;
while (count < state.positionals.length && isRestPositional(count))
count += 1;
return state.positionals.splice(0, count).map(({ value }) => value);
}
});
}
// ../../../usr/share/nodejs/clipanion/lib/advanced/options/String.mjs
function StringOption(descriptor, initialValueBase, optsBase) {
const [initialValue, opts] = rerouteArguments(initialValueBase, optsBase !== null && optsBase !== void 0 ? optsBase : {});
const { arity = 1 } = opts;
const optNames = descriptor.split(`,`);
const nameSet = new Set(optNames);
return makeCommandOption({
definition(builder) {
builder.addOption({
names: optNames,
arity: opts.tolerateBoolean ? 0 : arity,
hidden: opts.hidden,
description: opts.description,
required: opts.required
});
},
transformer(builder, key, state, context) {
let usedName;
let currentValue = initialValue;
if (typeof opts.env !== `undefined` && context.env[opts.env]) {
usedName = opts.env;
currentValue = context.env[opts.env];
}
for (const { name, value } of state.options) {
if (!nameSet.has(name))
continue;
usedName = name;
currentValue = value;
}
if (typeof currentValue === `string`) {
return applyValidator(usedName !== null && usedName !== void 0 ? usedName : key, currentValue, opts.validator);
} else {
return currentValue;
}
}
});
}
function StringPositional(opts = {}) {
const { required = true } = opts;
return makeCommandOption({
definition(builder, key) {
var _a;
builder.addPositional({
name: (_a = opts.name) !== null && _a !== void 0 ? _a : key,
required: opts.required
});
},
transformer(builder, key, state) {
var _a;
for (let i = 0; i < state.positionals.length; ++i) {
if (state.positionals[i].extra === NoLimits)
continue;
if (required && state.positionals[i].extra === true)
continue;
if (!required && state.positionals[i].extra === false)
continue;
const [positional] = state.positionals.splice(i, 1);
return applyValidator((_a = opts.name) !== null && _a !== void 0 ? _a : key, positional.value, opts.validator);
}
return void 0;
}
});
}
function String2(descriptor, ...args) {
if (typeof descriptor === `string`) {
return StringOption(descriptor, ...args);
} else {
return StringPositional(descriptor);
}
}
// package.json
var version = "0.24.0";
// sources/Engine.ts
var import_fs3 = __toESM(require("fs"));
var import_path3 = __toESM(require("path"));
var import_process2 = __toESM(require("process"));
var import_semver3 = __toESM(require_semver2());
// config.json
var config_default = {
definitions: {
npm: {
default: "10.2.5+sha1.ef86b9aafd9965e60814ed11a3d4fb00a4e3b006",
fetchLatestFrom: {
type: "npm",
package: "npm"
},
transparent: {
commands: [
[
"npm",
"init"
],
[
"npx"
]
]
},
ranges: {
"*": {
url: "https://registry.npmjs.org/npm/-/npm-{}.tgz",
bin: {
npm: "./bin/npm-cli.js",
npx: "./bin/npx-cli.js"
},
registry: {
type: "npm",
package: "npm"
},
commands: {
use: [
"npm",
"install"
]
}
}
}
},
pnpm: {
default: "8.13.1+sha1.90f9b2bb3ed58632bcb7b13c3902d6873ee9501c",
fetchLatestFrom: {
type: "npm",
package: "pnpm"
},
transparent: {
commands: [
[
"pnpm",
"init"
],
[
"pnpx"
],
[
"pnpm",
"dlx"
]
]
},
ranges: {
"<6.0.0": {
url: "https://registry.npmjs.org/pnpm/-/pnpm-{}.tgz",
bin: {
pnpm: "./bin/pnpm.js",
pnpx: "./bin/pnpx.js"
},
registry: {
type: "npm",
package: "pnpm"
},
commands: {
use: [
"pnpm",
"install"
]
}
},
">=6.0.0": {
url: "https://registry.npmjs.org/pnpm/-/pnpm-{}.tgz",
bin: {
pnpm: "./bin/pnpm.cjs",
pnpx: "./bin/pnpx.cjs"
},
registry: {
type: "npm",
package: "pnpm"
},
commands: {
use: [
"pnpm",
"install"
]
}
}
}
},
yarn: {
default: "1.22.21+sha1.1959a18351b811cdeedbd484a8f86c3cc3bbaf72",
fetchLatestFrom: {
type: "npm",
package: "yarn"
},
transparent: {
default: "4.0.2+sha224.4b7a50dfc3384e203b885efe2c3ff5e04e3a9c682c0a2f0df25c5e34",
commands: [
[
"yarn",
"dlx"
]
]
},
ranges: {
"<2.0.0": {
url: "https://registry.yarnpkg.com/yarn/-/yarn-{}.tgz",
bin: {
yarn: "./bin/yarn.js",
yarnpkg: "./bin/yarn.js"
},
registry: {
type: "npm",
package: "yarn"
},
commands: {
use: [
"yarn",
"install"
]
}
},
">=2.0.0": {
name: "yarn",
url: "https://repo.yarnpkg.com/{}/packages/yarnpkg-cli/bin/yarn.js",
bin: [
"yarn",
"yarnpkg"
],
registry: {
type: "url",
url: "https://repo.yarnpkg.com/tags",
fields: {
tags: "aliases",
versions: "tags"
}
},
npmRegistry: {
type: "npm",
package: "@yarnpkg/cli-dist"
},
commands: {
use: [
"yarn",
"install"
]
}
}
}
}
}
};
// sources/corepackUtils.ts
var import_crypto = require("crypto");
var import_events = require("events");
var import_fs2 = __toESM(require("fs"));
var import_module = __toESM(require("module"));
var import_path2 = __toESM(require("path"));
var import_semver = __toESM(require_semver2());
// sources/debugUtils.ts
var import_debug = __toESM(require_src());
var log = (0, import_debug.default)(`corepack`);
// sources/folderUtils.ts
var import_fs = require("fs");
var import_os = require("os");
var import_path = require("path");
var import_process = __toESM(require("process"));
function getInstallFolder() {
if (import_process.default.env.COREPACK_HOME == null) {
const oldCorepackDefaultHome = (0, import_path.join)((0, import_os.homedir)(), `.node`, `corepack`);
const newCorepackDefaultHome = (0, import_path.join)(
import_process.default.env.XDG_CACHE_HOME ?? import_process.default.env.LOCALAPPDATA ?? (0, import_path.join)(
(0, import_os.homedir)(),
import_process.default.platform === `win32` ? `AppData/Local` : `.cache`
),
`node/corepack`
);
if ((0, import_fs.existsSync)(oldCorepackDefaultHome) && !(0, import_fs.existsSync)(newCorepackDefaultHome)) {
(0, import_fs.mkdirSync)(newCorepackDefaultHome, { recursive: true });
(0, import_fs.renameSync)(oldCorepackDefaultHome, newCorepackDefaultHome);
}
return newCorepackDefaultHome;
}
return import_process.default.env.COREPACK_HOME ?? (0, import_path.join)(
import_process.default.env.XDG_CACHE_HOME ?? import_process.default.env.LOCALAPPDATA ?? (0, import_path.join)((0, import_os.homedir)(), import_process.default.platform === `win32` ? `AppData/Local` : `.cache`),
`node/corepack`
);
}
function getTemporaryFolder(target = (0, import_os.tmpdir)()) {
(0, import_fs.mkdirSync)(target, { recursive: true });
while (true) {
const rnd = Math.random() * 4294967296;
const hex = rnd.toString(16).padStart(8, `0`);
const path10 = (0, import_path.join)(target, `corepack-${import_process.default.pid}-${hex}`);
try {
(0, import_fs.mkdirSync)(path10);
return path10;
} catch (error) {
if (error.code === `EEXIST`) {
continue;
} else if (error.code === `EACCES`) {
throw new UsageError(`Failed to create cache directory. Please ensure the user has write access to the target directory (${target}). If the user's home directory does not exist, create it first.`);
} else {
throw error;
}
}
}
}
// sources/fsUtils.ts
var import_promises = require("fs/promises");
async function rimraf(path10) {
return (0, import_promises.rm)(path10, { recursive: true, force: true });
}
// sources/httpUtils.ts
async function fetchUrlStream(url, options = {}) {
if (process.env.COREPACK_ENABLE_NETWORK === `0`)
throw new UsageError(`Network access disabled by the environment; can't reach ${url}`);
const { default: https } = await import("https");
const { ProxyAgent } = await Promise.resolve().then(() => __toESM(require_dist11()));
const proxyAgent = new ProxyAgent();
return new Promise((resolve, reject) => {
const createRequest = (url2) => {
const request = https.get(url2, { ...options, agent: proxyAgent }, (response) => {
const statusCode = response.statusCode;
if ([301, 302, 307, 308].includes(statusCode) && response.headers.location)
return createRequest(response.headers.location);
if (statusCode != null && statusCode >= 200 && statusCode < 300)
return resolve(response);
return reject(new Error(`Server answered with HTTP ${statusCode} when performing the request to ${url2}; for troubleshooting help, see https://github.com/nodejs/corepack#troubleshooting`));
});
request.on(`error`, (err) => {
reject(new Error(`Error when performing the request to ${url2}; for troubleshooting help, see https://github.com/nodejs/corepack#troubleshooting`));
});
};
createRequest(url);
});
}
async function fetchAsBuffer(url, options) {
const response = await fetchUrlStream(url, options);
return new Promise((resolve, reject) => {
const chunks = [];
response.on(`data`, (chunk) => {
chunks.push(chunk);
});
response.on(`error`, (error) => {
reject(error);
});
response.on(`end`, () => {
resolve(Buffer.concat(chunks));
});
});
}
async function fetchAsJson(url, options) {
const buffer = await fetchAsBuffer(url, options);
const asText = buffer.toString();
try {
return JSON.parse(asText);
} catch (error) {
const truncated = asText.length > 30 ? `${asText.slice(0, 30)}...` : asText;
throw new Error(`Couldn't parse JSON data: ${JSON.stringify(truncated)}`);
}
}
// sources/npmRegistryUtils.ts
var DEFAULT_HEADERS = {
[`Accept`]: `application/vnd.npm.install-v1+json; q=1.0, application/json; q=0.8`
};
var DEFAULT_NPM_REGISTRY_URL = `https://registry.npmjs.org`;
async function fetchAsJson2(packageName) {
const npmRegistryUrl = process.env.COREPACK_NPM_REGISTRY || DEFAULT_NPM_REGISTRY_URL;
if (process.env.COREPACK_ENABLE_NETWORK === `0`)
throw new UsageError(`Network access disabled by the environment; can't reach npm repository ${npmRegistryUrl}`);
const headers = { ...DEFAULT_HEADERS };
if (`COREPACK_NPM_TOKEN` in process.env) {
headers.authorization = `Bearer ${process.env.COREPACK_NPM_TOKEN}`;
} else if (`COREPACK_NPM_USERNAME` in process.env && `COREPACK_NPM_PASSWORD` in process.env) {
const encodedCreds = Buffer.from(`${process.env.COREPACK_NPM_USERNAME}:${process.env.COREPACK_NPM_PASSWORD}`, `utf8`).toString(`base64`);
headers.authorization = `Basic ${encodedCreds}`;
}
return fetchAsJson(`${npmRegistryUrl}/${packageName}`, { headers });
}
async function fetchLatestStableVersion(packageName) {
const metadata = await fetchAsJson2(packageName);
const { latest } = metadata[`dist-tags`];
if (latest === void 0)
throw new Error(`${packageName} does not have a "latest" tag.`);
const { shasum } = metadata.versions[latest].dist;
return `${latest}+sha1.${shasum}`;
}
async function fetchAvailableTags(packageName) {
const metadata = await fetchAsJson2(packageName);
return metadata[`dist-tags`];
}
async function fetchAvailableVersions(packageName) {
const metadata = await fetchAsJson2(packageName);
return Object.keys(metadata.versions);
}
// sources/corepackUtils.ts
function getRegistryFromPackageManagerSpec(spec) {
return process.env.COREPACK_NPM_REGISTRY ? spec.npmRegistry ?? spec.registry : spec.registry;
}
async function fetchLatestStableVersion2(spec) {
switch (spec.type) {
case `npm`: {
return await fetchLatestStableVersion(spec.package);
}
case `url`: {
const data = await fetchAsJson(spec.url);
return data[spec.fields.tags].stable;
}
default: {
throw new Error(`Unsupported specification ${JSON.stringify(spec)}`);
}
}
}
async function fetchAvailableTags2(spec) {
switch (spec.type) {
case `npm`: {
return await fetchAvailableTags(spec.package);
}
case `url`: {
const data = await fetchAsJson(spec.url);
return data[spec.fields.tags];
}
default: {
throw new Error(`Unsupported specification ${JSON.stringify(spec)}`);
}
}
}
async function fetchAvailableVersions2(spec) {
switch (spec.type) {
case `npm`: {
return await fetchAvailableVersions(spec.package);
}
case `url`: {
const data = await fetchAsJson(spec.url);
const field = data[spec.fields.versions];
return Array.isArray(field) ? field : Object.keys(field);
}
default: {
throw new Error(`Unsupported specification ${JSON.stringify(spec)}`);
}
}
}
async function findInstalledVersion(installTarget, descriptor) {
const installFolder = import_path2.default.join(installTarget, descriptor.name);
let cacheDirectory;
try {
cacheDirectory = await import_fs2.default.promises.opendir(installFolder);
} catch (error) {
if (error.code === `ENOENT`) {
return null;
} else {
throw error;
}
}
const range = new import_semver.default.Range(descriptor.range);
let bestMatch = null;
let maxSV = void 0;
for await (const { name } of cacheDirectory) {
if (name.startsWith(`.`))
continue;
if (range.test(name) && maxSV?.compare(name) !== 1) {
bestMatch = name;
maxSV = new import_semver.default.SemVer(bestMatch);
}
}
return bestMatch;
}
async function installVersion(installTarget, locator, { spec }) {
const { default: tar } = await Promise.resolve().then(() => __toESM(require_tar()));
const { version: version2, build } = import_semver.default.parse(locator.reference);
const installFolder = import_path2.default.join(installTarget, locator.name, version2);
const corepackFile = import_path2.default.join(installFolder, `.corepack`);
if (import_fs2.default.existsSync(corepackFile)) {
const corepackContent = await import_fs2.default.promises.readFile(corepackFile, `utf8`);
const corepackData = JSON.parse(corepackContent);
log(`Reusing ${locator.name}@${locator.reference}`);
return {
hash: corepackData.hash,
location: installFolder
};
}
const defaultNpmRegistryURL = spec.url.replace(`{}`, version2);
const url = process.env.COREPACK_NPM_REGISTRY ? defaultNpmRegistryURL.replace(
DEFAULT_NPM_REGISTRY_URL,
() => process.env.COREPACK_NPM_REGISTRY
) : defaultNpmRegistryURL;
const tmpFolder = getTemporaryFolder(installTarget);
log(`Installing ${locator.name}@${version2} from ${url} to ${tmpFolder}`);
const stream = await fetchUrlStream(url);
const parsedUrl = new URL(url);
const ext = import_path2.default.posix.extname(parsedUrl.pathname);
let outputFile = null;
let sendTo;
if (ext === `.tgz`) {
sendTo = tar.x({ strip: 1, cwd: tmpFolder });
} else if (ext === `.js`) {
outputFile = import_path2.default.join(tmpFolder, import_path2.default.posix.basename(parsedUrl.pathname));
sendTo = import_fs2.default.createWriteStream(outputFile);
}
stream.pipe(sendTo);
const algo = build[0] ?? `sha256`;
const hash = stream.pipe((0, import_crypto.createHash)(algo));
await (0, import_events.once)(sendTo, `finish`);
const actualHash = hash.digest(`hex`);
if (build[1] && actualHash !== build[1])
throw new Error(`Mismatch hashes. Expected ${build[1]}, got ${actualHash}`);
const serializedHash = `${algo}.${actualHash}`;
await import_fs2.default.promises.writeFile(import_path2.default.join(tmpFolder, `.corepack`), JSON.stringify({
locator,
hash: serializedHash
}));
await import_fs2.default.promises.rm(installFolder, {
recursive: true,
force: true
});
await import_fs2.default.promises.mkdir(import_path2.default.dirname(installFolder), { recursive: true });
try {
await import_fs2.default.promises.rename(tmpFolder, installFolder);
} catch (err) {
if (err.code === `ENOTEMPTY` || // On Windows the error code is EPERM so we check if it is a directory
err.code === `EPERM` && (await import_fs2.default.promises.stat(installFolder)).isDirectory()) {
log(`Another instance of corepack installed ${locator.name}@${locator.reference}`);
await rimraf(tmpFolder);
} else {
throw err;
}
}
log(`Install finished`);
return {
location: installFolder,
hash: serializedHash
};
}
async function runVersion(locator, installSpec, binName, args) {
let binPath = null;
if (Array.isArray(installSpec.spec.bin)) {
if (installSpec.spec.bin.some((bin) => bin === binName)) {
const parsedUrl = new URL(installSpec.spec.url);
const ext = import_path2.default.posix.extname(parsedUrl.pathname);
if (ext === `.js`) {
binPath = import_path2.default.join(installSpec.location, import_path2.default.posix.basename(parsedUrl.pathname));
}
}
} else {
for (const [name, dest] of Object.entries(installSpec.spec.bin)) {
if (name === binName) {
binPath = import_path2.default.join(installSpec.location, dest);
break;
}
}
}
if (!binPath)
throw new Error(`Assertion failed: Unable to locate path for bin '${binName}'`);
if (locator.name !== `npm` || import_semver.default.lt(locator.reference, `9.7.0`))
await Promise.resolve().then(() => __toESM(require_v8_compile_cache()));
process.env.COREPACK_ROOT = import_path2.default.dirname(require.resolve("corepack/package.json"));
process.argv = [
process.execPath,
binPath,
...args
];
process.execArgv = [];
process.mainModule = void 0;
process.nextTick(import_module.default.runMain, binPath);
}
// sources/semverUtils.ts
var import_semver2 = __toESM(require_semver2());
function satisfiesWithPrereleases(version2, range, loose = false) {
let semverRange;
try {
semverRange = new import_semver2.default.Range(range, loose);
} catch (err) {
return false;
}
if (!version2)
return false;
let semverVersion;
try {
semverVersion = new import_semver2.default.SemVer(version2, semverRange.loose);
if (semverVersion.prerelease) {
semverVersion.prerelease = [];
}
} catch (err) {
return false;
}
return semverRange.set.some((comparatorSet) => {
for (const comparator of comparatorSet)
if (comparator.semver.prerelease)
comparator.semver.prerelease = [];
return comparatorSet.every((comparator) => {
return comparator.test(semverVersion);
});
});
}
// sources/types.ts
var SupportedPackageManagers = /* @__PURE__ */ ((SupportedPackageManagers3) => {
SupportedPackageManagers3["Npm"] = `npm`;
SupportedPackageManagers3["Pnpm"] = `pnpm`;
SupportedPackageManagers3["Yarn"] = `yarn`;
return SupportedPackageManagers3;
})(SupportedPackageManagers || {});
var SupportedPackageManagerSet = new Set(
Object.values(SupportedPackageManagers)
);
var SupportedPackageManagerSetWithoutNpm = new Set(
Object.values(SupportedPackageManagers)
);
SupportedPackageManagerSetWithoutNpm.delete("npm" /* Npm */);
function isSupportedPackageManager(value) {
return SupportedPackageManagerSet.has(value);
}
// sources/Engine.ts
var Engine = class {
constructor(config = config_default) {
this.config = config;
}
getPackageManagerFor(binaryName) {
for (const packageManager of SupportedPackageManagerSet) {
for (const rangeDefinition of Object.values(this.config.definitions[packageManager].ranges)) {
const bins = Array.isArray(rangeDefinition.bin) ? rangeDefinition.bin : Object.keys(rangeDefinition.bin);
if (bins.includes(binaryName)) {
return packageManager;
}
}
}
return null;
}
getPackageManagerSpecFor(locator) {
const definition = this.config.definitions[locator.name];
if (typeof definition === `undefined`)
throw new UsageError(`This package manager (${locator.name}) isn't supported by this corepack build`);
const ranges = Object.keys(definition.ranges).reverse();
const range = ranges.find((range2) => satisfiesWithPrereleases(locator.reference, range2));
if (typeof range === `undefined`)
throw new Error(`Assertion failed: Specified resolution (${locator.reference}) isn't supported by any of ${ranges.join(`, `)}`);
return definition.ranges[range];
}
getBinariesFor(name) {
const binNames = /* @__PURE__ */ new Set();
for (const rangeDefinition of Object.values(this.config.definitions[name].ranges)) {
const bins = Array.isArray(rangeDefinition.bin) ? rangeDefinition.bin : Object.keys(rangeDefinition.bin);
for (const name2 of bins) {
binNames.add(name2);
}
}
return binNames;
}
async getDefaultDescriptors() {
const locators = [];
for (const name of SupportedPackageManagerSet)
locators.push({ name, range: await this.getDefaultVersion(name) });
return locators;
}
async getDefaultVersion(packageManager) {
const definition = this.config.definitions[packageManager];
if (typeof definition === `undefined`)
throw new UsageError(`This package manager (${packageManager}) isn't supported by this corepack build`);
let lastKnownGood;
try {
lastKnownGood = JSON.parse(await import_fs3.default.promises.readFile(this.getLastKnownGoodFile(), `utf8`));
} catch {
}
if (typeof lastKnownGood === `object` && lastKnownGood !== null && Object.hasOwn(lastKnownGood, packageManager)) {
const override = lastKnownGood[packageManager];
if (typeof override === `string`) {
return override;
}
}
if (import_process2.default.env.COREPACK_DEFAULT_TO_LATEST === `0`)
return definition.default;
const reference = await fetchLatestStableVersion2(definition.fetchLatestFrom);
await this.activatePackageManager({
name: packageManager,
reference
});
return reference;
}
async activatePackageManager(locator) {
const lastKnownGoodFile = this.getLastKnownGoodFile();
let lastKnownGood;
try {
lastKnownGood = JSON.parse(await import_fs3.default.promises.readFile(lastKnownGoodFile, `utf8`));
} catch {
}
if (typeof lastKnownGood !== `object` || lastKnownGood === null)
lastKnownGood = {};
lastKnownGood[locator.name] = locator.reference;
await import_fs3.default.promises.mkdir(import_path3.default.dirname(lastKnownGoodFile), { recursive: true });
await import_fs3.default.promises.writeFile(lastKnownGoodFile, `${JSON.stringify(lastKnownGood, null, 2)}
`);
}
async ensurePackageManager(locator) {
const spec = this.getPackageManagerSpecFor(locator);
const packageManagerInfo = await installVersion(getInstallFolder(), locator, {
spec
});
return {
...packageManagerInfo,
locator,
spec
};
}
async fetchAvailableVersions() {
}
async resolveDescriptor(descriptor, { allowTags = false, useCache = true } = {}) {
const definition = this.config.definitions[descriptor.name];
if (typeof definition === `undefined`)
throw new UsageError(`This package manager (${descriptor.name}) isn't supported by this corepack build`);
let finalDescriptor = descriptor;
if (!import_semver3.default.valid(descriptor.range) && !import_semver3.default.validRange(descriptor.range)) {
if (!allowTags)
throw new UsageError(`Packages managers can't be referenced via tags in this context`);
const ranges = Object.keys(definition.ranges);
const tagRange = ranges[ranges.length - 1];
const packageManagerSpec = definition.ranges[tagRange];
const registry = getRegistryFromPackageManagerSpec(packageManagerSpec);
const tags = await fetchAvailableTags2(registry);
if (!Object.hasOwn(tags, descriptor.range))
throw new UsageError(`Tag not found (${descriptor.range})`);
finalDescriptor = {
name: descriptor.name,
range: tags[descriptor.range]
};
}
const cachedVersion = await findInstalledVersion(getInstallFolder(), finalDescriptor);
if (cachedVersion !== null && useCache)
return { name: finalDescriptor.name, reference: cachedVersion };
if (import_semver3.default.valid(finalDescriptor.range))
return { name: finalDescriptor.name, reference: finalDescriptor.range };
const versions = await Promise.all(Object.keys(definition.ranges).map(async (range) => {
const packageManagerSpec = definition.ranges[range];
const registry = getRegistryFromPackageManagerSpec(packageManagerSpec);
const versions2 = await fetchAvailableVersions2(registry);
return versions2.filter((version2) => satisfiesWithPrereleases(version2, finalDescriptor.range));
}));
const highestVersion = [...new Set(versions.flat())].sort(import_semver3.default.rcompare);
if (highestVersion.length === 0)
return null;
return { name: finalDescriptor.name, reference: highestVersion[0] };
}
getLastKnownGoodFile() {
return import_path3.default.join(getInstallFolder(), `lastKnownGood.json`);
}
};
// sources/commands/Disable.ts
var import_fs4 = __toESM(require("fs"));
var import_path4 = __toESM(require("path"));
var import_which = __toESM(require_which());
var DisableCommand = class extends Command {
static paths = [
[`disable`]
];
static usage = Command.Usage({
description: `Remove the Corepack shims from the install directory`,
details: `
When run, this command will remove the shims for the specified package managers from the install directory, or all shims if no parameters are passed.
By default it will locate the install directory by running the equivalent of \`which corepack\`, but this can be tweaked by explicitly passing the install directory via the \`--install-directory\` flag.
`,
examples: [[
`Disable all shims, removing them if they're next to the \`coreshim\` binary`,
`$0 disable`
], [
`Disable all shims, removing them from the specified directory`,
`$0 disable --install-directory /path/to/bin`
], [
`Disable the Yarn shim only`,
`$0 disable yarn`
]]
});
installDirectory = options_exports.String(`--install-directory`, {
description: `Where the shims are located`
});
names = options_exports.Rest();
async execute() {
let installDirectory = this.installDirectory;
if (typeof installDirectory === `undefined`)
installDirectory = import_path4.default.dirname(await (0, import_which.default)(`corepack`));
const names = this.names.length === 0 ? SupportedPackageManagerSetWithoutNpm : this.names;
for (const name of new Set(names)) {
if (!isSupportedPackageManager(name))
throw new UsageError(`Invalid package manager name '${name}'`);
for (const binName of this.context.engine.getBinariesFor(name)) {
if (process.platform === `win32`) {
await this.removeWin32Link(installDirectory, binName);
} else {
await this.removePosixLink(installDirectory, binName);
}
}
}
}
async removePosixLink(installDirectory, binName) {
const file = import_path4.default.join(installDirectory, binName);
try {
await import_fs4.default.promises.unlink(file);
} catch (err) {
if (err.code !== `ENOENT`) {
throw err;
}
}
}
async removeWin32Link(installDirectory, binName) {
for (const ext of [``, `.ps1`, `.cmd`]) {
const file = import_path4.default.join(installDirectory, `${binName}${ext}`);
try {
await import_fs4.default.promises.unlink(file);
} catch (err) {
if (err.code !== `ENOENT`) {
throw err;
}
}
}
}
};
// sources/commands/Enable.ts
var import_cmd_shim = __toESM(require_cmd_shim());
var import_fs5 = __toESM(require("fs"));
var import_path5 = __toESM(require("path"));
var import_which2 = __toESM(require_which());
var EnableCommand = class extends Command {
static paths = [
[`enable`]
];
static usage = Command.Usage({
description: `Add the Corepack shims to the install directories`,
details: `
When run, this commmand will check whether the shims for the specified package managers can be found with the correct values inside the install directory. If not, or if they don't exist, they will be created.
By default it will locate the install directory by running the equivalent of \`which corepack\`, but this can be tweaked by explicitly passing the install directory via the \`--install-directory\` flag.
`,
examples: [[
`Enable all shims, putting them next to the \`corepack\` binary`,
`$0 enable`
], [
`Enable all shims, putting them in the specified directory`,
`$0 enable --install-directory /path/to/folder`
], [
`Enable the Yarn shim only`,
`$0 enable yarn`
]]
});
installDirectory = options_exports.String(`--install-directory`, {
description: `Where the shims are to be installed`
});
names = options_exports.Rest();
async execute() {
let installDirectory = this.installDirectory;
if (typeof installDirectory === `undefined`)
installDirectory = import_path5.default.dirname(await (0, import_which2.default)(`corepack`));
installDirectory = import_fs5.default.realpathSync(installDirectory);
const manifestPath = require.resolve("corepack/package.json");
const distFolder = import_path5.default.join(import_path5.default.dirname(manifestPath), `dist`);
if (!import_fs5.default.existsSync(distFolder))
throw new Error(`Assertion failed: The stub folder doesn't exist`);
const names = this.names.length === 0 ? SupportedPackageManagerSetWithoutNpm : this.names;
for (const name of new Set(names)) {
if (!isSupportedPackageManager(name))
throw new UsageError(`Invalid package manager name '${name}'`);
for (const binName of this.context.engine.getBinariesFor(name)) {
if (process.platform === `win32`) {
await this.generateWin32Link(installDirectory, distFolder, binName);
} else {
await this.generatePosixLink(installDirectory, distFolder, binName);
}
}
}
}
async generatePosixLink(installDirectory, distFolder, binName) {
const file = import_path5.default.join(installDirectory, binName);
const symlink = import_path5.default.relative(installDirectory, import_path5.default.join(distFolder, `${binName}.js`));
if (import_fs5.default.existsSync(file)) {
const currentSymlink = await import_fs5.default.promises.readlink(file);
if (currentSymlink !== symlink) {
await import_fs5.default.promises.unlink(file);
} else {
return;
}
}
await import_fs5.default.promises.symlink(symlink, file);
}
async generateWin32Link(installDirectory, distFolder, binName) {
const file = import_path5.default.join(installDirectory, binName);
await (0, import_cmd_shim.default)(import_path5.default.join(distFolder, `${binName}.js`), file, {
createCmdFile: true
});
}
};
// sources/commands/InstallGlobal.ts
var import_fs8 = __toESM(require("fs"));
var import_path7 = __toESM(require("path"));
// sources/specUtils.ts
var import_fs6 = __toESM(require("fs"));
var import_path6 = __toESM(require("path"));
var import_semver4 = __toESM(require_semver2());
var nodeModulesRegExp = /[\\/]node_modules[\\/](@[^\\/]*[\\/])?([^@\\/][^\\/]*)$/;
function parseSpec(raw, source, { enforceExactVersion = true } = {}) {
if (typeof raw !== `string`)
throw new UsageError(`Invalid package manager specification in ${source}; expected a string`);
const match = raw.match(/^(?!_)([^@]+)(?:@(.+))?$/);
if (match === null || enforceExactVersion && (!match[2] || !import_semver4.default.valid(match[2])))
throw new UsageError(`Invalid package manager specification in ${source} (${raw}); expected a semver version${enforceExactVersion ? `` : `, range, or tag`}`);
if (!isSupportedPackageManager(match[1]))
throw new UsageError(`Unsupported package manager specification (${match})`);
return {
name: match[1],
range: match[2] ?? `*`
};
}
async function findProjectSpec(initialCwd, locator, { transparent = false } = {}) {
const fallbackLocator = { name: locator.name, range: locator.reference };
if (process.env.COREPACK_ENABLE_PROJECT_SPEC === `0`)
return fallbackLocator;
if (process.env.COREPACK_ENABLE_STRICT === `0`)
transparent = true;
while (true) {
const result = await loadSpec(initialCwd);
switch (result.type) {
case `NoProject`:
case `NoSpec`: {
return fallbackLocator;
}
case `Found`: {
if (result.spec.name !== locator.name) {
if (transparent) {
return fallbackLocator;
} else {
throw new UsageError(`This project is configured to use ${result.spec.name}`);
}
} else {
return result.spec;
}
}
}
}
}
async function loadSpec(initialCwd) {
let nextCwd = initialCwd;
let currCwd = ``;
let selection = null;
while (nextCwd !== currCwd && (!selection || !selection.data.packageManager)) {
currCwd = nextCwd;
nextCwd = import_path6.default.dirname(currCwd);
if (nodeModulesRegExp.test(currCwd))
continue;
const manifestPath = import_path6.default.join(currCwd, `package.json`);
if (!import_fs6.default.existsSync(manifestPath))
continue;
const content = await import_fs6.default.promises.readFile(manifestPath, `utf8`);
let data;
try {
data = JSON.parse(content);
} catch {
}
if (typeof data !== `object` || data === null)
throw new UsageError(`Invalid package.json in ${import_path6.default.relative(initialCwd, manifestPath)}`);
selection = { data, manifestPath };
}
if (selection === null)
return { type: `NoProject`, target: import_path6.default.join(initialCwd, `package.json`) };
const rawPmSpec = selection.data.packageManager;
if (typeof rawPmSpec === `undefined`)
return { type: `NoSpec`, target: selection.manifestPath };
return {
type: `Found`,
target: selection.manifestPath,
spec: parseSpec(rawPmSpec, import_path6.default.relative(initialCwd, selection.manifestPath))
};
}
// sources/commands/Base.ts
var import_fs7 = __toESM(require("fs"));
// sources/nodeUtils.ts
var import_os2 = __toESM(require("os"));
function getEndOfLine(content) {
const matches = content.match(/\r?\n/g);
if (matches === null)
return import_os2.default.EOL;
const crlf = matches.filter((nl) => nl === `\r
`).length;
const lf = matches.length - crlf;
return crlf > lf ? `\r
` : `
`;
}
function normalizeLineEndings(originalContent, newContent) {
return newContent.replace(/\r?\n/g, getEndOfLine(originalContent));
}
function getIndent(content) {
const indentMatch = content.match(/^[ \t]+/m);
if (indentMatch) {
return indentMatch[0];
} else {
return ` `;
}
}
function stripBOM(content) {
if (content.charCodeAt(0) === 65279) {
return content.slice(1);
} else {
return content;
}
}
function readPackageJson(content) {
return {
data: JSON.parse(stripBOM(content) || `{}`),
indent: getIndent(content)
};
}
// sources/commands/Base.ts
var BaseCommand = class extends Command {
async resolvePatternsToDescriptors({ all, patterns }) {
if (all && patterns.length > 0)
throw new UsageError(`The --all option cannot be used along with an explicit package manager specification`);
const resolvedSpecs = all ? await this.context.engine.getDefaultDescriptors() : patterns.map((pattern) => parseSpec(pattern, `CLI arguments`, { enforceExactVersion: false }));
if (resolvedSpecs.length === 0) {
const lookup = await loadSpec(this.context.cwd);
switch (lookup.type) {
case `NoProject`:
throw new UsageError(`Couldn't find a project in the local directory - please explicit the package manager to pack, or run this command from a valid project`);
case `NoSpec`:
throw new UsageError(`The local project doesn't feature a 'packageManager' field - please explicit the package manager to pack, or update the manifest to reference it`);
default: {
return [lookup.spec];
}
}
}
return resolvedSpecs;
}
async setLocalPackageManager(info) {
const lookup = await loadSpec(this.context.cwd);
const content = lookup.target !== `NoProject` ? await import_fs7.default.promises.readFile(lookup.target, `utf8`) : ``;
const { data, indent } = readPackageJson(content);
const previousPackageManager = data.packageManager ?? `unknown`;
data.packageManager = `${info.locator.name}@${info.locator.reference}+${info.hash}`;
const newContent = normalizeLineEndings(content, `${JSON.stringify(data, null, indent)}
`);
await import_fs7.default.promises.writeFile(lookup.target, newContent, `utf8`);
const command = this.context.engine.getPackageManagerSpecFor(info.locator).commands?.use ?? null;
if (command === null)
return 0;
process.env.COREPACK_MIGRATE_FROM = previousPackageManager;
this.context.stdout.write(`
`);
const [binaryName, ...args] = command;
return await runVersion(info.locator, info, binaryName, args);
}
};
// sources/commands/InstallGlobal.ts
var InstallGlobalCommand = class extends BaseCommand {
static paths = [
[`install`]
];
static usage = Command.Usage({
description: `Install package managers on the system`,
details: `
Download the selected package managers and install them on the system.
Package managers thus installed will be configured as the new default when calling their respective binaries outside of projects defining the 'packageManager' field.
`,
examples: [[
`Install the latest version of Yarn 1.x and make it globally available`,
`corepack install -g yarn@^1`
], [
`Install the latest version of all available package managers, and make them globally available`,
`corepack install -g --all`
]]
});
global = options_exports.Boolean(`-g,--global`, {
required: true
});
all = options_exports.Boolean(`--all`, false, {
description: `If true, all available default package managers will be installed`
});
cacheOnly = options_exports.Boolean(`--cache-only`, false, {
description: `If true, the package managers will only be cached, not set as new defaults`
});
args = options_exports.Rest();
async execute() {
if (this.args.length === 0 && !this.all)
throw new UsageError(`No package managers specified; use --all to install all available package managers, or specify one or more package managers to proceed`);
if (!this.all) {
for (const arg of this.args) {
if (arg.endsWith(`.tgz`)) {
await this.installFromTarball(import_path7.default.resolve(this.context.cwd, arg));
} else {
await this.installFromDescriptor(parseSpec(arg, `CLI arguments`, { enforceExactVersion: false }));
}
}
} else {
for (const descriptor of await this.context.engine.getDefaultDescriptors()) {
await this.installFromDescriptor(descriptor);
}
}
}
log(locator) {
if (this.cacheOnly) {
this.context.stdout.write(`Adding ${locator.name}@${locator.reference} to the cache...
`);
} else {
this.context.stdout.write(`Installing ${locator.name}@${locator.reference}...
`);
}
}
async installFromDescriptor(descriptor) {
const resolved = await this.context.engine.resolveDescriptor(descriptor, { allowTags: true, useCache: false });
if (resolved === null)
throw new UsageError(`Failed to successfully resolve '${descriptor.range}' to a valid ${descriptor.name} release`);
this.log(resolved);
await this.context.engine.ensurePackageManager(resolved);
if (!this.cacheOnly) {
await this.context.engine.activatePackageManager(resolved);
}
}
async installFromTarball(p) {
const installFolder = getInstallFolder();
const archiveEntries = /* @__PURE__ */ new Map();
const { default: tar } = await Promise.resolve().then(() => __toESM(require_tar()));
let hasShortEntries = false;
await tar.t({ file: p, onentry: (entry) => {
const segments = entry.path.split(/\//g);
if (segments.length > 0 && segments[segments.length - 1] !== `.corepack`)
return;
if (segments.length < 3) {
hasShortEntries = true;
} else {
let references = archiveEntries.get(segments[0]);
if (typeof references === `undefined`)
archiveEntries.set(segments[0], references = /* @__PURE__ */ new Set());
references.add(segments[1]);
}
} });
if (hasShortEntries || archiveEntries.size < 1)
throw new UsageError(`Invalid archive format; did it get generated by 'corepack pack'?`);
for (const [name, references] of archiveEntries) {
for (const reference of references) {
if (!isSupportedPackageManager(name))
throw new UsageError(`Unsupported package manager '${name}'`);
this.log({ name, reference });
await import_fs8.default.promises.mkdir(installFolder, { recursive: true });
await tar.x({ file: p, cwd: installFolder }, [`${name}/${reference}`]);
if (!this.cacheOnly) {
await this.context.engine.activatePackageManager({ name, reference });
}
}
}
}
};
// sources/commands/InstallLocal.ts
var InstallLocalCommand = class extends BaseCommand {
static paths = [
[`install`]
];
static usage = Command.Usage({
description: `Install the package manager configured in the local project`,
details: `
Download and install the package manager configured in the local project. This command doesn't change the global version used when running the package manager from outside the project (use the \`-g,--global\` flag if you wish to do this).
`,
examples: [[
`Install the project's package manager in the cache`,
`corepack install`
]]
});
async execute() {
const [descriptor] = await this.resolvePatternsToDescriptors({
all: false,
patterns: []
});
const resolved = await this.context.engine.resolveDescriptor(descriptor, { allowTags: true });
if (resolved === null)
throw new UsageError(`Failed to successfully resolve '${descriptor.range}' to a valid ${descriptor.name} release`);
this.context.stdout.write(`Adding ${resolved.name}@${resolved.reference} to the cache...
`);
await this.context.engine.ensurePackageManager(resolved);
}
};
// sources/commands/Pack.ts
var import_promises2 = require("fs/promises");
var import_path8 = __toESM(require("path"));
var PackCommand = class extends BaseCommand {
static paths = [
[`pack`]
];
static usage = Command.Usage({
description: `Store package managers in a tarball`,
details: `
Download the selected package managers and store them inside a tarball suitable for use with \`corepack install -g\`.
`,
examples: [[
`Pack the package manager defined in the package.json file`,
`corepack pack`
], [
`Pack the latest version of Yarn 1.x inside a file named corepack.tgz`,
`corepack pack yarn@^1`
], [
`Pack the latest versions of all supported package managers inside a file named everything.tgz`,
`corepack pack --all -o everything.tgz`
]]
});
all = options_exports.Boolean(`--all`, false, {
description: `If true, all available default package managers will be installed`
});
json = options_exports.Boolean(`--json`, false, {
description: `If true, the path to the generated tarball will be printed on stdout`
});
output = options_exports.String(`-o,--output`, {
description: `Where the tarball should be generated; by default "corepack.tgz"`
});
patterns = options_exports.Rest();
async execute() {
const descriptors = await this.resolvePatternsToDescriptors({
all: this.all,
patterns: this.patterns
});
const installLocations = [];
for (const descriptor of descriptors) {
const resolved = await this.context.engine.resolveDescriptor(descriptor, { allowTags: true, useCache: false });
if (resolved === null)
throw new UsageError(`Failed to successfully resolve '${descriptor.range}' to a valid ${descriptor.name} release`);
this.context.stdout.write(`Adding ${resolved.name}@${resolved.reference} to the cache...
`);
const packageManagerInfo = await this.context.engine.ensurePackageManager(resolved);
await this.context.engine.activatePackageManager(packageManagerInfo.locator);
installLocations.push(packageManagerInfo.location);
}
const baseInstallFolder = getInstallFolder();
const outputPath = import_path8.default.resolve(this.context.cwd, this.output ?? `corepack.tgz`);
if (!this.json) {
this.context.stdout.write(`
`);
this.context.stdout.write(`Packing the selected tools in ${import_path8.default.basename(outputPath)}...
`);
}
const { default: tar } = await Promise.resolve().then(() => __toESM(require_tar()));
await (0, import_promises2.mkdir)(baseInstallFolder, { recursive: true });
await tar.c({ gzip: true, cwd: baseInstallFolder, file: import_path8.default.resolve(outputPath) }, installLocations.map((location) => {
return import_path8.default.relative(baseInstallFolder, location);
}));
if (this.json) {
this.context.stdout.write(`${JSON.stringify(outputPath)}
`);
} else {
this.context.stdout.write(`All done!
`);
}
}
};
// sources/commands/Up.ts
var import_semver5 = __toESM(require_semver2());
var UpCommand = class extends BaseCommand {
static paths = [
[`up`]
];
static usage = Command.Usage({
description: `Update the package manager used in the current project`,
details: `
Retrieve the latest available version for the current major release line
of the package manager used in the local project, and update the project
to use it.
Unlike \`corepack use\` this command doesn't take a package manager name
nor a version range, as it will always select the latest available
version from the same major line. Should you need to upgrade to a new
major, use an explicit \`corepack use '{name}@*'\` call.
`,
examples: [[
`Configure the project to use the latest Yarn release`,
`corepack up`
]]
});
async execute() {
const [descriptor] = await this.resolvePatternsToDescriptors({
all: false,
patterns: []
});
if (!import_semver5.default.valid(descriptor.range) && !import_semver5.default.validRange(descriptor.range))
throw new UsageError(`The 'corepack up' command can only be used when your project's packageManager field is set to a semver version or semver range`);
const resolved = await this.context.engine.resolveDescriptor(descriptor, { useCache: false });
if (!resolved)
throw new UsageError(`Failed to successfully resolve '${descriptor.range}' to a valid ${descriptor.name} release`);
const majorVersion = import_semver5.default.major(resolved?.reference);
const majorDescriptor = { name: descriptor.name, range: `^${majorVersion}.0.0` };
const highestVersion = await this.context.engine.resolveDescriptor(majorDescriptor, { useCache: false });
if (!highestVersion)
throw new UsageError(`Failed to find the highest release for ${descriptor.name} ${majorVersion}.x`);
this.context.stdout.write(`Installing ${highestVersion.name}@${highestVersion.reference} in the project...
`);
const packageManagerInfo = await this.context.engine.ensurePackageManager(highestVersion);
await this.setLocalPackageManager(packageManagerInfo);
}
};
// sources/commands/Use.ts
var UseCommand = class extends BaseCommand {
static paths = [
[`use`]
];
static usage = Command.Usage({
description: `Define the package manager to use for the current project`,
details: `
When run, this command will retrieve the latest release matching the
provided descriptor, assign it to the project's package.json file, and
automatically perform an install.
`,
examples: [[
`Configure the project to use the latest Yarn release`,
`corepack use 'yarn@*'`
]]
});
pattern = options_exports.String();
async execute() {
const [descriptor] = await this.resolvePatternsToDescriptors({
all: false,
patterns: [this.pattern]
});
const resolved = await this.context.engine.resolveDescriptor(descriptor, { allowTags: true, useCache: false });
if (resolved === null)
throw new UsageError(`Failed to successfully resolve '${descriptor.range}' to a valid ${descriptor.name} release`);
this.context.stdout.write(`Installing ${resolved.name}@${resolved.reference} in the project...
`);
const packageManagerInfo = await this.context.engine.ensurePackageManager(resolved);
await this.setLocalPackageManager(packageManagerInfo);
}
};
// sources/commands/deprecated/Hydrate.ts
var import_promises3 = require("fs/promises");
var import_path9 = __toESM(require("path"));
var HydrateCommand = class extends Command {
static paths = [
[`hydrate`]
];
activate = options_exports.Boolean(`--activate`, false, {
description: `If true, this release will become the default one for this package manager`
});
fileName = options_exports.String();
async execute() {
const installFolder = getInstallFolder();
const fileName = import_path9.default.resolve(this.context.cwd, this.fileName);
const archiveEntries = /* @__PURE__ */ new Map();
let hasShortEntries = false;
const { default: tar } = await Promise.resolve().then(() => __toESM(require_tar()));
await tar.t({ file: fileName, onentry: (entry) => {
const segments = entry.path.split(/\//g);
if (segments.length < 3) {
hasShortEntries = true;
} else {
let references = archiveEntries.get(segments[0]);
if (typeof references === `undefined`)
archiveEntries.set(segments[0], references = /* @__PURE__ */ new Set());
references.add(segments[1]);
}
} });
if (hasShortEntries || archiveEntries.size < 1)
throw new UsageError(`Invalid archive format; did it get generated by 'corepack prepare'?`);
for (const [name, references] of archiveEntries) {
for (const reference of references) {
if (!isSupportedPackageManager(name))
throw new UsageError(`Unsupported package manager '${name}'`);
if (this.activate)
this.context.stdout.write(`Hydrating ${name}@${reference} for immediate activation...
`);
else
this.context.stdout.write(`Hydrating ${name}@${reference}...
`);
await (0, import_promises3.mkdir)(installFolder, { recursive: true });
await tar.x({ file: fileName, cwd: installFolder }, [`${name}/${reference}`]);
if (this.activate) {
await this.context.engine.activatePackageManager({ name, reference });
}
}
}
this.context.stdout.write(`All done!
`);
}
};
// sources/commands/deprecated/Prepare.ts
var import_promises4 = require("fs/promises");
var import_path10 = __toESM(require("path"));
var PrepareCommand = class extends Command {
static paths = [
[`prepare`]
];
activate = options_exports.Boolean(`--activate`, false, {
description: `If true, this release will become the default one for this package manager`
});
all = options_exports.Boolean(`--all`, false, {
description: `If true, all available default package managers will be installed`
});
json = options_exports.Boolean(`--json`, false, {
description: `If true, the output will be the path of the generated tarball`
});
output = options_exports.String(`-o,--output`, {
description: `If true, the installed package managers will also be stored in a tarball`,
tolerateBoolean: true
});
specs = options_exports.Rest();
async execute() {
if (this.all && this.specs.length > 0)
throw new UsageError(`The --all option cannot be used along with an explicit package manager specification`);
const specs = this.all ? await this.context.engine.getDefaultDescriptors() : this.specs;
const installLocations = [];
if (specs.length === 0) {
const lookup = await loadSpec(this.context.cwd);
switch (lookup.type) {
case `NoProject`:
throw new UsageError(`Couldn't find a project in the local directory - please explicit the package manager to pack, or run this command from a valid project`);
case `NoSpec`:
throw new UsageError(`The local project doesn't feature a 'packageManager' field - please explicit the package manager to pack, or update the manifest to reference it`);
default: {
specs.push(lookup.spec);
}
}
}
for (const request of specs) {
const spec = typeof request === `string` ? parseSpec(request, `CLI arguments`, { enforceExactVersion: false }) : request;
const resolved = await this.context.engine.resolveDescriptor(spec, { allowTags: true });
if (resolved === null)
throw new UsageError(`Failed to successfully resolve '${spec.range}' to a valid ${spec.name} release`);
if (!this.json) {
if (this.activate) {
this.context.stdout.write(`Preparing ${spec.name}@${spec.range} for immediate activation...
`);
} else {
this.context.stdout.write(`Preparing ${spec.name}@${spec.range}...
`);
}
}
const installSpec = await this.context.engine.ensurePackageManager(resolved);
installLocations.push(installSpec.location);
if (this.activate) {
await this.context.engine.activatePackageManager(resolved);
}
}
if (this.output) {
const outputName = typeof this.output === `string` ? this.output : `corepack.tgz`;
const baseInstallFolder = getInstallFolder();
const outputPath = import_path10.default.resolve(this.context.cwd, outputName);
if (!this.json)
this.context.stdout.write(`Packing the selected tools in ${import_path10.default.basename(outputPath)}...
`);
const { default: tar } = await Promise.resolve().then(() => __toESM(require_tar()));
await (0, import_promises4.mkdir)(baseInstallFolder, { recursive: true });
await tar.c({ gzip: true, cwd: baseInstallFolder, file: import_path10.default.resolve(outputPath) }, installLocations.map((location) => {
return import_path10.default.relative(baseInstallFolder, location);
}));
if (this.json) {
this.context.stdout.write(`${JSON.stringify(outputPath)}
`);
} else {
this.context.stdout.write(`All done!
`);
}
}
}
};
// sources/miscUtils.ts
var Cancellation = class extends Error {
constructor() {
super(`Cancelled operation`);
}
};
// sources/main.ts
function getPackageManagerRequestFromCli(parameter, context) {
if (!parameter)
return null;
const match = parameter.match(/^([^@]*)(?:@(.*))?$/);
if (!match)
return null;
const [, binaryName, binaryVersion] = match;
const packageManager = context.engine.getPackageManagerFor(binaryName);
if (!packageManager)
return null;
return {
packageManager,
binaryName,
binaryVersion: binaryVersion || null
};
}
async function executePackageManagerRequest({ packageManager, binaryName, binaryVersion }, args, context) {
const defaultVersion = await context.engine.getDefaultVersion(packageManager);
const definition = context.engine.config.definitions[packageManager];
let isTransparentCommand = false;
for (const transparentPath of definition.transparent.commands) {
if (transparentPath[0] === binaryName && transparentPath.slice(1).every((segment, index) => segment === args[index])) {
isTransparentCommand = true;
break;
}
}
const fallbackReference = isTransparentCommand ? definition.transparent.default ?? defaultVersion : defaultVersion;
const fallbackLocator = {
name: packageManager,
reference: fallbackReference
};
let descriptor;
try {
descriptor = await findProjectSpec(context.cwd, fallbackLocator, { transparent: isTransparentCommand });
} catch (err) {
if (err instanceof Cancellation) {
return 1;
} else {
throw err;
}
}
if (binaryVersion)
descriptor.range = binaryVersion;
const resolved = await context.engine.resolveDescriptor(descriptor, { allowTags: true });
if (resolved === null)
throw new UsageError(`Failed to successfully resolve '${descriptor.range}' to a valid ${descriptor.name} release`);
const installSpec = await context.engine.ensurePackageManager(resolved);
return await runVersion(resolved, installSpec, binaryName, args);
}
async function runMain(argv) {
const context = {
...Cli.defaultContext,
cwd: process.cwd(),
engine: new Engine()
};
const [firstArg, ...restArgs] = argv;
const request = getPackageManagerRequestFromCli(firstArg, context);
let code;
if (!request) {
const cli = new Cli({
binaryLabel: `Corepack`,
binaryName: `corepack`,
binaryVersion: version
});
cli.register(builtins_exports.HelpCommand);
cli.register(builtins_exports.VersionCommand);
cli.register(DisableCommand);
cli.register(EnableCommand);
cli.register(InstallGlobalCommand);
cli.register(InstallLocalCommand);
cli.register(PackCommand);
cli.register(UpCommand);
cli.register(UseCommand);
cli.register(HydrateCommand);
cli.register(PrepareCommand);
code = await cli.run(argv, context);
} else {
const cli = new Cli({
binaryLabel: `'${request.binaryName}', via Corepack`,
binaryName: request.binaryName,
binaryVersion: `corepack/${version}`
});
cli.register(class BinaryCommand extends Command {
proxy = options_exports.Proxy();
async execute() {
return executePackageManagerRequest(request, this.proxy, this.context);
}
});
code = await cli.run(restArgs, context);
}
if (code !== 0) {
process.exitCode ??= code;
}
}
// Annotate the CommonJS export names for ESM import in node:
0 && (module.exports = {
runMain
});
/*!
* is-windows
*
* Copyright © 2015-2018, Jon Schlinkert.
* Released under the MIT License.
*/