@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/index.cjs
CHANGED
|
@@ -259433,6 +259433,18 @@ async function retry(operation, options = {}) {
|
|
|
259433
259433
|
}
|
|
259434
259434
|
throw new Error("Retry exhausted without returning or throwing");
|
|
259435
259435
|
}
|
|
259436
|
+
function fullJitterDelayMs(attempt, baseMs, capMs, random = Math.random) {
|
|
259437
|
+
const ceiling = Math.min(capMs, baseMs * 2 ** Math.max(0, attempt));
|
|
259438
|
+
return Math.floor(random() * Math.max(0, ceiling));
|
|
259439
|
+
}
|
|
259440
|
+
function parseRetryAfterMs2(value) {
|
|
259441
|
+
if (!value) return void 0;
|
|
259442
|
+
const trimmed = value.trim();
|
|
259443
|
+
if (/^\d+$/.test(trimmed)) return Number(trimmed) * 1e3;
|
|
259444
|
+
const when = Date.parse(trimmed);
|
|
259445
|
+
if (!Number.isNaN(when)) return Math.max(0, when - Date.now());
|
|
259446
|
+
return void 0;
|
|
259447
|
+
}
|
|
259436
259448
|
|
|
259437
259449
|
// src/lib/postman/postman-ec-client.ts
|
|
259438
259450
|
var EC_WRITE_MAX_ATTEMPTS = 3;
|
|
@@ -264046,6 +264058,12 @@ var BOOTSTRAP_BARE_UUID_RE = /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9
|
|
|
264046
264058
|
function isMissingPatchValueError(error2) {
|
|
264047
264059
|
return error2 instanceof HttpError && error2.status === 400 && error2.responseBody.includes("Remove operation must point to an existing value");
|
|
264048
264060
|
}
|
|
264061
|
+
function isRejectedPatchError(error2) {
|
|
264062
|
+
return error2 instanceof HttpError && error2.status === 400 && /REJECTED_PATCH|must update at least one/i.test(
|
|
264063
|
+
`${error2.message}
|
|
264064
|
+
${error2.responseBody ?? ""}`
|
|
264065
|
+
);
|
|
264066
|
+
}
|
|
264049
264067
|
function canonicalize(value) {
|
|
264050
264068
|
if (Array.isArray(value)) return value.map(canonicalize);
|
|
264051
264069
|
if (value && typeof value === "object") {
|
|
@@ -264109,6 +264127,7 @@ var PostmanGatewayAssetsClient = class _PostmanGatewayAssetsClient {
|
|
|
264109
264127
|
static DEFAULT_GENERATION_POLL_DELAY_MS = 2e3;
|
|
264110
264128
|
gateway;
|
|
264111
264129
|
sleep;
|
|
264130
|
+
random;
|
|
264112
264131
|
generationPollAttempts;
|
|
264113
264132
|
generationPollDelayMs;
|
|
264114
264133
|
createIdentity;
|
|
@@ -264116,6 +264135,7 @@ var PostmanGatewayAssetsClient = class _PostmanGatewayAssetsClient {
|
|
|
264116
264135
|
this.gateway = options.gateway;
|
|
264117
264136
|
this.createIdentity = options.createIdentity ?? import_node_crypto2.randomUUID;
|
|
264118
264137
|
this.sleep = options.sleep ?? ((delayMs) => new Promise((resolve5) => setTimeout(resolve5, delayMs)));
|
|
264138
|
+
this.random = options.random ?? Math.random;
|
|
264119
264139
|
this.generationPollAttempts = resolvePollBudget(
|
|
264120
264140
|
options.generationPollAttempts,
|
|
264121
264141
|
process.env.POSTMAN_GENERATION_POLL_ATTEMPTS,
|
|
@@ -264890,7 +264910,7 @@ ${error2.responseBody ?? ""}`
|
|
|
264890
264910
|
if (!retriable || attempt === maxAttempts - 1) {
|
|
264891
264911
|
throw error2;
|
|
264892
264912
|
}
|
|
264893
|
-
await this.sleep(
|
|
264913
|
+
await this.sleep(fullJitterDelayMs(attempt, 300, 2e3, this.random));
|
|
264894
264914
|
}
|
|
264895
264915
|
}
|
|
264896
264916
|
}
|
|
@@ -265141,14 +265161,19 @@ ${error2.responseBody ?? ""}`
|
|
|
265141
265161
|
{ type: "afterResponse", code: exec2.join("\n"), language: "text/javascript" }
|
|
265142
265162
|
];
|
|
265143
265163
|
for (const script of plan.scripts) {
|
|
265144
|
-
|
|
265145
|
-
|
|
265146
|
-
|
|
265147
|
-
|
|
265148
|
-
|
|
265149
|
-
|
|
265150
|
-
|
|
265151
|
-
|
|
265164
|
+
try {
|
|
265165
|
+
await this.gateway.requestJson({
|
|
265166
|
+
service: "collection",
|
|
265167
|
+
method: "patch",
|
|
265168
|
+
path: `/v3/collections/${cid}/items/${script.itemId}`,
|
|
265169
|
+
retry: "safe",
|
|
265170
|
+
headers: { "X-Entity-Type": "http-request" },
|
|
265171
|
+
body: [{ op: "add", path: "/scripts", value: toV3Scripts(script.exec) }]
|
|
265172
|
+
});
|
|
265173
|
+
} catch (error2) {
|
|
265174
|
+
if (isRejectedPatchError(error2)) continue;
|
|
265175
|
+
throw error2;
|
|
265176
|
+
}
|
|
265152
265177
|
}
|
|
265153
265178
|
if (!items.some((i) => String(i.name ?? "") === "00 - Resolve Secrets")) {
|
|
265154
265179
|
const created = await this.gateway.requestJson({
|
|
@@ -265353,36 +265378,53 @@ ${error2.responseBody ?? ""}`
|
|
|
265353
265378
|
async createItemTree(cid, items, parentId) {
|
|
265354
265379
|
for (const item of items) {
|
|
265355
265380
|
const kind = String(item.$kind ?? "http-request");
|
|
265356
|
-
|
|
265357
|
-
|
|
265358
|
-
|
|
265359
|
-
|
|
265360
|
-
|
|
265361
|
-
|
|
265362
|
-
|
|
265363
|
-
|
|
265364
|
-
|
|
265365
|
-
|
|
265366
|
-
|
|
265367
|
-
|
|
265368
|
-
|
|
265369
|
-
|
|
265370
|
-
if (
|
|
265371
|
-
|
|
265372
|
-
const
|
|
265373
|
-
|
|
265374
|
-
|
|
265375
|
-
|
|
265376
|
-
|
|
265377
|
-
|
|
265378
|
-
|
|
265379
|
-
|
|
265380
|
-
|
|
265381
|
-
|
|
265382
|
-
|
|
265383
|
-
|
|
265381
|
+
const maxAttempts = 4;
|
|
265382
|
+
let newId = "";
|
|
265383
|
+
for (let attempt = 1; attempt <= maxAttempts; attempt += 1) {
|
|
265384
|
+
let created;
|
|
265385
|
+
try {
|
|
265386
|
+
created = await this.gateway.requestJson({
|
|
265387
|
+
service: "collection",
|
|
265388
|
+
method: "post",
|
|
265389
|
+
path: `/v3/collections/${cid}/items/`,
|
|
265390
|
+
retry: "none",
|
|
265391
|
+
headers: { "X-Entity-Type": kind },
|
|
265392
|
+
body: this.buildItemCreateBody(item, parentId)
|
|
265393
|
+
});
|
|
265394
|
+
} catch (error2) {
|
|
265395
|
+
if (!isAmbiguousTransportError(error2)) throw error2;
|
|
265396
|
+
const name = String(item.name ?? "Untitled");
|
|
265397
|
+
const findCommittedItem = async () => {
|
|
265398
|
+
const matches = (await this.listCollectionItems(cid)).filter((candidate) => {
|
|
265399
|
+
if (String(candidate.name ?? candidate.title ?? "") !== name) return false;
|
|
265400
|
+
if (String(candidate.$kind ?? candidate.type ?? "http-request") !== kind) return false;
|
|
265401
|
+
const position = asRecord8(candidate.position);
|
|
265402
|
+
const parent = asRecord8(position?.parent);
|
|
265403
|
+
const candidateParent = String(parent?.id ?? position?.parent ?? candidate.parent ?? "").trim();
|
|
265404
|
+
return Boolean(candidateParent) && this.bareModelId(candidateParent) === this.bareModelId(parentId);
|
|
265405
|
+
});
|
|
265406
|
+
return adoptExactMatch(
|
|
265407
|
+
`collection-item:${cid}:${parentId}:${kind}:${name}`,
|
|
265408
|
+
matches,
|
|
265409
|
+
(candidate) => String(candidate.id ?? "")
|
|
265410
|
+
);
|
|
265411
|
+
};
|
|
265412
|
+
let match = await findCommittedItem();
|
|
265413
|
+
if (!match) {
|
|
265414
|
+
await this.sleep(fullJitterDelayMs(attempt - 1, 300, 2e3, this.random));
|
|
265415
|
+
match = await findCommittedItem();
|
|
265416
|
+
}
|
|
265417
|
+
if (match) {
|
|
265418
|
+
created = { data: { id: match.id } };
|
|
265419
|
+
} else {
|
|
265420
|
+
const retriable = error2 instanceof HttpError && error2.status >= 500;
|
|
265421
|
+
if (!retriable || attempt === maxAttempts) throw error2;
|
|
265422
|
+
continue;
|
|
265423
|
+
}
|
|
265424
|
+
}
|
|
265425
|
+
newId = String(asRecord8(created?.data)?.id ?? "").trim();
|
|
265426
|
+
if (newId) break;
|
|
265384
265427
|
}
|
|
265385
|
-
const newId = String(asRecord8(created?.data)?.id ?? "").trim();
|
|
265386
265428
|
if (!newId) {
|
|
265387
265429
|
throw new Error(
|
|
265388
265430
|
`Item create did not return an id for ${String(item.name ?? "item")}`
|
|
@@ -265425,6 +265467,30 @@ ${error2.responseBody ?? ""}`
|
|
|
265425
265467
|
* - `remove` of /description always works (field exists as "")
|
|
265426
265468
|
* - on update, GET the root first and only remove fields that currently exist
|
|
265427
265469
|
*/
|
|
265470
|
+
/**
|
|
265471
|
+
* GET a collection root, retrying through the v3 surface's read-after-write
|
|
265472
|
+
* 404 lag. A freshly generated/renamed collection can transiently report
|
|
265473
|
+
* RESOURCE_NOT_FOUND for a few seconds (worse under concurrent runner load);
|
|
265474
|
+
* retrying absorbs that instead of hard-failing the run.
|
|
265475
|
+
*/
|
|
265476
|
+
async getCollectionRoot(cid) {
|
|
265477
|
+
const got = await retry(
|
|
265478
|
+
() => this.gateway.requestJson({
|
|
265479
|
+
service: "collection",
|
|
265480
|
+
method: "get",
|
|
265481
|
+
path: `/v3/collections/${cid}`,
|
|
265482
|
+
retry: "none"
|
|
265483
|
+
}),
|
|
265484
|
+
{
|
|
265485
|
+
maxAttempts: 6,
|
|
265486
|
+
delayMs: 1e3,
|
|
265487
|
+
backoffMultiplier: 2,
|
|
265488
|
+
maxDelayMs: 8e3,
|
|
265489
|
+
shouldRetry: (error2) => error2 instanceof HttpError && error2.status === 404
|
|
265490
|
+
}
|
|
265491
|
+
);
|
|
265492
|
+
return asRecord8(got?.data);
|
|
265493
|
+
}
|
|
265428
265494
|
async applyCollectionLevelSettings(cid, v3, options = {}) {
|
|
265429
265495
|
const ops = [];
|
|
265430
265496
|
if (options.rename && typeof v3.name === "string" && v3.name) {
|
|
@@ -265432,12 +265498,7 @@ ${error2.responseBody ?? ""}`
|
|
|
265432
265498
|
}
|
|
265433
265499
|
let current = null;
|
|
265434
265500
|
if (options.reconcileRemovals) {
|
|
265435
|
-
|
|
265436
|
-
service: "collection",
|
|
265437
|
-
method: "get",
|
|
265438
|
-
path: `/v3/collections/${cid}`
|
|
265439
|
-
});
|
|
265440
|
-
current = asRecord8(got?.data);
|
|
265501
|
+
current = await this.getCollectionRoot(cid);
|
|
265441
265502
|
}
|
|
265442
265503
|
const hasDescription = typeof v3.description === "string" && v3.description.length > 0;
|
|
265443
265504
|
if (hasDescription) {
|
|
@@ -265476,6 +265537,9 @@ ${error2.responseBody ?? ""}`
|
|
|
265476
265537
|
if (isMissingPatchValueError(error2) && ops.some((op) => op.op === "remove") && await this.verifyRootSettingsApplied(cid, ops)) {
|
|
265477
265538
|
return;
|
|
265478
265539
|
}
|
|
265540
|
+
if (isRejectedPatchError(error2) && await this.verifyRootSettingsApplied(cid, ops)) {
|
|
265541
|
+
return;
|
|
265542
|
+
}
|
|
265479
265543
|
throw error2;
|
|
265480
265544
|
}
|
|
265481
265545
|
}
|
|
@@ -265599,7 +265663,9 @@ ${error2.responseBody ?? ""}`
|
|
|
265599
265663
|
}
|
|
265600
265664
|
/** Patch only the durable collection description without reconciling its item tree. */
|
|
265601
265665
|
async updateCollectionDescription(collectionUid, description) {
|
|
265602
|
-
|
|
265666
|
+
const cid = this.bareModelId(collectionUid);
|
|
265667
|
+
await this.getCollectionRoot(cid);
|
|
265668
|
+
await this.applyCollectionLevelSettings(cid, { description });
|
|
265603
265669
|
}
|
|
265604
265670
|
/**
|
|
265605
265671
|
* Full-replace reconcile of a curated local v2.1.0 or collection v3 payload: delete every
|
|
@@ -265682,6 +265748,7 @@ function detectInnerError(body2) {
|
|
|
265682
265748
|
return typeof innerStatus === "number" && innerStatus >= 400 ? innerStatus : 502;
|
|
265683
265749
|
}
|
|
265684
265750
|
function isTransientGatewayError(status, body2) {
|
|
265751
|
+
if (status === 429) return true;
|
|
265685
265752
|
if (status === 502 || status === 503 || status === 504) return true;
|
|
265686
265753
|
if (status >= 500 && (body2.includes("ESOCKETTIMEDOUT") || body2.includes("ETIMEDOUT") || body2.includes("ECONNRESET") || body2.includes("serverError") || body2.includes("downstream"))) {
|
|
265687
265754
|
return true;
|
|
@@ -265700,8 +265767,10 @@ var AccessTokenGatewayClient = class {
|
|
|
265700
265767
|
secretMasker;
|
|
265701
265768
|
maxRetries;
|
|
265702
265769
|
retryBaseDelayMs;
|
|
265770
|
+
retryMaxDelayMs;
|
|
265703
265771
|
requestTimeoutMs;
|
|
265704
265772
|
sleepImpl;
|
|
265773
|
+
randomImpl;
|
|
265705
265774
|
constructor(options) {
|
|
265706
265775
|
this.tokenProvider = options.tokenProvider;
|
|
265707
265776
|
this.bifrostBaseUrl = String(
|
|
@@ -265713,8 +265782,10 @@ var AccessTokenGatewayClient = class {
|
|
|
265713
265782
|
this.secretMasker = options.secretMasker ?? createSecretMasker([this.tokenProvider.current()]);
|
|
265714
265783
|
this.maxRetries = options.maxRetries ?? 3;
|
|
265715
265784
|
this.retryBaseDelayMs = options.retryBaseDelayMs ?? 400;
|
|
265785
|
+
this.retryMaxDelayMs = options.retryMaxDelayMs ?? 5e3;
|
|
265716
265786
|
this.requestTimeoutMs = options.requestTimeoutMs ?? DEFAULT_REQUEST_TIMEOUT_MS;
|
|
265717
265787
|
this.sleepImpl = options.sleepImpl ?? defaultSleep;
|
|
265788
|
+
this.randomImpl = options.randomImpl ?? Math.random;
|
|
265718
265789
|
}
|
|
265719
265790
|
configureTeamContext(teamId, orgMode) {
|
|
265720
265791
|
this.teamId = String(teamId || "").trim();
|
|
@@ -265774,7 +265845,7 @@ var AccessTokenGatewayClient = class {
|
|
|
265774
265845
|
response = await this.send(request);
|
|
265775
265846
|
} catch (error2) {
|
|
265776
265847
|
if (retryMode === "safe" && attempt < this.maxRetries) {
|
|
265777
|
-
const delay = this.
|
|
265848
|
+
const delay = this.retryDelayMs(attempt);
|
|
265778
265849
|
attempt += 1;
|
|
265779
265850
|
await this.sleepImpl(delay);
|
|
265780
265851
|
continue;
|
|
@@ -265786,7 +265857,7 @@ var AccessTokenGatewayClient = class {
|
|
|
265786
265857
|
const innerStatus = detectInnerError(okBody);
|
|
265787
265858
|
if (innerStatus !== null) {
|
|
265788
265859
|
if (retryMode === "safe" && isTransientGatewayError(innerStatus, okBody) && attempt < this.maxRetries) {
|
|
265789
|
-
const delay = this.
|
|
265860
|
+
const delay = this.retryDelayMs(attempt);
|
|
265790
265861
|
attempt += 1;
|
|
265791
265862
|
await this.sleepImpl(delay);
|
|
265792
265863
|
continue;
|
|
@@ -265811,7 +265882,10 @@ var AccessTokenGatewayClient = class {
|
|
|
265811
265882
|
throw this.toHttpError(request, response, retryBody);
|
|
265812
265883
|
}
|
|
265813
265884
|
if (retryMode === "safe" && isTransientGatewayError(response.status, body2) && attempt < this.maxRetries) {
|
|
265814
|
-
const delay = this.
|
|
265885
|
+
const delay = this.retryDelayMs(
|
|
265886
|
+
attempt,
|
|
265887
|
+
parseRetryAfterMs2(response.headers.get("retry-after"))
|
|
265888
|
+
);
|
|
265815
265889
|
attempt += 1;
|
|
265816
265890
|
await this.sleepImpl(delay);
|
|
265817
265891
|
continue;
|
|
@@ -265819,6 +265893,18 @@ var AccessTokenGatewayClient = class {
|
|
|
265819
265893
|
throw this.toHttpError(request, response, body2);
|
|
265820
265894
|
}
|
|
265821
265895
|
}
|
|
265896
|
+
/**
|
|
265897
|
+
* Full-jitter backoff (uniform in [0, min(cap, base * 2^attempt))) so
|
|
265898
|
+
* concurrent CI runners that fail together never retry in lockstep against
|
|
265899
|
+
* the shared gateway. A server-sent Retry-After beats the heuristic: it is
|
|
265900
|
+
* authoritative backpressure, honored verbatim (capped by the ceiling).
|
|
265901
|
+
*/
|
|
265902
|
+
retryDelayMs(attempt, retryAfterMs) {
|
|
265903
|
+
if (retryAfterMs !== void 0) {
|
|
265904
|
+
return Math.min(this.retryMaxDelayMs, retryAfterMs);
|
|
265905
|
+
}
|
|
265906
|
+
return fullJitterDelayMs(attempt, this.retryBaseDelayMs, this.retryMaxDelayMs, this.randomImpl);
|
|
265907
|
+
}
|
|
265822
265908
|
/**
|
|
265823
265909
|
* The success path reads the body to inspect for an inner error, which
|
|
265824
265910
|
* consumes the stream. Hand callers a fresh Response over the buffered text so
|
|
@@ -266556,6 +266642,9 @@ function createTelemetryContext(options) {
|
|
|
266556
266642
|
var import_node_fs3 = require("node:fs");
|
|
266557
266643
|
var import_node_path3 = require("node:path");
|
|
266558
266644
|
function resolveActionVersion2() {
|
|
266645
|
+
if (false) {
|
|
266646
|
+
return void 0;
|
|
266647
|
+
}
|
|
266559
266648
|
try {
|
|
266560
266649
|
const raw = (0, import_node_fs3.readFileSync)((0, import_node_path3.join)(__dirname, "..", "package.json"), "utf8");
|
|
266561
266650
|
return JSON.parse(raw).version ?? "unknown";
|
|
@@ -299355,940 +299444,6 @@ function getPositionFromMatch(match) {
|
|
|
299355
299444
|
}
|
|
299356
299445
|
|
|
299357
299446
|
// node_modules/@nodable/entities/src/entities.js
|
|
299358
|
-
var BASIC_LATIN = {
|
|
299359
|
-
amp: "&",
|
|
299360
|
-
AMP: "&",
|
|
299361
|
-
lt: "<",
|
|
299362
|
-
LT: "<",
|
|
299363
|
-
gt: ">",
|
|
299364
|
-
GT: ">",
|
|
299365
|
-
quot: '"',
|
|
299366
|
-
QUOT: '"',
|
|
299367
|
-
apos: "'",
|
|
299368
|
-
lsquo: "\u2018",
|
|
299369
|
-
rsquo: "\u2019",
|
|
299370
|
-
ldquo: "\u201C",
|
|
299371
|
-
rdquo: "\u201D",
|
|
299372
|
-
lsquor: "\u201A",
|
|
299373
|
-
rsquor: "\u2019",
|
|
299374
|
-
ldquor: "\u201E",
|
|
299375
|
-
bdquo: "\u201E",
|
|
299376
|
-
comma: ",",
|
|
299377
|
-
period: ".",
|
|
299378
|
-
colon: ":",
|
|
299379
|
-
semi: ";",
|
|
299380
|
-
excl: "!",
|
|
299381
|
-
quest: "?",
|
|
299382
|
-
num: "#",
|
|
299383
|
-
dollar: "$",
|
|
299384
|
-
percent: "%",
|
|
299385
|
-
ast: "*",
|
|
299386
|
-
commat: "@",
|
|
299387
|
-
lowbar: "_",
|
|
299388
|
-
verbar: "|",
|
|
299389
|
-
vert: "|",
|
|
299390
|
-
sol: "/",
|
|
299391
|
-
bsol: "\\",
|
|
299392
|
-
lbrace: "{",
|
|
299393
|
-
rbrace: "}",
|
|
299394
|
-
lbrack: "[",
|
|
299395
|
-
rbrack: "]",
|
|
299396
|
-
lpar: "(",
|
|
299397
|
-
rpar: ")",
|
|
299398
|
-
nbsp: "\xA0",
|
|
299399
|
-
iexcl: "\xA1",
|
|
299400
|
-
cent: "\xA2",
|
|
299401
|
-
pound: "\xA3",
|
|
299402
|
-
curren: "\xA4",
|
|
299403
|
-
yen: "\xA5",
|
|
299404
|
-
brvbar: "\xA6",
|
|
299405
|
-
sect: "\xA7",
|
|
299406
|
-
uml: "\xA8",
|
|
299407
|
-
copy: "\xA9",
|
|
299408
|
-
COPY: "\xA9",
|
|
299409
|
-
ordf: "\xAA",
|
|
299410
|
-
laquo: "\xAB",
|
|
299411
|
-
not: "\xAC",
|
|
299412
|
-
shy: "\xAD",
|
|
299413
|
-
reg: "\xAE",
|
|
299414
|
-
REG: "\xAE",
|
|
299415
|
-
macr: "\xAF",
|
|
299416
|
-
deg: "\xB0",
|
|
299417
|
-
plusmn: "\xB1",
|
|
299418
|
-
sup2: "\xB2",
|
|
299419
|
-
sup3: "\xB3",
|
|
299420
|
-
acute: "\xB4",
|
|
299421
|
-
micro: "\xB5",
|
|
299422
|
-
para: "\xB6",
|
|
299423
|
-
middot: "\xB7",
|
|
299424
|
-
cedil: "\xB8",
|
|
299425
|
-
sup1: "\xB9",
|
|
299426
|
-
ordm: "\xBA",
|
|
299427
|
-
raquo: "\xBB",
|
|
299428
|
-
frac14: "\xBC",
|
|
299429
|
-
frac12: "\xBD",
|
|
299430
|
-
half: "\xBD",
|
|
299431
|
-
frac34: "\xBE",
|
|
299432
|
-
iquest: "\xBF",
|
|
299433
|
-
times: "\xD7",
|
|
299434
|
-
div: "\xF7",
|
|
299435
|
-
divide: "\xF7"
|
|
299436
|
-
};
|
|
299437
|
-
var LATIN_ACCENTS = {
|
|
299438
|
-
Agrave: "\xC0",
|
|
299439
|
-
agrave: "\xE0",
|
|
299440
|
-
Aacute: "\xC1",
|
|
299441
|
-
aacute: "\xE1",
|
|
299442
|
-
Acirc: "\xC2",
|
|
299443
|
-
acirc: "\xE2",
|
|
299444
|
-
Atilde: "\xC3",
|
|
299445
|
-
atilde: "\xE3",
|
|
299446
|
-
Auml: "\xC4",
|
|
299447
|
-
auml: "\xE4",
|
|
299448
|
-
Aring: "\xC5",
|
|
299449
|
-
aring: "\xE5",
|
|
299450
|
-
AElig: "\xC6",
|
|
299451
|
-
aelig: "\xE6",
|
|
299452
|
-
Ccedil: "\xC7",
|
|
299453
|
-
ccedil: "\xE7",
|
|
299454
|
-
Egrave: "\xC8",
|
|
299455
|
-
egrave: "\xE8",
|
|
299456
|
-
Eacute: "\xC9",
|
|
299457
|
-
eacute: "\xE9",
|
|
299458
|
-
Ecirc: "\xCA",
|
|
299459
|
-
ecirc: "\xEA",
|
|
299460
|
-
Euml: "\xCB",
|
|
299461
|
-
euml: "\xEB",
|
|
299462
|
-
Igrave: "\xCC",
|
|
299463
|
-
igrave: "\xEC",
|
|
299464
|
-
Iacute: "\xCD",
|
|
299465
|
-
iacute: "\xED",
|
|
299466
|
-
Icirc: "\xCE",
|
|
299467
|
-
icirc: "\xEE",
|
|
299468
|
-
Iuml: "\xCF",
|
|
299469
|
-
iuml: "\xEF",
|
|
299470
|
-
ETH: "\xD0",
|
|
299471
|
-
eth: "\xF0",
|
|
299472
|
-
Ntilde: "\xD1",
|
|
299473
|
-
ntilde: "\xF1",
|
|
299474
|
-
Ograve: "\xD2",
|
|
299475
|
-
ograve: "\xF2",
|
|
299476
|
-
Oacute: "\xD3",
|
|
299477
|
-
oacute: "\xF3",
|
|
299478
|
-
Ocirc: "\xD4",
|
|
299479
|
-
ocirc: "\xF4",
|
|
299480
|
-
Otilde: "\xD5",
|
|
299481
|
-
otilde: "\xF5",
|
|
299482
|
-
Ouml: "\xD6",
|
|
299483
|
-
ouml: "\xF6",
|
|
299484
|
-
Oslash: "\xD8",
|
|
299485
|
-
oslash: "\xF8",
|
|
299486
|
-
Ugrave: "\xD9",
|
|
299487
|
-
ugrave: "\xF9",
|
|
299488
|
-
Uacute: "\xDA",
|
|
299489
|
-
uacute: "\xFA",
|
|
299490
|
-
Ucirc: "\xDB",
|
|
299491
|
-
ucirc: "\xFB",
|
|
299492
|
-
Uuml: "\xDC",
|
|
299493
|
-
uuml: "\xFC",
|
|
299494
|
-
Yacute: "\xDD",
|
|
299495
|
-
yacute: "\xFD",
|
|
299496
|
-
THORN: "\xDE",
|
|
299497
|
-
thorn: "\xFE",
|
|
299498
|
-
szlig: "\xDF",
|
|
299499
|
-
yuml: "\xFF",
|
|
299500
|
-
Yuml: "\u0178"
|
|
299501
|
-
};
|
|
299502
|
-
var LATIN_EXTENDED = {
|
|
299503
|
-
Amacr: "\u0100",
|
|
299504
|
-
amacr: "\u0101",
|
|
299505
|
-
Abreve: "\u0102",
|
|
299506
|
-
abreve: "\u0103",
|
|
299507
|
-
Aogon: "\u0104",
|
|
299508
|
-
aogon: "\u0105",
|
|
299509
|
-
Cacute: "\u0106",
|
|
299510
|
-
cacute: "\u0107",
|
|
299511
|
-
Ccirc: "\u0108",
|
|
299512
|
-
ccirc: "\u0109",
|
|
299513
|
-
Cdot: "\u010A",
|
|
299514
|
-
cdot: "\u010B",
|
|
299515
|
-
Ccaron: "\u010C",
|
|
299516
|
-
ccaron: "\u010D",
|
|
299517
|
-
Dcaron: "\u010E",
|
|
299518
|
-
dcaron: "\u010F",
|
|
299519
|
-
Dstrok: "\u0110",
|
|
299520
|
-
dstrok: "\u0111",
|
|
299521
|
-
Emacr: "\u0112",
|
|
299522
|
-
emacr: "\u0113",
|
|
299523
|
-
Ecaron: "\u011A",
|
|
299524
|
-
ecaron: "\u011B",
|
|
299525
|
-
Edot: "\u0116",
|
|
299526
|
-
edot: "\u0117",
|
|
299527
|
-
Eogon: "\u0118",
|
|
299528
|
-
eogon: "\u0119",
|
|
299529
|
-
Gcirc: "\u011C",
|
|
299530
|
-
gcirc: "\u011D",
|
|
299531
|
-
Gbreve: "\u011E",
|
|
299532
|
-
gbreve: "\u011F",
|
|
299533
|
-
Gdot: "\u0120",
|
|
299534
|
-
gdot: "\u0121",
|
|
299535
|
-
Gcedil: "\u0122",
|
|
299536
|
-
Hcirc: "\u0124",
|
|
299537
|
-
hcirc: "\u0125",
|
|
299538
|
-
Hstrok: "\u0126",
|
|
299539
|
-
hstrok: "\u0127",
|
|
299540
|
-
Itilde: "\u0128",
|
|
299541
|
-
itilde: "\u0129",
|
|
299542
|
-
Imacr: "\u012A",
|
|
299543
|
-
imacr: "\u012B",
|
|
299544
|
-
Iogon: "\u012E",
|
|
299545
|
-
iogon: "\u012F",
|
|
299546
|
-
Idot: "\u0130",
|
|
299547
|
-
IJlig: "\u0132",
|
|
299548
|
-
ijlig: "\u0133",
|
|
299549
|
-
Jcirc: "\u0134",
|
|
299550
|
-
jcirc: "\u0135",
|
|
299551
|
-
Kcedil: "\u0136",
|
|
299552
|
-
kcedil: "\u0137",
|
|
299553
|
-
kgreen: "\u0138",
|
|
299554
|
-
Lacute: "\u0139",
|
|
299555
|
-
lacute: "\u013A",
|
|
299556
|
-
Lcedil: "\u013B",
|
|
299557
|
-
lcedil: "\u013C",
|
|
299558
|
-
Lcaron: "\u013D",
|
|
299559
|
-
lcaron: "\u013E",
|
|
299560
|
-
Lmidot: "\u013F",
|
|
299561
|
-
lmidot: "\u0140",
|
|
299562
|
-
Lstrok: "\u0141",
|
|
299563
|
-
lstrok: "\u0142",
|
|
299564
|
-
Nacute: "\u0143",
|
|
299565
|
-
nacute: "\u0144",
|
|
299566
|
-
Ncaron: "\u0147",
|
|
299567
|
-
ncaron: "\u0148",
|
|
299568
|
-
Ncedil: "\u0145",
|
|
299569
|
-
ncedil: "\u0146",
|
|
299570
|
-
ENG: "\u014A",
|
|
299571
|
-
eng: "\u014B",
|
|
299572
|
-
Omacr: "\u014C",
|
|
299573
|
-
omacr: "\u014D",
|
|
299574
|
-
Odblac: "\u0150",
|
|
299575
|
-
odblac: "\u0151",
|
|
299576
|
-
OElig: "\u0152",
|
|
299577
|
-
oelig: "\u0153",
|
|
299578
|
-
Racute: "\u0154",
|
|
299579
|
-
racute: "\u0155",
|
|
299580
|
-
Rcaron: "\u0158",
|
|
299581
|
-
rcaron: "\u0159",
|
|
299582
|
-
Rcedil: "\u0156",
|
|
299583
|
-
rcedil: "\u0157",
|
|
299584
|
-
Sacute: "\u015A",
|
|
299585
|
-
sacute: "\u015B",
|
|
299586
|
-
Scirc: "\u015C",
|
|
299587
|
-
scirc: "\u015D",
|
|
299588
|
-
Scedil: "\u015E",
|
|
299589
|
-
scedil: "\u015F",
|
|
299590
|
-
Scaron: "\u0160",
|
|
299591
|
-
scaron: "\u0161",
|
|
299592
|
-
Tcedil: "\u0162",
|
|
299593
|
-
tcedil: "\u0163",
|
|
299594
|
-
Tcaron: "\u0164",
|
|
299595
|
-
tcaron: "\u0165",
|
|
299596
|
-
Tstrok: "\u0166",
|
|
299597
|
-
tstrok: "\u0167",
|
|
299598
|
-
Utilde: "\u0168",
|
|
299599
|
-
utilde: "\u0169",
|
|
299600
|
-
Umacr: "\u016A",
|
|
299601
|
-
umacr: "\u016B",
|
|
299602
|
-
Ubreve: "\u016C",
|
|
299603
|
-
ubreve: "\u016D",
|
|
299604
|
-
Uring: "\u016E",
|
|
299605
|
-
uring: "\u016F",
|
|
299606
|
-
Udblac: "\u0170",
|
|
299607
|
-
udblac: "\u0171",
|
|
299608
|
-
Uogon: "\u0172",
|
|
299609
|
-
uogon: "\u0173",
|
|
299610
|
-
Wcirc: "\u0174",
|
|
299611
|
-
wcirc: "\u0175",
|
|
299612
|
-
Ycirc: "\u0176",
|
|
299613
|
-
ycirc: "\u0177",
|
|
299614
|
-
Zacute: "\u0179",
|
|
299615
|
-
zacute: "\u017A",
|
|
299616
|
-
Zdot: "\u017B",
|
|
299617
|
-
zdot: "\u017C",
|
|
299618
|
-
Zcaron: "\u017D",
|
|
299619
|
-
zcaron: "\u017E"
|
|
299620
|
-
};
|
|
299621
|
-
var GREEK = {
|
|
299622
|
-
Alpha: "\u0391",
|
|
299623
|
-
alpha: "\u03B1",
|
|
299624
|
-
Beta: "\u0392",
|
|
299625
|
-
beta: "\u03B2",
|
|
299626
|
-
Gamma: "\u0393",
|
|
299627
|
-
gamma: "\u03B3",
|
|
299628
|
-
Delta: "\u0394",
|
|
299629
|
-
delta: "\u03B4",
|
|
299630
|
-
Epsilon: "\u0395",
|
|
299631
|
-
epsilon: "\u03B5",
|
|
299632
|
-
epsiv: "\u03F5",
|
|
299633
|
-
varepsilon: "\u03F5",
|
|
299634
|
-
Zeta: "\u0396",
|
|
299635
|
-
zeta: "\u03B6",
|
|
299636
|
-
Eta: "\u0397",
|
|
299637
|
-
eta: "\u03B7",
|
|
299638
|
-
Theta: "\u0398",
|
|
299639
|
-
theta: "\u03B8",
|
|
299640
|
-
thetasym: "\u03D1",
|
|
299641
|
-
vartheta: "\u03D1",
|
|
299642
|
-
Iota: "\u0399",
|
|
299643
|
-
iota: "\u03B9",
|
|
299644
|
-
Kappa: "\u039A",
|
|
299645
|
-
kappa: "\u03BA",
|
|
299646
|
-
kappav: "\u03F0",
|
|
299647
|
-
varkappa: "\u03F0",
|
|
299648
|
-
Lambda: "\u039B",
|
|
299649
|
-
lambda: "\u03BB",
|
|
299650
|
-
Mu: "\u039C",
|
|
299651
|
-
mu: "\u03BC",
|
|
299652
|
-
Nu: "\u039D",
|
|
299653
|
-
nu: "\u03BD",
|
|
299654
|
-
Xi: "\u039E",
|
|
299655
|
-
xi: "\u03BE",
|
|
299656
|
-
Omicron: "\u039F",
|
|
299657
|
-
omicron: "\u03BF",
|
|
299658
|
-
Pi: "\u03A0",
|
|
299659
|
-
pi: "\u03C0",
|
|
299660
|
-
piv: "\u03D6",
|
|
299661
|
-
varpi: "\u03D6",
|
|
299662
|
-
Rho: "\u03A1",
|
|
299663
|
-
rho: "\u03C1",
|
|
299664
|
-
rhov: "\u03F1",
|
|
299665
|
-
varrho: "\u03F1",
|
|
299666
|
-
Sigma: "\u03A3",
|
|
299667
|
-
sigma: "\u03C3",
|
|
299668
|
-
sigmaf: "\u03C2",
|
|
299669
|
-
sigmav: "\u03C2",
|
|
299670
|
-
varsigma: "\u03C2",
|
|
299671
|
-
Tau: "\u03A4",
|
|
299672
|
-
tau: "\u03C4",
|
|
299673
|
-
Upsilon: "\u03A5",
|
|
299674
|
-
upsilon: "\u03C5",
|
|
299675
|
-
upsi: "\u03C5",
|
|
299676
|
-
Upsi: "\u03D2",
|
|
299677
|
-
upsih: "\u03D2",
|
|
299678
|
-
Phi: "\u03A6",
|
|
299679
|
-
phi: "\u03C6",
|
|
299680
|
-
phiv: "\u03D5",
|
|
299681
|
-
varphi: "\u03D5",
|
|
299682
|
-
Chi: "\u03A7",
|
|
299683
|
-
chi: "\u03C7",
|
|
299684
|
-
Psi: "\u03A8",
|
|
299685
|
-
psi: "\u03C8",
|
|
299686
|
-
Omega: "\u03A9",
|
|
299687
|
-
omega: "\u03C9",
|
|
299688
|
-
ohm: "\u03A9",
|
|
299689
|
-
Gammad: "\u03DC",
|
|
299690
|
-
gammad: "\u03DD",
|
|
299691
|
-
digamma: "\u03DD"
|
|
299692
|
-
};
|
|
299693
|
-
var CYRILLIC = {
|
|
299694
|
-
Afr: "\u{1D504}",
|
|
299695
|
-
afr: "\u{1D51E}",
|
|
299696
|
-
Acy: "\u0410",
|
|
299697
|
-
acy: "\u0430",
|
|
299698
|
-
Bcy: "\u0411",
|
|
299699
|
-
bcy: "\u0431",
|
|
299700
|
-
Vcy: "\u0412",
|
|
299701
|
-
vcy: "\u0432",
|
|
299702
|
-
Gcy: "\u0413",
|
|
299703
|
-
gcy: "\u0433",
|
|
299704
|
-
Dcy: "\u0414",
|
|
299705
|
-
dcy: "\u0434",
|
|
299706
|
-
IEcy: "\u0415",
|
|
299707
|
-
iecy: "\u0435",
|
|
299708
|
-
IOcy: "\u0401",
|
|
299709
|
-
iocy: "\u0451",
|
|
299710
|
-
ZHcy: "\u0416",
|
|
299711
|
-
zhcy: "\u0436",
|
|
299712
|
-
Zcy: "\u0417",
|
|
299713
|
-
zcy: "\u0437",
|
|
299714
|
-
Icy: "\u0418",
|
|
299715
|
-
icy: "\u0438",
|
|
299716
|
-
Jcy: "\u0419",
|
|
299717
|
-
jcy: "\u0439",
|
|
299718
|
-
Kcy: "\u041A",
|
|
299719
|
-
kcy: "\u043A",
|
|
299720
|
-
Lcy: "\u041B",
|
|
299721
|
-
lcy: "\u043B",
|
|
299722
|
-
Mcy: "\u041C",
|
|
299723
|
-
mcy: "\u043C",
|
|
299724
|
-
Ncy: "\u041D",
|
|
299725
|
-
ncy: "\u043D",
|
|
299726
|
-
Ocy: "\u041E",
|
|
299727
|
-
ocy: "\u043E",
|
|
299728
|
-
Pcy: "\u041F",
|
|
299729
|
-
pcy: "\u043F",
|
|
299730
|
-
Rcy: "\u0420",
|
|
299731
|
-
rcy: "\u0440",
|
|
299732
|
-
Scy: "\u0421",
|
|
299733
|
-
scy: "\u0441",
|
|
299734
|
-
Tcy: "\u0422",
|
|
299735
|
-
tcy: "\u0442",
|
|
299736
|
-
Ucy: "\u0423",
|
|
299737
|
-
ucy: "\u0443",
|
|
299738
|
-
Fcy: "\u0424",
|
|
299739
|
-
fcy: "\u0444",
|
|
299740
|
-
KHcy: "\u0425",
|
|
299741
|
-
khcy: "\u0445",
|
|
299742
|
-
TScy: "\u0426",
|
|
299743
|
-
tscy: "\u0446",
|
|
299744
|
-
CHcy: "\u0427",
|
|
299745
|
-
chcy: "\u0447",
|
|
299746
|
-
SHcy: "\u0428",
|
|
299747
|
-
shcy: "\u0448",
|
|
299748
|
-
SHCHcy: "\u0429",
|
|
299749
|
-
shchcy: "\u0449",
|
|
299750
|
-
HARDcy: "\u042A",
|
|
299751
|
-
hardcy: "\u044A",
|
|
299752
|
-
Ycy: "\u042B",
|
|
299753
|
-
ycy: "\u044B",
|
|
299754
|
-
SOFTcy: "\u042C",
|
|
299755
|
-
softcy: "\u044C",
|
|
299756
|
-
Ecy: "\u042D",
|
|
299757
|
-
ecy: "\u044D",
|
|
299758
|
-
YUcy: "\u042E",
|
|
299759
|
-
yucy: "\u044E",
|
|
299760
|
-
YAcy: "\u042F",
|
|
299761
|
-
yacy: "\u044F",
|
|
299762
|
-
DJcy: "\u0402",
|
|
299763
|
-
djcy: "\u0452",
|
|
299764
|
-
GJcy: "\u0403",
|
|
299765
|
-
gjcy: "\u0453",
|
|
299766
|
-
Jukcy: "\u0404",
|
|
299767
|
-
jukcy: "\u0454",
|
|
299768
|
-
DScy: "\u0405",
|
|
299769
|
-
dscy: "\u0455",
|
|
299770
|
-
Iukcy: "\u0406",
|
|
299771
|
-
iukcy: "\u0456",
|
|
299772
|
-
YIcy: "\u0407",
|
|
299773
|
-
yicy: "\u0457",
|
|
299774
|
-
Jsercy: "\u0408",
|
|
299775
|
-
jsercy: "\u0458",
|
|
299776
|
-
LJcy: "\u0409",
|
|
299777
|
-
ljcy: "\u0459",
|
|
299778
|
-
NJcy: "\u040A",
|
|
299779
|
-
njcy: "\u045A",
|
|
299780
|
-
TSHcy: "\u040B",
|
|
299781
|
-
tshcy: "\u045B",
|
|
299782
|
-
KJcy: "\u040C",
|
|
299783
|
-
kjcy: "\u045C",
|
|
299784
|
-
Ubrcy: "\u040E",
|
|
299785
|
-
ubrcy: "\u045E",
|
|
299786
|
-
DZcy: "\u040F",
|
|
299787
|
-
dzcy: "\u045F"
|
|
299788
|
-
};
|
|
299789
|
-
var MATH = {
|
|
299790
|
-
plus: "+",
|
|
299791
|
-
pm: "\xB1",
|
|
299792
|
-
times: "\xD7",
|
|
299793
|
-
div: "\xF7",
|
|
299794
|
-
divide: "\xF7",
|
|
299795
|
-
sdot: "\u22C5",
|
|
299796
|
-
star: "\u2606",
|
|
299797
|
-
starf: "\u2605",
|
|
299798
|
-
bigstar: "\u2605",
|
|
299799
|
-
lowast: "\u2217",
|
|
299800
|
-
ast: "*",
|
|
299801
|
-
midast: "*",
|
|
299802
|
-
compfn: "\u2218",
|
|
299803
|
-
smallcircle: "\u2218",
|
|
299804
|
-
bullet: "\u2022",
|
|
299805
|
-
bull: "\u2022",
|
|
299806
|
-
nbsp: "\xA0",
|
|
299807
|
-
hellip: "\u2026",
|
|
299808
|
-
mldr: "\u2026",
|
|
299809
|
-
prime: "\u2032",
|
|
299810
|
-
Prime: "\u2033",
|
|
299811
|
-
tprime: "\u2034",
|
|
299812
|
-
bprime: "\u2035",
|
|
299813
|
-
backprime: "\u2035",
|
|
299814
|
-
minus: "\u2212",
|
|
299815
|
-
minusd: "\u2238",
|
|
299816
|
-
dotminus: "\u2238",
|
|
299817
|
-
plusdo: "\u2214",
|
|
299818
|
-
dotplus: "\u2214",
|
|
299819
|
-
plusmn: "\xB1",
|
|
299820
|
-
minusplus: "\u2213",
|
|
299821
|
-
mnplus: "\u2213",
|
|
299822
|
-
mp: "\u2213",
|
|
299823
|
-
setminus: "\u2216",
|
|
299824
|
-
smallsetminus: "\u2216",
|
|
299825
|
-
Backslash: "\u2216",
|
|
299826
|
-
setmn: "\u2216",
|
|
299827
|
-
ssetmn: "\u2216",
|
|
299828
|
-
lowbar: "_",
|
|
299829
|
-
verbar: "|",
|
|
299830
|
-
vert: "|",
|
|
299831
|
-
VerticalLine: "|",
|
|
299832
|
-
colon: ":",
|
|
299833
|
-
Colon: "\u2237",
|
|
299834
|
-
Proportion: "\u2237",
|
|
299835
|
-
ratio: "\u2236",
|
|
299836
|
-
equals: "=",
|
|
299837
|
-
ne: "\u2260",
|
|
299838
|
-
nequiv: "\u2262",
|
|
299839
|
-
equiv: "\u2261",
|
|
299840
|
-
Congruent: "\u2261",
|
|
299841
|
-
sim: "\u223C",
|
|
299842
|
-
thicksim: "\u223C",
|
|
299843
|
-
thksim: "\u223C",
|
|
299844
|
-
sime: "\u2243",
|
|
299845
|
-
simeq: "\u2243",
|
|
299846
|
-
TildeEqual: "\u2243",
|
|
299847
|
-
asymp: "\u2248",
|
|
299848
|
-
approx: "\u2248",
|
|
299849
|
-
thickapprox: "\u2248",
|
|
299850
|
-
thkap: "\u2248",
|
|
299851
|
-
TildeTilde: "\u2248",
|
|
299852
|
-
ncong: "\u2247",
|
|
299853
|
-
cong: "\u2245",
|
|
299854
|
-
TildeFullEqual: "\u2245",
|
|
299855
|
-
asympeq: "\u224D",
|
|
299856
|
-
CupCap: "\u224D",
|
|
299857
|
-
bump: "\u224E",
|
|
299858
|
-
Bumpeq: "\u224E",
|
|
299859
|
-
HumpDownHump: "\u224E",
|
|
299860
|
-
bumpe: "\u224F",
|
|
299861
|
-
bumpeq: "\u224F",
|
|
299862
|
-
HumpEqual: "\u224F",
|
|
299863
|
-
le: "\u2264",
|
|
299864
|
-
LessEqual: "\u2264",
|
|
299865
|
-
ge: "\u2265",
|
|
299866
|
-
GreaterEqual: "\u2265",
|
|
299867
|
-
lesseqgtr: "\u22DA",
|
|
299868
|
-
lesseqqgtr: "\u2A8B",
|
|
299869
|
-
greater: ">",
|
|
299870
|
-
less: "<"
|
|
299871
|
-
};
|
|
299872
|
-
var MATH_ADVANCED = {
|
|
299873
|
-
alefsym: "\u2135",
|
|
299874
|
-
aleph: "\u2135",
|
|
299875
|
-
beth: "\u2136",
|
|
299876
|
-
gimel: "\u2137",
|
|
299877
|
-
daleth: "\u2138",
|
|
299878
|
-
forall: "\u2200",
|
|
299879
|
-
ForAll: "\u2200",
|
|
299880
|
-
part: "\u2202",
|
|
299881
|
-
PartialD: "\u2202",
|
|
299882
|
-
exist: "\u2203",
|
|
299883
|
-
Exists: "\u2203",
|
|
299884
|
-
nexist: "\u2204",
|
|
299885
|
-
nexists: "\u2204",
|
|
299886
|
-
empty: "\u2205",
|
|
299887
|
-
emptyset: "\u2205",
|
|
299888
|
-
emptyv: "\u2205",
|
|
299889
|
-
varnothing: "\u2205",
|
|
299890
|
-
nabla: "\u2207",
|
|
299891
|
-
Del: "\u2207",
|
|
299892
|
-
isin: "\u2208",
|
|
299893
|
-
isinv: "\u2208",
|
|
299894
|
-
in: "\u2208",
|
|
299895
|
-
Element: "\u2208",
|
|
299896
|
-
notin: "\u2209",
|
|
299897
|
-
notinva: "\u2209",
|
|
299898
|
-
ni: "\u220B",
|
|
299899
|
-
niv: "\u220B",
|
|
299900
|
-
SuchThat: "\u220B",
|
|
299901
|
-
ReverseElement: "\u220B",
|
|
299902
|
-
notni: "\u220C",
|
|
299903
|
-
notniva: "\u220C",
|
|
299904
|
-
prod: "\u220F",
|
|
299905
|
-
Product: "\u220F",
|
|
299906
|
-
coprod: "\u2210",
|
|
299907
|
-
Coproduct: "\u2210",
|
|
299908
|
-
sum: "\u2211",
|
|
299909
|
-
Sum: "\u2211",
|
|
299910
|
-
minus: "\u2212",
|
|
299911
|
-
mp: "\u2213",
|
|
299912
|
-
plusdo: "\u2214",
|
|
299913
|
-
dotplus: "\u2214",
|
|
299914
|
-
setminus: "\u2216",
|
|
299915
|
-
lowast: "\u2217",
|
|
299916
|
-
radic: "\u221A",
|
|
299917
|
-
Sqrt: "\u221A",
|
|
299918
|
-
prop: "\u221D",
|
|
299919
|
-
propto: "\u221D",
|
|
299920
|
-
Proportional: "\u221D",
|
|
299921
|
-
varpropto: "\u221D",
|
|
299922
|
-
infin: "\u221E",
|
|
299923
|
-
infintie: "\u29DD",
|
|
299924
|
-
ang: "\u2220",
|
|
299925
|
-
angle: "\u2220",
|
|
299926
|
-
angmsd: "\u2221",
|
|
299927
|
-
measuredangle: "\u2221",
|
|
299928
|
-
angsph: "\u2222",
|
|
299929
|
-
mid: "\u2223",
|
|
299930
|
-
VerticalBar: "\u2223",
|
|
299931
|
-
nmid: "\u2224",
|
|
299932
|
-
nsmid: "\u2224",
|
|
299933
|
-
npar: "\u2226",
|
|
299934
|
-
parallel: "\u2225",
|
|
299935
|
-
spar: "\u2225",
|
|
299936
|
-
nparallel: "\u2226",
|
|
299937
|
-
nspar: "\u2226",
|
|
299938
|
-
and: "\u2227",
|
|
299939
|
-
wedge: "\u2227",
|
|
299940
|
-
or: "\u2228",
|
|
299941
|
-
vee: "\u2228",
|
|
299942
|
-
cap: "\u2229",
|
|
299943
|
-
cup: "\u222A",
|
|
299944
|
-
int: "\u222B",
|
|
299945
|
-
Integral: "\u222B",
|
|
299946
|
-
conint: "\u222E",
|
|
299947
|
-
ContourIntegral: "\u222E",
|
|
299948
|
-
Conint: "\u222F",
|
|
299949
|
-
DoubleContourIntegral: "\u222F",
|
|
299950
|
-
Cconint: "\u2230",
|
|
299951
|
-
there4: "\u2234",
|
|
299952
|
-
therefore: "\u2234",
|
|
299953
|
-
Therefore: "\u2234",
|
|
299954
|
-
becaus: "\u2235",
|
|
299955
|
-
because: "\u2235",
|
|
299956
|
-
Because: "\u2235",
|
|
299957
|
-
ratio: "\u2236",
|
|
299958
|
-
Proportion: "\u2237",
|
|
299959
|
-
minusd: "\u2238",
|
|
299960
|
-
dotminus: "\u2238",
|
|
299961
|
-
mDDot: "\u223A",
|
|
299962
|
-
homtht: "\u223B",
|
|
299963
|
-
sim: "\u223C",
|
|
299964
|
-
bsimg: "\u223D",
|
|
299965
|
-
backsim: "\u223D",
|
|
299966
|
-
ac: "\u223E",
|
|
299967
|
-
mstpos: "\u223E",
|
|
299968
|
-
acd: "\u223F",
|
|
299969
|
-
VerticalTilde: "\u2240",
|
|
299970
|
-
wr: "\u2240",
|
|
299971
|
-
wreath: "\u2240",
|
|
299972
|
-
nsime: "\u2244",
|
|
299973
|
-
nsimeq: "\u2244",
|
|
299974
|
-
ncong: "\u2247",
|
|
299975
|
-
simne: "\u2246",
|
|
299976
|
-
ncongdot: "\u2A6D\u0338",
|
|
299977
|
-
ngsim: "\u2275",
|
|
299978
|
-
nsim: "\u2241",
|
|
299979
|
-
napprox: "\u2249",
|
|
299980
|
-
nap: "\u2249",
|
|
299981
|
-
ngeq: "\u2271",
|
|
299982
|
-
nge: "\u2271",
|
|
299983
|
-
nleq: "\u2270",
|
|
299984
|
-
nle: "\u2270",
|
|
299985
|
-
ngtr: "\u226F",
|
|
299986
|
-
ngt: "\u226F",
|
|
299987
|
-
nless: "\u226E",
|
|
299988
|
-
nlt: "\u226E",
|
|
299989
|
-
nprec: "\u2280",
|
|
299990
|
-
npr: "\u2280",
|
|
299991
|
-
nsucc: "\u2281",
|
|
299992
|
-
nsc: "\u2281"
|
|
299993
|
-
};
|
|
299994
|
-
var ARROWS = {
|
|
299995
|
-
larr: "\u2190",
|
|
299996
|
-
leftarrow: "\u2190",
|
|
299997
|
-
LeftArrow: "\u2190",
|
|
299998
|
-
uarr: "\u2191",
|
|
299999
|
-
uparrow: "\u2191",
|
|
300000
|
-
UpArrow: "\u2191",
|
|
300001
|
-
rarr: "\u2192",
|
|
300002
|
-
rightarrow: "\u2192",
|
|
300003
|
-
RightArrow: "\u2192",
|
|
300004
|
-
darr: "\u2193",
|
|
300005
|
-
downarrow: "\u2193",
|
|
300006
|
-
DownArrow: "\u2193",
|
|
300007
|
-
harr: "\u2194",
|
|
300008
|
-
leftrightarrow: "\u2194",
|
|
300009
|
-
LeftRightArrow: "\u2194",
|
|
300010
|
-
varr: "\u2195",
|
|
300011
|
-
updownarrow: "\u2195",
|
|
300012
|
-
UpDownArrow: "\u2195",
|
|
300013
|
-
nwarr: "\u2196",
|
|
300014
|
-
nwarrow: "\u2196",
|
|
300015
|
-
UpperLeftArrow: "\u2196",
|
|
300016
|
-
nearr: "\u2197",
|
|
300017
|
-
nearrow: "\u2197",
|
|
300018
|
-
UpperRightArrow: "\u2197",
|
|
300019
|
-
searr: "\u2198",
|
|
300020
|
-
searrow: "\u2198",
|
|
300021
|
-
LowerRightArrow: "\u2198",
|
|
300022
|
-
swarr: "\u2199",
|
|
300023
|
-
swarrow: "\u2199",
|
|
300024
|
-
LowerLeftArrow: "\u2199",
|
|
300025
|
-
lArr: "\u21D0",
|
|
300026
|
-
Leftarrow: "\u21D0",
|
|
300027
|
-
uArr: "\u21D1",
|
|
300028
|
-
Uparrow: "\u21D1",
|
|
300029
|
-
rArr: "\u21D2",
|
|
300030
|
-
Rightarrow: "\u21D2",
|
|
300031
|
-
dArr: "\u21D3",
|
|
300032
|
-
Downarrow: "\u21D3",
|
|
300033
|
-
hArr: "\u21D4",
|
|
300034
|
-
Leftrightarrow: "\u21D4",
|
|
300035
|
-
iff: "\u21D4",
|
|
300036
|
-
vArr: "\u21D5",
|
|
300037
|
-
Updownarrow: "\u21D5",
|
|
300038
|
-
lAarr: "\u21DA",
|
|
300039
|
-
Lleftarrow: "\u21DA",
|
|
300040
|
-
rAarr: "\u21DB",
|
|
300041
|
-
Rrightarrow: "\u21DB",
|
|
300042
|
-
lrarr: "\u21C6",
|
|
300043
|
-
leftrightarrows: "\u21C6",
|
|
300044
|
-
rlarr: "\u21C4",
|
|
300045
|
-
rightleftarrows: "\u21C4",
|
|
300046
|
-
lrhar: "\u21CB",
|
|
300047
|
-
leftrightharpoons: "\u21CB",
|
|
300048
|
-
ReverseEquilibrium: "\u21CB",
|
|
300049
|
-
rlhar: "\u21CC",
|
|
300050
|
-
rightleftharpoons: "\u21CC",
|
|
300051
|
-
Equilibrium: "\u21CC",
|
|
300052
|
-
udarr: "\u21C5",
|
|
300053
|
-
UpArrowDownArrow: "\u21C5",
|
|
300054
|
-
duarr: "\u21F5",
|
|
300055
|
-
DownArrowUpArrow: "\u21F5",
|
|
300056
|
-
llarr: "\u21C7",
|
|
300057
|
-
leftleftarrows: "\u21C7",
|
|
300058
|
-
rrarr: "\u21C9",
|
|
300059
|
-
rightrightarrows: "\u21C9",
|
|
300060
|
-
ddarr: "\u21CA",
|
|
300061
|
-
downdownarrows: "\u21CA",
|
|
300062
|
-
har: "\u21BD",
|
|
300063
|
-
lhard: "\u21BD",
|
|
300064
|
-
leftharpoondown: "\u21BD",
|
|
300065
|
-
lharu: "\u21BC",
|
|
300066
|
-
leftharpoonup: "\u21BC",
|
|
300067
|
-
rhard: "\u21C1",
|
|
300068
|
-
rightharpoondown: "\u21C1",
|
|
300069
|
-
rharu: "\u21C0",
|
|
300070
|
-
rightharpoonup: "\u21C0",
|
|
300071
|
-
lsh: "\u21B0",
|
|
300072
|
-
Lsh: "\u21B0",
|
|
300073
|
-
rsh: "\u21B1",
|
|
300074
|
-
Rsh: "\u21B1",
|
|
300075
|
-
ldsh: "\u21B2",
|
|
300076
|
-
rdsh: "\u21B3",
|
|
300077
|
-
hookleftarrow: "\u21A9",
|
|
300078
|
-
hookrightarrow: "\u21AA",
|
|
300079
|
-
mapstoleft: "\u21A4",
|
|
300080
|
-
mapstoup: "\u21A5",
|
|
300081
|
-
map: "\u21A6",
|
|
300082
|
-
mapsto: "\u21A6",
|
|
300083
|
-
mapstodown: "\u21A7",
|
|
300084
|
-
crarr: "\u21B5",
|
|
300085
|
-
nleftarrow: "\u219A",
|
|
300086
|
-
nleftrightarrow: "\u21AE",
|
|
300087
|
-
nrightarrow: "\u219B",
|
|
300088
|
-
nrarr: "\u219B",
|
|
300089
|
-
larrtl: "\u21A2",
|
|
300090
|
-
rarrtl: "\u21A3",
|
|
300091
|
-
leftarrowtail: "\u21A2",
|
|
300092
|
-
rightarrowtail: "\u21A3",
|
|
300093
|
-
twoheadleftarrow: "\u219E",
|
|
300094
|
-
twoheadrightarrow: "\u21A0",
|
|
300095
|
-
Larr: "\u219E",
|
|
300096
|
-
Rarr: "\u21A0",
|
|
300097
|
-
larrhk: "\u21A9",
|
|
300098
|
-
rarrhk: "\u21AA",
|
|
300099
|
-
larrlp: "\u21AB",
|
|
300100
|
-
looparrowleft: "\u21AB",
|
|
300101
|
-
rarrlp: "\u21AC",
|
|
300102
|
-
looparrowright: "\u21AC",
|
|
300103
|
-
harrw: "\u21AD",
|
|
300104
|
-
leftrightsquigarrow: "\u21AD",
|
|
300105
|
-
nrarrw: "\u219D\u0338",
|
|
300106
|
-
rarrw: "\u219D",
|
|
300107
|
-
rightsquigarrow: "\u219D",
|
|
300108
|
-
larrbfs: "\u291F",
|
|
300109
|
-
rarrbfs: "\u2920",
|
|
300110
|
-
nvHarr: "\u2904",
|
|
300111
|
-
nvlArr: "\u2902",
|
|
300112
|
-
nvrArr: "\u2903",
|
|
300113
|
-
larrfs: "\u291D",
|
|
300114
|
-
rarrfs: "\u291E",
|
|
300115
|
-
Map: "\u2905",
|
|
300116
|
-
larrsim: "\u2973",
|
|
300117
|
-
rarrsim: "\u2974",
|
|
300118
|
-
harrcir: "\u2948",
|
|
300119
|
-
Uarrocir: "\u2949",
|
|
300120
|
-
lurdshar: "\u294A",
|
|
300121
|
-
ldrdhar: "\u2967",
|
|
300122
|
-
ldrushar: "\u294B",
|
|
300123
|
-
rdldhar: "\u2969",
|
|
300124
|
-
lrhard: "\u296D",
|
|
300125
|
-
uharr: "\u21BE",
|
|
300126
|
-
uharl: "\u21BF",
|
|
300127
|
-
dharr: "\u21C2",
|
|
300128
|
-
dharl: "\u21C3",
|
|
300129
|
-
Uarr: "\u219F",
|
|
300130
|
-
Darr: "\u21A1",
|
|
300131
|
-
zigrarr: "\u21DD",
|
|
300132
|
-
nwArr: "\u21D6",
|
|
300133
|
-
neArr: "\u21D7",
|
|
300134
|
-
seArr: "\u21D8",
|
|
300135
|
-
swArr: "\u21D9",
|
|
300136
|
-
nharr: "\u21AE",
|
|
300137
|
-
nhArr: "\u21CE",
|
|
300138
|
-
nlarr: "\u219A",
|
|
300139
|
-
nlArr: "\u21CD",
|
|
300140
|
-
nrArr: "\u21CF",
|
|
300141
|
-
larrb: "\u21E4",
|
|
300142
|
-
LeftArrowBar: "\u21E4",
|
|
300143
|
-
rarrb: "\u21E5",
|
|
300144
|
-
RightArrowBar: "\u21E5"
|
|
300145
|
-
};
|
|
300146
|
-
var SHAPES = {
|
|
300147
|
-
square: "\u25A1",
|
|
300148
|
-
Square: "\u25A1",
|
|
300149
|
-
squ: "\u25A1",
|
|
300150
|
-
squf: "\u25AA",
|
|
300151
|
-
squarf: "\u25AA",
|
|
300152
|
-
blacksquar: "\u25AA",
|
|
300153
|
-
blacksquare: "\u25AA",
|
|
300154
|
-
FilledVerySmallSquare: "\u25AA",
|
|
300155
|
-
blk34: "\u2593",
|
|
300156
|
-
blk12: "\u2592",
|
|
300157
|
-
blk14: "\u2591",
|
|
300158
|
-
block: "\u2588",
|
|
300159
|
-
srect: "\u25AD",
|
|
300160
|
-
rect: "\u25AD",
|
|
300161
|
-
sdot: "\u22C5",
|
|
300162
|
-
sdotb: "\u22A1",
|
|
300163
|
-
dotsquare: "\u22A1",
|
|
300164
|
-
triangle: "\u25B5",
|
|
300165
|
-
tri: "\u25B5",
|
|
300166
|
-
trine: "\u25B5",
|
|
300167
|
-
utri: "\u25B5",
|
|
300168
|
-
triangledown: "\u25BF",
|
|
300169
|
-
dtri: "\u25BF",
|
|
300170
|
-
tridown: "\u25BF",
|
|
300171
|
-
triangleleft: "\u25C3",
|
|
300172
|
-
ltri: "\u25C3",
|
|
300173
|
-
triangleright: "\u25B9",
|
|
300174
|
-
rtri: "\u25B9",
|
|
300175
|
-
blacktriangle: "\u25B4",
|
|
300176
|
-
utrif: "\u25B4",
|
|
300177
|
-
blacktriangledown: "\u25BE",
|
|
300178
|
-
dtrif: "\u25BE",
|
|
300179
|
-
blacktriangleleft: "\u25C2",
|
|
300180
|
-
ltrif: "\u25C2",
|
|
300181
|
-
blacktriangleright: "\u25B8",
|
|
300182
|
-
rtrif: "\u25B8",
|
|
300183
|
-
loz: "\u25CA",
|
|
300184
|
-
lozenge: "\u25CA",
|
|
300185
|
-
blacklozenge: "\u29EB",
|
|
300186
|
-
lozf: "\u29EB",
|
|
300187
|
-
bigcirc: "\u25EF",
|
|
300188
|
-
xcirc: "\u25EF",
|
|
300189
|
-
circ: "\u02C6",
|
|
300190
|
-
Circle: "\u25CB",
|
|
300191
|
-
cir: "\u25CB",
|
|
300192
|
-
o: "\u25CB",
|
|
300193
|
-
bullet: "\u2022",
|
|
300194
|
-
bull: "\u2022",
|
|
300195
|
-
hellip: "\u2026",
|
|
300196
|
-
mldr: "\u2026",
|
|
300197
|
-
nldr: "\u2025",
|
|
300198
|
-
boxh: "\u2500",
|
|
300199
|
-
HorizontalLine: "\u2500",
|
|
300200
|
-
boxv: "\u2502",
|
|
300201
|
-
boxdr: "\u250C",
|
|
300202
|
-
boxdl: "\u2510",
|
|
300203
|
-
boxur: "\u2514",
|
|
300204
|
-
boxul: "\u2518",
|
|
300205
|
-
boxvr: "\u251C",
|
|
300206
|
-
boxvl: "\u2524",
|
|
300207
|
-
boxhd: "\u252C",
|
|
300208
|
-
boxhu: "\u2534",
|
|
300209
|
-
boxvh: "\u253C",
|
|
300210
|
-
boxH: "\u2550",
|
|
300211
|
-
boxV: "\u2551",
|
|
300212
|
-
boxdR: "\u2552",
|
|
300213
|
-
boxDr: "\u2553",
|
|
300214
|
-
boxDR: "\u2554",
|
|
300215
|
-
boxDl: "\u2555",
|
|
300216
|
-
boxdL: "\u2556",
|
|
300217
|
-
boxDL: "\u2557",
|
|
300218
|
-
boxuR: "\u2558",
|
|
300219
|
-
boxUr: "\u2559",
|
|
300220
|
-
boxUR: "\u255A",
|
|
300221
|
-
boxUl: "\u255C",
|
|
300222
|
-
boxuL: "\u255B",
|
|
300223
|
-
boxUL: "\u255D",
|
|
300224
|
-
boxvR: "\u255E",
|
|
300225
|
-
boxVr: "\u255F",
|
|
300226
|
-
boxVR: "\u2560",
|
|
300227
|
-
boxVl: "\u2562",
|
|
300228
|
-
boxvL: "\u2561",
|
|
300229
|
-
boxVL: "\u2563",
|
|
300230
|
-
boxHd: "\u2564",
|
|
300231
|
-
boxhD: "\u2565",
|
|
300232
|
-
boxHD: "\u2566",
|
|
300233
|
-
boxHu: "\u2567",
|
|
300234
|
-
boxhU: "\u2568",
|
|
300235
|
-
boxHU: "\u2569",
|
|
300236
|
-
boxvH: "\u256A",
|
|
300237
|
-
boxVh: "\u256B",
|
|
300238
|
-
boxVH: "\u256C"
|
|
300239
|
-
};
|
|
300240
|
-
var PUNCTUATION = {
|
|
300241
|
-
excl: "!",
|
|
300242
|
-
iexcl: "\xA1",
|
|
300243
|
-
brvbar: "\xA6",
|
|
300244
|
-
sect: "\xA7",
|
|
300245
|
-
uml: "\xA8",
|
|
300246
|
-
copy: "\xA9",
|
|
300247
|
-
ordf: "\xAA",
|
|
300248
|
-
laquo: "\xAB",
|
|
300249
|
-
not: "\xAC",
|
|
300250
|
-
shy: "\xAD",
|
|
300251
|
-
reg: "\xAE",
|
|
300252
|
-
macr: "\xAF",
|
|
300253
|
-
deg: "\xB0",
|
|
300254
|
-
plusmn: "\xB1",
|
|
300255
|
-
sup2: "\xB2",
|
|
300256
|
-
sup3: "\xB3",
|
|
300257
|
-
acute: "\xB4",
|
|
300258
|
-
micro: "\xB5",
|
|
300259
|
-
para: "\xB6",
|
|
300260
|
-
middot: "\xB7",
|
|
300261
|
-
cedil: "\xB8",
|
|
300262
|
-
sup1: "\xB9",
|
|
300263
|
-
ordm: "\xBA",
|
|
300264
|
-
raquo: "\xBB",
|
|
300265
|
-
frac14: "\xBC",
|
|
300266
|
-
frac12: "\xBD",
|
|
300267
|
-
frac34: "\xBE",
|
|
300268
|
-
iquest: "\xBF",
|
|
300269
|
-
nbsp: "\xA0",
|
|
300270
|
-
comma: ",",
|
|
300271
|
-
period: ".",
|
|
300272
|
-
colon: ":",
|
|
300273
|
-
semi: ";",
|
|
300274
|
-
vert: "|",
|
|
300275
|
-
Verbar: "\u2016",
|
|
300276
|
-
verbar: "|",
|
|
300277
|
-
dblac: "\u02DD",
|
|
300278
|
-
circ: "\u02C6",
|
|
300279
|
-
caron: "\u02C7",
|
|
300280
|
-
breve: "\u02D8",
|
|
300281
|
-
dot: "\u02D9",
|
|
300282
|
-
ring: "\u02DA",
|
|
300283
|
-
ogon: "\u02DB",
|
|
300284
|
-
tilde: "\u02DC",
|
|
300285
|
-
DiacriticalGrave: "`",
|
|
300286
|
-
DiacriticalAcute: "\xB4",
|
|
300287
|
-
DiacriticalTilde: "\u02DC",
|
|
300288
|
-
DiacriticalDot: "\u02D9",
|
|
300289
|
-
DiacriticalDoubleAcute: "\u02DD",
|
|
300290
|
-
grave: "`"
|
|
300291
|
-
};
|
|
300292
299447
|
var CURRENCY = {
|
|
300293
299448
|
cent: "\xA2",
|
|
300294
299449
|
pound: "\xA3",
|
|
@@ -300306,106 +299461,6 @@ var CURRENCY = {
|
|
|
300306
299461
|
yuan: "\xA5",
|
|
300307
299462
|
cedil: "\xB8"
|
|
300308
299463
|
};
|
|
300309
|
-
var FRACTIONS = {
|
|
300310
|
-
frac12: "\xBD",
|
|
300311
|
-
half: "\xBD",
|
|
300312
|
-
frac13: "\u2153",
|
|
300313
|
-
frac14: "\xBC",
|
|
300314
|
-
frac15: "\u2155",
|
|
300315
|
-
frac16: "\u2159",
|
|
300316
|
-
frac18: "\u215B",
|
|
300317
|
-
frac23: "\u2154",
|
|
300318
|
-
frac25: "\u2156",
|
|
300319
|
-
frac34: "\xBE",
|
|
300320
|
-
frac35: "\u2157",
|
|
300321
|
-
frac38: "\u215C",
|
|
300322
|
-
frac45: "\u2158",
|
|
300323
|
-
frac56: "\u215A",
|
|
300324
|
-
frac58: "\u215D",
|
|
300325
|
-
frac78: "\u215E",
|
|
300326
|
-
frasl: "\u2044"
|
|
300327
|
-
};
|
|
300328
|
-
var MISC_SYMBOLS = {
|
|
300329
|
-
trade: "\u2122",
|
|
300330
|
-
TRADE: "\u2122",
|
|
300331
|
-
telrec: "\u2315",
|
|
300332
|
-
target: "\u2316",
|
|
300333
|
-
ulcorn: "\u231C",
|
|
300334
|
-
ulcorner: "\u231C",
|
|
300335
|
-
urcorn: "\u231D",
|
|
300336
|
-
urcorner: "\u231D",
|
|
300337
|
-
dlcorn: "\u231E",
|
|
300338
|
-
llcorner: "\u231E",
|
|
300339
|
-
drcorn: "\u231F",
|
|
300340
|
-
lrcorner: "\u231F",
|
|
300341
|
-
intercal: "\u22BA",
|
|
300342
|
-
intcal: "\u22BA",
|
|
300343
|
-
oplus: "\u2295",
|
|
300344
|
-
CirclePlus: "\u2295",
|
|
300345
|
-
ominus: "\u2296",
|
|
300346
|
-
CircleMinus: "\u2296",
|
|
300347
|
-
otimes: "\u2297",
|
|
300348
|
-
CircleTimes: "\u2297",
|
|
300349
|
-
osol: "\u2298",
|
|
300350
|
-
odot: "\u2299",
|
|
300351
|
-
CircleDot: "\u2299",
|
|
300352
|
-
oast: "\u229B",
|
|
300353
|
-
circledast: "\u229B",
|
|
300354
|
-
odash: "\u229D",
|
|
300355
|
-
circleddash: "\u229D",
|
|
300356
|
-
ocirc: "\u229A",
|
|
300357
|
-
circledcirc: "\u229A",
|
|
300358
|
-
boxplus: "\u229E",
|
|
300359
|
-
plusb: "\u229E",
|
|
300360
|
-
boxminus: "\u229F",
|
|
300361
|
-
minusb: "\u229F",
|
|
300362
|
-
boxtimes: "\u22A0",
|
|
300363
|
-
timesb: "\u22A0",
|
|
300364
|
-
boxdot: "\u22A1",
|
|
300365
|
-
sdotb: "\u22A1",
|
|
300366
|
-
veebar: "\u22BB",
|
|
300367
|
-
vee: "\u2228",
|
|
300368
|
-
barvee: "\u22BD",
|
|
300369
|
-
and: "\u2227",
|
|
300370
|
-
wedge: "\u2227",
|
|
300371
|
-
Cap: "\u22D2",
|
|
300372
|
-
Cup: "\u22D3",
|
|
300373
|
-
Fork: "\u22D4",
|
|
300374
|
-
pitchfork: "\u22D4",
|
|
300375
|
-
epar: "\u22D5",
|
|
300376
|
-
ltlarr: "\u2976",
|
|
300377
|
-
nvap: "\u224D\u20D2",
|
|
300378
|
-
nvsim: "\u223C\u20D2",
|
|
300379
|
-
nvge: "\u2265\u20D2",
|
|
300380
|
-
nvle: "\u2264\u20D2",
|
|
300381
|
-
nvlt: "<\u20D2",
|
|
300382
|
-
nvgt: ">\u20D2",
|
|
300383
|
-
nvltrie: "\u22B4\u20D2",
|
|
300384
|
-
nvrtrie: "\u22B5\u20D2",
|
|
300385
|
-
Vdash: "\u22A9",
|
|
300386
|
-
dashv: "\u22A3",
|
|
300387
|
-
vDash: "\u22A8",
|
|
300388
|
-
Vvdash: "\u22AA",
|
|
300389
|
-
nvdash: "\u22AC",
|
|
300390
|
-
nvDash: "\u22AD",
|
|
300391
|
-
nVdash: "\u22AE",
|
|
300392
|
-
nVDash: "\u22AF"
|
|
300393
|
-
};
|
|
300394
|
-
var ALL_ENTITIES = {
|
|
300395
|
-
...BASIC_LATIN,
|
|
300396
|
-
...LATIN_ACCENTS,
|
|
300397
|
-
...LATIN_EXTENDED,
|
|
300398
|
-
...GREEK,
|
|
300399
|
-
...CYRILLIC,
|
|
300400
|
-
...MATH,
|
|
300401
|
-
...MATH_ADVANCED,
|
|
300402
|
-
...ARROWS,
|
|
300403
|
-
...SHAPES,
|
|
300404
|
-
...PUNCTUATION,
|
|
300405
|
-
...CURRENCY,
|
|
300406
|
-
...FRACTIONS,
|
|
300407
|
-
...MISC_SYMBOLS
|
|
300408
|
-
};
|
|
300409
299464
|
var XML = {
|
|
300410
299465
|
amp: "&",
|
|
300411
299466
|
apos: "'",
|
|
@@ -301049,7 +300104,7 @@ var XmlNode = class {
|
|
|
301049
300104
|
}
|
|
301050
300105
|
};
|
|
301051
300106
|
|
|
301052
|
-
// node_modules/xml-naming/src/index.js
|
|
300107
|
+
// node_modules/fast-xml-parser/node_modules/xml-naming/src/index.js
|
|
301053
300108
|
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";
|
|
301054
300109
|
var nameChar10 = nameStartChar10 + "\\-\\.\\d\xB7\u0300-\u036F\u203F-\u2040";
|
|
301055
300110
|
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}";
|
|
@@ -301068,8 +300123,14 @@ var buildRegexes = (startChar, char, flags = "") => {
|
|
|
301068
300123
|
};
|
|
301069
300124
|
var regexes10 = buildRegexes(nameStartChar10, nameChar10);
|
|
301070
300125
|
var regexes11 = buildRegexes(nameStartChar11, nameChar11, "u");
|
|
301071
|
-
var
|
|
301072
|
-
var
|
|
300126
|
+
var nameStartCharAscii = ":A-Za-z_";
|
|
300127
|
+
var nameCharAscii = nameStartCharAscii + "\\-\\.\\d";
|
|
300128
|
+
var regexesAscii = buildRegexes(nameStartCharAscii, nameCharAscii);
|
|
300129
|
+
var getRegexes = (xmlVersion = "1.0", asciiOnly = false) => {
|
|
300130
|
+
if (asciiOnly) return regexesAscii;
|
|
300131
|
+
return xmlVersion === "1.1" ? regexes11 : regexes10;
|
|
300132
|
+
};
|
|
300133
|
+
var qName = (str, { xmlVersion = "1.0", asciiOnly = false } = {}) => getRegexes(xmlVersion, asciiOnly).qName.test(str);
|
|
301073
300134
|
|
|
301074
300135
|
// node_modules/fast-xml-parser/src/xmlparser/DocTypeReader.js
|
|
301075
300136
|
var DocTypeReader = class {
|
|
@@ -302231,17 +301292,16 @@ var Matcher = class {
|
|
|
302231
301292
|
this.path[this.path.length - 1].values = void 0;
|
|
302232
301293
|
}
|
|
302233
301294
|
const currentLevel = this.path.length;
|
|
302234
|
-
|
|
302235
|
-
|
|
301295
|
+
let level = this.siblingStacks[currentLevel];
|
|
301296
|
+
if (!level) {
|
|
301297
|
+
level = { counts: /* @__PURE__ */ new Map(), total: 0 };
|
|
301298
|
+
this.siblingStacks[currentLevel] = level;
|
|
302236
301299
|
}
|
|
302237
|
-
const siblings = this.siblingStacks[currentLevel];
|
|
302238
301300
|
const siblingKey = namespace ? `${namespace}:${tagName}` : tagName;
|
|
302239
|
-
const counter =
|
|
302240
|
-
|
|
302241
|
-
|
|
302242
|
-
|
|
302243
|
-
}
|
|
302244
|
-
siblings.set(siblingKey, counter + 1);
|
|
301301
|
+
const counter = level.counts.get(siblingKey) || 0;
|
|
301302
|
+
const position = level.total;
|
|
301303
|
+
level.counts.set(siblingKey, counter + 1);
|
|
301304
|
+
level.total++;
|
|
302245
301305
|
const node = {
|
|
302246
301306
|
tag: tagName,
|
|
302247
301307
|
position,
|
|
@@ -302550,7 +301610,7 @@ var Matcher = class {
|
|
|
302550
301610
|
snapshot() {
|
|
302551
301611
|
return {
|
|
302552
301612
|
path: this.path.map((node) => ({ ...node })),
|
|
302553
|
-
siblingStacks: this.siblingStacks.map((
|
|
301613
|
+
siblingStacks: this.siblingStacks.map((level) => level ? { counts: new Map(level.counts), total: level.total } : level),
|
|
302554
301614
|
keptAttrs: this._keptAttrs.map((entry) => ({ ...entry }))
|
|
302555
301615
|
};
|
|
302556
301616
|
}
|
|
@@ -302561,7 +301621,7 @@ var Matcher = class {
|
|
|
302561
301621
|
restore(snapshot) {
|
|
302562
301622
|
this._pathStringCache = null;
|
|
302563
301623
|
this.path = snapshot.path.map((node) => ({ ...node }));
|
|
302564
|
-
this.siblingStacks = snapshot.siblingStacks.map((
|
|
301624
|
+
this.siblingStacks = snapshot.siblingStacks.map((level) => level ? { counts: new Map(level.counts), total: level.total } : level);
|
|
302565
301625
|
this._keptAttrs = (snapshot.keptAttrs || []).map((entry) => ({ ...entry }));
|
|
302566
301626
|
}
|
|
302567
301627
|
/**
|
|
@@ -302899,27 +301959,6 @@ var SQL_PATTERNS = [
|
|
|
302899
301959
|
];
|
|
302900
301960
|
var sql_default = SQL_PATTERNS;
|
|
302901
301961
|
|
|
302902
|
-
// node_modules/is-unsafe/src/contexts/sql-strict.js
|
|
302903
|
-
var SQL_STRICT_EXTRA = [
|
|
302904
|
-
{
|
|
302905
|
-
id: "sql-line-comment",
|
|
302906
|
-
description: "SQL line comment: -- followed by whitespace or end of string",
|
|
302907
|
-
pattern: /--(?:\s|$)/
|
|
302908
|
-
},
|
|
302909
|
-
{
|
|
302910
|
-
id: "sql-stacked-query",
|
|
302911
|
-
description: "Stacked queries: semicolon immediately followed by a SQL keyword",
|
|
302912
|
-
pattern: /;\s{0,10}(?:SELECT|INSERT|UPDATE|DELETE|DROP|CREATE|ALTER|EXEC)\b/i
|
|
302913
|
-
},
|
|
302914
|
-
{
|
|
302915
|
-
id: "sql-hex-encoding",
|
|
302916
|
-
description: "Hex-encoded string injection: 0x41414141 style (MySQL)",
|
|
302917
|
-
pattern: /\b0x[0-9a-f]{4,}/i
|
|
302918
|
-
}
|
|
302919
|
-
];
|
|
302920
|
-
var SQL_STRICT_PATTERNS = [...sql_default, ...SQL_STRICT_EXTRA];
|
|
302921
|
-
var sql_strict_default = SQL_STRICT_PATTERNS;
|
|
302922
|
-
|
|
302923
301962
|
// node_modules/is-unsafe/src/contexts/shell.js
|
|
302924
301963
|
var SHELL_PATTERNS = [
|
|
302925
301964
|
{
|
|
@@ -303231,8 +302270,38 @@ var LOG_PATTERNS = [
|
|
|
303231
302270
|
];
|
|
303232
302271
|
var log_default = LOG_PATTERNS;
|
|
303233
302272
|
|
|
303234
|
-
// node_modules/is-unsafe/src/
|
|
303235
|
-
var
|
|
302273
|
+
// node_modules/is-unsafe/src/contexts/sql-strict.js
|
|
302274
|
+
var SQL_STRICT_EXTRA = [
|
|
302275
|
+
{
|
|
302276
|
+
id: "sql-line-comment",
|
|
302277
|
+
description: "SQL line comment: -- followed by whitespace or end of string",
|
|
302278
|
+
pattern: /--(?:\s|$)/
|
|
302279
|
+
},
|
|
302280
|
+
{
|
|
302281
|
+
id: "sql-stacked-query",
|
|
302282
|
+
description: "Stacked queries: semicolon immediately followed by a SQL keyword",
|
|
302283
|
+
pattern: /;\s{0,10}(?:SELECT|INSERT|UPDATE|DELETE|DROP|CREATE|ALTER|EXEC)\b/i
|
|
302284
|
+
},
|
|
302285
|
+
{
|
|
302286
|
+
id: "sql-hex-encoding",
|
|
302287
|
+
description: "Hex-encoded string injection: 0x41414141 style (MySQL)",
|
|
302288
|
+
pattern: /\b0x[0-9a-f]{4,}/i
|
|
302289
|
+
}
|
|
302290
|
+
];
|
|
302291
|
+
var SQL_STRICT_PATTERNS = [...sql_default, ...SQL_STRICT_EXTRA];
|
|
302292
|
+
var sql_strict_default = SQL_STRICT_PATTERNS;
|
|
302293
|
+
|
|
302294
|
+
// node_modules/is-unsafe/src/index.js
|
|
302295
|
+
html_default.label = "HTML";
|
|
302296
|
+
xml_default.label = "XML";
|
|
302297
|
+
svg_default.label = "SVG";
|
|
302298
|
+
sql_default.label = "SQL";
|
|
302299
|
+
sql_strict_default.label = "SQL-STRICT";
|
|
302300
|
+
shell_default.label = "SHELL";
|
|
302301
|
+
redos_default.label = "REDOS";
|
|
302302
|
+
nosql_default.label = "NOSQL";
|
|
302303
|
+
log_default.label = "LOG";
|
|
302304
|
+
var VALID_CONTEXTS = Object.freeze({
|
|
303236
302305
|
HTML: html_default,
|
|
303237
302306
|
XML: xml_default,
|
|
303238
302307
|
SVG: svg_default,
|
|
@@ -303242,13 +302311,7 @@ var CONTEXT_REGISTRY = {
|
|
|
303242
302311
|
REDOS: redos_default,
|
|
303243
302312
|
NOSQL: nosql_default,
|
|
303244
302313
|
LOG: log_default
|
|
303245
|
-
};
|
|
303246
|
-
var registry_default = CONTEXT_REGISTRY;
|
|
303247
|
-
var VALID_CONTEXTS = Object.freeze(
|
|
303248
|
-
Object.fromEntries(Object.keys(CONTEXT_REGISTRY).map((k) => [k, k]))
|
|
303249
|
-
);
|
|
303250
|
-
|
|
303251
|
-
// node_modules/is-unsafe/src/index.js
|
|
302314
|
+
});
|
|
303252
302315
|
function assertString(value) {
|
|
303253
302316
|
if (typeof value !== "string") {
|
|
303254
302317
|
throw new TypeError(
|
|
@@ -303258,36 +302321,35 @@ function assertString(value) {
|
|
|
303258
302321
|
}
|
|
303259
302322
|
function assertContext(context) {
|
|
303260
302323
|
if (context instanceof RegExp) return;
|
|
303261
|
-
if (typeof context === "string") {
|
|
303262
|
-
if (!registry_default[context]) {
|
|
303263
|
-
throw new TypeError(
|
|
303264
|
-
`is-unsafe: unknown context "${context}". Valid contexts: ${Object.keys(VALID_CONTEXTS).join(", ")}`
|
|
303265
|
-
);
|
|
303266
|
-
}
|
|
303267
|
-
return;
|
|
303268
|
-
}
|
|
303269
302324
|
if (Array.isArray(context)) {
|
|
303270
302325
|
if (context.length === 0) {
|
|
303271
|
-
throw new TypeError("is-unsafe: context
|
|
302326
|
+
throw new TypeError("is-unsafe: context must not be an empty array");
|
|
303272
302327
|
}
|
|
303273
|
-
|
|
303274
|
-
|
|
303275
|
-
|
|
303276
|
-
|
|
303277
|
-
|
|
302328
|
+
if (Array.isArray(context[0])) {
|
|
302329
|
+
for (const list of context) {
|
|
302330
|
+
if (!Array.isArray(list) || list.length === 0) {
|
|
302331
|
+
throw new TypeError(
|
|
302332
|
+
"is-unsafe: each context in the array must be a non-empty pattern array (PatternList)"
|
|
302333
|
+
);
|
|
302334
|
+
}
|
|
303278
302335
|
}
|
|
303279
302336
|
}
|
|
303280
302337
|
return;
|
|
303281
302338
|
}
|
|
303282
302339
|
throw new TypeError(
|
|
303283
|
-
`is-unsafe: second argument must be a
|
|
302340
|
+
`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}`
|
|
303284
302341
|
);
|
|
303285
302342
|
}
|
|
303286
|
-
function
|
|
303287
|
-
|
|
303288
|
-
|
|
302343
|
+
function normalise(context) {
|
|
302344
|
+
if (context instanceof RegExp) return { lists: null, regex: context };
|
|
302345
|
+
if (Array.isArray(context[0])) return { lists: context, regex: null };
|
|
302346
|
+
return { lists: [context], regex: null };
|
|
302347
|
+
}
|
|
302348
|
+
function matchList(value, list) {
|
|
302349
|
+
const label = list.label ?? "CUSTOM";
|
|
302350
|
+
for (const rule of list) {
|
|
303289
302351
|
if (rule.pattern.test(value)) {
|
|
303290
|
-
return { context:
|
|
302352
|
+
return { context: label, id: rule.id, description: rule.description, pattern: rule.pattern };
|
|
303291
302353
|
}
|
|
303292
302354
|
}
|
|
303293
302355
|
return null;
|
|
@@ -303295,14 +302357,10 @@ function matchContext(value, contextName) {
|
|
|
303295
302357
|
function isUnsafe(value, context) {
|
|
303296
302358
|
assertString(value);
|
|
303297
302359
|
assertContext(context);
|
|
303298
|
-
|
|
303299
|
-
|
|
303300
|
-
|
|
303301
|
-
|
|
303302
|
-
return matchContext(value, context) !== null;
|
|
303303
|
-
}
|
|
303304
|
-
for (const c of context) {
|
|
303305
|
-
if (matchContext(value, c) !== null) return true;
|
|
302360
|
+
const { lists, regex } = normalise(context);
|
|
302361
|
+
if (regex) return regex.test(value);
|
|
302362
|
+
for (const list of lists) {
|
|
302363
|
+
if (matchList(value, list) !== null) return true;
|
|
303306
302364
|
}
|
|
303307
302365
|
return false;
|
|
303308
302366
|
}
|
|
@@ -303351,6 +302409,7 @@ var OrderedObjParser = class {
|
|
|
303351
302409
|
this.ignoreAttributesFn = getIgnoreAttributesFn(this.options.ignoreAttributes);
|
|
303352
302410
|
this.entityExpansionCount = 0;
|
|
303353
302411
|
this.currentExpandedLength = 0;
|
|
302412
|
+
this.doctypefound = false;
|
|
303354
302413
|
let namedEntities = { ...XML };
|
|
303355
302414
|
if (this.options.entityDecoder) {
|
|
303356
302415
|
this.entityDecoder = this.options.entityDecoder;
|
|
@@ -303368,7 +302427,7 @@ var OrderedObjParser = class {
|
|
|
303368
302427
|
// onExternalEntity: (name, value) => isUnsafe(value) ? 'block' : 'allow',
|
|
303369
302428
|
onInputEntity: (name, value) => (
|
|
303370
302429
|
//TODO: VALID_CONTEXTS.HTML should be set only if this.options.htmlEntities
|
|
303371
|
-
isUnsafe(value, [
|
|
302430
|
+
isUnsafe(value, [html_default, xml_default]) ? ENTITY_ACTION.BLOCK : ENTITY_ACTION.ALLOW
|
|
303372
302431
|
)
|
|
303373
302432
|
//postCheck: resolved => resolved
|
|
303374
302433
|
});
|
|
@@ -303502,6 +302561,7 @@ var parseXml = function(xmlData) {
|
|
|
303502
302561
|
this.entityDecoder.reset();
|
|
303503
302562
|
this.entityExpansionCount = 0;
|
|
303504
302563
|
this.currentExpandedLength = 0;
|
|
302564
|
+
this.doctypefound = false;
|
|
303505
302565
|
const options = this.options;
|
|
303506
302566
|
const docTypeReader = new DocTypeReader(options.processEntities);
|
|
303507
302567
|
const xmlLen = xmlData.length;
|
|
@@ -303564,6 +302624,8 @@ var parseXml = function(xmlData) {
|
|
|
303564
302624
|
}
|
|
303565
302625
|
i = endIndex;
|
|
303566
302626
|
} else if (c1 === 33 && xmlData.charCodeAt(i + 2) === 68) {
|
|
302627
|
+
if (this.doctypefound) throw new Error("Multiple DOCTYPE declarations found.");
|
|
302628
|
+
this.doctypefound = true;
|
|
303567
302629
|
const result = docTypeReader.readDocType(xmlData, i);
|
|
303568
302630
|
this.entityDecoder.addInputEntities(result.entities);
|
|
303569
302631
|
i = result.i;
|
|
@@ -312938,8 +312000,8 @@ function resolveInputs(env = process.env) {
|
|
|
312938
312000
|
breakingSummaryPath: getInput2("breaking-summary-path", env),
|
|
312939
312001
|
breakingLogPath: getInput2("breaking-log-path", env),
|
|
312940
312002
|
governanceMappingJson: parseGovernanceMappingJson(getInput2("governance-mapping-json", env)),
|
|
312941
|
-
postmanApiKey: getInput2("postman-api-key", env)
|
|
312942
|
-
postmanAccessToken: getInput2("postman-access-token", env),
|
|
312003
|
+
postmanApiKey: getInput2("postman-api-key", env) || env.POSTMAN_API_KEY || "",
|
|
312004
|
+
postmanAccessToken: getInput2("postman-access-token", env) || env.POSTMAN_ACCESS_TOKEN,
|
|
312943
312005
|
credentialPreflight: parseEnumInput(
|
|
312944
312006
|
"credential-preflight",
|
|
312945
312007
|
getInput2("credential-preflight", env),
|
|
@@ -313101,8 +312163,8 @@ function readActionInputs(actionCore) {
|
|
|
313101
312163
|
if (specUrl && specPath) {
|
|
313102
312164
|
throw new Error("Provide either spec-url or spec-path, not both.");
|
|
313103
312165
|
}
|
|
313104
|
-
const postmanApiKey = optionalInput(actionCore, "postman-api-key")
|
|
313105
|
-
const postmanAccessToken = optionalInput(actionCore, "postman-access-token");
|
|
312166
|
+
const postmanApiKey = optionalInput(actionCore, "postman-api-key") || process.env.POSTMAN_API_KEY || "";
|
|
312167
|
+
const postmanAccessToken = optionalInput(actionCore, "postman-access-token") || process.env.POSTMAN_ACCESS_TOKEN;
|
|
313106
312168
|
const githubToken = optionalInput(actionCore, "github-token") || process.env.GITHUB_TOKEN;
|
|
313107
312169
|
const ghFallbackToken = optionalInput(actionCore, "gh-fallback-token") || process.env.GH_FALLBACK_TOKEN;
|
|
313108
312170
|
if (postmanApiKey) actionCore.setSecret(postmanApiKey);
|