jvs-ppt-ui 0.0.7 → 0.0.8

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.
@@ -1,2352 +0,0 @@
1
- import { r as e } from "./jvs-ppt-ui.es.js";
2
- import { t } from "./jszip.min-Kba9Mb0l.js";
3
- //#region node_modules/jvs-pptxgenjs/dist/pptxgen.es.js
4
- var n = /* @__PURE__ */ e(t());
5
- function r(e, t, n, r) {
6
- function i(e) {
7
- return e instanceof n ? e : new n(function(t) {
8
- t(e);
9
- });
10
- }
11
- return new (n ||= Promise)(function(n, a) {
12
- function o(e) {
13
- try {
14
- c(r.next(e));
15
- } catch (e) {
16
- a(e);
17
- }
18
- }
19
- function s(e) {
20
- try {
21
- c(r.throw(e));
22
- } catch (e) {
23
- a(e);
24
- }
25
- }
26
- function c(e) {
27
- e.done ? n(e.value) : i(e.value).then(o, s);
28
- }
29
- c((r = r.apply(e, t || [])).next());
30
- });
31
- }
32
- var i = 914400, a = 12700, o = "\r\n", s = 2147483649, c = /^[0-9a-fA-F]{6}$/, l = 1.67, u = 27, d = {
33
- type: "solid",
34
- color: "666666",
35
- pt: 1
36
- }, f = [
37
- .05,
38
- .1,
39
- .05,
40
- .1
41
- ], p = {
42
- color: "363636",
43
- pt: 1
44
- }, m = {
45
- color: "888888",
46
- style: "solid",
47
- size: 1,
48
- cap: "flat"
49
- }, h = "000000", g = 12, _ = 18, v = "LAYOUT_16x9", y = "DEFAULT", b = "333333", x = {
50
- type: "outer",
51
- blur: 3,
52
- offset: 23e3 / 12700,
53
- angle: 90,
54
- color: "000000",
55
- opacity: .35,
56
- rotateWithShape: !0
57
- }, S = [
58
- .5,
59
- .5,
60
- .5,
61
- .5
62
- ], C = "2094734552", w = "2094734553", T = "2094734554", ee = "2094734555", te = "2094734556", E = "ABCDEFGHIJKLMNOPQRSTUVWXYZ".split(""), D = [
63
- "C0504D",
64
- "4F81BD",
65
- "9BBB59",
66
- "8064A2",
67
- "4BACC6",
68
- "F79646",
69
- "628FC6",
70
- "C86360",
71
- "C0504D",
72
- "4F81BD",
73
- "9BBB59",
74
- "8064A2",
75
- "4BACC6",
76
- "F79646",
77
- "628FC6",
78
- "C86360"
79
- ], ne = [
80
- "5DA5DA",
81
- "FAA43A",
82
- "60BD68",
83
- "F17CB0",
84
- "B2912F",
85
- "B276B2",
86
- "DECF3F",
87
- "F15854",
88
- "A7A7A7",
89
- "5DA5DA",
90
- "FAA43A",
91
- "60BD68",
92
- "F17CB0",
93
- "B2912F",
94
- "B276B2",
95
- "DECF3F",
96
- "F15854",
97
- "A7A7A7"
98
- ], O;
99
- (function(e) {
100
- e.left = "left", e.center = "center", e.right = "right", e.justify = "justify";
101
- })(O ||= {});
102
- var k;
103
- (function(e) {
104
- e.b = "b", e.ctr = "ctr", e.t = "t";
105
- })(k ||= {});
106
- var re = "{F7021451-1387-4CA6-816F-3879F97B5CBC}", ie;
107
- (function(e) {
108
- e.arraybuffer = "arraybuffer", e.base64 = "base64", e.binarystring = "binarystring", e.blob = "blob", e.nodebuffer = "nodebuffer", e.uint8array = "uint8array";
109
- })(ie ||= {});
110
- var ae;
111
- (function(e) {
112
- e.area = "area", e.bar = "bar", e.bar3d = "bar3D", e.bubble = "bubble", e.bubble3d = "bubble3D", e.doughnut = "doughnut", e.line = "line", e.pie = "pie", e.radar = "radar", e.scatter = "scatter";
113
- })(ae ||= {});
114
- var oe;
115
- (function(e) {
116
- e.accentBorderCallout1 = "accentBorderCallout1", e.accentBorderCallout2 = "accentBorderCallout2", e.accentBorderCallout3 = "accentBorderCallout3", e.accentCallout1 = "accentCallout1", e.accentCallout2 = "accentCallout2", e.accentCallout3 = "accentCallout3", e.actionButtonBackPrevious = "actionButtonBackPrevious", e.actionButtonBeginning = "actionButtonBeginning", e.actionButtonBlank = "actionButtonBlank", e.actionButtonDocument = "actionButtonDocument", e.actionButtonEnd = "actionButtonEnd", e.actionButtonForwardNext = "actionButtonForwardNext", e.actionButtonHelp = "actionButtonHelp", e.actionButtonHome = "actionButtonHome", e.actionButtonInformation = "actionButtonInformation", e.actionButtonMovie = "actionButtonMovie", e.actionButtonReturn = "actionButtonReturn", e.actionButtonSound = "actionButtonSound", e.arc = "arc", e.bentArrow = "bentArrow", e.bentUpArrow = "bentUpArrow", e.bevel = "bevel", e.blockArc = "blockArc", e.borderCallout1 = "borderCallout1", e.borderCallout2 = "borderCallout2", e.borderCallout3 = "borderCallout3", e.bracePair = "bracePair", e.bracketPair = "bracketPair", e.callout1 = "callout1", e.callout2 = "callout2", e.callout3 = "callout3", e.can = "can", e.chartPlus = "chartPlus", e.chartStar = "chartStar", e.chartX = "chartX", e.chevron = "chevron", e.chord = "chord", e.circularArrow = "circularArrow", e.cloud = "cloud", e.cloudCallout = "cloudCallout", e.corner = "corner", e.cornerTabs = "cornerTabs", e.cube = "cube", e.curvedDownArrow = "curvedDownArrow", e.curvedLeftArrow = "curvedLeftArrow", e.curvedRightArrow = "curvedRightArrow", e.curvedUpArrow = "curvedUpArrow", e.custGeom = "custGeom", e.decagon = "decagon", e.diagStripe = "diagStripe", e.diamond = "diamond", e.dodecagon = "dodecagon", e.donut = "donut", e.doubleWave = "doubleWave", e.downArrow = "downArrow", e.downArrowCallout = "downArrowCallout", e.ellipse = "ellipse", e.ellipseRibbon = "ellipseRibbon", e.ellipseRibbon2 = "ellipseRibbon2", e.flowChartAlternateProcess = "flowChartAlternateProcess", e.flowChartCollate = "flowChartCollate", e.flowChartConnector = "flowChartConnector", e.flowChartDecision = "flowChartDecision", e.flowChartDelay = "flowChartDelay", e.flowChartDisplay = "flowChartDisplay", e.flowChartDocument = "flowChartDocument", e.flowChartExtract = "flowChartExtract", e.flowChartInputOutput = "flowChartInputOutput", e.flowChartInternalStorage = "flowChartInternalStorage", e.flowChartMagneticDisk = "flowChartMagneticDisk", e.flowChartMagneticDrum = "flowChartMagneticDrum", e.flowChartMagneticTape = "flowChartMagneticTape", e.flowChartManualInput = "flowChartManualInput", e.flowChartManualOperation = "flowChartManualOperation", e.flowChartMerge = "flowChartMerge", e.flowChartMultidocument = "flowChartMultidocument", e.flowChartOfflineStorage = "flowChartOfflineStorage", e.flowChartOffpageConnector = "flowChartOffpageConnector", e.flowChartOnlineStorage = "flowChartOnlineStorage", e.flowChartOr = "flowChartOr", e.flowChartPredefinedProcess = "flowChartPredefinedProcess", e.flowChartPreparation = "flowChartPreparation", e.flowChartProcess = "flowChartProcess", e.flowChartPunchedCard = "flowChartPunchedCard", e.flowChartPunchedTape = "flowChartPunchedTape", e.flowChartSort = "flowChartSort", e.flowChartSummingJunction = "flowChartSummingJunction", e.flowChartTerminator = "flowChartTerminator", e.folderCorner = "folderCorner", e.frame = "frame", e.funnel = "funnel", e.gear6 = "gear6", e.gear9 = "gear9", e.halfFrame = "halfFrame", e.heart = "heart", e.heptagon = "heptagon", e.hexagon = "hexagon", e.homePlate = "homePlate", e.horizontalScroll = "horizontalScroll", e.irregularSeal1 = "irregularSeal1", e.irregularSeal2 = "irregularSeal2", e.leftArrow = "leftArrow", e.leftArrowCallout = "leftArrowCallout", e.leftBrace = "leftBrace", e.leftBracket = "leftBracket", e.leftCircularArrow = "leftCircularArrow", e.leftRightArrow = "leftRightArrow", e.leftRightArrowCallout = "leftRightArrowCallout", e.leftRightCircularArrow = "leftRightCircularArrow", e.leftRightRibbon = "leftRightRibbon", e.leftRightUpArrow = "leftRightUpArrow", e.leftUpArrow = "leftUpArrow", e.lightningBolt = "lightningBolt", e.line = "line", e.lineInv = "lineInv", e.mathDivide = "mathDivide", e.mathEqual = "mathEqual", e.mathMinus = "mathMinus", e.mathMultiply = "mathMultiply", e.mathNotEqual = "mathNotEqual", e.mathPlus = "mathPlus", e.moon = "moon", e.noSmoking = "noSmoking", e.nonIsoscelesTrapezoid = "nonIsoscelesTrapezoid", e.notchedRightArrow = "notchedRightArrow", e.octagon = "octagon", e.parallelogram = "parallelogram", e.pentagon = "pentagon", e.pie = "pie", e.pieWedge = "pieWedge", e.plaque = "plaque", e.plaqueTabs = "plaqueTabs", e.plus = "plus", e.quadArrow = "quadArrow", e.quadArrowCallout = "quadArrowCallout", e.rect = "rect", e.ribbon = "ribbon", e.ribbon2 = "ribbon2", e.rightArrow = "rightArrow", e.rightArrowCallout = "rightArrowCallout", e.rightBrace = "rightBrace", e.rightBracket = "rightBracket", e.round1Rect = "round1Rect", e.round2DiagRect = "round2DiagRect", e.round2SameRect = "round2SameRect", e.roundRect = "roundRect", e.rtTriangle = "rtTriangle", e.smileyFace = "smileyFace", e.snip1Rect = "snip1Rect", e.snip2DiagRect = "snip2DiagRect", e.snip2SameRect = "snip2SameRect", e.snipRoundRect = "snipRoundRect", e.squareTabs = "squareTabs", e.star10 = "star10", e.star12 = "star12", e.star16 = "star16", e.star24 = "star24", e.star32 = "star32", e.star4 = "star4", e.star5 = "star5", e.star6 = "star6", e.star7 = "star7", e.star8 = "star8", e.stripedRightArrow = "stripedRightArrow", e.sun = "sun", e.swooshArrow = "swooshArrow", e.teardrop = "teardrop", e.trapezoid = "trapezoid", e.triangle = "triangle", e.upArrow = "upArrow", e.upArrowCallout = "upArrowCallout", e.upDownArrow = "upDownArrow", e.upDownArrowCallout = "upDownArrowCallout", e.uturnArrow = "uturnArrow", e.verticalScroll = "verticalScroll", e.wave = "wave", e.wedgeEllipseCallout = "wedgeEllipseCallout", e.wedgeRectCallout = "wedgeRectCallout", e.wedgeRoundRectCallout = "wedgeRoundRectCallout";
117
- })(oe ||= {});
118
- var A;
119
- (function(e) {
120
- e.text1 = "tx1", e.text2 = "tx2", e.background1 = "bg1", e.background2 = "bg2", e.accent1 = "accent1", e.accent2 = "accent2", e.accent3 = "accent3", e.accent4 = "accent4", e.accent5 = "accent5", e.accent6 = "accent6";
121
- })(A ||= {});
122
- var se;
123
- (function(e) {
124
- e.left = "left", e.center = "center", e.right = "right", e.justify = "justify";
125
- })(se ||= {});
126
- var ce;
127
- (function(e) {
128
- e.top = "top", e.middle = "middle", e.bottom = "bottom";
129
- })(ce ||= {});
130
- var j;
131
- (function(e) {
132
- e.ACTION_BUTTON_BACK_OR_PREVIOUS = "actionButtonBackPrevious", e.ACTION_BUTTON_BEGINNING = "actionButtonBeginning", e.ACTION_BUTTON_CUSTOM = "actionButtonBlank", e.ACTION_BUTTON_DOCUMENT = "actionButtonDocument", e.ACTION_BUTTON_END = "actionButtonEnd", e.ACTION_BUTTON_FORWARD_OR_NEXT = "actionButtonForwardNext", e.ACTION_BUTTON_HELP = "actionButtonHelp", e.ACTION_BUTTON_HOME = "actionButtonHome", e.ACTION_BUTTON_INFORMATION = "actionButtonInformation", e.ACTION_BUTTON_MOVIE = "actionButtonMovie", e.ACTION_BUTTON_RETURN = "actionButtonReturn", e.ACTION_BUTTON_SOUND = "actionButtonSound", e.ARC = "arc", e.BALLOON = "wedgeRoundRectCallout", e.BENT_ARROW = "bentArrow", e.BENT_UP_ARROW = "bentUpArrow", e.BEVEL = "bevel", e.BLOCK_ARC = "blockArc", e.CAN = "can", e.CHART_PLUS = "chartPlus", e.CHART_STAR = "chartStar", e.CHART_X = "chartX", e.CHEVRON = "chevron", e.CHORD = "chord", e.CIRCULAR_ARROW = "circularArrow", e.CLOUD = "cloud", e.CLOUD_CALLOUT = "cloudCallout", e.CORNER = "corner", e.CORNER_TABS = "cornerTabs", e.CROSS = "plus", e.CUBE = "cube", e.CURVED_DOWN_ARROW = "curvedDownArrow", e.CURVED_DOWN_RIBBON = "ellipseRibbon", e.CURVED_LEFT_ARROW = "curvedLeftArrow", e.CURVED_RIGHT_ARROW = "curvedRightArrow", e.CURVED_UP_ARROW = "curvedUpArrow", e.CURVED_UP_RIBBON = "ellipseRibbon2", e.CUSTOM_GEOMETRY = "custGeom", e.DECAGON = "decagon", e.DIAGONAL_STRIPE = "diagStripe", e.DIAMOND = "diamond", e.DODECAGON = "dodecagon", e.DONUT = "donut", e.DOUBLE_BRACE = "bracePair", e.DOUBLE_BRACKET = "bracketPair", e.DOUBLE_WAVE = "doubleWave", e.DOWN_ARROW = "downArrow", e.DOWN_ARROW_CALLOUT = "downArrowCallout", e.DOWN_RIBBON = "ribbon", e.EXPLOSION1 = "irregularSeal1", e.EXPLOSION2 = "irregularSeal2", e.FLOWCHART_ALTERNATE_PROCESS = "flowChartAlternateProcess", e.FLOWCHART_CARD = "flowChartPunchedCard", e.FLOWCHART_COLLATE = "flowChartCollate", e.FLOWCHART_CONNECTOR = "flowChartConnector", e.FLOWCHART_DATA = "flowChartInputOutput", e.FLOWCHART_DECISION = "flowChartDecision", e.FLOWCHART_DELAY = "flowChartDelay", e.FLOWCHART_DIRECT_ACCESS_STORAGE = "flowChartMagneticDrum", e.FLOWCHART_DISPLAY = "flowChartDisplay", e.FLOWCHART_DOCUMENT = "flowChartDocument", e.FLOWCHART_EXTRACT = "flowChartExtract", e.FLOWCHART_INTERNAL_STORAGE = "flowChartInternalStorage", e.FLOWCHART_MAGNETIC_DISK = "flowChartMagneticDisk", e.FLOWCHART_MANUAL_INPUT = "flowChartManualInput", e.FLOWCHART_MANUAL_OPERATION = "flowChartManualOperation", e.FLOWCHART_MERGE = "flowChartMerge", e.FLOWCHART_MULTIDOCUMENT = "flowChartMultidocument", e.FLOWCHART_OFFLINE_STORAGE = "flowChartOfflineStorage", e.FLOWCHART_OFFPAGE_CONNECTOR = "flowChartOffpageConnector", e.FLOWCHART_OR = "flowChartOr", e.FLOWCHART_PREDEFINED_PROCESS = "flowChartPredefinedProcess", e.FLOWCHART_PREPARATION = "flowChartPreparation", e.FLOWCHART_PROCESS = "flowChartProcess", e.FLOWCHART_PUNCHED_TAPE = "flowChartPunchedTape", e.FLOWCHART_SEQUENTIAL_ACCESS_STORAGE = "flowChartMagneticTape", e.FLOWCHART_SORT = "flowChartSort", e.FLOWCHART_STORED_DATA = "flowChartOnlineStorage", e.FLOWCHART_SUMMING_JUNCTION = "flowChartSummingJunction", e.FLOWCHART_TERMINATOR = "flowChartTerminator", e.FOLDED_CORNER = "folderCorner", e.FRAME = "frame", e.FUNNEL = "funnel", e.GEAR_6 = "gear6", e.GEAR_9 = "gear9", e.HALF_FRAME = "halfFrame", e.HEART = "heart", e.HEPTAGON = "heptagon", e.HEXAGON = "hexagon", e.HORIZONTAL_SCROLL = "horizontalScroll", e.ISOSCELES_TRIANGLE = "triangle", e.LEFT_ARROW = "leftArrow", e.LEFT_ARROW_CALLOUT = "leftArrowCallout", e.LEFT_BRACE = "leftBrace", e.LEFT_BRACKET = "leftBracket", e.LEFT_CIRCULAR_ARROW = "leftCircularArrow", e.LEFT_RIGHT_ARROW = "leftRightArrow", e.LEFT_RIGHT_ARROW_CALLOUT = "leftRightArrowCallout", e.LEFT_RIGHT_CIRCULAR_ARROW = "leftRightCircularArrow", e.LEFT_RIGHT_RIBBON = "leftRightRibbon", e.LEFT_RIGHT_UP_ARROW = "leftRightUpArrow", e.LEFT_UP_ARROW = "leftUpArrow", e.LIGHTNING_BOLT = "lightningBolt", e.LINE_CALLOUT_1 = "borderCallout1", e.LINE_CALLOUT_1_ACCENT_BAR = "accentCallout1", e.LINE_CALLOUT_1_BORDER_AND_ACCENT_BAR = "accentBorderCallout1", e.LINE_CALLOUT_1_NO_BORDER = "callout1", e.LINE_CALLOUT_2 = "borderCallout2", e.LINE_CALLOUT_2_ACCENT_BAR = "accentCallout2", e.LINE_CALLOUT_2_BORDER_AND_ACCENT_BAR = "accentBorderCallout2", e.LINE_CALLOUT_2_NO_BORDER = "callout2", e.LINE_CALLOUT_3 = "borderCallout3", e.LINE_CALLOUT_3_ACCENT_BAR = "accentCallout3", e.LINE_CALLOUT_3_BORDER_AND_ACCENT_BAR = "accentBorderCallout3", e.LINE_CALLOUT_3_NO_BORDER = "callout3", e.LINE_CALLOUT_4 = "borderCallout4", e.LINE_CALLOUT_4_ACCENT_BAR = "accentCallout3=4", e.LINE_CALLOUT_4_BORDER_AND_ACCENT_BAR = "accentBorderCallout4", e.LINE_CALLOUT_4_NO_BORDER = "callout4", e.LINE = "line", e.LINE_INVERSE = "lineInv", e.MATH_DIVIDE = "mathDivide", e.MATH_EQUAL = "mathEqual", e.MATH_MINUS = "mathMinus", e.MATH_MULTIPLY = "mathMultiply", e.MATH_NOT_EQUAL = "mathNotEqual", e.MATH_PLUS = "mathPlus", e.MOON = "moon", e.NON_ISOSCELES_TRAPEZOID = "nonIsoscelesTrapezoid", e.NOTCHED_RIGHT_ARROW = "notchedRightArrow", e.NO_SYMBOL = "noSmoking", e.OCTAGON = "octagon", e.OVAL = "ellipse", e.OVAL_CALLOUT = "wedgeEllipseCallout", e.PARALLELOGRAM = "parallelogram", e.PENTAGON = "homePlate", e.PIE = "pie", e.PIE_WEDGE = "pieWedge", e.PLAQUE = "plaque", e.PLAQUE_TABS = "plaqueTabs", e.QUAD_ARROW = "quadArrow", e.QUAD_ARROW_CALLOUT = "quadArrowCallout", e.RECTANGLE = "rect", e.RECTANGULAR_CALLOUT = "wedgeRectCallout", e.REGULAR_PENTAGON = "pentagon", e.RIGHT_ARROW = "rightArrow", e.RIGHT_ARROW_CALLOUT = "rightArrowCallout", e.RIGHT_BRACE = "rightBrace", e.RIGHT_BRACKET = "rightBracket", e.RIGHT_TRIANGLE = "rtTriangle", e.ROUNDED_RECTANGLE = "roundRect", e.ROUNDED_RECTANGULAR_CALLOUT = "wedgeRoundRectCallout", e.ROUND_1_RECTANGLE = "round1Rect", e.ROUND_2_DIAG_RECTANGLE = "round2DiagRect", e.ROUND_2_SAME_RECTANGLE = "round2SameRect", e.SMILEY_FACE = "smileyFace", e.SNIP_1_RECTANGLE = "snip1Rect", e.SNIP_2_DIAG_RECTANGLE = "snip2DiagRect", e.SNIP_2_SAME_RECTANGLE = "snip2SameRect", e.SNIP_ROUND_RECTANGLE = "snipRoundRect", e.SQUARE_TABS = "squareTabs", e.STAR_10_POINT = "star10", e.STAR_12_POINT = "star12", e.STAR_16_POINT = "star16", e.STAR_24_POINT = "star24", e.STAR_32_POINT = "star32", e.STAR_4_POINT = "star4", e.STAR_5_POINT = "star5", e.STAR_6_POINT = "star6", e.STAR_7_POINT = "star7", e.STAR_8_POINT = "star8", e.STRIPED_RIGHT_ARROW = "stripedRightArrow", e.SUN = "sun", e.SWOOSH_ARROW = "swooshArrow", e.TEAR = "teardrop", e.TRAPEZOID = "trapezoid", e.UP_ARROW = "upArrow", e.UP_ARROW_CALLOUT = "upArrowCallout", e.UP_DOWN_ARROW = "upDownArrow", e.UP_DOWN_ARROW_CALLOUT = "upDownArrowCallout", e.UP_RIBBON = "ribbon2", e.U_TURN_ARROW = "uturnArrow", e.VERTICAL_SCROLL = "verticalScroll", e.WAVE = "wave";
133
- })(j ||= {});
134
- var M;
135
- (function(e) {
136
- e.AREA = "area", e.BAR = "bar", e.BAR3D = "bar3D", e.BUBBLE = "bubble", e.BUBBLE3D = "bubble3D", e.DOUGHNUT = "doughnut", e.LINE = "line", e.PIE = "pie", e.RADAR = "radar", e.SCATTER = "scatter";
137
- })(M ||= {});
138
- var le;
139
- (function(e) {
140
- e.TEXT1 = "tx1", e.TEXT2 = "tx2", e.BACKGROUND1 = "bg1", e.BACKGROUND2 = "bg2", e.ACCENT1 = "accent1", e.ACCENT2 = "accent2", e.ACCENT3 = "accent3", e.ACCENT4 = "accent4", e.ACCENT5 = "accent5", e.ACCENT6 = "accent6";
141
- })(le ||= {});
142
- var N;
143
- (function(e) {
144
- e.chart = "chart", e.image = "image", e.line = "line", e.rect = "rect", e.text = "text", e.placeholder = "placeholder";
145
- })(N ||= {});
146
- var P;
147
- (function(e) {
148
- e.chart = "chart", e.hyperlink = "hyperlink", e.image = "image", e.media = "media", e.online = "online", e.placeholder = "placeholder", e.table = "table", e.tablecell = "tablecell", e.text = "text", e.notes = "notes";
149
- })(P ||= {});
150
- var F;
151
- (function(e) {
152
- e.title = "title", e.body = "body", e.image = "pic", e.chart = "chart", e.table = "tbl", e.media = "media";
153
- })(F ||= {});
154
- var I;
155
- (function(e) {
156
- e.DEFAULT = "•", e.CHECK = "✓", e.STAR = "★", e.TRIANGLE = "▶";
157
- })(I ||= {});
158
- var L = "data:image/png;base64,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", ue = "data:image/png;base64,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AAAAAACAlFAAAwAAAAAAAKSEAhgAAAAAAAAgJRTAAAAAAAAAACmhAAYAAAAAAABICQUwAAAAAAAAQEoogAEAAAAAAABSQgEMAAAAAAAAkBIKYAAAAAAAAICUUAADAAAAAAAApIQCGAAAAAAAACAlFMAAAAAAAAAAKaEABgAAAAAAAEgJBTAAAAAAAABASiiAAQAAAAAAAFJCAQwAAAAAAACQEgpgAAAAAAAAgJRQAAMAAAAAAACkhAIYAAAAAAAAICUUwAAAAAAAAAApoQAGAAAAAAAASAkFMAAAAAAAAEBKKIABAAAAAAAAUkIBDAAAAAAAAJASCmAAAAAAAACAlFAAAwAAAAAAAKSEAhgAAAAAAAAgJRTAAAAAAAAAACmhAAYAAAAAAABICQUwAAAAAAAAQEoogAEAAAAAAABSQgEMAAAAAAAAkBIKYAAAAAAAAICUUAADAAAAAAAApIQCGAAAAAAAACAlFMAAAAAAAAAAKaEABgAAAAAAAEgJBTAAAAAAAABASiiAAQAAAAAAAFJCAQwAAAAAAACQEgpgAAAAAAAAgJRQAAMAAAAAAACkhAIYAAAAAAAAICUUwAAAAAAAAAApoQAGAAAAAAAASAkFMAAAAAAAAEBKKIABAAAAAAAAUkIBDAAAAAAAAJASCmAAAAAAAACAlFAAAwAAAAAAAKSEAhgAAAAAAAAgJRTAAAAAAAAAACmhAAYAAAAAAABICQUwAAAAAAAAQEoogAEAAAAAAABSQgEMAAAAAAAAkBIKYAAAAAAAAICUUAADAAAAAAAApIQCGAAAAAAAACAlFMAAAAAAAAAAKaEABgAAAAAAAEgJBTAAAAAAAABASiiAAQAAAAAAAFJCAQwAAAAAAACQEgpgAAAAAAAAgJRQAAMAAAAAAACkhAIYAAAAAAAAICUUwAAAAAAAAAApoQAGAAAAAAAASAkFMAAAAAAAAEBKKIABAAAAAAAAUkIBDAAAAAAAAJASCmAAAAAAAACAlFAAAwAAAAAAAKSEAhgAAAAAAAAgJRTAAAAAAAAAACmhAAYAAAAAAABICQUwAAAAAAAAQEoogAEAAAAAAABSQgEMAAAAAAAAkBIKYAAAAAAAAICUUAADAAAAAAAApIQCGAAAAAAAACAlFMAAAAAAAAAAKaEABgAAAAAAAEgJBTAAAAAAAABASiiAAQAAAAAAAFJCAQwAAAAAAACQEgpgAAAAAAAAgJRQAAMAAAAAAACkhAIYAAAAAAAAICUUwAAAAAAAAAApoQAGAAAAAAAASAkFMAAAAAAAAEBKKIABAAAAAAAAUkIBDAAAAAAAAJASCmAAAAAAAACAlFAAAwAAAAAAAKSEAhgAAAAAAAAgJRTAAAAAAAAAACmhAAYAAAAAAABICQUwAAAAAAAAQEoogAEAAAAAAABSQgEMAAAAAAAAkBIKYAAAAAAAAICUUAADAAAAAAAApIQCGAAAAAAAACAlFMAAAAAAAAAAKaEABgAAAAAAAEgJBTAAAAAAAABASiiAAQAAAAAAAFJCAQwAAAAAAACQEgpgAAAAAAAAgJRQAAMAAAAAAACkhAIYAAAAAAAAICUUwAAAAAAAAAApoQAGAAAAAAAASAkFMAAAAAAAAEBKKIABAAAAAAAAUkIBDAAAAAAAAJASCmAAAAAAAACAlFAAAwAAAAAAAKSEAhgAAAAAAAAgJRTAAAAAAAAAACmhAAYAAAAAAABICQUwAAAAAAAAQEoogAEAAAAAAABSQgEMAAAAAAAAkBIKYAAAAAAAAICUUAADAAAAAAAApIQCGAAAAAAAACAlFMAAAAAAAAAAKaEABgAAAAAAAEgJBTAAAAAAAABASiiAAQAAAAAAAFJCAQwAAAAAAACQEgpgAAAAAAAAgJRQAAMAAAAAAACkhAIYAAAAAAAAICUUwAAAAAAAAAApoQAGAAAAAAAASAkFMAAAAAAAAEBKKIABAAAAAAAAUkIBDAAAAAAAAJASCmAAAAAAAACAlFAAAwAAAAAAAKSEAhgAAAAAAAAgJRTAAAAAAAAAACmhAAYAAAAAAABICQUwAAAAAAAAQEoogAEAAAAAAABSQgEMAAAAAAAAkBIKYAAAAAAAAICUUAADAAAAAAAApIQCGAAAAAAAACAlFMAAAAAAAAAAKaEABgAAAAAAAEgJBTAAAAAAAABASiiAAQAAAAAAAFJCAQwAAAAAAACQEgpgAAAAAAAAgJRQAAMAAAAAAACkhAIYAAAAAAAAICUUwAAAAAAAAAApoQAGAAAAAAAASAkFMAAAAAAAAEBKKIABAAAAAAAAUkIBDAAAAAAAAJASCmAAAAAAAACAlFAAAwAAAAAAAKSEAhgAAAAAAAAgJRTAAAAAAAAAACmhAAYAAAAAAABICQUwAAAAAAAAQEoogAEAAAAAAABSQgEMAAAAAAAAkBIKYAAAAAAAAICUUAADAAAAAAAApIQCGAAAAAAAACAlFMAAAAAAAAAAKaEABgAAAAAAAEgJBTAAAAAAAABASiiAAQAAAAAAAFJCAQwAAAAAAACQEgpgAAAAAAAAgJRQAAMAAAAAAACkhAIYAAAAAAAAICUUwAAAAAAAAAApoQAGAAAAAAAASAkFMAAAAAAAAEBKKIABAAAAAAAAUkIBDAAAAAAAAJASCmAAAAAAAACAlFAAAwAAAAAAAKSEAhgAAAAAAAAgJRTAAAAAAAAAACmhAAYAAAAAAABICQUwAAAAAAAAQEoogAEAAAAAAABSQgEMAAAAAAAAkBIKYAAAAAAAAICUUAADAAAAAAAApIQCGAAAAAAAACAlFMAAAAAAAAAAKaEABgAAAAAAAEgJBTAAAAAAAABASiiAAQAAAAAAAFJCAQwAAAAAAACQEgpgAAAAAAAAgJRQAAMAAAAAAACkhAIYAAAAAAAAICUUwAAAAAAAAAApoQAGAAAAAAAASAkFMAAAAAAAAEBKKIABAAAAAAAAUkIBDAAAAAAAAJASCmAAAAAAAACAlFAAAwAAAAAAAKREkRUAAACwrUpLSwuGDRvWfMCAAS26du3avKysrLiioqKkZcuWzZs1a1bcvHnz0tLS0rJsNtusuLi4ebNmzUoLCgo+8/eijY2N9Zs3b66pra2tqqur21xTU1NdVVVVs2nTptqNGzdWbdiwoeYvf/nL5hUrVlQtWLBgw6xZs6pqamoaJQYAAEDaKYABAACIiIghQ4aUHnTQQW379u3bql27dq3at2/fpkWLFq2bN29eWVpa2qpZs2bNCwsLm2ez2fLCwsLyoqKi8sLCwtKknK+hoaG6vr6+qqGh4S91dXV/aWhoqNq8eXNVTU3NuqqqqvUbNmxYu2rVqjWrV69e99Zbb6177rnnPpgzZ06NTwYAAABJogAGAADIA8OGDWt+xBFHdBwwYECnLl26dGjdunXHFi1adCgtLe1YUlLSvlmzZq0KCgqK07yDwsLCssLCwrKIaPdp/zuNjY21mzdvXrdp06ZVNTU172/YsGHl2rVr31+2bNnKBQsWrHjyySffnzVrVpVPGAAAAE1Fpuexsd9HfaF+ZcSal0ptCAAAIAE6deqUPf744zvtueeeXbp3796lbdu2XSorKzuXlpZ2KS0t7VBYWFhhSztGQ0PDxpqampU1NTXL169fv+yDDz5Y9s477yybPXv2sj/96U8rVqxYUWdLAAAAbE9t9q6Jog4f/TUFMAAAQEJks9nMt7/97Y4jRozo1bdv397t2rXrXl5e3rWsrKxzcXFx+4gosKUmp7G2tnZVTU3Nso0bNy5btWrV0tdff/2tJ598cvG999672noAAADYFgpgAACAhPne977X6a9Fb/v27Xu1bNmyV1lZWa8kvXOXLauvr9/wl7/8ZdG6desWL1u2bNHChQsX/fGPf1w8derUjbYDAADAliiAAQAAmqhsNps59dRTuxx66KH9+/Tp87n27dv3Ly8v719UVOSRzXlq06ZNKzZu3Pj6+++//8abb775xqOPPvrG3XffvcpmAAAA+CsFMAAAQBNx6qmndvniF784qHfv3v3btWv3uYqKis8VFhaW2wxbUl9fv37Dhg1vfPDBB68vXrz4jccee2z+jTfeuNxmAAAA8pMCGAAAYBc45phjWn/rW9/aq3///kPatGnTv6Kiop9HOLO9NDQ0VG/cuPGtNWvWLFy4cOGcO+6445WHHnporc0AAACknwIYAABgJzjjjDO6f+lLX9qrV69eg1u3bj2orKysR0RkbIadJFddXb103bp18xcvXjz30UcffeXqq69+x1oAAADSRwEMAACwnZWWlhb86le/2u3QQw8d1r17931btmw5qLCwsMxmaEoaGhqqP/zww/nvvPPOzGeeeWbW2LFj36ipqWm0GQAAgGRTAAMAAGwHP/7xj7t+9atf3bdXr15D27Ztu1c2m21jKyRJXV3dmg8++OCVRYsWvfznP/95xh/+8IdltgIAAJA8CmAAAIBtcOKJJ7Y75ZRTDujXr9+w1q1bD81ms61shTSpq6tbt3bt2pfffPPNWbfccsvUe++9d7WtAAAANH0KYAAAgE+hoqKi4IILLhg0YsSI/bp27bpfy5YtB2YymUKbIR/kcrmGDz/8cP6777474/nnn59x4YUXvrZx40aPiwYAAGiCFMAAAAAf4/jjj2/7/e9//8D+/fsf2Lp1630KCgpKbAUiGhsbN61fv37eW2+9NeWGG2545u67715lKwAAAE2DAhgAAOB/ZLPZzAUXXPC5I4888sDu3bsfWFFRsVtEFNgMbFl1dfWSd999d8qsWbNmnnvuuS+vW7euwVYAAAB2DQUwAACQ10pLSwsuvfTSQYcccsjBXbt2HVFWVtbDVmDb1dbWrnr//fdfmDp16uRf/vKXL65evbreVgAAAHYeBTAAAJB3Bg0aVHrBBRd8fs899zywQ4cOBxQVFbWwFdj+Ghsba9euXTtrzpw5T59//vmTX3755WpbAQAA2LEUwAAAQF4YNmxY8/POO+/gIUOGHOZ9vrDz/W0ZfNFFFz07a9asKlsBAADY/hTAAABAarVq1arwyiuv3HfEiBEjO3TocFBhYWGZrcCu19DQUP3+++8/O2XKlIk/+clPZm7cuLHRVgAAALYPBTAAAJAqrVq1Kvztb3+7/3777Xd4x44dRxQWFpbbCjRdDQ0NG99///0pM2bMeOqHP/zhC8pgAACAz0YBDAAApMJZZ53V45vf/OaRvXr1GllaWtrVRiB5ampq3l28ePHEO++8c9LVV1/9jo0AAABsPQUwAACQWMOHDy+/6KKLvjB48OCjW7RoMdBGID0+/PDDV+fNmzfhvPPOe3L69Ol/sREAAIBPRwEMAAAkSqtWrQpvuOGGQ/bbb79/atOmzX6ZTCZrK5BeuVyubs2aNTNmzJjx2JgxYyavW7euwVYAAAA+ngIYAABIhB//+Mddv/e9732lZ8+e/1RcXNzWRiD/1NbWfvD2228/dssttzz029/+9l0bAQAA+L8UwAAAQJNVUVFRcO21137+4IMPPrZ169b7ZTKZAlsBIqJxzZo1M59//vnxp5122hR3BQMAAPx/CmAAAKDJOeWUUzqefvrpx/bu3ftL2Wy2jY0AH6e+vn7j0qVLH/vd7373x+uvv36ZjQAAAPlOAQwAADQJ2Ww2c+uttx5wyCGHnNC6deu9I8LdvsDWaFy7du1L06ZN+/OPfvSjZ1evXl1vJQAAQD5SAAMAALtU//79S6655pp/2nPPPY8tLy/vayPAZ1VTU7NswYIF488999wHp06dutFGAACAfKIABgAAdomf//znPU855ZQTu3btemRhYWGZjQDbW2NjY92KFSuevOWWW+689NJLF9kIAACQDxTAAADATuMxz8Cusn79+rlPP/30f5188slT6+rqcjYCAACklQIYAADY4fr27Vv8hz/84a+Pee5nI8CuUlNT8+68efPu/8EPfvDgwoULN9kIAACQNgpgAABghxkyZEjpNddc89XBgwefWFxc3MFGgKaitrZ21dy5c+/5yU9+8uc5c+bU2AgAAJAWWyqAPYoNAADYJqNHj+4wb968n06ZMuXRYcOGnaH8BZqa4uLi9sOGDTtjypQpj86bN++nJ510UntbAQAA0s4dwAAAwFY599xze33/+9//dufOnY/IZDJZGwGSIpfL1S1fvvzJG2644fbLLrvsbRsBAACSyiOgAQCAz+y8887r+53vfOfbHTt2PDyTyRTaCJBUuVyuYcWKFU/cdNNN//XrX/96sY0AAABJowAGAAC22WWXXTboG9/4xg9at249zDaAtFm7du2su++++9pzzjnnNdsAAACSQgEMAABsNcUvkE8UwQAAQJIogAEAgE9N8Qvks7Vr18665557rvv5z38+3zYAAICmaksFcGHlwOj6UV9orIqoWZG1PQAAyBO/+MUvet9xxx3nHHrooT8pLS3tYiNAPiotLe2y7777HvP973+/X1lZ2ZIpU6assxUAAKCpKetcHwXlH/01BTAAAOS5M844o/u99957zpe//OWflZeX94qIjK0AeS5TXl7e8+CDDx71/e9/v3dEvDVjxowPrQUAAGgqFMAAAMD/ceKJJ7a77777fjJq1Kh/KS8v7xOKX4B/lCkvL+99+OGHj/rWt77VfvXq1Qvnz59fbS0AAMCutqUC2DuAAQAgzwwdOrTs+uuvP6l///4nFRYWltkI20NjY2Ns2rQpqquro6amJurr62PTpk2xefPmqK+vj+rq6qivr4/NmzfHpk2boqGhYZv/fxUWFkZJSUk0a9YsioqKoqysLIqKiqJZs2ZRUlISRUVFUVpa+r9/FRQUCIjtoqGhoeq11167a8yYMffMmTOnxkYAAIBdZUvvAFYAAwBAnujUqVP2nnvuGbXXXnudnM1mK22Ej9PQ0BAbN26MDRs2/J+/Nm7cGBs3boyamprYtGlTbNq0KWpqaqK2trbJnqe4uDhKSkqitLT0f/9eUVERFRUV0aJFi//zV0VFRRQWFvog8LHq6urWvvjii7eceOKJf169enW9jQAAADubAhgAAPLcXXfdddAXv/jF00tLS7vZRn7L5XKxYcOGWLt2baxbty7Wrl37d3+tW7cuNmzYkPd7atGiRbRu3TpatWoVrVu3jjZt2vzvf27dunW0aNHCh4morq5e+sgjj1zzne98Z6ptAAAAO5MCGAAA8tTVV189+MQTTzyzoqJioG3kj8bGxli5cmUsX748Pvjgg1i9evX//n3t2rXR2NhoSZ9RYWFhtGrVKtq1axdt27b937937tw5OnTo4LHTeWbDhg3z77333qvOPPPMebYBAADsDApgAADIM1/72tfaXHrppad27979qIjQRKVUQ0NDrFq1KlasWBHvv//+//595cqVTfqRzGlXXFwcHTp0iI4dO0bnzp2jY8eO0alTp2jXrp1HS6dYLpdrfOeddx76+c9/fv2ECRPW2QgAALAjKYABACBP9OrVq9ldd931jT322OM7hYWFZTaSHh9++GG88847sXTp0njvvfdixYoVsXr16mhoaLCchCgsLIz27dtHp06dolu3btG9e/fo3r27x0mnTENDQ9W8efNu++Y3v/nHJUuWbLYRAABgR1AAAwBAHrjrrrtG/NM//dOZJSUlXWwj2davXx9Lly6Nd955539L3w8//NBiUqqysvJ/y+C//tWqVSuLSbiamppljz322G9Gjx49xTYAAIDtTQEMAAAp9qtf/arPD3/4w5+1atVqL9tIno0bN8aSJUvirbfeikWLFsV7770XmzZtspg8V1JSEl27do0+ffpE3759o3fv3lFeXm4xCbRu3bqXr7322ivGjh27yDYAAIDtRQEMAAApNGjQoNI77rjju7vttttJBQUFWRtJhtWrV8ebb74ZixcvjiVLlsTy5cujsbHRYtiigoKC6Ny5c/Tu3Tt69+4d/fr1i7Zt21pMQjQ2Nta98cYbd33rW9+6ff78+TU2AgAAfFYKYAAASJHS0tKCBx988Jj99tvvn7PZbBsbaboaGhri7bffjrfeeisWLFgQS5YscXcv201FRUX06tUr+vbtG3379o2ePXtGYWGhxTRhdXV1a2bMmHHjV77ylYdqamr85gcAALDNFMAAAJASp59+erdf/vKX51ZWVu5jG03T6tWr47XXXouFCxfGm2++GRs3brQUdooWLVpE3759Y8CAATFw4EB3CDdh69evf/E//uM//vPqq69+xzYAAIBtoQAGAICEGzRoUOm99977w969ex+byWTc4teErF+/PubNmxcLFiyIN954Q+FLk9GiRYvo169fDBgwIPbYY4+orKy0lCYkl8s1LF68eNyJJ554rcdCAwAAW0sBDAAACXbNNdcMOemkk35RVlbWyzZ2vVwuF++++27MnTs3XnvttViyZIl3+NLkFRQURK9evWLQoEExePDg6Natm6U0EdXV1UvuvvvuX//kJz+ZYxsAAMCnpQAGAIAEOuqoo1r99re//VmHDh0Ot41da9OmTTF79uyYO3duLFy4MKqqqiyFRGvevHn0798/Bg8eHHvuuWeUlJRYyi62cuXKp04//fTLJ0yYsM42AACAT6IABgCAhBk3btwRRxxxxFnZbLaNbewaVVVVMXfu3Jg7d27Mnz8/amtrLYVUKi4ujoEDB8bgwYNj8ODBUV5ebim7SF1d3ZqnnnrqqlGjRj1hGwAAwJYogAEAICFOOeWUjhdddNEvW7duvZ9t7HwrV66MWbNmxdy5c+Odd96JXC5nKeSdzp07x9577x3Dhg2LDh06WMgusHbt2hnnnXfepbfccsv7tgEAAHwUBTAAADRxpaWlBU899dQ3Bw8e/L2CggLPYt2JVqxYES+99FK89NJLsXz5cguBv/HXMnjvvfeOTp06WchO1NjYuGnu3Lk3H3744XfV1NR40TgAAPB3FMAAANCEjR49usOll176yzZt2gy3jZ1j/fr18eKLL8bMmTNj6dKlFgKfQs+ePWPfffeNYcOGRYsWLSxkJ1mzZs0L55577q/vvvvuVbYBAAD8lQIYAACaoIqKioKJEyd+c/Dgwd8vKCgotpEda8OGDfHiiy/G9OnTlb7wGfXo0SOGDx8ew4YNi4qKCgvZwdwNDAAA/CMFMAAANDGnnHJKx7Fjx/5rZWXlMNvYcerr6+PVV1+NGTNmxLx586Kurs5SYDvKZrMxZMiQ2HfffWP33XePwsJCS9mB1q5dO+MXv/jFv995550rbQMAAPKbAhgAAJqIbDabeeKJJ47fZ599fuSu3x0jl8vFwoULY/r06TF79uzYtGmTpcBOUFpaGkOGDInhw4fHgAEDLGQHaWhoqJ42bdo1Rx555J9tAwAA8pcCGAAAmoDjjz++7ZVXXvmr1q1be9fvDrBmzZqYNm1azJw5M1audHMc7EodO3aMz3/+87H//vt7X/CO+3fetDPPPPOScePGfWAbAACQfxTAAACwi9100037HXvssf9WXFzc1ja2n1wuF6+99lo8//zzMW/evKivr7cUaEKKiopizz33jBEjRsTnPve5yGQylrId1dbWrvrjH/948Q9+8INZtgEAAPlFAQwAALvIkCFDSu+///5zunTp8k+2sf2sXbs2Jk+eHNOnT48PP/zQQiABKisrY8SIEXHIIYdEeXm5hWxHy5Yte+zrX//6f86ZM6fGNgAAID9sqQAurBwYXT/qC41VETUrsrYHAADb6IILLtjt97///VVt2rQZZhvbx+LFi2P8+PFx9913xxtvvBG1tbWWAgmxadOmeOONN+LZZ5+NtWvXRps2bTweejtp0aJFv5NOOumg0tLSuc8+++xaGwEAgPQr61wfBR/zu7XuAAYAgO0sm81mJk2a9PVhw4b9pKCgwG9VfkZ1dXUxY8aMeOaZZ+K9996zEEiRfv36xSGHHBJDhw6NgoICC/mMGhsbN8+YMeOaL37xi+Pq6upyNgIAAOnlEdAAALCTHH/88W2vuuqqCyorK/exjc9mzZo18dRTT8XUqVNj06ZNFgIpVlFREZ///OfjsMMOi8rKSgv5jNavXz/r9NNPv3DcuHEf2AYAAKSTAhgAAHaC22677fNf+9rXzstms5W2se0WLVoUjz/+eMybNy9yOTewQT4pKiqKIUOGxBFHHBG9e/e2kM+grq5u3QMPPHDRySefPM02AAAgfRTAAACwA1VUVBQ8/fTTpwwcOPCUTCbjGabbIJfLxauvvhpPPvlkLFy40EIgz2UymRgwYEAcccQRMWjQIAvZ9n+3Ns6fP/+Www8//JaNGzc22ggAAKTHlgrgwsqB0fWjvtBYFVGzwuvKAABgS0488cR2EyZMuLx79+5fzmQyGRvZOo2NjTFr1qy49dZb48knn4wPPvC0UuC/rV69OmbMmBFz5syJ0tLS6NSpU/jX7NbJZDKZ9u3bD/3+978/dPny5TNfffXValsBAIB0KOtcHwXlH/O9gDuAAQBg29x66637H3vssRcWFRW1sI2tU1NTE0899VQ8++yzsWHDBgsBPlGLFi3i4IMPjsMPPzxKS/28YmvV19d/OG7cuPNPPvnk6bYBAADJ5xHQAACwHWWz2cyzzz77rSFDhvzAI5+3zqZNm2Ly5Mnx1FNPKX6BbdKiRYs47LDD4pBDDlEEb6VcLtfwyiuvXHfooYfeWVdX5yXrAACQYApgAADYTo455pjW11133cWVlZV728ant2HDhnj88cdjypQpUVtbayHAZ1ZcXBwHHnhgfPGLX4wWLTyIYWusWbNm2re//e3zn3nmGb+JAwAACeUdwAAAsB1cfvnlu1900UW/LS8v72cbn05VVVVMmDAhbrnllnjzzTejoaHBUoDtoqGhIZYsWRLPPfdc1NTURI8ePSKb9XOMT6OsrKzb17/+9SPbtm0774knnlhtIwAAkMDreu8ABgCAz+bhhx/+8qGHHnpOQUFBsW18sk2bNsUzzzwTTzzxRFRVVVkIsMOVl5fHkUceGYccckgUF/tX9afR2Ni46emnn/71Mccc87htAABAsngENAAAbKN27doVTZ48+YxevXodZxufrK6uLp5++umYOHGi4hfYJSoqKuKLX/xiHHzwwe4I/pQWLVr0x4MOOuiadevWeUwDAAAkhEdAAwDANjj22GPbPvzww7/p2LHjobaxZXV1dfHkk0/GddddF3Pnzo26ujpLAXaJzZs3x2uvvRbPPfdcRET06NEjCgsLLWYLWrduvfv3vve9fd9+++1pCxYsqLYRAABo+rb0CGgFMAAAfITLL7989wsuuOB3zZs372UbH6+xsTGmTJkS119/fbzyyiuKX6DJ2Lx5cyxYsCCmT58excXF0a1bt8hkMhbzMUpKSjp8+ctfPrJt27ZzvBcYAACaPu8ABgCArTB+/Pgjv/CFL/xLQUFBiW18vAULFsT48eNj6dKllgE0eT169IivfOUrMWjQIMvYgsbGxpqJEydecuyxxz5pGwAA0HR5BzAAAHwK7dq1K3ruued+1qNHj6/axsdbtGhR3H///bF48WLLABKnV69ecdxxx0WfPn0sYwuWLl3654MOOujy1atX19sGAAA0Pd4BDAAAn2DYsGHNn3766V936tTpC7bx0TZs2BD33Xdf/PGPf4y1a9daCJBI69evj2nTpsW6deuiZ8+eUVLiYQ8fpbKysv+3v/3t/lOmTJmyfPlyz/cHAIAmxjuAAQBgC372s5/1uP76669t0aKF54J+hJqamhg/fnzcfPPN8fbbb0cul7MUINFyuVy888478cwzz0RVVVX07t07slk/A/lHZWVl3U488cTD6+rqZkyfPv1DGwEAgCZ0va4ABgCAj3bFFVfscdZZZ11dXFzcwTb+Xi6XixkzZsR1110XCxYsiMbGRksBUqWxsTGWLFkSM2bMiPLy8ujSpUtkMhmL+RvZbLbFQQcddHibNm1mP/HEE6ttBAAAmoYtFcDeAQwAQN6aNGnSqAMOOODsTCZTaBt/b9GiRXHPPffEu+++axlA3ujWrVucdNJJ0bt3b8v4B7lcrm7y5Mm//vKXv/yIbQAAwK63pXcAK4ABAMg7paWlBTNnzjyzT58+x9vG39uwYUOMGzcuZsyY4VHPQF7KZDKx3377xde//vWoqKiwkH+waNGiP+27775X1dTUeCwEAADsQgpgAAD4H926dctOnjz5V506dRppG/9fLpeLqVOnxp///OfYuHGjhQB5r6KiIkaNGhX777+/x0L/g+XLlz9+6KGHXvLuu+/W2QYAAOwaWyqAvQMYAIC8MXz48PInnnjiynbt2o2wjf/vnXfeiWuvvTaee+652Lx5s4UARMTmzZtjzpw58dprr0XPnj2jRYsWlvI/Kioq+n7rW98aMnXq1Ofee+89f3AAAMAusKV3ACuAAQDIC9/+9rc73n777X9o0aLFANv4b1VVVXHXXXfFvffeG+vXr7cQgI+wbt26eP7552P9+vWx2267RVFRkaVERElJSefjjjvuoA8++GDKK6+88hcbAQCAnUsBDABAXjv//PP7XXzxxX8oKSnpbBv/bfr06XHttdfGokWLLAPgU3jnnXdi2rRp0bp16+jc2R8nERHZbLbyC1/4whElJSUvTp48eY2NAADAzqMABgAgb/3ud7/b60c/+tFVRUVFrWwjYs2aNXHzzTfHpEmTora21kIAtkJtbW289NJL8c4770Tfvn2jtLQ073dSWFhYNnz48C/26dNn4UMPPbTMpwQAAHYOBTAAAHnp1ltv3f+b3/zmfxYWFjbP913kcrl4/vnn4/rrr4/ly5f7cAB8BitXroxp06ZFRUVFdOvWLTKZTF7vo6CgIDto0KBDBw0atOiBBx54xycEAAB2vC0VwJmex8Z+H/WF+pURa17ym6wAACTTww8//KXDDjvsXzKZTN6/rPGDDz6I22+/Pd544w0fDIDtbMCAAfGtb30r2rRpk/e7yOVyjVOmTPn1yJEjH/LJAACAHavN3jVR1OGjv6YABgAgdV555ZXTPve5z30r3/fQ0NAQjz32WDz++ONRV1fngwGwg2Sz2Tj66KPjC1/4QhQUFOT9Pl5//fU79tprr9/7ZAAAwI6jAAYAIC9ks9nMyy+/fFafPn2Oz/ddvPvuu3HbbbfFe++954MBsJN069YtvvOd70S3bt3yfhdLliy5f5999rmypqam0ScDAAC2PwUwAACpV1paWjBr1qyzevfufVw+7yGXy8WTTz4ZDz74oLt+AXaBbDYbxxxzTBxxxBF5fzfw0qVLHxg6dOjlSmAAANj+FMAAAKRar169mk2ePHlsu3btDsrnPaxcuTJuueWWePvtt30oAHaxnj17ximnnBIdOnTI6z2sXr16yiGHHPIvS5Ys2exTAQAA28+WCuDCyoHR9aO+0FgVUbMia3sAADRpQ4cOLXvqqacub9Omzf75uoNcLhfPPPNMXH/99bF27VofCoAmYP369TFlypQoKSmJnj17RiaTycs9NG/evPtJJ500ZPLkyc+sWLHCoykAAGA7KetcHwXlH/01BTAAAIk1ZMiQ0kceeeSKVq1a7Z2vO6iuro7bb789nnjiiWhs9IRNgKaksbEx5s+fH++//34MGDAgstn8/DlLaWlpp6997WuDn3rqqadXrlxZ75MBAACfnQIYAIDUOfTQQ1s8+OCDv2/ZsuUe+bqDOXPmxNVXX+2RzwBN3PLly+OFF16Ijh075u0joUtLSzudcMIJ+7/00ktPv/3227U+FQAA8NkogAEASJVhw4Y1v++++37TsmXLQfl4/vr6+hg/fnz88Y9/jNpaP0MHSILNmzfHiy++GJs3b47ddtstCgoK8m4HxcXFbY866qg9n3vuuaeXL1/ucdAAAPAZKIABAEiNI488snLcuHG/b9GixcB8PP97770XV111VcyZM8eHASCBFi1aFC+//HL069cvWrRokXfnLykp6XDcccftP2fOnGcWLVq0yScCAAC2jQIYAIBUOPLIIyvvvPPO35aXl++Wj+d/+umn48Ybb4wPP/zQhwEgwf7yl7/ECy+8ECUlJdGrV6+8O3+zZs3aHHXUUfspgQEAYNspgAEASLxjjz227W233faH5s2b98m3s1dVVcXNN98cTz31VDQ2NvowAKRAY2NjzJ8/P5YtWxYDBgyIZs2a5dX5mzVr1uaYY4458M0333xm4cKFNT4RAACwdRTAAAAk2qGHHtritttuuzofy9+33347rrnmmli8eLEPAkAKvf/++/HKK69Enz59orKyMq/Ons1mK4888sh9Zs6c+dTSpUs3+zQAAMCnpwAGACCxjjjiiJb33nvvteXl5f3y6dy5XC4mTZoUN998c1RVVfkgAKRYVVVVTJ06NbLZbPTp0ycymUzenL24uLjtV7/61c+/8sorTy1evLjWpwEAAD4dBTAAAIl06KGHtrj33nt/l2/lb3V1ddx0000xefLkyOVyPggAeSCXy8WCBQvi3Xffjd133z2y2fz5mUyzZs1aH3300fvNmDHjSXcCAwDAp6MABgAgcYYOHVo2fvz4qysqKgbk07mXLVsWV111lUc+A+SplStXxiuvvBKf+9znoqKiIm/O3axZszZHH3300GeeeebJFStW1PkkAADAlimAAQBIlCFDhpQ++uij17Rs2XL3fDr31KlT49prr42NGzf6EADksaqqqpg+fXq0bds2unTpkjfnLikpaT9q1KihTz755JMrV66s90kAAICPt6UCuMB6AABoSjp16pSdMGHCv1dWVu6RL2dubGyMcePGxR133BF1dW56AiCitrY2br755hg/fnw0NjbmzbkrKyv3mDBhwr9369bNXQkAALCNFMAAADQZrVq1Kpw+ffolbdq02T9fzlxdXR2/+93vYtKkSd73C8DfyeVy8fjjj8fvf//7qK6uzptzt2nTZv8pU6Zc0qpVq0KfAgAA2HoKYAAAmoSKioqC2bNnX9KuXbuD8uXMS5cujYsuuijmz5/vAwDAx3r11VfjoosuiqVLl+bNmdu1a3fQ7Nmz/72iosLPrgAAYCu5iAYAoEmYOXPmz9q1a3dIvpz35ZdfjiuuuCLWrVsnfAA+0bp16+KKK66Il19+OW/O3K5du4Nnzpz5M+kDAMDWUQADALDLvfjii2N69OgxKh/Omsvl4oEHHogbbrghamtrhQ/Ap1ZbWxs33HBDPPDAA3nz2oAePXqMevHFF8dIHwAAPj0FMAAAu9SkSZO+NnDgwFPy4ax1dXVx8803x8SJE73vF4BtksvlYuLEiXHLLbdEXV1dXpx54MCBJ0+aNOlr0gcAgE9HAQwAwC7z6KOPHnXggQeekw9nXbduXfz617+OWbNmCR6Az2zmzJnx61//Ol9eJZA58MADz3n00UePkjwAAHyywsqB0fWjvtBYFVGzImtDAADsEDfeeOO+Rx999EWZTKYw7Wddvnx5XHXVVbFy5UrBA7DdbNiwIWbPnh0DBw6MioqKtB8307179/179uz56sMPP7xc+gAA5LuyzvVRUP7RX1MAAwCw011xxRV7fPe7372qoKCgWdrPOmfOnPjtb38bGzduFDwA2111dXVMmzYtOnfuHB07dkz1WTOZTOHuu+9+eJs2bV6aNGnSKukDAJDPFMAAADQZZ5xxRvef/exnvy0sLCxP+1knTJgQd999d9TX1wsegB2moaEhXnrppchms9G3b99UnzWTyRTttddeB/3lL395dubMmRukDwBAvlIAAwDQJBx00EEVf/jDH64pLi7ulOZz5nK5eOCBB+Kxxx4TOgA77c+eBQsWRF1dXfTv3z8ymUxqz1pQUFBywAEHDJs+ffqkpUuXbpY+AAD5aEsFcIH1AACwMwwaNKj0vvvuu7qsrKxXms9ZV1cX1113XUyaNEnoAOx0EydOjOuvvz7q6upSfc6ysrJef/rTn67u379/idQBAODvKYABANjhKioqCh577LGLKyoqBqb5nNXV1XHNNdfE7NmzhQ7ALvPKK6/ElVdeGVVVVak+Z4sWLQZOnDhxbEVFhZ9vAQDA33CBDADADjdz5syftW3b9sA0n3HdunVx2WWXxRtvvCFwAHa5xYsXx2WXXRZr165N9TnbtWt34MyZM38mcQAA+P8UwAAA7FBPPvnkqB49eoxK8xlXrVoVV1xxRSxfvlzgADQZK1asiCuuuCJWrlyZ6nP26NFj1KRJk0ZJHAAA/lth5cDo+lFfaKyKqFmRtSEAALbZjTfeuO+XvvSlCzOZTGp/8fDdd9+NK6+8MtatWydwAJqc6urqmDVrVvTv3z8qKytTe85u3boN79mz57yHH37Yb2MBAJAXyjrXR0H5R39NAQwAwA5x3nnn9T311FOvLigoKE7rGV977bW45pprorq6WuAANFmbN2+OGTNmRI8ePaJ9+/apPGMmkykYNGjQIYWFhVOee+45v5UFAEDqKYABANipjjrqqFb/8R//8YdmzZq1SusZX3755bj++uujrq5O4AA0eQ0NDfHSSy9Fp06dolOnTqk8Y0FBQXbYsGGfnz9//qQ33nhjk9QBAEizLRXA3gEMAMB21a1bt+wNN9zwnyUlJR3TesYpU6bEjTfeGPX19QIHIDHq6+vjxhtvjKlTp6b2jCUlJZ1uuOGG/+jWrZu7GgAAyFsKYAAAtqunn376XyorK/dI6/kmTZoUd955ZzQ2NgobgMRpbGyMO+64I5588snUnrGysnLw008//UtpAwCQrxTAAABsN88///w3unTp8k9pPd/EiRNj3LhxkcvlhA1AYuVyubj//vtTXQJ36dLlS88+++yJ0gYAIB95BzAAANvFTTfdNPzII488L5PJZNJ4vsceeyzGjx8vaABS47XXXotmzZpF3759U3m+zp0779urV695Dz/88DJpAwCQNlt6B7ACGACAz+wXv/hF7x/+8IdXFxQUNEvj+R544IF45JFHBA1A6ixYsCDq6upiwIABqTtbJpPJDBo06ODGxsbnpk6dul7aAACkiQIYAIAd5oADDqj43e9+99tmzZq1TeP5xo0bF5MmTRI0AKm1aNGi2Lx5cwwcODB1ZysoKMjut99+w5577rnH33vvvc3SBgAgLbZUAHsHMAAA2yybzWbuvPPOfyktLe2exvNNmDBB+QtAXpg0aVI89NBDqTxbaWlpj3vuuedfstlsRtIAAOQDBTAAANvs+eef/06HDh0OTePZHn744Xj44YeFDEDeeOSRR+LPf/5zKs/WoUOHw5599tlvSxkAgHygAAYAYJvcd999hw8ePPjUNJ7t/vvvjwkTJggZgLzz2GOPxX333ZfKs+25554/+NOf/nSYlAEASDvvAAYAYKudccYZ3ceMGXN5QUFBcdrONnHixHjkkUeEDEDeWrx4cWSz2ejbt2/ajpbp06fPvn/5y18mz5w5c4OkAQBIsi29A1gBDADAVhk2bFjzG2+88Q/NmjVrl7azPfroo6l99CUAbI2FCxdGUVFR9OvXL1XnKigoKD7wwAP3e/LJJx9dsWJFnaQBAEiqLRXAHgENAMBWuffee39ZWlraPW3nevzxx+PBBx8UMAD8jz//+c8xceLE1J2rtLS0x3333fdLCQMAkFYKYAAAPrVJkyaN6tSp0xEpPFeMHz9ewADwD8aPHx+TJ09O3bk6der0hUmTJn1VwgAApJFHQAMA8Kmcd955fU888cR/z2QyRWk618yZM+Puu+8WMAB8jNdeey06duwYnTt3TtW5unbtuk9BQcHzzz333DopAwCQNN4BDADAZ3LEEUe0vOKKK67NZrOVaTrXyy+/HDfffHPkcjkhA8DHyOVyMXv27OjSpUt06tQpNefKZDJF++yzz/CpU6c+9u67726WNAAASeIdwAAAbLNsNpu55ZZb/q2kpKRjms61YMGCuPnmm6OxsVHIAPAJGhsb4+abb44333wzVecqLS3tcvfdd5+fzWYzUgYAIC0UwAAAbNGkSZO+3rZt2wPTdKZly5bFDTfcEPX19QIGgE+prq4urr322li+fHmqztWuXbsDH3/88VESBgAgLTwCGgCAj3XZZZcN+upXvzo2k8mk5hcH33///bjyyiujqqpKwACwlerq6uLll1+OIUOGRHl5eWrO1aVLl31LS0unPvPMM2ukDABAEngENAAAW61///4lJ5988q8ymUxRWs60YcOG+P3vfx8bN24UMABso40bN8bvfve7VP15WlBQkP3hD394ft++fYslDABA4q9vrQAAgI/y4IMPnl1WVtYrLeeprq6O3/zmN7Fq1SrhAsBntGrVqrjyyiujuro6NWcqKyvr8/DDD58lXQAAkk4BDADA/zF+/Pgju3XrdnRazlNfX5/KdxYCwK60fPnyuO6666K+vj41Z+rRo8dXx40bd4R0AQBIMgUwAAB/53vf+16nI4444py0nCeXy8Vtt90Wb7zxhnABYDt7/fXX47bbbotcLpeaMx155JHnfvvb3+4oXQAAkkoBDADA/6qoqCi4+OKLLywsLCxPy5nGjx8fs2bNEi4A7CCzZs2Khx56KDXnKSwsrPj1r399QUVFhZ+bAQCQSC5kAQD4XxMnThxdWVk5OC3nef7552PixImCBYAd7LHHHosXXnghNeeprKzc89FHHz1RsgAAJFFh5cDo+lFfaKyKqFmRtSEAgDxxwQUX7DZq1KgLM5lMYRrO8+qrr8Ytt9ySqkdSAkBT/7O3d+/e0a5du1Scp2PHjkNzudxzU6ZMWSddAACamrLO9VHwMc/wcwcwAADRt2/f4h//+McXZzKZVPwG4HvvvRc33HBDNDY2ChcAdpKGhoa47rrrYtmyZak4T0FBQfbss88e27dv32LpAgCQqGtZKwAAYPz48T8qKyvrkYazbNiwIX7/+99HbW2tYAFgJ9u0aVP8/ve/j40bN6biPGVlZb3GjRs3RrIAACSJAhgAIM/ddNNNw/v06XN8Gs5SX18f1157baxdu1awALCLrFmzJq699tqor69PxXn69ev3jd///vdDJQsAQFIogAEA8thBBx1Uceyxx/5rRGTScJ477rgjFi9eLFgA2MUWLVoUd955Z1qOU/CNb3zj34YNG9ZcsgAAJOIC1goAAPLXzTfffFZxcXG7NJxl4sSJMX36dKECQBMxbdq0mDRpUirOUlJS0unOO+88Q6oAACSBAhgAIE/913/914FdunT5UhrO8tprr8Wf//xnoQJAEzN+/PhYsGBBKs7SrVu3o2+66abhUgUAoKlTAAMA5KEvfelLlV/5yld+lYazrFixIq6//vpobGwULAA0MY2NjXHdddfFihUr0nCczHHHHfergw46qEKyAAA0ZQpgAIA8dPXVV5+ezWYrk36OmpqauPbaa2PTpk1CBYAmatOmTXHttddGTU1N4s+SzWbb3njjjT+RKgAATZkCGAAgz9x6663Du3Tp8uWknyOXy8Utt9wSK1euFCoANHErV66MW2+9NXK5XOLP4lHQAAA0dQpgAIA8MnTo0LKvfvWrv0jDWSZMmBBz584VKgAkxJw5c+Kxxx5LxVlGjRr1i6FDh5ZJFQCApkgBDACQR+64444fFRcXd0z6OV5++eV45JFHBAoACfPQQw+l4he4SkpKOt5xxx0/lCgAAE2RAhgAIE9cfvnlu/fs2XNU0s/xwQcfxB133JGKR0gCQL7J5XJx2223xZo1axJ/lp49ex57+eWX7y5VAACaGgUwAEAe6NatW/a73/3uv2YymURf/9XX18cNN9wQ1dXVQgWAhKqqqoobb7wx6uvrE32OTCZT8N3vfvdX3bp1y0oVAICmRAEMAJAHxo8ff0pZWVmvpJ/jnnvuiaVLlwoUABJuyZIlcd999yX+HGVlZT3Hjx9/ikQBAGhKFMAAACn385//vOeAAQNGJ/0c06dPjylTpggUAFJi8uTJMWPGjMSfY8CAAaN//vOf95QoAABNhQIYACDFstls5qyzzjo3k8kk+tGEK1asiLvvvlugAJAyd911V6xYsSLRZ8hkMtmzzjrr3Gw2m5EoAABNgQIYACDFxo0b98XKysq9knyG2trauOGGG6K2tlagAJAyf/1zfvPmzYk+R2Vl5V7jxo0bKVEAAJoCBTAAQEoNHz68/OCDDz4t6ee4//77Y/ny5QIFgJRavnx5jBs3LvHnGDFixI+HDRvWXKIAAOxqCmAAgJS69dZbT8tms22TfIYZM2bEc889J0wASLnJkyfHzJkzE32G4uLitrfffvtp0gQAYFdTAAMApNBVV121R48ePb6S5DOsXLky7rrrLmECQJ64++6744MPPkj0GXr27PnVK664Yg9pAgCwKymAAQBSprS0tOAb3/jGT5N8rdfY2Bi333679/4CQB6pqamJ2267LRobG5N8jIJvfvObZ5aWlvqZGwAAu+6i1AoAANJlwoQJX6uoqBiQ5DOMHz8+Fi1aJEwAyDNvvvlmPPjgg4k+Q4sWLQY9+OCDx0gTAIBdRQEMAJAiRx55ZOWwYcN+kOQzzJ07N5544glhAkCemjhxYixYsCDRZxg+fPiPjjjiiJbSBABgV1AAAwCkyBVXXHFyUVFRRVLnr6qqijvvvDNyuZwwASBP5XK5uP3226O6ujqxZygqKmrxm9/85mRpAgCwKyiAAQBS4vzzz+/Xu3fv45J8httvvz0+/PBDYQJAnlu3bl3cfvvtiT5D7969jz///PP7SRMAgJ1NAQwAkALZbDZz6qmn/jyTyST2+m769OkxZ84cYQIAERExe/bsmDFjRmLnz2QyBaeeeurPs9lsRpoAAOxMCmAAgBT44x//eERlZeXgpM6/du3auPfeewUJAPyde+65J9atW5fY+SsrKwf/6U9/+oIkAQDYmRTAAAAJ17dv3+JDDjnkR0k+w9133x01NTXCBAD+Tk1NTdx9992JPsPBBx/8o759+xZLEwCAnUUBDACQcHfdddc3S0pKOiV1/smTJ8e8efMECQB8pLlz58azzz6b2PlLSko63nPPPd+SJAAAO4sCGAAgwb70pS9VDhw48KSkzr9mzZoYP368IAGALXrggQdizZo1iZ2/f//+Jx111FGtJAkAwM6gAAYASLArrrji1MLCwvIkzp7L5eK2226LTZs2CRIA2KJNmzbFbbfdFrlcLpHzFxYWll1++eU/kCQAADuDAhgAIKF+8Ytf9O7evftXkjr/s88+G2+88YYgAYBP5Y033ojnn38+sfN369bt6F/96ld9JAkAwI6mAAYASKgf/vCHP8pkMom8nvvggw/igQceECIAsFXGjRsX69atS+TsmUym4NRTT/2xFAEA2NEUwAAACXTdddcNa9eu3YFJnD2Xy8Udd9wRtbW1ggQAtsqmTZvizjvvTOz8bdq02f+mm27aT5IAAOxICmAAgIQpLS0t+NrXvnZ6Uud/4YUXYuHChYIEALbJq6++GjNmzEjs/Mccc8zpFRUVfiYHAMAO42ITACBhbr/99oMrKip2S+LsGzZsiHHjxgkRAPhM7r///qiqqkrk7OXl5X3/67/+6wgpAgCwoyiAAQASpKKiouCwww47Nanz33vvvYn9YS0A0HRs2LAh7r///sTOf9BBB/1zq1atCiUJAMCOoAAGAEiQ+++//+iysrKeSZx9zpw58dJLLwkRANguXnjhhViwYEEiZy8tLe32xz/+8StSBABgR1AAAwAkRN++fYv33Xfff07i7LW1tXHvvfcKEQDYru6+++6oq6tL5Oz77bffKf379y+RIgAA25sCGAAgIW6++eZRxcXFbZM4+yOPPBJr164VIgCwXa1atSoee+yxRM6ezWbb3njjjV+TIgAA25sCGAAgAYYOHVq21157fSeJs7/33nvxxBNPCBEA2CEmTpwYK1asSOTsQ4YM+c7QoUPLpAgAwPakAAYASIBrr732xKKiosqkzZ3L5eKee+6JxsZGIQIAO0R9fX3cddddkcvlEjd7UVFR5bXXXnuCFAEA2J4UwAAATdwBBxxQMWDAgG8kcfYZM2bEW2+9JUQAYId6880348UXX0zk7AMGDPjG8OHDy6UIAMD2ogAGAGjirrrqqhOKiooqkjb3pk2b4oEHHhAgALBT3H///VFbW5u4uYuKilpcffXV7gIGAGC7UQADADRhBx10UEX//v0Teffvww8/HB9++KEQAYCdYv369TFhwoREzj5w4MBvHHDAARVSBABge1AAAwA0Yf/5n/95bGFhYfOkzb1q1aqYPHmyAAGAnerpp5+O1atXJ27uwsLC8ssuu2yUBAEA2B4UwAAATdQBBxxQMWjQoNFJnP3uu++O+vp6IQIAO1V9fX3cddddiZx99913/+bQoUPLpAgAwGelAAYAaKIuv/zyYwsLC8uTNvfcuXNjwYIFAgQAdokFCxbE3LlzEzd3UVFRi9/97ndflyAAAJ+VAhgAoAkaOnRo2aBBgxL37t+6urr405/+JEAAYJf605/+FHV1dYmbe/fdd//mkCFDSiUIAMBnoQAGAGiCfvOb33ylqKioZdLmfu655xL53j0AIF1Wr14dzz33XOLmLioqann11VcfLUEAAD4LBTAAQBPTq1evZoMHD/5m0uaurq6ORx55RIAAQJPwyCOPRHV1deLmHjJkyLe6deuWlSAAANtKAQwA0MTcdNNNxxQXF7dN2twTJkyIqqoqAQIATUJVVVUifzmtuLi43a233uouYAAAtpkCGACgCWnVqlXhXnvtdVLS5l61alU8++yzAgQAmpTJkyfHqlWrEjf30KFDR7dq1apQggAAbAsFMABAE3LLLbccXlJS0jlpcz/44INRX18vQACgSamvr48HH3wwcXOXlJR0vummmw6VIAAA20IBDADQRGSz2cwBBxzw7aTNvWjRonjppZcECAA0SS+99FIsXrw4cXOPGDHiO9lsNiNBAAC2lgIYAKCJuOaaa/YuLy/vm7S5H3roocjlcgIEAJqkXC6XyLuAy8vL+1111VV7SRAAgK2lAAYAaCK+8pWvfDdpM8+bNy8WLlwoPACgSVu4cGG8+uqrrg8BAMgLCmAAgCbgsssuG1RZWblPkmbO5XIxfvx44QEAifDAAw8k7qklrVu33veSSy7pLz0AALaGAhgAoAkYNWrUCUmbefbs2bFs2TLhAQCJsGzZsnjllVcSN/cJJ5xwovQAANgaCmAAgF3sn//5nzt37NjxiCTN3NjYGA888IDwAIBEGT9+fDQ0NCRq5k6dOn1h9OjRHaQHAMCnpQAGANjFfvSjH30tk8kk6rps2rRpsWrVKuEBAImyatWqeOGFFxI1cyaTKfzpT386SnoAAHxaCmAAgF1o0KBBpX369Plqkmaur6+PCRMmCA8ASKQJEyZEXV1dombu27fvV/r27VssPQAAPg0FMADALnTZZZcdXlRUVJGkmadOnRpr164VHgCQSOvXr48pU6YkauaioqLK3/zmN0dIDwCAT0MBDACwi2Sz2cy+++57UpJmrqurc/cvAJB4jz76aOLuAt5///1PymazGekBAPBJFMAAALvI1VdfPbSsrKx3kmaeMmVKbNiwQXgAQKJt2LAhnn/++UTNXFZW1ueqq67aS3oAAHwSBTAAwC7y5S9/+bgkzVtfXx8TJ04UHACQCo8//nji7gL+0pe+dLzkAAD4JApgAIBdYPTo0R3atm07IkkzT5s2LdatWyc8ACAVPvzww5g+fXqiZm7fvv2I0aNHd5AeAABbogAGANgFfvrTn47KZDKFSZm3vr4+HnnkEcEBAKnyyCOPRH19fWLmzWQyhT/96U+/JjkAALZEAQwAsJN16tQp26dPn6OTNLO7fwGANFq3bl1MmzYtUTP36dPnmE6dOmWlBwDAx1EAAwDsZFddddUB2Wy2dVLmbWxsjEmTJgmOVOvYsWN06OCJmgD5aNKkSdHY2JiYebPZbOurrrrqAMkBAPBxFMAAADvZiBEjvp6keV988cVYtWqV4Ei1Ll26xIUXXhinnXZadO3a1UIA8siqVavipZdecj0JAEBqKIABAHaiM844o3tlZeXeSZk3l8vFxIkTBUdeyGQyMXjw4PjVr34VY8aMcUcwQB55/PHHI5fLJWbeysrKvc8444zukgMA4KMogAEAdqJTTjnlqxGRScq8CxYsiPfee09w5JVMJhN77713XHjhhTFmzJho3769pQCk3HvvvRcLFy5M1B9X/3NdCQAA/4cCGABgJ+nVq1ezXr16fTlJM3v3L/nsr0XwBRdcECeffHK0bdvWUgBSLGnXPb169fpyr169mkkOAIB/pAAGANhJrrjiioOLiopaJmXeBN4JAztEYWFhDB8+PC688MIYPXp0VFZWWgpACi1YsCCWLVuWmHmLiopaXnnllYdIDgCAf6QABgDYSYYPH/6VJM2btHfhwY5WVFQUI0aMiEsuuSRGjx4dLVu2tBSAFMnlcvH4448naub99tvvK5IDAOAfKYABAHaC0aNHd6isrByalHnXrl0bL7/8suDgI/y1CL744ovjhBNOiBYtWlgKQEq89NJLsW7dusTMW1lZudfo0aM7SA4AgL+lAAYA2AlOP/30o5J07fXMM89EQ0OD4GALiouL47DDDouxY8fGqFGjoqyszFIAEq6hoSGeeeaZJI1c8D/XmQAA8P8vEq0AAGDHymazmX79+n05KfPW1tbGlClTBAefUnFxcYwcOTIuvfTSGDVqVJSWlloKQII9//zzUVtbm5h5+/Xr9+VsNpuRHAAAf6UABgDYwX7zm9/sWVJS0jkp886YMSOqq6sFB1uppKQkRo4cGZdcckkcffTRUVJSYikACVRdXR0zZ85M0p8/na+44orBkgMA4K8UwAAAO9gXvvCFLyVl1lwuF08//bTQ4DNo3rx5HHXUUXHJJZfEyJEjI5vNWgpAwjz11FORy+USM++RRx75ZakBAPBXCmAAgB1oyJAhpZ07dz4iKfO+/vrrsWLFCsHBdlBeXh6jRo2KSy+9VBEMkDArVqyI119/PTHzdunS5fD+/ft79AQAABGhAAYA2KHGjh17aGFhYWJeCOruX9j+KioqYtSoUXHxxRfH4YcfHkVFRZYC4LpouyosLGz+H//xHwdLDQCACAUwAMAOteeeex6ZlFnXrl0b8+bNExrsIK1atYrjjz8+LrroohgxYkQUFPh2DKApmzdvXqxZsyYx8+61115HSg0AgAgFMADADnPMMce0bt269b5Jmfe5556LxsZGwcEO1qZNmxg9enRcfPHFimCAJqyxsTGee+65JP35MvyYY45pLTkAAPykAQBgBznzzDMPz2Qyibjeqq+vj6lTpwoNdqK2bdvG6NGj47zzzovhw4crggGaoBdeeCHq6+sTMWsmkyk844wzDpUaAAB+wgAAsIP079//C0mZdc6cObFhwwahwS7QqVOnOPnkk+Pf/u3fYu+9945MJmMpAE3Ehg0bYvbs2YmZd8CAAR4DDQCAAhgAYEf43ve+16mysnKPpMybpMcbQlp17tw5xowZE7/61a8UwQBNyPPPP5+YWSsrKwd/73vf6yQ1AID8pgAGANgBTj755CMiIhHtzcqVK+P1118XGjQRXbt2jTFjxsQ555wTgwcPthCAXez111+PlStXJmXczMknn3y41AAA8psCGABgB+jXr19iHv88ZcqUyOVyQoMmpnfv3nHaaafFOeecE/3797cQgF0kl8vFlClTknQd6jHQAAB5TgEMALCdnX766d0qKip2S8Ks9fX1MW3aNKFBE9anT58466yz4pxzzonddtvNQgB2gWnTpkV9fX0iZq2oqNjt9NNP7yY1AID8pQAGANjORo8efURSZp03b15s3LhRaJAAffr0ibPPPjvOPPPM6Nmzp4UA7EQbN26MefPmuR4FACARFMAAANtZr169EvPetSQ9zhD4bwMGDIhf/vKXceaZZ0b37t0tBGAnmTp1apKuRw+TGABA/lIAAwBsR2eccUb38vLyvkmYdf369fHaa68JDRJqwIAB8S//8i9x2mmnRbdunvQJsKPNnz8/Pvzww0TMWl5e3u9HP/pRF6kBAOQnBTAAwHZ03HHHHZSUWWfMmBGNjY1CgwTLZDIxePDg+Nd//dcYM2ZMdOjQwVIAdpDGxsaYMWNGYub9xje+cYjUAADykwIYAGA76tOnz8FJmDOXyyXqMYbAlmUymdh7773jwgsvjDFjxkT79u0tBWAHeOGFF5J0XXqIxAAA8pMCGABgOznppJPat2zZcvckzLpkyZJYuXKl0CBl/loEX3DBBXHyySdH27ZtLQVgO1qxYkW8/fbbiZi1srJy0PHHH+8PAgCAPKQABgDYTr773e8eGBGZJMyapMcXAluvsLAwhg8fHhdeeGGMHj06KisrLQVgO5k+fXpSRi34/ve/f6DEAADyjwIYAGA72X333Q9Nwpz19fUxc+ZMgUEeKCoqihEjRsQll1wSo0ePjpYtW1oKwGc0c+bMqK+vT8SsAwcOPFRiAAD5RwEMALAdHHTQQRUtW7bcKwmzLly4MKqrq4UGeeSvRfDFF18cJ5xwQrRo0cJSALZRVVVVvP7664mYtVWrVkOHDx9eLjUAgPyiAAYA2A7OPvvsz2cymaIkzOrxz5C/iouL47DDDouxY8fGqFGjoqyszFIAtkFSnqaSyWSy55577uclBgCQXxTAAADbwe67735AEuasra2NOXPmCAzyXHFxcYwcOTIuvfRSRTDANpg9e3bU1dUlYtY99tjjAIkBAOQXBTAAwGfUqlWrwnbt2u2fhFnnzZsXtbW1QgMiIqKkpCRGjhwZY8eOjaOPPjpKSkosBeBT2LRpU8ybNy8Rs7Zv337/iooKPwMEAMgjLv4AAD6jCy+8cPeioqKKJMz64osvCgz4P5o3bx5HHXVUXHLJJTFy5MjIZrOWAvAJZs2alYg5i4qKWlx88cWDJAYAkD8UwAAAn9GBBx6YiMfqVVdXJ+ZOFWDXKC8vj1GjRsWll16qCAb4BPPmzYuamppEzHrQQQd5DDQAQB5RAAMAfEZdu3YdnoQ5582bF/X19QIDPlFFRUWMGjUqLr744jj88MOjqKjIUgD+QV1dXbz66quJmLVLly77SwwAIH8ogAEAPoNTTjmlY3l5+W5JmPXll18WGLBVWrVqFccff3xcdNFFMWLEiCgo8C0kwN966aWXEjFnRUXFbieddFJ7iQEA5AffvQMAfAYnnnji55MwZ21tbcyfP19gwDZp06ZNjB49OsaOHasIBvgb8+fPj9ra2iSMmvnud7/7eYkBAOQH37UDAHwGn/vc5/ZLwpwLFy6Muro6gQGfyV+L4PPOOy+GDx+uCAby3ubNm2PhwoWJmLVfv37DJQYAkB98tw4AsI1atWpV2Lp1672TMKvHPwPbU6dOneLkk0+Oc889NwYNGmQhQF6bPXt2IuZs06bN3hUVFX4WCACQB1z0AQBso/PPP39gYWFheVOfs76+PubMmSMwYLvr2bNn/OQnP4nzzjsv9t5778hkMpYC5J3Zs2dHfX19k5+zqKio4vzzzx8oMQCA9FMAAwBso/3333/fJMz5+uuvR01NjcCAHaZLly4xZsyYOOecc2Lw4MEWAuSV6urqeOONNxIx64EHHriPxAAA0k8BDACwjbp27ZqIxz/PnTtXWMBO0bt37zjttNPinHPOif79+1sIkDeScr3VvXv3vaUFAJB+CmAAgG0wZMiQ0srKyj2a+py5XM7jn4Gdrk+fPnHWWWfFOeecE7vttpuFAKk3e/bsyOVyTX7Oli1b7jlo0KBSiQEApJsCGABgG5x55pl7ZjKZbFOfc9myZbFu3TqBAbtEnz594uyzz44zzzwzevbsaSFAaq1bty6WL1/e5OfMZDLZs846a4jEAADSrcgKAAC23tChQ4clYc558+YJC9jlBgwYEAMGDIgFCxbE+PHjY+nSpZYCpM68efOiS5cuTX7OffbZZ5+ImC4xAID0cgcwAMA26Nix4z5JmHP+/PnCApqMAQMGxC9/+cs47bTTolu3bhYCpEpSrrs6deq0j7QAANJNAQwAsJWOOOKIlhUVFf2a+pxVVVWxaNEigQFNSiaTicGDB8e//uu/xpgxY6JDhw6WAqTCW2+9FVVVVU1+zoqKis8deuihLSQGAJBeCmAAgK108sknD46ITFOfc/78+dHY2CgwoEnKZDKx9957x4UXXhhjxoyJ9u3bWwqQaI2NjbFgwYJE/Cv4u9/97h4SAwBILwUwAMBW2n333fdMwpze/wskwV+L4AsuuCBOPvnkaNu2raUAiZWU66/BgwfvKS0AgPQqsgIAgK3Trl27wU19xlwul5Q7UAAiIqKwsDCGDx8e++yzT0ybNi0mTJgQ69evtxggURYsWBC5XC4ymab9sJgOHToMlhYAQHq5AxgAYCsMGjSotGXLlgOa+pzvvfdebNy4UWBA4hQVFcWIESPikksuidGjR0fLli0tBUiMDz/8MJYtW9bk52zZsuXA/v37l0gMACCdFMAAAFvhxz/+8aBMJtPkn6Li7l8g6f5aBI8dOzZOOOGEaNGihaUAibBw4cImP2Mmk8n+5Cc/GSAtAIB0UgADAGyFvffee88kzJmEHzwCfBrNmjWLww47LMaOHRujRo2KsrIySwGatKT8Il5SrmsBANh63gEMALAVunbtOqSpz1hfXx9vvvmmsIBUKS4ujpEjR8bBBx8czz77bDz++ONRXV1tMUCT8+abb0Z9fX0UFTXtH7t16dJlT2kBAKSTO4ABAD6lioqKgoqKikFNfc4lS5bE5s2bBQakUklJSYwcOTLGjh0bRx99dJSUeIUl0LTU1tbG0qVLm/ycLVu2HFRaWupngwAAKeQiDwDgUzr77LP7FhYWNvlnj7722mvCAlKvefPmcdRRR8Ull1wSI0eOjGbNmlkK4HpsKxQWFpafffbZvaQFAJA+CmAAgE9p//3375+EOV9//XVhAXmjvLw8Ro0aFf/+7/8eI0eOjGw2aymA67FP6fOf//xAaQEApI8CGADgU+rRo8fuTX3G2traePvtt4UF5J2KiooYNWpUXHzxxXH44Yc3+XdvAum2ePHiRLySo1evXoOkBQCQPgpgAIBPqXXr1k3+DoklS5ZEQ0ODsIC81apVqzj++OPj4osvjhEjRkRBgW97gZ2voaEhlixZ0uTnbNOmjQIYACCFfCcMAPApDBkypLR58+a9m/qcb775prAAIqJ169YxevToGDt2rCIYcF32MZo3b95n0KBBpdICAEgX3wEDAHwKp556av9MJtPkr53eeustYQH8jTZt2sTo0aPjvPPOi+HDhyuCAddlfyOTyRT84Ac/+Jy0AADSxXe+AACfwuDBg5v84/Hq6+tj0aJFwgL4CJ06dYqTTz45/u3f/i323nvvyGQylgLsUIsXL07Eqzn23HPPgdICAEgXBTAAwKfQpUuXAU19xnfeeSfq6uqEBbAFnTt3jjFjxiiCgR2utrY23n333SRc53oPMABAyiiAAQA+hZYtW/Zv6jN6/DPAp9elS5cYM2ZMnHvuuTF48GALAfL2+iwJ17kAAGwdBTAAwCcYPnx4eUlJSeemPqfHPwNsvV69esVpp50W55xzTvTvrwMB8u/6rLS0tPPw4cPLpQUAkB4KYACAT/Ctb31rt4ho8s8IXbx4sbAAtlGfPn3irLPOinPOOSd22203CwG2i4T8gl7m29/+dj9pAQCkhwIYAOAT7L777k2+CVi7dm1s2LBBWACfUZ8+feLss8+OM888M3r27GkhwGfy4Ycfxrp165r8nAMHDlQAAwCkSJEVAABsWadOnZr8D8TefvttQQFsRwMGDIgBAwbEggULYvz48bF06VJLAbb5Oq1Vq1audwEA2GkUwAAAn6CyslIBDJCnBgwYEP3794958+bFQw89FO+++66lAFtlyZIlsddeezX1613PvgcASBEFMADAFnTq1CnbvHnzXk19ziVLlggLYAfJZDIxePDg2GOPPeLll1+OBx98MFauXGkxQGqu05o3b967Xbt2RatXr66XGABA8nkHMADAFowZM6ZnJpPJNuUZGxsbPZoUYCfIZDKx9957x4UXXhhjxoyJ9u3bWwrwiZYuXRqNjY1NesaCgoLsqaee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k8nE7NmzY+LEibFmzRoNAXif/VNSzJo161kTAwBongTAAAC70O233/7KOeecszU/P78022sdMGBAtG/f3tWu0My9+uqrMWnSpFi1apVmALyPjh07xgEHHJCIWhsbG6u/8Y1v/NXUAACaJwEwAMAutHLlyob169fP6tat2+hsrzWVSsXhhx8ekyZNMjhohubMmROTJ0+OJUuWaAbAh3D44YdHKpVKRK3r16+fVVFR0WhqAADNU54WAADsWq+++mpirts77LDDDAyamTfffDP+/d//PX7yk58IfwE+pFQqFSNGjEhMva+88sozpgYA0Hw5AQwAsIvddNNNz5166qnV+fn5rbO91m7dukX//v1j4cKFBgc5btmyZfHYY4/F/PnzNQPgIzrggAOic+fOiai1sbFxy4033jjL1AAAmi8BMADALrZy5cqG8vLyGT179vx0Euo9+uijBcCQw5YvXx7jxo0T/AJ8wv1SUpSXlz9TXl7eYGoAAM2XABgAYDeYMWPGUxdccEEiAuAhQ4ZE69ato7q62uAgh6xcuTImTJgQc+fOjUwmoyEAH1ObNm3i0EMPTUy9zz777FOmBgDQvPkGMADAbvDVr371lYaGhk1JqLWgoCCOOOIIQ4McsW7duvj5z38ed955Z8yZM0f4C/AJjRw5MvLz8xNRa0NDw8abbrrpVVMDAGjenAAGANgNKisrm1atWjW9T58+5ySh3qOPPjqefPJJQREk2Pr16+Oxxx6L2bNn+3cZYBdJpVIxatSoxNS7cuXKadXV1WmTAwBo3pwABgDYTaZNm5aY6/c6duwYAwYMMDRIoA0bNsSvf/3r+Nd//dd49dVXhb8Au9CAAQOiY8eOian36aefftLUAAAQAAMA7CZf+9rX5tTX11ckpd6jjjrK0CBBqqqq4v77749vf/vb8eKLL0ZTU5OmAOxiRx55ZGJqra+vX/eNb3zjdVMDAMAV0AAAu0ltbW16xYoVT++///6fT0K9hx56aLRt2zaqqqoMD7LYli1bYsqUKfHcc8/F9u3bNQRgN2nbtm0MGTIkMfUuX778qdraWtc/AwDgBDAAwO70xz/+cUJSas3Pz4/jjjvO0CBL1dTUxKOPPhq33XZb/OUvfxH+Auxmxx57bOTn5yel3Myvf/3rCaYGAECEABgAYLe66667llZXV89PSr1HH310tGjRwuAgi7wd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qATAAABZ4umnn968fPnyxF3xN3r06GjXrp0BAgBZqUOHDnH88ccnru5ly5ZNmD59+hYTBADgoxIAAwBkkbvvvvtPmUymKUk1FxYWxumnn254AEBWOvPMMxP3yYpMJtN41113/dH0AAD4OATAAABZ5Be/+MWatWvXTkta3UcccUT06tXLAAGArNK7d+847LDDEld3eXn5X+6///51JggAwMchAAYAyDIPP/zwn5JWcyqVijPPPNPwAICsMmbMmEilUomr+8EHH/yT6QEA8HEJgAEAsszXv/71NzZs2DAraXUPHDgwDj74YAMEALLCoEGDYsCAAYmru6KiYuatt966wAQBAPi4BMAAAFlo3Lhxv01i3WPGjIm8PFtMAGDvysvLizFjxiSy9j//+c+/NUEAAD7RflgLAACyz/XXXz+nqqrqr0mru1evXnHUUUcZIACwVx1zzDHRvXv3xNW9adOmV2666aa5JggAwCchAAYAyFJ/+tOf7k1i3WPGjInS0lIDBAD2ijZt2sRZZ52VyNofeOCBe00QAIBPSgAMAJClbrrpprlJPAVcXFwcZ555pgECAHvFWWedFS1btkxc3Zs2bXrl5ptvnmeCAAB8UgJgAIAsNm7cuF8lse5Ro0ZF7969DRAA2KP69OkTI0eOTGTtjz322K9MEACAXUEADACQxcaOHTu7qqrqb0mrO5VKxfnnnx+pVMoQAYA9tv/4/Oc/n8j9R2Vl5d+uueaav5kiAAC7ggAYACDLTZ069bdJrLtv374xZMgQAwQA9ojDDjsssTeQTJ48+TcmCADAriIABgDIcpdeeumLVVVVryax9s9//vNRXFxsiADAblVaWhrnn39+Imuvqqr66+WXX/6SKQIAsKsIgAEAEuChhx76WRLrLisri9NPP90AAYDd6qyzzoqSkpIklp753e9+91MTBABgVxIAAwAkwA033DB3w4YNs5JY+3HHHRd9+vQxRABgt+jbt28cddRRiay9oqJi1te//vU3TBEAgF1JAAwAkBA///nPfxoR6aTVnUql4vOf/3zk5dl6AgC7Vn5+flx00UWRSqWSWH76F7/4xX+bIgAAu5q3cAAACXHHHXe8tW7duulJrL13795xzDHHGCIAsEudcMIJ0b1790TWXl5e/pc77rjjLVMEAGBXEwADACTI3XfffW8mk2lKYu1nnXVWtG3b1hAB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onv37vEv//IvccABBzSrdWcymaYnnnji9s997nPPeAoAAODDEQADAJBYDz/88NJjjjlmY+/evY+KiGZzFKq0tDSGDx8eq1evjvXr13sQAHLcwIED45prrol27do1t6VnZsyY8YOzzjprqqcAAAA+PAEwAACJdv/99795zDHHVO6zzz5HRDMKgVu0aBGHHXZYtGzZMhYuXBjpdNrDAJBjCgoK4pxzzonzzz8/WrRo0dyWn37uuefuOuWUUyZ4EgAA4KMRAAMAkHi///3v5w8bNmxF3759j2lO10GnUqno27dvDB06NBYvXhxbtmzxMADkiJ49e8YNN9wQgwcPblbf+434x7XPU6ZM+fbpp58+2ZMAAAAfnQAYAICc8OCDDy4ZNmzYin79+jWrEDgionXr1nHEEUdEfX19LF261MMAkGCpVCpOOOGEuOKKK6JNmzbNbv07wt9vnXPOOX/xNAAAwMcjAAYAIGc89NBDS4YNG7a8X79+xza3EDg/Pz8OPvjg6NWrV8yfPz8aGho8EAAJU1JSEpdffnmccMIJkZ+f3+zWn8lkGp944olvffazn53maQAAgI9PAAwAQE556KGHlo4cOXJdnz59RqWa252ZEdG1a9cYNmxYLFu2LCorKz0QAAnRt2/fuO6662K//fZrluvPZDLpp59++rvnnHPO054GAAD4ZATAAADknD/96U+LDj300KX7779/s7sOOiKiuLg4jjzyyCgpKYk333wz0um0hwIgSxUUFMRnP/vZuPDCC6OkpKRZ9iCdTjc88sgjt5x//vnTPREAAPDJCYABAMhJDz/88NId3wQelUqlmt09mqlUKvr06RMHH3xwLFy4MLZt2+ahAMgynTt3jrFjx8bQoUOjGV5aERH/CH+feOKJ2y+88MLnPBEAALBrCIABAMhZDz300JIePXq8NmjQoGPz8vJaNMcetG3bNkaNGhVNTU2xZMkSDwVAFkilUjF69Oi48soro0OHDs22D01NTdt++9vf/stll132oqcCAAB2HQEwAAA5bdKkSeXdu3efM3jw4GYbAufn58eAAQOiV69esWDBgti+fbsHA2Avad26dVx66aVx/PHHR35+frPtQ2NjY/WvfvWrf7nuuute81QAAMCuJQAGACDnTZ48eW1jY+OMI4444uiCgoKS5tqHrl27xqhRo2Lbtm2xcuVKDwbAHpRKpWLUqFExduzY6NWrV7PuRX19/fo77rjjK9/61rcWejIAAGDXEwADANAsPP/881UbNmx45rjjjjuqsLCwrLn2obCwMAYNGhT77bdfLF68OGpraz0cALtZ+/bt44orrogTTzwxCgub9/uU2tralTfffPPVP/nJT1Z7MgAAYPcQAAMA0Gz87W9/27p27doZJ5xwwsjCwsK2zbkXnTp1ipEjR0Z1dbXTwAC70ciRI+Pqq6+OHj16NPte1NTULL/hhhuu/e1vf7vOkwEAALuPABgAgGbltdde2zpv3rynTznllKFFRUWdmnMvCgsL49BDD4399tsvFi1a5DQwwC709qnfk08+udmf+o2I2Lx587yLL774unHjxm30dAAAwO71fgFwat9zYsTOftC4LmLjq610DwCAxOrVq1fhs88++69du3Y9QTciGhoaYurUqTF58uRobGzUEICPqaCgIE499dQYPXq04HeH8vLyp4499tjvrly5skE3AABg9+swrDYKuuz8ZwJgAAByWuvWrfNeeumlm/fdd9+zdeMfVq9eHffff38sWbJEMwA+ov322y8uuugi1z2/w8KFC38/fPjwnzY0NGR0AwAA9gwBMAAAzd7zzz9/8aGHHnp1RKR0IyKTycTMmTPjz3/+c9TV1WkIwAcoKSmJ8847L0aMGBGplL9Kdki//PLL9xx77LEPagUAAOxZ7xcA+wYwAADNwn333Tfn+OOP39yrV6/DQwgcqVQqevfuHcOHD49169ZFRUWFhwTgPRxyyCExduzY6N+/v/B3h0wm0/jMM8/828knnzxONwAAYM97v28AC4ABAGg2fve7370xePDgJf369Ts6lUrl60hEcXFxjBgxInr06BFLly6N2tpaTQHYoUOHDvGFL3whzjzzzCguLtaQHZqammoeeOCBWz73uc9N1w0AANg7BMAAALDDww8/vKygoOC54cOHH1FQUFCqI//QrVu3OO6446K0tDQWL14cTU1NmgI0Wy1btoxzzjknLr300ujevbuGvENtbe2K22677arbbrvtDd0AAIC9RwAMAADv8Oyzz25avHjx0yeddNKQoqKiTjryD3l5edGnT58YOXJkbN26NVatWqUpQLNz+OGHx1e+8pUYMGBA5OXlacg7VFVV/e3CCy+8/oEHHvDdAAAA2MsEwAAA8C7z58+vefbZZ58+44wz+hcXF/fSkf/RsmXLGDJkSOyzzz6xdOnSqKmp0RQg53Xs2DG++MUvximnnBItW7bUkHdZt27dMyeffPI3Xn755W26AQAAe9/7BcCpfc+JETv7QeO6iI2vttI9AAByWmFhYer555//0sEHH3y5bvxfTU1N8fzzz8f48eOjurpaQ4Cc07p16zjzzDPjyCOPdOJ35zJ///vff3rMMcfc39DQkNEOAADIDh2G1UZBl53/TAAMAAARMWnSpM8cc8wxt6RSKdfg7ERNTU1MmTIlpk2bFg0NDRoCJF5hYWGccsopcdJJJ0VRUZGG7EQ6na6fOnXqd88555y/6AYAAGSX9wuAXQENAAAR8Yc//GHhfvvt98aAAQOOysvLkwS8S2FhYQwYMCCGDh0amzZtinXr1mkKkFiDBw+Oq666KoYOHRoFBQUashONjY1Vv//972/5whe+MEs3AAAg+/gGMAAAfAgTJkxYXV1dPf3II4/8VGFhYTsd+b9KS0vjsMMOi/79+8eaNWti8+bNmgIkRu/evePyyy+PU045JUpLSzXkPWzdunXxLbfccs33vve9hboBAADZyTeAAQDgI+jTp0+LJ5988us9evQ4TTfe3/z58+ORRx6JlStXagaQtXr16hXnnHNODBgwQDM+wKpVq5444YQTfrBy5Ur3/QMAQBbzDWAAAPgYnnnmmfOHDx9+fSqVytON95bJZGL27Nkxbty4qKio0BAga3Tu3DnOOuusGDp0aKRSKQ15/z/Lm2bNmvXDk08++THdAACA7OcbwAAA8DH85je/eX3//fd//cADDzzSd4HfWyqViu7du8cxxxwT7dq1i2XLlkV9fb3GAHtN27Zt49xzz42LL744evToIfz9AI2NjdUPPvjgLZ/97Gf/ohsAAJAMvgEMAAAf0/jx41dFxPOHHXbYiMLCwjIdeW95eXnRu3fvOOqoo6KgoCBWrlwZjY2NGgPsMcXFxXHKKafEl770pejbt2/k5bnA4YPU1tau+MEPfnD9LbfcMk83AAAgQf/94xvAAADwyQwePLjVo48++s1u3bqdpBsfTn19fTzzzDMxderU2LZtm4YAu01ZWVmceuqpceSRR0ZRkQsbPqyVK1c+/ulPf/pHixcvdm0DAAAkjG8AAwDALvLkk0+edeSRR96USqVcl/MhCYKB3eXtE7/HHnus4PcjyGQyDbNmzfoP3/sFAIDk8g1gAADYRX7/+98v6NGjx2uHHHLIyPz8fL8x+SEUFBREv3794qijjoq8vLxYtWqVq6GBT6Rly5ZxwgknxBVXXBEHHXRQFBQUaMqH1NDQsOG3v/3t1z7/+c8/oxsAAJBcroAGAIBd7Lzzzut4991339m2bdvBuvHR1NTUxLPPPhvTpk2LLVu2aAjwoZWVlcXxxx8fxxxzTBQXF2vIR1RVVfW3a6+99vZHHnlkg24AAECyuQIaAAB2g06dOhVMmzZtbN++fT8XESkd+WgaGhri+eefjyeffDI2bJBFAO/7522cdNJJccQRR0RhodvKPobMokWL/nTsscf+pLKyskk7AAAg+QTAAACwG/3hD38Ydfrpp99WUFDQRjc+unQ6Ha+++mpMnTo1Vq5cqSHAP/Xq1StOOeWUGDp0aOTl5WnIx9DY2Fg1YcKEOy666KKZugEAALlDAAwAALvZaaed1vbee+/9docOHUbqxse3fPnymDZtWrz88suRTqc1BJqhvLy8OOyww+L444+P3r17a8gnsHHjxue//OUvf3fSpElVugEAALlFAAwAAHtAYWFh6qmnnjpv+PDh16RSKXeUfgIbNmyIGTNmxHPPPRc1NTUaAs1AcXFxjBo1Ko4++ujo2LGjhnwCmUym4ZVXXvl/J5100kMNDQ0ZHQEAgNzzfgFwftuDoufOfpDeFlFb7p0VAAB8WOl0On7zm9+8Xlpa+uLgwYM/VVhYWKYrH09xcXEMGDAgjj322GjTpk2sXbs2amtrNQZyUIcOHeKMM86ISy+9NAYOHBjFxcWa8gnU1tau+slPfnLjxRdf/IybFAAAIHcVd2+MvNKd/8wJYAAA2A1OPPHENvfdd9+tnTp1Olo3PrnGxsb429/+Fs8++2wsWrRIQyAH9OvXL44++ugYNmxYFBQUaMguUFFR8cwXv/jFf5s+ffoW3QAAgNzmCmgAANhLHn744RNGjx799YKCgta6sWusX78+Zs6cGc8//3xUV1drCCRIaWlpHHnkkXHUUUdF586dNWQXaWxs3DJ16tS7PvvZz/5FNwAAoHkQAAMAwF50ySWXdP3+97//rXbt2g3VjV2nsbExXnvttXjuuedi/vz5GgJZbMCAATFq1KgYPHiw0767WFVV1atf//rXv/e73/1urW4AAEDzIQAGAIC9rF27dvlTp0699OCDD740lUrl68iutXz58nj++efj5ZdfjpqaGg2BLFBSUhLDhw+PI444Inr37q0hu1gmk2mcN2/efSeeeOJvq6urfewXAACaGQEwAABkia9//ev73Xjjjf9aWlraXzd2vXQ6HW+++WY899xz8dprr0VjY6OmwB5UUFAQgwcPjlGjRsUBBxwQeXl5mrIbVFdXL/zP//zPf/3BD36wRDcAAKB5EgADAEAWOfjgg1v9+c9/vrZ3795jIiKlI7tHZWVlvPjii/HCCy/EunXrNAR2o65du8bIkSPj8MMPj7Zt22rI7pNZunTpn88888z/t3jx4nrtAACA5ksADAAAWejuu+8eePHFF9/WqlUrd6PuZuXl5fHqq6/GSy+9FOvXr9cQ2AU6d+4cI0aMiGHDhkW3bt00ZDerqalZ9tvf/vbOm266aa5uAAAAAmAAAMhS/fr1K3r44Ycv79+//4WpVMpdqXvA8uXL46WXXoqXX345qqurNQQ+grKyshg+fHiMGDHCd333kEwmk164cOEfzj777F8sXbp0u44AAAARAmAAAMh6P/3pT4d97nOf+2bLli176Mae0dDQEHPnzo2//vWvMXfu3Ni+Xa4CO9OyZcsYNGhQDBs2LA455JAoKCjQlD2ktrZ21R//+Mc7rr322r/rBgAA8E4CYAAASIA+ffq0ePTRR69wGnjPS6fTsXTp0nj11VedDIaIaNu2bQwbNiyGDRsWffr0ibw8fyTtSZlMpuG11177+ZlnnvmnioqKRh0BAADeTQAMAAAJ8uMf//jQCy644JutWrXaRzf2vLdPBs+ePTvmzp0bdXV1mkKzUFZWFoMHD45hw4ZF//79Iz8/X1P2gpqammX333//nTfccINv/QIAAO9JAAwAAAnTrl27/HHjxp37qU996qq8vDwb870kk8nEihUrYu7cuTFnzpxYsWJFZDIZjSEnpFKp6Nu3bwwbNiwGDRoUHTt21JS9qKmpqfbVV1/92ZgxY/5cWVnZpCMAAMD7EQADAEBCffnLX+5x++23f7V9+/aH68bet2XLlnjjjTdizpw5MW/evKivr9cUEqVly5Zx8MEHx6BBg+KQQw6J0tJSTckCGzdufPG73/3uv//iF79YoxsAAMCHIQAGAIAEKywsTE2cOPGMkSNHXlNQUNBaR7JDXV1dvPnmm/HGG2/EG2+8EevXr9cUslKXLl3ioIMOioMOOigOOOCAKCoq0pQs0djYuGXmzJk/PvPMMyc2NDS4XgAAAPjQBMAAAJADjjzyyNY/+9nPrujbt++5EZGnI9mluro6Fi5cGPPnz4958+ZFZWWlprBXtGvXLg455JAYMGBA9O/fP1q39nsjWSj91ltv/fmqq676xaxZs6q1AwAA+KgEwAAAkEN++ctfjhgzZsyNrVq16q0b2SmdTsfKlStj0aJFsXDhwli8eHFs27ZNY9gtSkpKol+/ftG/f//Yf//9o1evXpGX53dEslVNTc3yRx999EdXXnnlK7oBAAB8XAJgAADIMd26dSt8+OGHPzd48ODL8vPzbdyzXCaTiTVr1sTChQtj0aJFsWjRotiyZYvG8LGUlZVF//79/xn6du/ePVKplMZkuaampprXXnvtV2PGjHmgoqKiUUcAAIBPQgAMAAA56rjjjiv7r//6r8tdC508mzdvjuXLl8eKFSti+fLlsXjx4qipqdEY/pfi4uLo169f9O7dO/bZZ5/Yd999o6ysTGMSJJPJpJcsWfLn66677pfTp0/3mx8AAMAuIQAGAIAc99Of/nTIueeee3NpaWlf3UimxsbGWLlyZSxdujSWLVsWy5cvj3Xr1kUmk9GcZiKVSkWXLl1in332iT59+kSfPn2iV69eUVBQoDkJtXXr1sUPPvjgj6699tq/6wYAALArCYABAKAZaNeuXf64cePOGTp06BUFBQWtdST56uvrY+XKlf88KbxixYpYu3ZtpNNpzUm4vLy86Nq1a+yzzz7//KdXr17RsmVLzckBjY2NW/7617/+4pxzznm0srKySUcAAIBdTQAMAADNyIknntjmnnvuuXzfffcdk0qlHB3MMdu3b481a9bEmjVrYu3atbF27dooLy+PDRs2CIazUF5eXnTs2DG6desWXbt2jW7dukW3bt2iR48eUVhYqEE5JpPJNC5ZsuRR1z0DAAC7mwAYAACaoa9+9av7Xnfdddd16NDhCN3IfY2Njf8MhNetWxfr1q2LioqKWLduXWzbtk2DdrPS0tLo3LnzP//p0qVLdO3aNbp27eoK52Ziw4YNM//rv/7rxz/60Y+W6wYAALC7CYABAKAZ++UvfznirLPOuq64uNj3gZupmpqaWL9+/T//qaioiMrKyqisrIxNmzZFY2OjJn2AgoKCaN++fbRr1y7at28fHTt2jC5dukSnTp2ic+fOUVxcrEnN1NatW98aP378PVdcccXLugEAAOwpAmAAAGjm2rVrl//ggw+eOWLEiCsLCwvb6gjvtHnz5n+GwZs2bYrKysqorq6OLVu2xJYtW6K6ujqqq6sjk8nk3NpTqVS0bt06WrduHWVlZdGmTZsoLS39X2Fvu3btok2bNh4U/peGhobKl1566efnnHPO+OrqavevAwAAe5QAGAAAiIiIoUOHFt97770XHHjggRfk5+c7ssiHlk6n/xkEV1dXR01Nzfv+k8lkora2NtLpdNTX10dTU1PU1dXt0u8U5+XlRcuWLSM/Pz+KiooiLy8vWrVqFalUKoqLi3f6T0lJSbRq1eqfgW9paWnk5eUZMB9aU1NTzYIFC/745S9/+Y+zZ8+u0REAAGBvEAADAAD/y2mnndb2rrvuurRPnz5n5+XlFeoIe9LbgfDbtm/f/r7XUBcUFESLFi3++b/fDnxhT8pkMg1LliwZd8stt/xq0qRJVToCAADsTQJgAABgp0477bS2d95554X777//5wTBAP9XJpNpWLhw4QO33nrrHwS/AABAtni/ADi/7UHRc2c/SG+LqC33/gcAAHLZokWL6u69995X0un0swcddFCnkpKS3roC8A8VFRUz/7//7/+77aKLLpq6aNGiOh0BAACyRXH3xsgr3fnPBMAAAEDMnDmz8u67736qqalpWr9+/Ypbt27dN5VKpXQGaG4ymUx6zZo1U+65555/Peeccx6cOXNmpa4AAADZRgAMAAB8KDNnzqz88Y9//Gw6nZ4uCAaak7eD37vvvvtfzz///McEvwAAQDYTAAMAAB+JIBhoLgS/AABAEgmAAQCAj+XtILisrOyFvn37diwuLu4VEYJgIBdkKioqnrv33nu/PWbMmEcEvwAAQJK8XwCc2vecGLGzHzSui9j4aivdAwAA/unqq6/u8ZWvfOX8Pn36nJWXl9dCR4CkSafT9UuXLh3/X//1Xw/84he/WKMjAABAEnUYVhsFXXb+MwEwAADwkZ1xxhntb7/99rMPPPDA8/Pz81vrCJDtmpqaqhcsWPDgd77znUcmTpzotC8AAJBoAmAAAGC3GD58eMkPf/jDzwwePPjioqKijjoCZJv6+voNr7322u9vvPHGx2fPnl2jIwAAQC4QAAMAALvV0KFDi++5556zDjnkkPOKioq66giwt9XV1a19/fXXH7z++uvHC34BAIBcIwAGAAD2iFatWuXdc889w0455ZTzO3bseJSOAHtYZsOGDbOmTJny4PXXX/9qbW1tWksAAIBcJAAGAAD2uH/913/tf/7555/dq1ev0/Ly8lroCLC7pNPp+pUrV05+4IEHHvnOd76zSEcAAIBcJwAGAAD2mjPOOKP97bfffvYBBxzw2YKCgjY6AuwqjY2NVW+++eafv/e97z06YcKETToCAAA0FwJgAABgrxs+fHjJ97///dGDBg0aU1paur+OAB9XdXX1wtdee+3Rr371q1Nfe+21Wh0BAACaGwEwAACQVb761a/ue8EFF3y6b9++ZxUUFLTWEeCDNDY2bnnrrbfG/+EPf5j4ox/9aLmOAAAAzZkAGAAAyEpDhw4t/sEPfnDy4MGDz27dunV/HQHerbq6+s2XX375weuuu+7ppUuXbtcRAAAAATAAAJDlCgsLU3ffffeQ0aNHn9G1a9fj8vLyinQFmq90Ol1XXl4+bcqUKROuvfbav+sIAADA/yYABgAAEqNPnz4t/v3f/33UyJEjz2rfvv2nIiKlK9AsZDZt2vTXF1544bGvfe1rzzntCwAA8N4EwAAAQCJddNFFXa6++uqTDzzwwLNbtmzZTUcg99TV1a1ZsGDBuJ/+9KdP3n///et0BAAA4IMJgAEAgETr1q1b4d13333k4YcffmqHDh2OyMvLK9QVSK50Ot2wcePGWbNmzZp8/fXXz6qoqGjUFQAAgA9PAAwAAOSMo48+uvWtt956/CGHHHJKu3btBkdEnq5AIqQrKytfmzdv3uQ777xz+owZM6q1BAAA4OMRAAMAADnpuOOOK/vGN75x/CGHHHJa27ZtB4bvBUO2yVRVVc2dN2/epO9///vTpk+fvkVLAAAAPjkBMAAAkPNuu+22vmedddZJffr0Oa5Vq1a9dQT2ntra2uXLly+f/uijjz51xx13vKUjAAAAu5YAGAAAaFa+9KUvdbv44ouP7t+//wlOBsMekamqqpq7cOHCv/z+97+fcd9995VrCQAAwO4jAAYAAJqtSy65pOtll112jDAYdrl0VVXVvIULF/7lV7/61bO/+93v1moJAADAniEABgAAiIirr766x/nnnz9q//33P7JNmzZDUqlUga7Ah5fJZBoqKyv/vnjx4uf+9Kc/zbr33ntX6woAAMCeJwAGAAB4l379+hV97WtfGzRy5MhRPXv2PLaoqKizrsD/VV9fv37VqlXPvPDCC8/9+7//+5zFixfX6woAAMDeJQAGAAB4H61bt8678847Bx599NFHde/efURpaen+4apomq/M1q1bF69Zs+bF5557btY3v/nNOdXV1WltAQAAyB4CYAAAgI9g8ODBrcaOHXvI8OHDD+vevfvw1q1bHxACYXJXprq6+s01a9a88sorr7z8k5/8ZN5rr71Wqy0AAADZSwAMAADwCVx//fX7nHHGGYf169dvePv27Yfm5+e31hWSrLGxsXrjxo2vvvXWWy+PHz/+lR//+McrdQUAACA5BMAAAAC70Je//OUe55xzzvA+ffoM7tix45CioqKuukI2q6+vX7t27doXFy9ePGfixImv3Xvvvat1BQAAILkEwAAAALvRl7/85R6f+cxnBvfr129Qly5dDm/ZsqVAmL2qrq5u7bp16wS+AAAAOUoADAAAsIe0atUq75prrtnn2GOPPXi//fY7uH379oeUlpb2TaVS+brDbpKuqalZtnHjxnlvvfXW3GeffXbef/3Xfy2vra1Naw0AAEBuEgADAADsRQceeGDLq6+++oAhQ4Yc3LNnz4Pbtm17sGuj+biampqqq6qqXi8vL583Z86ceb/85S/nvfjii1t1BgAAoPkQAAMAAGSZoUOHFn/xi1/cf9CgQQf26NHjwHbt2h3YqlWr3qlUKk932CFdU1OzvLKycsHq1asXzJkzZ8Gf//znJTNmzKjWGgAAgOZNAAwAAJAAxx13XNkFF1xw4MEHH3xA165dDywtLd23pKRkn1QqVag7uS2TyTRs27ZtRXV19dJ169YtfOONNxZOmDBh4YQJEzbpDgAAAO8mAAYAAEiw8847r+OJJ57Yp3///vt16dKlT5s2bfZr3bp1v/z8/GLdSZampqaa6urqxZs3b16ybt26pQsXLlzy9NNPL33ooYc26A4AAAAflgAYAAAgx7Rr1y7/kksu6TFkyJCe++67b89OnTr1Kisr61VcXNyzZcuW3VKpVL4u7R2ZTKaprq6uvKamZtWWLVtWVlRUrFy6dOnK2bNnr7r//vvXVFZWNukSAAAAn4QAGAAAoBnp1KlTwec+97luQ4cO7bnPPvv0aNeuXafWrVt3Li4u7tqyZcvORUVFnfLy8lro1MeTTqe319fXr6+rq6uoqalZW11dvb6y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AACAEgIwAAAAAAAAQAkBGAAAAAAAAKCEAAwAAAAAAABQQgAGAAAAAAAAKCEAAwAAAAAAAJQQgAEAAAAAAABKCMAAAAAAAAAAJQRgAAAAAAAAgBICMAAAAAAAAEAJARgAAAAAAACghAAMAAAAAAAAUEIABgAAAAAAACghAAMAAAAAAACUEIABAAAAAAAASgjAAAAAAAAAACUEYAAAAAAAAIASAjAAAAAAAABACQEYAAAAAAAAoIQADAAAAAAAAFBCAAYAAAAAAAAoIQADAAAAAAAAlBCAAQAAAAAAAEoIwAAAAAAAAAAlBGAAAAAAAACAEgIwAAAAAAAAQAkBGAAAAAAAAKCEAAwAAAAAAABQQgAGAAAAAAAAKCEAAwAAAAAAAJQQgAEAAAAAAABKCMAAAAAAAAAAJQRgAAAAAAAAgBICMAAAAAAAAEAJARgAAAAAAACghAAMAAAAAAAAUEIABgAAAAAAACghAAMAAAAAAACUEIABAAAAAAAASgjAAAAAAAAAACUEYAAAAAAAAIASAjAAAAAAAABACQEYAAAAAAAAoIQADAAAAAAAAFBCAAYAAAAAAAAoIQADAAAAAAAAlBCAAQAAAAAAAEoIwAAAAAAAAAAlBGAAAAAAAACAEgIwAAAAAAAAQAkBGAAAAAAAAKCEAAwAAAAAAABQQgAGAAAAAAAAKCEAAwAAAAAAAJQQgAEAAAAAAABKCMAAAAAAAAAAJQRgAAAAAAAAgBICMAAAAAAAAEAJARgAAAAAAACghAAMAAAAAAAAUEIABgAAAAAAACghAAMAAAAAAACUEIABAAAAAAAASgjAAAAAAAAAACUEYAAAAAAAAIASAjAAAAAAAABACQEYAAAAAAAAoIQADAAAAAAAAFBCAAYAAAAAAAAoIQADAAAAAAAAlBCAAQAAAAAAAEoIwAAAAAAAAAAlBGAAAAAAAACAEgIwAAAAAAAAQAkBGAAAAAAAAKCEAAwAAAAAAABQQgAGAAAAAAAAKCEAAwAAAAAAAJQQgAEAAAAAAABKCMAAAAAAAAAAJQRgAAAAAAAAgBICMAAAAAAAAEAJARgAAAAAAACghAAMAAAAAAAAUEIABgAAAAAAACghAAMAAAAAAACUEIABAAAAAAAASgjAAAAAAAAAACUEYAAAAAAAAIASAjAAAAAAAABACQEYAAAAAAAAoIQADAAAAAAAAFBCAAYAAAAAAAAoIQADAAAAAAAAlBCAAQAAAAAAAEoIwAAAAAAAAAAlBGAAAAAAAACAEgIwAAAAAAAAQAkBGAAAAAAAAKCEAAwAAAAAAABQQgAGAAAAAAAAKCEAAwAAAAAAAJQQgAEAAAAAAABKCMAAAAAAAAAAJQRgAAAAAAAAgBICMAAAAAAAAEAJARgAAAAAAACghAAMAAAAAAAAUEIABgAAAAAAACghAAMAAAAAAACUEIABAAAAAAAASgjAAAAAAAAAACUEYAAAAAAAAIASAjAAAAAAAABACQEYAAAAAAAAoIQADAAAAAAAAFBCAAYAAAAAAAAoIQADAAAAAAAAlBCAAQAAAAAAAEoIwAAAAAAAAAAlBGAAAAAAAACAEgIwAAAAAAAAQAkBGAAAAAAAAKCEAAwAAAAAAABQQgAGAAAAAAAAKCEAAwAAAAAAAJQQgAEAAAAAAABKCMAAAAAAAAAAJQRgAAAAAAAAgBICMAAAAAAAAEAJARgAAAAAAACghAAMAAAAAAAAUEIABgAAAAAAACghAAMAAAAAAACUEIABAAAAAAAASgjAAAAAAAAAACUEYAAAAAAAAIASAjAAAAAAAABACQEYAAAAAAAAoIQADAAAAAAAAFBCAAYAAAAAAAAoIQADAAAAAAAAlBCAAQAAAAAAAEoIwAAAAAAAAAAlBGAAAAAAAACAEgIwAAAAAAAAQAkBGAAAAAAAAKCEAAwAAAAAAABQQgAGAAAAAAAAKCEAAwAAAAAAAJQQgAEAAAAAAABKCMAAAAAAAAAAJQRgAAAAAAAAgBICMAAAAAAAAEAJARgAAAAAAACghAAMAAAAAAAAUEIABgAAAAAAACghAAMAAAAAAACUEIABAAAAAAAASgjAAAAAAAAAACUEYAAAAAAAAIASAjAAAAAAAABACQEYAAAAAAAAoIQADAAAAAAAAFBCAAYAAAAAAAAoIQADAAAAAAAAlBCAAQAAAAAAAEoIwAAAAAAAAAAlBGAAAAAAAACAEgIwAAAAAAAAQAkBGAAAAAAAAKCEAAwAAAAAAABQQgAGAAAAAAAAKCEAAwAAAAAAAJQQgAEAAAAAAABKCMAAAAAAAAAAJQRgAAAAAAAAgBICMAAAAAAAAEAJARgAAAAAAACghAAMAAAAAAAAUEIABgAAAAAAACghAAMAAAAAAACUEIABAAAAAAAASgjAAAAAAAAAACUEYAAAAAAAAIASAjAAAAAAAABACQEYAAAAAAAAoIQADAAAAAAAAFBCAAYAAAAAAAAoIQADAAAAAAAAlBCAAQAAAAAAAEoIwAAAAAAAAAAlBGAAAAAAAACAEgIwAAAAAAAAQAkBGAAAAAAAAKCEAAwAAAAAAABQQgAGAAAAAAAAKCEAAwAAAAAAAJQQgAEAAAAAAABKCMAAAAAAAAAAJQRgAAAAAAAAgBICMAAAAAAAAEAJARgAAAAAAACghAAMAAAAAAAAUEIABgAAAAAAACghAAMAAAAAAACUEIABAAAAAAAASgjAAAAAAAAAACUEYAAAAAAAAIASAjAAAAAAAABACQEYAAAAAAAAoIQADAAAAAAAAFBCAAYAAAAAAAAoMY3JP//9K8My551lzpAk293a7QAAAAAAAAD8iIw3r+SL7TpPxuSt4/ibJJuz20QDBgAAAAAAAHhzrJPp6NvHYcyyjLl7dJTPbl/Jp6sPLufSsM+5ec7q5YOrF0OeP/SVaAAAAAAAAIA3weH7u6zfm79dWDIMSw6225w785vsx3XyzasOby5ssz69c4sAAAAAAAAAr9n69C6bC9sT93a7rKdnORin5Otxynzi1JQcfiwCAwAAAAAAALxO69O7HH68TaaT98cp85R8vbp3Nfszv8q0LHn7xMF1sjk/ZzUPmZ/MmWefhAYAAAAAAAD4oayPdjn7223Gn7x6ZrXPnetX8mBKkpv3cufDd/Pufn5FL56SzcVtNheT3dNt8tQlAwAAAAAAAHyv1sm0ySv/9XtsNWZ3I/lHkgzHi7/4XY7WYz5yiwAAAAAAAAA/Ivtcv/3nPEyS1fHa42t5+vNLyX7JoRsCAAAAAAAAePPt1/nbV3/KvePn1Xc371/NYxEYAAAAAAAA4M0yTHk2rvNo2WdzvHZqzN9v/SF3vju3evng/at5fPDLPDu1yuGyZHSVAAAAAAAAAK/XOGe4ueSvZ4e8M8xZbVe5ceuPufvy3Oqkw4+v5emDX+fuuTlLhhwsEYIBAAAAAAAAXpclGR8OuXP0TR4cPM/9z/+SRyfNDf/1TZezOp/87KdjzizJZkhO7edMy/w/nAUAAAAAAADg/zaMWcZkP8/ZLsmLacr2/MV8+cnvs/tP5/4FmLjAq1ifcioAAAAASUVORK5CYII=";
159
- function R(e, t, n) {
160
- return typeof e == "string" && !isNaN(Number(e)) && (e = Number(e)), typeof e == "number" && e < 100 ? V(e) : typeof e == "number" && e >= 100 ? e : typeof e == "string" && e.includes("%") ? Math.round(t && t === "X" ? parseFloat(e) / 100 * n.width : t && t === "Y" ? parseFloat(e) / 100 * n.height : parseFloat(e) / 100 * n.width) : 0;
161
- }
162
- function z(e) {
163
- return e.replace(/[xy]/g, function(e) {
164
- let t = Math.random() * 16 | 0;
165
- return (e === "x" ? t : t & 3 | 8).toString(16);
166
- });
167
- }
168
- function B(e) {
169
- return e === void 0 || e == null ? "" : e.toString().replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;").replace(/'/g, "&apos;");
170
- }
171
- function V(e) {
172
- return typeof e == "number" && e > 100 ? e : (typeof e == "string" && (e = Number(e.replace(/in*/gi, ""))), Math.round(i * e));
173
- }
174
- function H(e) {
175
- let t = Number(e) || 0;
176
- return isNaN(t) ? 0 : Math.round(t * a);
177
- }
178
- function U(e) {
179
- return e ||= 0, Math.round((e > 360 ? e - 360 : e) * 6e4);
180
- }
181
- function de(e) {
182
- let t = e.toString(16);
183
- return t.length === 1 ? "0" + t : t;
184
- }
185
- function fe(e, t, n) {
186
- return (de(e) + de(t) + de(n)).toUpperCase();
187
- }
188
- function W(e, t) {
189
- let n = (e || "").replace("#", "");
190
- !c.test(n) && n !== A.background1 && n !== A.background2 && n !== A.text1 && n !== A.text2 && n !== A.accent1 && n !== A.accent2 && n !== A.accent3 && n !== A.accent4 && n !== A.accent5 && n !== A.accent6 && (console.warn(`"${n}" is not a valid scheme color or hex RGB! "${h}" used instead. Only provide 6-digit RGB or 'pptx.SchemeColor' values!`), n = h);
191
- let r = c.test(n) ? "srgbClr" : "schemeClr", i = "val=\"" + (c.test(n) ? n.toUpperCase() : n) + "\"";
192
- return t ? `<a:${r} ${i}>${t}</a:${r}>` : `<a:${r} ${i}/>`;
193
- }
194
- function G(e) {
195
- let t = "solid", n = "", r = "", i = "";
196
- if (e) switch (typeof e == "string" ? n = e : (e.type && (t = e.type), e.color && (n = e.color), e.alpha && (r += `<a:alpha val="${Math.round((100 - e.alpha) * 1e3)}"/>`), e.transparency && (r += `<a:alpha val="${Math.round((100 - e.transparency) * 1e3)}"/>`)), t) {
197
- case "solid":
198
- i += `<a:solidFill>${W(n, r)}</a:solidFill>`;
199
- break;
200
- case "gradient":
201
- i += pe(e);
202
- break;
203
- default:
204
- i += "";
205
- break;
206
- }
207
- return i;
208
- }
209
- function pe(e) {
210
- let t = Array.isArray(e.stops) ? e.stops.filter((e) => e && e.color) : [];
211
- if (t.length < 2) return `<a:solidFill>${W((t[0]?.color || e.color || "FFFFFF").replace("#", ""))}</a:solidFill>`;
212
- let n = t.map((e) => {
213
- let t = typeof e.pos == "number" && !isNaN(e.pos) ? Math.min(100, Math.max(0, e.pos)) : 0;
214
- return `<a:gs pos="${Math.round(t * 1e3)}">${W(e.color)}</a:gs>`;
215
- }).join(""), r;
216
- if (e.radial) r = "<a:path path=\"circle\"><a:fillToRect l=\"50000\" t=\"50000\" r=\"50000\" b=\"50000\"/></a:path>";
217
- else {
218
- let t = typeof e.angle == "number" && !isNaN(e.angle) ? (e.angle % 360 + 360) % 360 : 90;
219
- r = `<a:lin ang="${Math.round(t * 6e4)}" scaled="1"/>`;
220
- }
221
- return `<a:gradFill rotWithShape="1"><a:gsLst>${n}</a:gsLst>${r}</a:gradFill>`;
222
- }
223
- function K(e) {
224
- return e._rels.length + e._relsChart.length + e._relsMedia.length + 1;
225
- }
226
- function me(e) {
227
- if (!(!e || typeof e != "object")) return e.type !== "outer" && e.type !== "inner" && e.type !== "none" && (console.warn("Warning: shadow.type options are `outer`, `inner` or `none`."), e.type = "outer"), e.angle &&= ((isNaN(Number(e.angle)) || e.angle < 0 || e.angle > 359) && (console.warn("Warning: shadow.angle can only be 0-359"), e.angle = 270), Math.round(Number(e.angle))), e.opacity &&= ((isNaN(Number(e.opacity)) || e.opacity < 0 || e.opacity > 1) && (console.warn("Warning: shadow.opacity can only be 0-1"), e.opacity = .75), Number(e.opacity)), e.color && e.color.startsWith("#") && (console.warn("Warning: shadow.color should not include hash (#) character, , e.g. \"FF0000\""), e.color = e.color.replace("#", "")), e;
228
- }
229
- function q(e, t) {
230
- if (!e) return "<a:effectLst/>";
231
- if (typeof e != "object") return console.warn("`shadow` options must be an object. Ex: `{shadow: {type:'none'}}`"), "<a:effectLst/>";
232
- let n = "<a:effectLst>", r = Object.assign(Object.assign({}, t), e), i = r.type || "outer", a = H(r.blur), o = H(r.offset), s = Math.round(r.angle * 6e4), c = r.color, l = Math.round(r.opacity * 1e5), u = +!!r.rotateWithShape;
233
- return i === "outer" ? n += `<a:outerShdw sx="100000" sy="100000" kx="0" ky="0" algn="tl" rotWithShape="${u}" blurRad="${a}" dist="${o}" dir="${s}">` : n += `<a:innerShdw blurRad="${a}" dist="${o}" dir="${s}">`, n += `<a:srgbClr val="${c}">`, n += `<a:alpha val="${l}"/></a:srgbClr>`, n += `</a:${i}Shdw>`, n += "</a:effectLst>", n;
234
- }
235
- function he(e, t, n, r) {
236
- if (!e && !t && !n) return "<a:effectLst/>";
237
- let i = "<a:effectLst>";
238
- if (n && typeof n == "object") {
239
- let e = Math.round(n.size * a), t = n.color, r = Math.round((n.opacity === void 0 ? 1 : n.opacity) * 1e5);
240
- i += `<a:glow rad="${e}">`, i += W(t, `<a:alpha val="${r}"/>`), i += "</a:glow>";
241
- }
242
- if (e && typeof e == "object" && e.type !== "none") {
243
- let t = Object.assign(Object.assign({}, r), e), n = t.type || "outer", a = H(t.blur !== void 0 && !isNaN(Number(t.blur)) ? Number(t.blur) : 0), o = H(t.offset !== void 0 && !isNaN(Number(t.offset)) ? Number(t.offset) : 0), s = Math.round((t.angle !== void 0 && !isNaN(Number(t.angle)) ? Number(t.angle) : 0) * 6e4), c = t.color || "000000", l = Math.round((t.opacity !== void 0 && !isNaN(Number(t.opacity)) ? Number(t.opacity) : 1) * 1e5), u = +!!t.rotateWithShape;
244
- n === "outer" ? i += `<a:outerShdw blurRad="${a}" dist="${o}" dir="${s}" algn="tl" rotWithShape="${u}">` : i += `<a:innerShdw blurRad="${a}" dist="${o}" dir="${s}">`, i += `<a:srgbClr val="${c.replace("#", "")}">`, i += `<a:alpha val="${l}"/></a:srgbClr>`, i += `</a:${n}Shdw>`;
245
- }
246
- if (t && typeof t == "object" && t.enabled !== !1) {
247
- let e = t.size === void 0 ? 50 : t.size, n = t.distance === void 0 ? 0 : t.distance, r = t.blur === void 0 ? 0 : t.blur, a = t.opacity === void 0 ? 50 : t.opacity, o = t.preset || t.type;
248
- if (o) {
249
- let i = String(o).toLowerCase();
250
- t.size === void 0 && (i.includes("tight") ? e = 35 : i.includes("half") ? e = 50 : i.includes("full") && (e = 100)), t.distance === void 0 && (i.includes("8pt") ? n = 8 : i.includes("offset") ? n = 4 : i.includes("touch") && (n = 0)), t.blur === void 0 && (r = .5), t.opacity === void 0 && (a = 55);
251
- }
252
- let s = Math.round(n * 12700), c = Math.round(r * 12700), l = t.sy === void 0 ? -1e5 : t.sy, u = t.endPos === void 0 ? Math.round(e * 1e3) : t.endPos;
253
- a <= 1 && a > 0 && (a *= 100);
254
- let d = Math.round(a * 1e3), f = t.algn || t.align || "b", p = t.dir === void 0 ? 54e5 : t.dir;
255
- i += `<a:reflection blurRad="${c}" stA="${d}" stPos="0" endA="0" endPos="${u}" dist="${s}" dir="${p}" sy="${l}" kx="0" ky="0" algn="${f}"/>`;
256
- }
257
- return i += "</a:effectLst>", i;
258
- }
259
- function ge(e, t, n) {
260
- let r = 2.3 + (e.options?.autoPageCharWeight ? e.options.autoPageCharWeight : 0), o = Math.floor(t / a * i) / ((e.options?.fontSize ? e.options.fontSize : g) / r), s = [], c = [], l = [], u = [];
261
- e.text && e.text.toString().trim().length === 0 ? c.push({
262
- _type: P.tablecell,
263
- text: " "
264
- }) : typeof e.text == "number" || typeof e.text == "string" ? c.push({
265
- _type: P.tablecell,
266
- text: (e.text || "").toString().trim()
267
- }) : Array.isArray(e.text) && (c = e.text);
268
- let d = [];
269
- return c.forEach((e) => {
270
- typeof e.text == "string" && (e.text.split("\n").length > 1 ? e.text.split("\n").forEach((t) => {
271
- d.push({
272
- _type: P.tablecell,
273
- text: t,
274
- options: Object.assign(Object.assign({}, e.options), { breakLine: !0 })
275
- });
276
- }) : d.push({
277
- _type: P.tablecell,
278
- text: e.text.trim(),
279
- options: e.options
280
- }), e.options?.breakLine && (l.push(d), d = [])), d.length > 0 && (l.push(d), d = []);
281
- }), l.forEach((e) => {
282
- e.forEach((e) => {
283
- let t = [], n = String(e.text).split(" ");
284
- n.forEach((r, i) => {
285
- let a = Object.assign({}, e.options);
286
- a?.breakLine && (a.breakLine = i + 1 === n.length), t.push({
287
- _type: P.tablecell,
288
- text: r + (i + 1 < n.length ? " " : ""),
289
- options: a
290
- });
291
- }), u.push(t);
292
- });
293
- }), u.forEach((e) => {
294
- let t = [], n = "";
295
- e.forEach((e) => {
296
- n.length + e.text.length > o && (s.push(t), t = [], n = ""), t.push(e), n += e.text.toString();
297
- }), t.length > 0 && s.push(t);
298
- }), s;
299
- }
300
- function _e(e = [], t = {}, n, r) {
301
- let a = S, o = i * 1, s = i * 1, c = 0, u = 0, d = [], f = R(t.x, "X", n), p = R(t.y, "Y", n), m = R(t.w, "X", n), h = R(t.h, "Y", n), _ = m;
302
- function v() {
303
- let e = 0;
304
- d.length === 0 && (e = p || V(a[0])), d.length > 0 && (e = V(t.autoPageSlideStartY || t.newSlideStartY || a[0])), s = (h || n.height) - e - V(a[2]), d.length > 1 && (typeof t.autoPageSlideStartY == "number" ? s = (h || n.height) - V(t.autoPageSlideStartY + a[2]) : typeof t.newSlideStartY == "number" ? s = (h || n.height) - V(t.newSlideStartY + a[2]) : p && (s = (h || n.height) - V((p / i < a[0] ? p / i : a[0]) + a[2]), s < h && (s = h)));
305
- }
306
- if (t.verbose && (console.log("[[VERBOSE MODE]]"), console.log("|-- TABLE PROPS --------------------------------------------------------|"), console.log(`| presLayout.width ................................ = ${(n.width / i).toFixed(1)}`), console.log(`| presLayout.height ............................... = ${(n.height / i).toFixed(1)}`), console.log(`| tableProps.x .................................... = ${typeof t.x == "number" ? (t.x / i).toFixed(1) : t.x}`), console.log(`| tableProps.y .................................... = ${typeof t.y == "number" ? (t.y / i).toFixed(1) : t.y}`), console.log(`| tableProps.w .................................... = ${typeof t.w == "number" ? (t.w / i).toFixed(1) : t.w}`), console.log(`| tableProps.h .................................... = ${typeof t.h == "number" ? (t.h / i).toFixed(1) : t.h}`), console.log(`| tableProps.slideMargin .......................... = ${t.slideMargin ? String(t.slideMargin) : ""}`), console.log(`| tableProps.margin ............................... = ${String(t.margin)}`), console.log(`| tableProps.colW ................................. = ${String(t.colW)}`), console.log(`| tableProps.autoPageSlideStartY .................. = ${t.autoPageSlideStartY}`), console.log(`| tableProps.autoPageCharWeight ................... = ${t.autoPageCharWeight}`), console.log("|-- CALCULATIONS -------------------------------------------------------|"), console.log(`| tablePropX ...................................... = ${f / i}`), console.log(`| tablePropY ...................................... = ${p / i}`), console.log(`| tablePropW ...................................... = ${m / i}`), console.log(`| tablePropH ...................................... = ${h / i}`), console.log(`| tableCalcW ...................................... = ${_ / i}`)), !t.slideMargin && t.slideMargin !== 0 && (t.slideMargin = S[0]), r && r._margin !== void 0 ? Array.isArray(r._margin) ? a = r._margin : isNaN(Number(r._margin)) || (a = [
307
- Number(r._margin),
308
- Number(r._margin),
309
- Number(r._margin),
310
- Number(r._margin)
311
- ]) : (t.slideMargin || t.slideMargin === 0) && (Array.isArray(t.slideMargin) ? a = t.slideMargin : isNaN(t.slideMargin) || (a = [
312
- t.slideMargin,
313
- t.slideMargin,
314
- t.slideMargin,
315
- t.slideMargin
316
- ])), t.verbose && console.log(`| arrInchMargins .................................. = [${a.join(", ")}]`), (e[0] || []).forEach((e) => {
317
- e ||= { _type: P.tablecell };
318
- let t = e.options || null;
319
- u += Number(t?.colspan ? t.colspan : 1);
320
- }), t.verbose && console.log(`| numCols ......................................... = ${u}`), !m && t.colW && (_ = Array.isArray(t.colW) ? t.colW.reduce((e, t) => e + t) * i : t.colW * u || 0, t.verbose && console.log(`| tableCalcW ...................................... = ${_ / i}`)), o = _ || V((f ? f / i : a[1]) + a[3]), t.verbose && console.log(`| emuSlideTabW .................................... = ${(o / i).toFixed(1)}`), !t.colW || !Array.isArray(t.colW)) if (t.colW && !isNaN(Number(t.colW))) {
321
- let n = [];
322
- (e[0] || []).forEach(() => n.push(t.colW)), t.colW = [], n.forEach((e) => {
323
- Array.isArray(t.colW) && t.colW.push(e);
324
- });
325
- } else {
326
- t.colW = [];
327
- for (let e = 0; e < u; e++) t.colW.push(o / i / u);
328
- }
329
- let y = { rows: [] };
330
- return e.forEach((e, n) => {
331
- let r = [], a = 0, o = 0, u = [];
332
- e.forEach((e) => {
333
- u.push({
334
- _type: P.tablecell,
335
- text: [],
336
- options: e.options
337
- }), e.options.margin && e.options.margin[0] >= 1 ? (e.options?.margin && e.options.margin[0] && H(e.options.margin[0]) > a ? a = H(e.options.margin[0]) : t?.margin && t.margin[0] && H(t.margin[0]) > a && (a = H(t.margin[0])), e.options?.margin && e.options.margin[2] && H(e.options.margin[2]) > o ? o = H(e.options.margin[2]) : t?.margin && t.margin[2] && H(t.margin[2]) > o && (o = H(t.margin[2]))) : (e.options?.margin && e.options.margin[0] && V(e.options.margin[0]) > a ? a = V(e.options.margin[0]) : t?.margin && t.margin[0] && V(t.margin[0]) > a && (a = V(t.margin[0])), e.options?.margin && e.options.margin[2] && V(e.options.margin[2]) > o ? o = V(e.options.margin[2]) : t?.margin && t.margin[2] && V(t.margin[2]) > o && (o = V(t.margin[2])));
338
- }), v(), c += a + o, t.verbose && n === 0 && console.log(`| SLIDE [${d.length}]: emuSlideTabH ...... = ${(s / i).toFixed(1)} `), e.forEach((e, n) => {
339
- let i = {
340
- _type: P.tablecell,
341
- _lines: null,
342
- _lineHeight: V((e.options?.fontSize ? e.options.fontSize : t.fontSize ? t.fontSize : g) * (l + (t.autoPageLineWeight ? t.autoPageLineWeight : 0)) / 100),
343
- text: [],
344
- options: e.options
345
- };
346
- i.options.rowspan && (i._lineHeight = 0), i.options.autoPageCharWeight = t.autoPageCharWeight ? t.autoPageCharWeight : null;
347
- let a = t.colW[n];
348
- e.options.colspan && Array.isArray(t.colW) && (a = t.colW.filter((t, r) => r >= n && r < r + e.options.colspan).reduce((e, t) => e + t)), i._lines = ge(e, a), r.push(i);
349
- }), t.verbose && console.log(`\n| SLIDE [${d.length}]: ROW [${n}]: START...`);
350
- let f = 0, p = 0, m = !1;
351
- for (; !m;) {
352
- let n = r[f], l = u[f];
353
- r.forEach((e) => {
354
- e._lineHeight >= p && (p = e._lineHeight);
355
- }), c + p > s && (t.verbose && (console.log("\n|-----------------------------------------------------------------------|"), console.log(`|-- NEW SLIDE CREATED (currTabH+currLineH > maxH) => ${(c / i).toFixed(2)} + ${(n._lineHeight / i).toFixed(2)} > ${s / i}`), console.log("|-----------------------------------------------------------------------|\n\n")), u.length > 0 && u.map((e) => e.text.length).reduce((e, t) => e + t) > 0 && y.rows.push(u), d.push(y), y = { rows: [] }, u = [], e.forEach((e) => u.push({
356
- _type: P.tablecell,
357
- text: [],
358
- options: e.options
359
- })), v(), c += a + o, t.verbose && console.log(`| SLIDE [${d.length}]: emuSlideTabH ...... = ${(s / i).toFixed(1)} `), c = 0, (t.addHeaderToEach || t.autoPageRepeatHeader) && t._arrObjTabHeadRows && t._arrObjTabHeadRows.forEach((e) => {
360
- let t = [], n = 0;
361
- e.forEach((e) => {
362
- t.push(e), e._lineHeight > n && (n = e._lineHeight);
363
- }), y.rows.push(t), c += n;
364
- }), l = u[f]);
365
- let h = n._lines.shift();
366
- Array.isArray(l.text) && (h ? l.text = l.text.concat(h) : l.text.length === 0 && (l.text = l.text.concat({
367
- _type: P.tablecell,
368
- text: ""
369
- }))), f === r.length - 1 && (c += p), f = f < r.length - 1 ? f + 1 : 0, r.map((e) => e._lines.length).reduce((e, t) => e + t) === 0 && (m = !0);
370
- }
371
- u.length > 0 && y.rows.push(u), t.verbose && console.log(`- SLIDE [${d.length}]: ROW [${n}]: ...COMPLETE ...... emuTabCurrH = ${(c / i).toFixed(2)} ( emuSlideTabH = ${(s / i).toFixed(2)} )`);
372
- }), d.push(y), t.verbose && (console.log("\n|================================================|"), console.log(`| FINAL: tableRowSlides.length = ${d.length}`), d.forEach((e) => console.log(e)), console.log("|================================================|\n\n")), d;
373
- }
374
- function ve(e, t, n = {}, r) {
375
- let a = n || {};
376
- a.slideMargin = a.slideMargin || a.slideMargin === 0 ? a.slideMargin : .5;
377
- let o = a.w || e.presLayout.width, s = [], c = [], l = [], u = [], d = [], f = [
378
- .5,
379
- .5,
380
- .5,
381
- .5
382
- ], p = 0;
383
- if (!document.getElementById(t)) throw Error("tableToSlides: Table ID \"" + t + "\" does not exist!");
384
- r?._margin ? (Array.isArray(r._margin) ? f = r._margin : isNaN(r._margin) || (f = [
385
- r._margin,
386
- r._margin,
387
- r._margin,
388
- r._margin
389
- ]), a.slideMargin = f) : a?.slideMargin && (Array.isArray(a.slideMargin) ? f = a.slideMargin : isNaN(a.slideMargin) || (f = [
390
- a.slideMargin,
391
- a.slideMargin,
392
- a.slideMargin,
393
- a.slideMargin
394
- ])), o = (a.w ? V(a.w) : e.presLayout.width) - V(f[1] + f[3]), a.verbose && (console.log("[[VERBOSE MODE]]"), console.log("|-- `tableToSlides` ----------------------------------------------------|"), console.log(`| tableProps.h .................................... = ${a.h}`), console.log(`| tableProps.w .................................... = ${a.w}`), console.log(`| pptx.presLayout.width ........................... = ${(e.presLayout.width / i).toFixed(1)}`), console.log(`| pptx.presLayout.height .......................... = ${(e.presLayout.height / i).toFixed(1)}`), console.log(`| emuSlideTabW .................................... = ${(o / i).toFixed(1)}`));
395
- let m = document.querySelectorAll(`#${t} tr:first-child th`);
396
- m.length === 0 && (m = document.querySelectorAll(`#${t} tr:first-child td`)), m.forEach((e) => {
397
- let t = e;
398
- if (t.getAttribute("colspan")) for (let e = 0; e < Number(t.getAttribute("colspan")); e++) d.push(Math.round(t.offsetWidth / Number(t.getAttribute("colspan"))));
399
- else d.push(t.offsetWidth);
400
- }), d.forEach((e) => {
401
- p += e;
402
- }), d.forEach((e, n) => {
403
- let r = Number((Number(o) * (e / p * 100) / 100 / i).toFixed(2)), a = 0, s = document.querySelector(`#${t} thead tr:first-child th:nth-child(${n + 1})`);
404
- s && (a = Number(s.getAttribute("data-pptx-min-width")));
405
- let c = document.querySelector(`#${t} thead tr:first-child th:nth-child(${n + 1})`);
406
- c && (a = Number(c.getAttribute("data-pptx-width"))), u.push(a > r ? a : r);
407
- }), a.verbose && console.log(`| arrColW ......................................... = [${u.join(", ")}]`), [
408
- "thead",
409
- "tbody",
410
- "tfoot"
411
- ].forEach((e) => {
412
- document.querySelectorAll(`#${t} ${e} tr`).forEach((t) => {
413
- let n = t, r = [];
414
- switch (Array.from(n.cells).forEach((e) => {
415
- let t = window.getComputedStyle(e).getPropertyValue("color").replace(/\s+/gi, "").replace("rgba(", "").replace("rgb(", "").replace(")", "").split(","), n = window.getComputedStyle(e).getPropertyValue("background-color").replace(/\s+/gi, "").replace("rgba(", "").replace("rgb(", "").replace(")", "").split(",");
416
- (window.getComputedStyle(e).getPropertyValue("background-color") === "rgba(0, 0, 0, 0)" || window.getComputedStyle(e).getPropertyValue("transparent")) && (n = [
417
- "255",
418
- "255",
419
- "255"
420
- ]);
421
- let i = {
422
- align: null,
423
- bold: window.getComputedStyle(e).getPropertyValue("font-weight") === "bold" || Number(window.getComputedStyle(e).getPropertyValue("font-weight")) >= 500,
424
- border: null,
425
- color: fe(Number(t[0]), Number(t[1]), Number(t[2])),
426
- fill: { color: fe(Number(n[0]), Number(n[1]), Number(n[2])) },
427
- fontFace: (window.getComputedStyle(e).getPropertyValue("font-family") || "").split(",")[0].replace(/"/g, "").replace("inherit", "").replace("initial", "") || null,
428
- fontSize: Number(window.getComputedStyle(e).getPropertyValue("font-size").replace(/[a-z]/gi, "")),
429
- margin: null,
430
- colspan: Number(e.getAttribute("colspan")) || null,
431
- rowspan: Number(e.getAttribute("rowspan")) || null,
432
- valign: null
433
- };
434
- if ([
435
- "left",
436
- "center",
437
- "right",
438
- "start",
439
- "end"
440
- ].includes(window.getComputedStyle(e).getPropertyValue("text-align"))) {
441
- let t = window.getComputedStyle(e).getPropertyValue("text-align").replace("start", "left").replace("end", "right");
442
- i.align = t === "center" ? "center" : t === "left" ? "left" : t === "right" ? "right" : null;
443
- }
444
- if ([
445
- "top",
446
- "middle",
447
- "bottom"
448
- ].includes(window.getComputedStyle(e).getPropertyValue("vertical-align"))) {
449
- let t = window.getComputedStyle(e).getPropertyValue("vertical-align");
450
- i.valign = t === "top" ? "top" : t === "middle" ? "middle" : t === "bottom" ? "bottom" : null;
451
- }
452
- window.getComputedStyle(e).getPropertyValue("padding-left") && (i.margin = [
453
- 0,
454
- 0,
455
- 0,
456
- 0
457
- ], [
458
- "padding-top",
459
- "padding-right",
460
- "padding-bottom",
461
- "padding-left"
462
- ].forEach((t, n) => {
463
- i.margin[n] = Math.round(Number(window.getComputedStyle(e).getPropertyValue(t).replace(/\D/gi, "")));
464
- })), (window.getComputedStyle(e).getPropertyValue("border-top-width") || window.getComputedStyle(e).getPropertyValue("border-right-width") || window.getComputedStyle(e).getPropertyValue("border-bottom-width") || window.getComputedStyle(e).getPropertyValue("border-left-width")) && (i.border = [
465
- null,
466
- null,
467
- null,
468
- null
469
- ], [
470
- "top",
471
- "right",
472
- "bottom",
473
- "left"
474
- ].forEach((t, n) => {
475
- let r = Math.round(Number(window.getComputedStyle(e).getPropertyValue("border-" + t + "-width").replace("px", ""))), a = [];
476
- a = window.getComputedStyle(e).getPropertyValue("border-" + t + "-color").replace(/\s+/gi, "").replace("rgba(", "").replace("rgb(", "").replace(")", "").split(",");
477
- let o = fe(Number(a[0]), Number(a[1]), Number(a[2]));
478
- i.border[n] = {
479
- pt: r,
480
- color: o
481
- };
482
- })), r.push({
483
- _type: P.tablecell,
484
- text: e.innerText,
485
- options: i
486
- });
487
- }), e) {
488
- case "thead":
489
- s.push(r);
490
- break;
491
- case "tbody":
492
- c.push(r);
493
- break;
494
- case "tfoot":
495
- l.push(r);
496
- break;
497
- default:
498
- console.log(`table parsing: unexpected table part: ${e}`);
499
- break;
500
- }
501
- });
502
- }), a._arrObjTabHeadRows = s || null, a.colW = u, _e([
503
- ...s,
504
- ...c,
505
- ...l
506
- ], a, e.presLayout, r).forEach((t, n) => {
507
- let r = e.addSlide({ masterName: a.masterSlideName || null });
508
- n === 0 && (a.y = a.y || f[0]), n > 0 && (a.y = a.autoPageSlideStartY || a.newSlideStartY || f[0]), a.verbose && console.log(`| opts.autoPageSlideStartY: ${a.autoPageSlideStartY} / arrInchMargins[0]: ${f[0]} => opts.y = ${a.y}`), r.addTable(t.rows, {
509
- x: a.x || f[3],
510
- y: a.y,
511
- w: Number(o) / i,
512
- colW: u,
513
- autoPage: !1
514
- }), a.addImage && (a.addImage.options = a.addImage.options || {}, !a.addImage.image || !a.addImage.image.path && !a.addImage.image.data ? console.warn("Warning: tableToSlides.addImage requires either `path` or `data`") : r.addImage({
515
- path: a.addImage.image.path,
516
- data: a.addImage.image.data,
517
- x: a.addImage.options.x,
518
- y: a.addImage.options.y,
519
- w: a.addImage.options.w,
520
- h: a.addImage.options.h
521
- })), a.addShape && r.addShape(a.addShape.shapeName, a.addShape.options || {}), a.addTable && r.addTable(a.addTable.rows, a.addTable.options || {}), a.addText && r.addText(a.addText.text, a.addText.options || {});
522
- });
523
- }
524
- var ye = 0;
525
- function be(e, t) {
526
- if (!t || t.type !== "image") return;
527
- let n = t.data || "", r = t.path || "";
528
- if (!r && !n) {
529
- console.error("ERROR: fill {type:'image'} requires either 'data' or 'path' parameter!");
530
- return;
531
- }
532
- if (n && typeof n == "string" && !n.toLowerCase().includes("base64,")) {
533
- console.error("ERROR: fill {type:'image'} 'data' value lacks a base64 header! Ex: 'image/png;base64,iVtDaD[...]'");
534
- return;
535
- }
536
- let i = (r.substring(r.lastIndexOf("/") + 1).split("?")[0].split(".").pop().split("#")[0] || "png").toLowerCase();
537
- if (n && /image\/(\w+);/.exec(n) && /image\/(\w+);/.exec(n).length > 0 ? i = /image\/(\w+);/.exec(n)[1] : n?.toLowerCase().includes("image/svg+xml") && (i = "svg"), i === "svg") {
538
- console.warn("Warning: fill {type:'image'} does not support SVG images - fill ignored."), t.type = "solid", t.color = t.color || "FFFFFF";
539
- return;
540
- }
541
- let a = K(e), o = e._relsMedia.filter((e) => e.data && e.data === n && e.extn === i && !e.isDuplicate)[0];
542
- e._relsMedia.push({
543
- path: r || "preencoded." + i,
544
- type: "image/" + i,
545
- extn: i,
546
- data: n || "",
547
- rId: a,
548
- isDuplicate: !!o?.Target,
549
- Target: o?.Target ? o.Target : `../media/image-${e._slideNum}-${e._relsMedia.length + 1}.${i}`
550
- }), t.rId = a;
551
- }
552
- function xe(e, t) {
553
- e.bkgd && (t.bkgd = e.bkgd), e.objects && Array.isArray(e.objects) && e.objects.length > 0 && e.objects.forEach((e, n) => {
554
- let r = Object.keys(e)[0], i = t;
555
- N[r] && r === "chart" ? Se(i, e[r].type, e[r].data, e[r].opts) : N[r] && r === "image" ? Ce(i, e[r]) : N[r] && r === "line" ? Ee(i, j.LINE, e[r]) : N[r] && r === "rect" ? Ee(i, j.RECTANGLE, e[r]) : N[r] && r === "text" ? J(i, [{ text: e[r].text }], e[r].options, !1) : N[r] && r === "placeholder" && (e[r].options.placeholder = e[r].options.name, delete e[r].options.name, e[r].options._placeholderType = e[r].options.type, delete e[r].options.type, e[r].options._placeholderIdx = 100 + n, J(i, [{ text: e[r].text }], e[r].options, !0));
556
- }), e.slideNumber && typeof e.slideNumber == "object" && (t._slideNumberProps = e.slideNumber);
557
- }
558
- function Se(e, t, n, r) {
559
- function i(e) {
560
- !e || e.style === "none" || (e.size !== void 0 && (isNaN(Number(e.size)) || e.size <= 0) && (console.warn("Warning: chart.gridLine.size must be greater than 0."), delete e.size), e.style && ![
561
- "solid",
562
- "dash",
563
- "dot"
564
- ].includes(e.style) && (console.warn("Warning: chart.gridLine.style options: `solid`, `dash`, `dot`."), delete e.style), e.cap && ![
565
- "flat",
566
- "square",
567
- "round"
568
- ].includes(e.cap) && (console.warn("Warning: chart.gridLine.cap options: `flat`, `square`, `round`."), delete e.cap));
569
- }
570
- let a = ++ye, o = {
571
- _type: null,
572
- text: null,
573
- options: null,
574
- chartRid: null
575
- }, s = null, c = [];
576
- Array.isArray(t) ? (t.forEach((e) => {
577
- c = c.concat(e.data);
578
- }), s = n || r) : (c = n, s = r), c.forEach((e, t) => {
579
- e._dataIndex = t, e.labels !== void 0 && !Array.isArray(e.labels[0]) && (e.labels = [e.labels]);
580
- });
581
- let l = s && typeof s == "object" ? s : {};
582
- if (l._type = t, l.x = l.x !== void 0 && l.x != null && !isNaN(Number(l.x)) ? l.x : 1, l.y = l.y !== void 0 && l.y != null && !isNaN(Number(l.y)) ? l.y : 1, l.w = l.w || "50%", l.h = l.h || "50%", l.objectName = l.objectName ? B(l.objectName) : `Chart ${e._slideObjects.filter((e) => e._type === P.chart).length}`, ["bar", "col"].includes(l.barDir || "") || (l.barDir = "col"), l._type === M.AREA && ([
583
- "stacked",
584
- "standard",
585
- "percentStacked"
586
- ].includes(l.barGrouping || "") || (l.barGrouping = "standard")), l._type === M.BAR && ([
587
- "clustered",
588
- "stacked",
589
- "percentStacked"
590
- ].includes(l.barGrouping || "") || (l.barGrouping = "clustered")), l._type === M.BAR3D && ([
591
- "clustered",
592
- "stacked",
593
- "standard",
594
- "percentStacked"
595
- ].includes(l.barGrouping || "") || (l.barGrouping = "standard")), l.barGrouping?.includes("tacked") && (l.barGapWidthPct ||= 50), l.dataLabelPosition && ((l._type === M.AREA || l._type === M.BAR3D || l._type === M.DOUGHNUT || l._type === M.RADAR) && delete l.dataLabelPosition, l._type === M.PIE && ([
596
- "bestFit",
597
- "ctr",
598
- "inEnd",
599
- "outEnd"
600
- ].includes(l.dataLabelPosition) || delete l.dataLabelPosition), (l._type === M.BUBBLE || l._type === M.BUBBLE3D || l._type === M.LINE || l._type === M.SCATTER) && ([
601
- "b",
602
- "ctr",
603
- "l",
604
- "r",
605
- "t"
606
- ].includes(l.dataLabelPosition) || delete l.dataLabelPosition), l._type === M.BAR && (["stacked", "percentStacked"].includes(l.barGrouping || "") || [
607
- "ctr",
608
- "inBase",
609
- "inEnd"
610
- ].includes(l.dataLabelPosition) || delete l.dataLabelPosition, ["clustered"].includes(l.barGrouping || "") || [
611
- "ctr",
612
- "inBase",
613
- "inEnd",
614
- "outEnd"
615
- ].includes(l.dataLabelPosition) || delete l.dataLabelPosition)), l.dataLabelBkgrdColors = l.dataLabelBkgrdColors || !l.dataLabelBkgrdColors ? l.dataLabelBkgrdColors : !1, [
616
- "b",
617
- "l",
618
- "r",
619
- "t",
620
- "tr"
621
- ].includes(l.legendPos || "") || (l.legendPos = "r"), [
622
- "cone",
623
- "coneToMax",
624
- "box",
625
- "cylinder",
626
- "pyramid",
627
- "pyramidToMax"
628
- ].includes(l.bar3DShape || "") || (l.bar3DShape = "box"), [
629
- "circle",
630
- "dash",
631
- "diamond",
632
- "dot",
633
- "none",
634
- "square",
635
- "triangle"
636
- ].includes(l.lineDataSymbol || "") || (l.lineDataSymbol = "circle"), ["gap", "span"].includes(l.displayBlanksAs || "") || (l.displayBlanksAs = "span"), [
637
- "standard",
638
- "marker",
639
- "filled"
640
- ].includes(l.radarStyle || "") || (l.radarStyle = "standard"), l.lineDataSymbolSize = l.lineDataSymbolSize && !isNaN(l.lineDataSymbolSize) ? l.lineDataSymbolSize : 6, l.lineDataSymbolLineSize = l.lineDataSymbolLineSize && !isNaN(l.lineDataSymbolLineSize) ? H(l.lineDataSymbolLineSize) : H(.75), l.layout && [
641
- "x",
642
- "y",
643
- "w",
644
- "h"
645
- ].forEach((e) => {
646
- let t = l.layout[e];
647
- (isNaN(Number(t)) || t < 0 || t > 1) && (console.warn("Warning: chart.layout." + e + " can only be 0-1"), delete l.layout[e]);
648
- }), l.catGridLine = l.catGridLine || (l._type === M.SCATTER ? {
649
- color: "D9D9D9",
650
- size: 1
651
- } : { style: "none" }), l.valGridLine = l.valGridLine || (l._type === M.SCATTER ? {
652
- color: "D9D9D9",
653
- size: 1
654
- } : {}), l.serGridLine = l.serGridLine || (l._type === M.SCATTER ? {
655
- color: "D9D9D9",
656
- size: 1
657
- } : { style: "none" }), i(l.catGridLine), i(l.valGridLine), i(l.serGridLine), me(l.shadow), l.showDataTable = l.showDataTable || !l.showDataTable ? l.showDataTable : !1, l.showDataTableHorzBorder = l.showDataTableHorzBorder || !l.showDataTableHorzBorder ? l.showDataTableHorzBorder : !0, l.showDataTableVertBorder = l.showDataTableVertBorder || !l.showDataTableVertBorder ? l.showDataTableVertBorder : !0, l.showDataTableOutline = l.showDataTableOutline || !l.showDataTableOutline ? l.showDataTableOutline : !0, l.showDataTableKeys = l.showDataTableKeys || !l.showDataTableKeys ? l.showDataTableKeys : !0, l.showLabel = l.showLabel || !l.showLabel ? l.showLabel : !1, l.showLegend = l.showLegend || !l.showLegend ? l.showLegend : !1, l.showPercent = l.showPercent || !l.showPercent ? l.showPercent : !0, l.showTitle = l.showTitle || !l.showTitle ? l.showTitle : !1, l.showValue = l.showValue || !l.showValue ? l.showValue : !1, l.showLeaderLines = l.showLeaderLines || !l.showLeaderLines ? l.showLeaderLines : !1, l.catAxisLineShow = l.catAxisLineShow === void 0 ? !0 : l.catAxisLineShow, l.valAxisLineShow = l.valAxisLineShow === void 0 ? !0 : l.valAxisLineShow, l.serAxisLineShow = l.serAxisLineShow === void 0 ? !0 : l.serAxisLineShow, l.v3DRotX = !isNaN(l.v3DRotX) && l.v3DRotX >= -90 && l.v3DRotX <= 90 ? l.v3DRotX : 30, l.v3DRotY = !isNaN(l.v3DRotY) && l.v3DRotY >= 0 && l.v3DRotY <= 360 ? l.v3DRotY : 30, l.v3DRAngAx = l.v3DRAngAx || !l.v3DRAngAx ? l.v3DRAngAx : !0, l.v3DPerspective = !isNaN(l.v3DPerspective) && l.v3DPerspective >= 0 && l.v3DPerspective <= 240 ? l.v3DPerspective : 30, l.barGapWidthPct = !isNaN(l.barGapWidthPct) && l.barGapWidthPct >= 0 && l.barGapWidthPct <= 1e3 ? l.barGapWidthPct : 150, l.barGapDepthPct = !isNaN(l.barGapDepthPct) && l.barGapDepthPct >= 0 && l.barGapDepthPct <= 1e3 ? l.barGapDepthPct : 150, l.chartColors = Array.isArray(l.chartColors) ? l.chartColors : l._type === M.PIE || l._type === M.DOUGHNUT ? ne : D, l.chartColorsOpacity = l.chartColorsOpacity && !isNaN(l.chartColorsOpacity) ? l.chartColorsOpacity : null, l.border = l.border && typeof l.border == "object" ? l.border : null, l.border && (!l.border.pt || isNaN(l.border.pt)) && (l.border.pt = p.pt), l.border && (!l.border.color || typeof l.border.color != "string") && (l.border.color = p.color), l.plotArea = l.plotArea || {}, l.plotArea.border = l.plotArea.border && typeof l.plotArea.border == "object" ? l.plotArea.border : null, l.plotArea.border && (!l.plotArea.border.pt || isNaN(l.plotArea.border.pt)) && (l.plotArea.border.pt = p.pt), l.plotArea.border && (!l.plotArea.border.color || typeof l.plotArea.border.color != "string") && (l.plotArea.border.color = p.color), l.border && (l.plotArea.border = l.border), l.plotArea.fill = l.plotArea.fill || {
658
- color: null,
659
- transparency: null
660
- }, l.fill && (l.plotArea.fill.color = l.fill), l.chartArea = l.chartArea || {}, l.chartArea.border = l.chartArea.border && typeof l.chartArea.border == "object" ? l.chartArea.border : null, l.chartArea.border && (l.chartArea.border = {
661
- color: l.chartArea.border.color || p.color,
662
- pt: l.chartArea.border.pt || p.pt
663
- }), l.chartArea.roundedCorners = typeof l.chartArea.roundedCorners == "boolean" ? l.chartArea.roundedCorners : !0, l.dataBorder = l.dataBorder && typeof l.dataBorder == "object" ? l.dataBorder : null, l.dataBorder && (!l.dataBorder.pt || isNaN(l.dataBorder.pt)) && (l.dataBorder.pt = .75), l.dataBorder && l.dataBorder.color) {
664
- let e = typeof l.dataBorder.color == "string" && l.dataBorder.color.length === 6 && /^[0-9A-Fa-f]{6}$/.test(l.dataBorder.color), t = Object.values(le).includes(l.dataBorder.color);
665
- !e && !t && (l.dataBorder.color = "F9F9F9");
666
- }
667
- return !l.dataLabelFormatCode && l._type === M.SCATTER && (l.dataLabelFormatCode = "General"), !l.dataLabelFormatCode && (l._type === M.PIE || l._type === M.DOUGHNUT) && (l.dataLabelFormatCode = l.showPercent ? "0%" : "General"), l.dataLabelFormatCode = l.dataLabelFormatCode && typeof l.dataLabelFormatCode == "string" ? l.dataLabelFormatCode : "#,##0", !l.dataLabelFormatScatter && l._type === M.SCATTER && (l.dataLabelFormatScatter = "custom"), l.lineSize = typeof l.lineSize == "number" ? l.lineSize : 2, l.valAxisMajorUnit = typeof l.valAxisMajorUnit == "number" ? l.valAxisMajorUnit : null, l._type === M.AREA || l._type === M.BAR || l._type === M.BAR3D || l._type === M.LINE ? l.catAxisMultiLevelLabels = !!l.catAxisMultiLevelLabels : delete l.catAxisMultiLevelLabels, o._type = "chart", o.options = l, o.chartRid = K(e), e._relsChart.push({
668
- rId: K(e),
669
- data: c,
670
- opts: l,
671
- type: l._type,
672
- globalId: a,
673
- fileName: `chart${a}.xml`,
674
- Target: `/ppt/charts/chart${a}.xml`
675
- }), e._slideObjects.push(o), o;
676
- }
677
- function Ce(e, t) {
678
- let n = {
679
- _type: null,
680
- text: null,
681
- options: null,
682
- image: null,
683
- imageRid: null,
684
- hyperlink: null
685
- }, r = t.x || 0, i = t.y || 0, a = t.w || 0, o = t.h || 0, s = t.sizing || null, c = t.hyperlink || "", l = t.data || "", u = t.path || "", d = K(e), f = t.objectName ? B(t.objectName) : `Image ${e._slideObjects.filter((e) => e._type === P.image).length}`;
686
- if (!u && !l) return console.error("ERROR: addImage() requires either 'data' or 'path' parameter!"), null;
687
- if (u && typeof u != "string") return console.error(`ERROR: addImage() 'path' should be a string, ex: {path:'/img/sample.png'} - you sent ${String(u)}`), null;
688
- if (l && typeof l != "string") return console.error(`ERROR: addImage() 'data' should be a string, ex: {data:'image/png;base64,NMP[...]'} - you sent ${String(l)}`), null;
689
- if (l && typeof l == "string" && !l.toLowerCase().includes("base64,")) return console.error("ERROR: Image `data` value lacks a base64 header! Ex: 'image/png;base64,NMP[...]')"), null;
690
- let p = (u.substring(u.lastIndexOf("/") + 1).split("?")[0].split(".").pop().split("#")[0] || "png").toLowerCase();
691
- if (l && /image\/(\w+);/.exec(l) && /image\/(\w+);/.exec(l).length > 0 ? p = /image\/(\w+);/.exec(l)[1] : l?.toLowerCase().includes("image/svg+xml") && (p = "svg"), n._type = P.image, n.image = u || "preencoded.png", n.options = {
692
- x: r || 0,
693
- y: i || 0,
694
- w: a || 1,
695
- h: o || 1,
696
- altText: t.altText || "",
697
- rounding: typeof t.rounding == "boolean" ? t.rounding : !1,
698
- sizing: s,
699
- placeholder: t.placeholder,
700
- rotate: t.rotate || 0,
701
- flipV: t.flipV || !1,
702
- flipH: t.flipH || !1,
703
- transparency: t.transparency || 0,
704
- objectName: f,
705
- shadow: me(t.shadow)
706
- }, p === "svg") e._relsMedia.push({
707
- path: u || l + "png",
708
- type: "image/png",
709
- extn: "png",
710
- data: l || "",
711
- rId: d,
712
- Target: `../media/image-${e._slideNum}-${e._relsMedia.length + 1}.png`,
713
- isSvgPng: !0,
714
- svgSize: {
715
- w: R(n.options.w, "X", e._presLayout),
716
- h: R(n.options.h, "Y", e._presLayout)
717
- }
718
- }), n.imageRid = d, e._relsMedia.push({
719
- path: u || l,
720
- type: "image/svg+xml",
721
- extn: p,
722
- data: l || "",
723
- rId: d + 1,
724
- Target: `../media/image-${e._slideNum}-${e._relsMedia.length + 1}.${p}`
725
- }), n.imageRid = d + 1;
726
- else {
727
- let t = e._relsMedia.filter((e) => e.path && e.path === u && e.type === "image/" + p && !e.isDuplicate)[0];
728
- e._relsMedia.push({
729
- path: u || "preencoded." + p,
730
- type: "image/" + p,
731
- extn: p,
732
- data: l || "",
733
- rId: d,
734
- isDuplicate: !!t?.Target,
735
- Target: t?.Target ? t.Target : `../media/image-${e._slideNum}-${e._relsMedia.length + 1}.${p}`
736
- }), n.imageRid = d;
737
- }
738
- if (typeof c == "object") {
739
- if (!c.url && !c.slide) throw Error("ERROR: `hyperlink` option requires either: `url` or `slide`");
740
- d++, e._rels.push({
741
- type: P.hyperlink,
742
- data: c.slide ? "slide" : "dummy",
743
- rId: d,
744
- Target: c.url || c.slide.toString()
745
- }), c._rId = d, n.hyperlink = c;
746
- }
747
- e._slideObjects.push(n);
748
- }
749
- function we(e, t) {
750
- let n = t.x || 0, r = t.y || 0, i = t.w || 2, a = t.h || 2, o = t.data || "", s = t.link || "", c = t.path || "", l = t.type || "audio", u = "", d = t.cover || ue, f = t.objectName ? B(t.objectName) : `Media ${e._slideObjects.filter((e) => e._type === P.media).length}`, p = { _type: P.media };
751
- if (!c && !o && l !== "online") throw Error("addMedia() error: either `data` or `path` are required!");
752
- if (o && !o.toLowerCase().includes("base64,")) throw Error("addMedia() error: `data` value lacks a base64 header! Ex: 'video/mpeg;base64,NMP[...]')");
753
- if (!d.toLowerCase().includes("base64,")) throw Error("addMedia() error: `cover` value lacks a base64 header! Ex: 'data:image/png;base64,iV[...]')");
754
- if (l === "online" && !s) throw Error("addMedia() error: online videos require `link` value");
755
- if (u = t.extn || (o ? o.split(";")[0].split("/")[1] : c.split(".").pop()) || "mp3", u === "mpeg" || u === "x-m4a" || u === "mp3" ? u = "mp3" : u === "x-wav" && (u = "wav"), p.mtype = l, p.media = c || "preencoded.mov", p.options = {}, p.options.x = n, p.options.y = r, p.options.w = i, p.options.h = a, p.options.objectName = f, l === "online") {
756
- let t = K(e);
757
- e._relsMedia.push({
758
- path: c || "preencoded" + u,
759
- data: "dummy",
760
- type: "online",
761
- extn: u,
762
- rId: t,
763
- Target: s
764
- }), p.mediaRid = t, e._relsMedia.push({
765
- path: "preencoded.png",
766
- data: d,
767
- type: "image/png",
768
- extn: "png",
769
- rId: K(e),
770
- Target: `../media/image-${e._slideNum}-${e._relsMedia.length + 1}.png`
771
- });
772
- } else {
773
- let t = e._relsMedia.filter((e) => e.path && e.path === c && e.type === l + "/" + u && !e.isDuplicate)[0], n = K(e);
774
- e._relsMedia.push({
775
- path: c || "preencoded" + u,
776
- type: l + "/" + u,
777
- extn: u,
778
- data: o || "",
779
- rId: n,
780
- isDuplicate: !!t?.Target,
781
- Target: t?.Target ? t.Target : `../media/media-${e._slideNum}-${e._relsMedia.length + 1}.${u}`
782
- }), p.mediaRid = n, e._relsMedia.push({
783
- path: c || "preencoded" + u,
784
- type: l + "/" + u,
785
- extn: u,
786
- data: o || "",
787
- rId: K(e),
788
- isDuplicate: !!t?.Target,
789
- Target: t?.Target ? t.Target : `../media/media-${e._slideNum}-${e._relsMedia.length + 0}.${u}`
790
- }), e._relsMedia.push({
791
- path: "preencoded.png",
792
- type: "image/png",
793
- extn: "png",
794
- data: d,
795
- rId: K(e),
796
- Target: `../media/image-${e._slideNum}-${e._relsMedia.length + 1}.png`
797
- });
798
- }
799
- e._slideObjects.push(p);
800
- }
801
- function Te(e, t) {
802
- e._slideObjects.push({
803
- _type: P.notes,
804
- text: [{ text: t }]
805
- });
806
- }
807
- function Ee(e, t, n) {
808
- let r = typeof n == "object" ? n : {};
809
- r.line = r.line || { type: "none" };
810
- let i = {
811
- _type: P.text,
812
- shape: t || j.RECTANGLE,
813
- options: r,
814
- text: null
815
- };
816
- if (!t) throw Error("Missing/Invalid shape parameter! Example: `addShape(pptxgen.shapes.LINE, {x:1, y:1, w:1, h:1});`");
817
- let a = {
818
- type: r.line.type || "solid",
819
- color: r.line.color || b,
820
- transparency: r.line.transparency || 0,
821
- width: r.line.width || 1,
822
- dashType: r.line.dashType || "solid",
823
- beginArrowType: r.line.beginArrowType || null,
824
- endArrowType: r.line.endArrowType || null
825
- };
826
- if (typeof r.line == "object" && r.line.type !== "none" && (r.line = a), r.x = r.x || (r.x === 0 ? 0 : 1), r.y = r.y || (r.y === 0 ? 0 : 1), r.w = r.w || (r.w === 0 ? 0 : 1), r.h = r.h || (r.h === 0 ? 0 : 1), r.objectName = r.objectName ? B(r.objectName) : `Shape ${e._slideObjects.filter((e) => e._type === P.text).length}`, typeof r.line == "string") {
827
- let e = a;
828
- e.color = String(r.line), r.line = e;
829
- }
830
- typeof r.lineSize == "number" && (r.line.width = r.lineSize), typeof r.lineDash == "string" && (r.line.dashType = r.lineDash), typeof r.lineHead == "string" && (r.line.beginArrowType = r.lineHead), typeof r.lineTail == "string" && (r.line.endArrowType = r.lineTail), Y(e, i), r.fill && typeof r.fill == "object" && be(e, r.fill), e._slideObjects.push(i);
831
- }
832
- function De(e, t, n, r, a, o, s) {
833
- let c = [e], l = n && typeof n == "object" ? n : {};
834
- if (l.objectName = l.objectName ? B(l.objectName) : `Table ${e._slideObjects.filter((e) => e._type === P.table).length}`, t === null || t.length === 0 || !Array.isArray(t)) throw Error("addTable: Array expected! EX: 'slide.addTable( [rows], {options} );' (https://gitbrent.github.io/PptxGenJS/docs/api-tables.html)");
835
- if (!t[0] || !Array.isArray(t[0])) throw Error("addTable: 'rows' should be an array of cells! EX: 'slide.addTable( [ ['A'], ['B'], {text:'C',options:{align:'center'}} ] );' (https://gitbrent.github.io/PptxGenJS/docs/api-tables.html)");
836
- let u = [];
837
- t.forEach((e) => {
838
- let t = [];
839
- Array.isArray(e) ? e.forEach((e) => {
840
- let n = {
841
- _type: P.tablecell,
842
- text: "",
843
- options: typeof e == "object" && e.options ? e.options : {}
844
- };
845
- typeof e == "string" || typeof e == "number" ? n.text = e.toString() : e.text && (typeof e.text == "string" || typeof e.text == "number" ? n.text = e.text.toString() : e.text && (n.text = e.text), e.options && typeof e.options == "object" && (n.options = e.options)), n.options.border = n.options.border || l.border || [
846
- { type: "none" },
847
- { type: "none" },
848
- { type: "none" },
849
- { type: "none" }
850
- ];
851
- let r = n.options.border;
852
- !Array.isArray(r) && typeof r == "object" && (n.options.border = [
853
- r,
854
- r,
855
- r,
856
- r
857
- ]), n.options.border[0] || (n.options.border[0] = { type: "none" }), n.options.border[1] || (n.options.border[1] = { type: "none" }), n.options.border[2] || (n.options.border[2] = { type: "none" }), n.options.border[3] || (n.options.border[3] = { type: "none" }), [
858
- 0,
859
- 1,
860
- 2,
861
- 3
862
- ].forEach((e) => {
863
- n.options.border[e] = {
864
- type: n.options.border[e].type || d.type,
865
- color: n.options.border[e].color || d.color,
866
- pt: typeof n.options.border[e].pt == "number" ? n.options.border[e].pt : d.pt
867
- };
868
- }), t.push(n);
869
- }) : (console.log("addTable: tableRows has a bad row. A row should be an array of cells. You provided:"), console.log(e)), u.push(t);
870
- }), l.x = R(l.x || (l.x === 0 ? 0 : i / 2), "X", a), l.y = R(l.y || (l.y === 0 ? 0 : i / 2), "Y", a), l.h &&= R(l.h, "Y", a), l.fontSize = l.fontSize || g, l.margin = l.margin === 0 || l.margin ? l.margin : f, typeof l.margin == "number" && (l.margin = [
871
- Number(l.margin),
872
- Number(l.margin),
873
- Number(l.margin),
874
- Number(l.margin)
875
- ]), JSON.stringify({ arrRows: u }).indexOf("hyperlink") === -1 && (l.color ||= l.color || h), typeof l.border == "string" ? (console.warn("addTable `border` option must be an object. Ex: `{border: {type:'none'}}`"), l.border = null) : Array.isArray(l.border) && [
876
- 0,
877
- 1,
878
- 2,
879
- 3
880
- ].forEach((e) => {
881
- l.border[e] = l.border[e] ? {
882
- type: l.border[e].type || d.type,
883
- color: l.border[e].color || d.color,
884
- pt: l.border[e].pt || d.pt
885
- } : { type: "none" };
886
- }), l.autoPage = typeof l.autoPage == "boolean" ? l.autoPage : !1, l.autoPageRepeatHeader = typeof l.autoPageRepeatHeader == "boolean" ? l.autoPageRepeatHeader : !1, l.autoPageHeaderRows = l.autoPageHeaderRows !== void 0 && !isNaN(Number(l.autoPageHeaderRows)) ? Number(l.autoPageHeaderRows) : 1, l.autoPageLineWeight = l.autoPageLineWeight !== void 0 && !isNaN(Number(l.autoPageLineWeight)) ? Number(l.autoPageLineWeight) : 0, l.autoPageLineWeight && (l.autoPageLineWeight > 1 ? l.autoPageLineWeight = 1 : l.autoPageLineWeight < -1 && (l.autoPageLineWeight = -1));
887
- let p = S;
888
- if (r && r._margin !== void 0 && (Array.isArray(r._margin) ? p = r._margin : isNaN(Number(r._margin)) || (p = [
889
- Number(r._margin),
890
- Number(r._margin),
891
- Number(r._margin),
892
- Number(r._margin)
893
- ])), l.colW) {
894
- let e = u[0].reduce((e, t) => (t?.options?.colspan && typeof t.options.colspan == "number" ? e += t.options.colspan : e += 1, e), 0);
895
- typeof l.colW == "string" || typeof l.colW == "number" || l.colW && Array.isArray(l.colW) && l.colW.length === 1 && e > 1 ? (l.w = Math.floor(Number(l.colW) * e), l.colW = null) : l.colW && Array.isArray(l.colW) && l.colW.length !== e && (console.warn("addTable: mismatch: (colW.length != data.length) Therefore, defaulting to evenly distributed col widths."), l.colW = null);
896
- } else l.w ? l.w = R(l.w, "X", a) : l.w = Math.floor(a._sizeW / i - p[1] - p[3]);
897
- l.x && l.x < 20 && (l.x = V(l.x)), l.y && l.y < 20 && (l.y = V(l.y)), l.w && typeof l.w == "number" && l.w < 20 && (l.w = V(l.w)), l.h && typeof l.h == "number" && l.h < 20 && (l.h = V(l.h)), u.forEach((e) => {
898
- e.forEach((t, n) => {
899
- typeof t == "number" || typeof t == "string" ? e[n] = {
900
- _type: P.tablecell,
901
- text: String(e[n]),
902
- options: l
903
- } : typeof t == "object" && (typeof t.text == "number" ? e[n].text = e[n].text.toString() : (t.text === void 0 || t.text === null) && (e[n].text = ""), e[n].options = t.options || {}, e[n]._type = P.tablecell);
904
- });
905
- });
906
- let m = [];
907
- return l && !l.autoPage ? (Y(e, u), e._slideObjects.push({
908
- _type: P.table,
909
- arrTabRows: u,
910
- options: Object.assign({}, l)
911
- })) : (l.autoPageRepeatHeader && (l._arrObjTabHeadRows = u.filter((e, t) => t < l.autoPageHeaderRows)), _e(u, l, a, r).forEach((t, n) => {
912
- s(e._slideNum + n) || c.push(o({ masterName: r?._name || null })), n > 0 && (l.y = V(l.autoPageSlideStartY || l.newSlideStartY || p[0]));
913
- {
914
- let r = s(e._slideNum + n);
915
- l.autoPage = !1, Y(r, t.rows), r.addTable(t.rows, Object.assign({}, l)), n > 0 && m.push(r);
916
- }
917
- })), m;
918
- }
919
- function J(e, t, n, r) {
920
- let i = {
921
- _type: r ? P.placeholder : P.text,
922
- shape: n?.shape || j.RECTANGLE,
923
- text: !t || t.length === 0 ? [{
924
- text: "",
925
- options: null
926
- }] : t,
927
- options: n || {}
928
- };
929
- function a(t) {
930
- if (t.placeholder || (t.color = t.color || i.options.color || e.color || h), (t.placeholder || r) && (t.bullet = t.bullet || !1), t.placeholder && e._slideLayout && e._slideLayout._slideObjects) {
931
- let n = e._slideLayout._slideObjects.filter((e) => e._type === "placeholder" && e.options && e.options.placeholder && e.options.placeholder === t.placeholder)[0];
932
- n?.options && (t = Object.assign(Object.assign({}, t), n.options));
933
- }
934
- if (t.objectName = t.objectName ? B(t.objectName) : `Text ${e._slideObjects.filter((e) => e._type === P.text).length}`, t.shape === j.LINE) {
935
- let e = {
936
- type: t.line.type || "solid",
937
- color: t.line.color || b,
938
- transparency: t.line.transparency || 0,
939
- width: t.line.width || 1,
940
- dashType: t.line.dashType || "solid",
941
- beginArrowType: t.line.beginArrowType || null,
942
- endArrowType: t.line.endArrowType || null
943
- };
944
- if (typeof t.line == "object" && (t.line = e), typeof t.line == "string") {
945
- let n = e;
946
- typeof t.line == "string" && (n.color = t.line), t.line = n;
947
- }
948
- typeof t.lineSize == "number" && (t.line.width = t.lineSize), typeof t.lineDash == "string" && (t.line.dashType = t.lineDash), typeof t.lineHead == "string" && (t.line.beginArrowType = t.lineHead), typeof t.lineTail == "string" && (t.line.endArrowType = t.lineTail);
949
- }
950
- return t.line = t.line || {}, t.lineSpacing = t.lineSpacing && !isNaN(t.lineSpacing) ? t.lineSpacing : null, t.lineSpacingMultiple = t.lineSpacingMultiple && !isNaN(t.lineSpacingMultiple) ? t.lineSpacingMultiple : null, t._bodyProp = t._bodyProp || {}, t._bodyProp.autoFit = t.autoFit || !1, t._bodyProp.anchor = t.placeholder ? null : k.ctr, t._bodyProp.vert = t.vert || null, t._bodyProp.wrap = typeof t.wrap == "boolean" ? t.wrap : !0, (t.inset && !isNaN(Number(t.inset)) || t.inset === 0) && (t._bodyProp.lIns = V(t.inset), t._bodyProp.rIns = V(t.inset), t._bodyProp.tIns = V(t.inset), t._bodyProp.bIns = V(t.inset)), typeof t.underline == "boolean" && t.underline === !0 && (t.underline = { style: "sng" }), (t.align || "").toLowerCase().indexOf("c") === 0 ? t._bodyProp.align = O.center : (t.align || "").toLowerCase().indexOf("l") === 0 ? t._bodyProp.align = O.left : (t.align || "").toLowerCase().indexOf("r") === 0 ? t._bodyProp.align = O.right : (t.align || "").toLowerCase().indexOf("j") === 0 && (t._bodyProp.align = O.justify), (t.valign || "").toLowerCase().indexOf("b") === 0 ? t._bodyProp.anchor = k.b : (t.valign || "").toLowerCase().indexOf("m") === 0 ? t._bodyProp.anchor = k.ctr : (t.valign || "").toLowerCase().indexOf("t") === 0 && (t._bodyProp.anchor = k.t), me(t.shadow), t;
951
- }
952
- i.options = a(i.options), i.text.forEach((e) => e.options = a(e.options || {})), Y(e, i.text || ""), n.fill && typeof n.fill == "object" && be(e, n.fill), e._slideObjects.push(i);
953
- }
954
- function Oe(e) {
955
- (e._slideLayout._slideObjects || []).forEach((t) => {
956
- t._type === P.placeholder && e._slideObjects.filter((e) => e.options && e.options.placeholder === t.options.placeholder).length === 0 && J(e, [{ text: "" }], t.options, !1);
957
- });
958
- }
959
- function ke(e, t) {
960
- if (t.bkgd && (t.background ||= {}, typeof t.bkgd == "string" ? t.background.color = t.bkgd : (t.bkgd.data && (t.background.data = t.bkgd.data), t.bkgd.path && (t.background.path = t.bkgd.path), t.bkgd.src && (t.background.path = t.bkgd.src))), t.background?.fill && (t.background.color = t.background.fill), e && (e.path || e.data)) {
961
- e.path = e.path || "preencoded.png";
962
- let n = (e.path.split(".").pop() || "png").split("?")[0];
963
- n === "jpg" && (n = "jpeg"), t._relsMedia = t._relsMedia || [];
964
- let r = t._relsMedia.length + 1;
965
- t._relsMedia.push({
966
- path: e.path,
967
- type: P.image,
968
- extn: n,
969
- data: e.data || null,
970
- rId: r,
971
- Target: `../media/${(t._name || "").replace(/\s+/gi, "-")}-image-${t._relsMedia.length + 1}.${n}`
972
- }), t._bkgdImgRid = r;
973
- }
974
- }
975
- function Y(e, t, n) {
976
- let r = [];
977
- typeof t == "string" || typeof t == "number" || (Array.isArray(t) ? r = t : typeof t == "object" && (r = [t]), r.forEach((t, r) => {
978
- if (n && n[r] && n[r].hyperlink && (t.options = Object.assign(Object.assign({}, t.options), n[r])), Array.isArray(t)) {
979
- let n = [];
980
- t.forEach((e) => {
981
- e.options && !e.text.options && n.push(e.options);
982
- }), Y(e, t, n);
983
- } else if (Array.isArray(t.text)) Y(e, t.text, n && n[r] ? [n[r]] : void 0);
984
- else if (t && typeof t == "object" && t.options && t.options.hyperlink && !t.options.hyperlink._rId) if (typeof t.options.hyperlink != "object") console.log("ERROR: text `hyperlink` option should be an object. Ex: `hyperlink: {url:'https://github.com'}` ");
985
- else if (!t.options.hyperlink.url && !t.options.hyperlink.slide) console.log("ERROR: 'hyperlink requires either: `url` or `slide`'");
986
- else {
987
- let n = K(e);
988
- e._rels.push({
989
- type: P.hyperlink,
990
- data: t.options.hyperlink.slide ? "slide" : "dummy",
991
- rId: n,
992
- Target: B(t.options.hyperlink.url) || t.options.hyperlink.slide.toString()
993
- }), t.options.hyperlink._rId = n;
994
- }
995
- else t && typeof t == "object" && t.options && t.options.hyperlink && t.options.hyperlink._rId && e._rels.filter((e) => e.rId === t.options.hyperlink._rId).length === 0 && e._rels.push({
996
- type: P.hyperlink,
997
- data: t.options.hyperlink.slide ? "slide" : "dummy",
998
- rId: t.options.hyperlink._rId,
999
- Target: B(t.options.hyperlink.url) || t.options.hyperlink.slide.toString()
1000
- });
1001
- }));
1002
- }
1003
- var Ae = class {
1004
- constructor(e) {
1005
- this.addSlide = e.addSlide, this.getSlide = e.getSlide, this._name = `Slide ${e.slideNumber}`, this._presLayout = e.presLayout, this._rId = e.slideRId, this._rels = [], this._relsChart = [], this._relsMedia = [], this._setSlideNum = e.setSlideNum, this._slideId = e.slideId, this._slideLayout = e.slideLayout || null, this._slideNum = e.slideNumber, this._slideObjects = [], this._slideNumberProps = this._slideLayout?._slideNumberProps ? this._slideLayout._slideNumberProps : null;
1006
- }
1007
- set bkgd(e) {
1008
- this._bkgd = e, (!this._background || !this._background.color) && (this._background ||= {}, typeof e == "string" && (this._background.color = e));
1009
- }
1010
- get bkgd() {
1011
- return this._bkgd;
1012
- }
1013
- set background(e) {
1014
- this._background = e, e && ke(e, this);
1015
- }
1016
- get background() {
1017
- return this._background;
1018
- }
1019
- set color(e) {
1020
- this._color = e;
1021
- }
1022
- get color() {
1023
- return this._color;
1024
- }
1025
- set hidden(e) {
1026
- this._hidden = e;
1027
- }
1028
- get hidden() {
1029
- return this._hidden;
1030
- }
1031
- set slideNumber(e) {
1032
- this._slideNumberProps = e, this._setSlideNum(e);
1033
- }
1034
- get slideNumber() {
1035
- return this._slideNumberProps;
1036
- }
1037
- set animations(e) {
1038
- this._animations = e;
1039
- }
1040
- get animations() {
1041
- return this._animations;
1042
- }
1043
- addAnimation(e) {
1044
- return this._animations ||= [], Array.isArray(e) ? this._animations.push(...e) : e && this._animations.push(e), this;
1045
- }
1046
- get newAutoPagedSlides() {
1047
- return this._newAutoPagedSlides;
1048
- }
1049
- addChart(e, t, n) {
1050
- let r = n || {};
1051
- return r._type = e, Se(this, e, t, n), this;
1052
- }
1053
- addImage(e) {
1054
- return Ce(this, e), this;
1055
- }
1056
- addMedia(e) {
1057
- return we(this, e), this;
1058
- }
1059
- addNotes(e) {
1060
- return Te(this, e), this;
1061
- }
1062
- addShape(e, t) {
1063
- return Ee(this, e, t), this;
1064
- }
1065
- addTable(e, t) {
1066
- return this._newAutoPagedSlides = De(this, e, t, this._slideLayout, this._presLayout, this.addSlide, this.getSlide), this;
1067
- }
1068
- addText(e, t) {
1069
- let n = typeof e == "string" || typeof e == "number" ? [{
1070
- text: e,
1071
- options: t
1072
- }] : e;
1073
- return J(this, n, t, !1), this;
1074
- }
1075
- };
1076
- function je(e, t) {
1077
- return r(this, void 0, void 0, function* () {
1078
- let r = e.data;
1079
- return yield new Promise((i, a) => {
1080
- let o = new n.default(), s = (r.length - 1) * 2 + 1, c = r[0]?.labels?.length > 1;
1081
- o.folder("_rels"), o.folder("docProps"), o.folder("xl/_rels"), o.folder("xl/tables"), o.folder("xl/theme"), o.folder("xl/worksheets"), o.folder("xl/worksheets/_rels"), o.file("[Content_Types].xml", "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?><Types xmlns=\"http://schemas.openxmlformats.org/package/2006/content-types\"> <Default Extension=\"rels\" ContentType=\"application/vnd.openxmlformats-package.relationships+xml\"/> <Default Extension=\"xml\" ContentType=\"application/xml\"/> <Override PartName=\"/xl/workbook.xml\" ContentType=\"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml\"/> <Override PartName=\"/xl/worksheets/sheet1.xml\" ContentType=\"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml\"/> <Override PartName=\"/xl/theme/theme1.xml\" ContentType=\"application/vnd.openxmlformats-officedocument.theme+xml\"/> <Override PartName=\"/xl/styles.xml\" ContentType=\"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml\"/> <Override PartName=\"/xl/sharedStrings.xml\" ContentType=\"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml\"/> <Override PartName=\"/xl/tables/table1.xml\" ContentType=\"application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml\"/> <Override PartName=\"/docProps/core.xml\" ContentType=\"application/vnd.openxmlformats-package.core-properties+xml\"/> <Override PartName=\"/docProps/app.xml\" ContentType=\"application/vnd.openxmlformats-officedocument.extended-properties+xml\"/></Types>\n"), o.file("_rels/.rels", "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?><Relationships xmlns=\"http://schemas.openxmlformats.org/package/2006/relationships\"><Relationship Id=\"rId1\" Type=\"http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties\" Target=\"docProps/core.xml\"/><Relationship Id=\"rId2\" Type=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties\" Target=\"docProps/app.xml\"/><Relationship Id=\"rId3\" Type=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument\" Target=\"xl/workbook.xml\"/></Relationships>\n"), o.file("docProps/app.xml", "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?><Properties xmlns=\"http://schemas.openxmlformats.org/officeDocument/2006/extended-properties\" xmlns:vt=\"http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes\"><Application>Microsoft Macintosh Excel</Application><DocSecurity>0</DocSecurity><ScaleCrop>false</ScaleCrop><HeadingPairs><vt:vector size=\"2\" baseType=\"variant\"><vt:variant><vt:lpstr>Worksheets</vt:lpstr></vt:variant><vt:variant><vt:i4>1</vt:i4></vt:variant></vt:vector></HeadingPairs><TitlesOfParts><vt:vector size=\"1\" baseType=\"lpstr\"><vt:lpstr>Sheet1</vt:lpstr></vt:vector></TitlesOfParts><Company></Company><LinksUpToDate>false</LinksUpToDate><SharedDoc>false</SharedDoc><HyperlinksChanged>false</HyperlinksChanged><AppVersion>16.0300</AppVersion></Properties>\n"), o.file("docProps/core.xml", "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?><cp:coreProperties xmlns:cp=\"http://schemas.openxmlformats.org/package/2006/metadata/core-properties\" xmlns:dc=\"http://purl.org/dc/elements/1.1/\" xmlns:dcterms=\"http://purl.org/dc/terms/\" xmlns:dcmitype=\"http://purl.org/dc/dcmitype/\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"><dc:creator>PptxGenJS</dc:creator><cp:lastModifiedBy>PptxGenJS</cp:lastModifiedBy><dcterms:created xsi:type=\"dcterms:W3CDTF\">" + (/* @__PURE__ */ new Date()).toISOString() + "</dcterms:created><dcterms:modified xsi:type=\"dcterms:W3CDTF\">" + (/* @__PURE__ */ new Date()).toISOString() + "</dcterms:modified></cp:coreProperties>"), o.file("xl/_rels/workbook.xml.rels", "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?><Relationships xmlns=\"http://schemas.openxmlformats.org/package/2006/relationships\"><Relationship Id=\"rId3\" Type=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles\" Target=\"styles.xml\"/><Relationship Id=\"rId2\" Type=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme\" Target=\"theme/theme1.xml\"/><Relationship Id=\"rId1\" Type=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet\" Target=\"worksheets/sheet1.xml\"/><Relationship Id=\"rId4\" Type=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/sharedStrings\" Target=\"sharedStrings.xml\"/></Relationships>"), o.file("xl/styles.xml", "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?><styleSheet xmlns=\"http://schemas.openxmlformats.org/spreadsheetml/2006/main\"><numFmts count=\"1\"><numFmt numFmtId=\"0\" formatCode=\"General\"/></numFmts><fonts count=\"4\"><font><sz val=\"9\"/><color indexed=\"8\"/><name val=\"Geneva\"/></font><font><sz val=\"9\"/><color indexed=\"8\"/><name val=\"Geneva\"/></font><font><sz val=\"10\"/><color indexed=\"8\"/><name val=\"Geneva\"/></font><font><sz val=\"18\"/><color indexed=\"8\"/><name val=\"Arial\"/></font></fonts><fills count=\"2\"><fill><patternFill patternType=\"none\"/></fill><fill><patternFill patternType=\"gray125\"/></fill></fills><borders count=\"1\"><border><left/><right/><top/><bottom/><diagonal/></border></borders><dxfs count=\"0\"/><tableStyles count=\"0\"/><colors><indexedColors><rgbColor rgb=\"ff000000\"/><rgbColor rgb=\"ffffffff\"/><rgbColor rgb=\"ffff0000\"/><rgbColor rgb=\"ff00ff00\"/><rgbColor rgb=\"ff0000ff\"/><rgbColor rgb=\"ffffff00\"/><rgbColor rgb=\"ffff00ff\"/><rgbColor rgb=\"ff00ffff\"/><rgbColor rgb=\"ff000000\"/><rgbColor rgb=\"ffffffff\"/><rgbColor rgb=\"ff878787\"/><rgbColor rgb=\"fff9f9f9\"/></indexedColors></colors></styleSheet>\n"), o.file("xl/theme/theme1.xml", "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?><a:theme xmlns:a=\"http://schemas.openxmlformats.org/drawingml/2006/main\" name=\"Office Theme\"><a:themeElements><a:clrScheme name=\"Office\"><a:dk1><a:sysClr val=\"windowText\" lastClr=\"000000\"/></a:dk1><a:lt1><a:sysClr val=\"window\" lastClr=\"FFFFFF\"/></a:lt1><a:dk2><a:srgbClr val=\"44546A\"/></a:dk2><a:lt2><a:srgbClr val=\"E7E6E6\"/></a:lt2><a:accent1><a:srgbClr val=\"4472C4\"/></a:accent1><a:accent2><a:srgbClr val=\"ED7D31\"/></a:accent2><a:accent3><a:srgbClr val=\"A5A5A5\"/></a:accent3><a:accent4><a:srgbClr val=\"FFC000\"/></a:accent4><a:accent5><a:srgbClr val=\"5B9BD5\"/></a:accent5><a:accent6><a:srgbClr val=\"70AD47\"/></a:accent6><a:hlink><a:srgbClr val=\"0563C1\"/></a:hlink><a:folHlink><a:srgbClr val=\"954F72\"/></a:folHlink></a:clrScheme><a:fontScheme name=\"Office\"><a:majorFont><a:latin typeface=\"Calibri Light\" panose=\"020F0302020204030204\"/><a:ea typeface=\"\"/><a:cs typeface=\"\"/><a:font script=\"Jpan\" typeface=\"Yu Gothic Light\"/><a:font script=\"Hang\" typeface=\"맑은 고딕\"/><a:font script=\"Hans\" typeface=\"DengXian Light\"/><a:font script=\"Hant\" typeface=\"新細明體\"/><a:font script=\"Arab\" typeface=\"Times New Roman\"/><a:font script=\"Hebr\" typeface=\"Times New Roman\"/><a:font script=\"Thai\" typeface=\"Tahoma\"/><a:font script=\"Ethi\" typeface=\"Nyala\"/><a:font script=\"Beng\" typeface=\"Vrinda\"/><a:font script=\"Gujr\" typeface=\"Shruti\"/><a:font script=\"Khmr\" typeface=\"MoolBoran\"/><a:font script=\"Knda\" typeface=\"Tunga\"/><a:font script=\"Guru\" typeface=\"Raavi\"/><a:font script=\"Cans\" typeface=\"Euphemia\"/><a:font script=\"Cher\" typeface=\"Plantagenet Cherokee\"/><a:font script=\"Yiii\" typeface=\"Microsoft Yi Baiti\"/><a:font script=\"Tibt\" typeface=\"Microsoft Himalaya\"/><a:font script=\"Thaa\" typeface=\"MV Boli\"/><a:font script=\"Deva\" typeface=\"Mangal\"/><a:font script=\"Telu\" typeface=\"Gautami\"/><a:font script=\"Taml\" typeface=\"Latha\"/><a:font script=\"Syrc\" typeface=\"Estrangelo Edessa\"/><a:font script=\"Orya\" typeface=\"Kalinga\"/><a:font script=\"Mlym\" typeface=\"Kartika\"/><a:font script=\"Laoo\" typeface=\"DokChampa\"/><a:font script=\"Sinh\" typeface=\"Iskoola Pota\"/><a:font script=\"Mong\" typeface=\"Mongolian Baiti\"/><a:font script=\"Viet\" typeface=\"Times New Roman\"/><a:font script=\"Uigh\" typeface=\"Microsoft Uighur\"/><a:font script=\"Geor\" typeface=\"Sylfaen\"/></a:majorFont><a:minorFont><a:latin typeface=\"Calibri\" panose=\"020F0502020204030204\"/><a:ea typeface=\"\"/><a:cs typeface=\"\"/><a:font script=\"Jpan\" typeface=\"Yu Gothic\"/><a:font script=\"Hang\" typeface=\"맑은 고딕\"/><a:font script=\"Hans\" typeface=\"DengXian\"/><a:font script=\"Hant\" typeface=\"新細明體\"/><a:font script=\"Arab\" typeface=\"Arial\"/><a:font script=\"Hebr\" typeface=\"Arial\"/><a:font script=\"Thai\" typeface=\"Tahoma\"/><a:font script=\"Ethi\" typeface=\"Nyala\"/><a:font script=\"Beng\" typeface=\"Vrinda\"/><a:font script=\"Gujr\" typeface=\"Shruti\"/><a:font script=\"Khmr\" typeface=\"DaunPenh\"/><a:font script=\"Knda\" typeface=\"Tunga\"/><a:font script=\"Guru\" typeface=\"Raavi\"/><a:font script=\"Cans\" typeface=\"Euphemia\"/><a:font script=\"Cher\" typeface=\"Plantagenet Cherokee\"/><a:font script=\"Yiii\" typeface=\"Microsoft Yi Baiti\"/><a:font script=\"Tibt\" typeface=\"Microsoft Himalaya\"/><a:font script=\"Thaa\" typeface=\"MV Boli\"/><a:font script=\"Deva\" typeface=\"Mangal\"/><a:font script=\"Telu\" typeface=\"Gautami\"/><a:font script=\"Taml\" typeface=\"Latha\"/><a:font script=\"Syrc\" typeface=\"Estrangelo Edessa\"/><a:font script=\"Orya\" typeface=\"Kalinga\"/><a:font script=\"Mlym\" typeface=\"Kartika\"/><a:font script=\"Laoo\" typeface=\"DokChampa\"/><a:font script=\"Sinh\" typeface=\"Iskoola Pota\"/><a:font script=\"Mong\" typeface=\"Mongolian Baiti\"/><a:font script=\"Viet\" typeface=\"Arial\"/><a:font script=\"Uigh\" typeface=\"Microsoft Uighur\"/><a:font script=\"Geor\" typeface=\"Sylfaen\"/></a:minorFont></a:fontScheme><a:fmtScheme name=\"Office\"><a:fillStyleLst><a:solidFill><a:schemeClr val=\"phClr\"/></a:solidFill><a:gradFill rotWithShape=\"1\"><a:gsLst><a:gs pos=\"0\"><a:schemeClr val=\"phClr\"><a:lumMod val=\"110000\"/><a:satMod val=\"105000\"/><a:tint val=\"67000\"/></a:schemeClr></a:gs><a:gs pos=\"50000\"><a:schemeClr val=\"phClr\"><a:lumMod val=\"105000\"/><a:satMod val=\"103000\"/><a:tint val=\"73000\"/></a:schemeClr></a:gs><a:gs pos=\"100000\"><a:schemeClr val=\"phClr\"><a:lumMod val=\"105000\"/><a:satMod val=\"109000\"/><a:tint val=\"81000\"/></a:schemeClr></a:gs></a:gsLst><a:lin ang=\"5400000\" scaled=\"0\"/></a:gradFill><a:gradFill rotWithShape=\"1\"><a:gsLst><a:gs pos=\"0\"><a:schemeClr val=\"phClr\"><a:satMod val=\"103000\"/><a:lumMod val=\"102000\"/><a:tint val=\"94000\"/></a:schemeClr></a:gs><a:gs pos=\"50000\"><a:schemeClr val=\"phClr\"><a:satMod val=\"110000\"/><a:lumMod val=\"100000\"/><a:shade val=\"100000\"/></a:schemeClr></a:gs><a:gs pos=\"100000\"><a:schemeClr val=\"phClr\"><a:lumMod val=\"99000\"/><a:satMod val=\"120000\"/><a:shade val=\"78000\"/></a:schemeClr></a:gs></a:gsLst><a:lin ang=\"5400000\" scaled=\"0\"/></a:gradFill></a:fillStyleLst><a:lnStyleLst><a:ln w=\"6350\" cap=\"flat\" cmpd=\"sng\" algn=\"ctr\"><a:solidFill><a:schemeClr val=\"phClr\"/></a:solidFill><a:prstDash val=\"solid\"/><a:miter lim=\"800000\"/></a:ln><a:ln w=\"12700\" cap=\"flat\" cmpd=\"sng\" algn=\"ctr\"><a:solidFill><a:schemeClr val=\"phClr\"/></a:solidFill><a:prstDash val=\"solid\"/><a:miter lim=\"800000\"/></a:ln><a:ln w=\"19050\" cap=\"flat\" cmpd=\"sng\" algn=\"ctr\"><a:solidFill><a:schemeClr val=\"phClr\"/></a:solidFill><a:prstDash val=\"solid\"/><a:miter lim=\"800000\"/></a:ln></a:lnStyleLst><a:effectStyleLst><a:effectStyle><a:effectLst/></a:effectStyle><a:effectStyle><a:effectLst/></a:effectStyle><a:effectStyle><a:effectLst><a:outerShdw blurRad=\"57150\" dist=\"19050\" dir=\"5400000\" algn=\"ctr\" rotWithShape=\"0\"><a:srgbClr val=\"000000\"><a:alpha val=\"63000\"/></a:srgbClr></a:outerShdw></a:effectLst></a:effectStyle></a:effectStyleLst><a:bgFillStyleLst><a:solidFill><a:schemeClr val=\"phClr\"/></a:solidFill><a:solidFill><a:schemeClr val=\"phClr\"><a:tint val=\"95000\"/><a:satMod val=\"170000\"/></a:schemeClr></a:solidFill><a:gradFill rotWithShape=\"1\"><a:gsLst><a:gs pos=\"0\"><a:schemeClr val=\"phClr\"><a:tint val=\"93000\"/><a:satMod val=\"150000\"/><a:shade val=\"98000\"/><a:lumMod val=\"102000\"/></a:schemeClr></a:gs><a:gs pos=\"50000\"><a:schemeClr val=\"phClr\"><a:tint val=\"98000\"/><a:satMod val=\"130000\"/><a:shade val=\"90000\"/><a:lumMod val=\"103000\"/></a:schemeClr></a:gs><a:gs pos=\"100000\"><a:schemeClr val=\"phClr\"><a:shade val=\"63000\"/><a:satMod val=\"120000\"/></a:schemeClr></a:gs></a:gsLst><a:lin ang=\"5400000\" scaled=\"0\"/></a:gradFill></a:bgFillStyleLst></a:fmtScheme></a:themeElements><a:objectDefaults/><a:extraClrSchemeLst/><a:extLst><a:ext uri=\"{05A4C25C-085E-4340-85A3-A5531E510DB2}\"><thm15:themeFamily xmlns:thm15=\"http://schemas.microsoft.com/office/thememl/2012/main\" name=\"Office Theme\" id=\"{62F939B6-93AF-4DB8-9C6B-D6C7DFDC589F}\" vid=\"{4A3C46E8-61CC-4603-A589-7422A47A8E4A}\"/></a:ext></a:extLst></a:theme>"), o.file("xl/workbook.xml", "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?><workbook xmlns=\"http://schemas.openxmlformats.org/spreadsheetml/2006/main\" xmlns:r=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships\" xmlns:mc=\"http://schemas.openxmlformats.org/markup-compatibility/2006\" mc:Ignorable=\"x15\" xmlns:x15=\"http://schemas.microsoft.com/office/spreadsheetml/2010/11/main\"><fileVersion appName=\"xl\" lastEdited=\"7\" lowestEdited=\"6\" rupBuild=\"10507\"/><workbookPr/><bookViews><workbookView xWindow=\"0\" yWindow=\"500\" windowWidth=\"20960\" windowHeight=\"15960\"/></bookViews><sheets><sheet name=\"Sheet1\" sheetId=\"1\" r:id=\"rId1\"/></sheets><calcPr calcId=\"0\" concurrentCalc=\"0\"/></workbook>\n"), o.file("xl/worksheets/_rels/sheet1.xml.rels", "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?><Relationships xmlns=\"http://schemas.openxmlformats.org/package/2006/relationships\"><Relationship Id=\"rId1\" Type=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/table\" Target=\"../tables/table1.xml\"/></Relationships>\n");
1082
- {
1083
- let t = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>";
1084
- if (e.opts._type === M.BUBBLE || e.opts._type === M.BUBBLE3D) t += `<sst xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" count="${s}" uniqueCount="${s}">`;
1085
- else if (e.opts._type === M.SCATTER) t += `<sst xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" count="${r.length}" uniqueCount="${r.length}">`;
1086
- else if (c) {
1087
- let e = r.length;
1088
- r[0].labels.forEach((t) => e += t.filter((e) => e && e !== "").length), t += `<sst xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" count="${e}" uniqueCount="${e}">`, t += "<si><t/></si>";
1089
- } else {
1090
- let e = r.length + r[0].labels.length * r[0].labels[0].length + r[0].labels.length, n = r.length + r[0].labels.length * r[0].labels[0].length + 1;
1091
- t += `<sst xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" count="${e}" uniqueCount="${n}">`, t += "<si><t xml:space=\"preserve\"></t></si>";
1092
- }
1093
- e.opts._type === M.BUBBLE || e.opts._type === M.BUBBLE3D ? r.forEach((e, n) => {
1094
- n === 0 ? t += "<si><t>X-Axis</t></si>" : (t += `<si><t>${B(e.name || `Y-Axis${n}`)}</t></si>`, t += `<si><t>${B(`Size${n}`)}</t></si>`);
1095
- }) : r.forEach((e) => {
1096
- t += `<si><t>${B((e.name || " ").replace("X-Axis", "X-Values"))}</t></si>`;
1097
- }), e.opts._type !== M.BUBBLE && e.opts._type !== M.BUBBLE3D && e.opts._type !== M.SCATTER && r[0].labels.slice().reverse().forEach((e) => {
1098
- e.filter((e) => e && e !== "").forEach((e) => {
1099
- t += `<si><t>${B(e)}</t></si>`;
1100
- });
1101
- }), t += "</sst>\n", o.file("xl/sharedStrings.xml", t);
1102
- }
1103
- {
1104
- let t = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>";
1105
- if (e.opts._type === M.BUBBLE || e.opts._type === M.BUBBLE3D) {
1106
- t += `<table xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" id="1" name="Table1" displayName="Table1" ref="A1:${Z(s)}${s}" totalsRowShown="0">`, t += `<tableColumns count="${s}">`;
1107
- let e = 1;
1108
- r.forEach((n, r) => {
1109
- r === 0 ? t += `<tableColumn id="${r + 1}" name="X-Values"/>` : (t += `<tableColumn id="${r + e}" name="${n.name}"/>`, e++, t += `<tableColumn id="${r + e}" name="Size${r}"/>`);
1110
- });
1111
- } else e.opts._type === M.SCATTER ? (t += `<table xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" id="1" name="Table1" displayName="Table1" ref="A1:${Z(r.length)}${r[0].values.length + 1}" totalsRowShown="0">`, t += `<tableColumns count="${r.length}">`, r.forEach((e, n) => {
1112
- t += `<tableColumn id="${n + 1}" name="${n === 0 ? "X-Values" : "Y-Value "}${n}"/>`;
1113
- })) : (t += `<table xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" id="1" name="Table1" displayName="Table1" ref="A1:${Z(r.length + r[0].labels.length)}${r[0].labels[0].length + 1}'" totalsRowShown="0">`, t += `<tableColumns count="${r.length + r[0].labels.length}">`, r[0].labels.forEach((e, n) => {
1114
- t += `<tableColumn id="${n + 1}" name="Column${n + 1}"/>`;
1115
- }), r.forEach((e, n) => {
1116
- t += `<tableColumn id="${n + r[0].labels.length + 1}" name="${B(e.name)}"/>`;
1117
- }));
1118
- t += "</tableColumns>", t += "<tableStyleInfo showFirstColumn=\"0\" showLastColumn=\"0\" showRowStripes=\"1\" showColumnStripes=\"0\"/>", t += "</table>", o.file("xl/tables/table1.xml", t);
1119
- }
1120
- {
1121
- let t = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>";
1122
- if (t += "<worksheet xmlns=\"http://schemas.openxmlformats.org/spreadsheetml/2006/main\" xmlns:r=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships\" xmlns:mc=\"http://schemas.openxmlformats.org/markup-compatibility/2006\" mc:Ignorable=\"x14ac\" xmlns:x14ac=\"http://schemas.microsoft.com/office/spreadsheetml/2009/9/ac\">", e.opts._type === M.BUBBLE || e.opts._type === M.BUBBLE3D ? t += `<dimension ref="A1:${Z(s)}${r[0].values.length + 1}"/>` : e.opts._type === M.SCATTER ? t += `<dimension ref="A1:${Z(r.length)}${r[0].values.length + 1}"/>` : t += `<dimension ref="A1:${Z(r.length + 1)}${r[0].values.length + 1}"/>`, t += "<sheetViews><sheetView tabSelected=\"1\" workbookViewId=\"0\"><selection activeCell=\"B1\" sqref=\"B1\"/></sheetView></sheetViews>", t += "<sheetFormatPr baseColWidth=\"10\" defaultRowHeight=\"16\"/>", e.opts._type === M.BUBBLE || e.opts._type === M.BUBBLE3D) {
1123
- t += "<sheetData>", t += `<row r="1" spans="1:${s}">`, t += "<c r=\"A1\" t=\"s\"><v>0</v></c>";
1124
- for (let e = 1; e < s; e++) t += `<c r="${Z(e + 1)}1" t="s"><v>${e}</v></c>`;
1125
- t += "</row>", r[0].values.forEach((e, n) => {
1126
- t += `<row r="${n + 2}" spans="1:${s}">`, t += `<c r="A${n + 2}"><v>${e}</v></c>`;
1127
- let i = 2;
1128
- for (let e = 1; e < r.length; e++) t += `<c r="${Z(i)}${n + 2}"><v>${r[e].values[n] || ""}</v></c>`, i++, t += `<c r="${Z(i)}${n + 2}"><v>${r[e].sizes[n] || ""}</v></c>`, i++;
1129
- t += "</row>";
1130
- });
1131
- } else if (e.opts._type === M.SCATTER) {
1132
- t += "<sheetData>", t += `<row r="1" spans="1:${r.length}">`;
1133
- for (let e = 0; e < r.length; e++) t += `<c r="${Z(e + 1)}1" t="s"><v>${e}</v></c>`;
1134
- t += "</row>", r[0].values.forEach((e, n) => {
1135
- t += `<row r="${n + 2}" spans="1:${r.length}">`, t += `<c r="A${n + 2}"><v>${e}</v></c>`;
1136
- for (let e = 1; e < r.length; e++) t += `<c r="${Z(e + 1)}${n + 2}"><v>${r[e].values[n] || r[e].values[n] === 0 ? r[e].values[n] : ""}</v></c>`;
1137
- t += "</row>";
1138
- });
1139
- } else if (t += "<sheetData>", c) {
1140
- t += `<row r="1" spans="1:${r.length + r[0].labels.length}">`;
1141
- for (let e = 0; e < r[0].labels.length; e++) t += `<c r="${Z(e + 1)}1" t="s"><v>0</v></c>`;
1142
- for (let e = r[0].labels.length - 1; e < r.length + r[0].labels.length - 1; e++) t += `<c r="${Z(e + r[0].labels.length)}1" t="s"><v>${e}</v></c>`;
1143
- t += "</row>";
1144
- let e = r.length, n = r[0].labels[0].length, i = r[0].labels.length;
1145
- for (let a = 0; a < n; a++) {
1146
- t += `<row r="${a + 2}" spans="1:${e + i}">`;
1147
- let n = e, o = r[0].labels.slice().reverse();
1148
- o.forEach((e, r) => {
1149
- if (e[a]) {
1150
- let e = r === 0 ? 1 : o[r - 1].filter((e) => e && e !== "").length;
1151
- n += e, t += `<c r="${Z(a + 1 + r)}${a + 2}" t="s"><v>${n}</v></c>`;
1152
- }
1153
- });
1154
- for (let n = 0; n < e; n++) t += `<c r="${Z(i + n + 1)}${a + 2}"><v>${r[n].values[a] || 0}</v></c>`;
1155
- t += "</row>";
1156
- }
1157
- } else {
1158
- t += `<row r="1" spans="1:${r.length + r[0].labels.length}">`, r[0].labels.forEach((e, n) => {
1159
- t += `<c r="${Z(n + 1)}1" t="s"><v>0</v></c>`;
1160
- });
1161
- for (let e = 0; e < r.length; e++) t += `<c r="${Z(e + 1 + r[0].labels.length)}1" t="s"><v>${e + 1}</v></c>`;
1162
- t += "</row>", r[0].labels[0].forEach((e, n) => {
1163
- t += `<row r="${n + 2}" spans="1:${r.length + r[0].labels.length}">`;
1164
- for (let e = r[0].labels.length - 1; e >= 0; e--) t += `<c r="${Z(r[0].labels.length - e)}${n + 2}" t="s">`, t += `<v>${r.length + n + 1}</v>`, t += "</c>";
1165
- for (let e = 0; e < r.length; e++) t += `<c r="${Z(r[0].labels.length + e + 1)}${n + 2}"><v>${r[e].values[n] || ""}</v></c>`;
1166
- t += "</row>";
1167
- });
1168
- }
1169
- t += "</sheetData>", t += "<pageMargins left=\"0.7\" right=\"0.7\" top=\"0.75\" bottom=\"0.75\" header=\"0.3\" footer=\"0.3\"/>", t += "</worksheet>\n", o.file("xl/worksheets/sheet1.xml", t);
1170
- }
1171
- o.generateAsync({ type: "base64" }).then((n) => {
1172
- t.file(`ppt/embeddings/Microsoft_Excel_Worksheet${e.globalId}.xlsx`, n, { base64: !0 }), t.file("ppt/charts/_rels/" + e.fileName + ".rels", `<?xml version="1.0" encoding="UTF-8" standalone="yes"?><Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"><Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/package" Target="../embeddings/Microsoft_Excel_Worksheet${e.globalId}.xlsx"/></Relationships>`), t.file(`ppt/charts/${e.fileName}`, Me(e)), i("");
1173
- }).catch((e) => {
1174
- a(e);
1175
- });
1176
- });
1177
- });
1178
- }
1179
- function Me(e) {
1180
- let t = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>", n = !1;
1181
- if (t += "<c:chartSpace xmlns:c=\"http://schemas.openxmlformats.org/drawingml/2006/chart\" xmlns:a=\"http://schemas.openxmlformats.org/drawingml/2006/main\" xmlns:r=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships\">", t += "<c:date1904 val=\"0\"/>", t += `<c:roundedCorners val="${e.opts.chartArea.roundedCorners ? "1" : "0"}"/>`, t += "<c:chart>", e.opts.showTitle ? (t += X({
1182
- title: e.opts.title || "Chart Title",
1183
- color: e.opts.titleColor,
1184
- fontFace: e.opts.titleFontFace,
1185
- fontSize: e.opts.titleFontSize || _,
1186
- titleAlign: e.opts.titleAlign,
1187
- titleBold: e.opts.titleBold,
1188
- titlePos: e.opts.titlePos,
1189
- titleRotate: e.opts.titleRotate
1190
- }, e.opts.x, e.opts.y), t += "<c:autoTitleDeleted val=\"0\"/>") : t += "<c:autoTitleDeleted val=\"1\"/>", e.opts._type === M.BAR3D && (t += `<c:view3D><c:rotX val="${e.opts.v3DRotX}"/><c:rotY val="${e.opts.v3DRotY}"/><c:rAngAx val="${+!!e.opts.v3DRAngAx}"/><c:perspective val="${e.opts.v3DPerspective}"/></c:view3D>`), t += "<c:plotArea>", e.opts.layout ? (t += "<c:layout>", t += " <c:manualLayout>", t += " <c:layoutTarget val=\"inner\" />", t += " <c:xMode val=\"edge\" />", t += " <c:yMode val=\"edge\" />", t += " <c:x val=\"" + (e.opts.layout.x || 0) + "\" />", t += " <c:y val=\"" + (e.opts.layout.y || 0) + "\" />", t += " <c:w val=\"" + (e.opts.layout.w || 1) + "\" />", t += " <c:h val=\"" + (e.opts.layout.h || 1) + "\" />", t += " </c:manualLayout>", t += "</c:layout>") : t += "<c:layout/>", Array.isArray(e.opts._type) ? e.opts._type.forEach((r) => {
1191
- let i = Object.assign(Object.assign({}, e.opts), r.options), a = i.secondaryValAxis ? w : C, o = i.secondaryCatAxis ? ee : T;
1192
- n ||= i.secondaryValAxis, t += Ne(r.type, r.data, i, a, o);
1193
- }) : t += Ne(e.opts._type, e.data, e.opts, C, T), e.opts._type !== M.PIE && e.opts._type !== M.DOUGHNUT) {
1194
- if (e.opts.valAxes && e.opts.valAxes.length > 1 && !n) throw Error("Secondary axis must be used by one of the multiple charts");
1195
- if (e.opts.catAxes) {
1196
- if (!e.opts.valAxes || e.opts.valAxes.length !== e.opts.catAxes.length) throw Error("There must be the same number of value and category axes.");
1197
- t += Pe(Object.assign(Object.assign({}, e.opts), e.opts.catAxes[0]), T, C);
1198
- } else t += Pe(e.opts, T, C);
1199
- e.opts.valAxes ? (t += Fe(Object.assign(Object.assign({}, e.opts), e.opts.valAxes[0]), C), e.opts.valAxes[1] && (t += Fe(Object.assign(Object.assign({}, e.opts), e.opts.valAxes[1]), w))) : (t += Fe(e.opts, C), e.opts._type === M.BAR3D && (t += Ie(e.opts, te, C))), e.opts?.catAxes && e.opts?.catAxes[1] && (t += Pe(Object.assign(Object.assign({}, e.opts), e.opts.catAxes[1]), ee, w));
1200
- }
1201
- return e.opts.showDataTable && (t += "<c:dTable>", t += ` <c:showHorzBorder val="${+!!e.opts.showDataTableHorzBorder}"/>`, t += ` <c:showVertBorder val="${+!!e.opts.showDataTableVertBorder}"/>`, t += ` <c:showOutline val="${+!!e.opts.showDataTableOutline}"/>`, t += ` <c:showKeys val="${+!!e.opts.showDataTableKeys}"/>`, t += " <c:spPr>", t += " <a:noFill/>", t += " <a:ln w=\"9525\" cap=\"flat\" cmpd=\"sng\" algn=\"ctr\"><a:solidFill><a:schemeClr val=\"tx1\"><a:lumMod val=\"15000\"/><a:lumOff val=\"85000\"/></a:schemeClr></a:solidFill><a:round/></a:ln>", t += " <a:effectLst/>", t += " </c:spPr>", t += " <c:txPr>", t += " <a:bodyPr rot=\"0\" spcFirstLastPara=\"1\" vertOverflow=\"ellipsis\" vert=\"horz\" wrap=\"square\" anchor=\"ctr\" anchorCtr=\"1\"/>", t += " <a:lstStyle/>", t += " <a:p>", t += " <a:pPr rtl=\"0\">", t += ` <a:defRPr sz="${Math.round((e.opts.dataTableFontSize || g) * 100)}" b="0" i="0" u="none" strike="noStrike" kern="1200" baseline="0">`, t += " <a:solidFill><a:schemeClr val=\"tx1\"><a:lumMod val=\"65000\"/><a:lumOff val=\"35000\"/></a:schemeClr></a:solidFill>", t += " <a:latin typeface=\"+mn-lt\"/>", t += " <a:ea typeface=\"+mn-ea\"/>", t += " <a:cs typeface=\"+mn-cs\"/>", t += " </a:defRPr>", t += " </a:pPr>", t += " <a:endParaRPr lang=\"en-US\"/>", t += " </a:p>", t += " </c:txPr>", t += "</c:dTable>"), t += " <c:spPr>", t += e.opts.plotArea.fill?.color ? G(e.opts.plotArea.fill) : "<a:noFill/>", t += e.opts.plotArea.border ? `<a:ln w="${H(e.opts.plotArea.border.pt)}" cap="flat">${G(e.opts.plotArea.border.color)}</a:ln>` : "<a:ln><a:noFill/></a:ln>", t += " <a:effectLst/>", t += " </c:spPr>", t += "</c:plotArea>", e.opts.showLegend && (t += "<c:legend>", t += "<c:legendPos val=\"" + e.opts.legendPos + "\"/>", t += "<c:overlay val=\"0\"/>", (e.opts.legendFontFace || e.opts.legendFontSize || e.opts.legendColor) && (t += "<c:txPr>", t += " <a:bodyPr/>", t += " <a:lstStyle/>", t += " <a:p>", t += " <a:pPr>", t += e.opts.legendFontSize ? `<a:defRPr sz="${Math.round(Number(e.opts.legendFontSize) * 100)}">` : "<a:defRPr>", e.opts.legendColor && (t += G(e.opts.legendColor)), e.opts.legendFontFace && (t += "<a:latin typeface=\"" + e.opts.legendFontFace + "\"/>"), e.opts.legendFontFace && (t += "<a:cs typeface=\"" + e.opts.legendFontFace + "\"/>"), t += " </a:defRPr>", t += " </a:pPr>", t += " <a:endParaRPr lang=\"en-US\"/>", t += " </a:p>", t += "</c:txPr>"), t += "</c:legend>"), t += " <c:plotVisOnly val=\"1\"/>", t += " <c:dispBlanksAs val=\"" + e.opts.displayBlanksAs + "\"/>", e.opts._type === M.SCATTER && (t += "<c:showDLblsOverMax val=\"1\"/>"), t += "</c:chart>", t += "<c:spPr>", t += e.opts.chartArea.fill?.color ? G(e.opts.chartArea.fill) : "<a:noFill/>", t += e.opts.chartArea.border ? `<a:ln w="${H(e.opts.chartArea.border.pt)}" cap="flat">${G(e.opts.chartArea.border.color)}</a:ln>` : "<a:ln><a:noFill/></a:ln>", t += " <a:effectLst/>", t += "</c:spPr>", t += "<c:externalData r:id=\"rId1\"><c:autoUpdate val=\"0\"/></c:externalData>", t += "</c:chartSpace>", t;
1202
- }
1203
- function Ne(e, t, n, r, i, a) {
1204
- let o = -1, s = 1, c = null, l = "";
1205
- switch (e) {
1206
- case M.AREA:
1207
- case M.BAR:
1208
- case M.BAR3D:
1209
- case M.LINE:
1210
- case M.RADAR:
1211
- l += `<c:${e}Chart>`, e === M.AREA && n.barGrouping === "stacked" && (l += "<c:grouping val=\"" + n.barGrouping + "\"/>"), (e === M.BAR || e === M.BAR3D) && (l += "<c:barDir val=\"" + n.barDir + "\"/>", l += "<c:grouping val=\"" + (n.barGrouping || "clustered") + "\"/>"), e === M.RADAR && (l += "<c:radarStyle val=\"" + n.radarStyle + "\"/>"), l += "<c:varyColors val=\"0\"/>", t.forEach((r) => {
1212
- o++, l += "<c:ser>", l += ` <c:idx val="${r._dataIndex}"/><c:order val="${r._dataIndex}"/>`, l += " <c:tx>", l += " <c:strRef>", l += " <c:f>Sheet1!$" + Z(r._dataIndex + r.labels.length + 1) + "$1</c:f>", l += " <c:strCache><c:ptCount val=\"1\"/><c:pt idx=\"0\"><c:v>" + B(r.name) + "</c:v></c:pt></c:strCache>", l += " </c:strRef>", l += " </c:tx>";
1213
- let i = n.chartColors ? n.chartColors[o % n.chartColors.length] : null;
1214
- l += " <c:spPr>", i === "transparent" ? l += "<a:noFill/>" : n.chartColorsOpacity ? l += "<a:solidFill>" + W(i, `<a:alpha val="${Math.round(n.chartColorsOpacity * 1e3)}"/>`) + "</a:solidFill>" : l += "<a:solidFill>" + W(i) + "</a:solidFill>", e === M.LINE || e === M.RADAR ? n.lineSize === 0 ? l += "<a:ln><a:noFill/></a:ln>" : (l += `<a:ln w="${H(n.lineSize)}" cap="${Q(n.lineCap)}"><a:solidFill>${W(i)}</a:solidFill>`, l += "<a:prstDash val=\"" + (n.lineDash || "solid") + "\"/><a:round/></a:ln>") : n.dataBorder && (l += `<a:ln w="${H(n.dataBorder.pt)}" cap="${Q(n.lineCap)}"><a:solidFill>${W(n.dataBorder.color)}</a:solidFill><a:prstDash val="solid"/><a:round/></a:ln>`), l += q(n.shadow, x), l += " </c:spPr>", l += " <c:invertIfNegative val=\"0\"/>", e !== M.RADAR && (l += "<c:dLbls>", l += `<c:numFmt formatCode="${B(n.dataLabelFormatCode) || "General"}" sourceLinked="0"/>`, n.dataLabelBkgrdColors && (l += `<c:spPr><a:solidFill>${W(i)}</a:solidFill></c:spPr>`), l += "<c:txPr><a:bodyPr/><a:lstStyle/><a:p><a:pPr>", l += `<a:defRPr b="${+!!n.dataLabelFontBold}" i="${+!!n.dataLabelFontItalic}" strike="noStrike" sz="${Math.round((n.dataLabelFontSize || g) * 100)}" u="none">`, l += `<a:solidFill>${W(n.dataLabelColor || h)}</a:solidFill>`, l += `<a:latin typeface="${n.dataLabelFontFace || "Arial"}"/>`, l += "</a:defRPr></a:pPr></a:p></c:txPr>", n.dataLabelPosition && (l += `<c:dLblPos val="${n.dataLabelPosition}"/>`), l += "<c:showLegendKey val=\"0\"/>", l += `<c:showVal val="${n.showValue ? "1" : "0"}"/>`, l += `<c:showCatName val="0"/><c:showSerName val="${n.showSerName ? "1" : "0"}"/><c:showPercent val="0"/><c:showBubbleSize val="0"/>`, l += `<c:showLeaderLines val="${n.showLeaderLines ? "1" : "0"}"/>`, l += "</c:dLbls>"), (e === M.LINE || e === M.RADAR) && (l += "<c:marker>", l += " <c:symbol val=\"" + n.lineDataSymbol + "\"/>", n.lineDataSymbolSize && (l += `<c:size val="${n.lineDataSymbolSize}"/>`), l += " <c:spPr>", l += ` <a:solidFill>${W(n.chartColors[r._dataIndex + 1 > n.chartColors.length ? Math.floor(Math.random() * n.chartColors.length) : r._dataIndex])}</a:solidFill>`, l += ` <a:ln w="${n.lineDataSymbolLineSize}" cap="flat"><a:solidFill>${W(n.lineDataSymbolLineColor || i)}</a:solidFill><a:prstDash val="solid"/><a:round/></a:ln>`, l += " <a:effectLst/>", l += " </c:spPr>", l += "</c:marker>"), (e === M.BAR || e === M.BAR3D) && t.length === 1 && (n.chartColors && n.chartColors !== D && n.chartColors.length > 1 || n.invertedColors?.length) && r.values.forEach((t, r) => {
1215
- let i = t < 0 ? n.invertedColors || n.chartColors || D : n.chartColors || [];
1216
- l += " <c:dPt>", l += ` <c:idx val="${r}"/>`, l += " <c:invertIfNegative val=\"0\"/>", l += " <c:bubble3D val=\"0\"/>", l += " <c:spPr>", n.lineSize === 0 ? l += "<a:ln><a:noFill/></a:ln>" : e === M.BAR ? (l += "<a:solidFill>", l += " <a:srgbClr val=\"" + i[r % i.length] + "\"/>", l += "</a:solidFill>") : (l += "<a:ln>", l += " <a:solidFill>", l += " <a:srgbClr val=\"" + i[r % i.length] + "\"/>", l += " </a:solidFill>", l += "</a:ln>"), l += q(n.shadow, x), l += " </c:spPr>", l += " </c:dPt>";
1217
- }), l += "<c:cat>", n.catLabelFormatCode ? (l += " <c:numRef>", l += ` <c:f>Sheet1!$A$2:$A$${r.labels[0].length + 1}</c:f>`, l += " <c:numCache>", l += " <c:formatCode>" + (n.catLabelFormatCode || "General") + "</c:formatCode>", l += ` <c:ptCount val="${r.labels[0].length}"/>`, r.labels[0].forEach((e, t) => l += `<c:pt idx="${t}"><c:v>${B(e)}</c:v></c:pt>`), l += " </c:numCache>", l += " </c:numRef>") : (l += " <c:multiLvlStrRef>", l += ` <c:f>Sheet1!$A$2:$${Z(r.labels.length)}$${r.labels[0].length + 1}</c:f>`, l += " <c:multiLvlStrCache>", l += ` <c:ptCount val="${r.labels[0].length}"/>`, r.labels.forEach((e) => {
1218
- l += "<c:lvl>", e.forEach((e, t) => l += `<c:pt idx="${t}"><c:v>${B(e)}</c:v></c:pt>`), l += "</c:lvl>";
1219
- }), l += " </c:multiLvlStrCache>", l += " </c:multiLvlStrRef>"), l += "</c:cat>", l += "<c:val>", l += " <c:numRef>", l += `<c:f>Sheet1!$${Z(r._dataIndex + r.labels.length + 1)}$2:$${Z(r._dataIndex + r.labels.length + 1)}$${r.labels[0].length + 1}</c:f>`, l += " <c:numCache>", l += " <c:formatCode>" + (n.valLabelFormatCode || n.dataTableFormatCode || "General") + "</c:formatCode>", l += ` <c:ptCount val="${r.labels[0].length}"/>`, r.values.forEach((e, t) => l += `<c:pt idx="${t}"><c:v>${e || e === 0 ? e : ""}</c:v></c:pt>`), l += " </c:numCache>", l += " </c:numRef>", l += "</c:val>", e === M.LINE && (l += "<c:smooth val=\"" + (n.lineSmooth ? "1" : "0") + "\"/>"), l += "</c:ser>";
1220
- }), l += " <c:dLbls>", l += ` <c:numFmt formatCode="${B(n.dataLabelFormatCode) || "General"}" sourceLinked="0"/>`, l += " <c:txPr>", l += " <a:bodyPr/>", l += " <a:lstStyle/>", l += " <a:p><a:pPr>", l += ` <a:defRPr b="${+!!n.dataLabelFontBold}" i="${+!!n.dataLabelFontItalic}" strike="noStrike" sz="${Math.round((n.dataLabelFontSize || g) * 100)}" u="none">`, l += " <a:solidFill>" + W(n.dataLabelColor || h) + "</a:solidFill>", l += " <a:latin typeface=\"" + (n.dataLabelFontFace || "Arial") + "\"/>", l += " </a:defRPr>", l += " </a:pPr></a:p>", l += " </c:txPr>", n.dataLabelPosition && (l += " <c:dLblPos val=\"" + n.dataLabelPosition + "\"/>"), l += " <c:showLegendKey val=\"0\"/>", l += " <c:showVal val=\"" + (n.showValue ? "1" : "0") + "\"/>", l += " <c:showCatName val=\"0\"/>", l += " <c:showSerName val=\"" + (n.showSerName ? "1" : "0") + "\"/>", l += " <c:showPercent val=\"0\"/>", l += " <c:showBubbleSize val=\"0\"/>", l += ` <c:showLeaderLines val="${n.showLeaderLines ? "1" : "0"}"/>`, l += " </c:dLbls>", e === M.BAR ? (l += ` <c:gapWidth val="${n.barGapWidthPct}"/>`, l += ` <c:overlap val="${(n.barGrouping || "").includes("tacked") ? 100 : n.barOverlapPct ? n.barOverlapPct : 0}"/>`) : e === M.BAR3D ? (l += ` <c:gapWidth val="${n.barGapWidthPct}"/>`, l += ` <c:gapDepth val="${n.barGapDepthPct}"/>`, l += " <c:shape val=\"" + n.bar3DShape + "\"/>") : e === M.LINE && (l += " <c:marker val=\"1\"/>"), l += `<c:axId val="${i}"/><c:axId val="${r}"/><c:axId val="${te}"/>`, l += `</c:${e}Chart>`;
1221
- break;
1222
- case M.SCATTER:
1223
- l += "<c:" + e + "Chart>", l += "<c:scatterStyle val=\"lineMarker\"/>", l += "<c:varyColors val=\"0\"/>", o = -1, t.filter((e, t) => t > 0).forEach((e, r) => {
1224
- o++, l += "<c:ser>", l += ` <c:idx val="${r}"/>`, l += ` <c:order val="${r}"/>`, l += " <c:tx>", l += " <c:strRef>", l += ` <c:f>Sheet1!$${Z(r + 2)}$1</c:f>`, l += " <c:strCache><c:ptCount val=\"1\"/><c:pt idx=\"0\"><c:v>" + B(e.name) + "</c:v></c:pt></c:strCache>", l += " </c:strRef>", l += " </c:tx>", l += " <c:spPr>";
1225
- {
1226
- let e = n.chartColors[o % n.chartColors.length];
1227
- e === "transparent" ? l += "<a:noFill/>" : n.chartColorsOpacity ? l += "<a:solidFill>" + W(e, "<a:alpha val=\"" + Math.round(n.chartColorsOpacity * 1e3).toString() + "\"/>") + "</a:solidFill>" : l += "<a:solidFill>" + W(e) + "</a:solidFill>", n.lineSize === 0 ? l += "<a:ln><a:noFill/></a:ln>" : (l += `<a:ln w="${H(n.lineSize)}" cap="${Q(n.lineCap)}"><a:solidFill>${W(e)}</a:solidFill>`, l += `<a:prstDash val="${n.lineDash || "solid"}"/><a:round/></a:ln>`), l += q(n.shadow, x);
1228
- }
1229
- if (l += " </c:spPr>", l += "<c:marker>", l += " <c:symbol val=\"" + n.lineDataSymbol + "\"/>", n.lineDataSymbolSize && (l += `<c:size val="${n.lineDataSymbolSize}"/>`), l += "<c:spPr>", l += `<a:solidFill>${W(n.chartColors[r + 1 > n.chartColors.length ? Math.floor(Math.random() * n.chartColors.length) : r])}</a:solidFill>`, l += `<a:ln w="${n.lineDataSymbolLineSize}" cap="flat"><a:solidFill>${W(n.lineDataSymbolLineColor || n.chartColors[o % n.chartColors.length])}</a:solidFill><a:prstDash val="solid"/><a:round/></a:ln>`, l += "<a:effectLst/>", l += "</c:spPr>", l += "</c:marker>", n.showLabel) {
1230
- let t = z("-xxxx-xxxx-xxxx-xxxxxxxxxxxx");
1231
- e.labels[0] && (n.dataLabelFormatScatter === "custom" || n.dataLabelFormatScatter === "customXY") && (l += "<c:dLbls>", e.labels[0].forEach((r, i) => {
1232
- (n.dataLabelFormatScatter === "custom" || n.dataLabelFormatScatter === "customXY") && (l += " <c:dLbl>", l += ` <c:idx val="${i}"/>`, l += " <c:tx>", l += " <c:rich>", l += " <a:bodyPr>", l += " <a:spAutoFit/>", l += " </a:bodyPr>", l += " <a:lstStyle/>", l += " <a:p>", l += " <a:pPr>", l += " <a:defRPr/>", l += " </a:pPr>", l += " <a:r>", l += " <a:rPr lang=\"" + (n.lang || "en-US") + "\" dirty=\"0\"/>", l += " <a:t>" + B(r) + "</a:t>", l += " </a:r>", n.dataLabelFormatScatter === "customXY" && !/^ *$/.test(r) && (l += " <a:r>", l += " <a:rPr lang=\"" + (n.lang || "en-US") + "\" baseline=\"0\" dirty=\"0\"/>", l += " <a:t> (</a:t>", l += " </a:r>", l += " <a:fld id=\"{" + z("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx") + "}\" type=\"XVALUE\">", l += " <a:rPr lang=\"" + (n.lang || "en-US") + "\" baseline=\"0\"/>", l += " <a:pPr>", l += " <a:defRPr/>", l += " </a:pPr>", l += " <a:t>[" + B(e.name) + "</a:t>", l += " </a:fld>", l += " <a:r>", l += " <a:rPr lang=\"" + (n.lang || "en-US") + "\" baseline=\"0\" dirty=\"0\"/>", l += " <a:t>, </a:t>", l += " </a:r>", l += " <a:fld id=\"{" + z("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx") + "}\" type=\"YVALUE\">", l += " <a:rPr lang=\"" + (n.lang || "en-US") + "\" baseline=\"0\"/>", l += " <a:pPr>", l += " <a:defRPr/>", l += " </a:pPr>", l += " <a:t>[" + B(e.name) + "]</a:t>", l += " </a:fld>", l += " <a:r>", l += " <a:rPr lang=\"" + (n.lang || "en-US") + "\" baseline=\"0\" dirty=\"0\"/>", l += " <a:t>)</a:t>", l += " </a:r>", l += " <a:endParaRPr lang=\"" + (n.lang || "en-US") + "\" dirty=\"0\"/>"), l += " </a:p>", l += " </c:rich>", l += " </c:tx>", l += " <c:spPr>", l += " <a:noFill/>", l += " <a:ln>", l += " <a:noFill/>", l += " </a:ln>", l += " <a:effectLst/>", l += " </c:spPr>", n.dataLabelPosition && (l += " <c:dLblPos val=\"" + n.dataLabelPosition + "\"/>"), l += " <c:showLegendKey val=\"0\"/>", l += " <c:showVal val=\"0\"/>", l += " <c:showCatName val=\"0\"/>", l += " <c:showSerName val=\"0\"/>", l += " <c:showPercent val=\"0\"/>", l += " <c:showBubbleSize val=\"0\"/>", l += " <c:showLeaderLines val=\"1\"/>", l += " <c:extLst>", l += " <c:ext uri=\"{CE6537A1-D6FC-4f65-9D91-7224C49458BB}\" xmlns:c15=\"http://schemas.microsoft.com/office/drawing/2012/chart\"/>", l += " <c:ext uri=\"{C3380CC4-5D6E-409C-BE32-E72D297353CC}\" xmlns:c16=\"http://schemas.microsoft.com/office/drawing/2014/chart\">", l += ` <c16:uniqueId val="{${"00000000".substring(0, 8 - (i + 1).toString().length).toString()}${i + 1}${t}}"/>`, l += " </c:ext>", l += " </c:extLst>", l += "</c:dLbl>");
1233
- }), l += "</c:dLbls>"), n.dataLabelFormatScatter === "XY" && (l += "<c:dLbls>", l += " <c:spPr>", l += " <a:noFill/>", l += " <a:ln>", l += " <a:noFill/>", l += " </a:ln>", l += " <a:effectLst/>", l += " </c:spPr>", l += " <c:txPr>", l += " <a:bodyPr>", l += " <a:spAutoFit/>", l += " </a:bodyPr>", l += " <a:lstStyle/>", l += " <a:p>", l += " <a:pPr>", l += " <a:defRPr/>", l += " </a:pPr>", l += " <a:endParaRPr lang=\"en-US\"/>", l += " </a:p>", l += " </c:txPr>", n.dataLabelPosition && (l += " <c:dLblPos val=\"" + n.dataLabelPosition + "\"/>"), l += " <c:showLegendKey val=\"0\"/>", l += ` <c:showVal val="${n.showLabel ? "1" : "0"}"/>`, l += ` <c:showCatName val="${n.showLabel ? "1" : "0"}"/>`, l += ` <c:showSerName val="${n.showSerName ? "1" : "0"}"/>`, l += " <c:showPercent val=\"0\"/>", l += " <c:showBubbleSize val=\"0\"/>", l += " <c:extLst>", l += " <c:ext uri=\"{CE6537A1-D6FC-4f65-9D91-7224C49458BB}\" xmlns:c15=\"http://schemas.microsoft.com/office/drawing/2012/chart\">", l += " <c15:showLeaderLines val=\"1\"/>", l += " </c:ext>", l += " </c:extLst>", l += "</c:dLbls>");
1234
- }
1235
- t.length === 1 && n.chartColors !== D && e.values.forEach((e, t) => {
1236
- let r = e < 0 ? n.invertedColors || n.chartColors || D : n.chartColors || [];
1237
- l += " <c:dPt>", l += ` <c:idx val="${t}"/>`, l += " <c:invertIfNegative val=\"0\"/>", l += " <c:bubble3D val=\"0\"/>", l += " <c:spPr>", n.lineSize === 0 ? l += "<a:ln><a:noFill/></a:ln>" : (l += "<a:solidFill>", l += " <a:srgbClr val=\"" + r[t % r.length] + "\"/>", l += "</a:solidFill>"), l += q(n.shadow, x), l += " </c:spPr>", l += " </c:dPt>";
1238
- }), l += "<c:xVal>", l += " <c:numRef>", l += ` <c:f>Sheet1!$A$2:$A$${t[0].values.length + 1}</c:f>`, l += " <c:numCache>", l += " <c:formatCode>General</c:formatCode>", l += ` <c:ptCount val="${t[0].values.length}"/>`, t[0].values.forEach((e, t) => {
1239
- l += `<c:pt idx="${t}"><c:v>${e || e === 0 ? e : ""}</c:v></c:pt>`;
1240
- }), l += " </c:numCache>", l += " </c:numRef>", l += "</c:xVal>", l += "<c:yVal>", l += " <c:numRef>", l += ` <c:f>Sheet1!$${Z(r + 2)}$2:$${Z(r + 2)}$${t[0].values.length + 1}</c:f>`, l += " <c:numCache>", l += " <c:formatCode>General</c:formatCode>", l += ` <c:ptCount val="${t[0].values.length}"/>`, t[0].values.forEach((t, n) => {
1241
- l += `<c:pt idx="${n}"><c:v>${e.values[n] || e.values[n] === 0 ? e.values[n] : ""}</c:v></c:pt>`;
1242
- }), l += " </c:numCache>", l += " </c:numRef>", l += "</c:yVal>", l += "<c:smooth val=\"" + (n.lineSmooth ? "1" : "0") + "\"/>", l += "</c:ser>";
1243
- }), l += " <c:dLbls>", l += ` <c:numFmt formatCode="${B(n.dataLabelFormatCode) || "General"}" sourceLinked="0"/>`, l += " <c:txPr>", l += " <a:bodyPr/>", l += " <a:lstStyle/>", l += " <a:p><a:pPr>", l += ` <a:defRPr b="${n.dataLabelFontBold ? "1" : "0"}" i="${n.dataLabelFontItalic ? "1" : "0"}" strike="noStrike" sz="${Math.round((n.dataLabelFontSize || g) * 100)}" u="none">`, l += " <a:solidFill>" + W(n.dataLabelColor || h) + "</a:solidFill>", l += " <a:latin typeface=\"" + (n.dataLabelFontFace || "Arial") + "\"/>", l += " </a:defRPr>", l += " </a:pPr></a:p>", l += " </c:txPr>", n.dataLabelPosition && (l += " <c:dLblPos val=\"" + n.dataLabelPosition + "\"/>"), l += " <c:showLegendKey val=\"0\"/>", l += " <c:showVal val=\"" + (n.showValue ? "1" : "0") + "\"/>", l += " <c:showCatName val=\"0\"/>", l += " <c:showSerName val=\"" + (n.showSerName ? "1" : "0") + "\"/>", l += " <c:showPercent val=\"0\"/>", l += " <c:showBubbleSize val=\"0\"/>", l += " </c:dLbls>", l += `<c:axId val="${i}"/><c:axId val="${r}"/>`, l += "</c:" + e + "Chart>";
1244
- break;
1245
- case M.BUBBLE:
1246
- case M.BUBBLE3D:
1247
- l += "<c:bubbleChart>", l += "<c:varyColors val=\"0\"/>", o = -1, t.filter((e, t) => t > 0).forEach((r, i) => {
1248
- o++, l += "<c:ser>", l += ` <c:idx val="${i}"/>`, l += ` <c:order val="${i}"/>`, l += " <c:tx>", l += " <c:strRef>", l += " <c:f>Sheet1!$" + Z(s + 1) + "$1</c:f>", l += " <c:strCache><c:ptCount val=\"1\"/><c:pt idx=\"0\"><c:v>" + B(r.name) + "</c:v></c:pt></c:strCache>", l += " </c:strRef>", l += " </c:tx>";
1249
- {
1250
- l += "<c:spPr>";
1251
- let e = n.chartColors[o % n.chartColors.length];
1252
- e === "transparent" ? l += "<a:noFill/>" : n.chartColorsOpacity ? l += `<a:solidFill>${W(e, "<a:alpha val=\"" + Math.round(n.chartColorsOpacity * 1e3).toString() + "\"/>")}</a:solidFill>` : l += "<a:solidFill>" + W(e) + "</a:solidFill>", n.lineSize === 0 ? l += "<a:ln><a:noFill/></a:ln>" : n.dataBorder ? l += `<a:ln w="${H(n.dataBorder.pt)}" cap="flat"><a:solidFill>${W(n.dataBorder.color)}</a:solidFill><a:prstDash val="solid"/><a:round/></a:ln>` : (l += `<a:ln w="${H(n.lineSize)}" cap="flat"><a:solidFill>${W(e)}</a:solidFill>`, l += `<a:prstDash val="${n.lineDash || "solid"}"/><a:round/></a:ln>`), l += q(n.shadow, x), l += "</c:spPr>";
1253
- }
1254
- l += "<c:xVal>", l += " <c:numRef>", l += ` <c:f>Sheet1!$A$2:$A$${t[0].values.length + 1}</c:f>`, l += " <c:numCache>", l += " <c:formatCode>General</c:formatCode>", l += ` <c:ptCount val="${t[0].values.length}"/>`, t[0].values.forEach((e, t) => {
1255
- l += `<c:pt idx="${t}"><c:v>${e || e === 0 ? e : ""}</c:v></c:pt>`;
1256
- }), l += " </c:numCache>", l += " </c:numRef>", l += "</c:xVal>", l += "<c:yVal>", l += " <c:numRef>", l += `<c:f>Sheet1!$${Z(s + 1)}$2:$${Z(s + 1)}$${t[0].values.length + 1}</c:f>`, s++, l += " <c:numCache>", l += " <c:formatCode>General</c:formatCode>", l += ` <c:ptCount val="${t[0].values.length}"/>`, t[0].values.forEach((e, t) => {
1257
- l += `<c:pt idx="${t}"><c:v>${r.values[t] || r.values[t] === 0 ? r.values[t] : ""}</c:v></c:pt>`;
1258
- }), l += " </c:numCache>", l += " </c:numRef>", l += "</c:yVal>", l += " <c:bubbleSize>", l += " <c:numRef>", l += `<c:f>Sheet1!$${Z(s + 1)}$2:$${Z(s + 1)}$${r.sizes.length + 1}</c:f>`, s++, l += " <c:numCache>", l += " <c:formatCode>General</c:formatCode>", l += ` <c:ptCount val="${r.sizes.length}"/>`, r.sizes.forEach((e, t) => {
1259
- l += `<c:pt idx="${t}"><c:v>${e || ""}</c:v></c:pt>`;
1260
- }), l += " </c:numCache>", l += " </c:numRef>", l += " </c:bubbleSize>", l += " <c:bubble3D val=\"" + (e === M.BUBBLE3D ? "1" : "0") + "\"/>", l += "</c:ser>";
1261
- }), l += "<c:dLbls>", l += `<c:numFmt formatCode="${B(n.dataLabelFormatCode) || "General"}" sourceLinked="0"/>`, l += "<c:txPr><a:bodyPr/><a:lstStyle/><a:p><a:pPr>", l += `<a:defRPr b="${+!!n.dataLabelFontBold}" i="${+!!n.dataLabelFontItalic}" strike="noStrike" sz="${Math.round(Math.round(n.dataLabelFontSize || g) * 100)}" u="none">`, l += `<a:solidFill>${W(n.dataLabelColor || h)}</a:solidFill>`, l += `<a:latin typeface="${n.dataLabelFontFace || "Arial"}"/>`, l += "</a:defRPr></a:pPr></a:p></c:txPr>", n.dataLabelPosition && (l += `<c:dLblPos val="${n.dataLabelPosition}"/>`), l += "<c:showLegendKey val=\"0\"/>", l += `<c:showVal val="${n.showValue ? "1" : "0"}"/>`, l += `<c:showCatName val="0"/><c:showSerName val="${n.showSerName ? "1" : "0"}"/><c:showPercent val="0"/><c:showBubbleSize val="0"/>`, l += "<c:extLst>", l += " <c:ext uri=\"{CE6537A1-D6FC-4f65-9D91-7224C49458BB}\" xmlns:c15=\"http://schemas.microsoft.com/office/drawing/2012/chart\">", l += " <c15:showLeaderLines val=\"" + (n.showLeaderLines ? "1" : "0") + "\"/>", l += " </c:ext>", l += "</c:extLst>", l += "</c:dLbls>", l += `<c:axId val="${i}"/><c:axId val="${r}"/>`, l += "</c:bubbleChart>";
1262
- break;
1263
- case M.DOUGHNUT:
1264
- case M.PIE:
1265
- c = t[0], l += "<c:" + e + "Chart>", l += " <c:varyColors val=\"1\"/>", l += "<c:ser>", l += " <c:idx val=\"0\"/>", l += " <c:order val=\"0\"/>", l += " <c:tx>", l += " <c:strRef>", l += " <c:f>Sheet1!$B$1</c:f>", l += " <c:strCache>", l += " <c:ptCount val=\"1\"/>", l += " <c:pt idx=\"0\"><c:v>" + B(c.name) + "</c:v></c:pt>", l += " </c:strCache>", l += " </c:strRef>", l += " </c:tx>", l += " <c:spPr>", l += " <a:solidFill><a:schemeClr val=\"accent1\"/></a:solidFill>", l += " <a:ln w=\"9525\" cap=\"flat\"><a:solidFill><a:srgbClr val=\"F9F9F9\"/></a:solidFill><a:prstDash val=\"solid\"/><a:round/></a:ln>", n.dataNoEffects ? l += "<a:effectLst/>" : l += q(n.shadow, x), l += " </c:spPr>", c.labels[0].forEach((e, t) => {
1266
- l += "<c:dPt>", l += ` <c:idx val="${t}"/>`, l += " <c:bubble3D val=\"0\"/>", l += " <c:spPr>", l += `<a:solidFill>${W(n.chartColors[t + 1 > n.chartColors.length ? Math.floor(Math.random() * n.chartColors.length) : t])}</a:solidFill>`, n.dataBorder && (l += `<a:ln w="${H(n.dataBorder.pt)}" cap="flat"><a:solidFill>${W(n.dataBorder.color)}</a:solidFill><a:prstDash val="solid"/><a:round/></a:ln>`), l += q(n.shadow, x), l += " </c:spPr>", l += "</c:dPt>";
1267
- }), l += "<c:dLbls>", c.labels[0].forEach((t, r) => {
1268
- l += "<c:dLbl>", l += ` <c:idx val="${r}"/>`, l += ` <c:numFmt formatCode="${B(n.dataLabelFormatCode) || "General"}" sourceLinked="0"/>`, l += " <c:spPr/><c:txPr>", l += " <a:bodyPr/><a:lstStyle/>", l += " <a:p><a:pPr>", l += ` <a:defRPr sz="${Math.round((n.dataLabelFontSize || g) * 100)}" b="${+!!n.dataLabelFontBold}" i="${+!!n.dataLabelFontItalic}" u="none" strike="noStrike">`, l += " <a:solidFill>" + W(n.dataLabelColor || h) + "</a:solidFill>", l += ` <a:latin typeface="${n.dataLabelFontFace || "Arial"}"/>`, l += " </a:defRPr>", l += " </a:pPr></a:p>", l += " </c:txPr>", e === M.PIE && n.dataLabelPosition && (l += `<c:dLblPos val="${n.dataLabelPosition}"/>`), l += " <c:showLegendKey val=\"0\"/>", l += " <c:showVal val=\"" + (n.showValue ? "1" : "0") + "\"/>", l += " <c:showCatName val=\"" + (n.showLabel ? "1" : "0") + "\"/>", l += " <c:showSerName val=\"" + (n.showSerName ? "1" : "0") + "\"/>", l += " <c:showPercent val=\"" + (n.showPercent ? "1" : "0") + "\"/>", l += " <c:showBubbleSize val=\"0\"/>", l += " </c:dLbl>";
1269
- }), l += ` <c:numFmt formatCode="${B(n.dataLabelFormatCode) || "General"}" sourceLinked="0"/>`, l += " <c:txPr>", l += " <a:bodyPr/>", l += " <a:lstStyle/>", l += " <a:p>", l += " <a:pPr>", l += ` <a:defRPr sz="1800" b="${n.dataLabelFontBold ? "1" : "0"}" i="${n.dataLabelFontItalic ? "1" : "0"}" u="none" strike="noStrike">`, l += " <a:solidFill><a:srgbClr val=\"000000\"/></a:solidFill><a:latin typeface=\"Arial\"/>", l += " </a:defRPr>", l += " </a:pPr>", l += " </a:p>", l += " </c:txPr>", l += e === M.PIE ? "<c:dLblPos val=\"ctr\"/>" : "", l += " <c:showLegendKey val=\"0\"/>", l += " <c:showVal val=\"0\"/>", l += " <c:showCatName val=\"1\"/>", l += " <c:showSerName val=\"0\"/>", l += " <c:showPercent val=\"1\"/>", l += " <c:showBubbleSize val=\"0\"/>", l += ` <c:showLeaderLines val="${n.showLeaderLines ? "1" : "0"}"/>`, l += "</c:dLbls>", l += "<c:cat>", l += " <c:strRef>", l += ` <c:f>Sheet1!$A$2:$A$${c.labels[0].length + 1}</c:f>`, l += " <c:strCache>", l += ` <c:ptCount val="${c.labels[0].length}"/>`, c.labels[0].forEach((e, t) => {
1270
- l += `<c:pt idx="${t}"><c:v>${B(e)}</c:v></c:pt>`;
1271
- }), l += " </c:strCache>", l += " </c:strRef>", l += "</c:cat>", l += " <c:val>", l += " <c:numRef>", l += ` <c:f>Sheet1!$B$2:$B$${c.labels[0].length + 1}</c:f>`, l += " <c:numCache>", l += ` <c:ptCount val="${c.labels[0].length}"/>`, c.values.forEach((e, t) => {
1272
- l += `<c:pt idx="${t}"><c:v>${e || e === 0 ? e : ""}</c:v></c:pt>`;
1273
- }), l += " </c:numCache>", l += " </c:numRef>", l += " </c:val>", l += " </c:ser>", l += ` <c:firstSliceAng val="${n.firstSliceAng ? Math.round(n.firstSliceAng) : 0}"/>`, e === M.DOUGHNUT && (l += `<c:holeSize val="${typeof n.holeSize == "number" ? n.holeSize : "50"}"/>`), l += "</c:" + e + "Chart>";
1274
- break;
1275
- default:
1276
- l += "";
1277
- break;
1278
- }
1279
- return l;
1280
- }
1281
- function Pe(e, t, n) {
1282
- let r = "";
1283
- return e._type === M.SCATTER || e._type === M.BUBBLE || e._type === M.BUBBLE3D ? r += "<c:valAx>" : r += "<c:" + (e.catLabelFormatCode ? "dateAx" : "catAx") + ">", r += " <c:axId val=\"" + t + "\"/>", r += " <c:scaling>", r += "<c:orientation val=\"" + (e.catAxisOrientation || (e.barDir, "minMax")) + "\"/>", (e.catAxisMaxVal || e.catAxisMaxVal === 0) && (r += `<c:max val="${e.catAxisMaxVal}"/>`), (e.catAxisMinVal || e.catAxisMinVal === 0) && (r += `<c:min val="${e.catAxisMinVal}"/>`), r += "</c:scaling>", r += " <c:delete val=\"" + (e.catAxisHidden ? "1" : "0") + "\"/>", r += " <c:axPos val=\"" + (e.barDir === "col" ? "b" : "l") + "\"/>", r += e.catGridLine.style === "none" ? "" : Le(e.catGridLine), e.showCatAxisTitle && (r += X({
1284
- color: e.catAxisTitleColor,
1285
- fontFace: e.catAxisTitleFontFace,
1286
- fontSize: e.catAxisTitleFontSize,
1287
- titleRotate: e.catAxisTitleRotate,
1288
- title: e.catAxisTitle || "Axis Title"
1289
- })), e._type === M.SCATTER || e._type === M.BUBBLE || e._type === M.BUBBLE3D ? r += " <c:numFmt formatCode=\"" + (e.valAxisLabelFormatCode ? B(e.valAxisLabelFormatCode) : "General") + "\" sourceLinked=\"1\"/>" : r += " <c:numFmt formatCode=\"" + (B(e.catLabelFormatCode) || "General") + "\" sourceLinked=\"1\"/>", e._type === M.SCATTER ? (r += " <c:majorTickMark val=\"none\"/>", r += " <c:minorTickMark val=\"none\"/>", r += " <c:tickLblPos val=\"nextTo\"/>") : (r += " <c:majorTickMark val=\"" + (e.catAxisMajorTickMark || "out") + "\"/>", r += " <c:minorTickMark val=\"" + (e.catAxisMinorTickMark || "none") + "\"/>", r += " <c:tickLblPos val=\"" + (e.catAxisLabelPos || (e.barDir === "col" ? "low" : "nextTo")) + "\"/>"), r += " <c:spPr>", r += ` <a:ln w="${e.catAxisLineSize ? H(e.catAxisLineSize) : a}" cap="flat">`, r += e.catAxisLineShow ? "<a:solidFill>" + W(e.catAxisLineColor || m.color) + "</a:solidFill>" : "<a:noFill/>", r += " <a:prstDash val=\"" + (e.catAxisLineStyle || "solid") + "\"/>", r += " <a:round/>", r += " </a:ln>", r += " </c:spPr>", r += " <c:txPr>", e.catAxisLabelRotate ? r += `<a:bodyPr rot="${U(e.catAxisLabelRotate)}"/>` : r += "<a:bodyPr/>", r += " <a:lstStyle/>", r += " <a:p>", r += " <a:pPr>", r += ` <a:defRPr sz="${Math.round((e.catAxisLabelFontSize || g) * 100)}" b="${+!!e.catAxisLabelFontBold}" i="${+!!e.catAxisLabelFontItalic}" u="none" strike="noStrike">`, r += " <a:solidFill>" + W(e.catAxisLabelColor || h) + "</a:solidFill>", r += " <a:latin typeface=\"" + (e.catAxisLabelFontFace || "Arial") + "\"/>", r += " </a:defRPr>", r += " </a:pPr>", r += " <a:endParaRPr lang=\"" + (e.lang || "en-US") + "\"/>", r += " </a:p>", r += " </c:txPr>", r += " <c:crossAx val=\"" + n + "\"/>", r += ` <c:${typeof e.valAxisCrossesAt == "number" ? "crossesAt" : "crosses"} val="${e.valAxisCrossesAt || "autoZero"}"/>`, r += " <c:auto val=\"1\"/>", r += " <c:lblAlgn val=\"ctr\"/>", r += ` <c:noMultiLvlLbl val="${+!e.catAxisMultiLevelLabels}"/>`, e.catAxisLabelFrequency && (r += " <c:tickLblSkip val=\"" + e.catAxisLabelFrequency + "\"/>"), (e.catLabelFormatCode || e._type === M.SCATTER || e._type === M.BUBBLE || e._type === M.BUBBLE3D) && (e.catLabelFormatCode && ([
1290
- "catAxisBaseTimeUnit",
1291
- "catAxisMajorTimeUnit",
1292
- "catAxisMinorTimeUnit"
1293
- ].forEach((t) => {
1294
- e[t] && (typeof e[t] != "string" || ![
1295
- "days",
1296
- "months",
1297
- "years"
1298
- ].includes(e[t].toLowerCase())) && (console.warn(`"${t}" must be one of: 'days','months','years' !`), e[t] = null);
1299
- }), e.catAxisBaseTimeUnit && (r += "<c:baseTimeUnit val=\"" + e.catAxisBaseTimeUnit.toLowerCase() + "\"/>"), e.catAxisMajorTimeUnit && (r += "<c:majorTimeUnit val=\"" + e.catAxisMajorTimeUnit.toLowerCase() + "\"/>"), e.catAxisMinorTimeUnit && (r += "<c:minorTimeUnit val=\"" + e.catAxisMinorTimeUnit.toLowerCase() + "\"/>")), e.catAxisMajorUnit && (r += `<c:majorUnit val="${e.catAxisMajorUnit}"/>`), e.catAxisMinorUnit && (r += `<c:minorUnit val="${e.catAxisMinorUnit}"/>`)), e._type === M.SCATTER || e._type === M.BUBBLE || e._type === M.BUBBLE3D ? r += "</c:valAx>" : r += "</c:" + (e.catLabelFormatCode ? "dateAx" : "catAx") + ">", r;
1300
- }
1301
- function Fe(e, t) {
1302
- let n = t === C ? e.barDir === "col" ? "l" : "b" : e.barDir === "col" ? "t" : "r";
1303
- t === w && (n = "r");
1304
- let r = t === C ? T : ee, i = "";
1305
- return i += "<c:valAx>", i += " <c:axId val=\"" + t + "\"/>", i += " <c:scaling>", e.valAxisLogScaleBase && (i += `<c:logBase val="${e.valAxisLogScaleBase}"/>`), i += "<c:orientation val=\"" + (e.valAxisOrientation || (e.barDir, "minMax")) + "\"/>", (e.valAxisMaxVal || e.valAxisMaxVal === 0) && (i += `<c:max val="${e.valAxisMaxVal}"/>`), (e.valAxisMinVal || e.valAxisMinVal === 0) && (i += `<c:min val="${e.valAxisMinVal}"/>`), i += " </c:scaling>", i += ` <c:delete val="${+!!e.valAxisHidden}"/>`, i += " <c:axPos val=\"" + n + "\"/>", e.valGridLine.style !== "none" && (i += Le(e.valGridLine)), e.showValAxisTitle && (i += X({
1306
- color: e.valAxisTitleColor,
1307
- fontFace: e.valAxisTitleFontFace,
1308
- fontSize: e.valAxisTitleFontSize,
1309
- titleRotate: e.valAxisTitleRotate,
1310
- title: e.valAxisTitle || "Axis Title"
1311
- })), i += `<c:numFmt formatCode="${e.valAxisLabelFormatCode ? B(e.valAxisLabelFormatCode) : "General"}" sourceLinked="0"/>`, e._type === M.SCATTER ? (i += " <c:majorTickMark val=\"none\"/>", i += " <c:minorTickMark val=\"none\"/>", i += " <c:tickLblPos val=\"nextTo\"/>") : (i += " <c:majorTickMark val=\"" + (e.valAxisMajorTickMark || "out") + "\"/>", i += " <c:minorTickMark val=\"" + (e.valAxisMinorTickMark || "none") + "\"/>", i += " <c:tickLblPos val=\"" + (e.valAxisLabelPos || (e.barDir === "col" ? "nextTo" : "low")) + "\"/>"), i += " <c:spPr>", i += ` <a:ln w="${e.valAxisLineSize ? H(e.valAxisLineSize) : a}" cap="flat">`, i += e.valAxisLineShow ? "<a:solidFill>" + W(e.valAxisLineColor || m.color) + "</a:solidFill>" : "<a:noFill/>", i += " <a:prstDash val=\"" + (e.valAxisLineStyle || "solid") + "\"/>", i += " <a:round/>", i += " </a:ln>", i += " </c:spPr>", i += " <c:txPr>", i += ` <a:bodyPr${e.valAxisLabelRotate ? " rot=\"" + U(e.valAxisLabelRotate).toString() + "\"" : ""}/>`, i += " <a:lstStyle/>", i += " <a:p>", i += " <a:pPr>", i += ` <a:defRPr sz="${Math.round((e.valAxisLabelFontSize || g) * 100)}" b="${+!!e.valAxisLabelFontBold}" i="${+!!e.valAxisLabelFontItalic}" u="none" strike="noStrike">`, i += " <a:solidFill>" + W(e.valAxisLabelColor || h) + "</a:solidFill>", i += " <a:latin typeface=\"" + (e.valAxisLabelFontFace || "Arial") + "\"/>", i += " </a:defRPr>", i += " </a:pPr>", i += " <a:endParaRPr lang=\"" + (e.lang || "en-US") + "\"/>", i += " </a:p>", i += " </c:txPr>", i += " <c:crossAx val=\"" + r + "\"/>", typeof e.catAxisCrossesAt == "number" ? i += ` <c:crossesAt val="${e.catAxisCrossesAt}"/>` : typeof e.catAxisCrossesAt == "string" ? i += " <c:crosses val=\"" + e.catAxisCrossesAt + "\"/>" : i += " <c:crosses val=\"" + (n === "r" || n === "t" ? "max" : "autoZero") + "\"/>", i += " <c:crossBetween val=\"" + (e._type === M.SCATTER || Array.isArray(e._type) && e._type.filter((e) => e.type === M.AREA).length > 0 ? "midCat" : "between") + "\"/>", e.valAxisMajorUnit && (i += ` <c:majorUnit val="${e.valAxisMajorUnit}"/>`), e.valAxisDisplayUnit && (i += `<c:dispUnits><c:builtInUnit val="${e.valAxisDisplayUnit}"/>${e.valAxisDisplayUnitLabel ? "<c:dispUnitsLbl/>" : ""}</c:dispUnits>`), i += "</c:valAx>", i;
1312
- }
1313
- function Ie(e, t, n) {
1314
- let r = "";
1315
- return r += "<c:serAx>", r += " <c:axId val=\"" + t + "\"/>", r += " <c:scaling><c:orientation val=\"" + (e.serAxisOrientation || (e.barDir, "minMax")) + "\"/></c:scaling>", r += " <c:delete val=\"" + (e.serAxisHidden ? "1" : "0") + "\"/>", r += " <c:axPos val=\"" + (e.barDir === "col" ? "b" : "l") + "\"/>", r += e.serGridLine.style === "none" ? "" : Le(e.serGridLine), e.showSerAxisTitle && (r += X({
1316
- color: e.serAxisTitleColor,
1317
- fontFace: e.serAxisTitleFontFace,
1318
- fontSize: e.serAxisTitleFontSize,
1319
- titleRotate: e.serAxisTitleRotate,
1320
- title: e.serAxisTitle || "Axis Title"
1321
- })), r += ` <c:numFmt formatCode="${B(e.serLabelFormatCode) || "General"}" sourceLinked="0"/>`, r += " <c:majorTickMark val=\"out\"/>", r += " <c:minorTickMark val=\"none\"/>", r += ` <c:tickLblPos val="${e.serAxisLabelPos || e.barDir === "col" ? "low" : "nextTo"}"/>`, r += " <c:spPr>", r += " <a:ln w=\"12700\" cap=\"flat\">", r += e.serAxisLineShow ? `<a:solidFill>${W(e.serAxisLineColor || m.color)}</a:solidFill>` : "<a:noFill/>", r += " <a:prstDash val=\"solid\"/>", r += " <a:round/>", r += " </a:ln>", r += " </c:spPr>", r += " <c:txPr>", r += " <a:bodyPr/>", r += " <a:lstStyle/>", r += " <a:p>", r += " <a:pPr>", r += ` <a:defRPr sz="${Math.round((e.serAxisLabelFontSize || g) * 100)}" b="${e.serAxisLabelFontBold ? "1" : "0"}" i="${e.serAxisLabelFontItalic ? "1" : "0"}" u="none" strike="noStrike">`, r += ` <a:solidFill>${W(e.serAxisLabelColor || h)}</a:solidFill>`, r += ` <a:latin typeface="${e.serAxisLabelFontFace || "Arial"}"/>`, r += " </a:defRPr>", r += " </a:pPr>", r += " <a:endParaRPr lang=\"" + (e.lang || "en-US") + "\"/>", r += " </a:p>", r += " </c:txPr>", r += " <c:crossAx val=\"" + n + "\"/>", r += " <c:crosses val=\"autoZero\"/>", e.serAxisLabelFrequency && (r += " <c:tickLblSkip val=\"" + e.serAxisLabelFrequency + "\"/>"), e.serLabelFormatCode && ([
1322
- "serAxisBaseTimeUnit",
1323
- "serAxisMajorTimeUnit",
1324
- "serAxisMinorTimeUnit"
1325
- ].forEach((t) => {
1326
- e[t] && (typeof e[t] != "string" || ![
1327
- "days",
1328
- "months",
1329
- "years"
1330
- ].includes(t.toLowerCase())) && (console.warn(`"${t}" must be one of: 'days','months','years' !`), e[t] = null);
1331
- }), e.serAxisBaseTimeUnit && (r += ` <c:baseTimeUnit val="${e.serAxisBaseTimeUnit.toLowerCase()}"/>`), e.serAxisMajorTimeUnit && (r += ` <c:majorTimeUnit val="${e.serAxisMajorTimeUnit.toLowerCase()}"/>`), e.serAxisMinorTimeUnit && (r += ` <c:minorTimeUnit val="${e.serAxisMinorTimeUnit.toLowerCase()}"/>`), e.serAxisMajorUnit && (r += ` <c:majorUnit val="${e.serAxisMajorUnit}"/>`), e.serAxisMinorUnit && (r += ` <c:minorUnit val="${e.serAxisMinorUnit}"/>`)), r += "</c:serAx>", r;
1332
- }
1333
- function X(e, t, n) {
1334
- let r = e.titleAlign === "left" || e.titleAlign === "right" ? `<a:pPr algn="${e.titleAlign.substring(0, 1)}">` : "<a:pPr>", i = e.titleRotate ? `<a:bodyPr rot="${U(e.titleRotate)}"/>` : "<a:bodyPr/>", a = e.fontSize ? `sz="${Math.round(e.fontSize * 100)}"` : "", o = +!!e.titleBold, s = "<c:layout/>";
1335
- if (e.titlePos && typeof e.titlePos.x == "number" && typeof e.titlePos.y == "number") {
1336
- let r = e.titlePos.x + t, i = e.titlePos.y + n, a = r === 0 ? 0 : r / 5 * r / 10;
1337
- a >= 1 && (a /= 10), a >= .1 && (a /= 10);
1338
- let o = i === 0 ? 0 : i / 5 * i / 10;
1339
- o >= 1 && (o /= 10), o >= .1 && (o /= 10), s = `<c:layout><c:manualLayout><c:xMode val="edge"/><c:yMode val="edge"/><c:x val="${a}"/><c:y val="${o}"/></c:manualLayout></c:layout>`;
1340
- }
1341
- return `<c:title>
1342
- <c:tx>
1343
- <c:rich>
1344
- ${i}
1345
- <a:lstStyle/>
1346
- <a:p>
1347
- ${r}
1348
- <a:defRPr ${a} b="${o}" i="0" u="none" strike="noStrike">
1349
- <a:solidFill>${W(e.color || h)}</a:solidFill>
1350
- <a:latin typeface="${e.fontFace || "Arial"}"/>
1351
- </a:defRPr>
1352
- </a:pPr>
1353
- <a:r>
1354
- <a:rPr ${a} b="${o}" i="0" u="none" strike="noStrike">
1355
- <a:solidFill>${W(e.color || h)}</a:solidFill>
1356
- <a:latin typeface="${e.fontFace || "Arial"}"/>
1357
- </a:rPr>
1358
- <a:t>${B(e.title) || ""}</a:t>
1359
- </a:r>
1360
- </a:p>
1361
- </c:rich>
1362
- </c:tx>
1363
- ${s}
1364
- <c:overlay val="0"/>
1365
- </c:title>`;
1366
- }
1367
- function Z(e) {
1368
- let t = "", n = e - 1;
1369
- return t = n <= 25 ? E[n] : `${E[Math.floor(n / E.length - 1)]}${E[n % E.length]}`, t;
1370
- }
1371
- function Le(e) {
1372
- let t = "<c:majorGridlines>";
1373
- return t += " <c:spPr>", t += ` <a:ln w="${H(e.size || m.size)}" cap="${Q(e.cap || m.cap)}">`, t += " <a:solidFill><a:srgbClr val=\"" + (e.color || m.color) + "\"/></a:solidFill>", t += " <a:prstDash val=\"" + (e.style || m.style) + "\"/><a:round/>", t += " </a:ln>", t += " </c:spPr>", t += "</c:majorGridlines>", t;
1374
- }
1375
- function Q(e) {
1376
- if (!e || e === "flat") return "flat";
1377
- if (e === "square") return "sq";
1378
- if (e === "round") return "rnd";
1379
- throw Error(`Invalid chart line cap: ${e}`);
1380
- }
1381
- function Re(t) {
1382
- let n = typeof process < "u" && !!process.versions?.node && process.release?.name === "node", i, a, o = n ? () => r(this, void 0, void 0, function* () {
1383
- ({default: i} = yield import("./__vite-browser-external-CbV4tiB6.js").then((t) => /* @__PURE__ */ e(t.default))), {default: a} = yield import("./__vite-browser-external-CbV4tiB6.js").then((t) => /* @__PURE__ */ e(t.default));
1384
- }) : () => r(this, void 0, void 0, function* () {});
1385
- n && o();
1386
- let s = [], c = t._relsMedia.filter((e) => e.type !== "online" && !e.data && (!e.path || e.path && !e.path.includes("preencoded"))), l = [];
1387
- return c.forEach((e) => {
1388
- l.includes(e.path) ? e.isDuplicate = !0 : (e.isDuplicate = !1, l.push(e.path));
1389
- }), c.filter((e) => !e.isDuplicate).forEach((e) => {
1390
- s.push(r(this, void 0, void 0, function* () {
1391
- if (a || (yield o()), n && i && e.path.indexOf("http") !== 0) try {
1392
- let t = i.readFileSync(e.path);
1393
- return e.data = Buffer.from(t).toString("base64"), c.filter((t) => t.isDuplicate && t.path === e.path).forEach((t) => t.data = e.data), "done";
1394
- } catch (t) {
1395
- throw e.data = L, c.filter((t) => t.isDuplicate && t.path === e.path).forEach((t) => t.data = e.data), Error(`ERROR: Unable to read media: "${e.path}"\n${String(t)}`);
1396
- }
1397
- return n && a && e.path.startsWith("http") ? yield new Promise((t, n) => {
1398
- a.get(e.path, (r) => {
1399
- let i = "";
1400
- r.setEncoding("binary"), r.on("data", (e) => i += e), r.on("end", () => {
1401
- e.data = Buffer.from(i, "binary").toString("base64"), c.filter((t) => t.isDuplicate && t.path === e.path).forEach((t) => t.data = e.data), t("done");
1402
- }), r.on("error", () => {
1403
- e.data = L, c.filter((t) => t.isDuplicate && t.path === e.path).forEach((t) => t.data = e.data), n(/* @__PURE__ */ Error(`ERROR! Unable to load image (https.get): ${e.path}`));
1404
- });
1405
- });
1406
- }) : yield new Promise((t, n) => {
1407
- let r = new XMLHttpRequest();
1408
- r.onload = () => {
1409
- let i = new FileReader();
1410
- i.onloadend = () => {
1411
- e.data = i.result, c.filter((t) => t.isDuplicate && t.path === e.path).forEach((t) => t.data = e.data), e.isSvgPng ? ze(e).then(() => t("done")).catch(n) : t("done");
1412
- }, i.readAsDataURL(r.response);
1413
- }, r.onerror = () => {
1414
- e.data = L, c.filter((t) => t.isDuplicate && t.path === e.path).forEach((t) => t.data = e.data), n(/* @__PURE__ */ Error(`ERROR! Unable to load image (xhr.onerror): ${e.path}`));
1415
- }, r.open("GET", e.path), r.responseType = "blob", r.send();
1416
- });
1417
- }));
1418
- }), t._relsMedia.filter((e) => e.isSvgPng && e.data).forEach((e) => {
1419
- r(this, void 0, void 0, function* () {
1420
- n && !i && (yield o()), n && i ? (e.data = L, s.push(Promise.resolve("done"))) : s.push(ze(e));
1421
- });
1422
- }), s;
1423
- }
1424
- function ze(e) {
1425
- return r(this, void 0, void 0, function* () {
1426
- return yield new Promise((t, n) => {
1427
- let r = new Image();
1428
- r.onload = () => {
1429
- r.width + r.height === 0 && r.onerror("h/w=0"), Promise.resolve(r.decode ? r.decode() : Promise.resolve()).catch(() => {}).then(() => new Promise((e) => requestAnimationFrame(() => requestAnimationFrame(() => e())))).then(() => {
1430
- let n = document.createElement("CANVAS"), i = n.getContext("2d");
1431
- n.width = r.width, n.height = r.height, i.drawImage(r, 0, 0);
1432
- try {
1433
- e.data = n.toDataURL(e.type), t("done");
1434
- } catch (e) {
1435
- r.onerror(e.toString());
1436
- }
1437
- n = null;
1438
- });
1439
- }, r.onerror = () => {
1440
- e.data = L, n(/* @__PURE__ */ Error(`ERROR! Unable to load image (image.onerror): ${e.path}`));
1441
- }, r.src = typeof e.data == "string" ? e.data : L;
1442
- });
1443
- });
1444
- }
1445
- var Be = {
1446
- fadeIn: {
1447
- presetID: 10,
1448
- presetClass: "entrance",
1449
- presetSubtype: 0,
1450
- filter: "fade",
1451
- transition: "in"
1452
- },
1453
- fadeOut: {
1454
- presetID: 10,
1455
- presetClass: "exit",
1456
- presetSubtype: 0,
1457
- filter: "fade",
1458
- transition: "out"
1459
- },
1460
- slideInLeft: {
1461
- presetID: 1,
1462
- presetClass: "entrance",
1463
- presetSubtype: 4,
1464
- filter: "fly(left)",
1465
- transition: "in"
1466
- },
1467
- slideInRight: {
1468
- presetID: 1,
1469
- presetClass: "entrance",
1470
- presetSubtype: 2,
1471
- filter: "fly(right)",
1472
- transition: "in"
1473
- },
1474
- slideInUp: {
1475
- presetID: 1,
1476
- presetClass: "entrance",
1477
- presetSubtype: 8,
1478
- filter: "fly(bottom)",
1479
- transition: "in"
1480
- },
1481
- slideInDown: {
1482
- presetID: 1,
1483
- presetClass: "entrance",
1484
- presetSubtype: 1,
1485
- filter: "fly(top)",
1486
- transition: "in"
1487
- },
1488
- zoomIn: {
1489
- presetID: 11,
1490
- presetClass: "entrance",
1491
- presetSubtype: 0,
1492
- filter: "zoom(in)",
1493
- transition: "in"
1494
- },
1495
- zoomOut: {
1496
- presetID: 11,
1497
- presetClass: "exit",
1498
- presetSubtype: 0,
1499
- filter: "zoom(out)",
1500
- transition: "out"
1501
- },
1502
- bounceIn: {
1503
- presetID: 12,
1504
- presetClass: "entrance",
1505
- presetSubtype: 0,
1506
- filter: "bounce",
1507
- transition: "in"
1508
- },
1509
- bounceOut: {
1510
- presetID: 12,
1511
- presetClass: "exit",
1512
- presetSubtype: 0,
1513
- filter: "bounce",
1514
- transition: "out"
1515
- },
1516
- rotateIn: {
1517
- presetID: 16,
1518
- presetClass: "entrance",
1519
- presetSubtype: 0,
1520
- filter: "spin",
1521
- transition: "in"
1522
- },
1523
- flipInX: {
1524
- presetID: 15,
1525
- presetClass: "entrance",
1526
- presetSubtype: 0,
1527
- filter: "flip",
1528
- transition: "in"
1529
- }
1530
- };
1531
- function Ve(e, t) {
1532
- if (typeof t.elId == "number") {
1533
- if (t.elId >= 0 && t.elId < (e._slideObjects?.length || 0)) return t.elId + 2;
1534
- if (t.elId >= 2) return t.elId;
1535
- }
1536
- if (typeof t.elId == "string") {
1537
- let n = t.elId.trim(), r = parseInt(n, 10);
1538
- if (!isNaN(r) && r >= 0 && r < (e._slideObjects?.length || 0)) return r + 2;
1539
- let i = (e._slideObjects || []).findIndex((e) => e.options?.objectName === n || e.options?.id === n);
1540
- if (i !== -1) return i + 2;
1541
- }
1542
- return 2;
1543
- }
1544
- function He(e) {
1545
- let t = e.animations;
1546
- if (!t || !Array.isArray(t) || t.length === 0) return "";
1547
- let n = 1, r = "<p:timing><p:tnLst><p:par>";
1548
- return r += `<p:cTn id="${n++}" dur="indefinite" restart="never" nodeType="tmRoot"><p:childTnLst>`, r += `<p:seq concurrent="1" nextAc="seek"><p:cTn id="${n++}" dur="indefinite" nodeType="mainSeq"><p:childTnLst>`, t.forEach((t, i) => {
1549
- let a = Ve(e, t), o = Be[t.effect || (t.type === "out" ? "fadeOut" : "fadeIn")] || {
1550
- presetID: (t.type, 10),
1551
- presetClass: t.type === "out" ? "exit" : "entrance",
1552
- presetSubtype: 0,
1553
- filter: (t.type, "fade"),
1554
- transition: t.type === "out" ? "out" : "in"
1555
- }, s = typeof t.duration == "number" ? t.duration : 1, c = Math.round(s * 1e3), l = typeof t.delay == "number" ? t.delay : 0, u = Math.round(l * 1e3), d = t.trigger || "click", f = d === "click" || i === 0 && d !== "auto" && d !== "meantime";
1556
- r += "<p:par>", r += `<p:cTn id="${n++}" fill="hold">`, r += "<p:stCondLst>", f ? r += "<p:cond evt=\"onNext\" delay=\"0\"/>" : d === "auto" ? r += `<p:cond evt="onEnd" delay="${u}"/>` : r += `<p:cond evt="onBegin" delay="${u}"/>`, r += "</p:stCondLst>", r += "<p:childTnLst><p:par>", r += `<p:cTn id="${n++}" presetID="${o.presetID}" presetClass="${o.presetClass}" presetSubtype="${o.presetSubtype}" fill="hold"${f ? " nodeType=\"clickEffect\"" : ""}>`, r += "<p:stCondLst>", r += `<p:cond evt="onBegin" delay="${u}"/>`, r += "</p:stCondLst>", r += "<p:childTnLst>", o.presetClass === "entrance" && (r += "<p:set>", r += `<p:cTn id="${n++}" dur="1" fill="hold"><p:stCondLst><p:cond evt="onBegin" delay="0"/></p:stCondLst></p:cTn>`, r += `<p:tgtEl><p:spTarget spid="${a}"/></p:tgtEl>`, r += "<p:attrNameLst><p:attrName>style.visibility</p:attrName></p:attrNameLst>", r += "</p:set>"), r += `<p:animEffect transition="${o.transition || "in"}" filter="${o.filter || "fade"}">`, r += `<p:cTn id="${n++}" dur="${c}"><p:stCondLst><p:cond evt="onBegin" delay="0"/></p:stCondLst></p:cTn>`, r += `<p:tgtEl><p:spTarget spid="${a}"/></p:tgtEl>`, r += "</p:animEffect>", r += "</p:childTnLst></p:cTn></p:par></p:childTnLst></p:cTn></p:par>";
1557
- }), r += "</p:childTnLst></p:cTn>", r += "<p:prevCondLst><p:cond evt=\"onBegin\" delay=\"0\"><p:tgtEl><p:sldObj/></p:tgtEl></p:cond></p:prevCondLst>", r += "</p:seq></p:childTnLst></p:cTn></p:par></p:tnLst></p:timing>", r;
1558
- }
1559
- var Ue = {
1560
- cover: function(e, t) {
1561
- let n = e.h / e.w, r = t.h / t.w > n, i = r ? t.h / n : t.w, a = r ? t.h : t.w * n, o = Math.round(1e5 * .5 * (1 - t.w / i)), s = Math.round(1e5 * .5 * (1 - t.h / a));
1562
- return `<a:srcRect l="${o}" r="${o}" t="${s}" b="${s}"/><a:stretch/>`;
1563
- },
1564
- contain: function(e, t) {
1565
- let n = e.h / e.w, r = t.h / t.w > n, i = r ? t.w : t.h / n, a = r ? t.w * n : t.h, o = Math.round(1e5 * .5 * (1 - t.w / i)), s = Math.round(1e5 * .5 * (1 - t.h / a));
1566
- return `<a:srcRect l="${o}" r="${o}" t="${s}" b="${s}"/><a:stretch/>`;
1567
- },
1568
- crop: function(e, t) {
1569
- let n = t.x, r = e.w - (t.x + t.w), i = t.y, a = e.h - (t.y + t.h);
1570
- return `<a:srcRect l="${Math.round(1e5 * (n / e.w))}" r="${Math.round(1e5 * (r / e.w))}" t="${Math.round(1e5 * (i / e.h))}" b="${Math.round(1e5 * (a / e.h))}"/><a:stretch/>`;
1571
- }
1572
- };
1573
- function We(e) {
1574
- let t = e._name ? "<p:cSld name=\"" + e._name + "\">" : "<p:cSld>", n = 1;
1575
- return e._bkgdImgRid ? t += `<p:bg><p:bgPr><a:blipFill dpi="0" rotWithShape="1"><a:blip r:embed="rId${e._bkgdImgRid}"><a:lum/></a:blip><a:srcRect/><a:stretch><a:fillRect/></a:stretch></a:blipFill><a:effectLst/></p:bgPr></p:bg>` : e.background?.color ? t += `<p:bg><p:bgPr>${G(e.background)}</p:bgPr></p:bg>` : !e.bkgd && e._name && e._name === y && (t += "<p:bg><p:bgRef idx=\"1001\"><a:schemeClr val=\"bg1\"/></p:bgRef></p:bg>"), t += "<p:spTree>", t += "<p:nvGrpSpPr><p:cNvPr id=\"1\" name=\"\"/><p:cNvGrpSpPr/><p:nvPr/></p:nvGrpSpPr>", t += "<p:grpSpPr><a:xfrm><a:off x=\"0\" y=\"0\"/><a:ext cx=\"0\" cy=\"0\"/>", t += "<a:chOff x=\"0\" y=\"0\"/><a:chExt cx=\"0\" cy=\"0\"/></a:xfrm></p:grpSpPr>", e._slideObjects.forEach((r, a) => {
1576
- var o;
1577
- let s = 0, c = 0, l = R("75%", "X", e._presLayout), u = 0, d, p = "", m = null, h = null, g = 0, _ = 0, v = null, y = null, b = r.options?.sizing, S = r.options?.rounding;
1578
- e._slideLayout !== void 0 && e._slideLayout._slideObjects !== void 0 && r.options && r.options.placeholder && (d = e._slideLayout._slideObjects.filter((e) => e.options.placeholder === r.options.placeholder)[0]), r.options = r.options || {}, r.options.x !== void 0 && (s = R(r.options.x, "X", e._presLayout)), r.options.y !== void 0 && (c = R(r.options.y, "Y", e._presLayout)), r.options.w !== void 0 && (l = R(r.options.w, "X", e._presLayout)), r.options.h !== void 0 && (u = R(r.options.h, "Y", e._presLayout));
1579
- let C = l, w = u;
1580
- switch (d && ((d.options.x || d.options.x === 0) && (s = R(d.options.x, "X", e._presLayout)), (d.options.y || d.options.y === 0) && (c = R(d.options.y, "Y", e._presLayout)), (d.options.w || d.options.w === 0) && (l = R(d.options.w, "X", e._presLayout)), (d.options.h || d.options.h === 0) && (u = R(d.options.h, "Y", e._presLayout))), r.options.flipH && (p += " flipH=\"1\""), r.options.flipV && (p += " flipV=\"1\""), r.options.rotate && (p += ` rot="${U(r.options.rotate)}"`), r._type) {
1581
- case P.table:
1582
- if (m = r.arrTabRows, h = r.options, g = 0, _ = 0, m[0].forEach((e) => {
1583
- v = e.options || null, g += v?.colspan ? Number(v.colspan) : 1;
1584
- }), y = `<p:graphicFrame><p:nvGraphicFramePr><p:cNvPr id="${n * e._slideNum + 1}" name="${r.options.objectName}"/>`, y += "<p:cNvGraphicFramePr><a:graphicFrameLocks noGrp=\"1\"/></p:cNvGraphicFramePr> <p:nvPr><p:extLst><p:ext uri=\"{D42A27DB-BD31-4B8C-83A1-F6EECF244321}\"><p14:modId xmlns:p14=\"http://schemas.microsoft.com/office/powerpoint/2010/main\" val=\"1579011935\"/></p:ext></p:extLst></p:nvPr></p:nvGraphicFramePr>", y += `<p:xfrm><a:off x="${s || (s === 0 ? 0 : i)}" y="${c || (c === 0 ? 0 : i)}"/><a:ext cx="${l || (l === 0 ? 0 : i)}" cy="${u || i}"/></p:xfrm>`, y += "<a:graphic><a:graphicData uri=\"http://schemas.openxmlformats.org/drawingml/2006/table\"><a:tbl><a:tblPr/>", Array.isArray(h.colW)) {
1585
- y += "<a:tblGrid>";
1586
- for (let e = 0; e < g; e++) {
1587
- let t = V(h.colW[e]);
1588
- (t == null || isNaN(t)) && (t = (typeof r.options.w == "number" ? r.options.w : 1) / g), y += `<a:gridCol w="${Math.round(t)}"/>`;
1589
- }
1590
- y += "</a:tblGrid>";
1591
- } else {
1592
- _ = h.colW ? h.colW : i, r.options.w && !h.colW && (_ = Math.round((typeof r.options.w == "number" ? r.options.w : 1) / g)), y += "<a:tblGrid>";
1593
- for (let e = 0; e < g; e++) y += `<a:gridCol w="${_}"/>`;
1594
- y += "</a:tblGrid>";
1595
- }
1596
- m.forEach((e) => {
1597
- for (let t = 0; t < e.length;) {
1598
- let n = e[t], r = n.options?.colspan, i = n.options?.rowspan;
1599
- if (r && r > 1) {
1600
- let n = Array(r - 1).fill(void 0).map(() => ({
1601
- _type: P.tablecell,
1602
- options: { rowspan: i },
1603
- _hmerge: !0
1604
- }));
1605
- e.splice(t + 1, 0, ...n), t += r;
1606
- } else t += 1;
1607
- }
1608
- }), m.forEach((e, t) => {
1609
- let n = m[t + 1];
1610
- n && e.forEach((e, t) => {
1611
- let r = e._rowContinue || e.options?.rowspan, i = e.options?.colspan, a = e._hmerge;
1612
- if (r && r > 1) {
1613
- let e = {
1614
- _type: P.tablecell,
1615
- options: { colspan: i },
1616
- _rowContinue: r - 1,
1617
- _vmerge: !0,
1618
- _hmerge: a
1619
- };
1620
- n.splice(t, 0, e);
1621
- }
1622
- });
1623
- }), m.forEach((e, t) => {
1624
- let n = 0;
1625
- Array.isArray(h.rowH) && h.rowH[t] ? n = V(Number(h.rowH[t])) : h.rowH && !isNaN(Number(h.rowH)) ? n = V(Number(h.rowH)) : (r.options.cy || r.options.h) && (n = Math.round((r.options.h ? V(r.options.h) : typeof r.options.cy == "number" ? r.options.cy : 1) / m.length)), y += `<a:tr h="${n}">`, e.forEach((e) => {
1626
- let t = e, n = {
1627
- rowSpan: t.options?.rowspan > 1 ? t.options.rowspan : void 0,
1628
- gridSpan: t.options?.colspan > 1 ? t.options.colspan : void 0,
1629
- vMerge: t._vmerge ? 1 : void 0,
1630
- hMerge: t._hmerge ? 1 : void 0
1631
- }, r = Object.keys(n).map((e) => [e, n[e]]).filter(([, e]) => !!e).map(([e, t]) => `${String(e)}="${String(t)}"`).join(" ");
1632
- if (r &&= " " + r, t._hmerge || t._vmerge) {
1633
- y += `<a:tc${r}><a:tcPr/></a:tc>`;
1634
- return;
1635
- }
1636
- let i = t.options || {};
1637
- t.options = i, [
1638
- "align",
1639
- "bold",
1640
- "border",
1641
- "color",
1642
- "fill",
1643
- "fontFace",
1644
- "fontSize",
1645
- "margin",
1646
- "textDirection",
1647
- "underline",
1648
- "valign"
1649
- ].forEach((e) => {
1650
- h[e] && !i[e] && i[e] !== 0 && (i[e] = h[e]);
1651
- });
1652
- let a = i.valign ? ` anchor="${i.valign.replace(/^c$/i, "ctr").replace(/^m$/i, "ctr").replace("center", "ctr").replace("middle", "ctr").replace("top", "t").replace("btm", "b").replace("bottom", "b")}"` : "", o = i.textDirection && i.textDirection !== "horz" ? ` vert="${i.textDirection}"` : "", s = t._optImp?.fill?.color ? t._optImp.fill.color : t._optImp?.fill && typeof t._optImp.fill == "string" ? t._optImp.fill : "";
1653
- s = s || i.fill ? i.fill : "";
1654
- let c = s ? G(s) : "", l = i.margin === 0 || i.margin ? i.margin : f;
1655
- !Array.isArray(l) && typeof l == "number" && (l = [
1656
- l,
1657
- l,
1658
- l,
1659
- l
1660
- ]);
1661
- let u = "";
1662
- if (u = l[0] >= 1 ? ` marL="${H(l[3])}" marR="${H(l[1])}" marT="${H(l[0])}" marB="${H(l[2])}"` : ` marL="${V(l[3])}" marR="${V(l[1])}" marT="${V(l[0])}" marB="${V(l[2])}"`, y += `<a:tc${r}>${Xe(t)}<a:tcPr${u}${a}${o}>`, i.border) {
1663
- let e = Array.isArray(i.border) ? i.border : [
1664
- i.border,
1665
- i.border,
1666
- i.border,
1667
- i.border
1668
- ];
1669
- [
1670
- {
1671
- idx: 3,
1672
- name: "lnL"
1673
- },
1674
- {
1675
- idx: 1,
1676
- name: "lnR"
1677
- },
1678
- {
1679
- idx: 0,
1680
- name: "lnT"
1681
- },
1682
- {
1683
- idx: 2,
1684
- name: "lnB"
1685
- }
1686
- ].forEach((t) => {
1687
- let n = e[t.idx];
1688
- n && n.type !== "none" ? (y += `<a:${t.name} w="${H(n.pt || 1)}" cap="flat" cmpd="sng" algn="ctr">`, y += `<a:solidFill>${W(n.color || "CCCCCC")}</a:solidFill>`, y += `<a:prstDash val="${n.type === "dash" ? "sysDash" : "solid"}"/><a:round/><a:headEnd type="none" w="med" len="med"/><a:tailEnd type="none" w="med" len="med"/>`, y += `</a:${t.name}>`) : y += `<a:${t.name} w="0" cap="flat" cmpd="sng" algn="ctr"><a:noFill/></a:${t.name}>`;
1689
- });
1690
- }
1691
- y += c, y += " </a:tcPr>", y += " </a:tc>";
1692
- }), y += "</a:tr>";
1693
- }), y += " </a:tbl>", y += " </a:graphicData>", y += " </a:graphic>", y += "</p:graphicFrame>", t += y, n++;
1694
- break;
1695
- case P.text:
1696
- case P.placeholder:
1697
- if (!r.options.line && u === 0 && (u = i * .3), r.options._bodyProp || (r.options._bodyProp = {}), r.options.margin && Array.isArray(r.options.margin) ? (r.options._bodyProp.lIns = H(r.options.margin[0] || 0), r.options._bodyProp.rIns = H(r.options.margin[1] || 0), r.options._bodyProp.bIns = H(r.options.margin[2] || 0), r.options._bodyProp.tIns = H(r.options.margin[3] || 0)) : typeof r.options.margin == "number" && (r.options._bodyProp.lIns = H(r.options.margin), r.options._bodyProp.rIns = H(r.options.margin), r.options._bodyProp.bIns = H(r.options.margin), r.options._bodyProp.tIns = H(r.options.margin)), t += "<p:sp>", t += `<p:nvSpPr><p:cNvPr id="${a + 2}" name="${r.options.objectName}">`, r.options.hyperlink?.url && (t += `<a:hlinkClick r:id="rId${r.options.hyperlink._rId}" tooltip="${r.options.hyperlink.tooltip ? B(r.options.hyperlink.tooltip) : ""}"/>`), r.options.hyperlink?.slide && (t += `<a:hlinkClick r:id="rId${r.options.hyperlink._rId}" tooltip="${r.options.hyperlink.tooltip ? B(r.options.hyperlink.tooltip) : ""}" action="ppaction://hlinksldjump"/>`), t += "</p:cNvPr>", t += "<p:cNvSpPr" + (r.options?.isTextBox ? " txBox=\"1\"/>" : "/>"), t += `<p:nvPr>${r._type === "placeholder" ? $(r) : $(d)}</p:nvPr>`, t += "</p:nvSpPr><p:spPr>", t += `<a:xfrm${p}>`, t += `<a:off x="${s}" y="${c}"/>`, t += `<a:ext cx="${l}" cy="${u}"/></a:xfrm>`, r.shape === "custGeom") t += "<a:custGeom><a:avLst />", t += "<a:gdLst>", t += "</a:gdLst>", t += "<a:ahLst />", t += "<a:cxnLst>", t += "</a:cxnLst>", t += "<a:rect l=\"l\" t=\"t\" r=\"r\" b=\"b\" />", t += "<a:pathLst>", t += `<a:path w="${l}" h="${u}">`, (o = r.options.points) == null || o.forEach((n, r) => {
1698
- if ("curve" in n) switch (n.curve.type) {
1699
- case "arc":
1700
- t += `<a:arcTo hR="${R(n.curve.hR, "Y", e._presLayout)}" wR="${R(n.curve.wR, "X", e._presLayout)}" stAng="${U(n.curve.stAng)}" swAng="${U(n.curve.swAng)}" />`;
1701
- break;
1702
- case "cubic":
1703
- t += `<a:cubicBezTo>
1704
- <a:pt x="${R(n.curve.x1, "X", e._presLayout)}" y="${R(n.curve.y1, "Y", e._presLayout)}" />
1705
- <a:pt x="${R(n.curve.x2, "X", e._presLayout)}" y="${R(n.curve.y2, "Y", e._presLayout)}" />
1706
- <a:pt x="${R(n.x, "X", e._presLayout)}" y="${R(n.y, "Y", e._presLayout)}" />
1707
- </a:cubicBezTo>`;
1708
- break;
1709
- case "quadratic":
1710
- t += `<a:quadBezTo>
1711
- <a:pt x="${R(n.curve.x1, "X", e._presLayout)}" y="${R(n.curve.y1, "Y", e._presLayout)}" />
1712
- <a:pt x="${R(n.x, "X", e._presLayout)}" y="${R(n.y, "Y", e._presLayout)}" />
1713
- </a:quadBezTo>`;
1714
- break;
1715
- }
1716
- else "close" in n ? t += "<a:close />" : n.moveTo || r === 0 ? t += `<a:moveTo><a:pt x="${R(n.x, "X", e._presLayout)}" y="${R(n.y, "Y", e._presLayout)}" /></a:moveTo>` : t += `<a:lnTo><a:pt x="${R(n.x, "X", e._presLayout)}" y="${R(n.y, "Y", e._presLayout)}" /></a:lnTo>`;
1717
- }), t += "</a:path>", t += "</a:pathLst>", t += "</a:custGeom>";
1718
- else {
1719
- if (t += "<a:prstGeom prst=\"" + r.shape + "\"><a:avLst>", r.options.rectRadius) t += `<a:gd name="adj" fmla="val ${Math.round(r.options.rectRadius * i * 1e5 / Math.min(l, u))}"/>`;
1720
- else if (r.options.angleRange) {
1721
- for (let e = 0; e < 2; e++) {
1722
- let n = r.options.angleRange[e];
1723
- t += `<a:gd name="adj${e + 1}" fmla="val ${U(n)}" />`;
1724
- }
1725
- r.options.arcThicknessRatio && (t += `<a:gd name="adj3" fmla="val ${Math.round(r.options.arcThicknessRatio * 5e4)}" />`);
1726
- }
1727
- t += "</a:avLst></a:prstGeom>";
1728
- }
1729
- r.options.fill && typeof r.options.fill == "object" && r.options.fill.type === "image" && r.options.fill.rId ? t += `<a:blipFill><a:blip r:embed="rId${r.options.fill.rId}"/><a:stretch><a:fillRect/></a:stretch></a:blipFill>` : t += r.options.fill ? G(r.options.fill) : "<a:noFill/>", r.options.line && (r.options.line.type === "none" || !r.options.line.color ? t += "<a:ln w=\"0\"><a:noFill/></a:ln>" : (t += r.options.line.width ? `<a:ln w="${H(r.options.line.width)}">` : "<a:ln>", t += G(r.options.line), r.options.line.dashType && (t += `<a:prstDash val="${r.options.line.dashType}"/>`), r.options.line.beginArrowType && (t += `<a:headEnd type="${r.options.line.beginArrowType}"/>`), r.options.line.endArrowType && (t += `<a:tailEnd type="${r.options.line.endArrowType}"/>`), t += "</a:ln>")), (r.options.shadow && r.options.shadow.type !== "none" || r.options.reflection) && (t += he(r.options.shadow, r.options.reflection, void 0, x)), t += "</p:spPr>", t += Xe(r), t += "</p:sp>";
1730
- break;
1731
- case P.image:
1732
- if (t += "<p:pic>", t += " <p:nvPicPr>", t += `<p:cNvPr id="${a + 2}" name="${r.options.objectName}" descr="${B(r.options.altText || r.image)}">`, r.hyperlink?.url && (t += `<a:hlinkClick r:id="rId${r.hyperlink._rId}" tooltip="${r.hyperlink.tooltip ? B(r.hyperlink.tooltip) : ""}"/>`), r.hyperlink?.slide && (t += `<a:hlinkClick r:id="rId${r.hyperlink._rId}" tooltip="${r.hyperlink.tooltip ? B(r.hyperlink.tooltip) : ""}" action="ppaction://hlinksldjump"/>`), t += " </p:cNvPr>", t += " <p:cNvPicPr><a:picLocks noChangeAspect=\"1\"/></p:cNvPicPr>", t += " <p:nvPr>" + $(d) + "</p:nvPr>", t += " </p:nvPicPr>", t += "<p:blipFill>", (e._relsMedia || []).filter((e) => e.rId === r.imageRid)[0] && (e._relsMedia || []).filter((e) => e.rId === r.imageRid)[0].extn === "svg" ? (t += `<a:blip r:embed="rId${r.imageRid - 1}">`, t += r.options.transparency ? ` <a:alphaModFix amt="${Math.round((100 - r.options.transparency) * 1e3)}"/>` : "", t += " <a:extLst>", t += " <a:ext uri=\"{96DAC541-7B7A-43D3-8B79-37D633B846F1}\">", t += ` <asvg:svgBlip xmlns:asvg="http://schemas.microsoft.com/office/drawing/2016/SVG/main" r:embed="rId${r.imageRid}"/>`, t += " </a:ext>", t += " </a:extLst>", t += "</a:blip>") : (t += `<a:blip r:embed="rId${r.imageRid}">`, t += r.options.transparency ? `<a:alphaModFix amt="${Math.round((100 - r.options.transparency) * 1e3)}"/>` : "", t += "</a:blip>"), b?.type) {
1733
- let n = b.w ? R(b.w, "X", e._presLayout) : l, r = b.h ? R(b.h, "Y", e._presLayout) : u, i = R(b.x || 0, "X", e._presLayout), a = R(b.y || 0, "Y", e._presLayout);
1734
- t += Ue[b.type]({
1735
- w: C,
1736
- h: w
1737
- }, {
1738
- w: n,
1739
- h: r,
1740
- x: i,
1741
- y: a
1742
- }), C = n, w = r;
1743
- } else t += " <a:stretch><a:fillRect/></a:stretch>";
1744
- t += "</p:blipFill>", t += "<p:spPr>", t += " <a:xfrm" + p + ">", t += ` <a:off x="${s}" y="${c}"/>`, t += ` <a:ext cx="${C}" cy="${w}"/>`, t += " </a:xfrm>", t += ` <a:prstGeom prst="${S ? "ellipse" : "rect"}"><a:avLst/></a:prstGeom>`, (r.options.shadow && r.options.shadow.type !== "none" || r.options.reflection) && (t += he(r.options.shadow, r.options.reflection, void 0, x)), t += "</p:spPr>", t += "</p:pic>";
1745
- break;
1746
- case P.media:
1747
- r.mtype === "online" ? (t += "<p:pic>", t += " <p:nvPicPr>", t += `<p:cNvPr id="${r.mediaRid + 2}" name="${r.options.objectName}"/>`, t += " <p:cNvPicPr/>", t += " <p:nvPr>", t += ` <a:videoFile r:link="rId${r.mediaRid}"/>`, t += " </p:nvPr>", t += " </p:nvPicPr>", t += ` <p:blipFill><a:blip r:embed="rId${r.mediaRid + 1}"/><a:stretch><a:fillRect/></a:stretch></p:blipFill>`, t += " <p:spPr>", t += ` <a:xfrm${p}><a:off x="${s}" y="${c}"/><a:ext cx="${l}" cy="${u}"/></a:xfrm>`, t += " <a:prstGeom prst=\"rect\"><a:avLst/></a:prstGeom>", t += " </p:spPr>", t += "</p:pic>") : (t += "<p:pic>", t += " <p:nvPicPr>", t += `<p:cNvPr id="${r.mediaRid + 2}" name="${r.options.objectName}"><a:hlinkClick r:id="" action="ppaction://media"/></p:cNvPr>`, t += " <p:cNvPicPr><a:picLocks noChangeAspect=\"1\"/></p:cNvPicPr>", t += " <p:nvPr>", t += ` <a:videoFile r:link="rId${r.mediaRid}"/>`, t += " <p:extLst>", t += " <p:ext uri=\"{DAA4B4D4-6D71-4841-9C94-3DE7FCFB9230}\">", t += ` <p14:media xmlns:p14="http://schemas.microsoft.com/office/powerpoint/2010/main" r:embed="rId${r.mediaRid + 1}"/>`, t += " </p:ext>", t += " </p:extLst>", t += " </p:nvPr>", t += " </p:nvPicPr>", t += ` <p:blipFill><a:blip r:embed="rId${r.mediaRid + 2}"/><a:stretch><a:fillRect/></a:stretch></p:blipFill>`, t += " <p:spPr>", t += ` <a:xfrm${p}><a:off x="${s}" y="${c}"/><a:ext cx="${l}" cy="${u}"/></a:xfrm>`, t += " <a:prstGeom prst=\"rect\"><a:avLst/></a:prstGeom>", t += " </p:spPr>", t += "</p:pic>");
1748
- break;
1749
- case P.chart:
1750
- t += "<p:graphicFrame>", t += " <p:nvGraphicFramePr>", t += ` <p:cNvPr id="${a + 2}" name="${r.options.objectName}" descr="${B(r.options.altText || "")}"/>`, t += " <p:cNvGraphicFramePr/>", t += ` <p:nvPr>${$(d)}</p:nvPr>`, t += " </p:nvGraphicFramePr>", t += ` <p:xfrm><a:off x="${s}" y="${c}"/><a:ext cx="${l}" cy="${u}"/></p:xfrm>`, t += " <a:graphic xmlns:a=\"http://schemas.openxmlformats.org/drawingml/2006/main\">", t += " <a:graphicData uri=\"http://schemas.openxmlformats.org/drawingml/2006/chart\">", t += ` <c:chart r:id="rId${r.chartRid}" xmlns:c="http://schemas.openxmlformats.org/drawingml/2006/chart"/>`, t += " </a:graphicData>", t += " </a:graphic>", t += "</p:graphicFrame>";
1751
- break;
1752
- default:
1753
- t += "";
1754
- break;
1755
- }
1756
- }), e._slideNumberProps && (e._slideNumberProps.align || (e._slideNumberProps.align = "left"), t += "<p:sp>", t += " <p:nvSpPr>", t += " <p:cNvPr id=\"25\" name=\"Slide Number Placeholder 0\"/><p:cNvSpPr><a:spLocks noGrp=\"1\"/></p:cNvSpPr>", t += " <p:nvPr><p:ph type=\"sldNum\" sz=\"quarter\" idx=\"4294967295\"/></p:nvPr>", t += " </p:nvSpPr>", t += " <p:spPr>", t += `<a:xfrm><a:off x="${R(e._slideNumberProps.x, "X", e._presLayout)}" y="${R(e._slideNumberProps.y, "Y", e._presLayout)}"/><a:ext cx="${e._slideNumberProps.w ? R(e._slideNumberProps.w, "X", e._presLayout) : "800000"}" cy="${e._slideNumberProps.h ? R(e._slideNumberProps.h, "Y", e._presLayout) : "300000"}"/></a:xfrm> <a:prstGeom prst="rect"><a:avLst/></a:prstGeom> <a:extLst><a:ext uri="{C572A759-6A51-4108-AA02-DFA0A04FC94B}"><ma14:wrappingTextBoxFlag val="0" xmlns:ma14="http://schemas.microsoft.com/office/mac/drawingml/2011/main"/></a:ext></a:extLst></p:spPr>`, t += "<p:txBody>", t += "<a:bodyPr", e._slideNumberProps.margin && Array.isArray(e._slideNumberProps.margin) ? (t += ` lIns="${H(e._slideNumberProps.margin[3] || 0)}"`, t += ` tIns="${H(e._slideNumberProps.margin[0] || 0)}"`, t += ` rIns="${H(e._slideNumberProps.margin[1] || 0)}"`, t += ` bIns="${H(e._slideNumberProps.margin[2] || 0)}"`) : typeof e._slideNumberProps.margin == "number" && (t += ` lIns="${H(e._slideNumberProps.margin || 0)}"`, t += ` tIns="${H(e._slideNumberProps.margin || 0)}"`, t += ` rIns="${H(e._slideNumberProps.margin || 0)}"`, t += ` bIns="${H(e._slideNumberProps.margin || 0)}"`), e._slideNumberProps.valign && (t += ` anchor="${e._slideNumberProps.valign.replace("top", "t").replace("middle", "ctr").replace("bottom", "b")}"`), t += "/>", t += " <a:lstStyle><a:lvl1pPr>", (e._slideNumberProps.fontFace || e._slideNumberProps.fontSize || e._slideNumberProps.color) && (t += `<a:defRPr sz="${Math.round((e._slideNumberProps.fontSize || 12) * 100)}">`, e._slideNumberProps.color && (t += G(e._slideNumberProps.color)), e._slideNumberProps.fontFace && (t += `<a:latin typeface="${e._slideNumberProps.fontFace}"/><a:ea typeface="${e._slideNumberProps.fontFace}"/><a:cs typeface="${e._slideNumberProps.fontFace}"/>`), t += "</a:defRPr>"), t += "</a:lvl1pPr></a:lstStyle>", t += "<a:p>", e._slideNumberProps.align.startsWith("l") ? t += "<a:pPr algn=\"l\"/>" : e._slideNumberProps.align.startsWith("c") ? t += "<a:pPr algn=\"ctr\"/>" : e._slideNumberProps.align.startsWith("r") ? t += "<a:pPr algn=\"r\"/>" : t += "<a:pPr algn=\"l\"/>", t += `<a:fld id="${re}" type="slidenum"><a:rPr b="${+!!e._slideNumberProps.bold}" lang="en-US"/>`, t += `<a:t>${e._slideNum}</a:t></a:fld><a:endParaRPr lang="en-US"/></a:p>`, t += "</p:txBody></p:sp>"), t += "</p:spTree>", t += He(e), t += "</p:cSld>", t;
1757
- }
1758
- function Ge(e, t) {
1759
- let n = 0, r = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>" + o + "<Relationships xmlns=\"http://schemas.openxmlformats.org/package/2006/relationships\">";
1760
- return e._rels.forEach((e) => {
1761
- n = Math.max(n, e.rId), e.type.toLowerCase().includes("hyperlink") ? e.data === "slide" ? r += `<Relationship Id="rId${e.rId}" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/slide" Target="slide${e.Target}.xml"/>` : r += `<Relationship Id="rId${e.rId}" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink" Target="${e.Target}" TargetMode="External"/>` : e.type.toLowerCase().includes("notesSlide") && (r += `<Relationship Id="rId${e.rId}" Target="${e.Target}" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/notesSlide"/>`);
1762
- }), (e._relsChart || []).forEach((e) => {
1763
- n = Math.max(n, e.rId), r += `<Relationship Id="rId${e.rId}" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/chart" Target="${e.Target}"/>`;
1764
- }), (e._relsMedia || []).forEach((e) => {
1765
- let t = e.rId.toString();
1766
- n = Math.max(n, e.rId), e.type.toLowerCase().includes("image") ? r += "<Relationship Id=\"rId" + t + "\" Type=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/image\" Target=\"" + e.Target + "\"/>" : e.type.toLowerCase().includes("audio") ? r.includes(" Target=\"" + e.Target + "\"") ? r += "<Relationship Id=\"rId" + t + "\" Type=\"http://schemas.microsoft.com/office/2007/relationships/media\" Target=\"" + e.Target + "\"/>" : r += "<Relationship Id=\"rId" + t + "\" Type=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/audio\" Target=\"" + e.Target + "\"/>" : e.type.toLowerCase().includes("video") ? r.includes(" Target=\"" + e.Target + "\"") ? r += "<Relationship Id=\"rId" + t + "\" Type=\"http://schemas.microsoft.com/office/2007/relationships/media\" Target=\"" + e.Target + "\"/>" : r += "<Relationship Id=\"rId" + t + "\" Type=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/video\" Target=\"" + e.Target + "\"/>" : e.type.toLowerCase().includes("online") && (r.includes(" Target=\"" + e.Target + "\"") ? r += "<Relationship Id=\"rId" + t + "\" Type=\"http://schemas.microsoft.com/office/2007/relationships/image\" Target=\"" + e.Target + "\"/>" : r += "<Relationship Id=\"rId" + t + "\" Target=\"" + e.Target + "\" TargetMode=\"External\" Type=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/video\"/>");
1767
- }), t.forEach((e, t) => {
1768
- r += `<Relationship Id="rId${n + t + 1}" Type="${e.type}" Target="${e.target}"/>`;
1769
- }), r += "</Relationships>", r;
1770
- }
1771
- function Ke(e, t) {
1772
- let n = "", r = "", i = "", a = "", o = t ? "a:lvl1pPr" : "a:pPr", s = H(u), c = `<${o}${e.options.rtlMode ? " rtl=\"1\" " : ""}`;
1773
- if (e.options.align) switch (e.options.align) {
1774
- case "left":
1775
- c += " algn=\"l\"";
1776
- break;
1777
- case "right":
1778
- c += " algn=\"r\"";
1779
- break;
1780
- case "center":
1781
- c += " algn=\"ctr\"";
1782
- break;
1783
- case "justify":
1784
- c += " algn=\"just\"";
1785
- break;
1786
- default:
1787
- c += "";
1788
- break;
1789
- }
1790
- if (e.options.lineSpacing ? r = `<a:lnSpc><a:spcPts val="${Math.round(e.options.lineSpacing * 100)}"/></a:lnSpc>` : e.options.lineSpacingMultiple && (r = `<a:lnSpc><a:spcPct val="${Math.round(e.options.lineSpacingMultiple * 1e5)}"/></a:lnSpc>`), e.options.indentLevel && !isNaN(Number(e.options.indentLevel)) && e.options.indentLevel > 0 && (c += ` lvl="${e.options.indentLevel}"`), e.options.paraSpaceBefore && !isNaN(Number(e.options.paraSpaceBefore)) && e.options.paraSpaceBefore > 0 && (i += `<a:spcBef><a:spcPts val="${Math.round(e.options.paraSpaceBefore * 100)}"/></a:spcBef>`), e.options.paraSpaceAfter && !isNaN(Number(e.options.paraSpaceAfter)) && e.options.paraSpaceAfter > 0 && (i += `<a:spcAft><a:spcPts val="${Math.round(e.options.paraSpaceAfter * 100)}"/></a:spcAft>`), typeof e.options.bullet == "object") if (e?.options?.bullet?.indent && (s = H(e.options.bullet.indent)), e.options.bullet.type) e.options.bullet.type.toString().toLowerCase() === "number" && (c += ` marL="${e.options.indentLevel && e.options.indentLevel > 0 ? s + s * e.options.indentLevel : s}" indent="-${s}"`, n = `<a:buSzPct val="100000"/><a:buFont typeface="+mj-lt"/><a:buAutoNum type="${e.options.bullet.style || "arabicPeriod"}" startAt="${e.options.bullet.numberStartAt || e.options.bullet.startAt || "1"}"/>`);
1791
- else if (e.options.bullet.characterCode) {
1792
- let t = `&#x${e.options.bullet.characterCode};`;
1793
- /^[0-9A-Fa-f]{4}$/.test(e.options.bullet.characterCode) || (console.warn("Warning: `bullet.characterCode should be a 4-digit unicode charatcer (ex: 22AB)`!"), t = I.DEFAULT), c += ` marL="${e.options.indentLevel && e.options.indentLevel > 0 ? s + s * e.options.indentLevel : s}" indent="-${s}"`, n = "<a:buSzPct val=\"100000\"/><a:buChar char=\"" + t + "\"/>";
1794
- } else if (e.options.bullet.code) {
1795
- let t = `&#x${e.options.bullet.code};`;
1796
- /^[0-9A-Fa-f]{4}$/.test(e.options.bullet.code) || (console.warn("Warning: `bullet.code should be a 4-digit hex code (ex: 22AB)`!"), t = I.DEFAULT), c += ` marL="${e.options.indentLevel && e.options.indentLevel > 0 ? s + s * e.options.indentLevel : s}" indent="-${s}"`, n = "<a:buSzPct val=\"100000\"/><a:buChar char=\"" + t + "\"/>";
1797
- } else c += ` marL="${e.options.indentLevel && e.options.indentLevel > 0 ? s + s * e.options.indentLevel : s}" indent="-${s}"`, n = `<a:buSzPct val="100000"/><a:buChar char="${I.DEFAULT}"/>`;
1798
- else e.options.bullet ? (c += ` marL="${e.options.indentLevel && e.options.indentLevel > 0 ? s + s * e.options.indentLevel : s}" indent="-${s}"`, n = `<a:buSzPct val="100000"/><a:buChar char="${I.DEFAULT}"/>`) : e.options.bullet || (c += " indent=\"0\" marL=\"0\"", n = "<a:buNone/>");
1799
- return e.options.tabStops && Array.isArray(e.options.tabStops) && (a = `<a:tabLst>${e.options.tabStops.map((e) => `<a:tab pos="${V(e.position || 1)}" algn="${e.alignment || "l"}"/>`).join("")}</a:tabLst>`), c += ">" + r + i + n + a, t && (c += qe(e.options, !0)), c += "</" + o + ">", c;
1800
- }
1801
- function qe(e, t) {
1802
- let n = "", r = t ? "a:defRPr" : "a:rPr";
1803
- n += "<" + r + " lang=\"" + (e.lang ? e.lang : "en-US") + "\"" + (e.lang ? " altLang=\"en-US\"" : ""), n += e.fontSize ? ` sz="${Math.round(e.fontSize * 100)}"` : "", n += e?.bold ? ` b="${e.bold ? "1" : "0"}"` : "", n += e?.italic ? ` i="${e.italic ? "1" : "0"}"` : "", n += e?.strike ? ` strike="${typeof e.strike == "string" ? e.strike : "sngStrike"}"` : "", typeof e.underline == "object" && e.underline?.style ? n += ` u="${e.underline.style}"` : typeof e.underline == "string" ? n += ` u="${String(e.underline)}"` : e.hyperlink && (n += " u=\"sng\""), e.baseline ? n += ` baseline="${Math.round(e.baseline * 50)}"` : e.subscript ? n += " baseline=\"-40000\"" : e.superscript && (n += " baseline=\"30000\""), n += e.charSpacing ? ` spc="${Math.round(e.charSpacing * 100)}" kern="0"` : "", n += " dirty=\"0\">";
1804
- let i = e.textReflection || e.reflection, a = e.textShadow || e.shadow;
1805
- if ((e.color || e.fontFace || e.outline || typeof e.underline == "object" && e.underline.color || e.glow || a || i) && (e.outline && typeof e.outline == "object" && (n += `<a:ln w="${H(e.outline.size || .75)}">${G(e.outline.color || "FFFFFF")}</a:ln>`), e.color && (n += G({
1806
- color: e.color,
1807
- transparency: e.transparency
1808
- })), e.highlight && (n += `<a:highlight>${W(e.highlight)}</a:highlight>`), typeof e.underline == "object" && e.underline.color && (n += `<a:uFill>${G(e.underline.color)}</a:uFill>`), (a || i || e.glow) && (n += he(a, i, e.glow, x)), e.fontFace && (n += `<a:latin typeface="${e.fontFace}" pitchFamily="34" charset="0"/><a:ea typeface="${e.fontFace}" pitchFamily="34" charset="-122"/><a:cs typeface="${e.fontFace}" pitchFamily="34" charset="-120"/>`)), e.hyperlink) {
1809
- if (typeof e.hyperlink != "object") throw Error("ERROR: text `hyperlink` option should be an object. Ex: `hyperlink:{url:'https://github.com'}` ");
1810
- if (!e.hyperlink.url && !e.hyperlink.slide) throw Error("ERROR: 'hyperlink requires either `url` or `slide`'");
1811
- e.hyperlink.url ? n += `<a:hlinkClick r:id="rId${e.hyperlink._rId}" invalidUrl="" action="" tgtFrame="" tooltip="${e.hyperlink.tooltip ? B(e.hyperlink.tooltip) : ""}" history="1" highlightClick="0" endSnd="0"${e.color ? ">" : "/>"}` : e.hyperlink.slide && (n += `<a:hlinkClick r:id="rId${e.hyperlink._rId}" action="ppaction://hlinksldjump" tooltip="${e.hyperlink.tooltip ? B(e.hyperlink.tooltip) : ""}"${e.color ? ">" : "/>"}`), e.color && (n += " <a:extLst>", n += " <a:ext uri=\"{A12FA001-AC4F-418D-AE19-62706E023703}\">", n += " <ahyp:hlinkClr xmlns:ahyp=\"http://schemas.microsoft.com/office/drawing/2018/hyperlinkcolor\" val=\"tx\"/>", n += " </a:ext>", n += " </a:extLst>", n += "</a:hlinkClick>");
1812
- }
1813
- return n += `</${r}>`, n;
1814
- }
1815
- function Je(e) {
1816
- return e.text ? `<a:r>${qe(e.options, !1)}<a:t>${B(e.text)}</a:t></a:r>` : "";
1817
- }
1818
- function Ye(e) {
1819
- let t = "<a:bodyPr";
1820
- return e && e._type === P.text && e.options._bodyProp ? (t += e.options._bodyProp.wrap ? " wrap=\"square\"" : " wrap=\"none\"", (e.options._bodyProp.lIns || e.options._bodyProp.lIns === 0) && (t += ` lIns="${e.options._bodyProp.lIns}"`), (e.options._bodyProp.tIns || e.options._bodyProp.tIns === 0) && (t += ` tIns="${e.options._bodyProp.tIns}"`), (e.options._bodyProp.rIns || e.options._bodyProp.rIns === 0) && (t += ` rIns="${e.options._bodyProp.rIns}"`), (e.options._bodyProp.bIns || e.options._bodyProp.bIns === 0) && (t += ` bIns="${e.options._bodyProp.bIns}"`), t += " rtlCol=\"0\"", e.options._bodyProp.anchor && (t += " anchor=\"" + e.options._bodyProp.anchor + "\""), e.options._bodyProp.vert && (t += " vert=\"" + e.options._bodyProp.vert + "\""), t += ">", e.options.fit && (e.options.fit === "none" ? t += "" : e.options.fit === "shrink" ? t += "<a:normAutofit/>" : e.options.fit === "resize" && (t += "<a:spAutoFit/>")), e.options.shrinkText && (t += "<a:normAutofit/>"), t += e.options._bodyProp.autoFit ? "<a:spAutoFit/>" : "", t += "</a:bodyPr>") : (t += " wrap=\"square\" rtlCol=\"0\">", t += "</a:bodyPr>"), e._type === P.tablecell ? "<a:bodyPr/>" : t;
1821
- }
1822
- function Xe(e) {
1823
- let t = e.options || {}, n = [], r = [];
1824
- if (t && e._type !== P.tablecell && (e.text === void 0 || e.text === null)) return "";
1825
- let i = e._type === P.tablecell ? "<a:txBody>" : "<p:txBody>";
1826
- i += Ye(e), t.h === 0 && t.line && t.align ? i += "<a:lstStyle><a:lvl1pPr algn=\"l\"/></a:lstStyle>" : e._type === "placeholder" ? i += `<a:lstStyle>${Ke(e, !0)}</a:lstStyle>` : i += "<a:lstStyle/>", typeof e.text == "string" || typeof e.text == "number" ? n.push({
1827
- text: e.text.toString(),
1828
- options: t || {}
1829
- }) : e.text && !Array.isArray(e.text) && typeof e.text == "object" && Object.keys(e.text).includes("text") ? n.push({
1830
- text: e.text || "",
1831
- options: e.options || {}
1832
- }) : Array.isArray(e.text) && (n = e.text.map((e) => ({
1833
- text: e.text,
1834
- options: e.options
1835
- }))), n.forEach((e, n) => {
1836
- e.text ||= "", e.options = e.options || t || {}, n === 0 && e.options && !e.options.bullet && t.bullet && (e.options.bullet = t.bullet), (typeof e.text == "string" || typeof e.text == "number") && (e.text = e.text.toString().replace(/\r*\n/g, o)), e.text.includes(o) && e.text.match(/\n$/g) === null ? e.text.split(o).forEach((t) => {
1837
- e.options.breakLine = !0, r.push({
1838
- text: t,
1839
- options: e.options
1840
- });
1841
- }) : r.push(e);
1842
- });
1843
- let a = [], s = [];
1844
- return r.forEach((e, n) => {
1845
- s.length > 0 && (e.options.align || t.align) ? e.options.align !== r[n - 1].options.align && (a.push(s), s = []) : s.length > 0 && e.options.bullet && s.length > 0 && (a.push(s), s = [], e.options.breakLine = !1), s.push(e), s.length > 0 && e.options.breakLine && n + 1 < r.length && (a.push(s), s = []), n + 1 === r.length && a.push(s);
1846
- }), a.forEach((n) => {
1847
- let r = !1;
1848
- i += "<a:p>";
1849
- let a = `<a:pPr ${n[0].options?.rtlMode ? " rtl=\"1\" " : ""}`;
1850
- n.forEach((e, n) => {
1851
- e.options._lineIdx = n, n > 0 && e.options.softBreakBefore && (i += "<a:br/>"), e.options.align = e.options.align || t.align, e.options.lineSpacing = e.options.lineSpacing || t.lineSpacing, e.options.lineSpacingMultiple = e.options.lineSpacingMultiple || t.lineSpacingMultiple, e.options.indentLevel = e.options.indentLevel || t.indentLevel, e.options.paraSpaceBefore = e.options.paraSpaceBefore || t.paraSpaceBefore, e.options.paraSpaceAfter = e.options.paraSpaceAfter || t.paraSpaceAfter, a = Ke(e, !1), i += a.replace("<a:pPr></a:pPr>", ""), Object.entries(t).filter(([t]) => !(e.options.hyperlink && t === "color")).forEach(([t, n]) => {
1852
- t !== "bullet" && !e.options[t] && (e.options[t] = n);
1853
- }), i += Je(e), (!e.text && t.fontSize || e.options.fontSize) && (r = !0, t.fontSize = t.fontSize || e.options.fontSize);
1854
- }), e._type === P.tablecell && (t.fontSize || t.fontFace) ? t.fontFace ? (i += `<a:endParaRPr lang="${t.lang || "en-US"}"` + (t.fontSize ? ` sz="${Math.round(t.fontSize * 100)}"` : "") + " dirty=\"0\">", i += `<a:latin typeface="${t.fontFace}" charset="0"/>`, i += `<a:ea typeface="${t.fontFace}" charset="0"/>`, i += `<a:cs typeface="${t.fontFace}" charset="0"/>`, i += "</a:endParaRPr>") : i += `<a:endParaRPr lang="${t.lang || "en-US"}"` + (t.fontSize ? ` sz="${Math.round(t.fontSize * 100)}"` : "") + " dirty=\"0\"/>" : r ? i += `<a:endParaRPr lang="${t.lang || "en-US"}"` + (t.fontSize ? ` sz="${Math.round(t.fontSize * 100)}"` : "") + " dirty=\"0\"/>" : i += `<a:endParaRPr lang="${t.lang || "en-US"}" dirty="0"/>`, i += "</a:p>";
1855
- }), i.indexOf("<a:p>") === -1 && (i += "<a:p><a:endParaRPr/></a:p>"), i += e._type === P.tablecell ? "</a:txBody>" : "</p:txBody>", i;
1856
- }
1857
- function $(e) {
1858
- if (!e) return "";
1859
- let t = e.options?._placeholderIdx ? e.options._placeholderIdx : "", n = e.options?._placeholderType ? e.options._placeholderType : "", r = n && F[n] ? F[n].toString() : "";
1860
- return `<p:ph
1861
- ${t ? " idx=\"" + t.toString() + "\"" : ""}
1862
- ${r && F[r] ? ` type="${r}"` : ""}
1863
- ${e.text && e.text.length > 0 ? " hasCustomPrompt=\"1\"" : ""}
1864
- />`;
1865
- }
1866
- function Ze(e, t, n) {
1867
- let r = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>" + o;
1868
- return r += "<Types xmlns=\"http://schemas.openxmlformats.org/package/2006/content-types\">", r += "<Default Extension=\"xml\" ContentType=\"application/xml\"/>", r += "<Default Extension=\"rels\" ContentType=\"application/vnd.openxmlformats-package.relationships+xml\"/>", r += "<Default Extension=\"jpeg\" ContentType=\"image/jpeg\"/>", r += "<Default Extension=\"jpg\" ContentType=\"image/jpg\"/>", r += "<Default Extension=\"svg\" ContentType=\"image/svg+xml\"/>", r += "<Default Extension=\"png\" ContentType=\"image/png\"/>", r += "<Default Extension=\"gif\" ContentType=\"image/gif\"/>", r += "<Default Extension=\"m4v\" ContentType=\"video/mp4\"/>", r += "<Default Extension=\"mp4\" ContentType=\"video/mp4\"/>", e.forEach((e) => {
1869
- (e._relsMedia || []).forEach((e) => {
1870
- e.type !== "image" && e.type !== "online" && e.type !== "chart" && e.extn !== "m4v" && !r.includes(e.type) && (r += "<Default Extension=\"" + e.extn + "\" ContentType=\"" + e.type + "\"/>");
1871
- });
1872
- }), r += "<Default Extension=\"vml\" ContentType=\"application/vnd.openxmlformats-officedocument.vmlDrawing\"/>", r += "<Default Extension=\"xlsx\" ContentType=\"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\"/>", r += "<Override PartName=\"/ppt/presentation.xml\" ContentType=\"application/vnd.openxmlformats-officedocument.presentationml.presentation.main+xml\"/>", r += "<Override PartName=\"/ppt/notesMasters/notesMaster1.xml\" ContentType=\"application/vnd.openxmlformats-officedocument.presentationml.notesMaster+xml\"/>", e.forEach((e, t) => {
1873
- r += `<Override PartName="/ppt/slideMasters/slideMaster${t + 1}.xml" ContentType="application/vnd.openxmlformats-officedocument.presentationml.slideMaster+xml"/>`, r += `<Override PartName="/ppt/slides/slide${t + 1}.xml" ContentType="application/vnd.openxmlformats-officedocument.presentationml.slide+xml"/>`, e._relsChart.forEach((e) => {
1874
- r += `<Override PartName="${e.Target}" ContentType="application/vnd.openxmlformats-officedocument.drawingml.chart+xml"/>`;
1875
- });
1876
- }), r += "<Override PartName=\"/ppt/presProps.xml\" ContentType=\"application/vnd.openxmlformats-officedocument.presentationml.presProps+xml\"/>", r += "<Override PartName=\"/ppt/viewProps.xml\" ContentType=\"application/vnd.openxmlformats-officedocument.presentationml.viewProps+xml\"/>", r += "<Override PartName=\"/ppt/theme/theme1.xml\" ContentType=\"application/vnd.openxmlformats-officedocument.theme+xml\"/>", r += "<Override PartName=\"/ppt/tableStyles.xml\" ContentType=\"application/vnd.openxmlformats-officedocument.presentationml.tableStyles+xml\"/>", t.forEach((e, t) => {
1877
- r += `<Override PartName="/ppt/slideLayouts/slideLayout${t + 1}.xml" ContentType="application/vnd.openxmlformats-officedocument.presentationml.slideLayout+xml"/>`, (e._relsChart || []).forEach((e) => {
1878
- r += " <Override PartName=\"" + e.Target + "\" ContentType=\"application/vnd.openxmlformats-officedocument.drawingml.chart+xml\"/>";
1879
- });
1880
- }), e.forEach((e, t) => {
1881
- r += `<Override PartName="/ppt/notesSlides/notesSlide${t + 1}.xml" ContentType="application/vnd.openxmlformats-officedocument.presentationml.notesSlide+xml"/>`;
1882
- }), n._relsChart.forEach((e) => {
1883
- r += " <Override PartName=\"" + e.Target + "\" ContentType=\"application/vnd.openxmlformats-officedocument.drawingml.chart+xml\"/>";
1884
- }), n._relsMedia.forEach((e) => {
1885
- e.type !== "image" && e.type !== "online" && e.type !== "chart" && e.extn !== "m4v" && !r.includes(e.type) && (r += " <Default Extension=\"" + e.extn + "\" ContentType=\"" + e.type + "\"/>");
1886
- }), r += " <Override PartName=\"/docProps/core.xml\" ContentType=\"application/vnd.openxmlformats-package.core-properties+xml\"/>", r += " <Override PartName=\"/docProps/app.xml\" ContentType=\"application/vnd.openxmlformats-officedocument.extended-properties+xml\"/>", r += "</Types>", r;
1887
- }
1888
- function Qe() {
1889
- return `<?xml version="1.0" encoding="UTF-8" standalone="yes"?>${o}<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships">
1890
- <Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties" Target="docProps/app.xml"/>
1891
- <Relationship Id="rId2" Type="http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties" Target="docProps/core.xml"/>
1892
- <Relationship Id="rId3" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument" Target="ppt/presentation.xml"/>
1893
- </Relationships>`;
1894
- }
1895
- function $e(e, t) {
1896
- return `<?xml version="1.0" encoding="UTF-8" standalone="yes"?>${o}<Properties xmlns="http://schemas.openxmlformats.org/officeDocument/2006/extended-properties" xmlns:vt="http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes">
1897
- <TotalTime>0</TotalTime>
1898
- <Words>0</Words>
1899
- <Application>Microsoft Office PowerPoint</Application>
1900
- <PresentationFormat>On-screen Show (16:9)</PresentationFormat>
1901
- <Paragraphs>0</Paragraphs>
1902
- <Slides>${e.length}</Slides>
1903
- <Notes>${e.length}</Notes>
1904
- <HiddenSlides>0</HiddenSlides>
1905
- <MMClips>0</MMClips>
1906
- <ScaleCrop>false</ScaleCrop>
1907
- <HeadingPairs>
1908
- <vt:vector size="6" baseType="variant">
1909
- <vt:variant><vt:lpstr>Fonts Used</vt:lpstr></vt:variant>
1910
- <vt:variant><vt:i4>2</vt:i4></vt:variant>
1911
- <vt:variant><vt:lpstr>Theme</vt:lpstr></vt:variant>
1912
- <vt:variant><vt:i4>1</vt:i4></vt:variant>
1913
- <vt:variant><vt:lpstr>Slide Titles</vt:lpstr></vt:variant>
1914
- <vt:variant><vt:i4>${e.length}</vt:i4></vt:variant>
1915
- </vt:vector>
1916
- </HeadingPairs>
1917
- <TitlesOfParts>
1918
- <vt:vector size="${e.length + 1 + 2}" baseType="lpstr">
1919
- <vt:lpstr>Arial</vt:lpstr>
1920
- <vt:lpstr>Calibri</vt:lpstr>
1921
- <vt:lpstr>Office Theme</vt:lpstr>
1922
- ${e.map((e, t) => `<vt:lpstr>Slide ${t + 1}</vt:lpstr>`).join("")}
1923
- </vt:vector>
1924
- </TitlesOfParts>
1925
- <Company>${t}</Company>
1926
- <LinksUpToDate>false</LinksUpToDate>
1927
- <SharedDoc>false</SharedDoc>
1928
- <HyperlinksChanged>false</HyperlinksChanged>
1929
- <AppVersion>16.0000</AppVersion>
1930
- </Properties>`;
1931
- }
1932
- function et(e, t, n, r) {
1933
- return `<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
1934
- <cp:coreProperties xmlns:cp="http://schemas.openxmlformats.org/package/2006/metadata/core-properties" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:dcmitype="http://purl.org/dc/dcmitype/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
1935
- <dc:title>${B(e)}</dc:title>
1936
- <dc:subject>${B(t)}</dc:subject>
1937
- <dc:creator>${B(n)}</dc:creator>
1938
- <cp:lastModifiedBy>${B(n)}</cp:lastModifiedBy>
1939
- <cp:revision>${r}</cp:revision>
1940
- <dcterms:created xsi:type="dcterms:W3CDTF">${(/* @__PURE__ */ new Date()).toISOString().replace(/\.\d\d\dZ/, "Z")}</dcterms:created>
1941
- <dcterms:modified xsi:type="dcterms:W3CDTF">${(/* @__PURE__ */ new Date()).toISOString().replace(/\.\d\d\dZ/, "Z")}</dcterms:modified>
1942
- </cp:coreProperties>`;
1943
- }
1944
- function tt(e) {
1945
- let t = 1, n = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>" + o;
1946
- n += "<Relationships xmlns=\"http://schemas.openxmlformats.org/package/2006/relationships\">", n += "<Relationship Id=\"rId1\" Type=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/slideMaster\" Target=\"slideMasters/slideMaster1.xml\"/>";
1947
- for (let r = 1; r <= e.length; r++) n += `<Relationship Id="rId${++t}" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/slide" Target="slides/slide${r}.xml"/>`;
1948
- return t++, n += `<Relationship Id="rId${t + 0}" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/notesMaster" Target="notesMasters/notesMaster1.xml"/><Relationship Id="rId${t + 1}" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/presProps" Target="presProps.xml"/><Relationship Id="rId${t + 2}" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/viewProps" Target="viewProps.xml"/><Relationship Id="rId${t + 3}" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme" Target="theme/theme1.xml"/><Relationship Id="rId${t + 4}" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/tableStyles" Target="tableStyles.xml"/></Relationships>`, n;
1949
- }
1950
- function nt(e) {
1951
- return `<?xml version="1.0" encoding="UTF-8" standalone="yes"?>${o}<p:sld xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:p="http://schemas.openxmlformats.org/presentationml/2006/main"${e?.hidden ? " show=\"0\"" : ""}>${We(e)}<p:clrMapOvr><a:masterClrMapping/></p:clrMapOvr></p:sld>`;
1952
- }
1953
- function rt(e) {
1954
- let t = "";
1955
- return e._slideObjects.forEach((e) => {
1956
- e._type === P.notes && (t += e?.text && e.text[0] ? e.text[0].text : "");
1957
- }), t.replace(/\r*\n/g, o);
1958
- }
1959
- function it() {
1960
- return `<?xml version="1.0" encoding="UTF-8" standalone="yes"?>${o}<p:notesMaster xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:p="http://schemas.openxmlformats.org/presentationml/2006/main"><p:cSld><p:bg><p:bgRef idx="1001"><a:schemeClr val="bg1"/></p:bgRef></p:bg><p:spTree><p:nvGrpSpPr><p:cNvPr id="1" name=""/><p:cNvGrpSpPr/><p:nvPr/></p:nvGrpSpPr><p:grpSpPr><a:xfrm><a:off x="0" y="0"/><a:ext cx="0" cy="0"/><a:chOff x="0" y="0"/><a:chExt cx="0" cy="0"/></a:xfrm></p:grpSpPr><p:sp><p:nvSpPr><p:cNvPr id="2" name="Header Placeholder 1"/><p:cNvSpPr><a:spLocks noGrp="1"/></p:cNvSpPr><p:nvPr><p:ph type="hdr" sz="quarter"/></p:nvPr></p:nvSpPr><p:spPr><a:xfrm><a:off x="0" y="0"/><a:ext cx="2971800" cy="458788"/></a:xfrm><a:prstGeom prst="rect"><a:avLst/></a:prstGeom></p:spPr><p:txBody><a:bodyPr vert="horz" lIns="91440" tIns="45720" rIns="91440" bIns="45720" rtlCol="0"/><a:lstStyle><a:lvl1pPr algn="l"><a:defRPr sz="1200"/></a:lvl1pPr></a:lstStyle><a:p><a:endParaRPr lang="en-US"/></a:p></p:txBody></p:sp><p:sp><p:nvSpPr><p:cNvPr id="3" name="Date Placeholder 2"/><p:cNvSpPr><a:spLocks noGrp="1"/></p:cNvSpPr><p:nvPr><p:ph type="dt" idx="1"/></p:nvPr></p:nvSpPr><p:spPr><a:xfrm><a:off x="3884613" y="0"/><a:ext cx="2971800" cy="458788"/></a:xfrm><a:prstGeom prst="rect"><a:avLst/></a:prstGeom></p:spPr><p:txBody><a:bodyPr vert="horz" lIns="91440" tIns="45720" rIns="91440" bIns="45720" rtlCol="0"/><a:lstStyle><a:lvl1pPr algn="r"><a:defRPr sz="1200"/></a:lvl1pPr></a:lstStyle><a:p><a:fld id="{5282F153-3F37-0F45-9E97-73ACFA13230C}" type="datetimeFigureOut"><a:rPr lang="en-US"/><a:t>7/23/19</a:t></a:fld><a:endParaRPr lang="en-US"/></a:p></p:txBody></p:sp><p:sp><p:nvSpPr><p:cNvPr id="4" name="Slide Image Placeholder 3"/><p:cNvSpPr><a:spLocks noGrp="1" noRot="1" noChangeAspect="1"/></p:cNvSpPr><p:nvPr><p:ph type="sldImg" idx="2"/></p:nvPr></p:nvSpPr><p:spPr><a:xfrm><a:off x="685800" y="1143000"/><a:ext cx="5486400" cy="3086100"/></a:xfrm><a:prstGeom prst="rect"><a:avLst/></a:prstGeom><a:noFill/><a:ln w="12700"><a:solidFill><a:prstClr val="black"/></a:solidFill></a:ln></p:spPr><p:txBody><a:bodyPr vert="horz" lIns="91440" tIns="45720" rIns="91440" bIns="45720" rtlCol="0" anchor="ctr"/><a:lstStyle/><a:p><a:endParaRPr lang="en-US"/></a:p></p:txBody></p:sp><p:sp><p:nvSpPr><p:cNvPr id="5" name="Notes Placeholder 4"/><p:cNvSpPr><a:spLocks noGrp="1"/></p:cNvSpPr><p:nvPr><p:ph type="body" sz="quarter" idx="3"/></p:nvPr></p:nvSpPr><p:spPr><a:xfrm><a:off x="685800" y="4400550"/><a:ext cx="5486400" cy="3600450"/></a:xfrm><a:prstGeom prst="rect"><a:avLst/></a:prstGeom></p:spPr><p:txBody><a:bodyPr vert="horz" lIns="91440" tIns="45720" rIns="91440" bIns="45720" rtlCol="0"/><a:lstStyle/><a:p><a:pPr lvl="0"/><a:r><a:rPr lang="en-US"/><a:t>Click to edit Master text styles</a:t></a:r></a:p><a:p><a:pPr lvl="1"/><a:r><a:rPr lang="en-US"/><a:t>Second level</a:t></a:r></a:p><a:p><a:pPr lvl="2"/><a:r><a:rPr lang="en-US"/><a:t>Third level</a:t></a:r></a:p><a:p><a:pPr lvl="3"/><a:r><a:rPr lang="en-US"/><a:t>Fourth level</a:t></a:r></a:p><a:p><a:pPr lvl="4"/><a:r><a:rPr lang="en-US"/><a:t>Fifth level</a:t></a:r></a:p></p:txBody></p:sp><p:sp><p:nvSpPr><p:cNvPr id="6" name="Footer Placeholder 5"/><p:cNvSpPr><a:spLocks noGrp="1"/></p:cNvSpPr><p:nvPr><p:ph type="ftr" sz="quarter" idx="4"/></p:nvPr></p:nvSpPr><p:spPr><a:xfrm><a:off x="0" y="8685213"/><a:ext cx="2971800" cy="458787"/></a:xfrm><a:prstGeom prst="rect"><a:avLst/></a:prstGeom></p:spPr><p:txBody><a:bodyPr vert="horz" lIns="91440" tIns="45720" rIns="91440" bIns="45720" rtlCol="0" anchor="b"/><a:lstStyle><a:lvl1pPr algn="l"><a:defRPr sz="1200"/></a:lvl1pPr></a:lstStyle><a:p><a:endParaRPr lang="en-US"/></a:p></p:txBody></p:sp><p:sp><p:nvSpPr><p:cNvPr id="7" name="Slide Number Placeholder 6"/><p:cNvSpPr><a:spLocks noGrp="1"/></p:cNvSpPr><p:nvPr><p:ph type="sldNum" sz="quarter" idx="5"/></p:nvPr></p:nvSpPr><p:spPr><a:xfrm><a:off x="3884613" y="8685213"/><a:ext cx="2971800" cy="458787"/></a:xfrm><a:prstGeom prst="rect"><a:avLst/></a:prstGeom></p:spPr><p:txBody><a:bodyPr vert="horz" lIns="91440" tIns="45720" rIns="91440" bIns="45720" rtlCol="0" anchor="b"/><a:lstStyle><a:lvl1pPr algn="r"><a:defRPr sz="1200"/></a:lvl1pPr></a:lstStyle><a:p><a:fld id="{CE5E9CC1-C706-0F49-92D6-E571CC5EEA8F}" type="slidenum"><a:rPr lang="en-US"/><a:t>‹#›</a:t></a:fld><a:endParaRPr lang="en-US"/></a:p></p:txBody></p:sp></p:spTree><p:extLst><p:ext uri="{BB962C8B-B14F-4D97-AF65-F5344CB8AC3E}"><p14:creationId xmlns:p14="http://schemas.microsoft.com/office/powerpoint/2010/main" val="1024086991"/></p:ext></p:extLst></p:cSld><p:clrMap bg1="lt1" tx1="dk1" bg2="lt2" tx2="dk2" accent1="accent1" accent2="accent2" accent3="accent3" accent4="accent4" accent5="accent5" accent6="accent6" hlink="hlink" folHlink="folHlink"/><p:notesStyle><a:lvl1pPr marL="0" algn="l" defTabSz="914400" rtl="0" eaLnBrk="1" latinLnBrk="0" hangingPunct="1"><a:defRPr sz="1200" kern="1200"><a:solidFill><a:schemeClr val="tx1"/></a:solidFill><a:latin typeface="+mn-lt"/><a:ea typeface="+mn-ea"/><a:cs typeface="+mn-cs"/></a:defRPr></a:lvl1pPr><a:lvl2pPr marL="457200" algn="l" defTabSz="914400" rtl="0" eaLnBrk="1" latinLnBrk="0" hangingPunct="1"><a:defRPr sz="1200" kern="1200"><a:solidFill><a:schemeClr val="tx1"/></a:solidFill><a:latin typeface="+mn-lt"/><a:ea typeface="+mn-ea"/><a:cs typeface="+mn-cs"/></a:defRPr></a:lvl2pPr><a:lvl3pPr marL="914400" algn="l" defTabSz="914400" rtl="0" eaLnBrk="1" latinLnBrk="0" hangingPunct="1"><a:defRPr sz="1200" kern="1200"><a:solidFill><a:schemeClr val="tx1"/></a:solidFill><a:latin typeface="+mn-lt"/><a:ea typeface="+mn-ea"/><a:cs typeface="+mn-cs"/></a:defRPr></a:lvl3pPr><a:lvl4pPr marL="1371600" algn="l" defTabSz="914400" rtl="0" eaLnBrk="1" latinLnBrk="0" hangingPunct="1"><a:defRPr sz="1200" kern="1200"><a:solidFill><a:schemeClr val="tx1"/></a:solidFill><a:latin typeface="+mn-lt"/><a:ea typeface="+mn-ea"/><a:cs typeface="+mn-cs"/></a:defRPr></a:lvl4pPr><a:lvl5pPr marL="1828800" algn="l" defTabSz="914400" rtl="0" eaLnBrk="1" latinLnBrk="0" hangingPunct="1"><a:defRPr sz="1200" kern="1200"><a:solidFill><a:schemeClr val="tx1"/></a:solidFill><a:latin typeface="+mn-lt"/><a:ea typeface="+mn-ea"/><a:cs typeface="+mn-cs"/></a:defRPr></a:lvl5pPr><a:lvl6pPr marL="2286000" algn="l" defTabSz="914400" rtl="0" eaLnBrk="1" latinLnBrk="0" hangingPunct="1"><a:defRPr sz="1200" kern="1200"><a:solidFill><a:schemeClr val="tx1"/></a:solidFill><a:latin typeface="+mn-lt"/><a:ea typeface="+mn-ea"/><a:cs typeface="+mn-cs"/></a:defRPr></a:lvl6pPr><a:lvl7pPr marL="2743200" algn="l" defTabSz="914400" rtl="0" eaLnBrk="1" latinLnBrk="0" hangingPunct="1"><a:defRPr sz="1200" kern="1200"><a:solidFill><a:schemeClr val="tx1"/></a:solidFill><a:latin typeface="+mn-lt"/><a:ea typeface="+mn-ea"/><a:cs typeface="+mn-cs"/></a:defRPr></a:lvl7pPr><a:lvl8pPr marL="3200400" algn="l" defTabSz="914400" rtl="0" eaLnBrk="1" latinLnBrk="0" hangingPunct="1"><a:defRPr sz="1200" kern="1200"><a:solidFill><a:schemeClr val="tx1"/></a:solidFill><a:latin typeface="+mn-lt"/><a:ea typeface="+mn-ea"/><a:cs typeface="+mn-cs"/></a:defRPr></a:lvl8pPr><a:lvl9pPr marL="3657600" algn="l" defTabSz="914400" rtl="0" eaLnBrk="1" latinLnBrk="0" hangingPunct="1"><a:defRPr sz="1200" kern="1200"><a:solidFill><a:schemeClr val="tx1"/></a:solidFill><a:latin typeface="+mn-lt"/><a:ea typeface="+mn-ea"/><a:cs typeface="+mn-cs"/></a:defRPr></a:lvl9pPr></p:notesStyle></p:notesMaster>`;
1961
- }
1962
- function at(e) {
1963
- return `<?xml version="1.0" encoding="UTF-8" standalone="yes"?>${o}<p:notes xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:p="http://schemas.openxmlformats.org/presentationml/2006/main"><p:cSld><p:spTree><p:nvGrpSpPr><p:cNvPr id="1" name=""/><p:cNvGrpSpPr/><p:nvPr/></p:nvGrpSpPr><p:grpSpPr><a:xfrm><a:off x="0" y="0"/><a:ext cx="0" cy="0"/><a:chOff x="0" y="0"/><a:chExt cx="0" cy="0"/></a:xfrm></p:grpSpPr><p:sp><p:nvSpPr><p:cNvPr id="2" name="Slide Image Placeholder 1"/><p:cNvSpPr><a:spLocks noGrp="1" noRot="1" noChangeAspect="1"/></p:cNvSpPr><p:nvPr><p:ph type="sldImg"/></p:nvPr></p:nvSpPr><p:spPr/></p:sp><p:sp><p:nvSpPr><p:cNvPr id="3" name="Notes Placeholder 2"/><p:cNvSpPr><a:spLocks noGrp="1"/></p:cNvSpPr><p:nvPr><p:ph type="body" idx="1"/></p:nvPr></p:nvSpPr><p:spPr/><p:txBody><a:bodyPr/><a:lstStyle/><a:p><a:r><a:rPr lang="en-US" dirty="0"/><a:t>${B(rt(e))}</a:t></a:r><a:endParaRPr lang="en-US" dirty="0"/></a:p></p:txBody></p:sp><p:sp><p:nvSpPr><p:cNvPr id="4" name="Slide Number Placeholder 3"/><p:cNvSpPr><a:spLocks noGrp="1"/></p:cNvSpPr><p:nvPr><p:ph type="sldNum" sz="quarter" idx="10"/></p:nvPr></p:nvSpPr><p:spPr/><p:txBody><a:bodyPr/><a:lstStyle/><a:p><a:fld id="${re}" type="slidenum"><a:rPr lang="en-US"/><a:t>${e._slideNum}</a:t></a:fld><a:endParaRPr lang="en-US"/></a:p></p:txBody></p:sp></p:spTree><p:extLst><p:ext uri="{BB962C8B-B14F-4D97-AF65-F5344CB8AC3E}"><p14:creationId xmlns:p14="http://schemas.microsoft.com/office/powerpoint/2010/main" val="1024086991"/></p:ext></p:extLst></p:cSld><p:clrMapOvr><a:masterClrMapping/></p:clrMapOvr></p:notes>`;
1964
- }
1965
- function ot(e) {
1966
- return `<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
1967
- <p:sldLayout xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:p="http://schemas.openxmlformats.org/presentationml/2006/main" preserve="1">
1968
- ${We(e)}
1969
- <p:clrMapOvr><a:masterClrMapping/></p:clrMapOvr></p:sldLayout>`;
1970
- }
1971
- function st(e, t) {
1972
- let n = t.map((t, n) => `<p:sldLayoutId id="${s + n}" r:id="rId${e._rels.length + n + 1}"/>`), r = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>" + o;
1973
- return r += "<p:sldMaster xmlns:a=\"http://schemas.openxmlformats.org/drawingml/2006/main\" xmlns:r=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships\" xmlns:p=\"http://schemas.openxmlformats.org/presentationml/2006/main\">", r += We(e), r += "<p:clrMap bg1=\"lt1\" tx1=\"dk1\" bg2=\"lt2\" tx2=\"dk2\" accent1=\"accent1\" accent2=\"accent2\" accent3=\"accent3\" accent4=\"accent4\" accent5=\"accent5\" accent6=\"accent6\" hlink=\"hlink\" folHlink=\"folHlink\"/>", r += "<p:sldLayoutIdLst>" + n.join("") + "</p:sldLayoutIdLst>", r += "<p:hf sldNum=\"0\" hdr=\"0\" ftr=\"0\" dt=\"0\"/>", r += "<p:txStyles> <p:titleStyle> <a:lvl1pPr algn=\"ctr\" defTabSz=\"914400\" rtl=\"0\" eaLnBrk=\"1\" latinLnBrk=\"0\" hangingPunct=\"1\"><a:spcBef><a:spcPct val=\"0\"/></a:spcBef><a:buNone/><a:defRPr sz=\"4400\" kern=\"1200\"><a:solidFill><a:schemeClr val=\"tx1\"/></a:solidFill><a:latin typeface=\"+mj-lt\"/><a:ea typeface=\"+mj-ea\"/><a:cs typeface=\"+mj-cs\"/></a:defRPr></a:lvl1pPr> </p:titleStyle> <p:bodyStyle> <a:lvl1pPr marL=\"342900\" indent=\"-342900\" algn=\"l\" defTabSz=\"914400\" rtl=\"0\" eaLnBrk=\"1\" latinLnBrk=\"0\" hangingPunct=\"1\"><a:spcBef><a:spcPct val=\"20000\"/></a:spcBef><a:buFont typeface=\"Arial\" pitchFamily=\"34\" charset=\"0\"/><a:buChar char=\"•\"/><a:defRPr sz=\"3200\" kern=\"1200\"><a:solidFill><a:schemeClr val=\"tx1\"/></a:solidFill><a:latin typeface=\"+mn-lt\"/><a:ea typeface=\"+mn-ea\"/><a:cs typeface=\"+mn-cs\"/></a:defRPr></a:lvl1pPr> <a:lvl2pPr marL=\"742950\" indent=\"-285750\" algn=\"l\" defTabSz=\"914400\" rtl=\"0\" eaLnBrk=\"1\" latinLnBrk=\"0\" hangingPunct=\"1\"><a:spcBef><a:spcPct val=\"20000\"/></a:spcBef><a:buFont typeface=\"Arial\" pitchFamily=\"34\" charset=\"0\"/><a:buChar char=\"–\"/><a:defRPr sz=\"2800\" kern=\"1200\"><a:solidFill><a:schemeClr val=\"tx1\"/></a:solidFill><a:latin typeface=\"+mn-lt\"/><a:ea typeface=\"+mn-ea\"/><a:cs typeface=\"+mn-cs\"/></a:defRPr></a:lvl2pPr> <a:lvl3pPr marL=\"1143000\" indent=\"-228600\" algn=\"l\" defTabSz=\"914400\" rtl=\"0\" eaLnBrk=\"1\" latinLnBrk=\"0\" hangingPunct=\"1\"><a:spcBef><a:spcPct val=\"20000\"/></a:spcBef><a:buFont typeface=\"Arial\" pitchFamily=\"34\" charset=\"0\"/><a:buChar char=\"•\"/><a:defRPr sz=\"2400\" kern=\"1200\"><a:solidFill><a:schemeClr val=\"tx1\"/></a:solidFill><a:latin typeface=\"+mn-lt\"/><a:ea typeface=\"+mn-ea\"/><a:cs typeface=\"+mn-cs\"/></a:defRPr></a:lvl3pPr> <a:lvl4pPr marL=\"1600200\" indent=\"-228600\" algn=\"l\" defTabSz=\"914400\" rtl=\"0\" eaLnBrk=\"1\" latinLnBrk=\"0\" hangingPunct=\"1\"><a:spcBef><a:spcPct val=\"20000\"/></a:spcBef><a:buFont typeface=\"Arial\" pitchFamily=\"34\" charset=\"0\"/><a:buChar char=\"–\"/><a:defRPr sz=\"2000\" kern=\"1200\"><a:solidFill><a:schemeClr val=\"tx1\"/></a:solidFill><a:latin typeface=\"+mn-lt\"/><a:ea typeface=\"+mn-ea\"/><a:cs typeface=\"+mn-cs\"/></a:defRPr></a:lvl4pPr> <a:lvl5pPr marL=\"2057400\" indent=\"-228600\" algn=\"l\" defTabSz=\"914400\" rtl=\"0\" eaLnBrk=\"1\" latinLnBrk=\"0\" hangingPunct=\"1\"><a:spcBef><a:spcPct val=\"20000\"/></a:spcBef><a:buFont typeface=\"Arial\" pitchFamily=\"34\" charset=\"0\"/><a:buChar char=\"»\"/><a:defRPr sz=\"2000\" kern=\"1200\"><a:solidFill><a:schemeClr val=\"tx1\"/></a:solidFill><a:latin typeface=\"+mn-lt\"/><a:ea typeface=\"+mn-ea\"/><a:cs typeface=\"+mn-cs\"/></a:defRPr></a:lvl5pPr> <a:lvl6pPr marL=\"2514600\" indent=\"-228600\" algn=\"l\" defTabSz=\"914400\" rtl=\"0\" eaLnBrk=\"1\" latinLnBrk=\"0\" hangingPunct=\"1\"><a:spcBef><a:spcPct val=\"20000\"/></a:spcBef><a:buFont typeface=\"Arial\" pitchFamily=\"34\" charset=\"0\"/><a:buChar char=\"•\"/><a:defRPr sz=\"2000\" kern=\"1200\"><a:solidFill><a:schemeClr val=\"tx1\"/></a:solidFill><a:latin typeface=\"+mn-lt\"/><a:ea typeface=\"+mn-ea\"/><a:cs typeface=\"+mn-cs\"/></a:defRPr></a:lvl6pPr> <a:lvl7pPr marL=\"2971800\" indent=\"-228600\" algn=\"l\" defTabSz=\"914400\" rtl=\"0\" eaLnBrk=\"1\" latinLnBrk=\"0\" hangingPunct=\"1\"><a:spcBef><a:spcPct val=\"20000\"/></a:spcBef><a:buFont typeface=\"Arial\" pitchFamily=\"34\" charset=\"0\"/><a:buChar char=\"•\"/><a:defRPr sz=\"2000\" kern=\"1200\"><a:solidFill><a:schemeClr val=\"tx1\"/></a:solidFill><a:latin typeface=\"+mn-lt\"/><a:ea typeface=\"+mn-ea\"/><a:cs typeface=\"+mn-cs\"/></a:defRPr></a:lvl7pPr> <a:lvl8pPr marL=\"3429000\" indent=\"-228600\" algn=\"l\" defTabSz=\"914400\" rtl=\"0\" eaLnBrk=\"1\" latinLnBrk=\"0\" hangingPunct=\"1\"><a:spcBef><a:spcPct val=\"20000\"/></a:spcBef><a:buFont typeface=\"Arial\" pitchFamily=\"34\" charset=\"0\"/><a:buChar char=\"•\"/><a:defRPr sz=\"2000\" kern=\"1200\"><a:solidFill><a:schemeClr val=\"tx1\"/></a:solidFill><a:latin typeface=\"+mn-lt\"/><a:ea typeface=\"+mn-ea\"/><a:cs typeface=\"+mn-cs\"/></a:defRPr></a:lvl8pPr> <a:lvl9pPr marL=\"3886200\" indent=\"-228600\" algn=\"l\" defTabSz=\"914400\" rtl=\"0\" eaLnBrk=\"1\" latinLnBrk=\"0\" hangingPunct=\"1\"><a:spcBef><a:spcPct val=\"20000\"/></a:spcBef><a:buFont typeface=\"Arial\" pitchFamily=\"34\" charset=\"0\"/><a:buChar char=\"•\"/><a:defRPr sz=\"2000\" kern=\"1200\"><a:solidFill><a:schemeClr val=\"tx1\"/></a:solidFill><a:latin typeface=\"+mn-lt\"/><a:ea typeface=\"+mn-ea\"/><a:cs typeface=\"+mn-cs\"/></a:defRPr></a:lvl9pPr> </p:bodyStyle> <p:otherStyle> <a:defPPr><a:defRPr lang=\"en-US\"/></a:defPPr> <a:lvl1pPr marL=\"0\" algn=\"l\" defTabSz=\"914400\" rtl=\"0\" eaLnBrk=\"1\" latinLnBrk=\"0\" hangingPunct=\"1\"><a:defRPr sz=\"1800\" kern=\"1200\"><a:solidFill><a:schemeClr val=\"tx1\"/></a:solidFill><a:latin typeface=\"+mn-lt\"/><a:ea typeface=\"+mn-ea\"/><a:cs typeface=\"+mn-cs\"/></a:defRPr></a:lvl1pPr> <a:lvl2pPr marL=\"457200\" algn=\"l\" defTabSz=\"914400\" rtl=\"0\" eaLnBrk=\"1\" latinLnBrk=\"0\" hangingPunct=\"1\"><a:defRPr sz=\"1800\" kern=\"1200\"><a:solidFill><a:schemeClr val=\"tx1\"/></a:solidFill><a:latin typeface=\"+mn-lt\"/><a:ea typeface=\"+mn-ea\"/><a:cs typeface=\"+mn-cs\"/></a:defRPr></a:lvl2pPr> <a:lvl3pPr marL=\"914400\" algn=\"l\" defTabSz=\"914400\" rtl=\"0\" eaLnBrk=\"1\" latinLnBrk=\"0\" hangingPunct=\"1\"><a:defRPr sz=\"1800\" kern=\"1200\"><a:solidFill><a:schemeClr val=\"tx1\"/></a:solidFill><a:latin typeface=\"+mn-lt\"/><a:ea typeface=\"+mn-ea\"/><a:cs typeface=\"+mn-cs\"/></a:defRPr></a:lvl3pPr> <a:lvl4pPr marL=\"1371600\" algn=\"l\" defTabSz=\"914400\" rtl=\"0\" eaLnBrk=\"1\" latinLnBrk=\"0\" hangingPunct=\"1\"><a:defRPr sz=\"1800\" kern=\"1200\"><a:solidFill><a:schemeClr val=\"tx1\"/></a:solidFill><a:latin typeface=\"+mn-lt\"/><a:ea typeface=\"+mn-ea\"/><a:cs typeface=\"+mn-cs\"/></a:defRPr></a:lvl4pPr> <a:lvl5pPr marL=\"1828800\" algn=\"l\" defTabSz=\"914400\" rtl=\"0\" eaLnBrk=\"1\" latinLnBrk=\"0\" hangingPunct=\"1\"><a:defRPr sz=\"1800\" kern=\"1200\"><a:solidFill><a:schemeClr val=\"tx1\"/></a:solidFill><a:latin typeface=\"+mn-lt\"/><a:ea typeface=\"+mn-ea\"/><a:cs typeface=\"+mn-cs\"/></a:defRPr></a:lvl5pPr> <a:lvl6pPr marL=\"2286000\" algn=\"l\" defTabSz=\"914400\" rtl=\"0\" eaLnBrk=\"1\" latinLnBrk=\"0\" hangingPunct=\"1\"><a:defRPr sz=\"1800\" kern=\"1200\"><a:solidFill><a:schemeClr val=\"tx1\"/></a:solidFill><a:latin typeface=\"+mn-lt\"/><a:ea typeface=\"+mn-ea\"/><a:cs typeface=\"+mn-cs\"/></a:defRPr></a:lvl6pPr> <a:lvl7pPr marL=\"2743200\" algn=\"l\" defTabSz=\"914400\" rtl=\"0\" eaLnBrk=\"1\" latinLnBrk=\"0\" hangingPunct=\"1\"><a:defRPr sz=\"1800\" kern=\"1200\"><a:solidFill><a:schemeClr val=\"tx1\"/></a:solidFill><a:latin typeface=\"+mn-lt\"/><a:ea typeface=\"+mn-ea\"/><a:cs typeface=\"+mn-cs\"/></a:defRPr></a:lvl7pPr> <a:lvl8pPr marL=\"3200400\" algn=\"l\" defTabSz=\"914400\" rtl=\"0\" eaLnBrk=\"1\" latinLnBrk=\"0\" hangingPunct=\"1\"><a:defRPr sz=\"1800\" kern=\"1200\"><a:solidFill><a:schemeClr val=\"tx1\"/></a:solidFill><a:latin typeface=\"+mn-lt\"/><a:ea typeface=\"+mn-ea\"/><a:cs typeface=\"+mn-cs\"/></a:defRPr></a:lvl8pPr> <a:lvl9pPr marL=\"3657600\" algn=\"l\" defTabSz=\"914400\" rtl=\"0\" eaLnBrk=\"1\" latinLnBrk=\"0\" hangingPunct=\"1\"><a:defRPr sz=\"1800\" kern=\"1200\"><a:solidFill><a:schemeClr val=\"tx1\"/></a:solidFill><a:latin typeface=\"+mn-lt\"/><a:ea typeface=\"+mn-ea\"/><a:cs typeface=\"+mn-cs\"/></a:defRPr></a:lvl9pPr> </p:otherStyle></p:txStyles>", r += "</p:sldMaster>", r;
1974
- }
1975
- function ct(e, t) {
1976
- return Ge(t[e - 1], [{
1977
- target: "../slideMasters/slideMaster1.xml",
1978
- type: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/slideMaster"
1979
- }]);
1980
- }
1981
- function lt(e, t, n) {
1982
- return Ge(e[n - 1], [{
1983
- target: `../slideLayouts/slideLayout${pt(e, t, n)}.xml`,
1984
- type: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/slideLayout"
1985
- }, {
1986
- target: `../notesSlides/notesSlide${n}.xml`,
1987
- type: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/notesSlide"
1988
- }]);
1989
- }
1990
- function ut(e) {
1991
- return `<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
1992
- <Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships">
1993
- <Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/notesMaster" Target="../notesMasters/notesMaster1.xml"/>
1994
- <Relationship Id="rId2" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/slide" Target="../slides/slide${e}.xml"/>
1995
- </Relationships>`;
1996
- }
1997
- function dt(e, t) {
1998
- let n = t.map((e, t) => ({
1999
- target: `../slideLayouts/slideLayout${t + 1}.xml`,
2000
- type: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/slideLayout"
2001
- }));
2002
- return n.push({
2003
- target: "../theme/theme1.xml",
2004
- type: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme"
2005
- }), Ge(e, n);
2006
- }
2007
- function ft() {
2008
- return `<?xml version="1.0" encoding="UTF-8" standalone="yes"?>${o}<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships">
2009
- <Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme" Target="../theme/theme1.xml"/>
2010
- </Relationships>`;
2011
- }
2012
- function pt(e, t, n) {
2013
- for (let r = 0; r < t.length; r++) if (t[r]._name === e[n - 1]._slideLayout._name) return r + 1;
2014
- return 1;
2015
- }
2016
- function mt(e) {
2017
- return `<?xml version="1.0" encoding="UTF-8" standalone="yes"?><a:theme xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" name="Office Theme"><a:themeElements><a:clrScheme name="Office"><a:dk1><a:sysClr val="windowText" lastClr="000000"/></a:dk1><a:lt1><a:sysClr val="window" lastClr="FFFFFF"/></a:lt1><a:dk2><a:srgbClr val="44546A"/></a:dk2><a:lt2><a:srgbClr val="E7E6E6"/></a:lt2><a:accent1><a:srgbClr val="4472C4"/></a:accent1><a:accent2><a:srgbClr val="ED7D31"/></a:accent2><a:accent3><a:srgbClr val="A5A5A5"/></a:accent3><a:accent4><a:srgbClr val="FFC000"/></a:accent4><a:accent5><a:srgbClr val="5B9BD5"/></a:accent5><a:accent6><a:srgbClr val="70AD47"/></a:accent6><a:hlink><a:srgbClr val="0563C1"/></a:hlink><a:folHlink><a:srgbClr val="954F72"/></a:folHlink></a:clrScheme><a:fontScheme name="Office"><a:majorFont>${e.theme?.headFontFace ? `<a:latin typeface="${e.theme?.headFontFace}"/>` : "<a:latin typeface=\"Calibri Light\" panose=\"020F0302020204030204\"/>"}<a:ea typeface=""/><a:cs typeface=""/><a:font script="Jpan" typeface="游ゴシック Light"/><a:font script="Hang" typeface="맑은 고딕"/><a:font script="Hans" typeface="等线 Light"/><a:font script="Hant" typeface="新細明體"/><a:font script="Arab" typeface="Times New Roman"/><a:font script="Hebr" typeface="Times New Roman"/><a:font script="Thai" typeface="Angsana New"/><a:font script="Ethi" typeface="Nyala"/><a:font script="Beng" typeface="Vrinda"/><a:font script="Gujr" typeface="Shruti"/><a:font script="Khmr" typeface="MoolBoran"/><a:font script="Knda" typeface="Tunga"/><a:font script="Guru" typeface="Raavi"/><a:font script="Cans" typeface="Euphemia"/><a:font script="Cher" typeface="Plantagenet Cherokee"/><a:font script="Yiii" typeface="Microsoft Yi Baiti"/><a:font script="Tibt" typeface="Microsoft Himalaya"/><a:font script="Thaa" typeface="MV Boli"/><a:font script="Deva" typeface="Mangal"/><a:font script="Telu" typeface="Gautami"/><a:font script="Taml" typeface="Latha"/><a:font script="Syrc" typeface="Estrangelo Edessa"/><a:font script="Orya" typeface="Kalinga"/><a:font script="Mlym" typeface="Kartika"/><a:font script="Laoo" typeface="DokChampa"/><a:font script="Sinh" typeface="Iskoola Pota"/><a:font script="Mong" typeface="Mongolian Baiti"/><a:font script="Viet" typeface="Times New Roman"/><a:font script="Uigh" typeface="Microsoft Uighur"/><a:font script="Geor" typeface="Sylfaen"/><a:font script="Armn" typeface="Arial"/><a:font script="Bugi" typeface="Leelawadee UI"/><a:font script="Bopo" typeface="Microsoft JhengHei"/><a:font script="Java" typeface="Javanese Text"/><a:font script="Lisu" typeface="Segoe UI"/><a:font script="Mymr" typeface="Myanmar Text"/><a:font script="Nkoo" typeface="Ebrima"/><a:font script="Olck" typeface="Nirmala UI"/><a:font script="Osma" typeface="Ebrima"/><a:font script="Phag" typeface="Phagspa"/><a:font script="Syrn" typeface="Estrangelo Edessa"/><a:font script="Syrj" typeface="Estrangelo Edessa"/><a:font script="Syre" typeface="Estrangelo Edessa"/><a:font script="Sora" typeface="Nirmala UI"/><a:font script="Tale" typeface="Microsoft Tai Le"/><a:font script="Talu" typeface="Microsoft New Tai Lue"/><a:font script="Tfng" typeface="Ebrima"/></a:majorFont><a:minorFont>${e.theme?.bodyFontFace ? `<a:latin typeface="${e.theme?.bodyFontFace}"/>` : "<a:latin typeface=\"Calibri\" panose=\"020F0502020204030204\"/>"}<a:ea typeface=""/><a:cs typeface=""/><a:font script="Jpan" typeface="游ゴシック"/><a:font script="Hang" typeface="맑은 고딕"/><a:font script="Hans" typeface="等线"/><a:font script="Hant" typeface="新細明體"/><a:font script="Arab" typeface="Arial"/><a:font script="Hebr" typeface="Arial"/><a:font script="Thai" typeface="Cordia New"/><a:font script="Ethi" typeface="Nyala"/><a:font script="Beng" typeface="Vrinda"/><a:font script="Gujr" typeface="Shruti"/><a:font script="Khmr" typeface="DaunPenh"/><a:font script="Knda" typeface="Tunga"/><a:font script="Guru" typeface="Raavi"/><a:font script="Cans" typeface="Euphemia"/><a:font script="Cher" typeface="Plantagenet Cherokee"/><a:font script="Yiii" typeface="Microsoft Yi Baiti"/><a:font script="Tibt" typeface="Microsoft Himalaya"/><a:font script="Thaa" typeface="MV Boli"/><a:font script="Deva" typeface="Mangal"/><a:font script="Telu" typeface="Gautami"/><a:font script="Taml" typeface="Latha"/><a:font script="Syrc" typeface="Estrangelo Edessa"/><a:font script="Orya" typeface="Kalinga"/><a:font script="Mlym" typeface="Kartika"/><a:font script="Laoo" typeface="DokChampa"/><a:font script="Sinh" typeface="Iskoola Pota"/><a:font script="Mong" typeface="Mongolian Baiti"/><a:font script="Viet" typeface="Arial"/><a:font script="Uigh" typeface="Microsoft Uighur"/><a:font script="Geor" typeface="Sylfaen"/><a:font script="Armn" typeface="Arial"/><a:font script="Bugi" typeface="Leelawadee UI"/><a:font script="Bopo" typeface="Microsoft JhengHei"/><a:font script="Java" typeface="Javanese Text"/><a:font script="Lisu" typeface="Segoe UI"/><a:font script="Mymr" typeface="Myanmar Text"/><a:font script="Nkoo" typeface="Ebrima"/><a:font script="Olck" typeface="Nirmala UI"/><a:font script="Osma" typeface="Ebrima"/><a:font script="Phag" typeface="Phagspa"/><a:font script="Syrn" typeface="Estrangelo Edessa"/><a:font script="Syrj" typeface="Estrangelo Edessa"/><a:font script="Syre" typeface="Estrangelo Edessa"/><a:font script="Sora" typeface="Nirmala UI"/><a:font script="Tale" typeface="Microsoft Tai Le"/><a:font script="Talu" typeface="Microsoft New Tai Lue"/><a:font script="Tfng" typeface="Ebrima"/></a:minorFont></a:fontScheme><a:fmtScheme name="Office"><a:fillStyleLst><a:solidFill><a:schemeClr val="phClr"/></a:solidFill><a:gradFill rotWithShape="1"><a:gsLst><a:gs pos="0"><a:schemeClr val="phClr"><a:lumMod val="110000"/><a:satMod val="105000"/><a:tint val="67000"/></a:schemeClr></a:gs><a:gs pos="50000"><a:schemeClr val="phClr"><a:lumMod val="105000"/><a:satMod val="103000"/><a:tint val="73000"/></a:schemeClr></a:gs><a:gs pos="100000"><a:schemeClr val="phClr"><a:lumMod val="105000"/><a:satMod val="109000"/><a:tint val="81000"/></a:schemeClr></a:gs></a:gsLst><a:lin ang="5400000" scaled="0"/></a:gradFill><a:gradFill rotWithShape="1"><a:gsLst><a:gs pos="0"><a:schemeClr val="phClr"><a:satMod val="103000"/><a:lumMod val="102000"/><a:tint val="94000"/></a:schemeClr></a:gs><a:gs pos="50000"><a:schemeClr val="phClr"><a:satMod val="110000"/><a:lumMod val="100000"/><a:shade val="100000"/></a:schemeClr></a:gs><a:gs pos="100000"><a:schemeClr val="phClr"><a:lumMod val="99000"/><a:satMod val="120000"/><a:shade val="78000"/></a:schemeClr></a:gs></a:gsLst><a:lin ang="5400000" scaled="0"/></a:gradFill></a:fillStyleLst><a:lnStyleLst><a:ln w="6350" cap="flat" cmpd="sng" algn="ctr"><a:solidFill><a:schemeClr val="phClr"/></a:solidFill><a:prstDash val="solid"/><a:miter lim="800000"/></a:ln><a:ln w="12700" cap="flat" cmpd="sng" algn="ctr"><a:solidFill><a:schemeClr val="phClr"/></a:solidFill><a:prstDash val="solid"/><a:miter lim="800000"/></a:ln><a:ln w="19050" cap="flat" cmpd="sng" algn="ctr"><a:solidFill><a:schemeClr val="phClr"/></a:solidFill><a:prstDash val="solid"/><a:miter lim="800000"/></a:ln></a:lnStyleLst><a:effectStyleLst><a:effectStyle><a:effectLst/></a:effectStyle><a:effectStyle><a:effectLst/></a:effectStyle><a:effectStyle><a:effectLst><a:outerShdw blurRad="57150" dist="19050" dir="5400000" algn="ctr" rotWithShape="0"><a:srgbClr val="000000"><a:alpha val="63000"/></a:srgbClr></a:outerShdw></a:effectLst></a:effectStyle></a:effectStyleLst><a:bgFillStyleLst><a:solidFill><a:schemeClr val="phClr"/></a:solidFill><a:solidFill><a:schemeClr val="phClr"><a:tint val="95000"/><a:satMod val="170000"/></a:schemeClr></a:solidFill><a:gradFill rotWithShape="1"><a:gsLst><a:gs pos="0"><a:schemeClr val="phClr"><a:tint val="93000"/><a:satMod val="150000"/><a:shade val="98000"/><a:lumMod val="102000"/></a:schemeClr></a:gs><a:gs pos="50000"><a:schemeClr val="phClr"><a:tint val="98000"/><a:satMod val="130000"/><a:shade val="90000"/><a:lumMod val="103000"/></a:schemeClr></a:gs><a:gs pos="100000"><a:schemeClr val="phClr"><a:shade val="63000"/><a:satMod val="120000"/></a:schemeClr></a:gs></a:gsLst><a:lin ang="5400000" scaled="0"/></a:gradFill></a:bgFillStyleLst></a:fmtScheme></a:themeElements><a:objectDefaults/><a:extraClrSchemeLst/><a:extLst><a:ext uri="{05A4C25C-085E-4340-85A3-A5531E510DB2}"><thm15:themeFamily xmlns:thm15="http://schemas.microsoft.com/office/thememl/2012/main" name="Office Theme" id="{62F939B6-93AF-4DB8-9C6B-D6C7DFDC589F}" vid="{4A3C46E8-61CC-4603-A589-7422A47A8E4A}"/></a:ext></a:extLst></a:theme>`;
2018
- }
2019
- function ht(e) {
2020
- let t = `<?xml version="1.0" encoding="UTF-8" standalone="yes"?>${o}<p:presentation xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:p="http://schemas.openxmlformats.org/presentationml/2006/main" ${e.rtlMode ? "rtl=\"1\"" : ""} saveSubsetFonts="1" autoCompressPictures="0">`;
2021
- t += "<p:sldMasterIdLst><p:sldMasterId id=\"2147483648\" r:id=\"rId1\"/></p:sldMasterIdLst>", t += "<p:sldIdLst>", e.slides.forEach((e) => t += `<p:sldId id="${e._slideId}" r:id="rId${e._rId}"/>`), t += "</p:sldIdLst>", t += `<p:notesMasterIdLst><p:notesMasterId r:id="rId${e.slides.length + 2}"/></p:notesMasterIdLst>`, t += `<p:sldSz cx="${e.presLayout.width}" cy="${e.presLayout.height}"/>`, t += `<p:notesSz cx="${e.presLayout.height}" cy="${e.presLayout.width}"/>`, t += "<p:defaultTextStyle>";
2022
- for (let e = 1; e < 10; e++) t += `<a:lvl${e}pPr marL="${(e - 1) * 457200}" algn="l" defTabSz="914400" rtl="0" eaLnBrk="1" latinLnBrk="0" hangingPunct="1"><a:defRPr sz="1800" kern="1200"><a:solidFill><a:schemeClr val="tx1"/></a:solidFill><a:latin typeface="+mn-lt"/><a:ea typeface="+mn-ea"/><a:cs typeface="+mn-cs"/></a:defRPr></a:lvl${e}pPr>`;
2023
- return t += "</p:defaultTextStyle>", e.sections && e.sections.length > 0 && (t += "<p:extLst><p:ext uri=\"{521415D9-36F7-43E2-AB2F-B90AF26B5E84}\">", t += "<p14:sectionLst xmlns:p14=\"http://schemas.microsoft.com/office/powerpoint/2010/main\">", e.sections.forEach((e) => {
2024
- t += `<p14:section name="${B(e.title)}" id="{${z("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx")}}"><p14:sldIdLst>`, e._slides.forEach((e) => t += `<p14:sldId id="${e._slideId}"/>`), t += "</p14:sldIdLst></p14:section>";
2025
- }), t += "</p14:sectionLst></p:ext>", t += "<p:ext uri=\"{EFAFB233-063F-42B5-8137-9DF3F51BA10A}\"><p15:sldGuideLst xmlns:p15=\"http://schemas.microsoft.com/office/powerpoint/2012/main\"/></p:ext>", t += "</p:extLst>"), t += "</p:presentation>", t;
2026
- }
2027
- function gt() {
2028
- return `<?xml version="1.0" encoding="UTF-8" standalone="yes"?>${o}<p:presentationPr xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:p="http://schemas.openxmlformats.org/presentationml/2006/main"/>`;
2029
- }
2030
- function _t() {
2031
- return `<?xml version="1.0" encoding="UTF-8" standalone="yes"?>${o}<a:tblStyleLst xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" def="{5C22544A-7EE6-4342-B048-85BDC9FD1C3A}"/>`;
2032
- }
2033
- function vt() {
2034
- return `<?xml version="1.0" encoding="UTF-8" standalone="yes"?>${o}<p:viewPr xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:p="http://schemas.openxmlformats.org/presentationml/2006/main"><p:normalViewPr horzBarState="maximized"><p:restoredLeft sz="15611"/><p:restoredTop sz="94610"/></p:normalViewPr><p:slideViewPr><p:cSldViewPr snapToGrid="0" snapToObjects="1"><p:cViewPr varScale="1"><p:scale><a:sx n="136" d="100"/><a:sy n="136" d="100"/></p:scale><p:origin x="216" y="312"/></p:cViewPr><p:guideLst/></p:cSldViewPr></p:slideViewPr><p:notesTextViewPr><p:cViewPr><p:scale><a:sx n="1" d="1"/><a:sy n="1" d="1"/></p:scale><p:origin x="0" y="0"/></p:cViewPr></p:notesTextViewPr><p:gridSpacing cx="76200" cy="76200"/></p:viewPr>`;
2035
- }
2036
- var yt = "4.0.1", bt = class {
2037
- set layout(e) {
2038
- let t = this.LAYOUTS[e];
2039
- if (t) this._layout = e, this._presLayout = t;
2040
- else throw Error("UNKNOWN-LAYOUT");
2041
- }
2042
- get layout() {
2043
- return this._layout;
2044
- }
2045
- get version() {
2046
- return this._version;
2047
- }
2048
- set author(e) {
2049
- this._author = e;
2050
- }
2051
- get author() {
2052
- return this._author;
2053
- }
2054
- set company(e) {
2055
- this._company = e;
2056
- }
2057
- get company() {
2058
- return this._company;
2059
- }
2060
- set revision(e) {
2061
- this._revision = e;
2062
- }
2063
- get revision() {
2064
- return this._revision;
2065
- }
2066
- set subject(e) {
2067
- this._subject = e;
2068
- }
2069
- get subject() {
2070
- return this._subject;
2071
- }
2072
- set theme(e) {
2073
- this._theme = e;
2074
- }
2075
- get theme() {
2076
- return this._theme;
2077
- }
2078
- set title(e) {
2079
- this._title = e;
2080
- }
2081
- get title() {
2082
- return this._title;
2083
- }
2084
- set rtlMode(e) {
2085
- this._rtlMode = e;
2086
- }
2087
- get rtlMode() {
2088
- return this._rtlMode;
2089
- }
2090
- get masterSlide() {
2091
- return this._masterSlide;
2092
- }
2093
- get slides() {
2094
- return this._slides;
2095
- }
2096
- get sections() {
2097
- return this._sections;
2098
- }
2099
- get slideLayouts() {
2100
- return this._slideLayouts;
2101
- }
2102
- get AlignH() {
2103
- return this._alignH;
2104
- }
2105
- get AlignV() {
2106
- return this._alignV;
2107
- }
2108
- get ChartType() {
2109
- return this._chartType;
2110
- }
2111
- get OutputType() {
2112
- return this._outputType;
2113
- }
2114
- get presLayout() {
2115
- return this._presLayout;
2116
- }
2117
- get SchemeColor() {
2118
- return this._schemeColor;
2119
- }
2120
- get ShapeType() {
2121
- return this._shapeType;
2122
- }
2123
- get charts() {
2124
- return this._charts;
2125
- }
2126
- get colors() {
2127
- return this._colors;
2128
- }
2129
- get shapes() {
2130
- return this._shapes;
2131
- }
2132
- constructor() {
2133
- this._version = yt, this._alignH = se, this._alignV = ce, this._chartType = ae, this._outputType = ie, this._schemeColor = A, this._shapeType = oe, this._charts = M, this._colors = le, this._shapes = j, this.addNewSlide = (e) => (e.sectionTitle = this.sections.length > 0 && this.sections[this.sections.length - 1]._slides.filter((e) => e._slideNum === this.slides[this.slides.length - 1]._slideNum).length > 0 ? this.sections[this.sections.length - 1].title : null, this.addSlide(e)), this.getSlide = (e) => this.slides.filter((t) => t._slideNum === e)[0], this.setSlideNumber = (e) => {
2134
- this.masterSlide._slideNumberProps = e, this.slideLayouts.filter((e) => e._name === y)[0]._slideNumberProps = e;
2135
- }, this.createChartMediaRels = (e, t, n) => {
2136
- e._relsChart.forEach((e) => n.push(je(e, t))), e._relsMedia.forEach((e) => {
2137
- if (e.type !== "online" && e.type !== "hyperlink") {
2138
- let n = e.data && typeof e.data == "string" ? e.data : "";
2139
- if (n && n.includes("base64,")) {
2140
- let r = n.split("base64,").pop();
2141
- r && t.file(e.Target.replace("..", "ppt"), r, { base64: !0 });
2142
- } else n && n.length > 0 && t.file(e.Target.replace("..", "ppt"), n);
2143
- }
2144
- });
2145
- }, this.writeFileToBrowser = (e, t) => r(this, void 0, void 0, function* () {
2146
- let n = document.createElement("a");
2147
- if (n.setAttribute("style", "display:none;"), n.dataset.interception = "off", document.body.appendChild(n), window.URL.createObjectURL) {
2148
- let r = window.URL.createObjectURL(new Blob([t], { type: "application/vnd.openxmlformats-officedocument.presentationml.presentation" }));
2149
- return n.href = r, n.download = e, n.click(), setTimeout(() => {
2150
- window.URL.revokeObjectURL(r), document.body.removeChild(n);
2151
- }, 100), yield Promise.resolve(e);
2152
- }
2153
- }), this.exportPresentation = (e) => r(this, void 0, void 0, function* () {
2154
- let t = [], i = [], a = new n.default();
2155
- return this.slides.forEach((e) => {
2156
- i = i.concat(Re(e));
2157
- }), this.slideLayouts.forEach((e) => {
2158
- i = i.concat(Re(e));
2159
- }), i = i.concat(Re(this.masterSlide)), yield Promise.all(i).then(() => r(this, void 0, void 0, function* () {
2160
- return this.slides.forEach((e) => {
2161
- e._slideLayout && Oe(e);
2162
- }), a.folder("_rels"), a.folder("docProps"), a.folder("ppt").folder("_rels"), a.folder("ppt/charts").folder("_rels"), a.folder("ppt/embeddings"), a.folder("ppt/media"), a.folder("ppt/slideLayouts").folder("_rels"), a.folder("ppt/slideMasters").folder("_rels"), a.folder("ppt/slides").folder("_rels"), a.folder("ppt/theme"), a.folder("ppt/notesMasters").folder("_rels"), a.folder("ppt/notesSlides").folder("_rels"), a.file("[Content_Types].xml", Ze(this.slides, this.slideLayouts, this.masterSlide)), a.file("_rels/.rels", Qe()), a.file("docProps/app.xml", $e(this.slides, this.company)), a.file("docProps/core.xml", et(this.title, this.subject, this.author, this.revision)), a.file("ppt/_rels/presentation.xml.rels", tt(this.slides)), a.file("ppt/theme/theme1.xml", mt(this)), a.file("ppt/presentation.xml", ht(this)), a.file("ppt/presProps.xml", gt()), a.file("ppt/tableStyles.xml", _t()), a.file("ppt/viewProps.xml", vt()), this.slideLayouts.forEach((e, t) => {
2163
- a.file(`ppt/slideLayouts/slideLayout${t + 1}.xml`, ot(e)), a.file(`ppt/slideLayouts/_rels/slideLayout${t + 1}.xml.rels`, ct(t + 1, this.slideLayouts));
2164
- }), this.slides.forEach((e, t) => {
2165
- a.file(`ppt/slides/slide${t + 1}.xml`, nt(e)), a.file(`ppt/slides/_rels/slide${t + 1}.xml.rels`, lt(this.slides, this.slideLayouts, t + 1)), a.file(`ppt/notesSlides/notesSlide${t + 1}.xml`, at(e)), a.file(`ppt/notesSlides/_rels/notesSlide${t + 1}.xml.rels`, ut(t + 1));
2166
- }), a.file("ppt/slideMasters/slideMaster1.xml", st(this.masterSlide, this.slideLayouts)), a.file("ppt/slideMasters/_rels/slideMaster1.xml.rels", dt(this.masterSlide, this.slideLayouts)), a.file("ppt/notesMasters/notesMaster1.xml", it()), a.file("ppt/notesMasters/_rels/notesMaster1.xml.rels", ft()), this.slideLayouts.forEach((e) => {
2167
- this.createChartMediaRels(e, a, t);
2168
- }), this.slides.forEach((e) => {
2169
- this.createChartMediaRels(e, a, t);
2170
- }), this.createChartMediaRels(this.masterSlide, a, t), yield Promise.all(t).then(() => r(this, void 0, void 0, function* () {
2171
- return e.outputType === "STREAM" ? yield a.generateAsync({
2172
- type: "nodebuffer",
2173
- compression: e.compression ? "DEFLATE" : "STORE"
2174
- }) : e.outputType ? yield a.generateAsync({ type: e.outputType }) : yield a.generateAsync({
2175
- type: "blob",
2176
- compression: e.compression ? "DEFLATE" : "STORE"
2177
- });
2178
- }));
2179
- }));
2180
- });
2181
- let e = {
2182
- name: "screen4x3",
2183
- width: 9144e3,
2184
- height: 6858e3
2185
- }, t = {
2186
- name: "screen16x9",
2187
- width: 9144e3,
2188
- height: 5143500
2189
- }, i = {
2190
- name: "screen16x10",
2191
- width: 9144e3,
2192
- height: 5715e3
2193
- }, a = {
2194
- name: "custom",
2195
- width: 12192e3,
2196
- height: 6858e3
2197
- };
2198
- this.LAYOUTS = {
2199
- LAYOUT_4x3: e,
2200
- LAYOUT_16x9: t,
2201
- LAYOUT_16x10: i,
2202
- LAYOUT_WIDE: a
2203
- }, this._author = "PptxGenJS", this._company = "PptxGenJS", this._revision = "1", this._subject = "PptxGenJS Presentation", this._title = "PptxGenJS Presentation", this._presLayout = {
2204
- name: this.LAYOUTS[v].name,
2205
- _sizeW: this.LAYOUTS[v].width,
2206
- _sizeH: this.LAYOUTS[v].height,
2207
- width: this.LAYOUTS[v].width,
2208
- height: this.LAYOUTS[v].height
2209
- }, this._rtlMode = !1, this._slideLayouts = [{
2210
- _margin: S,
2211
- _name: y,
2212
- _presLayout: this._presLayout,
2213
- _rels: [],
2214
- _relsChart: [],
2215
- _relsMedia: [],
2216
- _slide: null,
2217
- _slideNum: 1e3,
2218
- _slideNumberProps: null,
2219
- _slideObjects: []
2220
- }], this._slides = [], this._sections = [], this._masterSlide = {
2221
- addAnimation: null,
2222
- addChart: null,
2223
- addImage: null,
2224
- addMedia: null,
2225
- addNotes: null,
2226
- addShape: null,
2227
- addTable: null,
2228
- addText: null,
2229
- _name: null,
2230
- _presLayout: this._presLayout,
2231
- _rId: null,
2232
- _rels: [],
2233
- _relsChart: [],
2234
- _relsMedia: [],
2235
- _slideId: null,
2236
- _slideLayout: null,
2237
- _slideNum: null,
2238
- _slideNumberProps: null,
2239
- _slideObjects: []
2240
- };
2241
- }
2242
- stream(e) {
2243
- return r(this, void 0, void 0, function* () {
2244
- return yield this.exportPresentation({
2245
- compression: e?.compression,
2246
- outputType: "STREAM"
2247
- });
2248
- });
2249
- }
2250
- write(e) {
2251
- return r(this, void 0, void 0, function* () {
2252
- let t = typeof e == "object" && e?.outputType ? e.outputType : e || null, n = typeof e == "object" && e?.compression ? e.compression : !1;
2253
- return yield this.exportPresentation({
2254
- compression: n,
2255
- outputType: t
2256
- });
2257
- });
2258
- }
2259
- writeFile(t) {
2260
- return r(this, void 0, void 0, function* () {
2261
- let n = typeof process < "u" && !!process.versions?.node && process.release?.name === "node";
2262
- typeof t == "string" && (console.warn("[WARNING] writeFile(string) is deprecated - pass { fileName } instead."), t = { fileName: t });
2263
- let { fileName: r = "Presentation.pptx", compression: i = !1 } = t, a = r.toLowerCase().endsWith(".pptx") ? r : `${r}.pptx`, o = n ? "nodebuffer" : null, s = yield this.exportPresentation({
2264
- compression: i,
2265
- outputType: o
2266
- });
2267
- if (n) {
2268
- let { promises: t } = yield import("./__vite-browser-external-CbV4tiB6.js").then((t) => /* @__PURE__ */ e(t.default)), { writeFile: n } = t;
2269
- return yield n(a, s), a;
2270
- }
2271
- return yield this.writeFileToBrowser(a, s), a;
2272
- });
2273
- }
2274
- addSection(e) {
2275
- e ? e.title || console.warn("addSection requires a title") : console.warn("addSection requires an argument");
2276
- let t = {
2277
- _type: "user",
2278
- _slides: [],
2279
- title: e.title
2280
- };
2281
- e.order ? this.sections.splice(e.order, 0, t) : this._sections.push(t);
2282
- }
2283
- addSlide(e) {
2284
- let t = typeof e == "string" ? e : e?.masterName ? e.masterName : "", n = {
2285
- _name: this.LAYOUTS[v].name,
2286
- _presLayout: this.presLayout,
2287
- _rels: [],
2288
- _relsChart: [],
2289
- _relsMedia: [],
2290
- _slideNum: this.slides.length + 1
2291
- };
2292
- if (t) {
2293
- let e = this.slideLayouts.filter((e) => e._name === t)[0];
2294
- e && (n = e);
2295
- }
2296
- let r = new Ae({
2297
- addSlide: this.addNewSlide,
2298
- getSlide: this.getSlide,
2299
- presLayout: this.presLayout,
2300
- setSlideNum: this.setSlideNumber,
2301
- slideId: this.slides.length + 256,
2302
- slideRId: this.slides.length + 2,
2303
- slideNumber: this.slides.length + 1,
2304
- slideLayout: n
2305
- });
2306
- if (this._slides.push(r), e?.sectionTitle) {
2307
- let t = this.sections.filter((t) => t.title === e.sectionTitle)[0];
2308
- t ? t._slides.push(r) : console.warn(`addSlide: unable to find section with title: "${e.sectionTitle}"`);
2309
- } else if (this.sections && this.sections.length > 0 && !e?.sectionTitle) {
2310
- let e = this._sections[this.sections.length - 1];
2311
- e._type === "default" ? e._slides.push(r) : this._sections.push({
2312
- title: `Default-${this.sections.filter((e) => e._type === "default").length + 1}`,
2313
- _type: "default",
2314
- _slides: [r]
2315
- });
2316
- }
2317
- return r;
2318
- }
2319
- defineLayout(e) {
2320
- e ? e.name ? e.width ? e.height ? typeof e.height == "number" ? typeof e.width != "number" && console.warn("defineLayout `width` should be a number (inches)") : console.warn("defineLayout `height` should be a number (inches)") : console.warn("defineLayout requires `height`") : console.warn("defineLayout requires `width`") : console.warn("defineLayout requires `name`") : console.warn("defineLayout requires `{name, width, height}`"), this.LAYOUTS[e.name] = {
2321
- name: e.name,
2322
- _sizeW: Math.round(Number(e.width) * i),
2323
- _sizeH: Math.round(Number(e.height) * i),
2324
- width: Math.round(Number(e.width) * i),
2325
- height: Math.round(Number(e.height) * i)
2326
- };
2327
- }
2328
- defineSlideMaster(e) {
2329
- let t = JSON.parse(JSON.stringify(e));
2330
- if (!t.title) throw Error("defineSlideMaster() object argument requires a `title` value. (https://gitbrent.github.io/PptxGenJS/docs/masters.html)");
2331
- let n = {
2332
- _margin: t.margin || S,
2333
- _name: t.title,
2334
- _presLayout: this.presLayout,
2335
- _rels: [],
2336
- _relsChart: [],
2337
- _relsMedia: [],
2338
- _slide: null,
2339
- _slideNum: 1e3 + this.slideLayouts.length + 1,
2340
- _slideNumberProps: t.slideNumber || null,
2341
- _slideObjects: [],
2342
- background: t.background || null,
2343
- bkgd: t.bkgd || null
2344
- };
2345
- xe(t, n), this.slideLayouts.push(n), (t.background || t.bkgd) && ke(t.background, n), n._slideNumberProps && !this.masterSlide._slideNumberProps && (this.masterSlide._slideNumberProps = n._slideNumberProps);
2346
- }
2347
- tableToSlides(e, t = {}) {
2348
- ve(this, e, t, t?.masterSlideName ? this.slideLayouts.filter((e) => e._name === t.masterSlideName)[0] : null);
2349
- }
2350
- };
2351
- //#endregion
2352
- export { bt as default };