@superdoc-dev/cli 0.2.0-next.90 → 0.2.0-next.92
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/dist/index.js +572 -194
- package/package.json +8 -8
package/dist/index.js
CHANGED
|
@@ -2233,6 +2233,21 @@ var init_operation_definitions = __esm(() => {
|
|
|
2233
2233
|
referenceDocPath: "lists/apply-preset.mdx",
|
|
2234
2234
|
referenceGroup: "lists"
|
|
2235
2235
|
},
|
|
2236
|
+
"lists.setType": {
|
|
2237
|
+
memberPath: "lists.setType",
|
|
2238
|
+
description: "Convert a list to ordered or bullet and merge adjacent compatible sequences to preserve continuous numbering.",
|
|
2239
|
+
expectedResult: "Returns a ListsMutateItemResult receipt; reports NO_OP if the list is already the requested kind and no sequences were merged.",
|
|
2240
|
+
requiresDocumentContext: true,
|
|
2241
|
+
metadata: mutationOperation({
|
|
2242
|
+
idempotency: "conditional",
|
|
2243
|
+
supportsDryRun: true,
|
|
2244
|
+
supportsTrackedMode: false,
|
|
2245
|
+
possibleFailureCodes: ["NO_OP", "INVALID_TARGET", "INVALID_INPUT"],
|
|
2246
|
+
throws: [...T_NOT_FOUND_CAPABLE, "INVALID_TARGET", "INVALID_INPUT"]
|
|
2247
|
+
}),
|
|
2248
|
+
referenceDocPath: "lists/set-type.mdx",
|
|
2249
|
+
referenceGroup: "lists"
|
|
2250
|
+
},
|
|
2236
2251
|
"lists.captureTemplate": {
|
|
2237
2252
|
memberPath: "lists.captureTemplate",
|
|
2238
2253
|
description: "Capture the formatting of a list as a reusable ListTemplate.",
|
|
@@ -6842,6 +6857,16 @@ var init_schemas = __esm(() => {
|
|
|
6842
6857
|
success: listsMutateItemSuccessSchema,
|
|
6843
6858
|
failure: listsFailureSchemaFor("lists.applyPreset")
|
|
6844
6859
|
},
|
|
6860
|
+
"lists.setType": {
|
|
6861
|
+
input: objectSchema({
|
|
6862
|
+
target: listItemAddressSchema,
|
|
6863
|
+
kind: { enum: ["ordered", "bullet"] },
|
|
6864
|
+
continuity: { enum: ["preserve", "none"] }
|
|
6865
|
+
}, ["target", "kind"]),
|
|
6866
|
+
output: listsMutateItemResultSchemaFor("lists.setType"),
|
|
6867
|
+
success: listsMutateItemSuccessSchema,
|
|
6868
|
+
failure: listsFailureSchemaFor("lists.setType")
|
|
6869
|
+
},
|
|
6845
6870
|
"lists.captureTemplate": (() => {
|
|
6846
6871
|
const successSchema = objectSchema({
|
|
6847
6872
|
success: { const: true },
|
|
@@ -9014,6 +9039,10 @@ function executeListsClearLevelOverrides(adapter, input, options) {
|
|
|
9014
9039
|
validateListTarget(input, "lists.clearLevelOverrides");
|
|
9015
9040
|
return adapter.clearLevelOverrides(input, normalizeMutationOptions(options));
|
|
9016
9041
|
}
|
|
9042
|
+
function executeListsSetType(adapter, input, options) {
|
|
9043
|
+
validateListTarget(input, "lists.setType");
|
|
9044
|
+
return adapter.setType(input, normalizeMutationOptions(options));
|
|
9045
|
+
}
|
|
9017
9046
|
var init_lists = __esm(() => {
|
|
9018
9047
|
init_errors2();
|
|
9019
9048
|
});
|
|
@@ -9350,6 +9379,7 @@ function buildDispatchTable(api) {
|
|
|
9350
9379
|
"lists.convertToText": (input, options) => api.lists.convertToText(input, options),
|
|
9351
9380
|
"lists.applyTemplate": (input, options) => api.lists.applyTemplate(input, options),
|
|
9352
9381
|
"lists.applyPreset": (input, options) => api.lists.applyPreset(input, options),
|
|
9382
|
+
"lists.setType": (input, options) => api.lists.setType(input, options),
|
|
9353
9383
|
"lists.captureTemplate": (input) => api.lists.captureTemplate(input),
|
|
9354
9384
|
"lists.setLevelNumbering": (input, options) => api.lists.setLevelNumbering(input, options),
|
|
9355
9385
|
"lists.setLevelBullet": (input, options) => api.lists.setLevelBullet(input, options),
|
|
@@ -10717,11 +10747,7 @@ function createDocumentApi(adapters) {
|
|
|
10717
10747
|
return executeListsClearLevelOverrides(adapters.lists, input, options);
|
|
10718
10748
|
},
|
|
10719
10749
|
setType(input, options) {
|
|
10720
|
-
|
|
10721
|
-
ordered: "decimal",
|
|
10722
|
-
bullet: "disc"
|
|
10723
|
-
};
|
|
10724
|
-
return executeListsApplyPreset(adapters.lists, { target: input.target, preset: presetMap[input.kind] }, options);
|
|
10750
|
+
return executeListsSetType(adapters.lists, input, options);
|
|
10725
10751
|
}
|
|
10726
10752
|
},
|
|
10727
10753
|
sections: {
|
|
@@ -33254,7 +33280,7 @@ var init_remark_gfm_z_sDF4ss_es = __esm(() => {
|
|
|
33254
33280
|
emptyOptions2 = {};
|
|
33255
33281
|
});
|
|
33256
33282
|
|
|
33257
|
-
// ../../packages/superdoc/dist/chunks/SuperConverter-
|
|
33283
|
+
// ../../packages/superdoc/dist/chunks/SuperConverter-6i-hCnOE.es.js
|
|
33258
33284
|
function getExtensionConfigField(extension$1, field, context = { name: "" }) {
|
|
33259
33285
|
const fieldValue = extension$1.config[field];
|
|
33260
33286
|
if (typeof fieldValue === "function")
|
|
@@ -35659,6 +35685,10 @@ function executeListsClearLevelOverrides2(adapter, input, options) {
|
|
|
35659
35685
|
validateListTarget2(input, "lists.clearLevelOverrides");
|
|
35660
35686
|
return adapter.clearLevelOverrides(input, normalizeMutationOptions2(options));
|
|
35661
35687
|
}
|
|
35688
|
+
function executeListsSetType2(adapter, input, options) {
|
|
35689
|
+
validateListTarget2(input, "lists.setType");
|
|
35690
|
+
return adapter.setType(input, normalizeMutationOptions2(options));
|
|
35691
|
+
}
|
|
35662
35692
|
function validateReplaceInput2(input) {
|
|
35663
35693
|
if (!isRecord3(input))
|
|
35664
35694
|
throw new DocumentApiValidationError2("INVALID_TARGET", "Replace input must be a non-null object.");
|
|
@@ -35945,6 +35975,7 @@ function buildDispatchTable2(api) {
|
|
|
35945
35975
|
"lists.convertToText": (input, options) => api.lists.convertToText(input, options),
|
|
35946
35976
|
"lists.applyTemplate": (input, options) => api.lists.applyTemplate(input, options),
|
|
35947
35977
|
"lists.applyPreset": (input, options) => api.lists.applyPreset(input, options),
|
|
35978
|
+
"lists.setType": (input, options) => api.lists.setType(input, options),
|
|
35948
35979
|
"lists.captureTemplate": (input) => api.lists.captureTemplate(input),
|
|
35949
35980
|
"lists.setLevelNumbering": (input, options) => api.lists.setLevelNumbering(input, options),
|
|
35950
35981
|
"lists.setLevelBullet": (input, options) => api.lists.setLevelBullet(input, options),
|
|
@@ -37132,13 +37163,7 @@ function createDocumentApi2(adapters) {
|
|
|
37132
37163
|
return executeListsClearLevelOverrides2(adapters.lists, input, options);
|
|
37133
37164
|
},
|
|
37134
37165
|
setType(input, options) {
|
|
37135
|
-
return
|
|
37136
|
-
target: input.target,
|
|
37137
|
-
preset: {
|
|
37138
|
-
ordered: "decimal",
|
|
37139
|
-
bullet: "disc"
|
|
37140
|
-
}[input.kind]
|
|
37141
|
-
}, options);
|
|
37166
|
+
return executeListsSetType2(adapters.lists, input, options);
|
|
37142
37167
|
}
|
|
37143
37168
|
},
|
|
37144
37169
|
sections: {
|
|
@@ -47666,6 +47691,144 @@ function remarkParse(options) {
|
|
|
47666
47691
|
function parseMarkdownToAst(markdown) {
|
|
47667
47692
|
return unified().use(remarkParse).use(remarkGfm).parse(markdown);
|
|
47668
47693
|
}
|
|
47694
|
+
function readImageDimensions(bytes) {
|
|
47695
|
+
if (!(bytes instanceof Uint8Array) || bytes.length < 12)
|
|
47696
|
+
return null;
|
|
47697
|
+
if (bytes[0] === 137 && bytes[1] === 80 && bytes[2] === 78 && bytes[3] === 71) {
|
|
47698
|
+
if (bytes.length < 24)
|
|
47699
|
+
return null;
|
|
47700
|
+
const view = new DataView(bytes.buffer, bytes.byteOffset, bytes.byteLength);
|
|
47701
|
+
const width = view.getInt32(16);
|
|
47702
|
+
const height = view.getInt32(20);
|
|
47703
|
+
if (width > 0 && height > 0)
|
|
47704
|
+
return {
|
|
47705
|
+
width,
|
|
47706
|
+
height
|
|
47707
|
+
};
|
|
47708
|
+
return null;
|
|
47709
|
+
}
|
|
47710
|
+
if (bytes[0] === 255 && bytes[1] === 216 && bytes[2] === 255)
|
|
47711
|
+
return readJpegDimensions(bytes);
|
|
47712
|
+
if (bytes[0] === 71 && bytes[1] === 73 && bytes[2] === 70 && bytes[3] === 56) {
|
|
47713
|
+
if (bytes.length < 10)
|
|
47714
|
+
return null;
|
|
47715
|
+
const view = new DataView(bytes.buffer, bytes.byteOffset, bytes.byteLength);
|
|
47716
|
+
const width = view.getUint16(6, true);
|
|
47717
|
+
const height = view.getUint16(8, true);
|
|
47718
|
+
if (width > 0 && height > 0)
|
|
47719
|
+
return {
|
|
47720
|
+
width,
|
|
47721
|
+
height
|
|
47722
|
+
};
|
|
47723
|
+
return null;
|
|
47724
|
+
}
|
|
47725
|
+
if (bytes[0] === 66 && bytes[1] === 77) {
|
|
47726
|
+
if (bytes.length < 26)
|
|
47727
|
+
return null;
|
|
47728
|
+
const view = new DataView(bytes.buffer, bytes.byteOffset, bytes.byteLength);
|
|
47729
|
+
const width = view.getInt32(18, true);
|
|
47730
|
+
const height = Math.abs(view.getInt32(22, true));
|
|
47731
|
+
if (width > 0 && height > 0)
|
|
47732
|
+
return {
|
|
47733
|
+
width,
|
|
47734
|
+
height
|
|
47735
|
+
};
|
|
47736
|
+
return null;
|
|
47737
|
+
}
|
|
47738
|
+
if (bytes[0] === 82 && bytes[1] === 73 && bytes[2] === 70 && bytes[3] === 70 && bytes[8] === 87 && bytes[9] === 69 && bytes[10] === 66 && bytes[11] === 80)
|
|
47739
|
+
return readWebpDimensions(bytes);
|
|
47740
|
+
return null;
|
|
47741
|
+
}
|
|
47742
|
+
function readJpegDimensions(bytes) {
|
|
47743
|
+
const view = new DataView(bytes.buffer, bytes.byteOffset, bytes.byteLength);
|
|
47744
|
+
let offset = 2;
|
|
47745
|
+
while (offset + 4 < bytes.length) {
|
|
47746
|
+
if (bytes[offset] !== 255)
|
|
47747
|
+
return null;
|
|
47748
|
+
const marker = bytes[offset + 1];
|
|
47749
|
+
if (marker === 192 || marker === 194) {
|
|
47750
|
+
if (offset + 9 > bytes.length)
|
|
47751
|
+
return null;
|
|
47752
|
+
const height = view.getUint16(offset + 5);
|
|
47753
|
+
const width = view.getUint16(offset + 7);
|
|
47754
|
+
if (width > 0 && height > 0)
|
|
47755
|
+
return {
|
|
47756
|
+
width,
|
|
47757
|
+
height
|
|
47758
|
+
};
|
|
47759
|
+
return null;
|
|
47760
|
+
}
|
|
47761
|
+
if (marker === 217)
|
|
47762
|
+
return null;
|
|
47763
|
+
if (marker === 218)
|
|
47764
|
+
return null;
|
|
47765
|
+
const segmentLength = view.getUint16(offset + 2);
|
|
47766
|
+
offset += 2 + segmentLength;
|
|
47767
|
+
}
|
|
47768
|
+
return null;
|
|
47769
|
+
}
|
|
47770
|
+
function readWebpDimensions(bytes) {
|
|
47771
|
+
if (bytes.length < 16)
|
|
47772
|
+
return null;
|
|
47773
|
+
const chunkTag = String.fromCharCode(bytes[12], bytes[13], bytes[14], bytes[15]);
|
|
47774
|
+
if (chunkTag === "VP8 ") {
|
|
47775
|
+
if (bytes.length < 30)
|
|
47776
|
+
return null;
|
|
47777
|
+
const view = new DataView(bytes.buffer, bytes.byteOffset, bytes.byteLength);
|
|
47778
|
+
const width = view.getUint16(26, true) & 16383;
|
|
47779
|
+
const height = view.getUint16(28, true) & 16383;
|
|
47780
|
+
if (width > 0 && height > 0)
|
|
47781
|
+
return {
|
|
47782
|
+
width,
|
|
47783
|
+
height
|
|
47784
|
+
};
|
|
47785
|
+
return null;
|
|
47786
|
+
}
|
|
47787
|
+
if (chunkTag === "VP8L") {
|
|
47788
|
+
if (bytes.length < 25)
|
|
47789
|
+
return null;
|
|
47790
|
+
const b0 = bytes[21];
|
|
47791
|
+
const b1 = bytes[22];
|
|
47792
|
+
const b2 = bytes[23];
|
|
47793
|
+
const b3 = bytes[24];
|
|
47794
|
+
const width = ((b1 & 63) << 8 | b0) + 1;
|
|
47795
|
+
const height = ((b3 & 15) << 10 | b2 << 2 | b1 >> 6) + 1;
|
|
47796
|
+
if (width > 0 && height > 0)
|
|
47797
|
+
return {
|
|
47798
|
+
width,
|
|
47799
|
+
height
|
|
47800
|
+
};
|
|
47801
|
+
return null;
|
|
47802
|
+
}
|
|
47803
|
+
if (chunkTag === "VP8X") {
|
|
47804
|
+
if (bytes.length < 30)
|
|
47805
|
+
return null;
|
|
47806
|
+
const width = (bytes[24] | bytes[25] << 8 | bytes[26] << 16) + 1;
|
|
47807
|
+
const height = (bytes[27] | bytes[28] << 8 | bytes[29] << 16) + 1;
|
|
47808
|
+
if (width > 0 && height > 0)
|
|
47809
|
+
return {
|
|
47810
|
+
width,
|
|
47811
|
+
height
|
|
47812
|
+
};
|
|
47813
|
+
return null;
|
|
47814
|
+
}
|
|
47815
|
+
return null;
|
|
47816
|
+
}
|
|
47817
|
+
function readImageDimensionsFromDataUri(dataUri) {
|
|
47818
|
+
if (typeof dataUri !== "string" || !dataUri.startsWith("data:"))
|
|
47819
|
+
return null;
|
|
47820
|
+
const commaIndex = dataUri.indexOf(",");
|
|
47821
|
+
if (commaIndex === -1)
|
|
47822
|
+
return null;
|
|
47823
|
+
const base64Payload = dataUri.slice(commaIndex + 1);
|
|
47824
|
+
if (!base64Payload)
|
|
47825
|
+
return null;
|
|
47826
|
+
try {
|
|
47827
|
+
return readImageDimensions(base64ToUint8Array(base64Payload));
|
|
47828
|
+
} catch {
|
|
47829
|
+
return null;
|
|
47830
|
+
}
|
|
47831
|
+
}
|
|
47669
47832
|
function convertMdastToBlocks(root2, ctx) {
|
|
47670
47833
|
return flatMapRootChildrenPreserveBlankLines(root2, ctx);
|
|
47671
47834
|
}
|
|
@@ -47852,11 +48015,7 @@ function convertImageBlock(node3, ctx) {
|
|
|
47852
48015
|
type: "paragraph",
|
|
47853
48016
|
content: [{
|
|
47854
48017
|
type: "image",
|
|
47855
|
-
attrs:
|
|
47856
|
-
src: node3.url,
|
|
47857
|
-
alt: node3.alt ?? null,
|
|
47858
|
-
title: node3.title ?? null
|
|
47859
|
-
}
|
|
48018
|
+
attrs: buildImageAttrs(node3, ctx)
|
|
47860
48019
|
}]
|
|
47861
48020
|
};
|
|
47862
48021
|
}
|
|
@@ -47926,13 +48085,47 @@ function convertInlineImage(node3, ctx) {
|
|
|
47926
48085
|
}
|
|
47927
48086
|
return [{
|
|
47928
48087
|
type: "image",
|
|
47929
|
-
attrs:
|
|
47930
|
-
src: node3.url,
|
|
47931
|
-
alt: node3.alt ?? null,
|
|
47932
|
-
title: node3.title ?? null
|
|
47933
|
-
}
|
|
48088
|
+
attrs: buildImageAttrs(node3, ctx)
|
|
47934
48089
|
}];
|
|
47935
48090
|
}
|
|
48091
|
+
function buildImageAttrs(node3, ctx) {
|
|
48092
|
+
const attrs = {
|
|
48093
|
+
src: node3.url,
|
|
48094
|
+
alt: node3.alt ?? null,
|
|
48095
|
+
title: node3.title ?? null,
|
|
48096
|
+
sdImageId: v4_default(),
|
|
48097
|
+
id: generateUniqueImageDocPrId(ctx)
|
|
48098
|
+
};
|
|
48099
|
+
const dimensions = readImageDimensionsFromDataUri(node3.url);
|
|
48100
|
+
if (dimensions)
|
|
48101
|
+
attrs.size = dimensions;
|
|
48102
|
+
return attrs;
|
|
48103
|
+
}
|
|
48104
|
+
function generateUniqueImageDocPrId(ctx) {
|
|
48105
|
+
const existingIds = getOrCreateImageDocPrIdSet(ctx);
|
|
48106
|
+
let candidate = "";
|
|
48107
|
+
do {
|
|
48108
|
+
const hex = generateDocxRandomId();
|
|
48109
|
+
candidate = String(parseInt(hex, 16));
|
|
48110
|
+
} while (!candidate || existingIds.has(candidate));
|
|
48111
|
+
existingIds.add(candidate);
|
|
48112
|
+
return candidate;
|
|
48113
|
+
}
|
|
48114
|
+
function getOrCreateImageDocPrIdSet(ctx) {
|
|
48115
|
+
const cached = imageDocPrIdsByContext.get(ctx);
|
|
48116
|
+
if (cached)
|
|
48117
|
+
return cached;
|
|
48118
|
+
const existingIds = /* @__PURE__ */ new Set;
|
|
48119
|
+
ctx.editor?.state?.doc?.descendants((node3) => {
|
|
48120
|
+
if (node3.type.name !== "image")
|
|
48121
|
+
return true;
|
|
48122
|
+
if (node3.attrs.id !== undefined && node3.attrs.id !== null)
|
|
48123
|
+
existingIds.add(String(node3.attrs.id));
|
|
48124
|
+
return true;
|
|
48125
|
+
});
|
|
48126
|
+
imageDocPrIdsByContext.set(ctx, existingIds);
|
|
48127
|
+
return existingIds;
|
|
48128
|
+
}
|
|
47936
48129
|
function makeParagraph(content$2, extraParagraphProps) {
|
|
47937
48130
|
const paragraphProperties = extraParagraphProps ? { ...extraParagraphProps } : undefined;
|
|
47938
48131
|
const attrs = {};
|
|
@@ -48386,144 +48579,6 @@ function updateDOMAttributes(dom, attrs = {}, options = {}) {
|
|
|
48386
48579
|
dom.removeAttribute(key);
|
|
48387
48580
|
});
|
|
48388
48581
|
}
|
|
48389
|
-
function readImageDimensions(bytes) {
|
|
48390
|
-
if (!(bytes instanceof Uint8Array) || bytes.length < 12)
|
|
48391
|
-
return null;
|
|
48392
|
-
if (bytes[0] === 137 && bytes[1] === 80 && bytes[2] === 78 && bytes[3] === 71) {
|
|
48393
|
-
if (bytes.length < 24)
|
|
48394
|
-
return null;
|
|
48395
|
-
const view = new DataView(bytes.buffer, bytes.byteOffset, bytes.byteLength);
|
|
48396
|
-
const width = view.getInt32(16);
|
|
48397
|
-
const height = view.getInt32(20);
|
|
48398
|
-
if (width > 0 && height > 0)
|
|
48399
|
-
return {
|
|
48400
|
-
width,
|
|
48401
|
-
height
|
|
48402
|
-
};
|
|
48403
|
-
return null;
|
|
48404
|
-
}
|
|
48405
|
-
if (bytes[0] === 255 && bytes[1] === 216 && bytes[2] === 255)
|
|
48406
|
-
return readJpegDimensions(bytes);
|
|
48407
|
-
if (bytes[0] === 71 && bytes[1] === 73 && bytes[2] === 70 && bytes[3] === 56) {
|
|
48408
|
-
if (bytes.length < 10)
|
|
48409
|
-
return null;
|
|
48410
|
-
const view = new DataView(bytes.buffer, bytes.byteOffset, bytes.byteLength);
|
|
48411
|
-
const width = view.getUint16(6, true);
|
|
48412
|
-
const height = view.getUint16(8, true);
|
|
48413
|
-
if (width > 0 && height > 0)
|
|
48414
|
-
return {
|
|
48415
|
-
width,
|
|
48416
|
-
height
|
|
48417
|
-
};
|
|
48418
|
-
return null;
|
|
48419
|
-
}
|
|
48420
|
-
if (bytes[0] === 66 && bytes[1] === 77) {
|
|
48421
|
-
if (bytes.length < 26)
|
|
48422
|
-
return null;
|
|
48423
|
-
const view = new DataView(bytes.buffer, bytes.byteOffset, bytes.byteLength);
|
|
48424
|
-
const width = view.getInt32(18, true);
|
|
48425
|
-
const height = Math.abs(view.getInt32(22, true));
|
|
48426
|
-
if (width > 0 && height > 0)
|
|
48427
|
-
return {
|
|
48428
|
-
width,
|
|
48429
|
-
height
|
|
48430
|
-
};
|
|
48431
|
-
return null;
|
|
48432
|
-
}
|
|
48433
|
-
if (bytes[0] === 82 && bytes[1] === 73 && bytes[2] === 70 && bytes[3] === 70 && bytes[8] === 87 && bytes[9] === 69 && bytes[10] === 66 && bytes[11] === 80)
|
|
48434
|
-
return readWebpDimensions(bytes);
|
|
48435
|
-
return null;
|
|
48436
|
-
}
|
|
48437
|
-
function readJpegDimensions(bytes) {
|
|
48438
|
-
const view = new DataView(bytes.buffer, bytes.byteOffset, bytes.byteLength);
|
|
48439
|
-
let offset = 2;
|
|
48440
|
-
while (offset + 4 < bytes.length) {
|
|
48441
|
-
if (bytes[offset] !== 255)
|
|
48442
|
-
return null;
|
|
48443
|
-
const marker = bytes[offset + 1];
|
|
48444
|
-
if (marker === 192 || marker === 194) {
|
|
48445
|
-
if (offset + 9 > bytes.length)
|
|
48446
|
-
return null;
|
|
48447
|
-
const height = view.getUint16(offset + 5);
|
|
48448
|
-
const width = view.getUint16(offset + 7);
|
|
48449
|
-
if (width > 0 && height > 0)
|
|
48450
|
-
return {
|
|
48451
|
-
width,
|
|
48452
|
-
height
|
|
48453
|
-
};
|
|
48454
|
-
return null;
|
|
48455
|
-
}
|
|
48456
|
-
if (marker === 217)
|
|
48457
|
-
return null;
|
|
48458
|
-
if (marker === 218)
|
|
48459
|
-
return null;
|
|
48460
|
-
const segmentLength = view.getUint16(offset + 2);
|
|
48461
|
-
offset += 2 + segmentLength;
|
|
48462
|
-
}
|
|
48463
|
-
return null;
|
|
48464
|
-
}
|
|
48465
|
-
function readWebpDimensions(bytes) {
|
|
48466
|
-
if (bytes.length < 16)
|
|
48467
|
-
return null;
|
|
48468
|
-
const chunkTag = String.fromCharCode(bytes[12], bytes[13], bytes[14], bytes[15]);
|
|
48469
|
-
if (chunkTag === "VP8 ") {
|
|
48470
|
-
if (bytes.length < 30)
|
|
48471
|
-
return null;
|
|
48472
|
-
const view = new DataView(bytes.buffer, bytes.byteOffset, bytes.byteLength);
|
|
48473
|
-
const width = view.getUint16(26, true) & 16383;
|
|
48474
|
-
const height = view.getUint16(28, true) & 16383;
|
|
48475
|
-
if (width > 0 && height > 0)
|
|
48476
|
-
return {
|
|
48477
|
-
width,
|
|
48478
|
-
height
|
|
48479
|
-
};
|
|
48480
|
-
return null;
|
|
48481
|
-
}
|
|
48482
|
-
if (chunkTag === "VP8L") {
|
|
48483
|
-
if (bytes.length < 25)
|
|
48484
|
-
return null;
|
|
48485
|
-
const b0 = bytes[21];
|
|
48486
|
-
const b1 = bytes[22];
|
|
48487
|
-
const b2 = bytes[23];
|
|
48488
|
-
const b3 = bytes[24];
|
|
48489
|
-
const width = ((b1 & 63) << 8 | b0) + 1;
|
|
48490
|
-
const height = ((b3 & 15) << 10 | b2 << 2 | b1 >> 6) + 1;
|
|
48491
|
-
if (width > 0 && height > 0)
|
|
48492
|
-
return {
|
|
48493
|
-
width,
|
|
48494
|
-
height
|
|
48495
|
-
};
|
|
48496
|
-
return null;
|
|
48497
|
-
}
|
|
48498
|
-
if (chunkTag === "VP8X") {
|
|
48499
|
-
if (bytes.length < 30)
|
|
48500
|
-
return null;
|
|
48501
|
-
const width = (bytes[24] | bytes[25] << 8 | bytes[26] << 16) + 1;
|
|
48502
|
-
const height = (bytes[27] | bytes[28] << 8 | bytes[29] << 16) + 1;
|
|
48503
|
-
if (width > 0 && height > 0)
|
|
48504
|
-
return {
|
|
48505
|
-
width,
|
|
48506
|
-
height
|
|
48507
|
-
};
|
|
48508
|
-
return null;
|
|
48509
|
-
}
|
|
48510
|
-
return null;
|
|
48511
|
-
}
|
|
48512
|
-
function readImageDimensionsFromDataUri(dataUri) {
|
|
48513
|
-
if (typeof dataUri !== "string" || !dataUri.startsWith("data:"))
|
|
48514
|
-
return null;
|
|
48515
|
-
const commaIndex = dataUri.indexOf(",");
|
|
48516
|
-
if (commaIndex === -1)
|
|
48517
|
-
return null;
|
|
48518
|
-
const base64Payload = dataUri.slice(commaIndex + 1);
|
|
48519
|
-
if (!base64Payload)
|
|
48520
|
-
return null;
|
|
48521
|
-
try {
|
|
48522
|
-
return readImageDimensions(base64ToUint8Array(base64Payload));
|
|
48523
|
-
} catch {
|
|
48524
|
-
return null;
|
|
48525
|
-
}
|
|
48526
|
-
}
|
|
48527
48582
|
function resolveHyperlinkRId(attrs, params) {
|
|
48528
48583
|
if (!attrs.hyperlink?.url || !params)
|
|
48529
48584
|
return null;
|
|
@@ -61556,7 +61611,7 @@ var isRegExp = (value) => {
|
|
|
61556
61611
|
chunkedPush(this.left, removed.reverse());
|
|
61557
61612
|
}
|
|
61558
61613
|
}
|
|
61559
|
-
}, content$1, continuationConstruct, definition2, titleBefore, hardBreakEscape, headingAtx, htmlBlockNames, htmlRawNames, htmlFlow, blankLineBefore, nonLazyContinuationStart, htmlText, labelEnd, resourceConstruct, referenceFullConstruct, referenceCollapsedConstruct, labelStartImage, labelStartLink, lineEnding, thematicBreak2, list2, listItemPrefixWhitespaceConstruct, indentConstruct, setextUnderline, flow, resolver, string, text3, constructs_exports, document$2, contentInitial, flowInitial, flow$1, string$1, text$1, insideSpan, attentionMarkers, disable, search, own3, FULL_WIDTH_TABLE_PCT = 5000, HEADING_STYLE_MAP, FENCE_OPEN_RE, INDENTED_CODE_RE, MAX_BORDER_SCAN = 100, MIN_BORDER_WIDTH_RATIO = 0.4, defaultBooleans, MAX_INLINE_NAVIGATION_ITERATIONS = 8, computeChangeRange = (original, suggested) => {
|
|
61614
|
+
}, content$1, continuationConstruct, definition2, titleBefore, hardBreakEscape, headingAtx, htmlBlockNames, htmlRawNames, htmlFlow, blankLineBefore, nonLazyContinuationStart, htmlText, labelEnd, resourceConstruct, referenceFullConstruct, referenceCollapsedConstruct, labelStartImage, labelStartLink, lineEnding, thematicBreak2, list2, listItemPrefixWhitespaceConstruct, indentConstruct, setextUnderline, flow, resolver, string, text3, constructs_exports, document$2, contentInitial, flowInitial, flow$1, string$1, text$1, insideSpan, attentionMarkers, disable, search, own3, FULL_WIDTH_TABLE_PCT = 5000, imageDocPrIdsByContext, HEADING_STYLE_MAP, FENCE_OPEN_RE, INDENTED_CODE_RE, MAX_BORDER_SCAN = 100, MIN_BORDER_WIDTH_RATIO = 0.4, defaultBooleans, MAX_INLINE_NAVIGATION_ITERATIONS = 8, computeChangeRange = (original, suggested) => {
|
|
61560
61615
|
const origLen = original.length;
|
|
61561
61616
|
const suggLen = suggested.length;
|
|
61562
61617
|
let prefix = 0;
|
|
@@ -65053,7 +65108,7 @@ var isRegExp = (value) => {
|
|
|
65053
65108
|
state.kern = kernNode.attributes["w:val"];
|
|
65054
65109
|
}
|
|
65055
65110
|
}, SuperConverter;
|
|
65056
|
-
var
|
|
65111
|
+
var init_SuperConverter_6i_hCnOE_es = __esm(() => {
|
|
65057
65112
|
init_rolldown_runtime_B2q5OVn9_es();
|
|
65058
65113
|
init_jszip_ChlR43oI_es();
|
|
65059
65114
|
init_xml_js_DLE8mr0n_es();
|
|
@@ -69065,6 +69120,29 @@ var init_SuperConverter_WVv8Qhfn_es = __esm(() => {
|
|
|
69065
69120
|
referenceDocPath: "lists/apply-preset.mdx",
|
|
69066
69121
|
referenceGroup: "lists"
|
|
69067
69122
|
},
|
|
69123
|
+
"lists.setType": {
|
|
69124
|
+
memberPath: "lists.setType",
|
|
69125
|
+
description: "Convert a list to ordered or bullet and merge adjacent compatible sequences to preserve continuous numbering.",
|
|
69126
|
+
expectedResult: "Returns a ListsMutateItemResult receipt; reports NO_OP if the list is already the requested kind and no sequences were merged.",
|
|
69127
|
+
requiresDocumentContext: true,
|
|
69128
|
+
metadata: mutationOperation2({
|
|
69129
|
+
idempotency: "conditional",
|
|
69130
|
+
supportsDryRun: true,
|
|
69131
|
+
supportsTrackedMode: false,
|
|
69132
|
+
possibleFailureCodes: [
|
|
69133
|
+
"NO_OP",
|
|
69134
|
+
"INVALID_TARGET",
|
|
69135
|
+
"INVALID_INPUT"
|
|
69136
|
+
],
|
|
69137
|
+
throws: [
|
|
69138
|
+
...T_NOT_FOUND_CAPABLE2,
|
|
69139
|
+
"INVALID_TARGET",
|
|
69140
|
+
"INVALID_INPUT"
|
|
69141
|
+
]
|
|
69142
|
+
}),
|
|
69143
|
+
referenceDocPath: "lists/set-type.mdx",
|
|
69144
|
+
referenceGroup: "lists"
|
|
69145
|
+
},
|
|
69068
69146
|
"lists.captureTemplate": {
|
|
69069
69147
|
memberPath: "lists.captureTemplate",
|
|
69070
69148
|
description: "Capture the formatting of a list as a reusable ListTemplate.",
|
|
@@ -73212,7 +73290,11 @@ var init_SuperConverter_WVv8Qhfn_es = __esm(() => {
|
|
|
73212
73290
|
minimum: 0,
|
|
73213
73291
|
maximum: 8
|
|
73214
73292
|
})
|
|
73215
|
-
}, ["target", "preset"]), listsMutateItemResultSchemaFor2("lists.applyPreset"), listsFailureSchemaFor2("lists.applyPreset"), (
|
|
73293
|
+
}, ["target", "preset"]), listsMutateItemResultSchemaFor2("lists.applyPreset"), listsFailureSchemaFor2("lists.applyPreset"), objectSchema2({
|
|
73294
|
+
target: listItemAddressSchema2,
|
|
73295
|
+
kind: { enum: ["ordered", "bullet"] },
|
|
73296
|
+
continuity: { enum: ["preserve", "none"] }
|
|
73297
|
+
}, ["target", "kind"]), listsMutateItemResultSchemaFor2("lists.setType"), listsFailureSchemaFor2("lists.setType"), (() => {
|
|
73216
73298
|
const successSchema = objectSchema2({
|
|
73217
73299
|
success: { const: true },
|
|
73218
73300
|
template: objectSchema2({
|
|
@@ -89214,6 +89296,7 @@ var init_SuperConverter_WVv8Qhfn_es = __esm(() => {
|
|
|
89214
89296
|
disable = { null: [] };
|
|
89215
89297
|
search = /[\0\t\n\r]/g;
|
|
89216
89298
|
own3 = {}.hasOwnProperty;
|
|
89299
|
+
imageDocPrIdsByContext = /* @__PURE__ */ new WeakMap;
|
|
89217
89300
|
HEADING_STYLE_MAP = {
|
|
89218
89301
|
1: "Heading1",
|
|
89219
89302
|
2: "Heading2",
|
|
@@ -121801,9 +121884,9 @@ var init_remark_gfm_CjV8kaUy_es = __esm(() => {
|
|
|
121801
121884
|
init_remark_gfm_z_sDF4ss_es();
|
|
121802
121885
|
});
|
|
121803
121886
|
|
|
121804
|
-
// ../../packages/superdoc/dist/chunks/src-
|
|
121805
|
-
var
|
|
121806
|
-
__export(
|
|
121887
|
+
// ../../packages/superdoc/dist/chunks/src-Db-ZEAR0.es.js
|
|
121888
|
+
var exports_src_Db_ZEAR0_es = {};
|
|
121889
|
+
__export(exports_src_Db_ZEAR0_es, {
|
|
121807
121890
|
zt: () => defineMark,
|
|
121808
121891
|
z: () => cM,
|
|
121809
121892
|
yt: () => removeAwarenessStates,
|
|
@@ -133087,6 +133170,26 @@ function editorHasDom(editor) {
|
|
|
133087
133170
|
const opts = editor.options;
|
|
133088
133171
|
return !!(opts?.document ?? opts?.mockDocument ?? (typeof document !== "undefined" ? document : null));
|
|
133089
133172
|
}
|
|
133173
|
+
function isJsonObject(value) {
|
|
133174
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
133175
|
+
}
|
|
133176
|
+
function ensureMarkdownImageIds(nodes) {
|
|
133177
|
+
const visit2 = (node3) => {
|
|
133178
|
+
if (node3.type === "image") {
|
|
133179
|
+
const attrs = isJsonObject(node3.attrs) ? { ...node3.attrs } : {};
|
|
133180
|
+
if (!(typeof attrs.sdImageId === "string" && attrs.sdImageId.length > 0))
|
|
133181
|
+
attrs.sdImageId = v4_default();
|
|
133182
|
+
node3.attrs = attrs;
|
|
133183
|
+
}
|
|
133184
|
+
if (!Array.isArray(node3.content))
|
|
133185
|
+
return;
|
|
133186
|
+
for (const child of node3.content)
|
|
133187
|
+
if (isJsonObject(child))
|
|
133188
|
+
visit2(child);
|
|
133189
|
+
};
|
|
133190
|
+
for (const node3 of nodes)
|
|
133191
|
+
visit2(node3);
|
|
133192
|
+
}
|
|
133090
133193
|
function ensureTableSeparators(jsonNodes) {
|
|
133091
133194
|
for (let i$1 = jsonNodes.length - 2;i$1 >= 0; i$1--)
|
|
133092
133195
|
if (jsonNodes[i$1].type === "table" && jsonNodes[i$1 + 1].type === "table")
|
|
@@ -133553,6 +133656,7 @@ function insertStructuredWrapper(editor, input2, options) {
|
|
|
133553
133656
|
}
|
|
133554
133657
|
const jsonNodes = [];
|
|
133555
133658
|
fragment.forEach((node3) => jsonNodes.push(node3.toJSON()));
|
|
133659
|
+
ensureMarkdownImageIds(jsonNodes);
|
|
133556
133660
|
ensureTableSeparators(jsonNodes);
|
|
133557
133661
|
if (from$12 === to) {
|
|
133558
133662
|
const $pos = editor.state.doc.resolve(from$12);
|
|
@@ -137108,6 +137212,108 @@ function listsApplyPresetWrapper(editor, input2, options) {
|
|
|
137108
137212
|
item: targetResult.resolved.address
|
|
137109
137213
|
};
|
|
137110
137214
|
}
|
|
137215
|
+
function areAbstractsCompatibleForMerge(targetAbstractNumId, adjacentAbstractNumId) {
|
|
137216
|
+
return adjacentAbstractNumId != null && targetAbstractNumId === adjacentAbstractNumId;
|
|
137217
|
+
}
|
|
137218
|
+
function resolveSequenceKind(sequence) {
|
|
137219
|
+
const first$1 = sequence[0];
|
|
137220
|
+
if (!first$1 || first$1.numId == null)
|
|
137221
|
+
return;
|
|
137222
|
+
return first$1.kind;
|
|
137223
|
+
}
|
|
137224
|
+
function mergeAdjacentSequence(editor, tr, absorbingNumId, absorbedItems) {
|
|
137225
|
+
const firstAbsorbed = absorbedItems[0];
|
|
137226
|
+
if (firstAbsorbed?.numId != null)
|
|
137227
|
+
ListHelpers.removeLvlOverride(editor, firstAbsorbed.numId, firstAbsorbed.level ?? 0);
|
|
137228
|
+
for (const item of absorbedItems)
|
|
137229
|
+
updateNumberingProperties({
|
|
137230
|
+
numId: absorbingNumId,
|
|
137231
|
+
ilvl: item.level ?? 0
|
|
137232
|
+
}, item.candidate.node, item.candidate.pos, editor, tr);
|
|
137233
|
+
}
|
|
137234
|
+
function listsSetTypeWrapper(editor, input2, options) {
|
|
137235
|
+
rejectTrackedMode("lists.setType", options);
|
|
137236
|
+
const preset = DEFAULT_PRESET_FOR_KIND[input2.kind];
|
|
137237
|
+
if (!preset)
|
|
137238
|
+
return toListsFailure("INVALID_INPUT", `Unknown list kind: ${input2.kind}.`, { kind: input2.kind });
|
|
137239
|
+
const template = LevelFormattingHelpers.getPresetTemplate(preset);
|
|
137240
|
+
if (!template)
|
|
137241
|
+
return toListsFailure("INVALID_INPUT", `No template found for preset: ${preset}.`, { preset });
|
|
137242
|
+
const targetResult = resolveTargetAbstract(editor, input2.target);
|
|
137243
|
+
if (!targetResult.ok)
|
|
137244
|
+
return targetResult.failure;
|
|
137245
|
+
if (options?.dryRun)
|
|
137246
|
+
return {
|
|
137247
|
+
success: true,
|
|
137248
|
+
item: targetResult.resolved.address
|
|
137249
|
+
};
|
|
137250
|
+
const continuity = input2.continuity ?? "preserve";
|
|
137251
|
+
let applyError;
|
|
137252
|
+
const receipt2 = executeDomainCommand(editor, () => {
|
|
137253
|
+
let didAnything = false;
|
|
137254
|
+
const result = LevelFormattingHelpers.applyTemplateToAbstract(editor, targetResult.abstractNumId, template, undefined);
|
|
137255
|
+
if (result.error) {
|
|
137256
|
+
applyError = result.error;
|
|
137257
|
+
return false;
|
|
137258
|
+
}
|
|
137259
|
+
if (result.changed)
|
|
137260
|
+
didAnything = true;
|
|
137261
|
+
const { tr } = editor.state;
|
|
137262
|
+
if (continuity === "preserve") {
|
|
137263
|
+
clearIndexCache(editor);
|
|
137264
|
+
const freshTarget = resolveListItem(editor, input2.target);
|
|
137265
|
+
if (freshTarget.numId != null) {
|
|
137266
|
+
if (mergeAdjacentCompatibleSequences(editor, tr, freshTarget, targetResult.abstractNumId))
|
|
137267
|
+
didAnything = true;
|
|
137268
|
+
}
|
|
137269
|
+
}
|
|
137270
|
+
if (!didAnything)
|
|
137271
|
+
return false;
|
|
137272
|
+
dispatchEditorTransaction$1(editor, tr);
|
|
137273
|
+
if (continuity === "preserve")
|
|
137274
|
+
clearIndexCache(editor);
|
|
137275
|
+
return true;
|
|
137276
|
+
}, { expectedRevision: options?.expectedRevision });
|
|
137277
|
+
if (applyError)
|
|
137278
|
+
return toApplyTemplateError(applyError, input2.target);
|
|
137279
|
+
if (receipt2.steps[0]?.effect !== "changed")
|
|
137280
|
+
return toListsFailure("NO_OP", "List type is already the requested kind.", { target: input2.target });
|
|
137281
|
+
return {
|
|
137282
|
+
success: true,
|
|
137283
|
+
item: targetResult.resolved.address
|
|
137284
|
+
};
|
|
137285
|
+
}
|
|
137286
|
+
function mergeAdjacentCompatibleSequences(editor, tr, target, targetAbstractNumId) {
|
|
137287
|
+
const targetNumId = target.numId;
|
|
137288
|
+
let merged = false;
|
|
137289
|
+
const prev = findAdjacentSequence(editor, target, "withPrevious");
|
|
137290
|
+
if (prev && canMergeSequences(prev.abstractNumId, targetAbstractNumId, prev.sequence, target.kind)) {
|
|
137291
|
+
const targetSequence = getContiguousSequence(editor, target);
|
|
137292
|
+
mergeAdjacentSequence(editor, tr, prev.numId, targetSequence);
|
|
137293
|
+
clearIndexCache(editor);
|
|
137294
|
+
merged = true;
|
|
137295
|
+
const freshTarget = resolveListItem(editor, target.address);
|
|
137296
|
+
const next$1 = findAdjacentSequence(editor, freshTarget, "withNext");
|
|
137297
|
+
if (next$1 && prev.abstractNumId != null && canMergeSequences(next$1.abstractNumId, prev.abstractNumId, next$1.sequence, freshTarget.kind)) {
|
|
137298
|
+
mergeAdjacentSequence(editor, tr, prev.numId, next$1.sequence);
|
|
137299
|
+
clearIndexCache(editor);
|
|
137300
|
+
}
|
|
137301
|
+
return merged;
|
|
137302
|
+
}
|
|
137303
|
+
const next2 = findAdjacentSequence(editor, target, "withNext");
|
|
137304
|
+
if (next2 && canMergeSequences(next2.abstractNumId, targetAbstractNumId, next2.sequence, target.kind)) {
|
|
137305
|
+
mergeAdjacentSequence(editor, tr, targetNumId, next2.sequence);
|
|
137306
|
+
clearIndexCache(editor);
|
|
137307
|
+
merged = true;
|
|
137308
|
+
}
|
|
137309
|
+
return merged;
|
|
137310
|
+
}
|
|
137311
|
+
function canMergeSequences(adjacentAbstractNumId, targetAbstractNumId, adjacentSequence, targetKind) {
|
|
137312
|
+
const adjacentKind = resolveSequenceKind(adjacentSequence);
|
|
137313
|
+
if (adjacentKind == null || adjacentKind !== targetKind)
|
|
137314
|
+
return false;
|
|
137315
|
+
return areAbstractsCompatibleForMerge(targetAbstractNumId, adjacentAbstractNumId);
|
|
137316
|
+
}
|
|
137111
137317
|
function listsCaptureTemplateWrapper(editor, input2) {
|
|
137112
137318
|
const levelsError = validateLevelsArray(input2.levels);
|
|
137113
137319
|
if (levelsError)
|
|
@@ -145439,7 +145645,8 @@ function assembleDocumentApiAdapters(editor) {
|
|
|
145439
145645
|
setLevelIndents: (input2, options) => listsSetLevelIndentsWrapper(editor, input2, options),
|
|
145440
145646
|
setLevelTrailingCharacter: (input2, options) => listsSetLevelTrailingCharacterWrapper(editor, input2, options),
|
|
145441
145647
|
setLevelMarkerFont: (input2, options) => listsSetLevelMarkerFontWrapper(editor, input2, options),
|
|
145442
|
-
clearLevelOverrides: (input2, options) => listsClearLevelOverridesWrapper(editor, input2, options)
|
|
145648
|
+
clearLevelOverrides: (input2, options) => listsClearLevelOverridesWrapper(editor, input2, options),
|
|
145649
|
+
setType: (input2, options) => listsSetTypeWrapper(editor, input2, options)
|
|
145443
145650
|
},
|
|
145444
145651
|
sections: {
|
|
145445
145652
|
list: (query2) => sectionsListAdapter(editor, query2),
|
|
@@ -180247,7 +180454,7 @@ var Node$13 = class Node$14 {
|
|
|
180247
180454
|
console.warn("Failed to initialize developer tools:", error);
|
|
180248
180455
|
}
|
|
180249
180456
|
}
|
|
180250
|
-
}, BLANK_DOCX_DATA_URI = `data:application/vnd.openxmlformats-officedocument.wordprocessingml.document;base64,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`, LINK_MARK_NAME = "link", COMMENT_MARK_NAME, SUPPORTED_INLINE_TYPES, DocumentApiAdapterError, ALIAS_ELIGIBLE_TYPES, cacheByEditor, OBJECT_REPLACEMENT_CHAR = "", TAB_LEADER_TO_SEPARATOR, SEPARATOR_TO_TAB_LEADER, DEFAULT_TOC_CONFIG, SWITCH_PATTERN$1, SNIPPET_PADDING = 30, DUAL_KIND_TYPES, KNOWN_BLOCK_PM_NODE_TYPES, KNOWN_INLINE_PM_NODE_TYPES, MAX_PATTERN_LENGTH = 1024, PlanError, revisionMap, subscribedEditors, HEADING_STYLE_DEPTH, BULLET_FORMATS, MARK_PRIORITY, remarkProcessor, DEFAULT_UNFLATTEN_LISTS = true, everSyncedProviders, REQUIRED_COMMANDS, VALID_CAPABILITY_REASON_CODES, REQUIRED_HELPERS, SUPPORTED_NON_UNIFORM_STRATEGIES, SUPPORTED_SET_MARKS, REGEX_MAX_PATTERN_LENGTH = 1024, registry, TOGGLE_MARK_SPECS, CORE_MARK_NAMES, METADATA_MARK_NAMES, VALID_CREATE_POSITIONS, REF_HANDLERS, STEP_INTERACTION_MATRIX, MATRIX_EXEMPT_OPS, DEFAULT_INLINE_POLICY, CORE_SET_MARK_KEYS, BOOLEAN_INLINE_MARK_KEYS, TEXT_STYLE_KEYS, PRESERVE_RUN_PROPERTIES_META_KEY = "sdPreserveRunPropertiesKeys", STUB_WHERE, FALLBACK_STORE_KEY = "__documentApiComments", STYLES_PART = "word/styles.xml", PROPERTIES_KEY_BY_CHANNEL, XML_PATH_BY_CHANNEL2, UNDERLINE_API_TO_STORAGE, UNDERLINE_STORAGE_TO_API, HEX_SUBKEYS_BY_PROPERTY, PARAGRAPH_NODE_TYPES, ALIGNMENT_TO_JUSTIFICATION, DERIVED_ID_LENGTH = 24, groupedCache, SUPPORTED_NODE_TYPES, REJECTED_NODE_TYPES, INDENT_PER_LEVEL_TWIPS = 720, HANGING_INDENT_TWIPS = 360, ORDERED_PRESET_CONFIG, BULLET_PRESET_CONFIG, PRESET_TEMPLATES, LevelFormattingHelpers, CSS_NAMED_COLORS, SETTINGS_PART_PATH = "word/settings.xml", POINTS_TO_PIXELS, POINTS_TO_TWIPS = 20, PIXELS_TO_TWIPS, DEFAULT_TABLE_GRID_WIDTH_TWIPS = 1500, TABLE_ADAPTER_DISPATCH, ROW_OPS, TABLE_SCOPED_OPS, registered = false, SectionType, DEFAULT_PARAGRAPH_SECTION_TYPE, DEFAULT_BODY_SECTION_TYPE, TWIPS_PER_INCH$2 = 1440, PX_PER_INCH$2 = 96, DEFAULT_COLUMN_GAP_INCHES = 0.5, DEFAULT_HEADER_FOOTER_MARGIN_PX = 0, LINE_NUMBER_RESTART_VALUES, PAGE_NUMBER_FORMAT_VALUES, SECTION_ORIENTATION_VALUES, SECTION_VERTICAL_ALIGN_VALUES, readSectPrHeaderFooterRefs, PIXELS_PER_INCH$2 = 96, DOCUMENT_RELS_PATH = "word/_rels/document.xml.rels", RELS_XMLNS2 = "http://schemas.openxmlformats.org/package/2006/relationships", HEADER_RELATIONSHIP_TYPE2 = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/header", FOOTER_RELATIONSHIP_TYPE2 = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/footer", WORDPROCESSINGML_XMLNS = "http://schemas.openxmlformats.org/wordprocessingml/2006/main", OFFICE_DOCUMENT_RELS_XMLNS = "http://schemas.openxmlformats.org/officeDocument/2006/relationships", RELATIONSHIP_ID_PATTERN, HEADER_FILE_PATTERN, FOOTER_FILE_PATTERN, HISTORY_UNSAFE_OPS, DEFAULT_LEVEL = 1, SWITCH_PATTERN, DEFAULT_RIGHT_TAB_POS = 9350, TAB_LEADER_MAP, NO_ENTRIES_PLACEHOLDER, TC_LEVEL_MIN = 1, TC_LEVEL_MAX = 9, DEFAULT_MIME_TYPE = "application/octet-stream", simpleHash2 = (str) => {
|
|
180457
|
+
}, BLANK_DOCX_DATA_URI = `data:application/vnd.openxmlformats-officedocument.wordprocessingml.document;base64,UEsDBBQAAAAIAAAAIQAykW9XXgEAAKUFAAATABwAW0NvbnRlbnRfVHlwZXNdLnhtbFVUCQADMNDOEjDQzhJ1eAsAAQT1AQAABBQAAAC1lMtqwzAQRfeF/oPRNthKuiilxMmij2UbaPoBijRORPVCmrz+vuM4NaWkMeSxMcgz994zQsxwvLEmW0FM2ruSDYo+y8BJr7Sbl+xz+po/sCyhcEoY76BkW0hsPLq9GU63AVJGapdKtkAMj5wnuQArUuEDOKpUPlqBdIxzHoT8EnPgd/3+PZfeITjMsfZgo+EzVGJpMHvZ0O+GJIJJLHtqGuuskokQjJYCqc5XTv1JyfcJBSl3PWmhQ+pRA+MHE+rK/wF73TtdTdQKsomI+CYsdfG1j4orL5eWlMVxmwOcvqq0hFZfu4XoJaREd25N0Vas0K7XxeGWdgaRlJcHaa07IRJuDaTLEzS+3fGASIJrAOydOxHWMPu4GsUv806QinKnYmbg8hitdScE0hqA5js4m2NncyySOifRh0RrJZ4w9s/eqNU5DRwgoj7+6tpEsj57PqhXkgJ1IJvvluzoG1BLAwQKAAAAAACTZE1bAAAAAAAAAAAAAAAACQAcAGRvY1Byb3BzL1VUCQADhhztaIcc7Wh1eAsAAQT1AQAABBQAAABQSwMEFAAAAAgAAAAhACEYr1llAQAAxQIAABAAHABkb2NQcm9wcy9hcHAueG1sVVQJAAMw0M4SMNDOEnV4CwABBPUBAAAEFAAAAJ1STU/DMAy9I/Efqt63dBwmNHlBaAhx4GPSCpyjxG0j0iRKson9e5wVSoEbOdnP9st7TuDqvTfFAUPUzq7LxbwqC7TSKW3bdflc384uyyImYZUwzuK6PGIsr/j5GWyD8xiSxlgQhY3rskvJrxiLssNexDmVLVUaF3qRKA0tc02jJd44ue/RJnZRVUuG7wmtQjXzI2E5MK4O6b+kysmsL77UR098HGrsvREJ+WOeNHPlUg9sRKF2SZha98grgscEtqLFyBfAhgBeXVAx9wwBbDoRhEy0vwxOMrj23mgpEu2VP2gZXHRNKp5OYos8DWzaAmRgh3IfdDpmqmkK99ri6YIhIFVBtEH47gROMthJYXBD1nkjTERg3wBsXO+FJTo2RsT3Fp997W7yFj5HfoITi686dTsvJP4yO8FhRygqUj8KGAG4o8cIJrPTrG1RffX8LeT1vQy/ki+W84rOaV9fGLkevwv/AFBLAwQUAAAACAAAACEACvOn+GYBAADtAgAAEQAcAGRvY1Byb3BzL2NvcmUueG1sVVQJAAMw0M4SMNDOEnV4CwABBPUBAAAEFAAAAJ2SXU+DMBSG7038D6T3UGBqDAGWTLMrZ0yc0XhX27Otjn6k7cb27y0wmMRdeXc+nvP29G3z6UFUwR6M5UoWKIliFICkinG5LtDbch7eo8A6IhmplIQCHcGiaXl9lVOdUWXgxSgNxnGwgVeSNqO6QBvndIaxpRsQxEaekL65UkYQ51OzxprQLVkDTuP4DgtwhBFHcCMY6kERnSQZHST1zlStAKMYKhAgncVJlOAz68AIe3Gg7fwiBXdHDRfRvjnQB8sHsK7rqJ60qN8/wR+Lp9f2qiGXjVcUUJkzmjnuKihzfA59ZHdf30BdVx4SH1MDxClTPnO6DWZgJKlapq83jm/hWCvDrJ8eZR5jYKnh2vl37LRHBU9XxLqFf9gVBzY7jo/5224mDOx58y/KtCWGND+Z3K0GLPDmZJ2Vfed98vC4nKMyjdObMEnD5G6Zpll8m8XxZ7PdaP4sKE4L/FuxF+gMGn/Q8gdQSwMECgAAAAAAk2RNWwAAAAAAAAAAAAAAAAYAHABfcmVscy9VVAkAA4Yc7WiHHO1odXgLAAEE9QEAAAQUAAAAUEsDBBQAAAAIAAAAIQAekRq36QAAAE4CAAALABwAX3JlbHMvLnJlbHNVVAkAAzDQzhIw0M4SdXgLAAEE9QEAAAQUAAAArZLBasMwDEDvg/2D0b1R2sEYo04vY9DbGNkHCFtJTBPb2GrX/v082NgCXelhR8vS05PQenOcRnXglF3wGpZVDYq9Cdb5XsNb+7x4AJWFvKUxeNZw4gyb5vZm/cojSSnKg4tZFYrPGgaR+IiYzcAT5SpE9uWnC2kiKc/UYySzo55xVdf3mH4zoJkx1dZqSFt7B6o9Rb6GHbrOGX4KZj+xlzMtkI/C3rJdxFTqk7gyjWop9SwabDAvJZyRYqwKGvC80ep6o7+nxYmFLAmhCYkv+3xmXBJa/ueK5hk/Nu8hWbRf4W8bnF1B8wFQSwMECgAAAAAAk2RNWwAAAAAAAAAAAAAAAAUAHAB3b3JkL1VUCQADhhztaIcc7Wh1eAsAAQT1AQAABBQAAABQSwMEFAAAAAgAoWRNW+xw0GIQAgAAtAcAABIAHAB3b3JkL2ZvbnRUYWJsZS54bWxVVAkAA54c7WieHO1odXgLAAEE9QEAAAQUAAAAvZPBbqMwEIbvlfoOlu8NhpA0RSFV222kvexh1T6AY0ywFtvI44Tk7dcYiBSyuy3tqiCEGf75mPnHLO8PskR7bkBoleJwQjDiiulMqG2KX1/WNwuMwFKV0VIrnuIjB3y/ur5a1kmulQXk8hUkkqW4sLZKggBYwSWFia64ci9zbSS17tFsA0nNr111w7SsqBUbUQp7DCJC5vj6CrmjZZn3oHSeC8a/abaTXFkPCQwvHVYrKEQFZ8j6Pcham6wymnEA170sW6ikQp2zwviCJgUzGnRuJ663rjbPc4yQ+JUsB5TZOEr0Z8qc8cM40KIDBS7zAiaycbD5CSayIexjZQ0p2W4UJ5r2FTW3Jn0IhMxmxThmP8GgyaWWFhSKCywf1+/sxDxKNwgkWfJ9q7Shm9KR3CZDbosgD0btZJobaieO+j6Qdwiv2mK6nxLViaLSUV6E5IB+8Br91JKqXtZJK6o08NCp97RMMWkanZMpmZHYXZFbxTg4T2EFNcDtKYUMBTmVojz2743/6kBSCcuKXrGnRjQdD0Ugtk6ygw1J8TMhJHper3EbCVP85CK3i9ljF4maSvxx10WmpwhpIsxz/GPYcpjnnDT915dB6+Bf/HzSOyO4aRx908tb59+d97TxMv60l1Jn3PzbzFwcePYRJ+PpVzv54MZevunho9uPsfewPT/rIdQC4P/sx4evdrFfwuo3UEsDBBQAAAAIAAAAIQCWFrgr1QIAAIgLAAARABwAd29yZC9kb2N1bWVudC54bWxVVAkAAzDQzhIw0M4SdXgLAAEE9QEAAAQUAAAApZZbb9sgFMffJ+07WH5v8S1OYjWttGab+jCpWrcPQIDEqAYsILd9+h3s+LJ5qxz3CXPg/PjDORxz93AShXdg2nAlV354G/gek0RRLncr/+ePLzcL3zMWS4oLJdnKPzPjP9x//HB3zKgie8Gk9QAhTXYsycrPrS0zhAzJmcDmVnCilVFbe0uUQGq75YSho9IURUEYVF+lVoQZA+s9YnnAxr/gyGkcjWp8BGcHTBDJsbbs1DHCqyEztESLISiaAIIdRuEQFV+NSpFTNQAlk0CgakCaTSP9Y3PpNFI0JM2nkeIhaTGNNEgnMUxwVTIJg1ulBbbQ1TsksH7dlzcALrHlG15wewZmkDYYzOXrBEXg1RJETK8mzJFQlBUxbShq5e+1zC7+N62/k57V/pem9WDFuGVhuSViJ1sY2/jqMWdXu68vhaU6NaRZAeeopMl52VYHMZUGg3kDObx1AAdR+G1lC0detf+VtnUdhg44Rv4ldqKolb9NDIMR0XSI1mOMhD/XbJQIyOBu4UlH0zvccGTxaQDRAJASNvJn0TAWFwYi3e12HD7yWjWctOVw2uNME9MD0P1ViChudLjGufdYhlqaX4drYoScL7Y4xybvE9l1G5y1uLPonXe5e9+l+qrVvuxo/H20p668HuV1GwzSvyNYmveJeclxCVVXkOxpJ5XGmwIUwVXz4LZ4VQS8Ol1d49U3wGti7VUJ5Lmq5d/DO22j6Nm1JQwkWYk1foI0T8JlmqTz0K+s8Jezzhoks+VivpyBNYM3If0OJkiveD3/1JqetTPGYZA8fm6Na7bF+8IOpz/3JiMnwzBin/VYfiV89/ILBqFihVGUBG4iJHQ4W8A3qid8w45oFRTWMKmnaL7LbdfdKGuV6PoF2/ZGc4Ypg3XnUdXdKmV73d3eVt3LckQVBqymxITVcyozvIe/aheSrOCSPXNLQGWcVqOo2Xf1WUcEdU/o+99QSwMEFAAAAAgAAAAhAMrnZYorBAAAvgwAABEAHAB3b3JkL3NldHRpbmdzLnhtbFVUCQADMNDOEjDQzhJ1eAsAAQT1AQAABBQAAAC1V22PmzgQ/n7S/QfE58uG1ySLmq3yervV5lqVre6zAZNYa2Nkm03T0/33GwwO9BZVSav9hJln5pnxeGYM795/ZdR6wUISXsxt98axLVykPCPFfm5/edqOZrYlFSoyRHmB5/YJS/v93e+/vTtGEisFatICikJGLJ3bB6XKaDyW6QEzJG94iQsAcy4YUvAq9mOGxHNVjlLOSqRIQihRp7HnOBO7peFzuxJF1FKMGEkFlzxXtUnE85ykuH0YC3GJ38ZkzdOK4UJpj2OBKcTAC3kgpTRs7GfZADwYkpcfbeKFUaN3dJ0LtnvkIjtbXBJebVAKnmIp4YAYNQGSonMcvCI6+74B3+0WNRWYu45e9SMPryPwXhFMUvz1Oo5ZyzEGyz4Pya7jmZx5SNbj+blgegRZdRWF55s46kdt3uOSmcoO19GZMxrXtkihA5KHPiO+boPhme7EunxLekkFNtAjSQQSp375sTR62BdcoIRCOFCGFlSSpaOzmqOsH1ZTHZbJg6WTa9/B1PnGObOOUYlFCq0HI8tz7HENQMHzPFZIAVEkS0ypnmEpxQj8HqO9QAymj5FomwznqKLqCSWx4iUovSDY3tRQpgckUKqwiEuUAtuKF0pwavQy/hdXK5hkAhqttdBzrVvFzYwEiwIx2PB3c2/HM1xHVgly+cnYxrsb9l3+3xGHmS5Ihp/qRMfqRPEWgo/JN7wosg+VVAQY9fT7hQh+FAAuas8foTSeTiXeYqQqSNMbOdMnsaWk3BEhuHgoMqiNN3NG8hwLcECg1nZQPkTwo87zPUYZXKVv5LeS+G9Qhs70n6Asn5dcKc7uT+UBcv1rJ6nrfdwvX/ggyKRZfOZcnVVhbPnr6bKJtEYvQXzXCVabQWTibN1hm0XgO/4gsnLXbjCMhLPlaggJboOJuxhCJqG3CcIhZLH0Zv5sCFku3Wk4iKxW/srfDiIbZz28n83Km04HY9vees7tpj2d9kxYVH9qfBJmVTe2xRqLFWKJIMja1R8j41ojEc9LUhg8wTClcR+Jq8SAo1EDSIYo3UKJGcBp5BmR5Rrnek13SOw73lZDDEphyn44c9VTG4s/Ba/KBj0KVDYNa1TcIGgtSaEeCTNyWSWxsSrgXulBVZF9fBE6T116jpGCBtCD7xHpRtK6uBh9idtGoyKumwTvUFk2vZbs3blNyf6g3Lo9FLxl8M2qX5K912KexrwG0y8orXcG2u2ik3lG1tPzjczvZIGRBZ0sNLKwk02MbFLLDjBdBVx1z9D2ZlnLc04pP+LsvsNficwlmBI48fjEku5uu2kwSiTMoRKuQcWFwf7QmBtEGU8f6vs6aOT+YhGuF860gUN9fSo9qiC1n3G+RBJnLWZMw8b0n8nEmbjuajYKZpvb0WYaBKOZu7wdTafO1PW3rufPnH/bPjA/Hnf/AVBLAwQUAAAACAAAACEA24Vsw30EAACXHQAAEgAcAHdvcmQvbnVtYmVyaW5nLnhtbFVUCQADMNDOEjDQzhJ1eAsAAQT1AQAABBQAAADNmc1u4zYQx+8F+g6CgB4Tifq2sM4iySZFFttF0U3RMy3RlhB+CBRlx9d9mT5CH2tfoaRkyXLkxJIctz4pJjk/zQxnyL+dDx+fCdaWiOcpo1MdXJq6hmjE4pQupvqfj/cXga7lAtIYYkbRVF+jXP949fNPH1YhLcgMcblQkwyah6ssmuqJEFloGHmUIALzS5JGnOVsLi4jRgw2n6cRMlaMx4ZlArP8K+MsQnkuObeQLmGub3DRcz9azOFKGiugY0QJ5AI9bxlgMMQ1JkbQBVkjQDJCC3RR9mCUZyivOiBnFEh61SG540h7gvPGkawuyR9HsrukYBypU06kW+AsQ1ROzhknUMiPfGEQyJ+K7EKCMyjSWYpTsZZM06sxMKVPIzySVg2B2PFggm8QFiNsxzWFTfWC03Bjf9HYK9fDyn7zaCwQ7vda+bqJgZ4FzkVty/vkrjL/xKKCICrKrBkcYZlHRvMkzZrTgYylycmkhizfSsCSYL052UDPVnvtaPtUbcMW2Mf9zd4RXHn+NhGYPXZTIRqLPi7svrP2hMgK3r54VGpayQU9D58aYHUAXoR6XhY1I9gwjGjb3YqT9myrmuM1nDRuccY50wLExSCEZdd+qIcyb7HyWMTJMFy9R4ayhQImME/aRDQsQLfBrUkr39niuKb6lbMi29LS42gP2+N1RYcFaHovdzDLj3PmWwIzeeqSKHxYUMbhDEuPZKtpslu0cge0qlzVQ6s6QKv3WisLSFOnln4lhRqc5YLDSHwtiLbz6UFWuxR8khlyJFUeV4OVprueC8RvOIJPaomi0Fy9LVxCeQUAD1jejenrhpohBRbpF7RE+HGdoXpNsp7xNP5NzWE1V60VJMP1Chfc3Tp3ZlDN4KWaSOWjcioUGZb3remYE9M0QelD6WPjRGUnZeg9aQZnBcZINMRHeQfVUz++/9OMf47qUYzmm+XZ71w9UqrCVMNT3bdKTxJIF6Ugtj1TrTWaxXzzuGdU5Cq5eZTKOvy2JjOGS9NrmbedgZRKcIzmUGZmAyspRunYy0yATibsckTeZ/JSXCK14ujMsKF5AY4zLjG3rOAp4tpXtGpl58VolHcXDsua1cma+/5Z+/H976F5s4A3Lm9/ydXqO1neytru2LAE2Xsa7AQJGtxwVhD83x3nnGXHyTycdce5Z9pxjj3yCH/vjvPOtONcc+RR/n4d559lx7n+yLP6P+q44Ew7znNGHuHHd5yxo24PSl8wRvq6gW8C++b6OOl7d+c5wL91+kjf+57bGKMoJRDv3cdfwOU7a9+echVMRhYlZivEvyAh92J/RNbgiA6p1p5aEtwcE9IfjEC6PyJ7X0Q8XSQDBCUIeoTUVX/3I0N6s+acwTt0SP71VGynKzp3cEiHhFtPOXWyovOGF11HU/Uquq4AOknR+YN36JAC6ilaTld0wfCQDmiXnoriZEU3GV50HVnxStF1NQAt737auvPVD2dhXJQ/q5WDMlTHn3jWy5/LHpprv34X3cO09jGdwHWB7wDwOhO0mUbrH6pX/wJQSwMEFAAAAAgAAAAhAL5+dmJWAQAA0AMAABQAHAB3b3JkL3dlYlNldHRpbmdzLnhtbFVUCQADMNDOEjDQzhJ1eAsAAQT1AQAABBQAAACd01FvwiAQAOD3JfsPhHelumlMYzVZFpe9LEu2/QAKV0sGXAO46n79aLWuiy92T0DLfbnjYLneG02+wHmFNqOTcUIJWIFS2W1GP943owUlPnAruUYLGT2Ap+vV7c2yTmvI3yCEuNOTqFifGpHRMoQqZcyLEgz3Y6zAxp8FOsNDXLotM9x97qqRQFPxoHKlVTiwaZLM6Ylx1yhYFErAI4qdARvaeOZARxGtL1XlO62+RqvRycqhAO9jPUYfPcOVPTOT+wvIKOHQYxHGsZhTRi0VwydJOzP6F5gNA6YXwFzAfpixOBksRvYdJYc587OjZM/5XzI9QO4GEdO7Lo9maMJ7lpdBlsO4rkesieWBl9yXfRGGFTg7cwfTnLcR6fPWouO5jlK8QSReAtLC5NiFZiDHxpKuBNKeC13FJ4ZVUEZ9wwbdg8Pag2PNZ6411q8vT3HB/rzD1Q9QSwMEFAAAAAgAAAAhAD+v4WZfDwAADaYAAA8AHAB3b3JkL3N0eWxlcy54bWxVVAkAAzDQzhIw0M4SdXgLAAEE9QEAAAQUAAAA3Z1tc9s2Esff38x9B45e9V6ksp5lT92O7STnzCWpWzvX1xAJWaj5oCOpOO6nPwB8EKUlKC64UdRMZlqL4v4I4L+7xIIU+dMvXwLf+czjREThZW/w41nP4aEbeSJ8vOx9enj7at5zkpSFHvOjkF/2XnjS++Xnf/7jp+eLJH3xeeJIQJhcBO5lb5Wm64t+P3FXPGDJj9Gah/LLZRQHLJUf48d+wOKnzfqVGwVrloqF8EX60h+enU17OSZuQ4mWS+Hy15G7CXiYavt+zH1JjMJkJdZJQXtuQ3uOYm8dRy5PEtnpwM94ARNhiRmMASgQbhwl0TL9UXYmb5FGSfPBmf4r8LeACQ4wBICpy7/gGPOc0ZeWVY7wcJxpyRFehWPXmArA26AQw1HRDvU/ZV5hJV7qrXC4QqO+smUpW7FkVSVyXAcnJe4lUOMduBfvHsMoZgtfkqQHOdIJHA12MhXU/5xMWKfogqPHpfezjC4vcl/zJdv4aaI+xndx/jH/pP/3NgrTxHm+YIkrxGXvKhZMDvHzBWdJepUI9iBbLg8fCNmS26swEerLlfqjsrObXPYeRCBD+SN/dn6PAhY6P1xH3otzc/+vXl8d6InHodzzM/Mve8NsU/JXuWFcbLlJ9rf5LHwstvHw1af7ausqmxbCk01i8av7K204GF/44pGlm1g2S33ShCwRxd6N7Db/km5k++XO/Xw8+vujtC4/ZXvtDalMGDJ93GdZTH7Ll+8j94l796n84rJ31ss2fnp3F4solpnqsnd+nm+854G4FZ7Hw8qO4Up4/I8VDz8l3Ntu/+2tzjb5BjfahPLv0WyqZfYT780Xl69V7pLfhkzp9VEZaG02Yntwbf6/AjbIB7jOfsWZSuDOYB9xjkYMlUVS6W09c7PX9wH6QKNjHWh8rANNjnWg6bEONDvWgebHOtD51z6QCD2Z3wf1hwHUQxxDNKI5hmBDcwyxhOYYQgXNMUQCmmNwdDTH4MdojsFNEZw0ck1eWHH2kcHbm7mHzxF23MOnBDvu4TOAHfdwwrfjHs7vdtzD6dyOezh723EPJ2s8N5tqOe9kmIVp5yhbRlEaRil31PS0M42FkqWrWhqeOunxmKSTBJgss+Un4s40l+nPhz1k0u18nqqCzomWzlI8quKkc8N5+Jn70Zo7zPMkjxAYc1k+GUbExqdjvuQxD11O6dh0UF+E3Ak3wYLAN9fskYzFQ494+AoiSVIoHZpt0pUKEkHg1AFz44hgzsLI8sN7kXQfKwVxrje+z4lYH2lcTLO61wYa07000JjulYHGdC8MKppRDVFOIxqpnEY0YDmNaNwy/6Qat5xGNG45jWjcclr3cXsQqc/3Zx2D9mt3N36UUCS8e/EY6vXTzqR8zdS5YzF7jNl65ahl54MzLfRx9JLzA8U5rSRRzeu1i6hVZxFuug/oDo0quEoeUXiVPKIAK3ndQ+yDnCarCdotTT1zv1mktUHbviq4Z/4mm9B2jzaWdvewbQC8FXFCFgb1WAIP/qims7dEU71tK7s3bMvqHlb7WYm0eTmSoJV+5D7RpOHblzWPZVn21Jn0NvL96Jl7dMT7NI4yX6uG/HDYOuTfBOsVS0QCEO1P9cUdDM4Htu7coTufiZBGtzevAiZ8h24Gcfvw4b3zEK1VmakGhgZ4HaVpFJAx85XAH/7gi3/RNPBKFsHhC1Fvr4iWhzTsRhCcZDJS5BGR5DRThILkHKp5/+Evi4jFHg3tLubZTUMpJyLes2DtU8WWzIvPMv8QzIY0778sFmpdiCqoHkhglWXDZLP4k7vdU93HyCFZGfp1k+r1Rz3V7X61dwfXfZqwg+s+RdBqytOD8l+Czu7gund2B0fV2RufJYkwXkK15lF1t+BR97d78ZfzIj+KlxufbgALINkIFkCyIYz8TRAmlD3WPMIOax51fwldRvMIluQ079+x8MjE0DAqJTSMSgYNo9JAw0gF6H6HTgXW/TadCqz7vToZjGgKUIFR+Rnp6Z/oKk8FRuVnGkblZxpG5WcaRuVno9cOXy7lJJjuFFNBUvlcBUl3oglTHqyjmMUvRMg3Pn9kBAukGe0ujpbq1yRRmN3ETTGd3SxSysl2hqMS+Q++IGuaYlG2i2BFlPl+FBGtrW1PONpy9961Q2b65xydm3DnM5evIt/jsaFPjfXy/Zq5Ai6dtr9Y8l48rlLnflWu9lcx07ODlkXBvmN2+IB1Yz4dNl5m8sQmKBoKf0wxHbU3HgLj8WHj7Uxix3LS0hIec3rYcjtL3rGctbSEx5y3tBwBy6Z4eM3ip1pHmDX5T1njGZxv1nhhvjCuPWyTI5WWdS44a/KinVBxrlxXXS2A6rSLGbN9u+Ax22OiyEzBhJOZ0jquzIimAPudfxZJ7Rr1gevf5d0TIO+PW2fO3zZRCi5TD9v/qOudnDiFCXdqOaP2F652sox5HFunGzOidd4xI1onIDOiVSYymqNSkpnSOjeZEa2TlBmBzlbwjIDLVtAel62gvU22ghSbbNVhFmBGtJ4OmBHoQIUIdKB2mCmYEahABeZWgQop6ECFCHSgQgQ6UOEEDBeo0B4XqNDeJlAhxSZQIQUdqBCBDlSIQAcqRKADFSLQgWo5tzeaWwUqpKADFSLQgQoR6EAddwxUaI8LVGhvE6iQYhOokIIOVIhABypEoAMVItCBChHoQIUIVKACc6tAhRR0oEIEOlAhAh2ok46BCu1xgQrtbQIVUmwCFVLQgQoR6ECFCHSgQgQ6UCECHagQgQpUYG4VqJCCDlSIQAcqRKADddoxUKE9LlChvU2gQopNoEIKOlAhAh2oEIEOVIhABypEoAMVIlCBCsytAhVS0IEKEehAhYgm/8wvUZpusx/gVz2Nd+wjfueTNer36k+5d9ZQ26OKVplZ7X+LcB1FT07tDw9Ho/YQsfBFpJeoDZfVq9wZ+sLnrzfNv/Bp8RiPtl3Jfwuhr5kC+LitJVhTGTe5fNUSFHnjJk+vWoJZ57gp+1YtwWlw3JR0dVwWN6XI0xEwbkozFeOBwbwpW1fM4RA35eiKIRzhpsxcMYQD3JSPK4YTRyXnfetJy3GalveXAkKTO1YIMzOhyS2hVsa1/daimQlt1TMT2spoJqD0NGLwwppRaIXNKDupYZhhpbYPVDMBKzUkWEkNMPZSQ5S11BBlJzVMjFipIQErtX1yNhOspAYYe6khylpqiLKTGp7KsFJDAlZqSMBK3fGEbMTYSw1R1lJDlJ3UcHKHlRoSsFJDAlZqSLCSGmDspYYoa6khyk5qUCWjpYYErNSQgJUaEqykBhh7qSHKWmqIapJar6LYV0sVc9wkrGKIOyFXDHHJuWJoUS1VrC2rpQrBslqCWtlVS1XR7Kqlqnp21VJVRrtqCehpVy3VCmtXLdUqbFctmaXGVUt1UtsHql21VCc1rloySo2rlhqlxlVLjVLjqiWz1LhqqU5qXLVUJ7V9crarloxS46qlRqlx1VKj1LhqySw1rlqqkxpXLdVJjauW6qTueEK2q5YapcZVS41S46ols9S4aqlOaly1VCc1rlqqkxpXLRmlxlVLjVLjqqVGqXHVkllqXLVUJzWuWqqTGlct1UmNq5aMUuOqpUapcdVSo9S4aumDNBEEj4C6D1icOnTPi7tlySpl3R9O+CmMeRL5n7nn0Hb1PaqX/eed118ptn6dn9w/lWOmnoBe+bmSlz0BNgfqHd955WuqlLFqiZO/5yvfrBucX67NjqgNDxyqhOfXigcAv325lT7Cgsle/RrWHTxUD0as2a4cotheHOZmxeLs262rFvuc7/fl+SJO1Avcsq/Pzoaj0evZdbbXOns12xPn64/y+P3ig9SHJ/pTkv2AVpov1DPF5AiMpvq3V2yZ8viyN8+jNsqe2vT+s18eKZcuP0btW+CKV76xPyuvfNt/H5z68k2+TX2vXwlXa+kmaWXztfBE1jhXRXnZrrfj2VT7ht5ZZ4DLHtPxv92sbkpR9xm8zQjbF8gVF5urL5AbF30tXu1m4zxDo/MMKZ1n2MJ5tmGZ7bcTlF/ZvQYt3WvwfbrXaAjdK9vW0b1GRvcaUbrX6Dtxr2Gzex1yomO4ynAOXSXb1tFVxkZXGVO6yvjEXWVe9ZSx0VNGX8dTRPbfm4TEbzp6xMToERNKj5h8Hx4xPs3c0dEHpkYfmFL6wPTEfcAs++ToiWByrv7tO4F609LWBR6EeoPv1ZTAA2ZGD5hResDsb+sB0yME/pE1nxs1n1NqPj8pzaGys6PH9nCm/rXR+TXFnO/cqPM5pc7nJ67z/AgRTK+sKweVufkD1Q3rX/mLkcon++jXIu1rbnh7kkGvQTu9zO1O1SpsQ5v1Km3jwl3+sHaTQ7X2qHThZ1LLP96FyqGe83fYZy31vrBeseMN9/0PLNs7Wpt39fkyzb4dnM1rvl9kr4Qw2sf62oER0N9tTL/shHm8s5dE5j9qMa6T6keGweHOHiXWcaRb+rC7SeTQ6OXe/fbtrIHut/K2WG51tnlmL3HVxoEpXQ0OpCpz8vle1qO6LHciJR02SjokknSIO/t8/wp3WXFEKjxqVHhEpPDoayn8d1/0Q6o1blRrTKTW+NTUOvbCG1KVSaMqEyJVJqemysnpMG3UYUqkw/TUdDjqahRSklmjJDMiSWanJslpiTBvFGFOJML81EQ46koOUpLzRknOiSQ5PzVJvslyWvZgi/2xzrZSrKNpUtMi2iAv2FBrZNtF7r0L4656fcWXdMP8/En6jctjxyyBtk3W3XpV9PuJx+XgbifLZXqcwunzhDgRbiWqdYOu4VbxJbP6p1m2Hl+z+iAtX6K9L1D5BUWoFrDGaB1YRGu4CbI/hA/vhyq/BDE9mB64Je+bTECAVwwm36Lm3RHL5BZdQ3fXvczecOJzxq8sWX3MZq8B2Fcm20oRrZrUFKpDmztrD92ANige3venW3BUEcvj2khtmGSOz9S/NhpS18PbgasVp2vMVBQ2a3IwYI46cvUOrC6fbN+rsT9We6/dOOTRcChGYwv3FPpSl7pQpZ6R12LO19Jdyk7nD44rn2a3323wuDuco9R4BOqEetg7jnifVT4W9Ylu920oFAmverimvDeyKSjW117lAqneL5GelL9X+y91j5yTZUeuJ61OPuyW6+PlpdSvfKT+tmeHfhgxKjJ7NcbmU90afWU3+0SS/L/peijwo0bX7Xo62AmSAx57cnHfmCO3z9Y0DeB2j65Zsrjmh8qSi+yo+WglMqn4N2xNM3ZgSjmpH9Hir+Tn/wNQSwMECgAAAAAAk2RNWwAAAAAAAAAAAAAAAAsAHAB3b3JkL3RoZW1lL1VUCQADhhztaIcc7Wh1eAsAAQT1AQAABBQAAABQSwMEFAAAAAgAAAAhAGeA/LSbBgAAzSAAABUAHAB3b3JkL3RoZW1lL3RoZW1lMS54bWxVVAkAAzDQzhIw0M4SdXgLAAEE9QEAAAQUAAAA7VlPb9s2FL8P2HcgdHf1x5IsBXUL/23XJm3RpB16ZGRaYkyJAkknMYoCQ3vaZcCAbthlwG47DMMKrMCKXfZhCrTYug8xSnZs0abatE23AksMxCL5e48/vvf4+ExdvHycEnCIGMc0axv2BcsAKIvoCGdx27izN2wEBuACZiNIaIbaxgxx4/KlTz+5CLdEglIEpHzGt2DbSITIt0yTR7Ib8gs0R5kcG1OWQiGbLDZHDB5JvSkxHcvyzRTizAAZTKXam+MxjhDYK1Qal06UD4j8lwledESE7UbljFWJEjua2MUXn/EeYeAQkrYh5xnRoz10LAxAIBdyoG1Y5Z9hXrpoLoWIqJGtyA3Lv4XcQmA0cUo5Fu8vBa2BE7j2Ur8z17+JGwTFZ6mvBMAokiu1N7C251uBs8BWQPNHje6wZTdVfEV/c1N/6HcdV8E3V3h3c43DcND3FLy7wnsb+I7ldMOmgvdWeH8D7w46LWeg4EtQQnA22UT7rSDwF+glZEzJVS089H2r1V/AVyizEl1z+UzUxVoKDygbSkDpXChwBsQsR2MYSVwnF5SDPuY5gTMD5DCjXHZbjm3LwHMtZ/kpLQ63EKxIz7sivtFV8AE8YjgXbeOa1GpUIC+ePXv+8Onzh789f/To+cNfwDaOE6GRuwqzuCr36sev//7+C/DXrz+8evyNHs+r+Jc/f/ny9z9ep14otL598vLpkxffffXnT4818A6D+1X4Hk4RBzfQEbhNU7lAzQRon72dxF4CcVWik8UcZrCQ0aAHIlHQN2aQQA2ui1Q73mUyXeiAV6YHCuHdhE0F1gCvJ6kC3KGUdCnTrul6MVfVCtMs1k/OplXcbQgPdXP31rw8mOYy7rFOZS9BCs1bRLocxihDAhRjdIKQRuwexopdd3DEKKdjAe5h0IVYa5I9vC/0QldxKv0y0xGU/lZss3MXdCnRqe+jQxUp9wYkOpWIKGa8AqcCplrGMCVV5DYUiY7k7oxFisG5kJ6OEaFgMEKc62RusplC9zqUeUvr9h0yS1UkE3iiQ25DSqvIPp30EpjmWs44S6rYz/hEhigEt6jQkqDqDina0g8wq3X3XYzE2+3tOzIN6QOkGJky3ZZAVN2PMzKGSKe8w1IlxXYY1kZHdxorob2NEIFHcIQQuPOZDk9zqid9LZFZ5SrS2eYaVGO1aGeIy1qpKG40jsVcCdldFNMaPjuztcQzg1kKWZ3mGxM1ZAb7TG5GXbySaKKkUsyKTasncZOn8FRabyVQCauizfXxOmPZ2+4xKXPwDjLorWVkYj+1bfYgQfqA2YMYbOvSrRSZ6kWK7VSKTbVyY3XTrtxgrhU9Kc7eUAH9N5XPB6t5zr7aqUso6zVOHW69sulRNsIff2HTh9PsFpJnyXldc17X/B/rmrr9fF7NnFcz59XMv1bNrAoYs3rZU2pJa29+xpiQXTEjaJuXpQ+Xe380lJ1loxRaXjTliXxcTKfgYgbLZ8Co+ByLZDeBuZzGLmeI+UJ1zEFOuSyfjFrdZfE1TXfoaHGPZ5/cbUoBKFb9lrfsl6WamPf6rdVF6FJ92Yp5lYBXKj09icpkKommhkSreToStnVWLEINi8B+HQuz4hV5OAFYXIt77pyRDDcZ0qPCT3P5E++euafrjKku29EsL3TPzNMKiUq4qSQqYZjIw2O9+4x9HYZ6VztaGq3gQ/ja3MwNJFNb4EjuuaYn1UQwbxtj+bNJPqa51MeLTAVJnLWNSCwM/S6ZJWdc9CFP5rByaL7+FAvEAMGpjPWqG0i24mY7LevjJRdaH5/lzHUno/EYRaKmZ9WUY3Ml2tH3BBcNOpWkd5PREdgnU3YbSkN5Lbsw4AhzsbTmCLNKcK+suJauFltReQO02qKQ5AlcnCjVZD6Hl89LOpV1lEzXV2XqTLgfD8/i1H2z0FrSrDlAWrVZ7MMd8hVWTT0rT5vrwsB6/Snx/gdChVqgp9bUU6s7O86wIKhM59fYzan15nueButRa1bqyrK18XKb7h/IyO/LanVKBJ9fkB3L8rt38lpyngnK3pPscizAlOG2cd/yOm7P8XoNK/AGDbfpWo3A6zQbHc9r2gPPtvpd54E0ikhS25vPPZQ/9sls8e6+7N94f5+elNoXIpqatKyDzVK4fH9vO/Xv7wGWlrnvO8OwGXb9RtjsDBtuvxs0wp7fbfT9Xqs/7Pe8IBw+MMBhCXY7zZ7rD4KGb/d6Dde3CvpB2Gi5jtNxW51g4HYeLGwtV37yfWLektelfwBQSwMECgAAAAAAk2RNWwAAAAAAAAAAAAAAAAsAHAB3b3JkL19yZWxzL1VUCQADhhztaIcc7Wh1eAsAAQT1AQAABBQAAABQSwMEFAAAAAgAAAAhALO+ix3+AAAAtgMAABwAHAB3b3JkL19yZWxzL2RvY3VtZW50LnhtbC5yZWxzVVQJAAMw0M4SiBztaHV4CwABBPUBAAAEFAAAAK2TzWrDMBCE74W+g9h7LTttQwmRcymBXFv3AWR7/UP1Y6RNWr99RUoShwbTg44zYme+hdV6860VO6DzvTUCsiQFhqaydW9aAR/F9uEFmCdpaqmsQQEjetjk93frN1SSwpDv+sGzkGK8gI5oWHHuqw619Ikd0ISXxjotKUjX8kFWn7JFvkjTJXfTDMivMtmuFuB29SOwYhzwP9m2afoKX22112joRgX3SBQ28yFTuhZJwMlJQhbw2wiLqAg0KpwCHPVcfRaz3ux1iS5sfCE4W3MQy5gQFGbxAnCUv2Y2x/Ack6GxhgpZqgnH2ZqDeIoJ8YXl+5+TnJgnEH712/IfUEsBAh4DFAAAAAgAAAAhADKRb1deAQAApQUAABMAGAAAAAAAAQAAAKSBAAAAAFtDb250ZW50X1R5cGVzXS54bWxVVAUAAzDQzhJ1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAACTZE1bAAAAAAAAAAAAAAAACQAYAAAAAAAAABAA7UGrAQAAZG9jUHJvcHMvVVQFAAOGHO1odXgLAAEE9QEAAAQUAAAAUEsBAh4DFAAAAAgAAAAhACEYr1llAQAAxQIAABAAGAAAAAAAAQAAAKSB7gEAAGRvY1Byb3BzL2FwcC54bWxVVAUAAzDQzhJ1eAsAAQT1AQAABBQAAABQSwECHgMUAAAACAAAACEACvOn+GYBAADtAgAAEQAYAAAAAAABAAAApIGdAwAAZG9jUHJvcHMvY29yZS54bWxVVAUAAzDQzhJ1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAACTZE1bAAAAAAAAAAAAAAAABgAYAAAAAAAAABAA7UFOBQAAX3JlbHMvVVQFAAOGHO1odXgLAAEE9QEAAAQUAAAAUEsBAh4DFAAAAAgAAAAhAB6RGrfpAAAATgIAAAsAGAAAAAAAAQAAAKSBjgUAAF9yZWxzLy5yZWxzVVQFAAMw0M4SdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAk2RNWwAAAAAAAAAAAAAAAAUAGAAAAAAAAAAQAO1BvAYAAHdvcmQvVVQFAAOGHO1odXgLAAEE9QEAAAQUAAAAUEsBAh4DFAAAAAgAoWRNW+xw0GIQAgAAtAcAABIAGAAAAAAAAQAAAKSB+wYAAHdvcmQvZm9udFRhYmxlLnhtbFVUBQADnhztaHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAAAIAAAAIQCWFrgr1QIAAIgLAAARABgAAAAAAAEAAACkgVcJAAB3b3JkL2RvY3VtZW50LnhtbFVUBQADMNDOEnV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAAAIAAAAIQDK52WKKwQAAL4MAAARABgAAAAAAAEAAACkgXcMAAB3b3JkL3NldHRpbmdzLnhtbFVUBQADMNDOEnV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAAAIAAAAIQDbhWzDfQQAAJcdAAASABgAAAAAAAEAAACkge0QAAB3b3JkL251bWJlcmluZy54bWxVVAUAAzDQzhJ1eAsAAQT1AQAABBQAAABQSwECHgMUAAAACAAAACEAvn52YlYBAADQAwAAFAAYAAAAAAABAAAApIG2FQAAd29yZC93ZWJTZXR0aW5ncy54bWxVVAUAAzDQzhJ1eAsAAQT1AQAABBQAAABQSwECHgMUAAAACAAAACEAP6/hZl8PAAANpgAADwAYAAAAAAABAAAApIFaFwAAd29yZC9zdHlsZXMueG1sVVQFAAMw0M4SdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAk2RNWwAAAAAAAAAAAAAAAAsAGAAAAAAAAAAQAO1BAicAAHdvcmQvdGhlbWUvVVQFAAOGHO1odXgLAAEE9QEAAAQUAAAAUEsBAh4DFAAAAAgAAAAhAGeA/LSbBgAAzSAAABUAGAAAAAAAAQAAAKSBRycAAHdvcmQvdGhlbWUvdGhlbWUxLnhtbFVUBQADMNDOEnV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAJNkTVsAAAAAAAAAAAAAAAALABgAAAAAAAAAEADtQTEuAAB3b3JkL19yZWxzL1VUBQADhhztaHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAAAIAAAAIQCzvosd/gAAALYDAAAcABgAAAAAAAEAAACkgXYuAAB3b3JkL19yZWxzL2RvY3VtZW50LnhtbC5yZWxzVVQFAAMw0M4SdXgLAAEE9QEAAAQUAAAAUEsFBgAAAAARABEAqQUAAMovAAAAAA==`, LINK_MARK_NAME = "link", COMMENT_MARK_NAME, SUPPORTED_INLINE_TYPES, DocumentApiAdapterError, ALIAS_ELIGIBLE_TYPES, cacheByEditor, OBJECT_REPLACEMENT_CHAR = "", TAB_LEADER_TO_SEPARATOR, SEPARATOR_TO_TAB_LEADER, DEFAULT_TOC_CONFIG, SWITCH_PATTERN$1, SNIPPET_PADDING = 30, DUAL_KIND_TYPES, KNOWN_BLOCK_PM_NODE_TYPES, KNOWN_INLINE_PM_NODE_TYPES, MAX_PATTERN_LENGTH = 1024, PlanError, revisionMap, subscribedEditors, HEADING_STYLE_DEPTH, BULLET_FORMATS, MARK_PRIORITY, remarkProcessor, DEFAULT_UNFLATTEN_LISTS = true, everSyncedProviders, REQUIRED_COMMANDS, VALID_CAPABILITY_REASON_CODES, REQUIRED_HELPERS, SUPPORTED_NON_UNIFORM_STRATEGIES, SUPPORTED_SET_MARKS, REGEX_MAX_PATTERN_LENGTH = 1024, registry, TOGGLE_MARK_SPECS, CORE_MARK_NAMES, METADATA_MARK_NAMES, VALID_CREATE_POSITIONS, REF_HANDLERS, STEP_INTERACTION_MATRIX, MATRIX_EXEMPT_OPS, DEFAULT_INLINE_POLICY, CORE_SET_MARK_KEYS, BOOLEAN_INLINE_MARK_KEYS, TEXT_STYLE_KEYS, PRESERVE_RUN_PROPERTIES_META_KEY = "sdPreserveRunPropertiesKeys", STUB_WHERE, FALLBACK_STORE_KEY = "__documentApiComments", STYLES_PART = "word/styles.xml", PROPERTIES_KEY_BY_CHANNEL, XML_PATH_BY_CHANNEL2, UNDERLINE_API_TO_STORAGE, UNDERLINE_STORAGE_TO_API, HEX_SUBKEYS_BY_PROPERTY, PARAGRAPH_NODE_TYPES, ALIGNMENT_TO_JUSTIFICATION, DERIVED_ID_LENGTH = 24, groupedCache, SUPPORTED_NODE_TYPES, REJECTED_NODE_TYPES, INDENT_PER_LEVEL_TWIPS = 720, HANGING_INDENT_TWIPS = 360, ORDERED_PRESET_CONFIG, BULLET_PRESET_CONFIG, PRESET_TEMPLATES, LevelFormattingHelpers, DEFAULT_PRESET_FOR_KIND, CSS_NAMED_COLORS, SETTINGS_PART_PATH = "word/settings.xml", POINTS_TO_PIXELS, POINTS_TO_TWIPS = 20, PIXELS_TO_TWIPS, DEFAULT_TABLE_GRID_WIDTH_TWIPS = 1500, TABLE_ADAPTER_DISPATCH, ROW_OPS, TABLE_SCOPED_OPS, registered = false, SectionType, DEFAULT_PARAGRAPH_SECTION_TYPE, DEFAULT_BODY_SECTION_TYPE, TWIPS_PER_INCH$2 = 1440, PX_PER_INCH$2 = 96, DEFAULT_COLUMN_GAP_INCHES = 0.5, DEFAULT_HEADER_FOOTER_MARGIN_PX = 0, LINE_NUMBER_RESTART_VALUES, PAGE_NUMBER_FORMAT_VALUES, SECTION_ORIENTATION_VALUES, SECTION_VERTICAL_ALIGN_VALUES, readSectPrHeaderFooterRefs, PIXELS_PER_INCH$2 = 96, DOCUMENT_RELS_PATH = "word/_rels/document.xml.rels", RELS_XMLNS2 = "http://schemas.openxmlformats.org/package/2006/relationships", HEADER_RELATIONSHIP_TYPE2 = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/header", FOOTER_RELATIONSHIP_TYPE2 = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/footer", WORDPROCESSINGML_XMLNS = "http://schemas.openxmlformats.org/wordprocessingml/2006/main", OFFICE_DOCUMENT_RELS_XMLNS = "http://schemas.openxmlformats.org/officeDocument/2006/relationships", RELATIONSHIP_ID_PATTERN, HEADER_FILE_PATTERN, FOOTER_FILE_PATTERN, HISTORY_UNSAFE_OPS, DEFAULT_LEVEL = 1, SWITCH_PATTERN, DEFAULT_RIGHT_TAB_POS = 9350, TAB_LEADER_MAP, NO_ENTRIES_PLACEHOLDER, TC_LEVEL_MIN = 1, TC_LEVEL_MAX = 9, DEFAULT_MIME_TYPE = "application/octet-stream", simpleHash2 = (str) => {
|
|
180251
180458
|
let hash$3 = 0;
|
|
180252
180459
|
for (let i$1 = 0;i$1 < str.length; i$1++) {
|
|
180253
180460
|
const char = str.charCodeAt(i$1);
|
|
@@ -198889,9 +199096,9 @@ var Node$13 = class Node$14 {
|
|
|
198889
199096
|
trackedChanges: context.trackedChanges ?? []
|
|
198890
199097
|
});
|
|
198891
199098
|
}, _hoisted_1$6, _hoisted_2$2, _hoisted_3, _hoisted_4, ContextMenu_default, _hoisted_1$5, BasicUpload_default, _hoisted_1$4, MIN_WIDTH = 200, PPI = 96, alignment = "flex-end", Ruler_default, GenericPopover_default, _hoisted_1$3, _hoisted_2$1, RESIZE_HANDLE_WIDTH_PX = 9, RESIZE_HANDLE_HEIGHT_PX = 9, RESIZE_HANDLE_OFFSET_PX = 4, DRAG_OVERLAY_EXTENSION_PX = 1000, MIN_DRAG_OVERLAY_WIDTH_PX = 2000, THROTTLE_INTERVAL_MS = 16, MIN_RESIZE_DELTA_PX = 1, TableResizeOverlay_default, _hoisted_1$2, OVERLAY_EXPANSION_PX = 2000, RESIZE_HANDLE_SIZE_PX = 12, MOUSE_MOVE_THROTTLE_MS = 16, DIMENSION_CHANGE_THRESHOLD_PX = 1, Z_INDEX_OVERLAY = 10, Z_INDEX_HANDLE = 15, Z_INDEX_GUIDELINE = 20, ImageResizeOverlay_default, LINK_CLICK_DEBOUNCE_MS = 300, CURSOR_UPDATE_TIMEOUT_MS = 10, POPOVER_VERTICAL_OFFSET_PX = 15, LinkClickHandler_default, _hoisted_1$1, _hoisted_2, DOCX2 = "application/vnd.openxmlformats-officedocument.wordprocessingml.document", TABLE_RESIZE_HOVER_THRESHOLD = 8, TABLE_RESIZE_THROTTLE_MS = 16, SuperEditor_default, _hoisted_1, SuperInput_default, SlashMenu, Extensions;
|
|
198892
|
-
var
|
|
199099
|
+
var init_src_Db_ZEAR0_es = __esm(() => {
|
|
198893
199100
|
init_rolldown_runtime_B2q5OVn9_es();
|
|
198894
|
-
|
|
199101
|
+
init_SuperConverter_6i_hCnOE_es();
|
|
198895
199102
|
init_jszip_ChlR43oI_es();
|
|
198896
199103
|
init_uuid_qzgm05fK_es();
|
|
198897
199104
|
init_constants_CMPtQbp7_es();
|
|
@@ -207440,6 +207647,10 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
207440
207647
|
getPresetTemplate,
|
|
207441
207648
|
PRESET_TEMPLATES
|
|
207442
207649
|
};
|
|
207650
|
+
DEFAULT_PRESET_FOR_KIND = {
|
|
207651
|
+
ordered: "decimal",
|
|
207652
|
+
bullet: "disc"
|
|
207653
|
+
};
|
|
207443
207654
|
CSS_NAMED_COLORS = {
|
|
207444
207655
|
aliceblue: "#f0f8ff",
|
|
207445
207656
|
antiquewhite: "#faebd7",
|
|
@@ -230622,8 +230833,8 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
230622
230833
|
return isObjectLike_default(value) && hasOwnProperty$8.call(value, "callee") && !propertyIsEnumerable$1.call(value, "callee");
|
|
230623
230834
|
};
|
|
230624
230835
|
stubFalse_default = stubFalse;
|
|
230625
|
-
freeExports$2 = typeof
|
|
230626
|
-
freeModule$2 = freeExports$2 && typeof
|
|
230836
|
+
freeExports$2 = typeof exports_src_Db_ZEAR0_es == "object" && exports_src_Db_ZEAR0_es && !exports_src_Db_ZEAR0_es.nodeType && exports_src_Db_ZEAR0_es;
|
|
230837
|
+
freeModule$2 = freeExports$2 && typeof module_src_Db_ZEAR0_es == "object" && module_src_Db_ZEAR0_es && !module_src_Db_ZEAR0_es.nodeType && module_src_Db_ZEAR0_es;
|
|
230627
230838
|
Buffer$1 = freeModule$2 && freeModule$2.exports === freeExports$2 ? _root_default.Buffer : undefined;
|
|
230628
230839
|
isBuffer_default = (Buffer$1 ? Buffer$1.isBuffer : undefined) || stubFalse_default;
|
|
230629
230840
|
typedArrayTags = {};
|
|
@@ -230631,8 +230842,8 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
230631
230842
|
typedArrayTags[argsTag$1] = typedArrayTags[arrayTag$1] = typedArrayTags[arrayBufferTag$1] = typedArrayTags[boolTag$1] = typedArrayTags[dataViewTag$2] = typedArrayTags[dateTag$1] = typedArrayTags[errorTag$1] = typedArrayTags[funcTag] = typedArrayTags[mapTag$2] = typedArrayTags[numberTag$1] = typedArrayTags[objectTag$3] = typedArrayTags[regexpTag$1] = typedArrayTags[setTag$2] = typedArrayTags[stringTag$1] = typedArrayTags[weakMapTag$1] = false;
|
|
230632
230843
|
_baseIsTypedArray_default = baseIsTypedArray;
|
|
230633
230844
|
_baseUnary_default = baseUnary;
|
|
230634
|
-
freeExports$1 = typeof
|
|
230635
|
-
freeModule$1 = freeExports$1 && typeof
|
|
230845
|
+
freeExports$1 = typeof exports_src_Db_ZEAR0_es == "object" && exports_src_Db_ZEAR0_es && !exports_src_Db_ZEAR0_es.nodeType && exports_src_Db_ZEAR0_es;
|
|
230846
|
+
freeModule$1 = freeExports$1 && typeof module_src_Db_ZEAR0_es == "object" && module_src_Db_ZEAR0_es && !module_src_Db_ZEAR0_es.nodeType && module_src_Db_ZEAR0_es;
|
|
230636
230847
|
freeProcess = freeModule$1 && freeModule$1.exports === freeExports$1 && _freeGlobal_default.process;
|
|
230637
230848
|
_nodeUtil_default = function() {
|
|
230638
230849
|
try {
|
|
@@ -230737,8 +230948,8 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
230737
230948
|
Stack.prototype.has = _stackHas_default;
|
|
230738
230949
|
Stack.prototype.set = _stackSet_default;
|
|
230739
230950
|
_Stack_default = Stack;
|
|
230740
|
-
freeExports = typeof
|
|
230741
|
-
freeModule = freeExports && typeof
|
|
230951
|
+
freeExports = typeof exports_src_Db_ZEAR0_es == "object" && exports_src_Db_ZEAR0_es && !exports_src_Db_ZEAR0_es.nodeType && exports_src_Db_ZEAR0_es;
|
|
230952
|
+
freeModule = freeExports && typeof module_src_Db_ZEAR0_es == "object" && module_src_Db_ZEAR0_es && !module_src_Db_ZEAR0_es.nodeType && module_src_Db_ZEAR0_es;
|
|
230742
230953
|
Buffer4 = freeModule && freeModule.exports === freeExports ? _root_default.Buffer : undefined;
|
|
230743
230954
|
allocUnsafe = Buffer4 ? Buffer4.allocUnsafe : undefined;
|
|
230744
230955
|
_cloneBuffer_default = cloneBuffer;
|
|
@@ -238818,8 +239029,8 @@ var init_zipper_DqXT7uTa_es = __esm(() => {
|
|
|
238818
239029
|
|
|
238819
239030
|
// ../../packages/superdoc/dist/super-editor.es.js
|
|
238820
239031
|
var init_super_editor_es = __esm(() => {
|
|
238821
|
-
|
|
238822
|
-
|
|
239032
|
+
init_src_Db_ZEAR0_es();
|
|
239033
|
+
init_SuperConverter_6i_hCnOE_es();
|
|
238823
239034
|
init_jszip_ChlR43oI_es();
|
|
238824
239035
|
init_xml_js_DLE8mr0n_es();
|
|
238825
239036
|
init_constants_CMPtQbp7_es();
|
|
@@ -299211,14 +299422,7 @@ function convertImageBlock2(node4, ctx2) {
|
|
|
299211
299422
|
addDiagnostic4(ctx2, "warning", "image", "Image with empty URL — skipped.", node4);
|
|
299212
299423
|
return makeParagraph2([]);
|
|
299213
299424
|
}
|
|
299214
|
-
const imageNode = {
|
|
299215
|
-
type: "image",
|
|
299216
|
-
attrs: {
|
|
299217
|
-
src: node4.url,
|
|
299218
|
-
alt: node4.alt ?? null,
|
|
299219
|
-
title: node4.title ?? null
|
|
299220
|
-
}
|
|
299221
|
-
};
|
|
299425
|
+
const imageNode = { type: "image", attrs: buildImageAttrs2(node4, ctx2) };
|
|
299222
299426
|
return {
|
|
299223
299427
|
type: "paragraph",
|
|
299224
299428
|
content: [imageNode]
|
|
@@ -299298,14 +299502,50 @@ function convertInlineImage2(node4, ctx2) {
|
|
|
299298
299502
|
return [
|
|
299299
299503
|
{
|
|
299300
299504
|
type: "image",
|
|
299301
|
-
attrs:
|
|
299302
|
-
src: node4.url,
|
|
299303
|
-
alt: node4.alt ?? null,
|
|
299304
|
-
title: node4.title ?? null
|
|
299305
|
-
}
|
|
299505
|
+
attrs: buildImageAttrs2(node4, ctx2)
|
|
299306
299506
|
}
|
|
299307
299507
|
];
|
|
299308
299508
|
}
|
|
299509
|
+
function buildImageAttrs2(node4, ctx2) {
|
|
299510
|
+
const attrs = {
|
|
299511
|
+
src: node4.url,
|
|
299512
|
+
alt: node4.alt ?? null,
|
|
299513
|
+
title: node4.title ?? null,
|
|
299514
|
+
sdImageId: v42(),
|
|
299515
|
+
id: generateUniqueImageDocPrId2(ctx2)
|
|
299516
|
+
};
|
|
299517
|
+
const dimensions = readImageDimensionsFromDataUri2(node4.url);
|
|
299518
|
+
if (dimensions) {
|
|
299519
|
+
attrs.size = dimensions;
|
|
299520
|
+
}
|
|
299521
|
+
return attrs;
|
|
299522
|
+
}
|
|
299523
|
+
function generateUniqueImageDocPrId2(ctx2) {
|
|
299524
|
+
const existingIds = getOrCreateImageDocPrIdSet2(ctx2);
|
|
299525
|
+
let candidate = "";
|
|
299526
|
+
do {
|
|
299527
|
+
const hex2 = generateDocxRandomId2();
|
|
299528
|
+
candidate = String(parseInt(hex2, 16));
|
|
299529
|
+
} while (!candidate || existingIds.has(candidate));
|
|
299530
|
+
existingIds.add(candidate);
|
|
299531
|
+
return candidate;
|
|
299532
|
+
}
|
|
299533
|
+
function getOrCreateImageDocPrIdSet2(ctx2) {
|
|
299534
|
+
const cached = imageDocPrIdsByContext2.get(ctx2);
|
|
299535
|
+
if (cached)
|
|
299536
|
+
return cached;
|
|
299537
|
+
const existingIds = new Set;
|
|
299538
|
+
ctx2.editor?.state?.doc?.descendants((node4) => {
|
|
299539
|
+
if (node4.type.name !== "image")
|
|
299540
|
+
return true;
|
|
299541
|
+
if (node4.attrs.id !== undefined && node4.attrs.id !== null) {
|
|
299542
|
+
existingIds.add(String(node4.attrs.id));
|
|
299543
|
+
}
|
|
299544
|
+
return true;
|
|
299545
|
+
});
|
|
299546
|
+
imageDocPrIdsByContext2.set(ctx2, existingIds);
|
|
299547
|
+
return existingIds;
|
|
299548
|
+
}
|
|
299309
299549
|
function makeParagraph2(content5, extraParagraphProps) {
|
|
299310
299550
|
const paragraphProperties = extraParagraphProps ? { ...extraParagraphProps } : undefined;
|
|
299311
299551
|
const attrs = {};
|
|
@@ -299354,9 +299594,12 @@ function addDiagnostic4(ctx2, severity, nodeType, message, node4) {
|
|
|
299354
299594
|
}
|
|
299355
299595
|
ctx2.diagnostics.push(diagnostic);
|
|
299356
299596
|
}
|
|
299357
|
-
var FULL_WIDTH_TABLE_PCT2 = 5000, HEADING_STYLE_MAP2;
|
|
299597
|
+
var FULL_WIDTH_TABLE_PCT2 = 5000, imageDocPrIdsByContext2, HEADING_STYLE_MAP2;
|
|
299358
299598
|
var init_mdastToProseMirror = __esm(() => {
|
|
299599
|
+
init_wrapper();
|
|
299359
299600
|
init_list_numbering_helpers();
|
|
299601
|
+
init_image_dimensions();
|
|
299602
|
+
imageDocPrIdsByContext2 = new WeakMap;
|
|
299360
299603
|
HEADING_STYLE_MAP2 = {
|
|
299361
299604
|
1: "Heading1",
|
|
299362
299605
|
2: "Heading2",
|
|
@@ -303784,6 +304027,30 @@ function editorHasDom2(editor) {
|
|
|
303784
304027
|
const opts = editor.options;
|
|
303785
304028
|
return !!(opts?.document ?? opts?.mockDocument ?? (typeof document !== "undefined" ? document : null));
|
|
303786
304029
|
}
|
|
304030
|
+
function isJsonObject2(value) {
|
|
304031
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
304032
|
+
}
|
|
304033
|
+
function ensureMarkdownImageIds2(nodes) {
|
|
304034
|
+
const visit3 = (node4) => {
|
|
304035
|
+
if (node4.type === "image") {
|
|
304036
|
+
const attrs = isJsonObject2(node4.attrs) ? { ...node4.attrs } : {};
|
|
304037
|
+
const hasStableId = typeof attrs.sdImageId === "string" && attrs.sdImageId.length > 0;
|
|
304038
|
+
if (!hasStableId) {
|
|
304039
|
+
attrs.sdImageId = v42();
|
|
304040
|
+
}
|
|
304041
|
+
node4.attrs = attrs;
|
|
304042
|
+
}
|
|
304043
|
+
if (!Array.isArray(node4.content))
|
|
304044
|
+
return;
|
|
304045
|
+
for (const child of node4.content) {
|
|
304046
|
+
if (isJsonObject2(child))
|
|
304047
|
+
visit3(child);
|
|
304048
|
+
}
|
|
304049
|
+
};
|
|
304050
|
+
for (const node4 of nodes) {
|
|
304051
|
+
visit3(node4);
|
|
304052
|
+
}
|
|
304053
|
+
}
|
|
303787
304054
|
function ensureTableSeparators2(jsonNodes) {
|
|
303788
304055
|
for (let i4 = jsonNodes.length - 2;i4 >= 0; i4--) {
|
|
303789
304056
|
if (jsonNodes[i4].type === "table" && jsonNodes[i4 + 1].type === "table") {
|
|
@@ -304185,6 +304452,7 @@ function insertStructuredWrapper2(editor, input2, options) {
|
|
|
304185
304452
|
}
|
|
304186
304453
|
const jsonNodes = [];
|
|
304187
304454
|
fragment.forEach((node4) => jsonNodes.push(node4.toJSON()));
|
|
304455
|
+
ensureMarkdownImageIds2(jsonNodes);
|
|
304188
304456
|
ensureTableSeparators2(jsonNodes);
|
|
304189
304457
|
if (from4 === to) {
|
|
304190
304458
|
const $pos = editor.state.doc.resolve(from4);
|
|
@@ -307937,6 +308205,107 @@ function listsApplyPresetWrapper2(editor, input2, options) {
|
|
|
307937
308205
|
}
|
|
307938
308206
|
return { success: true, item: targetResult.resolved.address };
|
|
307939
308207
|
}
|
|
308208
|
+
function areAbstractsCompatibleForMerge2(targetAbstractNumId, adjacentAbstractNumId) {
|
|
308209
|
+
return adjacentAbstractNumId != null && targetAbstractNumId === adjacentAbstractNumId;
|
|
308210
|
+
}
|
|
308211
|
+
function resolveSequenceKind2(sequence) {
|
|
308212
|
+
const first2 = sequence[0];
|
|
308213
|
+
if (!first2 || first2.numId == null)
|
|
308214
|
+
return;
|
|
308215
|
+
return first2.kind;
|
|
308216
|
+
}
|
|
308217
|
+
function mergeAdjacentSequence2(editor, tr, absorbingNumId, absorbedItems) {
|
|
308218
|
+
const firstAbsorbed = absorbedItems[0];
|
|
308219
|
+
if (firstAbsorbed?.numId != null) {
|
|
308220
|
+
ListHelpers2.removeLvlOverride(editor, firstAbsorbed.numId, firstAbsorbed.level ?? 0);
|
|
308221
|
+
}
|
|
308222
|
+
for (const item of absorbedItems) {
|
|
308223
|
+
updateNumberingProperties2({ numId: absorbingNumId, ilvl: item.level ?? 0 }, item.candidate.node, item.candidate.pos, editor, tr);
|
|
308224
|
+
}
|
|
308225
|
+
}
|
|
308226
|
+
function listsSetTypeWrapper2(editor, input2, options) {
|
|
308227
|
+
rejectTrackedMode2("lists.setType", options);
|
|
308228
|
+
const preset = DEFAULT_PRESET_FOR_KIND2[input2.kind];
|
|
308229
|
+
if (!preset) {
|
|
308230
|
+
return toListsFailure3("INVALID_INPUT", `Unknown list kind: ${input2.kind}.`, { kind: input2.kind });
|
|
308231
|
+
}
|
|
308232
|
+
const template = LevelFormattingHelpers2.getPresetTemplate(preset);
|
|
308233
|
+
if (!template) {
|
|
308234
|
+
return toListsFailure3("INVALID_INPUT", `No template found for preset: ${preset}.`, { preset });
|
|
308235
|
+
}
|
|
308236
|
+
const targetResult = resolveTargetAbstract2(editor, input2.target);
|
|
308237
|
+
if (!targetResult.ok)
|
|
308238
|
+
return targetResult.failure;
|
|
308239
|
+
if (options?.dryRun) {
|
|
308240
|
+
return { success: true, item: targetResult.resolved.address };
|
|
308241
|
+
}
|
|
308242
|
+
const continuity = input2.continuity ?? "preserve";
|
|
308243
|
+
let applyError;
|
|
308244
|
+
const receipt2 = executeDomainCommand2(editor, () => {
|
|
308245
|
+
let didAnything = false;
|
|
308246
|
+
const result = LevelFormattingHelpers2.applyTemplateToAbstract(editor, targetResult.abstractNumId, template, undefined);
|
|
308247
|
+
if (result.error) {
|
|
308248
|
+
applyError = result.error;
|
|
308249
|
+
return false;
|
|
308250
|
+
}
|
|
308251
|
+
if (result.changed)
|
|
308252
|
+
didAnything = true;
|
|
308253
|
+
const { tr } = editor.state;
|
|
308254
|
+
if (continuity === "preserve") {
|
|
308255
|
+
clearIndexCache2(editor);
|
|
308256
|
+
const freshTarget = resolveListItem2(editor, input2.target);
|
|
308257
|
+
if (freshTarget.numId != null) {
|
|
308258
|
+
const merged = mergeAdjacentCompatibleSequences2(editor, tr, freshTarget, targetResult.abstractNumId);
|
|
308259
|
+
if (merged)
|
|
308260
|
+
didAnything = true;
|
|
308261
|
+
}
|
|
308262
|
+
}
|
|
308263
|
+
if (!didAnything)
|
|
308264
|
+
return false;
|
|
308265
|
+
dispatchEditorTransaction3(editor, tr);
|
|
308266
|
+
if (continuity === "preserve")
|
|
308267
|
+
clearIndexCache2(editor);
|
|
308268
|
+
return true;
|
|
308269
|
+
}, { expectedRevision: options?.expectedRevision });
|
|
308270
|
+
if (applyError) {
|
|
308271
|
+
return toApplyTemplateError2(applyError, input2.target);
|
|
308272
|
+
}
|
|
308273
|
+
if (receipt2.steps[0]?.effect !== "changed") {
|
|
308274
|
+
return toListsFailure3("NO_OP", "List type is already the requested kind.", { target: input2.target });
|
|
308275
|
+
}
|
|
308276
|
+
return { success: true, item: targetResult.resolved.address };
|
|
308277
|
+
}
|
|
308278
|
+
function mergeAdjacentCompatibleSequences2(editor, tr, target, targetAbstractNumId) {
|
|
308279
|
+
const targetNumId = target.numId;
|
|
308280
|
+
let merged = false;
|
|
308281
|
+
const prev = findAdjacentSequence2(editor, target, "withPrevious");
|
|
308282
|
+
if (prev && canMergeSequences2(prev.abstractNumId, targetAbstractNumId, prev.sequence, target.kind)) {
|
|
308283
|
+
const targetSequence = getContiguousSequence2(editor, target);
|
|
308284
|
+
mergeAdjacentSequence2(editor, tr, prev.numId, targetSequence);
|
|
308285
|
+
clearIndexCache2(editor);
|
|
308286
|
+
merged = true;
|
|
308287
|
+
const freshTarget = resolveListItem2(editor, target.address);
|
|
308288
|
+
const next3 = findAdjacentSequence2(editor, freshTarget, "withNext");
|
|
308289
|
+
if (next3 && prev.abstractNumId != null && canMergeSequences2(next3.abstractNumId, prev.abstractNumId, next3.sequence, freshTarget.kind)) {
|
|
308290
|
+
mergeAdjacentSequence2(editor, tr, prev.numId, next3.sequence);
|
|
308291
|
+
clearIndexCache2(editor);
|
|
308292
|
+
}
|
|
308293
|
+
return merged;
|
|
308294
|
+
}
|
|
308295
|
+
const next2 = findAdjacentSequence2(editor, target, "withNext");
|
|
308296
|
+
if (next2 && canMergeSequences2(next2.abstractNumId, targetAbstractNumId, next2.sequence, target.kind)) {
|
|
308297
|
+
mergeAdjacentSequence2(editor, tr, targetNumId, next2.sequence);
|
|
308298
|
+
clearIndexCache2(editor);
|
|
308299
|
+
merged = true;
|
|
308300
|
+
}
|
|
308301
|
+
return merged;
|
|
308302
|
+
}
|
|
308303
|
+
function canMergeSequences2(adjacentAbstractNumId, targetAbstractNumId, adjacentSequence, targetKind) {
|
|
308304
|
+
const adjacentKind = resolveSequenceKind2(adjacentSequence);
|
|
308305
|
+
if (adjacentKind == null || adjacentKind !== targetKind)
|
|
308306
|
+
return false;
|
|
308307
|
+
return areAbstractsCompatibleForMerge2(targetAbstractNumId, adjacentAbstractNumId);
|
|
308308
|
+
}
|
|
307940
308309
|
function listsCaptureTemplateWrapper2(editor, input2) {
|
|
307941
308310
|
const levelsError = validateLevelsArray2(input2.levels);
|
|
307942
308311
|
if (levelsError)
|
|
@@ -308025,12 +308394,20 @@ function listsClearLevelOverridesWrapper2(editor, input2, options) {
|
|
|
308025
308394
|
}
|
|
308026
308395
|
return { success: true, item: resolved.address };
|
|
308027
308396
|
}
|
|
308397
|
+
var DEFAULT_PRESET_FOR_KIND2;
|
|
308028
308398
|
var init_lists_formatting_wrappers = __esm(() => {
|
|
308029
308399
|
init_mutation_helpers();
|
|
308030
308400
|
init_plan_wrappers();
|
|
308031
308401
|
init_list_item_resolver();
|
|
308032
308402
|
init_list_sequence_helpers();
|
|
308403
|
+
init_index_cache();
|
|
308033
308404
|
init_list_level_formatting_helpers();
|
|
308405
|
+
init_changeListLevel();
|
|
308406
|
+
init_list_numbering_helpers();
|
|
308407
|
+
DEFAULT_PRESET_FOR_KIND2 = {
|
|
308408
|
+
ordered: "decimal",
|
|
308409
|
+
bullet: "disc"
|
|
308410
|
+
};
|
|
308034
308411
|
});
|
|
308035
308412
|
|
|
308036
308413
|
// ../../packages/super-editor/src/document-api-adapters/plan-engine/preview.ts
|
|
@@ -317514,7 +317891,8 @@ function assembleDocumentApiAdapters2(editor) {
|
|
|
317514
317891
|
setLevelIndents: (input2, options) => listsSetLevelIndentsWrapper2(editor, input2, options),
|
|
317515
317892
|
setLevelTrailingCharacter: (input2, options) => listsSetLevelTrailingCharacterWrapper2(editor, input2, options),
|
|
317516
317893
|
setLevelMarkerFont: (input2, options) => listsSetLevelMarkerFontWrapper2(editor, input2, options),
|
|
317517
|
-
clearLevelOverrides: (input2, options) => listsClearLevelOverridesWrapper2(editor, input2, options)
|
|
317894
|
+
clearLevelOverrides: (input2, options) => listsClearLevelOverridesWrapper2(editor, input2, options),
|
|
317895
|
+
setType: (input2, options) => listsSetTypeWrapper2(editor, input2, options)
|
|
317518
317896
|
},
|
|
317519
317897
|
sections: {
|
|
317520
317898
|
list: (query2) => sectionsListAdapter3(editor, query2),
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@superdoc-dev/cli",
|
|
3
|
-
"version": "0.2.0-next.
|
|
3
|
+
"version": "0.2.0-next.92",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"bin": {
|
|
6
6
|
"superdoc": "./dist/index.js"
|
|
@@ -21,20 +21,20 @@
|
|
|
21
21
|
"@types/node": "22.19.2",
|
|
22
22
|
"typescript": "^5.9.2",
|
|
23
23
|
"@superdoc/pm-adapter": "0.0.0",
|
|
24
|
-
"@superdoc/super-editor": "0.0.1",
|
|
25
24
|
"superdoc": "1.17.0",
|
|
26
|
-
"@superdoc/document-api": "0.0.1"
|
|
25
|
+
"@superdoc/document-api": "0.0.1",
|
|
26
|
+
"@superdoc/super-editor": "0.0.1"
|
|
27
27
|
},
|
|
28
28
|
"module": "src/index.ts",
|
|
29
29
|
"publishConfig": {
|
|
30
30
|
"access": "public"
|
|
31
31
|
},
|
|
32
32
|
"optionalDependencies": {
|
|
33
|
-
"@superdoc-dev/cli-darwin-arm64": "0.2.0-next.
|
|
34
|
-
"@superdoc-dev/cli-darwin-x64": "0.2.0-next.
|
|
35
|
-
"@superdoc-dev/cli-linux-x64": "0.2.0-next.
|
|
36
|
-
"@superdoc-dev/cli-
|
|
37
|
-
"@superdoc-dev/cli-
|
|
33
|
+
"@superdoc-dev/cli-darwin-arm64": "0.2.0-next.92",
|
|
34
|
+
"@superdoc-dev/cli-darwin-x64": "0.2.0-next.92",
|
|
35
|
+
"@superdoc-dev/cli-linux-x64": "0.2.0-next.92",
|
|
36
|
+
"@superdoc-dev/cli-linux-arm64": "0.2.0-next.92",
|
|
37
|
+
"@superdoc-dev/cli-windows-x64": "0.2.0-next.92"
|
|
38
38
|
},
|
|
39
39
|
"scripts": {
|
|
40
40
|
"dev": "bun run src/index.ts",
|