@postman-cse/onboarding-bootstrap 2.9.5 → 2.9.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/action.yml +2 -2
- package/dist/action.cjs +220 -1158
- package/dist/cli.cjs +221 -1156
- package/dist/index.cjs +220 -1158
- package/package.json +4 -2
package/dist/action.cjs
CHANGED
|
@@ -259408,6 +259408,18 @@ async function retry(operation, options = {}) {
|
|
|
259408
259408
|
}
|
|
259409
259409
|
throw new Error("Retry exhausted without returning or throwing");
|
|
259410
259410
|
}
|
|
259411
|
+
function fullJitterDelayMs(attempt, baseMs, capMs, random = Math.random) {
|
|
259412
|
+
const ceiling = Math.min(capMs, baseMs * 2 ** Math.max(0, attempt));
|
|
259413
|
+
return Math.floor(random() * Math.max(0, ceiling));
|
|
259414
|
+
}
|
|
259415
|
+
function parseRetryAfterMs2(value) {
|
|
259416
|
+
if (!value) return void 0;
|
|
259417
|
+
const trimmed = value.trim();
|
|
259418
|
+
if (/^\d+$/.test(trimmed)) return Number(trimmed) * 1e3;
|
|
259419
|
+
const when = Date.parse(trimmed);
|
|
259420
|
+
if (!Number.isNaN(when)) return Math.max(0, when - Date.now());
|
|
259421
|
+
return void 0;
|
|
259422
|
+
}
|
|
259411
259423
|
|
|
259412
259424
|
// src/lib/postman/postman-ec-client.ts
|
|
259413
259425
|
var EC_WRITE_MAX_ATTEMPTS = 3;
|
|
@@ -264021,6 +264033,12 @@ var BOOTSTRAP_BARE_UUID_RE = /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9
|
|
|
264021
264033
|
function isMissingPatchValueError(error2) {
|
|
264022
264034
|
return error2 instanceof HttpError && error2.status === 400 && error2.responseBody.includes("Remove operation must point to an existing value");
|
|
264023
264035
|
}
|
|
264036
|
+
function isRejectedPatchError(error2) {
|
|
264037
|
+
return error2 instanceof HttpError && error2.status === 400 && /REJECTED_PATCH|must update at least one/i.test(
|
|
264038
|
+
`${error2.message}
|
|
264039
|
+
${error2.responseBody ?? ""}`
|
|
264040
|
+
);
|
|
264041
|
+
}
|
|
264024
264042
|
function canonicalize(value) {
|
|
264025
264043
|
if (Array.isArray(value)) return value.map(canonicalize);
|
|
264026
264044
|
if (value && typeof value === "object") {
|
|
@@ -264084,6 +264102,7 @@ var PostmanGatewayAssetsClient = class _PostmanGatewayAssetsClient {
|
|
|
264084
264102
|
static DEFAULT_GENERATION_POLL_DELAY_MS = 2e3;
|
|
264085
264103
|
gateway;
|
|
264086
264104
|
sleep;
|
|
264105
|
+
random;
|
|
264087
264106
|
generationPollAttempts;
|
|
264088
264107
|
generationPollDelayMs;
|
|
264089
264108
|
createIdentity;
|
|
@@ -264091,6 +264110,7 @@ var PostmanGatewayAssetsClient = class _PostmanGatewayAssetsClient {
|
|
|
264091
264110
|
this.gateway = options.gateway;
|
|
264092
264111
|
this.createIdentity = options.createIdentity ?? import_node_crypto2.randomUUID;
|
|
264093
264112
|
this.sleep = options.sleep ?? ((delayMs) => new Promise((resolve5) => setTimeout(resolve5, delayMs)));
|
|
264113
|
+
this.random = options.random ?? Math.random;
|
|
264094
264114
|
this.generationPollAttempts = resolvePollBudget(
|
|
264095
264115
|
options.generationPollAttempts,
|
|
264096
264116
|
process.env.POSTMAN_GENERATION_POLL_ATTEMPTS,
|
|
@@ -264865,7 +264885,7 @@ ${error2.responseBody ?? ""}`
|
|
|
264865
264885
|
if (!retriable || attempt === maxAttempts - 1) {
|
|
264866
264886
|
throw error2;
|
|
264867
264887
|
}
|
|
264868
|
-
await this.sleep(
|
|
264888
|
+
await this.sleep(fullJitterDelayMs(attempt, 300, 2e3, this.random));
|
|
264869
264889
|
}
|
|
264870
264890
|
}
|
|
264871
264891
|
}
|
|
@@ -265116,14 +265136,19 @@ ${error2.responseBody ?? ""}`
|
|
|
265116
265136
|
{ type: "afterResponse", code: exec2.join("\n"), language: "text/javascript" }
|
|
265117
265137
|
];
|
|
265118
265138
|
for (const script of plan.scripts) {
|
|
265119
|
-
|
|
265120
|
-
|
|
265121
|
-
|
|
265122
|
-
|
|
265123
|
-
|
|
265124
|
-
|
|
265125
|
-
|
|
265126
|
-
|
|
265139
|
+
try {
|
|
265140
|
+
await this.gateway.requestJson({
|
|
265141
|
+
service: "collection",
|
|
265142
|
+
method: "patch",
|
|
265143
|
+
path: `/v3/collections/${cid}/items/${script.itemId}`,
|
|
265144
|
+
retry: "safe",
|
|
265145
|
+
headers: { "X-Entity-Type": "http-request" },
|
|
265146
|
+
body: [{ op: "add", path: "/scripts", value: toV3Scripts(script.exec) }]
|
|
265147
|
+
});
|
|
265148
|
+
} catch (error2) {
|
|
265149
|
+
if (isRejectedPatchError(error2)) continue;
|
|
265150
|
+
throw error2;
|
|
265151
|
+
}
|
|
265127
265152
|
}
|
|
265128
265153
|
if (!items.some((i) => String(i.name ?? "") === "00 - Resolve Secrets")) {
|
|
265129
265154
|
const created = await this.gateway.requestJson({
|
|
@@ -265328,36 +265353,53 @@ ${error2.responseBody ?? ""}`
|
|
|
265328
265353
|
async createItemTree(cid, items, parentId) {
|
|
265329
265354
|
for (const item of items) {
|
|
265330
265355
|
const kind = String(item.$kind ?? "http-request");
|
|
265331
|
-
|
|
265332
|
-
|
|
265333
|
-
|
|
265334
|
-
|
|
265335
|
-
|
|
265336
|
-
|
|
265337
|
-
|
|
265338
|
-
|
|
265339
|
-
|
|
265340
|
-
|
|
265341
|
-
|
|
265342
|
-
|
|
265343
|
-
|
|
265344
|
-
|
|
265345
|
-
if (
|
|
265346
|
-
|
|
265347
|
-
const
|
|
265348
|
-
|
|
265349
|
-
|
|
265350
|
-
|
|
265351
|
-
|
|
265352
|
-
|
|
265353
|
-
|
|
265354
|
-
|
|
265355
|
-
|
|
265356
|
-
|
|
265357
|
-
|
|
265358
|
-
|
|
265356
|
+
const maxAttempts = 4;
|
|
265357
|
+
let newId = "";
|
|
265358
|
+
for (let attempt = 1; attempt <= maxAttempts; attempt += 1) {
|
|
265359
|
+
let created;
|
|
265360
|
+
try {
|
|
265361
|
+
created = await this.gateway.requestJson({
|
|
265362
|
+
service: "collection",
|
|
265363
|
+
method: "post",
|
|
265364
|
+
path: `/v3/collections/${cid}/items/`,
|
|
265365
|
+
retry: "none",
|
|
265366
|
+
headers: { "X-Entity-Type": kind },
|
|
265367
|
+
body: this.buildItemCreateBody(item, parentId)
|
|
265368
|
+
});
|
|
265369
|
+
} catch (error2) {
|
|
265370
|
+
if (!isAmbiguousTransportError(error2)) throw error2;
|
|
265371
|
+
const name = String(item.name ?? "Untitled");
|
|
265372
|
+
const findCommittedItem = async () => {
|
|
265373
|
+
const matches = (await this.listCollectionItems(cid)).filter((candidate) => {
|
|
265374
|
+
if (String(candidate.name ?? candidate.title ?? "") !== name) return false;
|
|
265375
|
+
if (String(candidate.$kind ?? candidate.type ?? "http-request") !== kind) return false;
|
|
265376
|
+
const position = asRecord8(candidate.position);
|
|
265377
|
+
const parent = asRecord8(position?.parent);
|
|
265378
|
+
const candidateParent = String(parent?.id ?? position?.parent ?? candidate.parent ?? "").trim();
|
|
265379
|
+
return Boolean(candidateParent) && this.bareModelId(candidateParent) === this.bareModelId(parentId);
|
|
265380
|
+
});
|
|
265381
|
+
return adoptExactMatch(
|
|
265382
|
+
`collection-item:${cid}:${parentId}:${kind}:${name}`,
|
|
265383
|
+
matches,
|
|
265384
|
+
(candidate) => String(candidate.id ?? "")
|
|
265385
|
+
);
|
|
265386
|
+
};
|
|
265387
|
+
let match = await findCommittedItem();
|
|
265388
|
+
if (!match) {
|
|
265389
|
+
await this.sleep(fullJitterDelayMs(attempt - 1, 300, 2e3, this.random));
|
|
265390
|
+
match = await findCommittedItem();
|
|
265391
|
+
}
|
|
265392
|
+
if (match) {
|
|
265393
|
+
created = { data: { id: match.id } };
|
|
265394
|
+
} else {
|
|
265395
|
+
const retriable = error2 instanceof HttpError && error2.status >= 500;
|
|
265396
|
+
if (!retriable || attempt === maxAttempts) throw error2;
|
|
265397
|
+
continue;
|
|
265398
|
+
}
|
|
265399
|
+
}
|
|
265400
|
+
newId = String(asRecord8(created?.data)?.id ?? "").trim();
|
|
265401
|
+
if (newId) break;
|
|
265359
265402
|
}
|
|
265360
|
-
const newId = String(asRecord8(created?.data)?.id ?? "").trim();
|
|
265361
265403
|
if (!newId) {
|
|
265362
265404
|
throw new Error(
|
|
265363
265405
|
`Item create did not return an id for ${String(item.name ?? "item")}`
|
|
@@ -265400,6 +265442,30 @@ ${error2.responseBody ?? ""}`
|
|
|
265400
265442
|
* - `remove` of /description always works (field exists as "")
|
|
265401
265443
|
* - on update, GET the root first and only remove fields that currently exist
|
|
265402
265444
|
*/
|
|
265445
|
+
/**
|
|
265446
|
+
* GET a collection root, retrying through the v3 surface's read-after-write
|
|
265447
|
+
* 404 lag. A freshly generated/renamed collection can transiently report
|
|
265448
|
+
* RESOURCE_NOT_FOUND for a few seconds (worse under concurrent runner load);
|
|
265449
|
+
* retrying absorbs that instead of hard-failing the run.
|
|
265450
|
+
*/
|
|
265451
|
+
async getCollectionRoot(cid) {
|
|
265452
|
+
const got = await retry(
|
|
265453
|
+
() => this.gateway.requestJson({
|
|
265454
|
+
service: "collection",
|
|
265455
|
+
method: "get",
|
|
265456
|
+
path: `/v3/collections/${cid}`,
|
|
265457
|
+
retry: "none"
|
|
265458
|
+
}),
|
|
265459
|
+
{
|
|
265460
|
+
maxAttempts: 6,
|
|
265461
|
+
delayMs: 1e3,
|
|
265462
|
+
backoffMultiplier: 2,
|
|
265463
|
+
maxDelayMs: 8e3,
|
|
265464
|
+
shouldRetry: (error2) => error2 instanceof HttpError && error2.status === 404
|
|
265465
|
+
}
|
|
265466
|
+
);
|
|
265467
|
+
return asRecord8(got?.data);
|
|
265468
|
+
}
|
|
265403
265469
|
async applyCollectionLevelSettings(cid, v3, options = {}) {
|
|
265404
265470
|
const ops = [];
|
|
265405
265471
|
if (options.rename && typeof v3.name === "string" && v3.name) {
|
|
@@ -265407,12 +265473,7 @@ ${error2.responseBody ?? ""}`
|
|
|
265407
265473
|
}
|
|
265408
265474
|
let current = null;
|
|
265409
265475
|
if (options.reconcileRemovals) {
|
|
265410
|
-
|
|
265411
|
-
service: "collection",
|
|
265412
|
-
method: "get",
|
|
265413
|
-
path: `/v3/collections/${cid}`
|
|
265414
|
-
});
|
|
265415
|
-
current = asRecord8(got?.data);
|
|
265476
|
+
current = await this.getCollectionRoot(cid);
|
|
265416
265477
|
}
|
|
265417
265478
|
const hasDescription = typeof v3.description === "string" && v3.description.length > 0;
|
|
265418
265479
|
if (hasDescription) {
|
|
@@ -265451,6 +265512,9 @@ ${error2.responseBody ?? ""}`
|
|
|
265451
265512
|
if (isMissingPatchValueError(error2) && ops.some((op) => op.op === "remove") && await this.verifyRootSettingsApplied(cid, ops)) {
|
|
265452
265513
|
return;
|
|
265453
265514
|
}
|
|
265515
|
+
if (isRejectedPatchError(error2) && await this.verifyRootSettingsApplied(cid, ops)) {
|
|
265516
|
+
return;
|
|
265517
|
+
}
|
|
265454
265518
|
throw error2;
|
|
265455
265519
|
}
|
|
265456
265520
|
}
|
|
@@ -265574,7 +265638,9 @@ ${error2.responseBody ?? ""}`
|
|
|
265574
265638
|
}
|
|
265575
265639
|
/** Patch only the durable collection description without reconciling its item tree. */
|
|
265576
265640
|
async updateCollectionDescription(collectionUid, description) {
|
|
265577
|
-
|
|
265641
|
+
const cid = this.bareModelId(collectionUid);
|
|
265642
|
+
await this.getCollectionRoot(cid);
|
|
265643
|
+
await this.applyCollectionLevelSettings(cid, { description });
|
|
265578
265644
|
}
|
|
265579
265645
|
/**
|
|
265580
265646
|
* Full-replace reconcile of a curated local v2.1.0 or collection v3 payload: delete every
|
|
@@ -265657,6 +265723,7 @@ function detectInnerError(body2) {
|
|
|
265657
265723
|
return typeof innerStatus === "number" && innerStatus >= 400 ? innerStatus : 502;
|
|
265658
265724
|
}
|
|
265659
265725
|
function isTransientGatewayError(status, body2) {
|
|
265726
|
+
if (status === 429) return true;
|
|
265660
265727
|
if (status === 502 || status === 503 || status === 504) return true;
|
|
265661
265728
|
if (status >= 500 && (body2.includes("ESOCKETTIMEDOUT") || body2.includes("ETIMEDOUT") || body2.includes("ECONNRESET") || body2.includes("serverError") || body2.includes("downstream"))) {
|
|
265662
265729
|
return true;
|
|
@@ -265675,8 +265742,10 @@ var AccessTokenGatewayClient = class {
|
|
|
265675
265742
|
secretMasker;
|
|
265676
265743
|
maxRetries;
|
|
265677
265744
|
retryBaseDelayMs;
|
|
265745
|
+
retryMaxDelayMs;
|
|
265678
265746
|
requestTimeoutMs;
|
|
265679
265747
|
sleepImpl;
|
|
265748
|
+
randomImpl;
|
|
265680
265749
|
constructor(options) {
|
|
265681
265750
|
this.tokenProvider = options.tokenProvider;
|
|
265682
265751
|
this.bifrostBaseUrl = String(
|
|
@@ -265688,8 +265757,10 @@ var AccessTokenGatewayClient = class {
|
|
|
265688
265757
|
this.secretMasker = options.secretMasker ?? createSecretMasker([this.tokenProvider.current()]);
|
|
265689
265758
|
this.maxRetries = options.maxRetries ?? 3;
|
|
265690
265759
|
this.retryBaseDelayMs = options.retryBaseDelayMs ?? 400;
|
|
265760
|
+
this.retryMaxDelayMs = options.retryMaxDelayMs ?? 5e3;
|
|
265691
265761
|
this.requestTimeoutMs = options.requestTimeoutMs ?? DEFAULT_REQUEST_TIMEOUT_MS;
|
|
265692
265762
|
this.sleepImpl = options.sleepImpl ?? defaultSleep;
|
|
265763
|
+
this.randomImpl = options.randomImpl ?? Math.random;
|
|
265693
265764
|
}
|
|
265694
265765
|
configureTeamContext(teamId, orgMode) {
|
|
265695
265766
|
this.teamId = String(teamId || "").trim();
|
|
@@ -265749,7 +265820,7 @@ var AccessTokenGatewayClient = class {
|
|
|
265749
265820
|
response = await this.send(request);
|
|
265750
265821
|
} catch (error2) {
|
|
265751
265822
|
if (retryMode === "safe" && attempt < this.maxRetries) {
|
|
265752
|
-
const delay = this.
|
|
265823
|
+
const delay = this.retryDelayMs(attempt);
|
|
265753
265824
|
attempt += 1;
|
|
265754
265825
|
await this.sleepImpl(delay);
|
|
265755
265826
|
continue;
|
|
@@ -265761,7 +265832,7 @@ var AccessTokenGatewayClient = class {
|
|
|
265761
265832
|
const innerStatus = detectInnerError(okBody);
|
|
265762
265833
|
if (innerStatus !== null) {
|
|
265763
265834
|
if (retryMode === "safe" && isTransientGatewayError(innerStatus, okBody) && attempt < this.maxRetries) {
|
|
265764
|
-
const delay = this.
|
|
265835
|
+
const delay = this.retryDelayMs(attempt);
|
|
265765
265836
|
attempt += 1;
|
|
265766
265837
|
await this.sleepImpl(delay);
|
|
265767
265838
|
continue;
|
|
@@ -265786,7 +265857,10 @@ var AccessTokenGatewayClient = class {
|
|
|
265786
265857
|
throw this.toHttpError(request, response, retryBody);
|
|
265787
265858
|
}
|
|
265788
265859
|
if (retryMode === "safe" && isTransientGatewayError(response.status, body2) && attempt < this.maxRetries) {
|
|
265789
|
-
const delay = this.
|
|
265860
|
+
const delay = this.retryDelayMs(
|
|
265861
|
+
attempt,
|
|
265862
|
+
parseRetryAfterMs2(response.headers.get("retry-after"))
|
|
265863
|
+
);
|
|
265790
265864
|
attempt += 1;
|
|
265791
265865
|
await this.sleepImpl(delay);
|
|
265792
265866
|
continue;
|
|
@@ -265794,6 +265868,18 @@ var AccessTokenGatewayClient = class {
|
|
|
265794
265868
|
throw this.toHttpError(request, response, body2);
|
|
265795
265869
|
}
|
|
265796
265870
|
}
|
|
265871
|
+
/**
|
|
265872
|
+
* Full-jitter backoff (uniform in [0, min(cap, base * 2^attempt))) so
|
|
265873
|
+
* concurrent CI runners that fail together never retry in lockstep against
|
|
265874
|
+
* the shared gateway. A server-sent Retry-After beats the heuristic: it is
|
|
265875
|
+
* authoritative backpressure, honored verbatim (capped by the ceiling).
|
|
265876
|
+
*/
|
|
265877
|
+
retryDelayMs(attempt, retryAfterMs) {
|
|
265878
|
+
if (retryAfterMs !== void 0) {
|
|
265879
|
+
return Math.min(this.retryMaxDelayMs, retryAfterMs);
|
|
265880
|
+
}
|
|
265881
|
+
return fullJitterDelayMs(attempt, this.retryBaseDelayMs, this.retryMaxDelayMs, this.randomImpl);
|
|
265882
|
+
}
|
|
265797
265883
|
/**
|
|
265798
265884
|
* The success path reads the body to inspect for an inner error, which
|
|
265799
265885
|
* consumes the stream. Hand callers a fresh Response over the buffered text so
|
|
@@ -266531,6 +266617,9 @@ function createTelemetryContext(options) {
|
|
|
266531
266617
|
var import_node_fs3 = require("node:fs");
|
|
266532
266618
|
var import_node_path3 = require("node:path");
|
|
266533
266619
|
function resolveActionVersion2() {
|
|
266620
|
+
if (false) {
|
|
266621
|
+
return void 0;
|
|
266622
|
+
}
|
|
266534
266623
|
try {
|
|
266535
266624
|
const raw = (0, import_node_fs3.readFileSync)((0, import_node_path3.join)(__dirname, "..", "package.json"), "utf8");
|
|
266536
266625
|
return JSON.parse(raw).version ?? "unknown";
|
|
@@ -299330,940 +299419,6 @@ function getPositionFromMatch(match) {
|
|
|
299330
299419
|
}
|
|
299331
299420
|
|
|
299332
299421
|
// node_modules/@nodable/entities/src/entities.js
|
|
299333
|
-
var BASIC_LATIN = {
|
|
299334
|
-
amp: "&",
|
|
299335
|
-
AMP: "&",
|
|
299336
|
-
lt: "<",
|
|
299337
|
-
LT: "<",
|
|
299338
|
-
gt: ">",
|
|
299339
|
-
GT: ">",
|
|
299340
|
-
quot: '"',
|
|
299341
|
-
QUOT: '"',
|
|
299342
|
-
apos: "'",
|
|
299343
|
-
lsquo: "\u2018",
|
|
299344
|
-
rsquo: "\u2019",
|
|
299345
|
-
ldquo: "\u201C",
|
|
299346
|
-
rdquo: "\u201D",
|
|
299347
|
-
lsquor: "\u201A",
|
|
299348
|
-
rsquor: "\u2019",
|
|
299349
|
-
ldquor: "\u201E",
|
|
299350
|
-
bdquo: "\u201E",
|
|
299351
|
-
comma: ",",
|
|
299352
|
-
period: ".",
|
|
299353
|
-
colon: ":",
|
|
299354
|
-
semi: ";",
|
|
299355
|
-
excl: "!",
|
|
299356
|
-
quest: "?",
|
|
299357
|
-
num: "#",
|
|
299358
|
-
dollar: "$",
|
|
299359
|
-
percent: "%",
|
|
299360
|
-
ast: "*",
|
|
299361
|
-
commat: "@",
|
|
299362
|
-
lowbar: "_",
|
|
299363
|
-
verbar: "|",
|
|
299364
|
-
vert: "|",
|
|
299365
|
-
sol: "/",
|
|
299366
|
-
bsol: "\\",
|
|
299367
|
-
lbrace: "{",
|
|
299368
|
-
rbrace: "}",
|
|
299369
|
-
lbrack: "[",
|
|
299370
|
-
rbrack: "]",
|
|
299371
|
-
lpar: "(",
|
|
299372
|
-
rpar: ")",
|
|
299373
|
-
nbsp: "\xA0",
|
|
299374
|
-
iexcl: "\xA1",
|
|
299375
|
-
cent: "\xA2",
|
|
299376
|
-
pound: "\xA3",
|
|
299377
|
-
curren: "\xA4",
|
|
299378
|
-
yen: "\xA5",
|
|
299379
|
-
brvbar: "\xA6",
|
|
299380
|
-
sect: "\xA7",
|
|
299381
|
-
uml: "\xA8",
|
|
299382
|
-
copy: "\xA9",
|
|
299383
|
-
COPY: "\xA9",
|
|
299384
|
-
ordf: "\xAA",
|
|
299385
|
-
laquo: "\xAB",
|
|
299386
|
-
not: "\xAC",
|
|
299387
|
-
shy: "\xAD",
|
|
299388
|
-
reg: "\xAE",
|
|
299389
|
-
REG: "\xAE",
|
|
299390
|
-
macr: "\xAF",
|
|
299391
|
-
deg: "\xB0",
|
|
299392
|
-
plusmn: "\xB1",
|
|
299393
|
-
sup2: "\xB2",
|
|
299394
|
-
sup3: "\xB3",
|
|
299395
|
-
acute: "\xB4",
|
|
299396
|
-
micro: "\xB5",
|
|
299397
|
-
para: "\xB6",
|
|
299398
|
-
middot: "\xB7",
|
|
299399
|
-
cedil: "\xB8",
|
|
299400
|
-
sup1: "\xB9",
|
|
299401
|
-
ordm: "\xBA",
|
|
299402
|
-
raquo: "\xBB",
|
|
299403
|
-
frac14: "\xBC",
|
|
299404
|
-
frac12: "\xBD",
|
|
299405
|
-
half: "\xBD",
|
|
299406
|
-
frac34: "\xBE",
|
|
299407
|
-
iquest: "\xBF",
|
|
299408
|
-
times: "\xD7",
|
|
299409
|
-
div: "\xF7",
|
|
299410
|
-
divide: "\xF7"
|
|
299411
|
-
};
|
|
299412
|
-
var LATIN_ACCENTS = {
|
|
299413
|
-
Agrave: "\xC0",
|
|
299414
|
-
agrave: "\xE0",
|
|
299415
|
-
Aacute: "\xC1",
|
|
299416
|
-
aacute: "\xE1",
|
|
299417
|
-
Acirc: "\xC2",
|
|
299418
|
-
acirc: "\xE2",
|
|
299419
|
-
Atilde: "\xC3",
|
|
299420
|
-
atilde: "\xE3",
|
|
299421
|
-
Auml: "\xC4",
|
|
299422
|
-
auml: "\xE4",
|
|
299423
|
-
Aring: "\xC5",
|
|
299424
|
-
aring: "\xE5",
|
|
299425
|
-
AElig: "\xC6",
|
|
299426
|
-
aelig: "\xE6",
|
|
299427
|
-
Ccedil: "\xC7",
|
|
299428
|
-
ccedil: "\xE7",
|
|
299429
|
-
Egrave: "\xC8",
|
|
299430
|
-
egrave: "\xE8",
|
|
299431
|
-
Eacute: "\xC9",
|
|
299432
|
-
eacute: "\xE9",
|
|
299433
|
-
Ecirc: "\xCA",
|
|
299434
|
-
ecirc: "\xEA",
|
|
299435
|
-
Euml: "\xCB",
|
|
299436
|
-
euml: "\xEB",
|
|
299437
|
-
Igrave: "\xCC",
|
|
299438
|
-
igrave: "\xEC",
|
|
299439
|
-
Iacute: "\xCD",
|
|
299440
|
-
iacute: "\xED",
|
|
299441
|
-
Icirc: "\xCE",
|
|
299442
|
-
icirc: "\xEE",
|
|
299443
|
-
Iuml: "\xCF",
|
|
299444
|
-
iuml: "\xEF",
|
|
299445
|
-
ETH: "\xD0",
|
|
299446
|
-
eth: "\xF0",
|
|
299447
|
-
Ntilde: "\xD1",
|
|
299448
|
-
ntilde: "\xF1",
|
|
299449
|
-
Ograve: "\xD2",
|
|
299450
|
-
ograve: "\xF2",
|
|
299451
|
-
Oacute: "\xD3",
|
|
299452
|
-
oacute: "\xF3",
|
|
299453
|
-
Ocirc: "\xD4",
|
|
299454
|
-
ocirc: "\xF4",
|
|
299455
|
-
Otilde: "\xD5",
|
|
299456
|
-
otilde: "\xF5",
|
|
299457
|
-
Ouml: "\xD6",
|
|
299458
|
-
ouml: "\xF6",
|
|
299459
|
-
Oslash: "\xD8",
|
|
299460
|
-
oslash: "\xF8",
|
|
299461
|
-
Ugrave: "\xD9",
|
|
299462
|
-
ugrave: "\xF9",
|
|
299463
|
-
Uacute: "\xDA",
|
|
299464
|
-
uacute: "\xFA",
|
|
299465
|
-
Ucirc: "\xDB",
|
|
299466
|
-
ucirc: "\xFB",
|
|
299467
|
-
Uuml: "\xDC",
|
|
299468
|
-
uuml: "\xFC",
|
|
299469
|
-
Yacute: "\xDD",
|
|
299470
|
-
yacute: "\xFD",
|
|
299471
|
-
THORN: "\xDE",
|
|
299472
|
-
thorn: "\xFE",
|
|
299473
|
-
szlig: "\xDF",
|
|
299474
|
-
yuml: "\xFF",
|
|
299475
|
-
Yuml: "\u0178"
|
|
299476
|
-
};
|
|
299477
|
-
var LATIN_EXTENDED = {
|
|
299478
|
-
Amacr: "\u0100",
|
|
299479
|
-
amacr: "\u0101",
|
|
299480
|
-
Abreve: "\u0102",
|
|
299481
|
-
abreve: "\u0103",
|
|
299482
|
-
Aogon: "\u0104",
|
|
299483
|
-
aogon: "\u0105",
|
|
299484
|
-
Cacute: "\u0106",
|
|
299485
|
-
cacute: "\u0107",
|
|
299486
|
-
Ccirc: "\u0108",
|
|
299487
|
-
ccirc: "\u0109",
|
|
299488
|
-
Cdot: "\u010A",
|
|
299489
|
-
cdot: "\u010B",
|
|
299490
|
-
Ccaron: "\u010C",
|
|
299491
|
-
ccaron: "\u010D",
|
|
299492
|
-
Dcaron: "\u010E",
|
|
299493
|
-
dcaron: "\u010F",
|
|
299494
|
-
Dstrok: "\u0110",
|
|
299495
|
-
dstrok: "\u0111",
|
|
299496
|
-
Emacr: "\u0112",
|
|
299497
|
-
emacr: "\u0113",
|
|
299498
|
-
Ecaron: "\u011A",
|
|
299499
|
-
ecaron: "\u011B",
|
|
299500
|
-
Edot: "\u0116",
|
|
299501
|
-
edot: "\u0117",
|
|
299502
|
-
Eogon: "\u0118",
|
|
299503
|
-
eogon: "\u0119",
|
|
299504
|
-
Gcirc: "\u011C",
|
|
299505
|
-
gcirc: "\u011D",
|
|
299506
|
-
Gbreve: "\u011E",
|
|
299507
|
-
gbreve: "\u011F",
|
|
299508
|
-
Gdot: "\u0120",
|
|
299509
|
-
gdot: "\u0121",
|
|
299510
|
-
Gcedil: "\u0122",
|
|
299511
|
-
Hcirc: "\u0124",
|
|
299512
|
-
hcirc: "\u0125",
|
|
299513
|
-
Hstrok: "\u0126",
|
|
299514
|
-
hstrok: "\u0127",
|
|
299515
|
-
Itilde: "\u0128",
|
|
299516
|
-
itilde: "\u0129",
|
|
299517
|
-
Imacr: "\u012A",
|
|
299518
|
-
imacr: "\u012B",
|
|
299519
|
-
Iogon: "\u012E",
|
|
299520
|
-
iogon: "\u012F",
|
|
299521
|
-
Idot: "\u0130",
|
|
299522
|
-
IJlig: "\u0132",
|
|
299523
|
-
ijlig: "\u0133",
|
|
299524
|
-
Jcirc: "\u0134",
|
|
299525
|
-
jcirc: "\u0135",
|
|
299526
|
-
Kcedil: "\u0136",
|
|
299527
|
-
kcedil: "\u0137",
|
|
299528
|
-
kgreen: "\u0138",
|
|
299529
|
-
Lacute: "\u0139",
|
|
299530
|
-
lacute: "\u013A",
|
|
299531
|
-
Lcedil: "\u013B",
|
|
299532
|
-
lcedil: "\u013C",
|
|
299533
|
-
Lcaron: "\u013D",
|
|
299534
|
-
lcaron: "\u013E",
|
|
299535
|
-
Lmidot: "\u013F",
|
|
299536
|
-
lmidot: "\u0140",
|
|
299537
|
-
Lstrok: "\u0141",
|
|
299538
|
-
lstrok: "\u0142",
|
|
299539
|
-
Nacute: "\u0143",
|
|
299540
|
-
nacute: "\u0144",
|
|
299541
|
-
Ncaron: "\u0147",
|
|
299542
|
-
ncaron: "\u0148",
|
|
299543
|
-
Ncedil: "\u0145",
|
|
299544
|
-
ncedil: "\u0146",
|
|
299545
|
-
ENG: "\u014A",
|
|
299546
|
-
eng: "\u014B",
|
|
299547
|
-
Omacr: "\u014C",
|
|
299548
|
-
omacr: "\u014D",
|
|
299549
|
-
Odblac: "\u0150",
|
|
299550
|
-
odblac: "\u0151",
|
|
299551
|
-
OElig: "\u0152",
|
|
299552
|
-
oelig: "\u0153",
|
|
299553
|
-
Racute: "\u0154",
|
|
299554
|
-
racute: "\u0155",
|
|
299555
|
-
Rcaron: "\u0158",
|
|
299556
|
-
rcaron: "\u0159",
|
|
299557
|
-
Rcedil: "\u0156",
|
|
299558
|
-
rcedil: "\u0157",
|
|
299559
|
-
Sacute: "\u015A",
|
|
299560
|
-
sacute: "\u015B",
|
|
299561
|
-
Scirc: "\u015C",
|
|
299562
|
-
scirc: "\u015D",
|
|
299563
|
-
Scedil: "\u015E",
|
|
299564
|
-
scedil: "\u015F",
|
|
299565
|
-
Scaron: "\u0160",
|
|
299566
|
-
scaron: "\u0161",
|
|
299567
|
-
Tcedil: "\u0162",
|
|
299568
|
-
tcedil: "\u0163",
|
|
299569
|
-
Tcaron: "\u0164",
|
|
299570
|
-
tcaron: "\u0165",
|
|
299571
|
-
Tstrok: "\u0166",
|
|
299572
|
-
tstrok: "\u0167",
|
|
299573
|
-
Utilde: "\u0168",
|
|
299574
|
-
utilde: "\u0169",
|
|
299575
|
-
Umacr: "\u016A",
|
|
299576
|
-
umacr: "\u016B",
|
|
299577
|
-
Ubreve: "\u016C",
|
|
299578
|
-
ubreve: "\u016D",
|
|
299579
|
-
Uring: "\u016E",
|
|
299580
|
-
uring: "\u016F",
|
|
299581
|
-
Udblac: "\u0170",
|
|
299582
|
-
udblac: "\u0171",
|
|
299583
|
-
Uogon: "\u0172",
|
|
299584
|
-
uogon: "\u0173",
|
|
299585
|
-
Wcirc: "\u0174",
|
|
299586
|
-
wcirc: "\u0175",
|
|
299587
|
-
Ycirc: "\u0176",
|
|
299588
|
-
ycirc: "\u0177",
|
|
299589
|
-
Zacute: "\u0179",
|
|
299590
|
-
zacute: "\u017A",
|
|
299591
|
-
Zdot: "\u017B",
|
|
299592
|
-
zdot: "\u017C",
|
|
299593
|
-
Zcaron: "\u017D",
|
|
299594
|
-
zcaron: "\u017E"
|
|
299595
|
-
};
|
|
299596
|
-
var GREEK = {
|
|
299597
|
-
Alpha: "\u0391",
|
|
299598
|
-
alpha: "\u03B1",
|
|
299599
|
-
Beta: "\u0392",
|
|
299600
|
-
beta: "\u03B2",
|
|
299601
|
-
Gamma: "\u0393",
|
|
299602
|
-
gamma: "\u03B3",
|
|
299603
|
-
Delta: "\u0394",
|
|
299604
|
-
delta: "\u03B4",
|
|
299605
|
-
Epsilon: "\u0395",
|
|
299606
|
-
epsilon: "\u03B5",
|
|
299607
|
-
epsiv: "\u03F5",
|
|
299608
|
-
varepsilon: "\u03F5",
|
|
299609
|
-
Zeta: "\u0396",
|
|
299610
|
-
zeta: "\u03B6",
|
|
299611
|
-
Eta: "\u0397",
|
|
299612
|
-
eta: "\u03B7",
|
|
299613
|
-
Theta: "\u0398",
|
|
299614
|
-
theta: "\u03B8",
|
|
299615
|
-
thetasym: "\u03D1",
|
|
299616
|
-
vartheta: "\u03D1",
|
|
299617
|
-
Iota: "\u0399",
|
|
299618
|
-
iota: "\u03B9",
|
|
299619
|
-
Kappa: "\u039A",
|
|
299620
|
-
kappa: "\u03BA",
|
|
299621
|
-
kappav: "\u03F0",
|
|
299622
|
-
varkappa: "\u03F0",
|
|
299623
|
-
Lambda: "\u039B",
|
|
299624
|
-
lambda: "\u03BB",
|
|
299625
|
-
Mu: "\u039C",
|
|
299626
|
-
mu: "\u03BC",
|
|
299627
|
-
Nu: "\u039D",
|
|
299628
|
-
nu: "\u03BD",
|
|
299629
|
-
Xi: "\u039E",
|
|
299630
|
-
xi: "\u03BE",
|
|
299631
|
-
Omicron: "\u039F",
|
|
299632
|
-
omicron: "\u03BF",
|
|
299633
|
-
Pi: "\u03A0",
|
|
299634
|
-
pi: "\u03C0",
|
|
299635
|
-
piv: "\u03D6",
|
|
299636
|
-
varpi: "\u03D6",
|
|
299637
|
-
Rho: "\u03A1",
|
|
299638
|
-
rho: "\u03C1",
|
|
299639
|
-
rhov: "\u03F1",
|
|
299640
|
-
varrho: "\u03F1",
|
|
299641
|
-
Sigma: "\u03A3",
|
|
299642
|
-
sigma: "\u03C3",
|
|
299643
|
-
sigmaf: "\u03C2",
|
|
299644
|
-
sigmav: "\u03C2",
|
|
299645
|
-
varsigma: "\u03C2",
|
|
299646
|
-
Tau: "\u03A4",
|
|
299647
|
-
tau: "\u03C4",
|
|
299648
|
-
Upsilon: "\u03A5",
|
|
299649
|
-
upsilon: "\u03C5",
|
|
299650
|
-
upsi: "\u03C5",
|
|
299651
|
-
Upsi: "\u03D2",
|
|
299652
|
-
upsih: "\u03D2",
|
|
299653
|
-
Phi: "\u03A6",
|
|
299654
|
-
phi: "\u03C6",
|
|
299655
|
-
phiv: "\u03D5",
|
|
299656
|
-
varphi: "\u03D5",
|
|
299657
|
-
Chi: "\u03A7",
|
|
299658
|
-
chi: "\u03C7",
|
|
299659
|
-
Psi: "\u03A8",
|
|
299660
|
-
psi: "\u03C8",
|
|
299661
|
-
Omega: "\u03A9",
|
|
299662
|
-
omega: "\u03C9",
|
|
299663
|
-
ohm: "\u03A9",
|
|
299664
|
-
Gammad: "\u03DC",
|
|
299665
|
-
gammad: "\u03DD",
|
|
299666
|
-
digamma: "\u03DD"
|
|
299667
|
-
};
|
|
299668
|
-
var CYRILLIC = {
|
|
299669
|
-
Afr: "\u{1D504}",
|
|
299670
|
-
afr: "\u{1D51E}",
|
|
299671
|
-
Acy: "\u0410",
|
|
299672
|
-
acy: "\u0430",
|
|
299673
|
-
Bcy: "\u0411",
|
|
299674
|
-
bcy: "\u0431",
|
|
299675
|
-
Vcy: "\u0412",
|
|
299676
|
-
vcy: "\u0432",
|
|
299677
|
-
Gcy: "\u0413",
|
|
299678
|
-
gcy: "\u0433",
|
|
299679
|
-
Dcy: "\u0414",
|
|
299680
|
-
dcy: "\u0434",
|
|
299681
|
-
IEcy: "\u0415",
|
|
299682
|
-
iecy: "\u0435",
|
|
299683
|
-
IOcy: "\u0401",
|
|
299684
|
-
iocy: "\u0451",
|
|
299685
|
-
ZHcy: "\u0416",
|
|
299686
|
-
zhcy: "\u0436",
|
|
299687
|
-
Zcy: "\u0417",
|
|
299688
|
-
zcy: "\u0437",
|
|
299689
|
-
Icy: "\u0418",
|
|
299690
|
-
icy: "\u0438",
|
|
299691
|
-
Jcy: "\u0419",
|
|
299692
|
-
jcy: "\u0439",
|
|
299693
|
-
Kcy: "\u041A",
|
|
299694
|
-
kcy: "\u043A",
|
|
299695
|
-
Lcy: "\u041B",
|
|
299696
|
-
lcy: "\u043B",
|
|
299697
|
-
Mcy: "\u041C",
|
|
299698
|
-
mcy: "\u043C",
|
|
299699
|
-
Ncy: "\u041D",
|
|
299700
|
-
ncy: "\u043D",
|
|
299701
|
-
Ocy: "\u041E",
|
|
299702
|
-
ocy: "\u043E",
|
|
299703
|
-
Pcy: "\u041F",
|
|
299704
|
-
pcy: "\u043F",
|
|
299705
|
-
Rcy: "\u0420",
|
|
299706
|
-
rcy: "\u0440",
|
|
299707
|
-
Scy: "\u0421",
|
|
299708
|
-
scy: "\u0441",
|
|
299709
|
-
Tcy: "\u0422",
|
|
299710
|
-
tcy: "\u0442",
|
|
299711
|
-
Ucy: "\u0423",
|
|
299712
|
-
ucy: "\u0443",
|
|
299713
|
-
Fcy: "\u0424",
|
|
299714
|
-
fcy: "\u0444",
|
|
299715
|
-
KHcy: "\u0425",
|
|
299716
|
-
khcy: "\u0445",
|
|
299717
|
-
TScy: "\u0426",
|
|
299718
|
-
tscy: "\u0446",
|
|
299719
|
-
CHcy: "\u0427",
|
|
299720
|
-
chcy: "\u0447",
|
|
299721
|
-
SHcy: "\u0428",
|
|
299722
|
-
shcy: "\u0448",
|
|
299723
|
-
SHCHcy: "\u0429",
|
|
299724
|
-
shchcy: "\u0449",
|
|
299725
|
-
HARDcy: "\u042A",
|
|
299726
|
-
hardcy: "\u044A",
|
|
299727
|
-
Ycy: "\u042B",
|
|
299728
|
-
ycy: "\u044B",
|
|
299729
|
-
SOFTcy: "\u042C",
|
|
299730
|
-
softcy: "\u044C",
|
|
299731
|
-
Ecy: "\u042D",
|
|
299732
|
-
ecy: "\u044D",
|
|
299733
|
-
YUcy: "\u042E",
|
|
299734
|
-
yucy: "\u044E",
|
|
299735
|
-
YAcy: "\u042F",
|
|
299736
|
-
yacy: "\u044F",
|
|
299737
|
-
DJcy: "\u0402",
|
|
299738
|
-
djcy: "\u0452",
|
|
299739
|
-
GJcy: "\u0403",
|
|
299740
|
-
gjcy: "\u0453",
|
|
299741
|
-
Jukcy: "\u0404",
|
|
299742
|
-
jukcy: "\u0454",
|
|
299743
|
-
DScy: "\u0405",
|
|
299744
|
-
dscy: "\u0455",
|
|
299745
|
-
Iukcy: "\u0406",
|
|
299746
|
-
iukcy: "\u0456",
|
|
299747
|
-
YIcy: "\u0407",
|
|
299748
|
-
yicy: "\u0457",
|
|
299749
|
-
Jsercy: "\u0408",
|
|
299750
|
-
jsercy: "\u0458",
|
|
299751
|
-
LJcy: "\u0409",
|
|
299752
|
-
ljcy: "\u0459",
|
|
299753
|
-
NJcy: "\u040A",
|
|
299754
|
-
njcy: "\u045A",
|
|
299755
|
-
TSHcy: "\u040B",
|
|
299756
|
-
tshcy: "\u045B",
|
|
299757
|
-
KJcy: "\u040C",
|
|
299758
|
-
kjcy: "\u045C",
|
|
299759
|
-
Ubrcy: "\u040E",
|
|
299760
|
-
ubrcy: "\u045E",
|
|
299761
|
-
DZcy: "\u040F",
|
|
299762
|
-
dzcy: "\u045F"
|
|
299763
|
-
};
|
|
299764
|
-
var MATH = {
|
|
299765
|
-
plus: "+",
|
|
299766
|
-
pm: "\xB1",
|
|
299767
|
-
times: "\xD7",
|
|
299768
|
-
div: "\xF7",
|
|
299769
|
-
divide: "\xF7",
|
|
299770
|
-
sdot: "\u22C5",
|
|
299771
|
-
star: "\u2606",
|
|
299772
|
-
starf: "\u2605",
|
|
299773
|
-
bigstar: "\u2605",
|
|
299774
|
-
lowast: "\u2217",
|
|
299775
|
-
ast: "*",
|
|
299776
|
-
midast: "*",
|
|
299777
|
-
compfn: "\u2218",
|
|
299778
|
-
smallcircle: "\u2218",
|
|
299779
|
-
bullet: "\u2022",
|
|
299780
|
-
bull: "\u2022",
|
|
299781
|
-
nbsp: "\xA0",
|
|
299782
|
-
hellip: "\u2026",
|
|
299783
|
-
mldr: "\u2026",
|
|
299784
|
-
prime: "\u2032",
|
|
299785
|
-
Prime: "\u2033",
|
|
299786
|
-
tprime: "\u2034",
|
|
299787
|
-
bprime: "\u2035",
|
|
299788
|
-
backprime: "\u2035",
|
|
299789
|
-
minus: "\u2212",
|
|
299790
|
-
minusd: "\u2238",
|
|
299791
|
-
dotminus: "\u2238",
|
|
299792
|
-
plusdo: "\u2214",
|
|
299793
|
-
dotplus: "\u2214",
|
|
299794
|
-
plusmn: "\xB1",
|
|
299795
|
-
minusplus: "\u2213",
|
|
299796
|
-
mnplus: "\u2213",
|
|
299797
|
-
mp: "\u2213",
|
|
299798
|
-
setminus: "\u2216",
|
|
299799
|
-
smallsetminus: "\u2216",
|
|
299800
|
-
Backslash: "\u2216",
|
|
299801
|
-
setmn: "\u2216",
|
|
299802
|
-
ssetmn: "\u2216",
|
|
299803
|
-
lowbar: "_",
|
|
299804
|
-
verbar: "|",
|
|
299805
|
-
vert: "|",
|
|
299806
|
-
VerticalLine: "|",
|
|
299807
|
-
colon: ":",
|
|
299808
|
-
Colon: "\u2237",
|
|
299809
|
-
Proportion: "\u2237",
|
|
299810
|
-
ratio: "\u2236",
|
|
299811
|
-
equals: "=",
|
|
299812
|
-
ne: "\u2260",
|
|
299813
|
-
nequiv: "\u2262",
|
|
299814
|
-
equiv: "\u2261",
|
|
299815
|
-
Congruent: "\u2261",
|
|
299816
|
-
sim: "\u223C",
|
|
299817
|
-
thicksim: "\u223C",
|
|
299818
|
-
thksim: "\u223C",
|
|
299819
|
-
sime: "\u2243",
|
|
299820
|
-
simeq: "\u2243",
|
|
299821
|
-
TildeEqual: "\u2243",
|
|
299822
|
-
asymp: "\u2248",
|
|
299823
|
-
approx: "\u2248",
|
|
299824
|
-
thickapprox: "\u2248",
|
|
299825
|
-
thkap: "\u2248",
|
|
299826
|
-
TildeTilde: "\u2248",
|
|
299827
|
-
ncong: "\u2247",
|
|
299828
|
-
cong: "\u2245",
|
|
299829
|
-
TildeFullEqual: "\u2245",
|
|
299830
|
-
asympeq: "\u224D",
|
|
299831
|
-
CupCap: "\u224D",
|
|
299832
|
-
bump: "\u224E",
|
|
299833
|
-
Bumpeq: "\u224E",
|
|
299834
|
-
HumpDownHump: "\u224E",
|
|
299835
|
-
bumpe: "\u224F",
|
|
299836
|
-
bumpeq: "\u224F",
|
|
299837
|
-
HumpEqual: "\u224F",
|
|
299838
|
-
le: "\u2264",
|
|
299839
|
-
LessEqual: "\u2264",
|
|
299840
|
-
ge: "\u2265",
|
|
299841
|
-
GreaterEqual: "\u2265",
|
|
299842
|
-
lesseqgtr: "\u22DA",
|
|
299843
|
-
lesseqqgtr: "\u2A8B",
|
|
299844
|
-
greater: ">",
|
|
299845
|
-
less: "<"
|
|
299846
|
-
};
|
|
299847
|
-
var MATH_ADVANCED = {
|
|
299848
|
-
alefsym: "\u2135",
|
|
299849
|
-
aleph: "\u2135",
|
|
299850
|
-
beth: "\u2136",
|
|
299851
|
-
gimel: "\u2137",
|
|
299852
|
-
daleth: "\u2138",
|
|
299853
|
-
forall: "\u2200",
|
|
299854
|
-
ForAll: "\u2200",
|
|
299855
|
-
part: "\u2202",
|
|
299856
|
-
PartialD: "\u2202",
|
|
299857
|
-
exist: "\u2203",
|
|
299858
|
-
Exists: "\u2203",
|
|
299859
|
-
nexist: "\u2204",
|
|
299860
|
-
nexists: "\u2204",
|
|
299861
|
-
empty: "\u2205",
|
|
299862
|
-
emptyset: "\u2205",
|
|
299863
|
-
emptyv: "\u2205",
|
|
299864
|
-
varnothing: "\u2205",
|
|
299865
|
-
nabla: "\u2207",
|
|
299866
|
-
Del: "\u2207",
|
|
299867
|
-
isin: "\u2208",
|
|
299868
|
-
isinv: "\u2208",
|
|
299869
|
-
in: "\u2208",
|
|
299870
|
-
Element: "\u2208",
|
|
299871
|
-
notin: "\u2209",
|
|
299872
|
-
notinva: "\u2209",
|
|
299873
|
-
ni: "\u220B",
|
|
299874
|
-
niv: "\u220B",
|
|
299875
|
-
SuchThat: "\u220B",
|
|
299876
|
-
ReverseElement: "\u220B",
|
|
299877
|
-
notni: "\u220C",
|
|
299878
|
-
notniva: "\u220C",
|
|
299879
|
-
prod: "\u220F",
|
|
299880
|
-
Product: "\u220F",
|
|
299881
|
-
coprod: "\u2210",
|
|
299882
|
-
Coproduct: "\u2210",
|
|
299883
|
-
sum: "\u2211",
|
|
299884
|
-
Sum: "\u2211",
|
|
299885
|
-
minus: "\u2212",
|
|
299886
|
-
mp: "\u2213",
|
|
299887
|
-
plusdo: "\u2214",
|
|
299888
|
-
dotplus: "\u2214",
|
|
299889
|
-
setminus: "\u2216",
|
|
299890
|
-
lowast: "\u2217",
|
|
299891
|
-
radic: "\u221A",
|
|
299892
|
-
Sqrt: "\u221A",
|
|
299893
|
-
prop: "\u221D",
|
|
299894
|
-
propto: "\u221D",
|
|
299895
|
-
Proportional: "\u221D",
|
|
299896
|
-
varpropto: "\u221D",
|
|
299897
|
-
infin: "\u221E",
|
|
299898
|
-
infintie: "\u29DD",
|
|
299899
|
-
ang: "\u2220",
|
|
299900
|
-
angle: "\u2220",
|
|
299901
|
-
angmsd: "\u2221",
|
|
299902
|
-
measuredangle: "\u2221",
|
|
299903
|
-
angsph: "\u2222",
|
|
299904
|
-
mid: "\u2223",
|
|
299905
|
-
VerticalBar: "\u2223",
|
|
299906
|
-
nmid: "\u2224",
|
|
299907
|
-
nsmid: "\u2224",
|
|
299908
|
-
npar: "\u2226",
|
|
299909
|
-
parallel: "\u2225",
|
|
299910
|
-
spar: "\u2225",
|
|
299911
|
-
nparallel: "\u2226",
|
|
299912
|
-
nspar: "\u2226",
|
|
299913
|
-
and: "\u2227",
|
|
299914
|
-
wedge: "\u2227",
|
|
299915
|
-
or: "\u2228",
|
|
299916
|
-
vee: "\u2228",
|
|
299917
|
-
cap: "\u2229",
|
|
299918
|
-
cup: "\u222A",
|
|
299919
|
-
int: "\u222B",
|
|
299920
|
-
Integral: "\u222B",
|
|
299921
|
-
conint: "\u222E",
|
|
299922
|
-
ContourIntegral: "\u222E",
|
|
299923
|
-
Conint: "\u222F",
|
|
299924
|
-
DoubleContourIntegral: "\u222F",
|
|
299925
|
-
Cconint: "\u2230",
|
|
299926
|
-
there4: "\u2234",
|
|
299927
|
-
therefore: "\u2234",
|
|
299928
|
-
Therefore: "\u2234",
|
|
299929
|
-
becaus: "\u2235",
|
|
299930
|
-
because: "\u2235",
|
|
299931
|
-
Because: "\u2235",
|
|
299932
|
-
ratio: "\u2236",
|
|
299933
|
-
Proportion: "\u2237",
|
|
299934
|
-
minusd: "\u2238",
|
|
299935
|
-
dotminus: "\u2238",
|
|
299936
|
-
mDDot: "\u223A",
|
|
299937
|
-
homtht: "\u223B",
|
|
299938
|
-
sim: "\u223C",
|
|
299939
|
-
bsimg: "\u223D",
|
|
299940
|
-
backsim: "\u223D",
|
|
299941
|
-
ac: "\u223E",
|
|
299942
|
-
mstpos: "\u223E",
|
|
299943
|
-
acd: "\u223F",
|
|
299944
|
-
VerticalTilde: "\u2240",
|
|
299945
|
-
wr: "\u2240",
|
|
299946
|
-
wreath: "\u2240",
|
|
299947
|
-
nsime: "\u2244",
|
|
299948
|
-
nsimeq: "\u2244",
|
|
299949
|
-
ncong: "\u2247",
|
|
299950
|
-
simne: "\u2246",
|
|
299951
|
-
ncongdot: "\u2A6D\u0338",
|
|
299952
|
-
ngsim: "\u2275",
|
|
299953
|
-
nsim: "\u2241",
|
|
299954
|
-
napprox: "\u2249",
|
|
299955
|
-
nap: "\u2249",
|
|
299956
|
-
ngeq: "\u2271",
|
|
299957
|
-
nge: "\u2271",
|
|
299958
|
-
nleq: "\u2270",
|
|
299959
|
-
nle: "\u2270",
|
|
299960
|
-
ngtr: "\u226F",
|
|
299961
|
-
ngt: "\u226F",
|
|
299962
|
-
nless: "\u226E",
|
|
299963
|
-
nlt: "\u226E",
|
|
299964
|
-
nprec: "\u2280",
|
|
299965
|
-
npr: "\u2280",
|
|
299966
|
-
nsucc: "\u2281",
|
|
299967
|
-
nsc: "\u2281"
|
|
299968
|
-
};
|
|
299969
|
-
var ARROWS = {
|
|
299970
|
-
larr: "\u2190",
|
|
299971
|
-
leftarrow: "\u2190",
|
|
299972
|
-
LeftArrow: "\u2190",
|
|
299973
|
-
uarr: "\u2191",
|
|
299974
|
-
uparrow: "\u2191",
|
|
299975
|
-
UpArrow: "\u2191",
|
|
299976
|
-
rarr: "\u2192",
|
|
299977
|
-
rightarrow: "\u2192",
|
|
299978
|
-
RightArrow: "\u2192",
|
|
299979
|
-
darr: "\u2193",
|
|
299980
|
-
downarrow: "\u2193",
|
|
299981
|
-
DownArrow: "\u2193",
|
|
299982
|
-
harr: "\u2194",
|
|
299983
|
-
leftrightarrow: "\u2194",
|
|
299984
|
-
LeftRightArrow: "\u2194",
|
|
299985
|
-
varr: "\u2195",
|
|
299986
|
-
updownarrow: "\u2195",
|
|
299987
|
-
UpDownArrow: "\u2195",
|
|
299988
|
-
nwarr: "\u2196",
|
|
299989
|
-
nwarrow: "\u2196",
|
|
299990
|
-
UpperLeftArrow: "\u2196",
|
|
299991
|
-
nearr: "\u2197",
|
|
299992
|
-
nearrow: "\u2197",
|
|
299993
|
-
UpperRightArrow: "\u2197",
|
|
299994
|
-
searr: "\u2198",
|
|
299995
|
-
searrow: "\u2198",
|
|
299996
|
-
LowerRightArrow: "\u2198",
|
|
299997
|
-
swarr: "\u2199",
|
|
299998
|
-
swarrow: "\u2199",
|
|
299999
|
-
LowerLeftArrow: "\u2199",
|
|
300000
|
-
lArr: "\u21D0",
|
|
300001
|
-
Leftarrow: "\u21D0",
|
|
300002
|
-
uArr: "\u21D1",
|
|
300003
|
-
Uparrow: "\u21D1",
|
|
300004
|
-
rArr: "\u21D2",
|
|
300005
|
-
Rightarrow: "\u21D2",
|
|
300006
|
-
dArr: "\u21D3",
|
|
300007
|
-
Downarrow: "\u21D3",
|
|
300008
|
-
hArr: "\u21D4",
|
|
300009
|
-
Leftrightarrow: "\u21D4",
|
|
300010
|
-
iff: "\u21D4",
|
|
300011
|
-
vArr: "\u21D5",
|
|
300012
|
-
Updownarrow: "\u21D5",
|
|
300013
|
-
lAarr: "\u21DA",
|
|
300014
|
-
Lleftarrow: "\u21DA",
|
|
300015
|
-
rAarr: "\u21DB",
|
|
300016
|
-
Rrightarrow: "\u21DB",
|
|
300017
|
-
lrarr: "\u21C6",
|
|
300018
|
-
leftrightarrows: "\u21C6",
|
|
300019
|
-
rlarr: "\u21C4",
|
|
300020
|
-
rightleftarrows: "\u21C4",
|
|
300021
|
-
lrhar: "\u21CB",
|
|
300022
|
-
leftrightharpoons: "\u21CB",
|
|
300023
|
-
ReverseEquilibrium: "\u21CB",
|
|
300024
|
-
rlhar: "\u21CC",
|
|
300025
|
-
rightleftharpoons: "\u21CC",
|
|
300026
|
-
Equilibrium: "\u21CC",
|
|
300027
|
-
udarr: "\u21C5",
|
|
300028
|
-
UpArrowDownArrow: "\u21C5",
|
|
300029
|
-
duarr: "\u21F5",
|
|
300030
|
-
DownArrowUpArrow: "\u21F5",
|
|
300031
|
-
llarr: "\u21C7",
|
|
300032
|
-
leftleftarrows: "\u21C7",
|
|
300033
|
-
rrarr: "\u21C9",
|
|
300034
|
-
rightrightarrows: "\u21C9",
|
|
300035
|
-
ddarr: "\u21CA",
|
|
300036
|
-
downdownarrows: "\u21CA",
|
|
300037
|
-
har: "\u21BD",
|
|
300038
|
-
lhard: "\u21BD",
|
|
300039
|
-
leftharpoondown: "\u21BD",
|
|
300040
|
-
lharu: "\u21BC",
|
|
300041
|
-
leftharpoonup: "\u21BC",
|
|
300042
|
-
rhard: "\u21C1",
|
|
300043
|
-
rightharpoondown: "\u21C1",
|
|
300044
|
-
rharu: "\u21C0",
|
|
300045
|
-
rightharpoonup: "\u21C0",
|
|
300046
|
-
lsh: "\u21B0",
|
|
300047
|
-
Lsh: "\u21B0",
|
|
300048
|
-
rsh: "\u21B1",
|
|
300049
|
-
Rsh: "\u21B1",
|
|
300050
|
-
ldsh: "\u21B2",
|
|
300051
|
-
rdsh: "\u21B3",
|
|
300052
|
-
hookleftarrow: "\u21A9",
|
|
300053
|
-
hookrightarrow: "\u21AA",
|
|
300054
|
-
mapstoleft: "\u21A4",
|
|
300055
|
-
mapstoup: "\u21A5",
|
|
300056
|
-
map: "\u21A6",
|
|
300057
|
-
mapsto: "\u21A6",
|
|
300058
|
-
mapstodown: "\u21A7",
|
|
300059
|
-
crarr: "\u21B5",
|
|
300060
|
-
nleftarrow: "\u219A",
|
|
300061
|
-
nleftrightarrow: "\u21AE",
|
|
300062
|
-
nrightarrow: "\u219B",
|
|
300063
|
-
nrarr: "\u219B",
|
|
300064
|
-
larrtl: "\u21A2",
|
|
300065
|
-
rarrtl: "\u21A3",
|
|
300066
|
-
leftarrowtail: "\u21A2",
|
|
300067
|
-
rightarrowtail: "\u21A3",
|
|
300068
|
-
twoheadleftarrow: "\u219E",
|
|
300069
|
-
twoheadrightarrow: "\u21A0",
|
|
300070
|
-
Larr: "\u219E",
|
|
300071
|
-
Rarr: "\u21A0",
|
|
300072
|
-
larrhk: "\u21A9",
|
|
300073
|
-
rarrhk: "\u21AA",
|
|
300074
|
-
larrlp: "\u21AB",
|
|
300075
|
-
looparrowleft: "\u21AB",
|
|
300076
|
-
rarrlp: "\u21AC",
|
|
300077
|
-
looparrowright: "\u21AC",
|
|
300078
|
-
harrw: "\u21AD",
|
|
300079
|
-
leftrightsquigarrow: "\u21AD",
|
|
300080
|
-
nrarrw: "\u219D\u0338",
|
|
300081
|
-
rarrw: "\u219D",
|
|
300082
|
-
rightsquigarrow: "\u219D",
|
|
300083
|
-
larrbfs: "\u291F",
|
|
300084
|
-
rarrbfs: "\u2920",
|
|
300085
|
-
nvHarr: "\u2904",
|
|
300086
|
-
nvlArr: "\u2902",
|
|
300087
|
-
nvrArr: "\u2903",
|
|
300088
|
-
larrfs: "\u291D",
|
|
300089
|
-
rarrfs: "\u291E",
|
|
300090
|
-
Map: "\u2905",
|
|
300091
|
-
larrsim: "\u2973",
|
|
300092
|
-
rarrsim: "\u2974",
|
|
300093
|
-
harrcir: "\u2948",
|
|
300094
|
-
Uarrocir: "\u2949",
|
|
300095
|
-
lurdshar: "\u294A",
|
|
300096
|
-
ldrdhar: "\u2967",
|
|
300097
|
-
ldrushar: "\u294B",
|
|
300098
|
-
rdldhar: "\u2969",
|
|
300099
|
-
lrhard: "\u296D",
|
|
300100
|
-
uharr: "\u21BE",
|
|
300101
|
-
uharl: "\u21BF",
|
|
300102
|
-
dharr: "\u21C2",
|
|
300103
|
-
dharl: "\u21C3",
|
|
300104
|
-
Uarr: "\u219F",
|
|
300105
|
-
Darr: "\u21A1",
|
|
300106
|
-
zigrarr: "\u21DD",
|
|
300107
|
-
nwArr: "\u21D6",
|
|
300108
|
-
neArr: "\u21D7",
|
|
300109
|
-
seArr: "\u21D8",
|
|
300110
|
-
swArr: "\u21D9",
|
|
300111
|
-
nharr: "\u21AE",
|
|
300112
|
-
nhArr: "\u21CE",
|
|
300113
|
-
nlarr: "\u219A",
|
|
300114
|
-
nlArr: "\u21CD",
|
|
300115
|
-
nrArr: "\u21CF",
|
|
300116
|
-
larrb: "\u21E4",
|
|
300117
|
-
LeftArrowBar: "\u21E4",
|
|
300118
|
-
rarrb: "\u21E5",
|
|
300119
|
-
RightArrowBar: "\u21E5"
|
|
300120
|
-
};
|
|
300121
|
-
var SHAPES = {
|
|
300122
|
-
square: "\u25A1",
|
|
300123
|
-
Square: "\u25A1",
|
|
300124
|
-
squ: "\u25A1",
|
|
300125
|
-
squf: "\u25AA",
|
|
300126
|
-
squarf: "\u25AA",
|
|
300127
|
-
blacksquar: "\u25AA",
|
|
300128
|
-
blacksquare: "\u25AA",
|
|
300129
|
-
FilledVerySmallSquare: "\u25AA",
|
|
300130
|
-
blk34: "\u2593",
|
|
300131
|
-
blk12: "\u2592",
|
|
300132
|
-
blk14: "\u2591",
|
|
300133
|
-
block: "\u2588",
|
|
300134
|
-
srect: "\u25AD",
|
|
300135
|
-
rect: "\u25AD",
|
|
300136
|
-
sdot: "\u22C5",
|
|
300137
|
-
sdotb: "\u22A1",
|
|
300138
|
-
dotsquare: "\u22A1",
|
|
300139
|
-
triangle: "\u25B5",
|
|
300140
|
-
tri: "\u25B5",
|
|
300141
|
-
trine: "\u25B5",
|
|
300142
|
-
utri: "\u25B5",
|
|
300143
|
-
triangledown: "\u25BF",
|
|
300144
|
-
dtri: "\u25BF",
|
|
300145
|
-
tridown: "\u25BF",
|
|
300146
|
-
triangleleft: "\u25C3",
|
|
300147
|
-
ltri: "\u25C3",
|
|
300148
|
-
triangleright: "\u25B9",
|
|
300149
|
-
rtri: "\u25B9",
|
|
300150
|
-
blacktriangle: "\u25B4",
|
|
300151
|
-
utrif: "\u25B4",
|
|
300152
|
-
blacktriangledown: "\u25BE",
|
|
300153
|
-
dtrif: "\u25BE",
|
|
300154
|
-
blacktriangleleft: "\u25C2",
|
|
300155
|
-
ltrif: "\u25C2",
|
|
300156
|
-
blacktriangleright: "\u25B8",
|
|
300157
|
-
rtrif: "\u25B8",
|
|
300158
|
-
loz: "\u25CA",
|
|
300159
|
-
lozenge: "\u25CA",
|
|
300160
|
-
blacklozenge: "\u29EB",
|
|
300161
|
-
lozf: "\u29EB",
|
|
300162
|
-
bigcirc: "\u25EF",
|
|
300163
|
-
xcirc: "\u25EF",
|
|
300164
|
-
circ: "\u02C6",
|
|
300165
|
-
Circle: "\u25CB",
|
|
300166
|
-
cir: "\u25CB",
|
|
300167
|
-
o: "\u25CB",
|
|
300168
|
-
bullet: "\u2022",
|
|
300169
|
-
bull: "\u2022",
|
|
300170
|
-
hellip: "\u2026",
|
|
300171
|
-
mldr: "\u2026",
|
|
300172
|
-
nldr: "\u2025",
|
|
300173
|
-
boxh: "\u2500",
|
|
300174
|
-
HorizontalLine: "\u2500",
|
|
300175
|
-
boxv: "\u2502",
|
|
300176
|
-
boxdr: "\u250C",
|
|
300177
|
-
boxdl: "\u2510",
|
|
300178
|
-
boxur: "\u2514",
|
|
300179
|
-
boxul: "\u2518",
|
|
300180
|
-
boxvr: "\u251C",
|
|
300181
|
-
boxvl: "\u2524",
|
|
300182
|
-
boxhd: "\u252C",
|
|
300183
|
-
boxhu: "\u2534",
|
|
300184
|
-
boxvh: "\u253C",
|
|
300185
|
-
boxH: "\u2550",
|
|
300186
|
-
boxV: "\u2551",
|
|
300187
|
-
boxdR: "\u2552",
|
|
300188
|
-
boxDr: "\u2553",
|
|
300189
|
-
boxDR: "\u2554",
|
|
300190
|
-
boxDl: "\u2555",
|
|
300191
|
-
boxdL: "\u2556",
|
|
300192
|
-
boxDL: "\u2557",
|
|
300193
|
-
boxuR: "\u2558",
|
|
300194
|
-
boxUr: "\u2559",
|
|
300195
|
-
boxUR: "\u255A",
|
|
300196
|
-
boxUl: "\u255C",
|
|
300197
|
-
boxuL: "\u255B",
|
|
300198
|
-
boxUL: "\u255D",
|
|
300199
|
-
boxvR: "\u255E",
|
|
300200
|
-
boxVr: "\u255F",
|
|
300201
|
-
boxVR: "\u2560",
|
|
300202
|
-
boxVl: "\u2562",
|
|
300203
|
-
boxvL: "\u2561",
|
|
300204
|
-
boxVL: "\u2563",
|
|
300205
|
-
boxHd: "\u2564",
|
|
300206
|
-
boxhD: "\u2565",
|
|
300207
|
-
boxHD: "\u2566",
|
|
300208
|
-
boxHu: "\u2567",
|
|
300209
|
-
boxhU: "\u2568",
|
|
300210
|
-
boxHU: "\u2569",
|
|
300211
|
-
boxvH: "\u256A",
|
|
300212
|
-
boxVh: "\u256B",
|
|
300213
|
-
boxVH: "\u256C"
|
|
300214
|
-
};
|
|
300215
|
-
var PUNCTUATION = {
|
|
300216
|
-
excl: "!",
|
|
300217
|
-
iexcl: "\xA1",
|
|
300218
|
-
brvbar: "\xA6",
|
|
300219
|
-
sect: "\xA7",
|
|
300220
|
-
uml: "\xA8",
|
|
300221
|
-
copy: "\xA9",
|
|
300222
|
-
ordf: "\xAA",
|
|
300223
|
-
laquo: "\xAB",
|
|
300224
|
-
not: "\xAC",
|
|
300225
|
-
shy: "\xAD",
|
|
300226
|
-
reg: "\xAE",
|
|
300227
|
-
macr: "\xAF",
|
|
300228
|
-
deg: "\xB0",
|
|
300229
|
-
plusmn: "\xB1",
|
|
300230
|
-
sup2: "\xB2",
|
|
300231
|
-
sup3: "\xB3",
|
|
300232
|
-
acute: "\xB4",
|
|
300233
|
-
micro: "\xB5",
|
|
300234
|
-
para: "\xB6",
|
|
300235
|
-
middot: "\xB7",
|
|
300236
|
-
cedil: "\xB8",
|
|
300237
|
-
sup1: "\xB9",
|
|
300238
|
-
ordm: "\xBA",
|
|
300239
|
-
raquo: "\xBB",
|
|
300240
|
-
frac14: "\xBC",
|
|
300241
|
-
frac12: "\xBD",
|
|
300242
|
-
frac34: "\xBE",
|
|
300243
|
-
iquest: "\xBF",
|
|
300244
|
-
nbsp: "\xA0",
|
|
300245
|
-
comma: ",",
|
|
300246
|
-
period: ".",
|
|
300247
|
-
colon: ":",
|
|
300248
|
-
semi: ";",
|
|
300249
|
-
vert: "|",
|
|
300250
|
-
Verbar: "\u2016",
|
|
300251
|
-
verbar: "|",
|
|
300252
|
-
dblac: "\u02DD",
|
|
300253
|
-
circ: "\u02C6",
|
|
300254
|
-
caron: "\u02C7",
|
|
300255
|
-
breve: "\u02D8",
|
|
300256
|
-
dot: "\u02D9",
|
|
300257
|
-
ring: "\u02DA",
|
|
300258
|
-
ogon: "\u02DB",
|
|
300259
|
-
tilde: "\u02DC",
|
|
300260
|
-
DiacriticalGrave: "`",
|
|
300261
|
-
DiacriticalAcute: "\xB4",
|
|
300262
|
-
DiacriticalTilde: "\u02DC",
|
|
300263
|
-
DiacriticalDot: "\u02D9",
|
|
300264
|
-
DiacriticalDoubleAcute: "\u02DD",
|
|
300265
|
-
grave: "`"
|
|
300266
|
-
};
|
|
300267
299422
|
var CURRENCY = {
|
|
300268
299423
|
cent: "\xA2",
|
|
300269
299424
|
pound: "\xA3",
|
|
@@ -300281,106 +299436,6 @@ var CURRENCY = {
|
|
|
300281
299436
|
yuan: "\xA5",
|
|
300282
299437
|
cedil: "\xB8"
|
|
300283
299438
|
};
|
|
300284
|
-
var FRACTIONS = {
|
|
300285
|
-
frac12: "\xBD",
|
|
300286
|
-
half: "\xBD",
|
|
300287
|
-
frac13: "\u2153",
|
|
300288
|
-
frac14: "\xBC",
|
|
300289
|
-
frac15: "\u2155",
|
|
300290
|
-
frac16: "\u2159",
|
|
300291
|
-
frac18: "\u215B",
|
|
300292
|
-
frac23: "\u2154",
|
|
300293
|
-
frac25: "\u2156",
|
|
300294
|
-
frac34: "\xBE",
|
|
300295
|
-
frac35: "\u2157",
|
|
300296
|
-
frac38: "\u215C",
|
|
300297
|
-
frac45: "\u2158",
|
|
300298
|
-
frac56: "\u215A",
|
|
300299
|
-
frac58: "\u215D",
|
|
300300
|
-
frac78: "\u215E",
|
|
300301
|
-
frasl: "\u2044"
|
|
300302
|
-
};
|
|
300303
|
-
var MISC_SYMBOLS = {
|
|
300304
|
-
trade: "\u2122",
|
|
300305
|
-
TRADE: "\u2122",
|
|
300306
|
-
telrec: "\u2315",
|
|
300307
|
-
target: "\u2316",
|
|
300308
|
-
ulcorn: "\u231C",
|
|
300309
|
-
ulcorner: "\u231C",
|
|
300310
|
-
urcorn: "\u231D",
|
|
300311
|
-
urcorner: "\u231D",
|
|
300312
|
-
dlcorn: "\u231E",
|
|
300313
|
-
llcorner: "\u231E",
|
|
300314
|
-
drcorn: "\u231F",
|
|
300315
|
-
lrcorner: "\u231F",
|
|
300316
|
-
intercal: "\u22BA",
|
|
300317
|
-
intcal: "\u22BA",
|
|
300318
|
-
oplus: "\u2295",
|
|
300319
|
-
CirclePlus: "\u2295",
|
|
300320
|
-
ominus: "\u2296",
|
|
300321
|
-
CircleMinus: "\u2296",
|
|
300322
|
-
otimes: "\u2297",
|
|
300323
|
-
CircleTimes: "\u2297",
|
|
300324
|
-
osol: "\u2298",
|
|
300325
|
-
odot: "\u2299",
|
|
300326
|
-
CircleDot: "\u2299",
|
|
300327
|
-
oast: "\u229B",
|
|
300328
|
-
circledast: "\u229B",
|
|
300329
|
-
odash: "\u229D",
|
|
300330
|
-
circleddash: "\u229D",
|
|
300331
|
-
ocirc: "\u229A",
|
|
300332
|
-
circledcirc: "\u229A",
|
|
300333
|
-
boxplus: "\u229E",
|
|
300334
|
-
plusb: "\u229E",
|
|
300335
|
-
boxminus: "\u229F",
|
|
300336
|
-
minusb: "\u229F",
|
|
300337
|
-
boxtimes: "\u22A0",
|
|
300338
|
-
timesb: "\u22A0",
|
|
300339
|
-
boxdot: "\u22A1",
|
|
300340
|
-
sdotb: "\u22A1",
|
|
300341
|
-
veebar: "\u22BB",
|
|
300342
|
-
vee: "\u2228",
|
|
300343
|
-
barvee: "\u22BD",
|
|
300344
|
-
and: "\u2227",
|
|
300345
|
-
wedge: "\u2227",
|
|
300346
|
-
Cap: "\u22D2",
|
|
300347
|
-
Cup: "\u22D3",
|
|
300348
|
-
Fork: "\u22D4",
|
|
300349
|
-
pitchfork: "\u22D4",
|
|
300350
|
-
epar: "\u22D5",
|
|
300351
|
-
ltlarr: "\u2976",
|
|
300352
|
-
nvap: "\u224D\u20D2",
|
|
300353
|
-
nvsim: "\u223C\u20D2",
|
|
300354
|
-
nvge: "\u2265\u20D2",
|
|
300355
|
-
nvle: "\u2264\u20D2",
|
|
300356
|
-
nvlt: "<\u20D2",
|
|
300357
|
-
nvgt: ">\u20D2",
|
|
300358
|
-
nvltrie: "\u22B4\u20D2",
|
|
300359
|
-
nvrtrie: "\u22B5\u20D2",
|
|
300360
|
-
Vdash: "\u22A9",
|
|
300361
|
-
dashv: "\u22A3",
|
|
300362
|
-
vDash: "\u22A8",
|
|
300363
|
-
Vvdash: "\u22AA",
|
|
300364
|
-
nvdash: "\u22AC",
|
|
300365
|
-
nvDash: "\u22AD",
|
|
300366
|
-
nVdash: "\u22AE",
|
|
300367
|
-
nVDash: "\u22AF"
|
|
300368
|
-
};
|
|
300369
|
-
var ALL_ENTITIES = {
|
|
300370
|
-
...BASIC_LATIN,
|
|
300371
|
-
...LATIN_ACCENTS,
|
|
300372
|
-
...LATIN_EXTENDED,
|
|
300373
|
-
...GREEK,
|
|
300374
|
-
...CYRILLIC,
|
|
300375
|
-
...MATH,
|
|
300376
|
-
...MATH_ADVANCED,
|
|
300377
|
-
...ARROWS,
|
|
300378
|
-
...SHAPES,
|
|
300379
|
-
...PUNCTUATION,
|
|
300380
|
-
...CURRENCY,
|
|
300381
|
-
...FRACTIONS,
|
|
300382
|
-
...MISC_SYMBOLS
|
|
300383
|
-
};
|
|
300384
299439
|
var XML = {
|
|
300385
299440
|
amp: "&",
|
|
300386
299441
|
apos: "'",
|
|
@@ -301024,7 +300079,7 @@ var XmlNode = class {
|
|
|
301024
300079
|
}
|
|
301025
300080
|
};
|
|
301026
300081
|
|
|
301027
|
-
// node_modules/xml-naming/src/index.js
|
|
300082
|
+
// node_modules/fast-xml-parser/node_modules/xml-naming/src/index.js
|
|
301028
300083
|
var nameStartChar10 = ":A-Za-z_\xC0-\xD6\xD8-\xF6\xF8-\u02FF\u0370-\u037D\u037F-\u0486\u0488-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD";
|
|
301029
300084
|
var nameChar10 = nameStartChar10 + "\\-\\.\\d\xB7\u0300-\u036F\u203F-\u2040";
|
|
301030
300085
|
var nameStartChar11 = ":A-Za-z_\xC0-\u02FF\u0370-\u037D\u037F-\u0486\u0488-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\u{EFFFF}";
|
|
@@ -301043,8 +300098,14 @@ var buildRegexes = (startChar, char, flags = "") => {
|
|
|
301043
300098
|
};
|
|
301044
300099
|
var regexes10 = buildRegexes(nameStartChar10, nameChar10);
|
|
301045
300100
|
var regexes11 = buildRegexes(nameStartChar11, nameChar11, "u");
|
|
301046
|
-
var
|
|
301047
|
-
var
|
|
300101
|
+
var nameStartCharAscii = ":A-Za-z_";
|
|
300102
|
+
var nameCharAscii = nameStartCharAscii + "\\-\\.\\d";
|
|
300103
|
+
var regexesAscii = buildRegexes(nameStartCharAscii, nameCharAscii);
|
|
300104
|
+
var getRegexes = (xmlVersion = "1.0", asciiOnly = false) => {
|
|
300105
|
+
if (asciiOnly) return regexesAscii;
|
|
300106
|
+
return xmlVersion === "1.1" ? regexes11 : regexes10;
|
|
300107
|
+
};
|
|
300108
|
+
var qName = (str, { xmlVersion = "1.0", asciiOnly = false } = {}) => getRegexes(xmlVersion, asciiOnly).qName.test(str);
|
|
301048
300109
|
|
|
301049
300110
|
// node_modules/fast-xml-parser/src/xmlparser/DocTypeReader.js
|
|
301050
300111
|
var DocTypeReader = class {
|
|
@@ -302206,17 +301267,16 @@ var Matcher = class {
|
|
|
302206
301267
|
this.path[this.path.length - 1].values = void 0;
|
|
302207
301268
|
}
|
|
302208
301269
|
const currentLevel = this.path.length;
|
|
302209
|
-
|
|
302210
|
-
|
|
301270
|
+
let level = this.siblingStacks[currentLevel];
|
|
301271
|
+
if (!level) {
|
|
301272
|
+
level = { counts: /* @__PURE__ */ new Map(), total: 0 };
|
|
301273
|
+
this.siblingStacks[currentLevel] = level;
|
|
302211
301274
|
}
|
|
302212
|
-
const siblings = this.siblingStacks[currentLevel];
|
|
302213
301275
|
const siblingKey = namespace ? `${namespace}:${tagName}` : tagName;
|
|
302214
|
-
const counter =
|
|
302215
|
-
|
|
302216
|
-
|
|
302217
|
-
|
|
302218
|
-
}
|
|
302219
|
-
siblings.set(siblingKey, counter + 1);
|
|
301276
|
+
const counter = level.counts.get(siblingKey) || 0;
|
|
301277
|
+
const position = level.total;
|
|
301278
|
+
level.counts.set(siblingKey, counter + 1);
|
|
301279
|
+
level.total++;
|
|
302220
301280
|
const node = {
|
|
302221
301281
|
tag: tagName,
|
|
302222
301282
|
position,
|
|
@@ -302525,7 +301585,7 @@ var Matcher = class {
|
|
|
302525
301585
|
snapshot() {
|
|
302526
301586
|
return {
|
|
302527
301587
|
path: this.path.map((node) => ({ ...node })),
|
|
302528
|
-
siblingStacks: this.siblingStacks.map((
|
|
301588
|
+
siblingStacks: this.siblingStacks.map((level) => level ? { counts: new Map(level.counts), total: level.total } : level),
|
|
302529
301589
|
keptAttrs: this._keptAttrs.map((entry) => ({ ...entry }))
|
|
302530
301590
|
};
|
|
302531
301591
|
}
|
|
@@ -302536,7 +301596,7 @@ var Matcher = class {
|
|
|
302536
301596
|
restore(snapshot) {
|
|
302537
301597
|
this._pathStringCache = null;
|
|
302538
301598
|
this.path = snapshot.path.map((node) => ({ ...node }));
|
|
302539
|
-
this.siblingStacks = snapshot.siblingStacks.map((
|
|
301599
|
+
this.siblingStacks = snapshot.siblingStacks.map((level) => level ? { counts: new Map(level.counts), total: level.total } : level);
|
|
302540
301600
|
this._keptAttrs = (snapshot.keptAttrs || []).map((entry) => ({ ...entry }));
|
|
302541
301601
|
}
|
|
302542
301602
|
/**
|
|
@@ -302874,27 +301934,6 @@ var SQL_PATTERNS = [
|
|
|
302874
301934
|
];
|
|
302875
301935
|
var sql_default = SQL_PATTERNS;
|
|
302876
301936
|
|
|
302877
|
-
// node_modules/is-unsafe/src/contexts/sql-strict.js
|
|
302878
|
-
var SQL_STRICT_EXTRA = [
|
|
302879
|
-
{
|
|
302880
|
-
id: "sql-line-comment",
|
|
302881
|
-
description: "SQL line comment: -- followed by whitespace or end of string",
|
|
302882
|
-
pattern: /--(?:\s|$)/
|
|
302883
|
-
},
|
|
302884
|
-
{
|
|
302885
|
-
id: "sql-stacked-query",
|
|
302886
|
-
description: "Stacked queries: semicolon immediately followed by a SQL keyword",
|
|
302887
|
-
pattern: /;\s{0,10}(?:SELECT|INSERT|UPDATE|DELETE|DROP|CREATE|ALTER|EXEC)\b/i
|
|
302888
|
-
},
|
|
302889
|
-
{
|
|
302890
|
-
id: "sql-hex-encoding",
|
|
302891
|
-
description: "Hex-encoded string injection: 0x41414141 style (MySQL)",
|
|
302892
|
-
pattern: /\b0x[0-9a-f]{4,}/i
|
|
302893
|
-
}
|
|
302894
|
-
];
|
|
302895
|
-
var SQL_STRICT_PATTERNS = [...sql_default, ...SQL_STRICT_EXTRA];
|
|
302896
|
-
var sql_strict_default = SQL_STRICT_PATTERNS;
|
|
302897
|
-
|
|
302898
301937
|
// node_modules/is-unsafe/src/contexts/shell.js
|
|
302899
301938
|
var SHELL_PATTERNS = [
|
|
302900
301939
|
{
|
|
@@ -303206,8 +302245,38 @@ var LOG_PATTERNS = [
|
|
|
303206
302245
|
];
|
|
303207
302246
|
var log_default = LOG_PATTERNS;
|
|
303208
302247
|
|
|
303209
|
-
// node_modules/is-unsafe/src/
|
|
303210
|
-
var
|
|
302248
|
+
// node_modules/is-unsafe/src/contexts/sql-strict.js
|
|
302249
|
+
var SQL_STRICT_EXTRA = [
|
|
302250
|
+
{
|
|
302251
|
+
id: "sql-line-comment",
|
|
302252
|
+
description: "SQL line comment: -- followed by whitespace or end of string",
|
|
302253
|
+
pattern: /--(?:\s|$)/
|
|
302254
|
+
},
|
|
302255
|
+
{
|
|
302256
|
+
id: "sql-stacked-query",
|
|
302257
|
+
description: "Stacked queries: semicolon immediately followed by a SQL keyword",
|
|
302258
|
+
pattern: /;\s{0,10}(?:SELECT|INSERT|UPDATE|DELETE|DROP|CREATE|ALTER|EXEC)\b/i
|
|
302259
|
+
},
|
|
302260
|
+
{
|
|
302261
|
+
id: "sql-hex-encoding",
|
|
302262
|
+
description: "Hex-encoded string injection: 0x41414141 style (MySQL)",
|
|
302263
|
+
pattern: /\b0x[0-9a-f]{4,}/i
|
|
302264
|
+
}
|
|
302265
|
+
];
|
|
302266
|
+
var SQL_STRICT_PATTERNS = [...sql_default, ...SQL_STRICT_EXTRA];
|
|
302267
|
+
var sql_strict_default = SQL_STRICT_PATTERNS;
|
|
302268
|
+
|
|
302269
|
+
// node_modules/is-unsafe/src/index.js
|
|
302270
|
+
html_default.label = "HTML";
|
|
302271
|
+
xml_default.label = "XML";
|
|
302272
|
+
svg_default.label = "SVG";
|
|
302273
|
+
sql_default.label = "SQL";
|
|
302274
|
+
sql_strict_default.label = "SQL-STRICT";
|
|
302275
|
+
shell_default.label = "SHELL";
|
|
302276
|
+
redos_default.label = "REDOS";
|
|
302277
|
+
nosql_default.label = "NOSQL";
|
|
302278
|
+
log_default.label = "LOG";
|
|
302279
|
+
var VALID_CONTEXTS = Object.freeze({
|
|
303211
302280
|
HTML: html_default,
|
|
303212
302281
|
XML: xml_default,
|
|
303213
302282
|
SVG: svg_default,
|
|
@@ -303217,13 +302286,7 @@ var CONTEXT_REGISTRY = {
|
|
|
303217
302286
|
REDOS: redos_default,
|
|
303218
302287
|
NOSQL: nosql_default,
|
|
303219
302288
|
LOG: log_default
|
|
303220
|
-
};
|
|
303221
|
-
var registry_default = CONTEXT_REGISTRY;
|
|
303222
|
-
var VALID_CONTEXTS = Object.freeze(
|
|
303223
|
-
Object.fromEntries(Object.keys(CONTEXT_REGISTRY).map((k) => [k, k]))
|
|
303224
|
-
);
|
|
303225
|
-
|
|
303226
|
-
// node_modules/is-unsafe/src/index.js
|
|
302289
|
+
});
|
|
303227
302290
|
function assertString(value) {
|
|
303228
302291
|
if (typeof value !== "string") {
|
|
303229
302292
|
throw new TypeError(
|
|
@@ -303233,36 +302296,35 @@ function assertString(value) {
|
|
|
303233
302296
|
}
|
|
303234
302297
|
function assertContext(context) {
|
|
303235
302298
|
if (context instanceof RegExp) return;
|
|
303236
|
-
if (typeof context === "string") {
|
|
303237
|
-
if (!registry_default[context]) {
|
|
303238
|
-
throw new TypeError(
|
|
303239
|
-
`is-unsafe: unknown context "${context}". Valid contexts: ${Object.keys(VALID_CONTEXTS).join(", ")}`
|
|
303240
|
-
);
|
|
303241
|
-
}
|
|
303242
|
-
return;
|
|
303243
|
-
}
|
|
303244
302299
|
if (Array.isArray(context)) {
|
|
303245
302300
|
if (context.length === 0) {
|
|
303246
|
-
throw new TypeError("is-unsafe: context
|
|
302301
|
+
throw new TypeError("is-unsafe: context must not be an empty array");
|
|
303247
302302
|
}
|
|
303248
|
-
|
|
303249
|
-
|
|
303250
|
-
|
|
303251
|
-
|
|
303252
|
-
|
|
302303
|
+
if (Array.isArray(context[0])) {
|
|
302304
|
+
for (const list of context) {
|
|
302305
|
+
if (!Array.isArray(list) || list.length === 0) {
|
|
302306
|
+
throw new TypeError(
|
|
302307
|
+
"is-unsafe: each context in the array must be a non-empty pattern array (PatternList)"
|
|
302308
|
+
);
|
|
302309
|
+
}
|
|
303253
302310
|
}
|
|
303254
302311
|
}
|
|
303255
302312
|
return;
|
|
303256
302313
|
}
|
|
303257
302314
|
throw new TypeError(
|
|
303258
|
-
`is-unsafe: second argument must be a
|
|
302315
|
+
`is-unsafe: second argument must be a PatternList (e.g. HTML), an array of PatternLists (e.g. [HTML, XML]), or a RegExp. Got: ${typeof context}`
|
|
303259
302316
|
);
|
|
303260
302317
|
}
|
|
303261
|
-
function
|
|
303262
|
-
|
|
303263
|
-
|
|
302318
|
+
function normalise(context) {
|
|
302319
|
+
if (context instanceof RegExp) return { lists: null, regex: context };
|
|
302320
|
+
if (Array.isArray(context[0])) return { lists: context, regex: null };
|
|
302321
|
+
return { lists: [context], regex: null };
|
|
302322
|
+
}
|
|
302323
|
+
function matchList(value, list) {
|
|
302324
|
+
const label = list.label ?? "CUSTOM";
|
|
302325
|
+
for (const rule of list) {
|
|
303264
302326
|
if (rule.pattern.test(value)) {
|
|
303265
|
-
return { context:
|
|
302327
|
+
return { context: label, id: rule.id, description: rule.description, pattern: rule.pattern };
|
|
303266
302328
|
}
|
|
303267
302329
|
}
|
|
303268
302330
|
return null;
|
|
@@ -303270,14 +302332,10 @@ function matchContext(value, contextName) {
|
|
|
303270
302332
|
function isUnsafe(value, context) {
|
|
303271
302333
|
assertString(value);
|
|
303272
302334
|
assertContext(context);
|
|
303273
|
-
|
|
303274
|
-
|
|
303275
|
-
|
|
303276
|
-
|
|
303277
|
-
return matchContext(value, context) !== null;
|
|
303278
|
-
}
|
|
303279
|
-
for (const c of context) {
|
|
303280
|
-
if (matchContext(value, c) !== null) return true;
|
|
302335
|
+
const { lists, regex } = normalise(context);
|
|
302336
|
+
if (regex) return regex.test(value);
|
|
302337
|
+
for (const list of lists) {
|
|
302338
|
+
if (matchList(value, list) !== null) return true;
|
|
303281
302339
|
}
|
|
303282
302340
|
return false;
|
|
303283
302341
|
}
|
|
@@ -303326,6 +302384,7 @@ var OrderedObjParser = class {
|
|
|
303326
302384
|
this.ignoreAttributesFn = getIgnoreAttributesFn(this.options.ignoreAttributes);
|
|
303327
302385
|
this.entityExpansionCount = 0;
|
|
303328
302386
|
this.currentExpandedLength = 0;
|
|
302387
|
+
this.doctypefound = false;
|
|
303329
302388
|
let namedEntities = { ...XML };
|
|
303330
302389
|
if (this.options.entityDecoder) {
|
|
303331
302390
|
this.entityDecoder = this.options.entityDecoder;
|
|
@@ -303343,7 +302402,7 @@ var OrderedObjParser = class {
|
|
|
303343
302402
|
// onExternalEntity: (name, value) => isUnsafe(value) ? 'block' : 'allow',
|
|
303344
302403
|
onInputEntity: (name, value) => (
|
|
303345
302404
|
//TODO: VALID_CONTEXTS.HTML should be set only if this.options.htmlEntities
|
|
303346
|
-
isUnsafe(value, [
|
|
302405
|
+
isUnsafe(value, [html_default, xml_default]) ? ENTITY_ACTION.BLOCK : ENTITY_ACTION.ALLOW
|
|
303347
302406
|
)
|
|
303348
302407
|
//postCheck: resolved => resolved
|
|
303349
302408
|
});
|
|
@@ -303477,6 +302536,7 @@ var parseXml = function(xmlData) {
|
|
|
303477
302536
|
this.entityDecoder.reset();
|
|
303478
302537
|
this.entityExpansionCount = 0;
|
|
303479
302538
|
this.currentExpandedLength = 0;
|
|
302539
|
+
this.doctypefound = false;
|
|
303480
302540
|
const options = this.options;
|
|
303481
302541
|
const docTypeReader = new DocTypeReader(options.processEntities);
|
|
303482
302542
|
const xmlLen = xmlData.length;
|
|
@@ -303539,6 +302599,8 @@ var parseXml = function(xmlData) {
|
|
|
303539
302599
|
}
|
|
303540
302600
|
i = endIndex;
|
|
303541
302601
|
} else if (c1 === 33 && xmlData.charCodeAt(i + 2) === 68) {
|
|
302602
|
+
if (this.doctypefound) throw new Error("Multiple DOCTYPE declarations found.");
|
|
302603
|
+
this.doctypefound = true;
|
|
303542
302604
|
const result = docTypeReader.readDocType(xmlData, i);
|
|
303543
302605
|
this.entityDecoder.addInputEntities(result.entities);
|
|
303544
302606
|
i = result.i;
|
|
@@ -312913,8 +311975,8 @@ function resolveInputs(env = process.env) {
|
|
|
312913
311975
|
breakingSummaryPath: getInput2("breaking-summary-path", env),
|
|
312914
311976
|
breakingLogPath: getInput2("breaking-log-path", env),
|
|
312915
311977
|
governanceMappingJson: parseGovernanceMappingJson(getInput2("governance-mapping-json", env)),
|
|
312916
|
-
postmanApiKey: getInput2("postman-api-key", env)
|
|
312917
|
-
postmanAccessToken: getInput2("postman-access-token", env),
|
|
311978
|
+
postmanApiKey: getInput2("postman-api-key", env) || env.POSTMAN_API_KEY || "",
|
|
311979
|
+
postmanAccessToken: getInput2("postman-access-token", env) || env.POSTMAN_ACCESS_TOKEN,
|
|
312918
311980
|
credentialPreflight: parseEnumInput(
|
|
312919
311981
|
"credential-preflight",
|
|
312920
311982
|
getInput2("credential-preflight", env),
|
|
@@ -313073,8 +312135,8 @@ function readActionInputs(actionCore) {
|
|
|
313073
312135
|
if (specUrl && specPath) {
|
|
313074
312136
|
throw new Error("Provide either spec-url or spec-path, not both.");
|
|
313075
312137
|
}
|
|
313076
|
-
const postmanApiKey = optionalInput(actionCore, "postman-api-key")
|
|
313077
|
-
const postmanAccessToken = optionalInput(actionCore, "postman-access-token");
|
|
312138
|
+
const postmanApiKey = optionalInput(actionCore, "postman-api-key") || process.env.POSTMAN_API_KEY || "";
|
|
312139
|
+
const postmanAccessToken = optionalInput(actionCore, "postman-access-token") || process.env.POSTMAN_ACCESS_TOKEN;
|
|
313078
312140
|
const githubToken = optionalInput(actionCore, "github-token") || process.env.GITHUB_TOKEN;
|
|
313079
312141
|
const ghFallbackToken = optionalInput(actionCore, "gh-fallback-token") || process.env.GH_FALLBACK_TOKEN;
|
|
313080
312142
|
if (postmanApiKey) actionCore.setSecret(postmanApiKey);
|