muellerzr HF staff commited on
Commit
fbff59d
1 Parent(s): 8ad35a7
This view is limited to 50 files because it contains too many changes.   See raw diff
Files changed (50) hide show
  1. llm_conf.html +1337 -0
  2. llm_conf_files/libs/clipboard/clipboard.min.js +7 -0
  3. llm_conf_files/libs/quarto-diagram/mermaid-init.js +275 -0
  4. llm_conf_files/libs/quarto-diagram/mermaid.css +13 -0
  5. llm_conf_files/libs/quarto-diagram/mermaid.min.js +0 -0
  6. llm_conf_files/libs/quarto-html/light-border.css +1 -0
  7. llm_conf_files/libs/quarto-html/popper.min.js +6 -0
  8. llm_conf_files/libs/quarto-html/quarto-html.min.css +1 -0
  9. llm_conf_files/libs/quarto-html/quarto-syntax-highlighting-dark.css +189 -0
  10. llm_conf_files/libs/quarto-html/tabby.min.js +418 -0
  11. llm_conf_files/libs/quarto-html/tippy.css +1 -0
  12. llm_conf_files/libs/quarto-html/tippy.umd.min.js +2 -0
  13. llm_conf_files/libs/revealjs/dist/reset.css +30 -0
  14. llm_conf_files/libs/revealjs/dist/reveal.css +8 -0
  15. llm_conf_files/libs/revealjs/dist/reveal.esm.js +9 -0
  16. llm_conf_files/libs/revealjs/dist/reveal.esm.js.map +0 -0
  17. llm_conf_files/libs/revealjs/dist/reveal.js +0 -0
  18. llm_conf_files/libs/revealjs/dist/reveal.js.map +0 -0
  19. llm_conf_files/libs/revealjs/dist/theme/fonts/league-gothic/LICENSE +2 -0
  20. llm_conf_files/libs/revealjs/dist/theme/fonts/league-gothic/league-gothic.css +10 -0
  21. llm_conf_files/libs/revealjs/dist/theme/fonts/league-gothic/league-gothic.eot +0 -0
  22. llm_conf_files/libs/revealjs/dist/theme/fonts/league-gothic/league-gothic.ttf +0 -0
  23. llm_conf_files/libs/revealjs/dist/theme/fonts/league-gothic/league-gothic.woff +0 -0
  24. llm_conf_files/libs/revealjs/dist/theme/fonts/source-sans-pro/LICENSE +45 -0
  25. llm_conf_files/libs/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro-italic.eot +0 -0
  26. llm_conf_files/libs/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro-italic.ttf +0 -0
  27. llm_conf_files/libs/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro-italic.woff +0 -0
  28. llm_conf_files/libs/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro-regular.eot +0 -0
  29. llm_conf_files/libs/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro-regular.ttf +0 -0
  30. llm_conf_files/libs/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro-regular.woff +0 -0
  31. llm_conf_files/libs/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro-semibold.eot +0 -0
  32. llm_conf_files/libs/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro-semibold.ttf +0 -0
  33. llm_conf_files/libs/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro-semibold.woff +0 -0
  34. llm_conf_files/libs/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro-semibolditalic.eot +0 -0
  35. llm_conf_files/libs/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro-semibolditalic.ttf +0 -0
  36. llm_conf_files/libs/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro-semibolditalic.woff +0 -0
  37. llm_conf_files/libs/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro.css +39 -0
  38. llm_conf_files/libs/revealjs/dist/theme/quarto.css +5 -0
  39. llm_conf_files/libs/revealjs/plugin/highlight/highlight.esm.js +0 -0
  40. llm_conf_files/libs/revealjs/plugin/highlight/highlight.js +0 -0
  41. llm_conf_files/libs/revealjs/plugin/highlight/monokai.css +71 -0
  42. llm_conf_files/libs/revealjs/plugin/highlight/plugin.js +439 -0
  43. llm_conf_files/libs/revealjs/plugin/highlight/zenburn.css +80 -0
  44. llm_conf_files/libs/revealjs/plugin/markdown/markdown.esm.js +1 -0
  45. llm_conf_files/libs/revealjs/plugin/markdown/markdown.js +1 -0
  46. llm_conf_files/libs/revealjs/plugin/markdown/plugin.js +475 -0
  47. llm_conf_files/libs/revealjs/plugin/math/katex.js +96 -0
  48. llm_conf_files/libs/revealjs/plugin/math/math.esm.js +1 -0
  49. llm_conf_files/libs/revealjs/plugin/math/math.js +1 -0
  50. llm_conf_files/libs/revealjs/plugin/math/mathjax2.js +89 -0
llm_conf.html ADDED
@@ -0,0 +1,1337 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html>
2
+ <html lang="en"><head>
3
+ <script src="llm_conf_files/libs/clipboard/clipboard.min.js"></script>
4
+ <script src="llm_conf_files/libs/quarto-html/tabby.min.js"></script>
5
+ <script src="llm_conf_files/libs/quarto-html/popper.min.js"></script>
6
+ <script src="llm_conf_files/libs/quarto-html/tippy.umd.min.js"></script>
7
+ <link href="llm_conf_files/libs/quarto-html/tippy.css" rel="stylesheet">
8
+ <link href="llm_conf_files/libs/quarto-html/light-border.css" rel="stylesheet">
9
+ <link href="llm_conf_files/libs/quarto-html/quarto-html.min.css" rel="stylesheet" data-mode="light">
10
+ <link href="llm_conf_files/libs/quarto-html/quarto-syntax-highlighting-dark.css" rel="stylesheet" id="quarto-text-highlighting-styles"><meta charset="utf-8">
11
+ <meta name="generator" content="quarto-99.9.9">
12
+
13
+ <title>Scaling Model Training with More Compute, How Do They Do It?</title>
14
+ <meta name="apple-mobile-web-app-capable" content="yes">
15
+ <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
16
+ <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no, minimal-ui">
17
+ <link rel="stylesheet" href="llm_conf_files/libs/revealjs/dist/reset.css">
18
+ <link rel="stylesheet" href="llm_conf_files/libs/revealjs/dist/reveal.css">
19
+ <style>
20
+ code{white-space: pre-wrap;}
21
+ span.smallcaps{font-variant: small-caps;}
22
+ div.columns{display: flex; gap: min(4vw, 1.5em);}
23
+ div.column{flex: auto; overflow-x: auto;}
24
+ div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}
25
+ ul.task-list{list-style: none;}
26
+ ul.task-list li input[type="checkbox"] {
27
+ width: 0.8em;
28
+ margin: 0 0.8em 0.2em -1em; /* quarto-specific, see https://github.com/quarto-dev/quarto-cli/issues/4556 */
29
+ vertical-align: middle;
30
+ }
31
+ /* CSS for syntax highlighting */
32
+ pre > code.sourceCode { white-space: pre; position: relative; }
33
+ pre > code.sourceCode > span { line-height: 1.25; }
34
+ pre > code.sourceCode > span:empty { height: 1.2em; }
35
+ .sourceCode { overflow: visible; }
36
+ code.sourceCode > span { color: inherit; text-decoration: inherit; }
37
+ div.sourceCode { margin: 1em 0; }
38
+ pre.sourceCode { margin: 0; }
39
+ @media screen {
40
+ div.sourceCode { overflow: auto; }
41
+ }
42
+ @media print {
43
+ pre > code.sourceCode { white-space: pre-wrap; }
44
+ pre > code.sourceCode > span { text-indent: -5em; padding-left: 5em; }
45
+ }
46
+ pre.numberSource code
47
+ { counter-reset: source-line 0; }
48
+ pre.numberSource code > span
49
+ { position: relative; left: -4em; counter-increment: source-line; }
50
+ pre.numberSource code > span > a:first-child::before
51
+ { content: counter(source-line);
52
+ position: relative; left: -1em; text-align: right; vertical-align: baseline;
53
+ border: none; display: inline-block;
54
+ -webkit-touch-callout: none; -webkit-user-select: none;
55
+ -khtml-user-select: none; -moz-user-select: none;
56
+ -ms-user-select: none; user-select: none;
57
+ padding: 0 4px; width: 4em;
58
+ }
59
+ pre.numberSource { margin-left: 3em; padding-left: 4px; }
60
+ div.sourceCode
61
+ { color: #f8f8f2; }
62
+ @media screen {
63
+ pre > code.sourceCode > span > a:first-child::before { text-decoration: underline; }
64
+ }
65
+ code span { color: #f8f8f2; } /* Normal */
66
+ code span.al { color: #f07178; background-color: #2a0f15; font-weight: bold; } /* Alert */
67
+ code span.an { color: #d4d0ab; } /* Annotation */
68
+ code span.at { color: #00e0e0; } /* Attribute */
69
+ code span.bn { color: #d4d0ab; } /* BaseN */
70
+ code span.bu { color: #abe338; } /* BuiltIn */
71
+ code span.cf { color: #ffa07a; font-weight: bold; } /* ControlFlow */
72
+ code span.ch { color: #abe338; } /* Char */
73
+ code span.cn { color: #ffd700; } /* Constant */
74
+ code span.co { color: #f8f8f2; font-style: italic; } /* Comment */
75
+ code span.cv { color: #ffd700; } /* CommentVar */
76
+ code span.do { color: #f8f8f2; } /* Documentation */
77
+ code span.dt { color: #ffa07a; } /* DataType */
78
+ code span.dv { color: #d4d0ab; } /* DecVal */
79
+ code span.er { color: #f07178; text-decoration: underline; } /* Error */
80
+ code span.ex { color: #00e0e0; font-weight: bold; } /* Extension */
81
+ code span.fl { color: #d4d0ab; } /* Float */
82
+ code span.fu { color: #ffa07a; } /* Function */
83
+ code span.im { color: #abe338; } /* Import */
84
+ code span.in { color: #d4d0ab; } /* Information */
85
+ code span.kw { color: #ffa07a; font-weight: bold; } /* Keyword */
86
+ code span.op { color: #ffa07a; } /* Operator */
87
+ code span.ot { color: #00e0e0; } /* Other */
88
+ code span.pp { color: #dcc6e0; } /* Preprocessor */
89
+ code span.re { color: #00e0e0; background-color: #f8f8f2; } /* RegionMarker */
90
+ code span.sc { color: #abe338; } /* SpecialChar */
91
+ code span.ss { color: #abe338; } /* SpecialString */
92
+ code span.st { color: #abe338; } /* String */
93
+ code span.va { color: #00e0e0; } /* Variable */
94
+ code span.vs { color: #abe338; } /* VerbatimString */
95
+ code span.wa { color: #dcc6e0; } /* Warning */
96
+ </style>
97
+ <link rel="stylesheet" href="llm_conf_files/libs/revealjs/dist/theme/quarto.css">
98
+ <link href="llm_conf_files/libs/revealjs/plugin/quarto-line-highlight/line-highlight.css" rel="stylesheet">
99
+ <link href="llm_conf_files/libs/revealjs/plugin/reveal-menu/menu.css" rel="stylesheet">
100
+ <link href="llm_conf_files/libs/revealjs/plugin/reveal-menu/quarto-menu.css" rel="stylesheet">
101
+ <link href="llm_conf_files/libs/revealjs/plugin/quarto-support/footer.css" rel="stylesheet">
102
+ <style type="text/css">
103
+
104
+ .callout {
105
+ margin-top: 1em;
106
+ margin-bottom: 1em;
107
+ border-radius: .25rem;
108
+ }
109
+
110
+ .callout.callout-style-simple {
111
+ padding: 0em 0.5em;
112
+ border-left: solid #acacac .3rem;
113
+ border-right: solid 1px silver;
114
+ border-top: solid 1px silver;
115
+ border-bottom: solid 1px silver;
116
+ display: flex;
117
+ }
118
+
119
+ .callout.callout-style-default {
120
+ border-left: solid #acacac .3rem;
121
+ border-right: solid 1px silver;
122
+ border-top: solid 1px silver;
123
+ border-bottom: solid 1px silver;
124
+ }
125
+
126
+ .callout .callout-body-container {
127
+ flex-grow: 1;
128
+ }
129
+
130
+ .callout.callout-style-simple .callout-body {
131
+ font-size: 1rem;
132
+ font-weight: 400;
133
+ }
134
+
135
+ .callout.callout-style-default .callout-body {
136
+ font-size: 0.9rem;
137
+ font-weight: 400;
138
+ }
139
+
140
+ .callout.callout-titled.callout-style-simple .callout-body {
141
+ margin-top: 0.2em;
142
+ }
143
+
144
+ .callout:not(.callout-titled) .callout-body {
145
+ display: flex;
146
+ }
147
+
148
+ .callout:not(.no-icon).callout-titled.callout-style-simple .callout-content {
149
+ padding-left: 1.6em;
150
+ }
151
+
152
+ .callout.callout-titled .callout-header {
153
+ padding-top: 0.2em;
154
+ margin-bottom: -0.2em;
155
+ }
156
+
157
+ .callout.callout-titled .callout-title p {
158
+ margin-top: 0.5em;
159
+ margin-bottom: 0.5em;
160
+ }
161
+
162
+ .callout.callout-titled.callout-style-simple .callout-content p {
163
+ margin-top: 0;
164
+ }
165
+
166
+ .callout.callout-titled.callout-style-default .callout-content p {
167
+ margin-top: 0.7em;
168
+ }
169
+
170
+ .callout.callout-style-simple div.callout-title {
171
+ border-bottom: none;
172
+ font-size: .9rem;
173
+ font-weight: 600;
174
+ opacity: 75%;
175
+ }
176
+
177
+ .callout.callout-style-default div.callout-title {
178
+ border-bottom: none;
179
+ font-weight: 600;
180
+ opacity: 85%;
181
+ font-size: 0.9rem;
182
+ padding-left: 0.5em;
183
+ padding-right: 0.5em;
184
+ }
185
+
186
+ .callout.callout-style-default div.callout-content {
187
+ padding-left: 0.5em;
188
+ padding-right: 0.5em;
189
+ }
190
+
191
+ .callout.callout-style-simple .callout-icon::before {
192
+ height: 1rem;
193
+ width: 1rem;
194
+ display: inline-block;
195
+ content: "";
196
+ background-repeat: no-repeat;
197
+ background-size: 1rem 1rem;
198
+ }
199
+
200
+ .callout.callout-style-default .callout-icon::before {
201
+ height: 0.9rem;
202
+ width: 0.9rem;
203
+ display: inline-block;
204
+ content: "";
205
+ background-repeat: no-repeat;
206
+ background-size: 0.9rem 0.9rem;
207
+ }
208
+
209
+ .callout-title {
210
+ display: flex
211
+ }
212
+
213
+ .callout-icon::before {
214
+ margin-top: 1rem;
215
+ padding-right: .5rem;
216
+ }
217
+
218
+ .callout.no-icon::before {
219
+ display: none !important;
220
+ }
221
+
222
+ .callout.callout-titled .callout-body > .callout-content > :last-child {
223
+ padding-bottom: 0.5rem;
224
+ margin-bottom: 0;
225
+ }
226
+
227
+ .callout.callout-titled .callout-icon::before {
228
+ margin-top: .5rem;
229
+ padding-right: .5rem;
230
+ }
231
+
232
+ .callout:not(.callout-titled) .callout-icon::before {
233
+ margin-top: 1rem;
234
+ padding-right: .5rem;
235
+ }
236
+
237
+ /* Callout Types */
238
+
239
+ div.callout-note {
240
+ border-left-color: #4582ec !important;
241
+ }
242
+
243
+ div.callout-note .callout-icon::before {
244
+ background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAIKADAAQAAAABAAAAIAAAAACshmLzAAAEU0lEQVRYCcVXTWhcVRQ+586kSUMMxkyaElstCto2SIhitS5Ek8xUKV2poatCcVHtUlFQk8mbaaziwpWgglJwVaquitBOfhQXFlqlzSJpFSpIYyXNjBNiTCck7x2/8/LeNDOZxDuEkgOXe++553zfefee+/OYLOXFk3+1LLrRdiO81yNqZ6K9cG0P3MeFaMIQjXssE8Z1JzLO9ls20MBZX7oG8w9GxB0goaPrW5aNMp1yOZIa7Wv6o2ykpLtmAPs/vrG14Z+6d4jpbSKuhdcSyq9wGMPXjonwmESXrriLzFGOdDBLB8Y6MNYBu0dRokSygMA/mrun8MGFN3behm6VVAwg4WR3i6FvYK1T7MHo9BK7ydH+1uurECoouk5MPRyVSBrBHMYwVobG2aOXM07sWrn5qgB60rc6mcwIDJtQrnrEr44kmy+UO9r0u9O5/YbkS9juQckLed3DyW2XV/qWBBB3ptvI8EUY3I9p/67OW+g967TNr3Sotn3IuVlfMLVnsBwH4fsnebJvyGm5GeIUA3jljERmrv49SizPYuq+z7c2H/jlGC+Ghhupn/hcapqmcudB9jwJ/3jvnvu6vu5lVzF1fXyZuZZ7U8nRmVzytvT+H3kilYvH09mLWrQdwFSsFEsxFVs5fK7A0g8gMZjbif4ACpKbjv7gNGaD8bUrlk8x+KRflttr22JEMRUbTUwwDQScyzPgedQHZT0xnx7ujw2jfVfExwYHwOsDTjLdJ2ebmeQIlJ7neo41s/DrsL3kl+W2lWvAga0tR3zueGr6GL78M3ifH0rGXrBC2aAR8uYcIA5gwV8zIE8onoh8u0Fca/ciF7j1uOzEnqcIm59sEXoGc0+z6+H45V1CvAvHcD7THztu669cnp+L0okAeIc6zjbM/24LgGM1gZk7jnRu1aQWoU9sfUOuhrmtaPIO3YY1KLLWZaEO5TKUbMY5zx8W9UJ6elpLwKXbsaZ4EFl7B4bMtDv0iRipKoDQT2sNQI9b1utXFdYisi+wzZ/ri/1m7QfDgEuvgUUEIJPq3DhX/5DWNqIXDOweC2wvIR90Oq3lDpdMIgD2r0dXvGdsEW5H6x6HLRJYU7C69VefO1x8Gde1ZFSJLfWS1jbCnhtOPxmpfv2LXOA2Xk2tvnwKKPFuZ/oRmwBwqRQDcKNeVQkYcOjtWVBuM/JuYw5b6isojIkYxyYAFn5K7ZBF10fea52y8QltAg6jnMqNHFBmGkQ1j+U43HMi2xMar1Nv0zGsf1s8nUsmUtPOOrbFIR8bHFDMB5zL13Gmr/kGlCkUzedTzzmzsaJXhYawnA3UmARpiYj5ooJZiUoxFRtK3X6pgNPv+IZVPcnwbOl6f+aBaO1CNvPW9n9LmCp01nuSaTRF2YxHqZ8DYQT6WsXT+RD6eUztwYLZ8rM+rcPxamv1VQzFUkzFXvkiVrySGQgJNvXHJAxiU3/NwiC03rSf05VBaPtu/Z7/B8Yn/w7eguloAAAAAElFTkSuQmCC');
245
+ }
246
+
247
+ div.callout-note.callout-style-default .callout-title {
248
+ background-color: #dae6fb
249
+ }
250
+
251
+ div.callout-important {
252
+ border-left-color: #d9534f !important;
253
+ }
254
+
255
+ div.callout-important .callout-icon::before {
256
+ background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAIKADAAQAAAABAAAAIAAAAACshmLzAAAEKklEQVRYCcVXTWhcVRS+575MJym48A+hSRFr00ySRQhURRfd2HYjk2SSTokuBCkU2o0LoSKKraKIBTcuFCoidGFD08nkBzdREbpQ1EDNIv8qSGMFUboImMSZd4/f9zJv8ibJMC8xJQfO3HPPPef7zrvvvnvviIkpC9nsw0UttFunbUhpFzFtarSd6WJkStVMw5xyVqYTvkwfzuf/5FgtkVoB0729j1rjXwThS7Vio+Mo6DNnvLfahoZ+i/o32lULuJ3NNiz7q6+pyAUkJaFF6JwaM2lUJlV0MlnQn5aTRbEu0SEqHUa0A4AdiGuB1kFXRfVyg5d87+Dg4DL6m2TLAub60ilj7A1Ec4odSAc8X95sHh7+ZRPCFo6Fnp7HfU/fBng/hi10CjCnWnJjsxvDNxWw0NfV6Rv5GgP3I3jGWXumdTD/3cbEOP2ZbOZp69yniG3FQ9z1jD7bnBu9Fc2tKGC2q+uAJOQHBDRiZX1x36o7fWBs7J9ownbtO+n0/qWkvW7UPIfc37WgT6ZGR++EOJyeQDSb9UB+DZ1G6DdLDzyS+b/kBCYGsYgJbSQHuThGKRcw5xdeQf8YdNHsc6ePXrlSYMBuSIAFTGAtQo+VuALo4BX83N190NWZWbynBjhOHsmNfFWLeL6v+ynsA58zDvvAC8j5PkbOcXCMg2PZFk3q8MjI7WAG/Dp9AwP7jdGBOOQkAvlFUB+irtm16I1Zw9YBcpGTGXYmk3kQIC/Cds55l+iMI3jqhjAuaoe+am2Jw5GT3Nbz3CkE12NavmzN5+erJW7046n/CH1RO/RVa8lBLozXk9uqykkGAyRXLWlLv5jyp4RFsG5vGVzpDLnIjTWgnRy2Rr+tDKvRc7Y8AyZq10jj8DqXdnIRNtFZb+t/ZRtXcDiVnzpqx8mPcDWxgARUqx0W1QB9MeUZiNrV4qP+Ehc+BpNgATsTX8ozYKL2NtFYAHc84fG7ndxUPr+AR/iQSns7uSUufAymwDOb2+NjK27lEFocm/EE2WpyIy/Hi66MWuMKJn8RvxIcj87IM5Vh9663ziW36kR0HNenXuxmfaD8JC7tfKbrhFr7LiZCrMjrzTeGx+PmkosrkNzW94ObzwocJ7A1HokLolY+AvkTiD/q1H0cN48c5EL8Crkttsa/AXQVDmutfyku0E7jShx49XqV3MFK8IryDhYVbj7Sj2P2eBxwcXoe8T8idsKKPRcnZw1b+slFTubwUwhktrfnAt7J++jwQtLZcm3sr9LQrjRzz6cfMv9aLvgmnAGvpoaGLxM4mAEaLV7iAzQ3oU0IvD5x9ix3yF2RAAuYAOO2f7PEFWCXZ4C9Pb2UsgDeVnFSpbFK7/IWu7TPTvBqzbGdCHOJQSxiEjt6IyZmxQyEJHv6xyQsYk//moVFsN2zP6fRImjfq7/n/wFDguUQFNEwugAAAABJRU5ErkJggg==');
257
+ }
258
+
259
+ div.callout-important.callout-style-default .callout-title {
260
+ background-color: #f7dddc
261
+ }
262
+
263
+ div.callout-warning {
264
+ border-left-color: #f0ad4e !important;
265
+ }
266
+
267
+ div.callout-warning .callout-icon::before {
268
+ background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAIKADAAQAAAABAAAAIAAAAACshmLzAAAETklEQVRYCeVWW2gcVRg+58yaTUnizqbipZeX4uWhBEniBaoUX1Ioze52t7sRq6APio9V9MEaoWlVsFasRq0gltaAPuxms8lu0gcviE/FFOstVbSIxgcv6SU7EZqmdc7v9+9mJtNks51NTUH84ed889/PP+cmxP+d5FIbMJmNbpREu4WUkiTtCicKny0l1pIKmBzovF2S+hIJHX8iEu3hZJ5lNZGqyRrGSIQpq15AzF28jgpeY6yk6GVdrfFqdrD6Iw+QlB8g0YS2g7dyQmXM/IDhBhT0UCiRf59lfqmmDvzRt6kByV/m4JjtzuaujMUM2c5Z2d6JdKrRb3K2q6mA+oYVz8JnDdKPmmNthzkAk/lN63sYPgevrguc72aZX/L9C6x09GYyxBgCX4NlvyGUHOKELlm5rXeR1kchuChJt4SSwyddZRXgvwMGvYo4QSlk3/zkHD8UHxwVJA6zjZZqP8v8kK8OWLnIZtLyCAJagYC4rTGW/9Pqj92N/c+LUaAj27movwbi19tk/whRCIE7Q9vyI6yvRpftAKVTdUjOW40X3h5OXsKCdmFcx0xlLJoSuQngnrJe7Kcjm4OMq9FlC7CMmScQANuNvjfP3PjGXDBaUQmbp296S5L4DrpbrHN1T87ZVEZVCzg1FF0Ft+dKrlLukI+/c9ENo+TvlTDbYFvuKPtQ9+l052rXrgKoWkDAFnvh0wTOmYn8R5f4k/jN/fZiCM1tQx9jQQ4ANhqG4hiL0qIFTGViG9DKB7GYzgubnpofgYRwO+DFjh0Zin2m4b/97EDkXkc+f6xYAPX0KK2I/7fUQuwzuwo/L3AkcjugPNixC8cHf0FyPjWlItmLxWw4Ou9YsQCr5fijMGoD/zpdRy95HRysyXA74MWOnscpO4j2y3HAVisw85hX5+AFBRSHt4ShfLFkIMXTqyKFc46xdzQM6XbAi702a7sy04J0+feReMFKp5q9esYLCqAZYw/k14E/xcLLsFElaornTuJB0svMuJINy8xkIYuL+xPAlWRceH6+HX7THJ0djLUom46zREu7tTkxwmf/FdOZ/sh6Q8qvEAiHpm4PJ4a/doJe0gH1t+aHRgCzOvBvJedEK5OFE5jpm4AGP2a8Dxe3gGJ/pAutug9Gp6he92CsSsWBaEcxGx0FHytmIpuqGkOpldqNYQK8cSoXvd+xLxXADw0kf6UkJNFtdo5MOgaLjiQOQHcn+A6h5NuL2s0qsC2LOM75PcF3yr5STuBSAcGG+meA14K/CI21HcS4LBT6tv0QAh8Dr5l93AhZzG5ZJ4VxAqdZUEl9z7WJ4aN+svMvwHHL21UKTd1mqvChH7/Za5xzXBBKrUcB0TQ+Ulgkfbi/H/YT5EptrGzsEK7tR1B7ln9BBwckYfMiuSqklSznIuoIIOM42MQO+QnduCoFCI0bpkzjCjddHPN/F+2Yu+sd9bKNpVwHhbS3LluK/0zgfwD0xYI5dXuzlQAAAABJRU5ErkJggg==');
269
+ }
270
+
271
+ div.callout-warning.callout-style-default .callout-title {
272
+ background-color: #fcefdc
273
+ }
274
+
275
+ div.callout-tip {
276
+ border-left-color: #02b875 !important;
277
+ }
278
+
279
+ div.callout-tip .callout-icon::before {
280
+ background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAIKADAAQAAAABAAAAIAAAAACshmLzAAADr0lEQVRYCe1XTWgTQRj9ZjZV8a9SPIkKgj8I1bMHsUWrqYLVg4Ue6v9BwZOxSYsIerFao7UiUryIqJcqgtpimhbBXoSCVxUFe9CTiogUrUp2Pt+3aUI2u5vdNh4dmMzOzHvvezuz8xNFM0mjnbXaNu1MvFWRXkXEyE6aYOYJpdW4IXuA4r0fo8qqSMDBU0v1HJUgVieAXxzCsdE/YJTdFcVIZQNMyhruOMJKXYFoLfIfIvVIMWdsrd+Rpd86ZmyzzjJmLStqRn0v8lzkb4rVIXvnpScOJuAn2ACC65FkPzEdEy4TPWRLJ2h7z4cArXzzaOdKlbOvKKX25Wl00jSnrwVxAg3o4dRxhO13RBSdNvH0xSARv3adTXbBdTf64IWO2vH0LT+cv4GR1DJt+DUItaQogeBX/chhbTBxEiZ6gftlDNXTrvT7co4ub5A6gp9HIcHvzTa46OS5fBeP87Qm0fQkr4FsYgVQ7Qg+ZayaDg9jhg1GkWj8RG6lkeSacrrHgDaxdoBiZPg+NXV/KifMuB6//JmYH4CntVEHy/keA6x4h4CU5oFy8GzrBS18cLJMXcljAKB6INjWsRcuZBWVaS3GDrqB7rdapVIeA+isQ57Eev9eCqzqOa81CY05VLd6SamW2wA2H3SiTbnbSxmzfp7WtKZkqy4mdyAlGx7ennghYf8voqp9cLSgKdqNfa6RdRsAAkPwRuJZNbpByn+RrJi1RXTwdi8RQF6ymDwGMAtZ6TVE+4uoKh+MYkcLsT0Hk8eAienbiGdjJHZTpmNjlbFJNKDVAp2fJlYju6IreQxQ08UJDNYdoLSl6AadO+fFuCQqVMB1NJwPm69T04Wv5WhfcWyfXQB+wXRs1pt+nCknRa0LVzSA/2B+a9+zQJadb7IyyV24YAxKp2Jqs3emZTuNnKxsah+uabKbMk7CbTgJx/zIgQYErIeTKRQ9yD9wxVof5YolPHqaWo7TD6tJlh7jQnK5z2n3+fGdggIOx2kaa2YI9QWarc5Ce1ipNWMKeSG4DysFF52KBmTNMmn5HqCFkwy34rDg05gDwgH3bBi+sgFhN/e8QvRn8kbamCOhgrZ9GJhFDgfcMHzFb6BAtjKpFhzTjwv1KCVuxHvCbsSiEz4CANnj84cwHdFXAbAOJ4LTSAawGWFn5tDhLMYz6nWeU2wJfIhmIJBefcd/A5FWQWGgrWzyORZ3Q6HuV+Jf0Bj+BTX69fm1zWgK7By1YTXchFDORywnfQ7GpzOo6S+qECrsx2ifVQAAAABJRU5ErkJggg==');
281
+ }
282
+
283
+ div.callout-tip.callout-style-default .callout-title {
284
+ background-color: #ccf1e3
285
+ }
286
+
287
+ div.callout-caution {
288
+ border-left-color: #fd7e14 !important;
289
+ }
290
+
291
+ div.callout-caution .callout-icon::before {
292
+ background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAIKADAAQAAAABAAAAIAAAAACshmLzAAACV0lEQVRYCdVWzWoUQRCuqp2ICBLJXgITZL1EfQDBW/bkzUMUD7klD+ATSHBEfAIfQO+iXsWDxJsHL96EHAwhgzlkg8nBg25XWb0zIb0zs9muYYWkoKeru+vn664fBqElyZNuyh167NXJ8Ut8McjbmEraKHkd7uAnAFku+VWdb3reSmRV8PKSLfZ0Gjn3a6Xlcq9YGb6tADjn+lUfTXtVmaZ1KwBIvFI11rRXlWlatwIAAv2asaa9mlB9wwygiDX26qaw1yYPzFXg2N1GgG0FMF8Oj+VIx7E/03lHx8UhvYyNZLN7BwSPgekXXLribw7w5/c8EF+DBK5idvDVYtEEwMeYefjjLAdEyQ3M9nfOkgnPTEkYU+sxMq0BxNR6jExrAI31H1rzvLEfRIdgcv1XEdj6QTQAS2wtstEALLG1yEZ3QhH6oDX7ExBSFEkFINXH98NTrme5IOaaA7kIfiu2L8A3qhH9zRbukdCqdsA98TdElyeMe5BI8Rs2xHRIsoTSSVFfCFCWGPn9XHb4cdobRIWABNf0add9jakDjQJpJ1bTXOJXnnRXHRf+dNL1ZV1MBRCXhMbaHqGI1JkKIL7+i8uffuP6wVQAzO7+qVEbF6NbS0LJureYcWXUUhH66nLR5rYmva+2tjRFtojkM2aD76HEGAD3tPtKM309FJg5j/K682ywcWJ3PASCcycH/22u+Bh7Aa0ehM2Fu4z0SAE81HF9RkB21c5bEn4Dzw+/qNOyXr3DCTQDMBOdhi4nAgiFDGCinIa2owCEChUwD8qzd03PG+qdW/4fDzjUMcE1ZpIAAAAASUVORK5CYII=');
293
+ }
294
+
295
+ div.callout-caution.callout-style-default .callout-title {
296
+ background-color: #ffe5d0
297
+ }
298
+
299
+ </style>
300
+ <style type="text/css">
301
+ .reveal div.sourceCode {
302
+ margin: 0;
303
+ overflow: auto;
304
+ }
305
+ .reveal div.hanging-indent {
306
+ margin-left: 1em;
307
+ text-indent: -1em;
308
+ }
309
+ .reveal .slide:not(.center) {
310
+ height: 100%;
311
+ }
312
+ .reveal .slide.scrollable {
313
+ overflow-y: auto;
314
+ }
315
+ .reveal .footnotes {
316
+ height: 100%;
317
+ overflow-y: auto;
318
+ }
319
+ .reveal .slide .absolute {
320
+ position: absolute;
321
+ display: block;
322
+ }
323
+ .reveal .footnotes ol {
324
+ counter-reset: ol;
325
+ list-style-type: none;
326
+ margin-left: 0;
327
+ }
328
+ .reveal .footnotes ol li:before {
329
+ counter-increment: ol;
330
+ content: counter(ol) ". ";
331
+ }
332
+ .reveal .footnotes ol li > p:first-child {
333
+ display: inline-block;
334
+ }
335
+ .reveal .slide ul,
336
+ .reveal .slide ol {
337
+ margin-bottom: 0.5em;
338
+ }
339
+ .reveal .slide ul li,
340
+ .reveal .slide ol li {
341
+ margin-top: 0.4em;
342
+ margin-bottom: 0.2em;
343
+ }
344
+ .reveal .slide ul[role="tablist"] li {
345
+ margin-bottom: 0;
346
+ }
347
+ .reveal .slide ul li > *:first-child,
348
+ .reveal .slide ol li > *:first-child {
349
+ margin-block-start: 0;
350
+ }
351
+ .reveal .slide ul li > *:last-child,
352
+ .reveal .slide ol li > *:last-child {
353
+ margin-block-end: 0;
354
+ }
355
+ .reveal .slide .columns:nth-child(3) {
356
+ margin-block-start: 0.8em;
357
+ }
358
+ .reveal blockquote {
359
+ box-shadow: none;
360
+ }
361
+ .reveal .tippy-content>* {
362
+ margin-top: 0.2em;
363
+ margin-bottom: 0.7em;
364
+ }
365
+ .reveal .tippy-content>*:last-child {
366
+ margin-bottom: 0.2em;
367
+ }
368
+ .reveal .slide > img.stretch.quarto-figure-center,
369
+ .reveal .slide > img.r-stretch.quarto-figure-center {
370
+ display: block;
371
+ margin-left: auto;
372
+ margin-right: auto;
373
+ }
374
+ .reveal .slide > img.stretch.quarto-figure-left,
375
+ .reveal .slide > img.r-stretch.quarto-figure-left {
376
+ display: block;
377
+ margin-left: 0;
378
+ margin-right: auto;
379
+ }
380
+ .reveal .slide > img.stretch.quarto-figure-right,
381
+ .reveal .slide > img.r-stretch.quarto-figure-right {
382
+ display: block;
383
+ margin-left: auto;
384
+ margin-right: 0;
385
+ }
386
+ </style>
387
+ <script src="llm_conf_files/libs/quarto-diagram/mermaid.min.js"></script>
388
+ <script src="llm_conf_files/libs/quarto-diagram/mermaid-init.js"></script>
389
+ <link href="llm_conf_files/libs/quarto-diagram/mermaid.css" rel="stylesheet">
390
+ </head>
391
+ <body class="quarto-dark">
392
+ <div class="reveal">
393
+ <div class="slides">
394
+
395
+ <section id="title-slide" class="quarto-title-block center">
396
+ <h1 class="title">Scaling Model Training with More Compute, How Do They Do It?</h1>
397
+
398
+ <div class="quarto-title-authors">
399
+ </div>
400
+
401
+ </section>
402
+ <section id="who-am-i" class="slide level2">
403
+ <h2>Who am I?</h2>
404
+ <ul>
405
+ <li>Zachary Mueller</li>
406
+ <li>Technical Lead for the 🤗 Accelerate project</li>
407
+ <li>API design geek</li>
408
+ </ul>
409
+ </section>
410
+ <section id="understanding-gpu-usage" class="slide level2">
411
+ <h2>Understanding GPU Usage</h2>
412
+ <ul>
413
+ <li>We can somewhat estimate the memory usage in vanilla full-fine-tuning of models</li>
414
+ <li>Requires certain assumptions (that I’ll be covering):
415
+ <ul>
416
+ <li>Adam optimizer</li>
417
+ <li>Batch size of 1</li>
418
+ </ul></li>
419
+ </ul>
420
+ </section>
421
+ <section id="understanding-gpu-usage-1" class="slide level2">
422
+ <h2>Understanding GPU Usage</h2>
423
+ <p>General estimate (<code>bert-base-cased</code>, 108M params):</p>
424
+ <ul>
425
+ <li>Each parameter is 4 bytes</li>
426
+ <li>Backward ~= 2x the model size</li>
427
+ <li>The optimizer step ~= 4x the model size (1x model, 1x gradients, 2x optimizer):</li>
428
+ </ul>
429
+ <div style="font-size: 50%;">
430
+ <table>
431
+ <thead>
432
+ <tr class="header">
433
+ <th>dtype</th>
434
+ <th style="text-align: left;">Model</th>
435
+ <th style="text-align: center;">Gradients</th>
436
+ <th style="text-align: center;">Backward pass</th>
437
+ <th style="text-align: center;">Optimizer step</th>
438
+ <th style="text-align: center;">Highest</th>
439
+ </tr>
440
+ </thead>
441
+ <tbody>
442
+ <tr class="odd">
443
+ <td>float32</td>
444
+ <td style="text-align: left;">413.18 MB</td>
445
+ <td style="text-align: center;">413.18 MB</td>
446
+ <td style="text-align: center;">826.36 MB</td>
447
+ <td style="text-align: center;">1.61 GB</td>
448
+ <td style="text-align: center;">1.61 GB</td>
449
+ </tr>
450
+ <tr class="even">
451
+ <td>float16</td>
452
+ <td style="text-align: left;">413.18 MB*</td>
453
+ <td style="text-align: center;">619.77 MB</td>
454
+ <td style="text-align: center;">826.36 MB</td>
455
+ <td style="text-align: center;">826.36 MB</td>
456
+ <td style="text-align: center;">826.36 MB</td>
457
+ </tr>
458
+ </tbody>
459
+ </table>
460
+ <p>*All estimations were based off the <a href="https://huggingface.co/spaces/hf-accelerate/model-memory-usage">Model Estimator Tool</a></p>
461
+ </div>
462
+ </section>
463
+ <section id="understanding-gpu-usage-2" class="slide level2">
464
+ <h2>Understanding GPU Usage</h2>
465
+ <p>This works fine for small models, we have cards with anywhere from 12-24GB of GPU memory (on the GPU-poor side).</p>
466
+ <p>But what happens as we scale?</p>
467
+ <p>Here’s <code>llama-3-8B</code> (8.03B parameters)</p>
468
+ <div style="font-size: 50%;">
469
+ <table>
470
+ <thead>
471
+ <tr class="header">
472
+ <th>dtype</th>
473
+ <th style="text-align: left;">Model</th>
474
+ <th style="text-align: center;">Gradients</th>
475
+ <th style="text-align: center;">Backward pass</th>
476
+ <th style="text-align: center;">Optimizer step</th>
477
+ <th style="text-align: center;">Highest</th>
478
+ </tr>
479
+ </thead>
480
+ <tbody>
481
+ <tr class="odd">
482
+ <td>float32</td>
483
+ <td style="text-align: left;">28.21 GB</td>
484
+ <td style="text-align: center;">28.21 GB</td>
485
+ <td style="text-align: center;">56.43 GB</td>
486
+ <td style="text-align: center;">112.84 GB</td>
487
+ <td style="text-align: center;">112.84 GB</td>
488
+ </tr>
489
+ <tr class="even">
490
+ <td>float16</td>
491
+ <td style="text-align: left;">28.21 GB*</td>
492
+ <td style="text-align: center;">42.32 GB</td>
493
+ <td style="text-align: center;">56.43 GB</td>
494
+ <td style="text-align: center;">56.43 GB</td>
495
+ <td style="text-align: center;">56.43 GB</td>
496
+ </tr>
497
+ </tbody>
498
+ </table>
499
+ </div>
500
+ <p>Well, <em>I</em> don’t have 56GB of GPU memory in a single card, let alone 112GB.</p>
501
+ <p>What can we do?</p>
502
+ </section>
503
+ <section>
504
+ <section id="distributed-training" class="title-slide slide level1 center">
505
+ <h1>Distributed Training</h1>
506
+
507
+ </section>
508
+ <section id="kinds-of-training" class="slide level2">
509
+ <h2>Kinds of Training</h2>
510
+ <ul>
511
+ <li>Single GPU:
512
+ <ul>
513
+ <li>No distributed techniques at play</li>
514
+ </ul></li>
515
+ <li>DDP:
516
+ <ul>
517
+ <li>A full copy of the model exists on each device, but data is chunked between each GPU</li>
518
+ </ul></li>
519
+ <li>FSDP &amp; DeepSpeed:
520
+ <ul>
521
+ <li>Split chunks of the model and optimizer states across GPUs, allowing for training bigger models on smaller (multiple) GPUs</li>
522
+ </ul></li>
523
+ </ul>
524
+ </section></section>
525
+ <section>
526
+ <section id="fully-sharded-data-parallelism" class="title-slide slide level1 center">
527
+ <h1>Fully Sharded Data Parallelism</h1>
528
+
529
+ </section>
530
+ <section id="fully-sharded-data-parallelism-1" class="slide level2">
531
+ <h2>Fully Sharded Data Parallelism</h2>
532
+
533
+ <img data-src="fsdp.png" id="fig-539a35d47e664c97a50115a146a7f1bd-1" class="r-stretch quarto-figure-center"><aside class="notes">
534
+ <ul>
535
+ <li>Take the model and split it across <code>n</code> GPUs</li>
536
+ <li>Each GPU computes the shard’s gradients</li>
537
+ <li>At the end, all gradients are synchronized and the final full model gradient is calculated</li>
538
+ <li>The backward pass can then be performed</li>
539
+ </ul>
540
+ <style type="text/css">
541
+ span.MJX_Assistive_MathML {
542
+ position:absolute!important;
543
+ clip: rect(1px, 1px, 1px, 1px);
544
+ padding: 1px 0 0 0!important;
545
+ border: 0!important;
546
+ height: 1px!important;
547
+ width: 1px!important;
548
+ overflow: hidden!important;
549
+ display:block!important;
550
+ }</style></aside>
551
+ </section>
552
+ <section id="fsdp-getting-parameter-specific" class="slide level2">
553
+ <h2>FSDP: Getting parameter specific</h2>
554
+ <ul>
555
+ <li>Different parameters can dicatate how much memory is needed for total GPU training across multiple GPUs</li>
556
+ <li>These include how model weights are sharded, gradients, and more.</li>
557
+ <li>I’ll cover some important ones I needed when doing a Full-Fine-Tune of Llama-3-8B <em>without PEFT</em> on 2x4090’s</li>
558
+ </ul>
559
+ </section>
560
+ <section id="sharding_strategy" class="slide level2">
561
+ <h2><code>sharding_strategy</code></h2>
562
+ <ul>
563
+ <li>Dictates the level of divving resources to perform
564
+ <ul>
565
+ <li><code>FULL_SHARD</code>: Includes optimizer states, gradients, and parameters</li>
566
+ <li><code>SHARD_GRAD_OP</code>: Includes optimizer states and gradients</li>
567
+ <li><code>NO_SHARD</code>: Normal DDP</li>
568
+ <li><code>HYBRID_SHARD</code>: Includes optimizer states, gradients, and parameters but each node has the full model</li>
569
+ </ul>
570
+ <aside class="notes">
571
+ <pre><code>FULL_SHARD:
572
+ Parameters, Gradients, Optimizer States: All are sharded.
573
+ Parameters Handling: Unshard before forward pass, reshard after forward pass, unshard before backward pass, reshard after backward pass.
574
+ Gradients Handling: Synchronize and shard after backward pass.
575
+ Optimizer States: Updated locally per rank.</code></pre>
576
+ <p>SHARD_GRAD_OP: Gradients and Optimizer States: Sharded during computation. Parameters: Unshard before forward pass, remain unsharded during forward pass, reshard after backward pass. Inside no_sync(): Parameters are not resharded after backward computation. Optimizer States: Updated locally per rank.</p>
577
+ <p>NO_SHARD: Parameters, Gradients, Optimizer States: Not sharded, replicated across ranks. Gradients Handling: Synchronized via all-reduce after backward pass. Optimizer States: Updated locally per rank.</p>
578
+ <p>HYBRID_SHARD: Parameters, Gradients, Optimizer States: Combines FULL_SHARD within a node and replicates parameters across nodes. Communication: Expensive operations like all-gathers and reduce-scatters are limited to within a node, enhancing performance for medium-sized models.</p>
579
+ <style type="text/css">
580
+ span.MJX_Assistive_MathML {
581
+ position:absolute!important;
582
+ clip: rect(1px, 1px, 1px, 1px);
583
+ padding: 1px 0 0 0!important;
584
+ border: 0!important;
585
+ height: 1px!important;
586
+ width: 1px!important;
587
+ overflow: hidden!important;
588
+ display:block!important;
589
+ }</style></aside></li>
590
+ </ul>
591
+ </section>
592
+ <section id="auto_wrap_policy" class="slide level2">
593
+ <h2><code>auto_wrap_policy</code>:</h2>
594
+ <ul>
595
+ <li>How the model should be split</li>
596
+ <li>Can be either <code>TRANSFORMER_BASED_WRAP</code> or <code>SIZE_BASED_WRAP</code></li>
597
+ <li><code>TRANSFORMER</code>/<code>fsdp_transformers_layer_cls_to_wrap</code>:
598
+ <ul>
599
+ <li>Need to declare the layer</li>
600
+ <li>Generally <code>transformers</code> has good defaults</li>
601
+ </ul></li>
602
+ <li><code>SIZE</code>/<code>fsdp_min_num_param</code>:
603
+ <ul>
604
+ <li>Number of total parameters in a shard</li>
605
+ </ul></li>
606
+ </ul>
607
+ </section>
608
+ <section id="offload_params" class="slide level2">
609
+ <h2><code>offload_params</code>:</h2>
610
+ <ul>
611
+ <li>Offloads the parameters and gradients to the CPU if they can’t fit into memory</li>
612
+ <li>Allows you to train much larger models locally, but will be much slower</li>
613
+ </ul>
614
+ <blockquote>
615
+ <p>Case: FFT of Llama-3-8B with <code>fsdp_offload_params</code> on 2x4090 GPUs was 72hrs, vs ~an hour or two when using 1xH100</p>
616
+ </blockquote>
617
+ </section>
618
+ <section id="cpu_ram_efficient_loading-and-sync_module_states" class="slide level2">
619
+ <h2><code>cpu_ram_efficient_loading</code> and <code>sync_module_states</code></h2>
620
+ <ul>
621
+ <li>Uses the idea behind big model inference/the <code>meta</code> device to load in the model to the GPU in a low-ram scenario</li>
622
+ <li>Rather than needing <code>model_size</code> * <code>n_gpus</code> RAM, we can load the model on a single node and then send the weights directly to each shard when the time is right via <code>sync_module_states</code></li>
623
+ </ul>
624
+ </section></section>
625
+ <section>
626
+ <section id="tying-this-to-accelerate" class="title-slide slide level1 center">
627
+ <h1>Tying this to 🤗 Accelerate</h1>
628
+
629
+ </section>
630
+ <section id="tying-this-to-accelerate-1" class="slide level2">
631
+ <h2>Tying this to 🤗 Accelerate</h2>
632
+ <ul>
633
+ <li>So far we’ve covered the theory, but how do we put it into practice</li>
634
+ <li>By using a library that’s at the heart of the entire open-source ecosystem</li>
635
+ </ul>
636
+ <div style="font-size: 60%;padding-left:10%;padding-top:0%;">
637
+ <ul>
638
+ <li>Nearly all of 🤗</li>
639
+ <li><code>axolotl</code></li>
640
+ <li><code>fastai</code></li>
641
+ <li><code>FastChat</code></li>
642
+ <li><code>lucidrains</code></li>
643
+ <li><code>kornia</code></li>
644
+ </ul>
645
+ </div>
646
+ <p>Are you using it and you don’t even know?</p>
647
+ </section>
648
+ <section id="what-is-accelerate" class="slide level2">
649
+ <h2>What is 🤗 Accelerate?</h2>
650
+ <div class="cell" data-reveal="true" data-fig-height="6">
651
+ <div class="cell-output-display">
652
+ <div>
653
+ <div>
654
+ <pre class="mermaid mermaid-js">graph LR
655
+ A(("🤗 Accelerate#32;"))
656
+ A --&gt; B["CLI Interface#32;"]
657
+ A --&gt; C["Training Library#32;"]
658
+ A --&gt; D["Big Model&lt;br&gt;Inference#32;"]
659
+ </pre>
660
+ </div>
661
+ </div>
662
+ </div>
663
+ </div>
664
+ </section>
665
+ <section id="a-cli-interface" class="slide level2">
666
+ <h2>A CLI Interface</h2>
667
+ <ul>
668
+ <li><code>accelerate config</code>
669
+ <ul>
670
+ <li>Configure the environment</li>
671
+ </ul></li>
672
+ <li><code>accelerate estimate-memory</code>
673
+ <ul>
674
+ <li>How to guess vRAM requirements</li>
675
+ </ul></li>
676
+ <li><code>accelerate launch</code>
677
+ <ul>
678
+ <li>How to run your script</li>
679
+ </ul></li>
680
+ </ul>
681
+ </section>
682
+ <section id="launching-distributed-training-is-hard" class="slide level2">
683
+ <h2>Launching distributed training is hard</h2>
684
+ <ul>
685
+ <li><div class="sourceCode" id="cb2"><pre class="sourceCode numberSource bash number-lines code-with-copy"><code class="sourceCode bash"><span id="cb2-1"><a href="#cb2-1"></a><span class="ex">python</span> script.py</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div></li>
686
+ <li><div class="sourceCode" id="cb3"><pre class="sourceCode numberSource bash number-lines code-with-copy"><code class="sourceCode bash"><span id="cb3-1"><a href="#cb3-1"></a><span class="ex">torchrun</span> <span class="at">--nnodes</span><span class="op">=</span>1 <span class="at">--nproc_per_node</span><span class="op">=</span>2 script.py</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div></li>
687
+ <li><div class="sourceCode" id="cb4"><pre class="sourceCode numberSource bash number-lines code-with-copy"><code class="sourceCode bash"><span id="cb4-1"><a href="#cb4-1"></a><span class="ex">deepspeed</span> <span class="at">--num_gpus</span><span class="op">=</span>2 script.py</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div></li>
688
+ </ul>
689
+ <p>How can we make this better?</p>
690
+ </section>
691
+ <section id="accelerate-launch" class="slide level2">
692
+ <h2><code>accelerate launch</code></h2>
693
+ <div class="sourceCode" id="cb5"><pre class="sourceCode numberSource bash number-lines code-with-copy"><code class="sourceCode bash"><span id="cb5-1"><a href="#cb5-1"></a><span class="ex">accelerate</span> launch script.py</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div>
694
+ </section>
695
+ <section id="accelerate-config" class="slide level2">
696
+ <h2><code>accelerate config</code></h2>
697
+ <ul>
698
+ <li>Rely on <code>config.yaml</code> files</li>
699
+ <li>Choose to either running <code>accelerate config</code> or write your own:</li>
700
+ </ul>
701
+ <div class="columns" style="font-size: 50%;padding-left:10%;">
702
+ <div class="column" style="width:40%;">
703
+ <div class="code-with-filename">
704
+ <div class="code-with-filename-file">
705
+ <pre><strong>ddp_config.yaml</strong></pre>
706
+ </div>
707
+ <div class="sourceCode" id="cb6" data-filename="ddp_config.yaml"><pre class="sourceCode numberSource yaml number-lines code-with-copy"><code class="sourceCode yaml"><span id="cb6-1"><a href="#cb6-1"></a><span class="fu">compute_environment</span><span class="kw">:</span><span class="at"> LOCAL_MACHINE</span></span>
708
+ <span id="cb6-2"><a href="#cb6-2"></a><span class="fu">distributed_type</span><span class="kw">:</span><span class="at"> MULTI_GPU</span></span>
709
+ <span id="cb6-3"><a href="#cb6-3"></a><span class="fu">main_training_function</span><span class="kw">:</span><span class="at"> main</span></span>
710
+ <span id="cb6-4"><a href="#cb6-4"></a><span class="fu">mixed_precision</span><span class="kw">:</span><span class="at"> bf16</span></span>
711
+ <span id="cb6-5"><a href="#cb6-5"></a><span class="fu">num_machines</span><span class="kw">:</span><span class="at"> </span><span class="dv">1</span></span>
712
+ <span id="cb6-6"><a href="#cb6-6"></a><span class="fu">num_processes</span><span class="kw">:</span><span class="at"> </span><span class="dv">8</span></span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div>
713
+ </div>
714
+ </div><div class="column" style="width:40%;">
715
+ <div class="code-with-filename">
716
+ <div class="code-with-filename-file">
717
+ <pre><strong>fsdp_config.yaml</strong></pre>
718
+ </div>
719
+ <div class="sourceCode" id="cb7" data-filename="fsdp_config.yaml"><pre class="sourceCode numberSource yaml number-lines code-with-copy"><code class="sourceCode yaml"><span id="cb7-1"><a href="#cb7-1"></a><span class="fu">compute_environment</span><span class="kw">:</span><span class="at"> LOCAL_MACHINE</span></span>
720
+ <span id="cb7-2"><a href="#cb7-2"></a><span class="fu">distributed_type</span><span class="kw">:</span><span class="at"> FSDP</span></span>
721
+ <span id="cb7-3"><a href="#cb7-3"></a><span class="fu">fsdp_config</span><span class="kw">:</span></span>
722
+ <span id="cb7-4"><a href="#cb7-4"></a><span class="at"> </span><span class="fu">fsdp_auto_wrap_policy</span><span class="kw">:</span><span class="at"> TRANSFORMER_BASED_WRAP</span></span>
723
+ <span id="cb7-5"><a href="#cb7-5"></a><span class="at"> </span><span class="fu">fsdp_backward_prefetch</span><span class="kw">:</span><span class="at"> BACKWARD_PRE</span></span>
724
+ <span id="cb7-6"><a href="#cb7-6"></a><span class="at"> </span><span class="fu">fsdp_cpu_ram_efficient_loading</span><span class="kw">:</span><span class="at"> </span><span class="ch">true</span></span>
725
+ <span id="cb7-7"><a href="#cb7-7"></a><span class="at"> </span><span class="fu">fsdp_forward_prefetch</span><span class="kw">:</span><span class="at"> </span><span class="ch">false</span></span>
726
+ <span id="cb7-8"><a href="#cb7-8"></a><span class="at"> </span><span class="fu">fsdp_offload_params</span><span class="kw">:</span><span class="at"> </span><span class="ch">false</span></span>
727
+ <span id="cb7-9"><a href="#cb7-9"></a><span class="at"> </span><span class="fu">fsdp_sharding_strategy</span><span class="kw">:</span><span class="at"> FULL_SHARD</span></span>
728
+ <span id="cb7-10"><a href="#cb7-10"></a><span class="at"> </span><span class="fu">fsdp_state_dict_type</span><span class="kw">:</span><span class="at"> SHARDED_STATE_DICT</span></span>
729
+ <span id="cb7-11"><a href="#cb7-11"></a><span class="at"> </span><span class="fu">fsdp_sync_module_states</span><span class="kw">:</span><span class="at"> </span><span class="ch">true</span></span>
730
+ <span id="cb7-12"><a href="#cb7-12"></a><span class="at"> </span><span class="fu">fsdp_use_orig_params</span><span class="kw">:</span><span class="at"> </span><span class="ch">false</span></span>
731
+ <span id="cb7-13"><a href="#cb7-13"></a><span class="fu">main_training_function</span><span class="kw">:</span><span class="at"> main</span></span>
732
+ <span id="cb7-14"><a href="#cb7-14"></a><span class="fu">mixed_precision</span><span class="kw">:</span><span class="at"> bf16</span></span>
733
+ <span id="cb7-15"><a href="#cb7-15"></a><span class="fu">num_machines</span><span class="kw">:</span><span class="at"> </span><span class="dv">1</span></span>
734
+ <span id="cb7-16"><a href="#cb7-16"></a><span class="fu">num_processes</span><span class="kw">:</span><span class="at"> </span><span class="dv">8</span></span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div>
735
+ </div>
736
+ </div>
737
+ </div>
738
+ </section></section>
739
+ <section>
740
+ <section id="a-training-library" class="title-slide slide level1 center">
741
+ <h1>A Training Library</h1>
742
+
743
+ </section>
744
+ <section id="a-training-library-the-code" class="slide level2">
745
+ <h2>A Training Library: The Code</h2>
746
+ <div class="columns" style="font-size: 50%;">
747
+ <div class="column">
748
+ <p><br><br><br></p>
749
+ <div class="sourceCode" id="cb8" data-code-line-numbers="5-6,9"><pre class="sourceCode numberSource python number-lines code-with-copy"><code class="sourceCode python"><span id="cb8-1"><a href="#cb8-1"></a><span class="co"># For alignment purposes</span></span>
750
+ <span id="cb8-2"><a href="#cb8-2"></a><span class="cf">for</span> batch <span class="kw">in</span> dataloader:</span>
751
+ <span id="cb8-3"><a href="#cb8-3"></a> optimizer.zero_grad()</span>
752
+ <span id="cb8-4"><a href="#cb8-4"></a> inputs, targets <span class="op">=</span> batch</span>
753
+ <span id="cb8-5"><a href="#cb8-5"></a> inputs <span class="op">=</span> inputs.to(device)</span>
754
+ <span id="cb8-6"><a href="#cb8-6"></a> targets <span class="op">=</span> targets.to(device)</span>
755
+ <span id="cb8-7"><a href="#cb8-7"></a> outputs <span class="op">=</span> model(inputs)</span>
756
+ <span id="cb8-8"><a href="#cb8-8"></a> loss <span class="op">=</span> loss_function(outputs, targets)</span>
757
+ <span id="cb8-9"><a href="#cb8-9"></a> loss.backward()</span>
758
+ <span id="cb8-10"><a href="#cb8-10"></a> optimizer.step()</span>
759
+ <span id="cb8-11"><a href="#cb8-11"></a> scheduler.step()</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div>
760
+ </div><div class="column">
761
+ <div class="sourceCode" id="cb9" data-code-line-numbers="1-7,12-13,16"><pre class="sourceCode numberSource python number-lines code-with-copy"><code class="sourceCode python"><span id="cb9-1"><a href="#cb9-1"></a><span class="im">from</span> accelerate <span class="im">import</span> Accelerator</span>
762
+ <span id="cb9-2"><a href="#cb9-2"></a>accelerator <span class="op">=</span> Accelerator()</span>
763
+ <span id="cb9-3"><a href="#cb9-3"></a>dataloader, model, optimizer scheduler <span class="op">=</span> (</span>
764
+ <span id="cb9-4"><a href="#cb9-4"></a> accelerator.prepare(</span>
765
+ <span id="cb9-5"><a href="#cb9-5"></a> dataloader, model, optimizer, scheduler</span>
766
+ <span id="cb9-6"><a href="#cb9-6"></a> )</span>
767
+ <span id="cb9-7"><a href="#cb9-7"></a>)</span>
768
+ <span id="cb9-8"><a href="#cb9-8"></a></span>
769
+ <span id="cb9-9"><a href="#cb9-9"></a><span class="cf">for</span> batch <span class="kw">in</span> dataloader:</span>
770
+ <span id="cb9-10"><a href="#cb9-10"></a> optimizer.zero_grad()</span>
771
+ <span id="cb9-11"><a href="#cb9-11"></a> inputs, targets <span class="op">=</span> batch</span>
772
+ <span id="cb9-12"><a href="#cb9-12"></a> <span class="co"># inputs = inputs.to(device)</span></span>
773
+ <span id="cb9-13"><a href="#cb9-13"></a> <span class="co"># targets = targets.to(device)</span></span>
774
+ <span id="cb9-14"><a href="#cb9-14"></a> outputs <span class="op">=</span> model(inputs)</span>
775
+ <span id="cb9-15"><a href="#cb9-15"></a> loss <span class="op">=</span> loss_function(outputs, targets)</span>
776
+ <span id="cb9-16"><a href="#cb9-16"></a> accelerator.backward(loss) <span class="co"># loss.backward()</span></span>
777
+ <span id="cb9-17"><a href="#cb9-17"></a> optimizer.step()</span>
778
+ <span id="cb9-18"><a href="#cb9-18"></a> scheduler.step()</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div>
779
+ </div>
780
+ </div>
781
+ </section>
782
+ <section id="a-training-library-how-scaling-works" class="slide level2">
783
+ <h2>A Training Library: How Scaling Works</h2>
784
+ <ul>
785
+ <li>Accelerate’s DataLoaders and schedulers work off of a sharding mindset</li>
786
+ <li>Rather than repeating the same data across <code>n</code> nodes, we instead split it</li>
787
+ <li>Speeds up training linearly</li>
788
+ <li>Given a batch size of 16 on a single GPU, to recreate this across 8 GPUs you would use a batch size of 2</li>
789
+ <li>This also means the scheduler will be stepped <code>n</code> GPUs at a time per “global step”</li>
790
+ </ul>
791
+ </section>
792
+ <section id="a-training-library-mixed-precision" class="slide level2">
793
+ <h2>A Training Library: Mixed Precision</h2>
794
+ <ul>
795
+ <li>This may be a bit different than your “normal” idea of mixed precision.</li>
796
+ <li>We do <strong>not</strong> convert the model weights to BF16/FP16</li>
797
+ <li>Instead we <strong>wrap the forward pass</strong> with <code>autocast</code> to convert the gradients automatically</li>
798
+ <li>This preserves the original precision of the weights, which leads to stable training and better fine-tuning later on.</li>
799
+ <li><strong>If you use <code>.bf16()</code> weights, you are STUCK in bf16 perminantly</strong></li>
800
+ </ul>
801
+ </section>
802
+ <section id="a-training-library-mixed-precision-1" class="slide level2">
803
+ <h2>A Training Library: Mixed Precision</h2>
804
+ <ul>
805
+ <li>Let’s tie that back up to the model estimator with neat tools like NVIDIA’s TransformerEngine</li>
806
+ </ul>
807
+ <div style="font-size: 60%;">
808
+ <table style="width:100%;">
809
+ <colgroup>
810
+ <col style="width: 14%">
811
+ <col style="width: 14%">
812
+ <col style="width: 14%">
813
+ <col style="width: 14%">
814
+ <col style="width: 14%">
815
+ <col style="width: 14%">
816
+ <col style="width: 14%">
817
+ </colgroup>
818
+ <thead>
819
+ <tr class="header">
820
+ <th>Optimization Level</th>
821
+ <th>Computation (GEMM)</th>
822
+ <th>Comm</th>
823
+ <th>Weight</th>
824
+ <th>Master Weight</th>
825
+ <th>Weight Gradient</th>
826
+ <th>Optimizer States</th>
827
+ </tr>
828
+ </thead>
829
+ <tbody>
830
+ <tr class="odd">
831
+ <td>FP16 AMP</td>
832
+ <td>FP16</td>
833
+ <td>FP32</td>
834
+ <td>FP32</td>
835
+ <td>N/A</td>
836
+ <td>FP32</td>
837
+ <td>FP32+FP32</td>
838
+ </tr>
839
+ <tr class="even">
840
+ <td>Nvidia TE</td>
841
+ <td>FP8</td>
842
+ <td>FP32</td>
843
+ <td>FP32</td>
844
+ <td>N/A</td>
845
+ <td>FP32</td>
846
+ <td>FP32+FP32</td>
847
+ </tr>
848
+ <tr class="odd">
849
+ <td>MS-AMP O1</td>
850
+ <td>FP8</td>
851
+ <td>FP8</td>
852
+ <td>FP16</td>
853
+ <td>N/A</td>
854
+ <td>FP8</td>
855
+ <td>FP32+FP32</td>
856
+ </tr>
857
+ <tr class="even">
858
+ <td>MS-AMP O2</td>
859
+ <td>FP8</td>
860
+ <td>FP8</td>
861
+ <td>FP16</td>
862
+ <td>N/A</td>
863
+ <td>FP8</td>
864
+ <td>FP8+FP16</td>
865
+ </tr>
866
+ <tr class="odd">
867
+ <td>MS-AMP O3</td>
868
+ <td>FP8</td>
869
+ <td>FP8</td>
870
+ <td>FP8</td>
871
+ <td>FP16</td>
872
+ <td>FP8</td>
873
+ <td>FP8+FP16</td>
874
+ </tr>
875
+ </tbody>
876
+ </table>
877
+ </div>
878
+ <aside class="notes">
879
+ <p>What is actually happening: * Linear Layers and other certain compatible layers are wrapped in a special version that allows for FP8 computation * The general forward pass is wrapped around BF16 * This means that the most memory saved is done during the gradients of the model, <em>not</em> the model itself. * With tools like <code>MS-AMP</code> we can convert more chunks into lower precision, but again like before stable training occurs when the models weights are in full precision and the backprop happens in full precision too.</p>
880
+ <style type="text/css">
881
+ span.MJX_Assistive_MathML {
882
+ position:absolute!important;
883
+ clip: rect(1px, 1px, 1px, 1px);
884
+ padding: 1px 0 0 0!important;
885
+ border: 0!important;
886
+ height: 1px!important;
887
+ width: 1px!important;
888
+ overflow: hidden!important;
889
+ display:block!important;
890
+ }</style></aside>
891
+ </section>
892
+ <section id="deepspeed-vs-fully-sharded-data-parallelism" class="slide level2">
893
+ <h2>DeepSpeed vs Fully Sharded Data Parallelism</h2>
894
+ <ul>
895
+ <li>Extremely similar, however mostly used different naming conventions for items and slight tweaks in the implementation</li>
896
+ </ul>
897
+ <div style="font-size: 50%;">
898
+ <table style="width:100%;">
899
+ <colgroup>
900
+ <col style="width: 16%">
901
+ <col style="width: 16%">
902
+ <col style="width: 16%">
903
+ <col style="width: 16%">
904
+ <col style="width: 16%">
905
+ <col style="width: 16%">
906
+ </colgroup>
907
+ <thead>
908
+ <tr class="header">
909
+ <th>Framework</th>
910
+ <th>Model Loading (<code>torch_dtype</code>)</th>
911
+ <th>Mixed Precision</th>
912
+ <th>Preparation (Local)</th>
913
+ <th>Training</th>
914
+ <th>Optimizer (Local)</th>
915
+ </tr>
916
+ </thead>
917
+ <tbody>
918
+ <tr class="odd">
919
+ <td>FSDP</td>
920
+ <td>bf16</td>
921
+ <td>default (none)</td>
922
+ <td>bf16</td>
923
+ <td>bf16</td>
924
+ <td>bf16</td>
925
+ </tr>
926
+ <tr class="even">
927
+ <td>FSDP</td>
928
+ <td>bf16</td>
929
+ <td>bf16</td>
930
+ <td>fp32</td>
931
+ <td>bf16</td>
932
+ <td>fp32</td>
933
+ </tr>
934
+ <tr class="odd">
935
+ <td>DeepSpeed</td>
936
+ <td>bf16</td>
937
+ <td>bf16</td>
938
+ <td>fp32</td>
939
+ <td>bf16</td>
940
+ <td>fp32</td>
941
+ </tr>
942
+ </tbody>
943
+ </table>
944
+ </div>
945
+ <p>To learn more, check out the <a href="https://huggingface.co/docs/accelerate/concept_guides/fsdp_and_deepspeed">documentation</a> or join my office hours</p>
946
+ </section>
947
+ <section id="key-takeaways" class="slide level2">
948
+ <h2>Key Takeaways:</h2>
949
+ <ul>
950
+ <li>You can scale out training with <code>accelerate</code>, FSDP, and DeepSpeed across multiple GPUs to train bigger models</li>
951
+ <li>Techniques like <code>FP8</code> can help speed up training some and reduce computational overhead</li>
952
+ <li>Comes at a cost of end-precision and locking model weights for futher fine-tunes if not careful</li>
953
+ </ul>
954
+ </section>
955
+ <section id="some-handy-resources" class="slide level2">
956
+ <h2>Some Handy Resources</h2>
957
+ <ul>
958
+ <li><a href="https://hf.co/docs/accelerate">🤗 Accelerate documentation</a></li>
959
+ <li><a href="https://huggingface.co/docs/accelerate/basic_tutorials/launch">Launching distributed code</a></li>
960
+ <li><a href="https://huggingface.co/docs/accelerate/basic_tutorials/notebook">Distributed code and Jupyter Notebooks</a></li>
961
+ <li><a href="https://huggingface.co/docs/accelerate/basic_tutorials/migration">Migrating to 🤗 Accelerate easily</a></li>
962
+ <li><a href="https://huggingface.co/docs/accelerate/usage_guides/big_modeling">Big Model Inference tutorial</a></li>
963
+ <li><a href="https://huggingface.co/docs/accelerate/usage_guides/deepspeed">DeepSpeed and 🤗 Accelerate</a></li>
964
+ <li><a href="https://huggingface.co/docs/accelerate/usage_guides/fsdp">Fully Sharded Data Parallelism and 🤗 Accelerate</a></li>
965
+ <li><a href="https://huggingface.co/docs/accelerate/concept_guides/fsdp_and_deepspeed">FSDP vs DeepSpeed In-Depth</a></li>
966
+ </ul>
967
+ <div class="footer footer-default">
968
+
969
+ </div>
970
+ </section></section>
971
+ </div>
972
+ </div>
973
+
974
+ <script>window.backupDefine = window.define; window.define = undefined;</script>
975
+ <script src="llm_conf_files/libs/revealjs/dist/reveal.js"></script>
976
+ <!-- reveal.js plugins -->
977
+ <script src="llm_conf_files/libs/revealjs/plugin/quarto-line-highlight/line-highlight.js"></script>
978
+ <script src="llm_conf_files/libs/revealjs/plugin/pdf-export/pdfexport.js"></script>
979
+ <script src="llm_conf_files/libs/revealjs/plugin/reveal-menu/menu.js"></script>
980
+ <script src="llm_conf_files/libs/revealjs/plugin/reveal-menu/quarto-menu.js"></script>
981
+ <script src="llm_conf_files/libs/revealjs/plugin/quarto-support/support.js"></script>
982
+
983
+
984
+ <script src="llm_conf_files/libs/revealjs/plugin/notes/notes.js"></script>
985
+ <script src="llm_conf_files/libs/revealjs/plugin/search/search.js"></script>
986
+ <script src="llm_conf_files/libs/revealjs/plugin/zoom/zoom.js"></script>
987
+ <script src="llm_conf_files/libs/revealjs/plugin/math/math.js"></script>
988
+ <script>window.define = window.backupDefine; window.backupDefine = undefined;</script>
989
+
990
+ <script>
991
+
992
+ // Full list of configuration options available at:
993
+ // https://revealjs.com/config/
994
+ Reveal.initialize({
995
+ 'controlsAuto': true,
996
+ 'previewLinksAuto': false,
997
+ 'pdfSeparateFragments': false,
998
+ 'autoAnimateEasing': "ease",
999
+ 'autoAnimateDuration': 1,
1000
+ 'autoAnimateUnmatched': true,
1001
+ 'menu': {"side":"left","useTextContentForMissingTitles":true,"markers":false,"loadIcons":false,"custom":[{"title":"Tools","icon":"<i class=\"fas fa-gear\"></i>","content":"<ul class=\"slide-menu-items\">\n<li class=\"slide-tool-item active\" data-item=\"0\"><a href=\"#\" onclick=\"RevealMenuToolHandlers.fullscreen(event)\"><kbd>f</kbd> Fullscreen</a></li>\n<li class=\"slide-tool-item\" data-item=\"1\"><a href=\"#\" onclick=\"RevealMenuToolHandlers.speakerMode(event)\"><kbd>s</kbd> Speaker View</a></li>\n<li class=\"slide-tool-item\" data-item=\"2\"><a href=\"#\" onclick=\"RevealMenuToolHandlers.overview(event)\"><kbd>o</kbd> Slide Overview</a></li>\n<li class=\"slide-tool-item\" data-item=\"3\"><a href=\"#\" onclick=\"RevealMenuToolHandlers.togglePdfExport(event)\"><kbd>e</kbd> PDF Export Mode</a></li>\n<li class=\"slide-tool-item\" data-item=\"4\"><a href=\"#\" onclick=\"RevealMenuToolHandlers.keyboardHelp(event)\"><kbd>?</kbd> Keyboard Help</a></li>\n</ul>"}],"openButton":true},
1002
+ 'smaller': false,
1003
+
1004
+ // Display controls in the bottom right corner
1005
+ controls: false,
1006
+
1007
+ // Help the user learn the controls by providing hints, for example by
1008
+ // bouncing the down arrow when they first encounter a vertical slide
1009
+ controlsTutorial: false,
1010
+
1011
+ // Determines where controls appear, "edges" or "bottom-right"
1012
+ controlsLayout: 'edges',
1013
+
1014
+ // Visibility rule for backwards navigation arrows; "faded", "hidden"
1015
+ // or "visible"
1016
+ controlsBackArrows: 'faded',
1017
+
1018
+ // Display a presentation progress bar
1019
+ progress: true,
1020
+
1021
+ // Display the page number of the current slide
1022
+ slideNumber: false,
1023
+
1024
+ // 'all', 'print', or 'speaker'
1025
+ showSlideNumber: 'all',
1026
+
1027
+ // Add the current slide number to the URL hash so that reloading the
1028
+ // page/copying the URL will return you to the same slide
1029
+ hash: true,
1030
+
1031
+ // Start with 1 for the hash rather than 0
1032
+ hashOneBasedIndex: false,
1033
+
1034
+ // Flags if we should monitor the hash and change slides accordingly
1035
+ respondToHashChanges: true,
1036
+
1037
+ // Push each slide change to the browser history
1038
+ history: true,
1039
+
1040
+ // Enable keyboard shortcuts for navigation
1041
+ keyboard: true,
1042
+
1043
+ // Enable the slide overview mode
1044
+ overview: true,
1045
+
1046
+ // Disables the default reveal.js slide layout (scaling and centering)
1047
+ // so that you can use custom CSS layout
1048
+ disableLayout: false,
1049
+
1050
+ // Vertical centering of slides
1051
+ center: false,
1052
+
1053
+ // Enables touch navigation on devices with touch input
1054
+ touch: true,
1055
+
1056
+ // Loop the presentation
1057
+ loop: false,
1058
+
1059
+ // Change the presentation direction to be RTL
1060
+ rtl: false,
1061
+
1062
+ // see https://revealjs.com/vertical-slides/#navigation-mode
1063
+ navigationMode: 'linear',
1064
+
1065
+ // Randomizes the order of slides each time the presentation loads
1066
+ shuffle: false,
1067
+
1068
+ // Turns fragments on and off globally
1069
+ fragments: true,
1070
+
1071
+ // Flags whether to include the current fragment in the URL,
1072
+ // so that reloading brings you to the same fragment position
1073
+ fragmentInURL: false,
1074
+
1075
+ // Flags if the presentation is running in an embedded mode,
1076
+ // i.e. contained within a limited portion of the screen
1077
+ embedded: false,
1078
+
1079
+ // Flags if we should show a help overlay when the questionmark
1080
+ // key is pressed
1081
+ help: true,
1082
+
1083
+ // Flags if it should be possible to pause the presentation (blackout)
1084
+ pause: true,
1085
+
1086
+ // Flags if speaker notes should be visible to all viewers
1087
+ showNotes: false,
1088
+
1089
+ // Global override for autoplaying embedded media (null/true/false)
1090
+ autoPlayMedia: null,
1091
+
1092
+ // Global override for preloading lazy-loaded iframes (null/true/false)
1093
+ preloadIframes: null,
1094
+
1095
+ // Number of milliseconds between automatically proceeding to the
1096
+ // next slide, disabled when set to 0, this value can be overwritten
1097
+ // by using a data-autoslide attribute on your slides
1098
+ autoSlide: 0,
1099
+
1100
+ // Stop auto-sliding after user input
1101
+ autoSlideStoppable: true,
1102
+
1103
+ // Use this method for navigation when auto-sliding
1104
+ autoSlideMethod: null,
1105
+
1106
+ // Specify the average time in seconds that you think you will spend
1107
+ // presenting each slide. This is used to show a pacing timer in the
1108
+ // speaker view
1109
+ defaultTiming: null,
1110
+
1111
+ // Enable slide navigation via mouse wheel
1112
+ mouseWheel: false,
1113
+
1114
+ // The display mode that will be used to show slides
1115
+ display: 'block',
1116
+
1117
+ // Hide cursor if inactive
1118
+ hideInactiveCursor: true,
1119
+
1120
+ // Time before the cursor is hidden (in ms)
1121
+ hideCursorTime: 5000,
1122
+
1123
+ // Opens links in an iframe preview overlay
1124
+ previewLinks: false,
1125
+
1126
+ // Transition style (none/fade/slide/convex/concave/zoom)
1127
+ transition: 'none',
1128
+
1129
+ // Transition speed (default/fast/slow)
1130
+ transitionSpeed: 'default',
1131
+
1132
+ // Transition style for full page slide backgrounds
1133
+ // (none/fade/slide/convex/concave/zoom)
1134
+ backgroundTransition: 'none',
1135
+
1136
+ // Number of slides away from the current that are visible
1137
+ viewDistance: 3,
1138
+
1139
+ // Number of slides away from the current that are visible on mobile
1140
+ // devices. It is advisable to set this to a lower number than
1141
+ // viewDistance in order to save resources.
1142
+ mobileViewDistance: 2,
1143
+
1144
+ // The "normal" size of the presentation, aspect ratio will be preserved
1145
+ // when the presentation is scaled to fit different resolutions. Can be
1146
+ // specified using percentage units.
1147
+ width: 1050,
1148
+
1149
+ height: 700,
1150
+
1151
+ // Factor of the display size that should remain empty around the content
1152
+ margin: 0.1,
1153
+
1154
+ math: {
1155
+ mathjax: 'https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js',
1156
+ config: 'TeX-AMS_HTML-full',
1157
+ tex2jax: {
1158
+ inlineMath: [['\\(','\\)']],
1159
+ displayMath: [['\\[','\\]']],
1160
+ balanceBraces: true,
1161
+ processEscapes: false,
1162
+ processRefs: true,
1163
+ processEnvironments: true,
1164
+ preview: 'TeX',
1165
+ skipTags: ['script','noscript','style','textarea','pre','code'],
1166
+ ignoreClass: 'tex2jax_ignore',
1167
+ processClass: 'tex2jax_process'
1168
+ },
1169
+ },
1170
+
1171
+ // reveal.js plugins
1172
+ plugins: [QuartoLineHighlight, PdfExport, RevealMenu, QuartoSupport,
1173
+
1174
+ RevealMath,
1175
+ RevealNotes,
1176
+ RevealSearch,
1177
+ RevealZoom
1178
+ ]
1179
+ });
1180
+ </script>
1181
+ <script id="quarto-html-after-body" type="application/javascript">
1182
+ window.document.addEventListener("DOMContentLoaded", function (event) {
1183
+ const toggleBodyColorMode = (bsSheetEl) => {
1184
+ const mode = bsSheetEl.getAttribute("data-mode");
1185
+ const bodyEl = window.document.querySelector("body");
1186
+ if (mode === "dark") {
1187
+ bodyEl.classList.add("quarto-dark");
1188
+ bodyEl.classList.remove("quarto-light");
1189
+ } else {
1190
+ bodyEl.classList.add("quarto-light");
1191
+ bodyEl.classList.remove("quarto-dark");
1192
+ }
1193
+ }
1194
+ const toggleBodyColorPrimary = () => {
1195
+ const bsSheetEl = window.document.querySelector("link#quarto-bootstrap");
1196
+ if (bsSheetEl) {
1197
+ toggleBodyColorMode(bsSheetEl);
1198
+ }
1199
+ }
1200
+ toggleBodyColorPrimary();
1201
+ const tabsets = window.document.querySelectorAll(".panel-tabset-tabby")
1202
+ tabsets.forEach(function(tabset) {
1203
+ const tabby = new Tabby('#' + tabset.id);
1204
+ });
1205
+ const isCodeAnnotation = (el) => {
1206
+ for (const clz of el.classList) {
1207
+ if (clz.startsWith('code-annotation-')) {
1208
+ return true;
1209
+ }
1210
+ }
1211
+ return false;
1212
+ }
1213
+ const clipboard = new window.ClipboardJS('.code-copy-button', {
1214
+ text: function(trigger) {
1215
+ const codeEl = trigger.previousElementSibling.cloneNode(true);
1216
+ for (const childEl of codeEl.children) {
1217
+ if (isCodeAnnotation(childEl)) {
1218
+ childEl.remove();
1219
+ }
1220
+ }
1221
+ return codeEl.innerText;
1222
+ }
1223
+ });
1224
+ clipboard.on('success', function(e) {
1225
+ // button target
1226
+ const button = e.trigger;
1227
+ // don't keep focus
1228
+ button.blur();
1229
+ // flash "checked"
1230
+ button.classList.add('code-copy-button-checked');
1231
+ var currentTitle = button.getAttribute("title");
1232
+ button.setAttribute("title", "Copied!");
1233
+ let tooltip;
1234
+ if (window.bootstrap) {
1235
+ button.setAttribute("data-bs-toggle", "tooltip");
1236
+ button.setAttribute("data-bs-placement", "left");
1237
+ button.setAttribute("data-bs-title", "Copied!");
1238
+ tooltip = new bootstrap.Tooltip(button,
1239
+ { trigger: "manual",
1240
+ customClass: "code-copy-button-tooltip",
1241
+ offset: [0, -8]});
1242
+ tooltip.show();
1243
+ }
1244
+ setTimeout(function() {
1245
+ if (tooltip) {
1246
+ tooltip.hide();
1247
+ button.removeAttribute("data-bs-title");
1248
+ button.removeAttribute("data-bs-toggle");
1249
+ button.removeAttribute("data-bs-placement");
1250
+ }
1251
+ button.setAttribute("title", currentTitle);
1252
+ button.classList.remove('code-copy-button-checked');
1253
+ }, 1000);
1254
+ // clear code selection
1255
+ e.clearSelection();
1256
+ });
1257
+ function tippyHover(el, contentFn, onTriggerFn, onUntriggerFn) {
1258
+ const config = {
1259
+ allowHTML: true,
1260
+ maxWidth: 500,
1261
+ delay: 100,
1262
+ arrow: false,
1263
+ appendTo: function(el) {
1264
+ return el.closest('section.slide') || el.parentElement;
1265
+ },
1266
+ interactive: true,
1267
+ interactiveBorder: 10,
1268
+ theme: 'light-border',
1269
+ placement: 'bottom-start',
1270
+ };
1271
+ if (contentFn) {
1272
+ config.content = contentFn;
1273
+ }
1274
+ if (onTriggerFn) {
1275
+ config.onTrigger = onTriggerFn;
1276
+ }
1277
+ if (onUntriggerFn) {
1278
+ config.onUntrigger = onUntriggerFn;
1279
+ }
1280
+ config['offset'] = [0,0];
1281
+ config['maxWidth'] = 700;
1282
+ window.tippy(el, config);
1283
+ }
1284
+ const noterefs = window.document.querySelectorAll('a[role="doc-noteref"]');
1285
+ for (var i=0; i<noterefs.length; i++) {
1286
+ const ref = noterefs[i];
1287
+ tippyHover(ref, function() {
1288
+ // use id or data attribute instead here
1289
+ let href = ref.getAttribute('data-footnote-href') || ref.getAttribute('href');
1290
+ try { href = new URL(href).hash; } catch {}
1291
+ const id = href.replace(/^#\/?/, "");
1292
+ const note = window.document.getElementById(id);
1293
+ return note.innerHTML;
1294
+ });
1295
+ }
1296
+ const findCites = (el) => {
1297
+ const parentEl = el.parentElement;
1298
+ if (parentEl) {
1299
+ const cites = parentEl.dataset.cites;
1300
+ if (cites) {
1301
+ return {
1302
+ el,
1303
+ cites: cites.split(' ')
1304
+ };
1305
+ } else {
1306
+ return findCites(el.parentElement)
1307
+ }
1308
+ } else {
1309
+ return undefined;
1310
+ }
1311
+ };
1312
+ var bibliorefs = window.document.querySelectorAll('a[role="doc-biblioref"]');
1313
+ for (var i=0; i<bibliorefs.length; i++) {
1314
+ const ref = bibliorefs[i];
1315
+ const citeInfo = findCites(ref);
1316
+ if (citeInfo) {
1317
+ tippyHover(citeInfo.el, function() {
1318
+ var popup = window.document.createElement('div');
1319
+ citeInfo.cites.forEach(function(cite) {
1320
+ var citeDiv = window.document.createElement('div');
1321
+ citeDiv.classList.add('hanging-indent');
1322
+ citeDiv.classList.add('csl-entry');
1323
+ var biblioDiv = window.document.getElementById('ref-' + cite);
1324
+ if (biblioDiv) {
1325
+ citeDiv.innerHTML = biblioDiv.innerHTML;
1326
+ }
1327
+ popup.appendChild(citeDiv);
1328
+ });
1329
+ return popup.innerHTML;
1330
+ });
1331
+ }
1332
+ }
1333
+ });
1334
+ </script>
1335
+
1336
+
1337
+ </body></html>
llm_conf_files/libs/clipboard/clipboard.min.js ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * clipboard.js v2.0.11
3
+ * https://clipboardjs.com/
4
+ *
5
+ * Licensed MIT © Zeno Rocha
6
+ */
7
+ !function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.ClipboardJS=e():t.ClipboardJS=e()}(this,function(){return n={686:function(t,e,n){"use strict";n.d(e,{default:function(){return b}});var e=n(279),i=n.n(e),e=n(370),u=n.n(e),e=n(817),r=n.n(e);function c(t){try{return document.execCommand(t)}catch(t){return}}var a=function(t){t=r()(t);return c("cut"),t};function o(t,e){var n,o,t=(n=t,o="rtl"===document.documentElement.getAttribute("dir"),(t=document.createElement("textarea")).style.fontSize="12pt",t.style.border="0",t.style.padding="0",t.style.margin="0",t.style.position="absolute",t.style[o?"right":"left"]="-9999px",o=window.pageYOffset||document.documentElement.scrollTop,t.style.top="".concat(o,"px"),t.setAttribute("readonly",""),t.value=n,t);return e.container.appendChild(t),e=r()(t),c("copy"),t.remove(),e}var f=function(t){var e=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{container:document.body},n="";return"string"==typeof t?n=o(t,e):t instanceof HTMLInputElement&&!["text","search","url","tel","password"].includes(null==t?void 0:t.type)?n=o(t.value,e):(n=r()(t),c("copy")),n};function l(t){return(l="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var s=function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{},e=t.action,n=void 0===e?"copy":e,o=t.container,e=t.target,t=t.text;if("copy"!==n&&"cut"!==n)throw new Error('Invalid "action" value, use either "copy" or "cut"');if(void 0!==e){if(!e||"object"!==l(e)||1!==e.nodeType)throw new Error('Invalid "target" value, use a valid Element');if("copy"===n&&e.hasAttribute("disabled"))throw new Error('Invalid "target" attribute. Please use "readonly" instead of "disabled" attribute');if("cut"===n&&(e.hasAttribute("readonly")||e.hasAttribute("disabled")))throw new Error('Invalid "target" attribute. You can\'t cut text from elements with "readonly" or "disabled" attributes')}return t?f(t,{container:o}):e?"cut"===n?a(e):f(e,{container:o}):void 0};function p(t){return(p="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function d(t,e){for(var n=0;n<e.length;n++){var o=e[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}function y(t,e){return(y=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function h(n){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(t){return!1}}();return function(){var t,e=v(n);return t=o?(t=v(this).constructor,Reflect.construct(e,arguments,t)):e.apply(this,arguments),e=this,!(t=t)||"object"!==p(t)&&"function"!=typeof t?function(t){if(void 0!==t)return t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}}function v(t){return(v=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function m(t,e){t="data-clipboard-".concat(t);if(e.hasAttribute(t))return e.getAttribute(t)}var b=function(){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&y(t,e)}(r,i());var t,e,n,o=h(r);function r(t,e){var n;return function(t){if(!(t instanceof r))throw new TypeError("Cannot call a class as a function")}(this),(n=o.call(this)).resolveOptions(e),n.listenClick(t),n}return t=r,n=[{key:"copy",value:function(t){var e=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{container:document.body};return f(t,e)}},{key:"cut",value:function(t){return a(t)}},{key:"isSupported",value:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:["copy","cut"],t="string"==typeof t?[t]:t,e=!!document.queryCommandSupported;return t.forEach(function(t){e=e&&!!document.queryCommandSupported(t)}),e}}],(e=[{key:"resolveOptions",value:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{};this.action="function"==typeof t.action?t.action:this.defaultAction,this.target="function"==typeof t.target?t.target:this.defaultTarget,this.text="function"==typeof t.text?t.text:this.defaultText,this.container="object"===p(t.container)?t.container:document.body}},{key:"listenClick",value:function(t){var e=this;this.listener=u()(t,"click",function(t){return e.onClick(t)})}},{key:"onClick",value:function(t){var e=t.delegateTarget||t.currentTarget,n=this.action(e)||"copy",t=s({action:n,container:this.container,target:this.target(e),text:this.text(e)});this.emit(t?"success":"error",{action:n,text:t,trigger:e,clearSelection:function(){e&&e.focus(),window.getSelection().removeAllRanges()}})}},{key:"defaultAction",value:function(t){return m("action",t)}},{key:"defaultTarget",value:function(t){t=m("target",t);if(t)return document.querySelector(t)}},{key:"defaultText",value:function(t){return m("text",t)}},{key:"destroy",value:function(){this.listener.destroy()}}])&&d(t.prototype,e),n&&d(t,n),r}()},828:function(t){var e;"undefined"==typeof Element||Element.prototype.matches||((e=Element.prototype).matches=e.matchesSelector||e.mozMatchesSelector||e.msMatchesSelector||e.oMatchesSelector||e.webkitMatchesSelector),t.exports=function(t,e){for(;t&&9!==t.nodeType;){if("function"==typeof t.matches&&t.matches(e))return t;t=t.parentNode}}},438:function(t,e,n){var u=n(828);function i(t,e,n,o,r){var i=function(e,n,t,o){return function(t){t.delegateTarget=u(t.target,n),t.delegateTarget&&o.call(e,t)}}.apply(this,arguments);return t.addEventListener(n,i,r),{destroy:function(){t.removeEventListener(n,i,r)}}}t.exports=function(t,e,n,o,r){return"function"==typeof t.addEventListener?i.apply(null,arguments):"function"==typeof n?i.bind(null,document).apply(null,arguments):("string"==typeof t&&(t=document.querySelectorAll(t)),Array.prototype.map.call(t,function(t){return i(t,e,n,o,r)}))}},879:function(t,n){n.node=function(t){return void 0!==t&&t instanceof HTMLElement&&1===t.nodeType},n.nodeList=function(t){var e=Object.prototype.toString.call(t);return void 0!==t&&("[object NodeList]"===e||"[object HTMLCollection]"===e)&&"length"in t&&(0===t.length||n.node(t[0]))},n.string=function(t){return"string"==typeof t||t instanceof String},n.fn=function(t){return"[object Function]"===Object.prototype.toString.call(t)}},370:function(t,e,n){var f=n(879),l=n(438);t.exports=function(t,e,n){if(!t&&!e&&!n)throw new Error("Missing required arguments");if(!f.string(e))throw new TypeError("Second argument must be a String");if(!f.fn(n))throw new TypeError("Third argument must be a Function");if(f.node(t))return c=e,a=n,(u=t).addEventListener(c,a),{destroy:function(){u.removeEventListener(c,a)}};if(f.nodeList(t))return o=t,r=e,i=n,Array.prototype.forEach.call(o,function(t){t.addEventListener(r,i)}),{destroy:function(){Array.prototype.forEach.call(o,function(t){t.removeEventListener(r,i)})}};if(f.string(t))return t=t,e=e,n=n,l(document.body,t,e,n);throw new TypeError("First argument must be a String, HTMLElement, HTMLCollection, or NodeList");var o,r,i,u,c,a}},817:function(t){t.exports=function(t){var e,n="SELECT"===t.nodeName?(t.focus(),t.value):"INPUT"===t.nodeName||"TEXTAREA"===t.nodeName?((e=t.hasAttribute("readonly"))||t.setAttribute("readonly",""),t.select(),t.setSelectionRange(0,t.value.length),e||t.removeAttribute("readonly"),t.value):(t.hasAttribute("contenteditable")&&t.focus(),n=window.getSelection(),(e=document.createRange()).selectNodeContents(t),n.removeAllRanges(),n.addRange(e),n.toString());return n}},279:function(t){function e(){}e.prototype={on:function(t,e,n){var o=this.e||(this.e={});return(o[t]||(o[t]=[])).push({fn:e,ctx:n}),this},once:function(t,e,n){var o=this;function r(){o.off(t,r),e.apply(n,arguments)}return r._=e,this.on(t,r,n)},emit:function(t){for(var e=[].slice.call(arguments,1),n=((this.e||(this.e={}))[t]||[]).slice(),o=0,r=n.length;o<r;o++)n[o].fn.apply(n[o].ctx,e);return this},off:function(t,e){var n=this.e||(this.e={}),o=n[t],r=[];if(o&&e)for(var i=0,u=o.length;i<u;i++)o[i].fn!==e&&o[i].fn._!==e&&r.push(o[i]);return r.length?n[t]=r:delete n[t],this}},t.exports=e,t.exports.TinyEmitter=e}},r={},o.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return o.d(e,{a:e}),e},o.d=function(t,e){for(var n in e)o.o(e,n)&&!o.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},o.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},o(686).default;function o(t){if(r[t])return r[t].exports;var e=r[t]={exports:{}};return n[t](e,e.exports,o),e.exports}var n,r});
llm_conf_files/libs/quarto-diagram/mermaid-init.js ADDED
@@ -0,0 +1,275 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ // mermaid-init.js
2
+ // Initializes the quarto-mermaid JS runtime
3
+ //
4
+ // Copyright (C) 2022 Posit Software, PBC
5
+
6
+ /**
7
+ * String.prototype.replaceAll() polyfill
8
+ * https://gomakethings.com/how-to-replace-a-section-of-a-string-with-another-one-with-vanilla-js/
9
+ * @author Chris Ferdinandi
10
+ * @license MIT
11
+ */
12
+ if (!String.prototype.replaceAll) {
13
+ String.prototype.replaceAll = function (str, newStr) {
14
+ // If a regex pattern
15
+ if (
16
+ Object.prototype.toString.call(str).toLowerCase() === "[object regexp]"
17
+ ) {
18
+ return this.replace(str, newStr);
19
+ }
20
+
21
+ // If a string
22
+ return this.replace(new RegExp(str, "g"), newStr);
23
+ };
24
+ }
25
+
26
+ const mermaidOpts = {
27
+ startOnLoad: false,
28
+ };
29
+ // this CSS is adapted from
30
+ // mkdocs-material
31
+ // Copyright (c) 2016-2022 Martin Donath <martin.donath@squidfunk.com>
32
+
33
+ const defaultCSS =
34
+ '.label text {fill: var(--mermaid-fg-color);}.node circle, .node ellipse, .node path, .node polygon, .node rect {fill: var(--mermaid-node-bg-color);stroke: var(--mermaid-node-fg-color);}marker {fill: var(--mermaid-edge-color) !important;}.edgeLabel .label rect {fill: #0000;}.label {color: var(--mermaid-label-fg-color);font-family: var(--mermaid-font-family);}.label foreignObject {line-height: normal;overflow: visible;}.label div .edgeLabel {color: var(--mermaid-label-fg-color);}.edgeLabel, .edgeLabel rect, .label div .edgeLabel {background-color: var(--mermaid-label-bg-color);}.edgeLabel, .edgeLabel rect {fill: var(--mermaid-label-bg-color);color: var(--mermaid-edge-color);}.edgePath .path, .flowchart-link {stroke: var(--mermaid-edge-color);}.edgePath .arrowheadPath {fill: var(--mermaid-edge-color);stroke: none;}.cluster rect {fill: var(--mermaid-fg-color--lightest);stroke: var(--mermaid-fg-color--lighter);}.cluster span {color: var(--mermaid-label-fg-color);font-family: var(--mermaid-font-family);}defs #flowchart-circleEnd, defs #flowchart-circleStart, defs #flowchart-crossEnd, defs #flowchart-crossStart, defs #flowchart-pointEnd, defs #flowchart-pointStart {stroke: none;}g.classGroup line, g.classGroup rect {fill: var(--mermaid-node-bg-color);stroke: var(--mermaid-node-fg-color);}g.classGroup text {fill: var(--mermaid-label-fg-color);font-family: var(--mermaid-font-family);}.classLabel .box {fill: var(--mermaid-label-bg-color);background-color: var(--mermaid-label-bg-color);opacity: 1;}.classLabel .label {fill: var(--mermaid-label-fg-color);font-family: var(--mermaid-font-family);}.node .divider {stroke: var(--mermaid-node-fg-color);}.relation {stroke: var(--mermaid-edge-color);}.cardinality {fill: var(--mermaid-label-fg-color);font-family: var(--mermaid-font-family);}.cardinality text {fill: inherit !important;}defs #classDiagram-compositionEnd, defs #classDiagram-compositionStart, defs #classDiagram-dependencyEnd, defs #classDiagram-dependencyStart, defs #classDiagram-extensionEnd, defs #classDiagram-extensionStart {fill: var(--mermaid-edge-color) !important;stroke: var(--mermaid-edge-color) !important;}defs #classDiagram-aggregationEnd, defs #classDiagram-aggregationStart {fill: var(--mermaid-label-bg-color) !important;stroke: var(--mermaid-edge-color) !important;}g.stateGroup rect {fill: var(--mermaid-node-bg-color);stroke: var(--mermaid-node-fg-color);}g.stateGroup .state-title {fill: var(--mermaid-label-fg-color) !important;font-family: var(--mermaid-font-family);}g.stateGroup .composit {fill: var(--mermaid-label-bg-color);}.nodeLabel {color: var(--mermaid-label-fg-color);font-family: var(--mermaid-font-family);}.node circle.state-end, .node circle.state-start, .start-state {fill: var(--mermaid-edge-color);stroke: none;}.end-state-inner, .end-state-outer {fill: var(--mermaid-edge-color);}.end-state-inner, .node circle.state-end {stroke: var(--mermaid-label-bg-color);}.transition {stroke: var(--mermaid-edge-color);}[id^="state-fork"] rect, [id^="state-join"] rect {fill: var(--mermaid-edge-color) !important;stroke: none !important;}.statediagram-cluster.statediagram-cluster .inner {fill: var(--mermaid-bg-color);}.statediagram-cluster rect {fill: var(--mermaid-node-bg-color);stroke: var(--mermaid-node-fg-color);}.statediagram-state rect.divider {fill: var(--mermaid-fg-color--lightest);stroke: var(--mermaid-fg-color--lighter);}defs #statediagram-barbEnd {stroke: var(--mermaid-edge-color);}.entityBox {fill: var(--mermaid-label-bg-color);stroke: var(--mermaid-node-fg-color);}.entityLabel {fill: var(--mermaid-label-fg-color);font-family: var(--mermaid-font-family);}.relationshipLabelBox {fill: var(--mermaid-label-bg-color);fill-opacity: 1;background-color: var(--mermaid-label-bg-color);opacity: 1;}.relationshipLabel {fill: var(--mermaid-label-fg-color);}.relationshipLine {stroke: var(--mermaid-edge-color);}defs #ONE_OR_MORE_END *, defs #ONE_OR_MORE_START *, defs #ONLY_ONE_END *, defs #ONLY_ONE_START *, defs #ZERO_OR_MORE_END *, defs #ZERO_OR_MORE_START *, defs #ZERO_OR_ONE_END *, defs #ZERO_OR_ONE_START * {stroke: var(--mermaid-edge-color) !important;}.actor, defs #ZERO_OR_MORE_END circle, defs #ZERO_OR_MORE_START circle {fill: var(--mermaid-label-bg-color);}.actor {stroke: var(--mermaid-node-fg-color);}text.actor > tspan {fill: var(--mermaid-label-fg-color);font-family: var(--mermaid-font-family);}line {stroke: var(--mermaid-fg-color--lighter);}.messageLine0, .messageLine1 {stroke: var(--mermaid-edge-color);}.loopText > tspan, .messageText, .noteText > tspan {fill: var(--mermaid-edge-color);stroke: none;font-family: var(--mermaid-font-family) !important;}.noteText > tspan {fill: #000;}#arrowhead path {fill: var(--mermaid-edge-color);stroke: none;}.loopLine {stroke: var(--mermaid-node-fg-color);}.labelBox, .loopLine {fill: var(--mermaid-node-bg-color);}.labelBox {stroke: none;}.labelText, .labelText > span {fill: var(--mermaid-node-fg-color);font-family: var(--mermaid-font-family);}';
35
+
36
+ const mermaidThemeEl = document.querySelector('meta[name="mermaid-theme"]');
37
+ if (mermaidThemeEl) {
38
+ mermaidOpts.theme = mermaidThemeEl.content;
39
+ } else {
40
+ mermaidOpts.themeCSS = defaultCSS;
41
+ }
42
+
43
+ mermaid.initialize(mermaidOpts);
44
+
45
+ const _quartoMermaid = {
46
+ // NB: there's effectively a copy of this function
47
+ // in `core/svg.ts`.
48
+ // if you change something here, you must keep it consistent there as well.
49
+ setSvgSize(svg) {
50
+ const { widthInPoints, heightInPoints, explicitHeight, explicitWidth } =
51
+ this.resolveSize(svg);
52
+
53
+ if (explicitWidth && explicitHeight) {
54
+ svg.setAttribute("width", widthInPoints);
55
+ svg.setAttribute("height", heightInPoints);
56
+ svg.style.maxWidth = null; // remove mermaid's default max-width
57
+ } else {
58
+ if (explicitWidth) {
59
+ svg.style.maxWidth = `${widthInPoints}px`;
60
+ }
61
+ if (explicitHeight) {
62
+ svg.style.maxHeight = `${heightInPoints}px`;
63
+ }
64
+ }
65
+ },
66
+
67
+ // NB: there's effectively a copy of this function
68
+ // in `core/svg.ts`.
69
+ // if you change something here, you must keep it consistent there as well.
70
+ makeResponsive(svg) {
71
+ const width = svg.getAttribute("width");
72
+ if (width === null) {
73
+ throw new Error("Couldn't find SVG width");
74
+ }
75
+ const numWidth = Number(width.slice(0, -2));
76
+
77
+ if (numWidth > 650) {
78
+ changed = true;
79
+ svg.setAttribute("width", "100%");
80
+ svg.removeAttribute("height");
81
+ }
82
+ },
83
+
84
+ // NB: there's effectively a copy of this function
85
+ // in `core/svg.ts`.
86
+ // if you change something here, you must keep it consistent there as well.
87
+ fixupAlignment(svg, align) {
88
+ let style = svg.getAttribute("style") || "";
89
+
90
+ switch (align) {
91
+ case "left":
92
+ style = `${style}; display: block; margin: auto auto auto 0`;
93
+ break;
94
+ case "right":
95
+ style = `${style}; display: block; margin: auto 0 auto auto`;
96
+ break;
97
+ case "center":
98
+ style = `${style}; display: block; margin: auto auto auto auto`;
99
+ break;
100
+ }
101
+ svg.setAttribute("style", style);
102
+ },
103
+
104
+ resolveOptions(svgEl) {
105
+ return svgEl.parentElement.parentElement.parentElement.parentElement
106
+ .dataset;
107
+ },
108
+
109
+ // NB: there's effectively a copy of this function
110
+ // in our mermaid runtime in `core/svg.ts`.
111
+ // if you change something here, you must keep it consistent there as well.
112
+ resolveSize(svgEl) {
113
+ const inInches = (size) => {
114
+ if (size.endsWith("in")) {
115
+ return Number(size.slice(0, -2));
116
+ }
117
+ if (size.endsWith("pt") || size.endsWith("px")) {
118
+ // assume 96 dpi for now
119
+ return Number(size.slice(0, -2)) / 96;
120
+ }
121
+ return Number(size);
122
+ };
123
+
124
+ // these are figWidth and figHeight on purpose,
125
+ // because data attributes are translated to camelCase by the DOM API
126
+ const kFigWidth = "figWidth",
127
+ kFigHeight = "figHeight";
128
+ const options = this.resolveOptions(svgEl);
129
+ let width = svgEl.getAttribute("width");
130
+ let height = svgEl.getAttribute("height");
131
+ const getViewBox = () => {
132
+ const vb = svgEl.attributes.getNamedItem("viewBox").value; // do it the roundabout way so that viewBox isn't dropped by deno_dom and text/html
133
+ if (!vb) return undefined;
134
+ const lst = vb.trim().split(" ").map(Number);
135
+ if (lst.length !== 4) return undefined;
136
+ if (lst.some(isNaN)) return undefined;
137
+ return lst;
138
+ };
139
+ if (!width || !height) {
140
+ // attempt to resolve figure dimensions via viewBox
141
+ const viewBox = getViewBox();
142
+ if (viewBox !== undefined) {
143
+ const [_mx, _my, vbWidth, vbHeight] = viewBox;
144
+ width = `${vbWidth}px`;
145
+ height = `${vbHeight}px`;
146
+ } else {
147
+ throw new Error(
148
+ "Mermaid generated an SVG without a viewbox attribute. Without knowing the diagram dimensions, quarto cannot convert it to a PNG"
149
+ );
150
+ }
151
+ }
152
+
153
+ let svgWidthInInches, svgHeightInInches;
154
+
155
+ if (
156
+ (width.slice(0, -2) === "pt" && height.slice(0, -2) === "pt") ||
157
+ (width.slice(0, -2) === "px" && height.slice(0, -2) === "px") ||
158
+ (!isNaN(Number(width)) && !isNaN(Number(height)))
159
+ ) {
160
+ // we assume 96 dpi which is generally what seems to be used.
161
+ svgWidthInInches = Number(width.slice(0, -2)) / 96;
162
+ svgHeightInInches = Number(height.slice(0, -2)) / 96;
163
+ }
164
+ const viewBox = getViewBox();
165
+ if (viewBox !== undefined) {
166
+ // assume width and height come from viewbox.
167
+ const [_mx, _my, vbWidth, vbHeight] = viewBox;
168
+ svgWidthInInches = vbWidth / 96;
169
+ svgHeightInInches = vbHeight / 96;
170
+ } else {
171
+ throw new Error(
172
+ "Internal Error: Couldn't resolve width and height of SVG"
173
+ );
174
+ }
175
+ const svgWidthOverHeight = svgWidthInInches / svgHeightInInches;
176
+ let widthInInches, heightInInches;
177
+
178
+ if (options[kFigWidth] && options[kFigHeight]) {
179
+ // both were prescribed, so just go with them
180
+ widthInInches = inInches(String(options[kFigWidth]));
181
+ heightInInches = inInches(String(options[kFigHeight]));
182
+ } else if (options[kFigWidth]) {
183
+ // we were only given width, use that and adjust height based on aspect ratio;
184
+ widthInInches = inInches(String(options[kFigWidth]));
185
+ heightInInches = widthInInches / svgWidthOverHeight;
186
+ } else if (options[kFigHeight]) {
187
+ // we were only given height, use that and adjust width based on aspect ratio;
188
+ heightInInches = inInches(String(options[kFigHeight]));
189
+ widthInInches = heightInInches * svgWidthOverHeight;
190
+ } else {
191
+ // we were not given either, use svg's prescribed height
192
+ heightInInches = svgHeightInInches;
193
+ widthInInches = svgWidthInInches;
194
+ }
195
+
196
+ return {
197
+ widthInInches,
198
+ heightInInches,
199
+ widthInPoints: Math.round(widthInInches * 96),
200
+ heightInPoints: Math.round(heightInInches * 96),
201
+ explicitWidth: options?.[kFigWidth] !== undefined,
202
+ explicitHeight: options?.[kFigHeight] !== undefined,
203
+ };
204
+ },
205
+
206
+ postProcess(svg) {
207
+ const options = this.resolveOptions(svg);
208
+ if (
209
+ options.responsive &&
210
+ options["figWidth"] === undefined &&
211
+ options["figHeight"] === undefined
212
+ ) {
213
+ this.makeResponsive(svg);
214
+ } else {
215
+ this.setSvgSize(svg);
216
+ }
217
+ if (options["reveal"]) {
218
+ this.fixupAlignment(svg, options["figAlign"] || "center");
219
+ }
220
+
221
+ // forward align attributes to the correct parent dif
222
+ // so that the svg figure is aligned correctly
223
+ const div = svg.parentElement.parentElement.parentElement;
224
+ const align = div.parentElement.parentElement.dataset.layoutAlign;
225
+ if (align) {
226
+ div.classList.remove("quarto-figure-left");
227
+ div.classList.remove("quarto-figure-center");
228
+ div.classList.remove("quarto-figure-right");
229
+ div.classList.add(`quarto-figure-${align}`);
230
+ }
231
+ },
232
+ };
233
+
234
+ // deno-lint-ignore no-window-prefix
235
+ window.addEventListener(
236
+ "load",
237
+ async function () {
238
+ let i = 0;
239
+ // we need pre because of whitespace preservation
240
+ for (const el of Array.from(document.querySelectorAll("pre.mermaid-js"))) {
241
+ // &nbsp; doesn't appear to be treated as whitespace by mermaid
242
+ // so we replace it with a space.
243
+ const text = el.innerText.replaceAll("&nbsp;", " ");
244
+ const { svg: output } = await mermaid.mermaidAPI.render(
245
+ `mermaid-${++i}`,
246
+ text,
247
+ el
248
+ );
249
+ el.innerHTML = output;
250
+ if (el.dataset.label) {
251
+ // patch mermaid's emitted style
252
+ const svg = el.firstChild;
253
+ const style = svg.querySelector("style");
254
+ style.innerHTML = style.innerHTML.replaceAll(
255
+ `#${svg.id}`,
256
+ `#${el.dataset.label}`
257
+ );
258
+ svg.id = el.dataset.label;
259
+ delete el.dataset.label;
260
+ }
261
+
262
+ const svg = el.querySelector("svg");
263
+ const parent = el.parentElement;
264
+ parent.removeChild(el);
265
+ parent.appendChild(svg);
266
+ svg.classList.add("mermaid-js");
267
+ }
268
+ for (const svgEl of Array.from(
269
+ document.querySelectorAll("svg.mermaid-js")
270
+ )) {
271
+ _quartoMermaid.postProcess(svgEl);
272
+ }
273
+ },
274
+ false
275
+ );
llm_conf_files/libs/quarto-diagram/mermaid.css ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .mermaidTooltip {
2
+ position: absolute;
3
+ text-align: center;
4
+ max-width: 200px;
5
+ padding: 2px;
6
+ font-family: "trebuchet ms", verdana, arial;
7
+ font-size: 12px;
8
+ background: #ffffde;
9
+ border: 1px solid #aaaa33;
10
+ border-radius: 2px;
11
+ pointer-events: none;
12
+ z-index: 1000;
13
+ }
llm_conf_files/libs/quarto-diagram/mermaid.min.js ADDED
The diff for this file is too large to render. See raw diff
 
llm_conf_files/libs/quarto-html/light-border.css ADDED
@@ -0,0 +1 @@
 
 
1
+ .tippy-box[data-theme~=light-border]{background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,8,16,.15);color:#333;box-shadow:0 4px 14px -2px rgba(0,8,16,.08)}.tippy-box[data-theme~=light-border]>.tippy-backdrop{background-color:#fff}.tippy-box[data-theme~=light-border]>.tippy-arrow:after,.tippy-box[data-theme~=light-border]>.tippy-svg-arrow:after{content:"";position:absolute;z-index:-1}.tippy-box[data-theme~=light-border]>.tippy-arrow:after{border-color:transparent;border-style:solid}.tippy-box[data-theme~=light-border][data-placement^=top]>.tippy-arrow:before{border-top-color:#fff}.tippy-box[data-theme~=light-border][data-placement^=top]>.tippy-arrow:after{border-top-color:rgba(0,8,16,.2);border-width:7px 7px 0;top:17px;left:1px}.tippy-box[data-theme~=light-border][data-placement^=top]>.tippy-svg-arrow>svg{top:16px}.tippy-box[data-theme~=light-border][data-placement^=top]>.tippy-svg-arrow:after{top:17px}.tippy-box[data-theme~=light-border][data-placement^=bottom]>.tippy-arrow:before{border-bottom-color:#fff;bottom:16px}.tippy-box[data-theme~=light-border][data-placement^=bottom]>.tippy-arrow:after{border-bottom-color:rgba(0,8,16,.2);border-width:0 7px 7px;bottom:17px;left:1px}.tippy-box[data-theme~=light-border][data-placement^=bottom]>.tippy-svg-arrow>svg{bottom:16px}.tippy-box[data-theme~=light-border][data-placement^=bottom]>.tippy-svg-arrow:after{bottom:17px}.tippy-box[data-theme~=light-border][data-placement^=left]>.tippy-arrow:before{border-left-color:#fff}.tippy-box[data-theme~=light-border][data-placement^=left]>.tippy-arrow:after{border-left-color:rgba(0,8,16,.2);border-width:7px 0 7px 7px;left:17px;top:1px}.tippy-box[data-theme~=light-border][data-placement^=left]>.tippy-svg-arrow>svg{left:11px}.tippy-box[data-theme~=light-border][data-placement^=left]>.tippy-svg-arrow:after{left:12px}.tippy-box[data-theme~=light-border][data-placement^=right]>.tippy-arrow:before{border-right-color:#fff;right:16px}.tippy-box[data-theme~=light-border][data-placement^=right]>.tippy-arrow:after{border-width:7px 7px 7px 0;right:17px;top:1px;border-right-color:rgba(0,8,16,.2)}.tippy-box[data-theme~=light-border][data-placement^=right]>.tippy-svg-arrow>svg{right:11px}.tippy-box[data-theme~=light-border][data-placement^=right]>.tippy-svg-arrow:after{right:12px}.tippy-box[data-theme~=light-border]>.tippy-svg-arrow{fill:#fff}.tippy-box[data-theme~=light-border]>.tippy-svg-arrow:after{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMCA2czEuNzk2LS4wMTMgNC42Ny0zLjYxNUM1Ljg1MS45IDYuOTMuMDA2IDggMGMxLjA3LS4wMDYgMi4xNDguODg3IDMuMzQzIDIuMzg1QzE0LjIzMyA2LjAwNSAxNiA2IDE2IDZIMHoiIGZpbGw9InJnYmEoMCwgOCwgMTYsIDAuMikiLz48L3N2Zz4=);background-size:16px 6px;width:16px;height:6px}
llm_conf_files/libs/quarto-html/popper.min.js ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ /**
2
+ * @popperjs/core v2.11.7 - MIT License
3
+ */
4
+
5
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).Popper={})}(this,(function(e){"use strict";function t(e){if(null==e)return window;if("[object Window]"!==e.toString()){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function n(e){return e instanceof t(e).Element||e instanceof Element}function r(e){return e instanceof t(e).HTMLElement||e instanceof HTMLElement}function o(e){return"undefined"!=typeof ShadowRoot&&(e instanceof t(e).ShadowRoot||e instanceof ShadowRoot)}var i=Math.max,a=Math.min,s=Math.round;function f(){var e=navigator.userAgentData;return null!=e&&e.brands&&Array.isArray(e.brands)?e.brands.map((function(e){return e.brand+"/"+e.version})).join(" "):navigator.userAgent}function c(){return!/^((?!chrome|android).)*safari/i.test(f())}function p(e,o,i){void 0===o&&(o=!1),void 0===i&&(i=!1);var a=e.getBoundingClientRect(),f=1,p=1;o&&r(e)&&(f=e.offsetWidth>0&&s(a.width)/e.offsetWidth||1,p=e.offsetHeight>0&&s(a.height)/e.offsetHeight||1);var u=(n(e)?t(e):window).visualViewport,l=!c()&&i,d=(a.left+(l&&u?u.offsetLeft:0))/f,h=(a.top+(l&&u?u.offsetTop:0))/p,m=a.width/f,v=a.height/p;return{width:m,height:v,top:h,right:d+m,bottom:h+v,left:d,x:d,y:h}}function u(e){var n=t(e);return{scrollLeft:n.pageXOffset,scrollTop:n.pageYOffset}}function l(e){return e?(e.nodeName||"").toLowerCase():null}function d(e){return((n(e)?e.ownerDocument:e.document)||window.document).documentElement}function h(e){return p(d(e)).left+u(e).scrollLeft}function m(e){return t(e).getComputedStyle(e)}function v(e){var t=m(e),n=t.overflow,r=t.overflowX,o=t.overflowY;return/auto|scroll|overlay|hidden/.test(n+o+r)}function y(e,n,o){void 0===o&&(o=!1);var i,a,f=r(n),c=r(n)&&function(e){var t=e.getBoundingClientRect(),n=s(t.width)/e.offsetWidth||1,r=s(t.height)/e.offsetHeight||1;return 1!==n||1!==r}(n),m=d(n),y=p(e,c,o),g={scrollLeft:0,scrollTop:0},b={x:0,y:0};return(f||!f&&!o)&&(("body"!==l(n)||v(m))&&(g=(i=n)!==t(i)&&r(i)?{scrollLeft:(a=i).scrollLeft,scrollTop:a.scrollTop}:u(i)),r(n)?((b=p(n,!0)).x+=n.clientLeft,b.y+=n.clientTop):m&&(b.x=h(m))),{x:y.left+g.scrollLeft-b.x,y:y.top+g.scrollTop-b.y,width:y.width,height:y.height}}function g(e){var t=p(e),n=e.offsetWidth,r=e.offsetHeight;return Math.abs(t.width-n)<=1&&(n=t.width),Math.abs(t.height-r)<=1&&(r=t.height),{x:e.offsetLeft,y:e.offsetTop,width:n,height:r}}function b(e){return"html"===l(e)?e:e.assignedSlot||e.parentNode||(o(e)?e.host:null)||d(e)}function x(e){return["html","body","#document"].indexOf(l(e))>=0?e.ownerDocument.body:r(e)&&v(e)?e:x(b(e))}function w(e,n){var r;void 0===n&&(n=[]);var o=x(e),i=o===(null==(r=e.ownerDocument)?void 0:r.body),a=t(o),s=i?[a].concat(a.visualViewport||[],v(o)?o:[]):o,f=n.concat(s);return i?f:f.concat(w(b(s)))}function O(e){return["table","td","th"].indexOf(l(e))>=0}function j(e){return r(e)&&"fixed"!==m(e).position?e.offsetParent:null}function E(e){for(var n=t(e),i=j(e);i&&O(i)&&"static"===m(i).position;)i=j(i);return i&&("html"===l(i)||"body"===l(i)&&"static"===m(i).position)?n:i||function(e){var t=/firefox/i.test(f());if(/Trident/i.test(f())&&r(e)&&"fixed"===m(e).position)return null;var n=b(e);for(o(n)&&(n=n.host);r(n)&&["html","body"].indexOf(l(n))<0;){var i=m(n);if("none"!==i.transform||"none"!==i.perspective||"paint"===i.contain||-1!==["transform","perspective"].indexOf(i.willChange)||t&&"filter"===i.willChange||t&&i.filter&&"none"!==i.filter)return n;n=n.parentNode}return null}(e)||n}var D="top",A="bottom",L="right",P="left",M="auto",k=[D,A,L,P],W="start",B="end",H="viewport",T="popper",R=k.reduce((function(e,t){return e.concat([t+"-"+W,t+"-"+B])}),[]),S=[].concat(k,[M]).reduce((function(e,t){return e.concat([t,t+"-"+W,t+"-"+B])}),[]),V=["beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite"];function q(e){var t=new Map,n=new Set,r=[];function o(e){n.add(e.name),[].concat(e.requires||[],e.requiresIfExists||[]).forEach((function(e){if(!n.has(e)){var r=t.get(e);r&&o(r)}})),r.push(e)}return e.forEach((function(e){t.set(e.name,e)})),e.forEach((function(e){n.has(e.name)||o(e)})),r}function C(e){return e.split("-")[0]}function N(e,t){var n=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(n&&o(n)){var r=t;do{if(r&&e.isSameNode(r))return!0;r=r.parentNode||r.host}while(r)}return!1}function I(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function _(e,r,o){return r===H?I(function(e,n){var r=t(e),o=d(e),i=r.visualViewport,a=o.clientWidth,s=o.clientHeight,f=0,p=0;if(i){a=i.width,s=i.height;var u=c();(u||!u&&"fixed"===n)&&(f=i.offsetLeft,p=i.offsetTop)}return{width:a,height:s,x:f+h(e),y:p}}(e,o)):n(r)?function(e,t){var n=p(e,!1,"fixed"===t);return n.top=n.top+e.clientTop,n.left=n.left+e.clientLeft,n.bottom=n.top+e.clientHeight,n.right=n.left+e.clientWidth,n.width=e.clientWidth,n.height=e.clientHeight,n.x=n.left,n.y=n.top,n}(r,o):I(function(e){var t,n=d(e),r=u(e),o=null==(t=e.ownerDocument)?void 0:t.body,a=i(n.scrollWidth,n.clientWidth,o?o.scrollWidth:0,o?o.clientWidth:0),s=i(n.scrollHeight,n.clientHeight,o?o.scrollHeight:0,o?o.clientHeight:0),f=-r.scrollLeft+h(e),c=-r.scrollTop;return"rtl"===m(o||n).direction&&(f+=i(n.clientWidth,o?o.clientWidth:0)-a),{width:a,height:s,x:f,y:c}}(d(e)))}function F(e,t,o,s){var f="clippingParents"===t?function(e){var t=w(b(e)),o=["absolute","fixed"].indexOf(m(e).position)>=0&&r(e)?E(e):e;return n(o)?t.filter((function(e){return n(e)&&N(e,o)&&"body"!==l(e)})):[]}(e):[].concat(t),c=[].concat(f,[o]),p=c[0],u=c.reduce((function(t,n){var r=_(e,n,s);return t.top=i(r.top,t.top),t.right=a(r.right,t.right),t.bottom=a(r.bottom,t.bottom),t.left=i(r.left,t.left),t}),_(e,p,s));return u.width=u.right-u.left,u.height=u.bottom-u.top,u.x=u.left,u.y=u.top,u}function U(e){return e.split("-")[1]}function z(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function X(e){var t,n=e.reference,r=e.element,o=e.placement,i=o?C(o):null,a=o?U(o):null,s=n.x+n.width/2-r.width/2,f=n.y+n.height/2-r.height/2;switch(i){case D:t={x:s,y:n.y-r.height};break;case A:t={x:s,y:n.y+n.height};break;case L:t={x:n.x+n.width,y:f};break;case P:t={x:n.x-r.width,y:f};break;default:t={x:n.x,y:n.y}}var c=i?z(i):null;if(null!=c){var p="y"===c?"height":"width";switch(a){case W:t[c]=t[c]-(n[p]/2-r[p]/2);break;case B:t[c]=t[c]+(n[p]/2-r[p]/2)}}return t}function Y(e){return Object.assign({},{top:0,right:0,bottom:0,left:0},e)}function G(e,t){return t.reduce((function(t,n){return t[n]=e,t}),{})}function J(e,t){void 0===t&&(t={});var r=t,o=r.placement,i=void 0===o?e.placement:o,a=r.strategy,s=void 0===a?e.strategy:a,f=r.boundary,c=void 0===f?"clippingParents":f,u=r.rootBoundary,l=void 0===u?H:u,h=r.elementContext,m=void 0===h?T:h,v=r.altBoundary,y=void 0!==v&&v,g=r.padding,b=void 0===g?0:g,x=Y("number"!=typeof b?b:G(b,k)),w=m===T?"reference":T,O=e.rects.popper,j=e.elements[y?w:m],E=F(n(j)?j:j.contextElement||d(e.elements.popper),c,l,s),P=p(e.elements.reference),M=X({reference:P,element:O,strategy:"absolute",placement:i}),W=I(Object.assign({},O,M)),B=m===T?W:P,R={top:E.top-B.top+x.top,bottom:B.bottom-E.bottom+x.bottom,left:E.left-B.left+x.left,right:B.right-E.right+x.right},S=e.modifiersData.offset;if(m===T&&S){var V=S[i];Object.keys(R).forEach((function(e){var t=[L,A].indexOf(e)>=0?1:-1,n=[D,A].indexOf(e)>=0?"y":"x";R[e]+=V[n]*t}))}return R}var K={placement:"bottom",modifiers:[],strategy:"absolute"};function Q(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return!t.some((function(e){return!(e&&"function"==typeof e.getBoundingClientRect)}))}function Z(e){void 0===e&&(e={});var t=e,r=t.defaultModifiers,o=void 0===r?[]:r,i=t.defaultOptions,a=void 0===i?K:i;return function(e,t,r){void 0===r&&(r=a);var i,s,f={placement:"bottom",orderedModifiers:[],options:Object.assign({},K,a),modifiersData:{},elements:{reference:e,popper:t},attributes:{},styles:{}},c=[],p=!1,u={state:f,setOptions:function(r){var i="function"==typeof r?r(f.options):r;l(),f.options=Object.assign({},a,f.options,i),f.scrollParents={reference:n(e)?w(e):e.contextElement?w(e.contextElement):[],popper:w(t)};var s,p,d=function(e){var t=q(e);return V.reduce((function(e,n){return e.concat(t.filter((function(e){return e.phase===n})))}),[])}((s=[].concat(o,f.options.modifiers),p=s.reduce((function(e,t){var n=e[t.name];return e[t.name]=n?Object.assign({},n,t,{options:Object.assign({},n.options,t.options),data:Object.assign({},n.data,t.data)}):t,e}),{}),Object.keys(p).map((function(e){return p[e]}))));return f.orderedModifiers=d.filter((function(e){return e.enabled})),f.orderedModifiers.forEach((function(e){var t=e.name,n=e.options,r=void 0===n?{}:n,o=e.effect;if("function"==typeof o){var i=o({state:f,name:t,instance:u,options:r}),a=function(){};c.push(i||a)}})),u.update()},forceUpdate:function(){if(!p){var e=f.elements,t=e.reference,n=e.popper;if(Q(t,n)){f.rects={reference:y(t,E(n),"fixed"===f.options.strategy),popper:g(n)},f.reset=!1,f.placement=f.options.placement,f.orderedModifiers.forEach((function(e){return f.modifiersData[e.name]=Object.assign({},e.data)}));for(var r=0;r<f.orderedModifiers.length;r++)if(!0!==f.reset){var o=f.orderedModifiers[r],i=o.fn,a=o.options,s=void 0===a?{}:a,c=o.name;"function"==typeof i&&(f=i({state:f,options:s,name:c,instance:u})||f)}else f.reset=!1,r=-1}}},update:(i=function(){return new Promise((function(e){u.forceUpdate(),e(f)}))},function(){return s||(s=new Promise((function(e){Promise.resolve().then((function(){s=void 0,e(i())}))}))),s}),destroy:function(){l(),p=!0}};if(!Q(e,t))return u;function l(){c.forEach((function(e){return e()})),c=[]}return u.setOptions(r).then((function(e){!p&&r.onFirstUpdate&&r.onFirstUpdate(e)})),u}}var $={passive:!0};var ee={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:function(e){var n=e.state,r=e.instance,o=e.options,i=o.scroll,a=void 0===i||i,s=o.resize,f=void 0===s||s,c=t(n.elements.popper),p=[].concat(n.scrollParents.reference,n.scrollParents.popper);return a&&p.forEach((function(e){e.addEventListener("scroll",r.update,$)})),f&&c.addEventListener("resize",r.update,$),function(){a&&p.forEach((function(e){e.removeEventListener("scroll",r.update,$)})),f&&c.removeEventListener("resize",r.update,$)}},data:{}};var te={name:"popperOffsets",enabled:!0,phase:"read",fn:function(e){var t=e.state,n=e.name;t.modifiersData[n]=X({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})},data:{}},ne={top:"auto",right:"auto",bottom:"auto",left:"auto"};function re(e){var n,r=e.popper,o=e.popperRect,i=e.placement,a=e.variation,f=e.offsets,c=e.position,p=e.gpuAcceleration,u=e.adaptive,l=e.roundOffsets,h=e.isFixed,v=f.x,y=void 0===v?0:v,g=f.y,b=void 0===g?0:g,x="function"==typeof l?l({x:y,y:b}):{x:y,y:b};y=x.x,b=x.y;var w=f.hasOwnProperty("x"),O=f.hasOwnProperty("y"),j=P,M=D,k=window;if(u){var W=E(r),H="clientHeight",T="clientWidth";if(W===t(r)&&"static"!==m(W=d(r)).position&&"absolute"===c&&(H="scrollHeight",T="scrollWidth"),W=W,i===D||(i===P||i===L)&&a===B)M=A,b-=(h&&W===k&&k.visualViewport?k.visualViewport.height:W[H])-o.height,b*=p?1:-1;if(i===P||(i===D||i===A)&&a===B)j=L,y-=(h&&W===k&&k.visualViewport?k.visualViewport.width:W[T])-o.width,y*=p?1:-1}var R,S=Object.assign({position:c},u&&ne),V=!0===l?function(e,t){var n=e.x,r=e.y,o=t.devicePixelRatio||1;return{x:s(n*o)/o||0,y:s(r*o)/o||0}}({x:y,y:b},t(r)):{x:y,y:b};return y=V.x,b=V.y,p?Object.assign({},S,((R={})[M]=O?"0":"",R[j]=w?"0":"",R.transform=(k.devicePixelRatio||1)<=1?"translate("+y+"px, "+b+"px)":"translate3d("+y+"px, "+b+"px, 0)",R)):Object.assign({},S,((n={})[M]=O?b+"px":"",n[j]=w?y+"px":"",n.transform="",n))}var oe={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:function(e){var t=e.state,n=e.options,r=n.gpuAcceleration,o=void 0===r||r,i=n.adaptive,a=void 0===i||i,s=n.roundOffsets,f=void 0===s||s,c={placement:C(t.placement),variation:U(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:o,isFixed:"fixed"===t.options.strategy};null!=t.modifiersData.popperOffsets&&(t.styles.popper=Object.assign({},t.styles.popper,re(Object.assign({},c,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:a,roundOffsets:f})))),null!=t.modifiersData.arrow&&(t.styles.arrow=Object.assign({},t.styles.arrow,re(Object.assign({},c,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:f})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})},data:{}};var ie={name:"applyStyles",enabled:!0,phase:"write",fn:function(e){var t=e.state;Object.keys(t.elements).forEach((function(e){var n=t.styles[e]||{},o=t.attributes[e]||{},i=t.elements[e];r(i)&&l(i)&&(Object.assign(i.style,n),Object.keys(o).forEach((function(e){var t=o[e];!1===t?i.removeAttribute(e):i.setAttribute(e,!0===t?"":t)})))}))},effect:function(e){var t=e.state,n={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,n.popper),t.styles=n,t.elements.arrow&&Object.assign(t.elements.arrow.style,n.arrow),function(){Object.keys(t.elements).forEach((function(e){var o=t.elements[e],i=t.attributes[e]||{},a=Object.keys(t.styles.hasOwnProperty(e)?t.styles[e]:n[e]).reduce((function(e,t){return e[t]="",e}),{});r(o)&&l(o)&&(Object.assign(o.style,a),Object.keys(i).forEach((function(e){o.removeAttribute(e)})))}))}},requires:["computeStyles"]};var ae={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function(e){var t=e.state,n=e.options,r=e.name,o=n.offset,i=void 0===o?[0,0]:o,a=S.reduce((function(e,n){return e[n]=function(e,t,n){var r=C(e),o=[P,D].indexOf(r)>=0?-1:1,i="function"==typeof n?n(Object.assign({},t,{placement:e})):n,a=i[0],s=i[1];return a=a||0,s=(s||0)*o,[P,L].indexOf(r)>=0?{x:s,y:a}:{x:a,y:s}}(n,t.rects,i),e}),{}),s=a[t.placement],f=s.x,c=s.y;null!=t.modifiersData.popperOffsets&&(t.modifiersData.popperOffsets.x+=f,t.modifiersData.popperOffsets.y+=c),t.modifiersData[r]=a}},se={left:"right",right:"left",bottom:"top",top:"bottom"};function fe(e){return e.replace(/left|right|bottom|top/g,(function(e){return se[e]}))}var ce={start:"end",end:"start"};function pe(e){return e.replace(/start|end/g,(function(e){return ce[e]}))}function ue(e,t){void 0===t&&(t={});var n=t,r=n.placement,o=n.boundary,i=n.rootBoundary,a=n.padding,s=n.flipVariations,f=n.allowedAutoPlacements,c=void 0===f?S:f,p=U(r),u=p?s?R:R.filter((function(e){return U(e)===p})):k,l=u.filter((function(e){return c.indexOf(e)>=0}));0===l.length&&(l=u);var d=l.reduce((function(t,n){return t[n]=J(e,{placement:n,boundary:o,rootBoundary:i,padding:a})[C(n)],t}),{});return Object.keys(d).sort((function(e,t){return d[e]-d[t]}))}var le={name:"flip",enabled:!0,phase:"main",fn:function(e){var t=e.state,n=e.options,r=e.name;if(!t.modifiersData[r]._skip){for(var o=n.mainAxis,i=void 0===o||o,a=n.altAxis,s=void 0===a||a,f=n.fallbackPlacements,c=n.padding,p=n.boundary,u=n.rootBoundary,l=n.altBoundary,d=n.flipVariations,h=void 0===d||d,m=n.allowedAutoPlacements,v=t.options.placement,y=C(v),g=f||(y===v||!h?[fe(v)]:function(e){if(C(e)===M)return[];var t=fe(e);return[pe(e),t,pe(t)]}(v)),b=[v].concat(g).reduce((function(e,n){return e.concat(C(n)===M?ue(t,{placement:n,boundary:p,rootBoundary:u,padding:c,flipVariations:h,allowedAutoPlacements:m}):n)}),[]),x=t.rects.reference,w=t.rects.popper,O=new Map,j=!0,E=b[0],k=0;k<b.length;k++){var B=b[k],H=C(B),T=U(B)===W,R=[D,A].indexOf(H)>=0,S=R?"width":"height",V=J(t,{placement:B,boundary:p,rootBoundary:u,altBoundary:l,padding:c}),q=R?T?L:P:T?A:D;x[S]>w[S]&&(q=fe(q));var N=fe(q),I=[];if(i&&I.push(V[H]<=0),s&&I.push(V[q]<=0,V[N]<=0),I.every((function(e){return e}))){E=B,j=!1;break}O.set(B,I)}if(j)for(var _=function(e){var t=b.find((function(t){var n=O.get(t);if(n)return n.slice(0,e).every((function(e){return e}))}));if(t)return E=t,"break"},F=h?3:1;F>0;F--){if("break"===_(F))break}t.placement!==E&&(t.modifiersData[r]._skip=!0,t.placement=E,t.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function de(e,t,n){return i(e,a(t,n))}var he={name:"preventOverflow",enabled:!0,phase:"main",fn:function(e){var t=e.state,n=e.options,r=e.name,o=n.mainAxis,s=void 0===o||o,f=n.altAxis,c=void 0!==f&&f,p=n.boundary,u=n.rootBoundary,l=n.altBoundary,d=n.padding,h=n.tether,m=void 0===h||h,v=n.tetherOffset,y=void 0===v?0:v,b=J(t,{boundary:p,rootBoundary:u,padding:d,altBoundary:l}),x=C(t.placement),w=U(t.placement),O=!w,j=z(x),M="x"===j?"y":"x",k=t.modifiersData.popperOffsets,B=t.rects.reference,H=t.rects.popper,T="function"==typeof y?y(Object.assign({},t.rects,{placement:t.placement})):y,R="number"==typeof T?{mainAxis:T,altAxis:T}:Object.assign({mainAxis:0,altAxis:0},T),S=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,V={x:0,y:0};if(k){if(s){var q,N="y"===j?D:P,I="y"===j?A:L,_="y"===j?"height":"width",F=k[j],X=F+b[N],Y=F-b[I],G=m?-H[_]/2:0,K=w===W?B[_]:H[_],Q=w===W?-H[_]:-B[_],Z=t.elements.arrow,$=m&&Z?g(Z):{width:0,height:0},ee=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},te=ee[N],ne=ee[I],re=de(0,B[_],$[_]),oe=O?B[_]/2-G-re-te-R.mainAxis:K-re-te-R.mainAxis,ie=O?-B[_]/2+G+re+ne+R.mainAxis:Q+re+ne+R.mainAxis,ae=t.elements.arrow&&E(t.elements.arrow),se=ae?"y"===j?ae.clientTop||0:ae.clientLeft||0:0,fe=null!=(q=null==S?void 0:S[j])?q:0,ce=F+ie-fe,pe=de(m?a(X,F+oe-fe-se):X,F,m?i(Y,ce):Y);k[j]=pe,V[j]=pe-F}if(c){var ue,le="x"===j?D:P,he="x"===j?A:L,me=k[M],ve="y"===M?"height":"width",ye=me+b[le],ge=me-b[he],be=-1!==[D,P].indexOf(x),xe=null!=(ue=null==S?void 0:S[M])?ue:0,we=be?ye:me-B[ve]-H[ve]-xe+R.altAxis,Oe=be?me+B[ve]+H[ve]-xe-R.altAxis:ge,je=m&&be?function(e,t,n){var r=de(e,t,n);return r>n?n:r}(we,me,Oe):de(m?we:ye,me,m?Oe:ge);k[M]=je,V[M]=je-me}t.modifiersData[r]=V}},requiresIfExists:["offset"]};var me={name:"arrow",enabled:!0,phase:"main",fn:function(e){var t,n=e.state,r=e.name,o=e.options,i=n.elements.arrow,a=n.modifiersData.popperOffsets,s=C(n.placement),f=z(s),c=[P,L].indexOf(s)>=0?"height":"width";if(i&&a){var p=function(e,t){return Y("number"!=typeof(e="function"==typeof e?e(Object.assign({},t.rects,{placement:t.placement})):e)?e:G(e,k))}(o.padding,n),u=g(i),l="y"===f?D:P,d="y"===f?A:L,h=n.rects.reference[c]+n.rects.reference[f]-a[f]-n.rects.popper[c],m=a[f]-n.rects.reference[f],v=E(i),y=v?"y"===f?v.clientHeight||0:v.clientWidth||0:0,b=h/2-m/2,x=p[l],w=y-u[c]-p[d],O=y/2-u[c]/2+b,j=de(x,O,w),M=f;n.modifiersData[r]=((t={})[M]=j,t.centerOffset=j-O,t)}},effect:function(e){var t=e.state,n=e.options.element,r=void 0===n?"[data-popper-arrow]":n;null!=r&&("string"!=typeof r||(r=t.elements.popper.querySelector(r)))&&N(t.elements.popper,r)&&(t.elements.arrow=r)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function ve(e,t,n){return void 0===n&&(n={x:0,y:0}),{top:e.top-t.height-n.y,right:e.right-t.width+n.x,bottom:e.bottom-t.height+n.y,left:e.left-t.width-n.x}}function ye(e){return[D,L,A,P].some((function(t){return e[t]>=0}))}var ge={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:function(e){var t=e.state,n=e.name,r=t.rects.reference,o=t.rects.popper,i=t.modifiersData.preventOverflow,a=J(t,{elementContext:"reference"}),s=J(t,{altBoundary:!0}),f=ve(a,r),c=ve(s,o,i),p=ye(f),u=ye(c);t.modifiersData[n]={referenceClippingOffsets:f,popperEscapeOffsets:c,isReferenceHidden:p,hasPopperEscaped:u},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":p,"data-popper-escaped":u})}},be=Z({defaultModifiers:[ee,te,oe,ie]}),xe=[ee,te,oe,ie,ae,le,he,me,ge],we=Z({defaultModifiers:xe});e.applyStyles=ie,e.arrow=me,e.computeStyles=oe,e.createPopper=we,e.createPopperLite=be,e.defaultModifiers=xe,e.detectOverflow=J,e.eventListeners=ee,e.flip=le,e.hide=ge,e.offset=ae,e.popperGenerator=Z,e.popperOffsets=te,e.preventOverflow=he,Object.defineProperty(e,"__esModule",{value:!0})}));
6
+
llm_conf_files/libs/quarto-html/quarto-html.min.css ADDED
@@ -0,0 +1 @@
 
 
1
+
llm_conf_files/libs/quarto-html/quarto-syntax-highlighting-dark.css ADDED
@@ -0,0 +1,189 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /* quarto syntax highlight colors */
2
+ :root {
3
+ --quarto-hl-al-color: #f07178;
4
+ --quarto-hl-an-color: #d4d0ab;
5
+ --quarto-hl-at-color: #00e0e0;
6
+ --quarto-hl-bn-color: #d4d0ab;
7
+ --quarto-hl-bu-color: #abe338;
8
+ --quarto-hl-ch-color: #abe338;
9
+ --quarto-hl-co-color: #f8f8f2;
10
+ --quarto-hl-cv-color: #ffd700;
11
+ --quarto-hl-cn-color: #ffd700;
12
+ --quarto-hl-cf-color: #ffa07a;
13
+ --quarto-hl-dt-color: #ffa07a;
14
+ --quarto-hl-dv-color: #d4d0ab;
15
+ --quarto-hl-do-color: #f8f8f2;
16
+ --quarto-hl-er-color: #f07178;
17
+ --quarto-hl-ex-color: #00e0e0;
18
+ --quarto-hl-fl-color: #d4d0ab;
19
+ --quarto-hl-fu-color: #ffa07a;
20
+ --quarto-hl-im-color: #abe338;
21
+ --quarto-hl-in-color: #d4d0ab;
22
+ --quarto-hl-kw-color: #ffa07a;
23
+ --quarto-hl-op-color: #ffa07a;
24
+ --quarto-hl-ot-color: #00e0e0;
25
+ --quarto-hl-pp-color: #dcc6e0;
26
+ --quarto-hl-re-color: #00e0e0;
27
+ --quarto-hl-sc-color: #abe338;
28
+ --quarto-hl-ss-color: #abe338;
29
+ --quarto-hl-st-color: #abe338;
30
+ --quarto-hl-va-color: #00e0e0;
31
+ --quarto-hl-vs-color: #abe338;
32
+ --quarto-hl-wa-color: #dcc6e0;
33
+ }
34
+
35
+ /* other quarto variables */
36
+ :root {
37
+ --quarto-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
38
+ }
39
+
40
+ code span.al {
41
+ background-color: #2a0f15;
42
+ font-weight: bold;
43
+ color: #f07178;
44
+ }
45
+
46
+ code span.an {
47
+ color: #d4d0ab;
48
+ }
49
+
50
+ code span.at {
51
+ color: #00e0e0;
52
+ }
53
+
54
+ code span.bn {
55
+ color: #d4d0ab;
56
+ }
57
+
58
+ code span.bu {
59
+ color: #abe338;
60
+ }
61
+
62
+ code span.ch {
63
+ color: #abe338;
64
+ }
65
+
66
+ code span.co {
67
+ font-style: italic;
68
+ color: #f8f8f2;
69
+ }
70
+
71
+ code span.cv {
72
+ color: #ffd700;
73
+ }
74
+
75
+ code span.cn {
76
+ color: #ffd700;
77
+ }
78
+
79
+ code span.cf {
80
+ font-weight: bold;
81
+ color: #ffa07a;
82
+ }
83
+
84
+ code span.dt {
85
+ color: #ffa07a;
86
+ }
87
+
88
+ code span.dv {
89
+ color: #d4d0ab;
90
+ }
91
+
92
+ code span.do {
93
+ color: #f8f8f2;
94
+ }
95
+
96
+ code span.er {
97
+ color: #f07178;
98
+ text-decoration: underline;
99
+ }
100
+
101
+ code span.ex {
102
+ font-weight: bold;
103
+ color: #00e0e0;
104
+ }
105
+
106
+ code span.fl {
107
+ color: #d4d0ab;
108
+ }
109
+
110
+ code span.fu {
111
+ color: #ffa07a;
112
+ }
113
+
114
+ code span.im {
115
+ color: #abe338;
116
+ }
117
+
118
+ code span.in {
119
+ color: #d4d0ab;
120
+ }
121
+
122
+ code span.kw {
123
+ font-weight: bold;
124
+ color: #ffa07a;
125
+ }
126
+
127
+ pre > code.sourceCode > span {
128
+ color: #f8f8f2;
129
+ }
130
+
131
+ code span {
132
+ color: #f8f8f2;
133
+ }
134
+
135
+ code.sourceCode > span {
136
+ color: #f8f8f2;
137
+ }
138
+
139
+ div.sourceCode,
140
+ div.sourceCode pre.sourceCode {
141
+ color: #f8f8f2;
142
+ }
143
+
144
+ code span.op {
145
+ color: #ffa07a;
146
+ }
147
+
148
+ code span.ot {
149
+ color: #00e0e0;
150
+ }
151
+
152
+ code span.pp {
153
+ color: #dcc6e0;
154
+ }
155
+
156
+ code span.re {
157
+ background-color: #f8f8f2;
158
+ color: #00e0e0;
159
+ }
160
+
161
+ code span.sc {
162
+ color: #abe338;
163
+ }
164
+
165
+ code span.ss {
166
+ color: #abe338;
167
+ }
168
+
169
+ code span.st {
170
+ color: #abe338;
171
+ }
172
+
173
+ code span.va {
174
+ color: #00e0e0;
175
+ }
176
+
177
+ code span.vs {
178
+ color: #abe338;
179
+ }
180
+
181
+ code span.wa {
182
+ color: #dcc6e0;
183
+ }
184
+
185
+ .prevent-inlining {
186
+ content: "</";
187
+ }
188
+
189
+ /*# sourceMappingURL=935a306eefa94366c21e1a970dddb765.css.map */
llm_conf_files/libs/quarto-html/tabby.min.js ADDED
@@ -0,0 +1,418 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ (function (root, factory) {
2
+ if (typeof define === "function" && define.amd) {
3
+ define([], function () {
4
+ return factory(root);
5
+ });
6
+ } else if (typeof exports === "object") {
7
+ module.exports = factory(root);
8
+ } else {
9
+ root.Tabby = factory(root);
10
+ }
11
+ })(
12
+ typeof global !== "undefined"
13
+ ? global
14
+ : typeof window !== "undefined"
15
+ ? window
16
+ : this,
17
+ function (window) {
18
+ "use strict";
19
+
20
+ //
21
+ // Variables
22
+ //
23
+
24
+ var defaults = {
25
+ idPrefix: "tabby-toggle_",
26
+ default: "[data-tabby-default]",
27
+ };
28
+
29
+ //
30
+ // Methods
31
+ //
32
+
33
+ /**
34
+ * Merge two or more objects together.
35
+ * @param {Object} objects The objects to merge together
36
+ * @returns {Object} Merged values of defaults and options
37
+ */
38
+ var extend = function () {
39
+ var merged = {};
40
+ Array.prototype.forEach.call(arguments, function (obj) {
41
+ for (var key in obj) {
42
+ if (!obj.hasOwnProperty(key)) return;
43
+ merged[key] = obj[key];
44
+ }
45
+ });
46
+ return merged;
47
+ };
48
+
49
+ /**
50
+ * Emit a custom event
51
+ * @param {String} type The event type
52
+ * @param {Node} tab The tab to attach the event to
53
+ * @param {Node} details Details about the event
54
+ */
55
+ var emitEvent = function (tab, details) {
56
+ // Create a new event
57
+ var event;
58
+ if (typeof window.CustomEvent === "function") {
59
+ event = new CustomEvent("tabby", {
60
+ bubbles: true,
61
+ cancelable: true,
62
+ detail: details,
63
+ });
64
+ } else {
65
+ event = document.createEvent("CustomEvent");
66
+ event.initCustomEvent("tabby", true, true, details);
67
+ }
68
+
69
+ // Dispatch the event
70
+ tab.dispatchEvent(event);
71
+ };
72
+
73
+ var focusHandler = function (event) {
74
+ toggle(event.target);
75
+ };
76
+
77
+ var getKeyboardFocusableElements = function (element) {
78
+ return [
79
+ ...element.querySelectorAll(
80
+ 'a[href], button, input, textarea, select, details,[tabindex]:not([tabindex="-1"])'
81
+ ),
82
+ ].filter(
83
+ (el) => !el.hasAttribute("disabled") && !el.getAttribute("aria-hidden")
84
+ );
85
+ };
86
+
87
+ /**
88
+ * Remove roles and attributes from a tab and its content
89
+ * @param {Node} tab The tab
90
+ * @param {Node} content The tab content
91
+ * @param {Object} settings User settings and options
92
+ */
93
+ var destroyTab = function (tab, content, settings) {
94
+ // Remove the generated ID
95
+ if (tab.id.slice(0, settings.idPrefix.length) === settings.idPrefix) {
96
+ tab.id = "";
97
+ }
98
+
99
+ // remove event listener
100
+ tab.removeEventListener("focus", focusHandler, true);
101
+
102
+ // Remove roles
103
+ tab.removeAttribute("role");
104
+ tab.removeAttribute("aria-controls");
105
+ tab.removeAttribute("aria-selected");
106
+ tab.removeAttribute("tabindex");
107
+ tab.closest("li").removeAttribute("role");
108
+ content.removeAttribute("role");
109
+ content.removeAttribute("aria-labelledby");
110
+ content.removeAttribute("hidden");
111
+ };
112
+
113
+ /**
114
+ * Add the required roles and attributes to a tab and its content
115
+ * @param {Node} tab The tab
116
+ * @param {Node} content The tab content
117
+ * @param {Object} settings User settings and options
118
+ */
119
+ var setupTab = function (tab, content, settings) {
120
+ // Give tab an ID if it doesn't already have one
121
+ if (!tab.id) {
122
+ tab.id = settings.idPrefix + content.id;
123
+ }
124
+
125
+ // Add roles
126
+ tab.setAttribute("role", "tab");
127
+ tab.setAttribute("aria-controls", content.id);
128
+ tab.closest("li").setAttribute("role", "presentation");
129
+ content.setAttribute("role", "tabpanel");
130
+ content.setAttribute("aria-labelledby", tab.id);
131
+
132
+ // Add selected state
133
+ if (tab.matches(settings.default)) {
134
+ tab.setAttribute("aria-selected", "true");
135
+ } else {
136
+ tab.setAttribute("aria-selected", "false");
137
+ content.setAttribute("hidden", "hidden");
138
+ }
139
+
140
+ // add focus event listender
141
+ tab.addEventListener("focus", focusHandler);
142
+ };
143
+
144
+ /**
145
+ * Hide a tab and its content
146
+ * @param {Node} newTab The new tab that's replacing it
147
+ */
148
+ var hide = function (newTab) {
149
+ // Variables
150
+ var tabGroup = newTab.closest('[role="tablist"]');
151
+ if (!tabGroup) return {};
152
+ var tab = tabGroup.querySelector('[role="tab"][aria-selected="true"]');
153
+ if (!tab) return {};
154
+ var content = document.querySelector(tab.hash);
155
+
156
+ // Hide the tab
157
+ tab.setAttribute("aria-selected", "false");
158
+
159
+ // Hide the content
160
+ if (!content) return { previousTab: tab };
161
+ content.setAttribute("hidden", "hidden");
162
+
163
+ // Return the hidden tab and content
164
+ return {
165
+ previousTab: tab,
166
+ previousContent: content,
167
+ };
168
+ };
169
+
170
+ /**
171
+ * Show a tab and its content
172
+ * @param {Node} tab The tab
173
+ * @param {Node} content The tab content
174
+ */
175
+ var show = function (tab, content) {
176
+ tab.setAttribute("aria-selected", "true");
177
+ content.removeAttribute("hidden");
178
+ tab.focus();
179
+ };
180
+
181
+ /**
182
+ * Toggle a new tab
183
+ * @param {Node} tab The tab to show
184
+ */
185
+ var toggle = function (tab) {
186
+ // Make sure there's a tab to toggle and it's not already active
187
+ if (!tab || tab.getAttribute("aria-selected") == "true") return;
188
+
189
+ // Variables
190
+ var content = document.querySelector(tab.hash);
191
+ if (!content) return;
192
+
193
+ // Hide active tab and content
194
+ var details = hide(tab);
195
+
196
+ // Show new tab and content
197
+ show(tab, content);
198
+
199
+ // Add event details
200
+ details.tab = tab;
201
+ details.content = content;
202
+
203
+ // Emit a custom event
204
+ emitEvent(tab, details);
205
+ };
206
+
207
+ /**
208
+ * Get all of the tabs in a tablist
209
+ * @param {Node} tab A tab from the list
210
+ * @return {Object} The tabs and the index of the currently active one
211
+ */
212
+ var getTabsMap = function (tab) {
213
+ var tabGroup = tab.closest('[role="tablist"]');
214
+ var tabs = tabGroup ? tabGroup.querySelectorAll('[role="tab"]') : null;
215
+ if (!tabs) return;
216
+ return {
217
+ tabs: tabs,
218
+ index: Array.prototype.indexOf.call(tabs, tab),
219
+ };
220
+ };
221
+
222
+ /**
223
+ * Switch the active tab based on keyboard activity
224
+ * @param {Node} tab The currently active tab
225
+ * @param {Key} key The key that was pressed
226
+ */
227
+ var switchTabs = function (tab, key) {
228
+ // Get a map of tabs
229
+ var map = getTabsMap(tab);
230
+ if (!map) return;
231
+ var length = map.tabs.length - 1;
232
+ var index;
233
+
234
+ // Go to previous tab
235
+ if (["ArrowUp", "ArrowLeft", "Up", "Left"].indexOf(key) > -1) {
236
+ index = map.index < 1 ? length : map.index - 1;
237
+ }
238
+
239
+ // Go to next tab
240
+ else if (["ArrowDown", "ArrowRight", "Down", "Right"].indexOf(key) > -1) {
241
+ index = map.index === length ? 0 : map.index + 1;
242
+ }
243
+
244
+ // Go to home
245
+ else if (key === "Home") {
246
+ index = 0;
247
+ }
248
+
249
+ // Go to end
250
+ else if (key === "End") {
251
+ index = length;
252
+ }
253
+
254
+ // Toggle the tab
255
+ toggle(map.tabs[index]);
256
+ };
257
+
258
+ /**
259
+ * Create the Constructor object
260
+ */
261
+ var Constructor = function (selector, options) {
262
+ //
263
+ // Variables
264
+ //
265
+
266
+ var publicAPIs = {};
267
+ var settings, tabWrapper;
268
+
269
+ //
270
+ // Methods
271
+ //
272
+
273
+ publicAPIs.destroy = function () {
274
+ // Get all tabs
275
+ var tabs = tabWrapper.querySelectorAll("a");
276
+
277
+ // Add roles to tabs
278
+ Array.prototype.forEach.call(tabs, function (tab) {
279
+ // Get the tab content
280
+ var content = document.querySelector(tab.hash);
281
+ if (!content) return;
282
+
283
+ // Setup the tab
284
+ destroyTab(tab, content, settings);
285
+ });
286
+
287
+ // Remove role from wrapper
288
+ tabWrapper.removeAttribute("role");
289
+
290
+ // Remove event listeners
291
+ document.documentElement.removeEventListener(
292
+ "click",
293
+ clickHandler,
294
+ true
295
+ );
296
+ tabWrapper.removeEventListener("keydown", keyHandler, true);
297
+
298
+ // Reset variables
299
+ settings = null;
300
+ tabWrapper = null;
301
+ };
302
+
303
+ /**
304
+ * Setup the DOM with the proper attributes
305
+ */
306
+ publicAPIs.setup = function () {
307
+ // Variables
308
+ tabWrapper = document.querySelector(selector);
309
+ if (!tabWrapper) return;
310
+ var tabs = tabWrapper.querySelectorAll("a");
311
+
312
+ // Add role to wrapper
313
+ tabWrapper.setAttribute("role", "tablist");
314
+
315
+ // Add roles to tabs. provide dynanmic tab indexes if we are within reveal
316
+ var contentTabindexes =
317
+ window.document.body.classList.contains("reveal-viewport");
318
+ var nextTabindex = 1;
319
+ Array.prototype.forEach.call(tabs, function (tab) {
320
+ if (contentTabindexes) {
321
+ tab.setAttribute("tabindex", "" + nextTabindex++);
322
+ } else {
323
+ tab.setAttribute("tabindex", "0");
324
+ }
325
+
326
+ // Get the tab content
327
+ var content = document.querySelector(tab.hash);
328
+ if (!content) return;
329
+
330
+ // set tab indexes for content
331
+ if (contentTabindexes) {
332
+ getKeyboardFocusableElements(content).forEach(function (el) {
333
+ el.setAttribute("tabindex", "" + nextTabindex++);
334
+ });
335
+ }
336
+
337
+ // Setup the tab
338
+ setupTab(tab, content, settings);
339
+ });
340
+ };
341
+
342
+ /**
343
+ * Toggle a tab based on an ID
344
+ * @param {String|Node} id The tab to toggle
345
+ */
346
+ publicAPIs.toggle = function (id) {
347
+ // Get the tab
348
+ var tab = id;
349
+ if (typeof id === "string") {
350
+ tab = document.querySelector(
351
+ selector + ' [role="tab"][href*="' + id + '"]'
352
+ );
353
+ }
354
+
355
+ // Toggle the tab
356
+ toggle(tab);
357
+ };
358
+
359
+ /**
360
+ * Handle click events
361
+ */
362
+ var clickHandler = function (event) {
363
+ // Only run on toggles
364
+ var tab = event.target.closest(selector + ' [role="tab"]');
365
+ if (!tab) return;
366
+
367
+ // Prevent link behavior
368
+ event.preventDefault();
369
+
370
+ // Toggle the tab
371
+ toggle(tab);
372
+ };
373
+
374
+ /**
375
+ * Handle keydown events
376
+ */
377
+ var keyHandler = function (event) {
378
+ // Only run if a tab is in focus
379
+ var tab = document.activeElement;
380
+ if (!tab.matches(selector + ' [role="tab"]')) return;
381
+
382
+ // Only run for specific keys
383
+ if (["Home", "End"].indexOf(event.key) < 0) return;
384
+
385
+ // Switch tabs
386
+ switchTabs(tab, event.key);
387
+ };
388
+
389
+ /**
390
+ * Initialize the instance
391
+ */
392
+ var init = function () {
393
+ // Merge user options with defaults
394
+ settings = extend(defaults, options || {});
395
+
396
+ // Setup the DOM
397
+ publicAPIs.setup();
398
+
399
+ // Add event listeners
400
+ document.documentElement.addEventListener("click", clickHandler, true);
401
+ tabWrapper.addEventListener("keydown", keyHandler, true);
402
+ };
403
+
404
+ //
405
+ // Initialize and return the Public APIs
406
+ //
407
+
408
+ init();
409
+ return publicAPIs;
410
+ };
411
+
412
+ //
413
+ // Return the Constructor
414
+ //
415
+
416
+ return Constructor;
417
+ }
418
+ );
llm_conf_files/libs/quarto-html/tippy.css ADDED
@@ -0,0 +1 @@
 
 
1
+ .tippy-box[data-animation=fade][data-state=hidden]{opacity:0}[data-tippy-root]{max-width:calc(100vw - 10px)}.tippy-box{position:relative;background-color:#333;color:#fff;border-radius:4px;font-size:14px;line-height:1.4;white-space:normal;outline:0;transition-property:transform,visibility,opacity}.tippy-box[data-placement^=top]>.tippy-arrow{bottom:0}.tippy-box[data-placement^=top]>.tippy-arrow:before{bottom:-7px;left:0;border-width:8px 8px 0;border-top-color:initial;transform-origin:center top}.tippy-box[data-placement^=bottom]>.tippy-arrow{top:0}.tippy-box[data-placement^=bottom]>.tippy-arrow:before{top:-7px;left:0;border-width:0 8px 8px;border-bottom-color:initial;transform-origin:center bottom}.tippy-box[data-placement^=left]>.tippy-arrow{right:0}.tippy-box[data-placement^=left]>.tippy-arrow:before{border-width:8px 0 8px 8px;border-left-color:initial;right:-7px;transform-origin:center left}.tippy-box[data-placement^=right]>.tippy-arrow{left:0}.tippy-box[data-placement^=right]>.tippy-arrow:before{left:-7px;border-width:8px 8px 8px 0;border-right-color:initial;transform-origin:center right}.tippy-box[data-inertia][data-state=visible]{transition-timing-function:cubic-bezier(.54,1.5,.38,1.11)}.tippy-arrow{width:16px;height:16px;color:#333}.tippy-arrow:before{content:"";position:absolute;border-color:transparent;border-style:solid}.tippy-content{position:relative;padding:5px 9px;z-index:1}
llm_conf_files/libs/quarto-html/tippy.umd.min.js ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("@popperjs/core")):"function"==typeof define&&define.amd?define(["@popperjs/core"],t):(e=e||self).tippy=t(e.Popper)}(this,(function(e){"use strict";var t={passive:!0,capture:!0},n=function(){return document.body};function r(e,t,n){if(Array.isArray(e)){var r=e[t];return null==r?Array.isArray(n)?n[t]:n:r}return e}function o(e,t){var n={}.toString.call(e);return 0===n.indexOf("[object")&&n.indexOf(t+"]")>-1}function i(e,t){return"function"==typeof e?e.apply(void 0,t):e}function a(e,t){return 0===t?e:function(r){clearTimeout(n),n=setTimeout((function(){e(r)}),t)};var n}function s(e,t){var n=Object.assign({},e);return t.forEach((function(e){delete n[e]})),n}function u(e){return[].concat(e)}function c(e,t){-1===e.indexOf(t)&&e.push(t)}function p(e){return e.split("-")[0]}function f(e){return[].slice.call(e)}function l(e){return Object.keys(e).reduce((function(t,n){return void 0!==e[n]&&(t[n]=e[n]),t}),{})}function d(){return document.createElement("div")}function v(e){return["Element","Fragment"].some((function(t){return o(e,t)}))}function m(e){return o(e,"MouseEvent")}function g(e){return!(!e||!e._tippy||e._tippy.reference!==e)}function h(e){return v(e)?[e]:function(e){return o(e,"NodeList")}(e)?f(e):Array.isArray(e)?e:f(document.querySelectorAll(e))}function b(e,t){e.forEach((function(e){e&&(e.style.transitionDuration=t+"ms")}))}function y(e,t){e.forEach((function(e){e&&e.setAttribute("data-state",t)}))}function w(e){var t,n=u(e)[0];return null!=n&&null!=(t=n.ownerDocument)&&t.body?n.ownerDocument:document}function E(e,t,n){var r=t+"EventListener";["transitionend","webkitTransitionEnd"].forEach((function(t){e[r](t,n)}))}function O(e,t){for(var n=t;n;){var r;if(e.contains(n))return!0;n=null==n.getRootNode||null==(r=n.getRootNode())?void 0:r.host}return!1}var x={isTouch:!1},C=0;function T(){x.isTouch||(x.isTouch=!0,window.performance&&document.addEventListener("mousemove",A))}function A(){var e=performance.now();e-C<20&&(x.isTouch=!1,document.removeEventListener("mousemove",A)),C=e}function L(){var e=document.activeElement;if(g(e)){var t=e._tippy;e.blur&&!t.state.isVisible&&e.blur()}}var D=!!("undefined"!=typeof window&&"undefined"!=typeof document)&&!!window.msCrypto,R=Object.assign({appendTo:n,aria:{content:"auto",expanded:"auto"},delay:0,duration:[300,250],getReferenceClientRect:null,hideOnClick:!0,ignoreAttributes:!1,interactive:!1,interactiveBorder:2,interactiveDebounce:0,moveTransition:"",offset:[0,10],onAfterUpdate:function(){},onBeforeUpdate:function(){},onCreate:function(){},onDestroy:function(){},onHidden:function(){},onHide:function(){},onMount:function(){},onShow:function(){},onShown:function(){},onTrigger:function(){},onUntrigger:function(){},onClickOutside:function(){},placement:"top",plugins:[],popperOptions:{},render:null,showOnCreate:!1,touch:!0,trigger:"mouseenter focus",triggerTarget:null},{animateFill:!1,followCursor:!1,inlinePositioning:!1,sticky:!1},{allowHTML:!1,animation:"fade",arrow:!0,content:"",inertia:!1,maxWidth:350,role:"tooltip",theme:"",zIndex:9999}),k=Object.keys(R);function P(e){var t=(e.plugins||[]).reduce((function(t,n){var r,o=n.name,i=n.defaultValue;o&&(t[o]=void 0!==e[o]?e[o]:null!=(r=R[o])?r:i);return t}),{});return Object.assign({},e,t)}function j(e,t){var n=Object.assign({},t,{content:i(t.content,[e])},t.ignoreAttributes?{}:function(e,t){return(t?Object.keys(P(Object.assign({},R,{plugins:t}))):k).reduce((function(t,n){var r=(e.getAttribute("data-tippy-"+n)||"").trim();if(!r)return t;if("content"===n)t[n]=r;else try{t[n]=JSON.parse(r)}catch(e){t[n]=r}return t}),{})}(e,t.plugins));return n.aria=Object.assign({},R.aria,n.aria),n.aria={expanded:"auto"===n.aria.expanded?t.interactive:n.aria.expanded,content:"auto"===n.aria.content?t.interactive?null:"describedby":n.aria.content},n}function M(e,t){e.innerHTML=t}function V(e){var t=d();return!0===e?t.className="tippy-arrow":(t.className="tippy-svg-arrow",v(e)?t.appendChild(e):M(t,e)),t}function I(e,t){v(t.content)?(M(e,""),e.appendChild(t.content)):"function"!=typeof t.content&&(t.allowHTML?M(e,t.content):e.textContent=t.content)}function S(e){var t=e.firstElementChild,n=f(t.children);return{box:t,content:n.find((function(e){return e.classList.contains("tippy-content")})),arrow:n.find((function(e){return e.classList.contains("tippy-arrow")||e.classList.contains("tippy-svg-arrow")})),backdrop:n.find((function(e){return e.classList.contains("tippy-backdrop")}))}}function N(e){var t=d(),n=d();n.className="tippy-box",n.setAttribute("data-state","hidden"),n.setAttribute("tabindex","-1");var r=d();function o(n,r){var o=S(t),i=o.box,a=o.content,s=o.arrow;r.theme?i.setAttribute("data-theme",r.theme):i.removeAttribute("data-theme"),"string"==typeof r.animation?i.setAttribute("data-animation",r.animation):i.removeAttribute("data-animation"),r.inertia?i.setAttribute("data-inertia",""):i.removeAttribute("data-inertia"),i.style.maxWidth="number"==typeof r.maxWidth?r.maxWidth+"px":r.maxWidth,r.role?i.setAttribute("role",r.role):i.removeAttribute("role"),n.content===r.content&&n.allowHTML===r.allowHTML||I(a,e.props),r.arrow?s?n.arrow!==r.arrow&&(i.removeChild(s),i.appendChild(V(r.arrow))):i.appendChild(V(r.arrow)):s&&i.removeChild(s)}return r.className="tippy-content",r.setAttribute("data-state","hidden"),I(r,e.props),t.appendChild(n),n.appendChild(r),o(e.props,e.props),{popper:t,onUpdate:o}}N.$$tippy=!0;var B=1,H=[],U=[];function _(o,s){var v,g,h,C,T,A,L,k,M=j(o,Object.assign({},R,P(l(s)))),V=!1,I=!1,N=!1,_=!1,F=[],W=a(we,M.interactiveDebounce),X=B++,Y=(k=M.plugins).filter((function(e,t){return k.indexOf(e)===t})),$={id:X,reference:o,popper:d(),popperInstance:null,props:M,state:{isEnabled:!0,isVisible:!1,isDestroyed:!1,isMounted:!1,isShown:!1},plugins:Y,clearDelayTimeouts:function(){clearTimeout(v),clearTimeout(g),cancelAnimationFrame(h)},setProps:function(e){if($.state.isDestroyed)return;ae("onBeforeUpdate",[$,e]),be();var t=$.props,n=j(o,Object.assign({},t,l(e),{ignoreAttributes:!0}));$.props=n,he(),t.interactiveDebounce!==n.interactiveDebounce&&(ce(),W=a(we,n.interactiveDebounce));t.triggerTarget&&!n.triggerTarget?u(t.triggerTarget).forEach((function(e){e.removeAttribute("aria-expanded")})):n.triggerTarget&&o.removeAttribute("aria-expanded");ue(),ie(),J&&J(t,n);$.popperInstance&&(Ce(),Ae().forEach((function(e){requestAnimationFrame(e._tippy.popperInstance.forceUpdate)})));ae("onAfterUpdate",[$,e])},setContent:function(e){$.setProps({content:e})},show:function(){var e=$.state.isVisible,t=$.state.isDestroyed,o=!$.state.isEnabled,a=x.isTouch&&!$.props.touch,s=r($.props.duration,0,R.duration);if(e||t||o||a)return;if(te().hasAttribute("disabled"))return;if(ae("onShow",[$],!1),!1===$.props.onShow($))return;$.state.isVisible=!0,ee()&&(z.style.visibility="visible");ie(),de(),$.state.isMounted||(z.style.transition="none");if(ee()){var u=re(),p=u.box,f=u.content;b([p,f],0)}A=function(){var e;if($.state.isVisible&&!_){if(_=!0,z.offsetHeight,z.style.transition=$.props.moveTransition,ee()&&$.props.animation){var t=re(),n=t.box,r=t.content;b([n,r],s),y([n,r],"visible")}se(),ue(),c(U,$),null==(e=$.popperInstance)||e.forceUpdate(),ae("onMount",[$]),$.props.animation&&ee()&&function(e,t){me(e,t)}(s,(function(){$.state.isShown=!0,ae("onShown",[$])}))}},function(){var e,t=$.props.appendTo,r=te();e=$.props.interactive&&t===n||"parent"===t?r.parentNode:i(t,[r]);e.contains(z)||e.appendChild(z);$.state.isMounted=!0,Ce()}()},hide:function(){var e=!$.state.isVisible,t=$.state.isDestroyed,n=!$.state.isEnabled,o=r($.props.duration,1,R.duration);if(e||t||n)return;if(ae("onHide",[$],!1),!1===$.props.onHide($))return;$.state.isVisible=!1,$.state.isShown=!1,_=!1,V=!1,ee()&&(z.style.visibility="hidden");if(ce(),ve(),ie(!0),ee()){var i=re(),a=i.box,s=i.content;$.props.animation&&(b([a,s],o),y([a,s],"hidden"))}se(),ue(),$.props.animation?ee()&&function(e,t){me(e,(function(){!$.state.isVisible&&z.parentNode&&z.parentNode.contains(z)&&t()}))}(o,$.unmount):$.unmount()},hideWithInteractivity:function(e){ne().addEventListener("mousemove",W),c(H,W),W(e)},enable:function(){$.state.isEnabled=!0},disable:function(){$.hide(),$.state.isEnabled=!1},unmount:function(){$.state.isVisible&&$.hide();if(!$.state.isMounted)return;Te(),Ae().forEach((function(e){e._tippy.unmount()})),z.parentNode&&z.parentNode.removeChild(z);U=U.filter((function(e){return e!==$})),$.state.isMounted=!1,ae("onHidden",[$])},destroy:function(){if($.state.isDestroyed)return;$.clearDelayTimeouts(),$.unmount(),be(),delete o._tippy,$.state.isDestroyed=!0,ae("onDestroy",[$])}};if(!M.render)return $;var q=M.render($),z=q.popper,J=q.onUpdate;z.setAttribute("data-tippy-root",""),z.id="tippy-"+$.id,$.popper=z,o._tippy=$,z._tippy=$;var G=Y.map((function(e){return e.fn($)})),K=o.hasAttribute("aria-expanded");return he(),ue(),ie(),ae("onCreate",[$]),M.showOnCreate&&Le(),z.addEventListener("mouseenter",(function(){$.props.interactive&&$.state.isVisible&&$.clearDelayTimeouts()})),z.addEventListener("mouseleave",(function(){$.props.interactive&&$.props.trigger.indexOf("mouseenter")>=0&&ne().addEventListener("mousemove",W)})),$;function Q(){var e=$.props.touch;return Array.isArray(e)?e:[e,0]}function Z(){return"hold"===Q()[0]}function ee(){var e;return!(null==(e=$.props.render)||!e.$$tippy)}function te(){return L||o}function ne(){var e=te().parentNode;return e?w(e):document}function re(){return S(z)}function oe(e){return $.state.isMounted&&!$.state.isVisible||x.isTouch||C&&"focus"===C.type?0:r($.props.delay,e?0:1,R.delay)}function ie(e){void 0===e&&(e=!1),z.style.pointerEvents=$.props.interactive&&!e?"":"none",z.style.zIndex=""+$.props.zIndex}function ae(e,t,n){var r;(void 0===n&&(n=!0),G.forEach((function(n){n[e]&&n[e].apply(n,t)})),n)&&(r=$.props)[e].apply(r,t)}function se(){var e=$.props.aria;if(e.content){var t="aria-"+e.content,n=z.id;u($.props.triggerTarget||o).forEach((function(e){var r=e.getAttribute(t);if($.state.isVisible)e.setAttribute(t,r?r+" "+n:n);else{var o=r&&r.replace(n,"").trim();o?e.setAttribute(t,o):e.removeAttribute(t)}}))}}function ue(){!K&&$.props.aria.expanded&&u($.props.triggerTarget||o).forEach((function(e){$.props.interactive?e.setAttribute("aria-expanded",$.state.isVisible&&e===te()?"true":"false"):e.removeAttribute("aria-expanded")}))}function ce(){ne().removeEventListener("mousemove",W),H=H.filter((function(e){return e!==W}))}function pe(e){if(!x.isTouch||!N&&"mousedown"!==e.type){var t=e.composedPath&&e.composedPath()[0]||e.target;if(!$.props.interactive||!O(z,t)){if(u($.props.triggerTarget||o).some((function(e){return O(e,t)}))){if(x.isTouch)return;if($.state.isVisible&&$.props.trigger.indexOf("click")>=0)return}else ae("onClickOutside",[$,e]);!0===$.props.hideOnClick&&($.clearDelayTimeouts(),$.hide(),I=!0,setTimeout((function(){I=!1})),$.state.isMounted||ve())}}}function fe(){N=!0}function le(){N=!1}function de(){var e=ne();e.addEventListener("mousedown",pe,!0),e.addEventListener("touchend",pe,t),e.addEventListener("touchstart",le,t),e.addEventListener("touchmove",fe,t)}function ve(){var e=ne();e.removeEventListener("mousedown",pe,!0),e.removeEventListener("touchend",pe,t),e.removeEventListener("touchstart",le,t),e.removeEventListener("touchmove",fe,t)}function me(e,t){var n=re().box;function r(e){e.target===n&&(E(n,"remove",r),t())}if(0===e)return t();E(n,"remove",T),E(n,"add",r),T=r}function ge(e,t,n){void 0===n&&(n=!1),u($.props.triggerTarget||o).forEach((function(r){r.addEventListener(e,t,n),F.push({node:r,eventType:e,handler:t,options:n})}))}function he(){var e;Z()&&(ge("touchstart",ye,{passive:!0}),ge("touchend",Ee,{passive:!0})),(e=$.props.trigger,e.split(/\s+/).filter(Boolean)).forEach((function(e){if("manual"!==e)switch(ge(e,ye),e){case"mouseenter":ge("mouseleave",Ee);break;case"focus":ge(D?"focusout":"blur",Oe);break;case"focusin":ge("focusout",Oe)}}))}function be(){F.forEach((function(e){var t=e.node,n=e.eventType,r=e.handler,o=e.options;t.removeEventListener(n,r,o)})),F=[]}function ye(e){var t,n=!1;if($.state.isEnabled&&!xe(e)&&!I){var r="focus"===(null==(t=C)?void 0:t.type);C=e,L=e.currentTarget,ue(),!$.state.isVisible&&m(e)&&H.forEach((function(t){return t(e)})),"click"===e.type&&($.props.trigger.indexOf("mouseenter")<0||V)&&!1!==$.props.hideOnClick&&$.state.isVisible?n=!0:Le(e),"click"===e.type&&(V=!n),n&&!r&&De(e)}}function we(e){var t=e.target,n=te().contains(t)||z.contains(t);"mousemove"===e.type&&n||function(e,t){var n=t.clientX,r=t.clientY;return e.every((function(e){var t=e.popperRect,o=e.popperState,i=e.props.interactiveBorder,a=p(o.placement),s=o.modifiersData.offset;if(!s)return!0;var u="bottom"===a?s.top.y:0,c="top"===a?s.bottom.y:0,f="right"===a?s.left.x:0,l="left"===a?s.right.x:0,d=t.top-r+u>i,v=r-t.bottom-c>i,m=t.left-n+f>i,g=n-t.right-l>i;return d||v||m||g}))}(Ae().concat(z).map((function(e){var t,n=null==(t=e._tippy.popperInstance)?void 0:t.state;return n?{popperRect:e.getBoundingClientRect(),popperState:n,props:M}:null})).filter(Boolean),e)&&(ce(),De(e))}function Ee(e){xe(e)||$.props.trigger.indexOf("click")>=0&&V||($.props.interactive?$.hideWithInteractivity(e):De(e))}function Oe(e){$.props.trigger.indexOf("focusin")<0&&e.target!==te()||$.props.interactive&&e.relatedTarget&&z.contains(e.relatedTarget)||De(e)}function xe(e){return!!x.isTouch&&Z()!==e.type.indexOf("touch")>=0}function Ce(){Te();var t=$.props,n=t.popperOptions,r=t.placement,i=t.offset,a=t.getReferenceClientRect,s=t.moveTransition,u=ee()?S(z).arrow:null,c=a?{getBoundingClientRect:a,contextElement:a.contextElement||te()}:o,p=[{name:"offset",options:{offset:i}},{name:"preventOverflow",options:{padding:{top:2,bottom:2,left:5,right:5}}},{name:"flip",options:{padding:5}},{name:"computeStyles",options:{adaptive:!s}},{name:"$$tippy",enabled:!0,phase:"beforeWrite",requires:["computeStyles"],fn:function(e){var t=e.state;if(ee()){var n=re().box;["placement","reference-hidden","escaped"].forEach((function(e){"placement"===e?n.setAttribute("data-placement",t.placement):t.attributes.popper["data-popper-"+e]?n.setAttribute("data-"+e,""):n.removeAttribute("data-"+e)})),t.attributes.popper={}}}}];ee()&&u&&p.push({name:"arrow",options:{element:u,padding:3}}),p.push.apply(p,(null==n?void 0:n.modifiers)||[]),$.popperInstance=e.createPopper(c,z,Object.assign({},n,{placement:r,onFirstUpdate:A,modifiers:p}))}function Te(){$.popperInstance&&($.popperInstance.destroy(),$.popperInstance=null)}function Ae(){return f(z.querySelectorAll("[data-tippy-root]"))}function Le(e){$.clearDelayTimeouts(),e&&ae("onTrigger",[$,e]),de();var t=oe(!0),n=Q(),r=n[0],o=n[1];x.isTouch&&"hold"===r&&o&&(t=o),t?v=setTimeout((function(){$.show()}),t):$.show()}function De(e){if($.clearDelayTimeouts(),ae("onUntrigger",[$,e]),$.state.isVisible){if(!($.props.trigger.indexOf("mouseenter")>=0&&$.props.trigger.indexOf("click")>=0&&["mouseleave","mousemove"].indexOf(e.type)>=0&&V)){var t=oe(!1);t?g=setTimeout((function(){$.state.isVisible&&$.hide()}),t):h=requestAnimationFrame((function(){$.hide()}))}}else ve()}}function F(e,n){void 0===n&&(n={});var r=R.plugins.concat(n.plugins||[]);document.addEventListener("touchstart",T,t),window.addEventListener("blur",L);var o=Object.assign({},n,{plugins:r}),i=h(e).reduce((function(e,t){var n=t&&_(t,o);return n&&e.push(n),e}),[]);return v(e)?i[0]:i}F.defaultProps=R,F.setDefaultProps=function(e){Object.keys(e).forEach((function(t){R[t]=e[t]}))},F.currentInput=x;var W=Object.assign({},e.applyStyles,{effect:function(e){var t=e.state,n={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};Object.assign(t.elements.popper.style,n.popper),t.styles=n,t.elements.arrow&&Object.assign(t.elements.arrow.style,n.arrow)}}),X={mouseover:"mouseenter",focusin:"focus",click:"click"};var Y={name:"animateFill",defaultValue:!1,fn:function(e){var t;if(null==(t=e.props.render)||!t.$$tippy)return{};var n=S(e.popper),r=n.box,o=n.content,i=e.props.animateFill?function(){var e=d();return e.className="tippy-backdrop",y([e],"hidden"),e}():null;return{onCreate:function(){i&&(r.insertBefore(i,r.firstElementChild),r.setAttribute("data-animatefill",""),r.style.overflow="hidden",e.setProps({arrow:!1,animation:"shift-away"}))},onMount:function(){if(i){var e=r.style.transitionDuration,t=Number(e.replace("ms",""));o.style.transitionDelay=Math.round(t/10)+"ms",i.style.transitionDuration=e,y([i],"visible")}},onShow:function(){i&&(i.style.transitionDuration="0ms")},onHide:function(){i&&y([i],"hidden")}}}};var $={clientX:0,clientY:0},q=[];function z(e){var t=e.clientX,n=e.clientY;$={clientX:t,clientY:n}}var J={name:"followCursor",defaultValue:!1,fn:function(e){var t=e.reference,n=w(e.props.triggerTarget||t),r=!1,o=!1,i=!0,a=e.props;function s(){return"initial"===e.props.followCursor&&e.state.isVisible}function u(){n.addEventListener("mousemove",f)}function c(){n.removeEventListener("mousemove",f)}function p(){r=!0,e.setProps({getReferenceClientRect:null}),r=!1}function f(n){var r=!n.target||t.contains(n.target),o=e.props.followCursor,i=n.clientX,a=n.clientY,s=t.getBoundingClientRect(),u=i-s.left,c=a-s.top;!r&&e.props.interactive||e.setProps({getReferenceClientRect:function(){var e=t.getBoundingClientRect(),n=i,r=a;"initial"===o&&(n=e.left+u,r=e.top+c);var s="horizontal"===o?e.top:r,p="vertical"===o?e.right:n,f="horizontal"===o?e.bottom:r,l="vertical"===o?e.left:n;return{width:p-l,height:f-s,top:s,right:p,bottom:f,left:l}}})}function l(){e.props.followCursor&&(q.push({instance:e,doc:n}),function(e){e.addEventListener("mousemove",z)}(n))}function d(){0===(q=q.filter((function(t){return t.instance!==e}))).filter((function(e){return e.doc===n})).length&&function(e){e.removeEventListener("mousemove",z)}(n)}return{onCreate:l,onDestroy:d,onBeforeUpdate:function(){a=e.props},onAfterUpdate:function(t,n){var i=n.followCursor;r||void 0!==i&&a.followCursor!==i&&(d(),i?(l(),!e.state.isMounted||o||s()||u()):(c(),p()))},onMount:function(){e.props.followCursor&&!o&&(i&&(f($),i=!1),s()||u())},onTrigger:function(e,t){m(t)&&($={clientX:t.clientX,clientY:t.clientY}),o="focus"===t.type},onHidden:function(){e.props.followCursor&&(p(),c(),i=!0)}}}};var G={name:"inlinePositioning",defaultValue:!1,fn:function(e){var t,n=e.reference;var r=-1,o=!1,i=[],a={name:"tippyInlinePositioning",enabled:!0,phase:"afterWrite",fn:function(o){var a=o.state;e.props.inlinePositioning&&(-1!==i.indexOf(a.placement)&&(i=[]),t!==a.placement&&-1===i.indexOf(a.placement)&&(i.push(a.placement),e.setProps({getReferenceClientRect:function(){return function(e){return function(e,t,n,r){if(n.length<2||null===e)return t;if(2===n.length&&r>=0&&n[0].left>n[1].right)return n[r]||t;switch(e){case"top":case"bottom":var o=n[0],i=n[n.length-1],a="top"===e,s=o.top,u=i.bottom,c=a?o.left:i.left,p=a?o.right:i.right;return{top:s,bottom:u,left:c,right:p,width:p-c,height:u-s};case"left":case"right":var f=Math.min.apply(Math,n.map((function(e){return e.left}))),l=Math.max.apply(Math,n.map((function(e){return e.right}))),d=n.filter((function(t){return"left"===e?t.left===f:t.right===l})),v=d[0].top,m=d[d.length-1].bottom;return{top:v,bottom:m,left:f,right:l,width:l-f,height:m-v};default:return t}}(p(e),n.getBoundingClientRect(),f(n.getClientRects()),r)}(a.placement)}})),t=a.placement)}};function s(){var t;o||(t=function(e,t){var n;return{popperOptions:Object.assign({},e.popperOptions,{modifiers:[].concat(((null==(n=e.popperOptions)?void 0:n.modifiers)||[]).filter((function(e){return e.name!==t.name})),[t])})}}(e.props,a),o=!0,e.setProps(t),o=!1)}return{onCreate:s,onAfterUpdate:s,onTrigger:function(t,n){if(m(n)){var o=f(e.reference.getClientRects()),i=o.find((function(e){return e.left-2<=n.clientX&&e.right+2>=n.clientX&&e.top-2<=n.clientY&&e.bottom+2>=n.clientY})),a=o.indexOf(i);r=a>-1?a:r}},onHidden:function(){r=-1}}}};var K={name:"sticky",defaultValue:!1,fn:function(e){var t=e.reference,n=e.popper;function r(t){return!0===e.props.sticky||e.props.sticky===t}var o=null,i=null;function a(){var s=r("reference")?(e.popperInstance?e.popperInstance.state.elements.reference:t).getBoundingClientRect():null,u=r("popper")?n.getBoundingClientRect():null;(s&&Q(o,s)||u&&Q(i,u))&&e.popperInstance&&e.popperInstance.update(),o=s,i=u,e.state.isMounted&&requestAnimationFrame(a)}return{onMount:function(){e.props.sticky&&a()}}}};function Q(e,t){return!e||!t||(e.top!==t.top||e.right!==t.right||e.bottom!==t.bottom||e.left!==t.left)}return F.setDefaultProps({plugins:[Y,J,G,K],render:N}),F.createSingleton=function(e,t){var n;void 0===t&&(t={});var r,o=e,i=[],a=[],c=t.overrides,p=[],f=!1;function l(){a=o.map((function(e){return u(e.props.triggerTarget||e.reference)})).reduce((function(e,t){return e.concat(t)}),[])}function v(){i=o.map((function(e){return e.reference}))}function m(e){o.forEach((function(t){e?t.enable():t.disable()}))}function g(e){return o.map((function(t){var n=t.setProps;return t.setProps=function(o){n(o),t.reference===r&&e.setProps(o)},function(){t.setProps=n}}))}function h(e,t){var n=a.indexOf(t);if(t!==r){r=t;var s=(c||[]).concat("content").reduce((function(e,t){return e[t]=o[n].props[t],e}),{});e.setProps(Object.assign({},s,{getReferenceClientRect:"function"==typeof s.getReferenceClientRect?s.getReferenceClientRect:function(){var e;return null==(e=i[n])?void 0:e.getBoundingClientRect()}}))}}m(!1),v(),l();var b={fn:function(){return{onDestroy:function(){m(!0)},onHidden:function(){r=null},onClickOutside:function(e){e.props.showOnCreate&&!f&&(f=!0,r=null)},onShow:function(e){e.props.showOnCreate&&!f&&(f=!0,h(e,i[0]))},onTrigger:function(e,t){h(e,t.currentTarget)}}}},y=F(d(),Object.assign({},s(t,["overrides"]),{plugins:[b].concat(t.plugins||[]),triggerTarget:a,popperOptions:Object.assign({},t.popperOptions,{modifiers:[].concat((null==(n=t.popperOptions)?void 0:n.modifiers)||[],[W])})})),w=y.show;y.show=function(e){if(w(),!r&&null==e)return h(y,i[0]);if(!r||null!=e){if("number"==typeof e)return i[e]&&h(y,i[e]);if(o.indexOf(e)>=0){var t=e.reference;return h(y,t)}return i.indexOf(e)>=0?h(y,e):void 0}},y.showNext=function(){var e=i[0];if(!r)return y.show(0);var t=i.indexOf(r);y.show(i[t+1]||e)},y.showPrevious=function(){var e=i[i.length-1];if(!r)return y.show(e);var t=i.indexOf(r),n=i[t-1]||e;y.show(n)};var E=y.setProps;return y.setProps=function(e){c=e.overrides||c,E(e)},y.setInstances=function(e){m(!0),p.forEach((function(e){return e()})),o=e,m(!1),v(),l(),p=g(y),y.setProps({triggerTarget:a})},p=g(y),y},F.delegate=function(e,n){var r=[],o=[],i=!1,a=n.target,c=s(n,["target"]),p=Object.assign({},c,{trigger:"manual",touch:!1}),f=Object.assign({touch:R.touch},c,{showOnCreate:!0}),l=F(e,p);function d(e){if(e.target&&!i){var t=e.target.closest(a);if(t){var r=t.getAttribute("data-tippy-trigger")||n.trigger||R.trigger;if(!t._tippy&&!("touchstart"===e.type&&"boolean"==typeof f.touch||"touchstart"!==e.type&&r.indexOf(X[e.type])<0)){var s=F(t,f);s&&(o=o.concat(s))}}}}function v(e,t,n,o){void 0===o&&(o=!1),e.addEventListener(t,n,o),r.push({node:e,eventType:t,handler:n,options:o})}return u(l).forEach((function(e){var n=e.destroy,a=e.enable,s=e.disable;e.destroy=function(e){void 0===e&&(e=!0),e&&o.forEach((function(e){e.destroy()})),o=[],r.forEach((function(e){var t=e.node,n=e.eventType,r=e.handler,o=e.options;t.removeEventListener(n,r,o)})),r=[],n()},e.enable=function(){a(),o.forEach((function(e){return e.enable()})),i=!1},e.disable=function(){s(),o.forEach((function(e){return e.disable()})),i=!0},function(e){var n=e.reference;v(n,"touchstart",d,t),v(n,"mouseover",d),v(n,"focusin",d),v(n,"click",d)}(e)})),l},F.hideAll=function(e){var t=void 0===e?{}:e,n=t.exclude,r=t.duration;U.forEach((function(e){var t=!1;if(n&&(t=g(n)?e.reference===n:e.popper===n.popper),!t){var o=e.props.duration;e.setProps({duration:r}),e.hide(),e.state.isDestroyed||e.setProps({duration:o})}}))},F.roundArrow='<svg width="16" height="6" xmlns="http://www.w3.org/2000/svg"><path d="M0 6s1.796-.013 4.67-3.615C5.851.9 6.93.006 8 0c1.07-.006 2.148.887 3.343 2.385C14.233 6.005 16 6 16 6H0z"></svg>',F}));
2
+
llm_conf_files/libs/revealjs/dist/reset.css ADDED
@@ -0,0 +1,30 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /* http://meyerweb.com/eric/tools/css/reset/
2
+ v4.0 | 20180602
3
+ License: none (public domain)
4
+ */
5
+
6
+ html, body, div, span, applet, object, iframe,
7
+ h1, h2, h3, h4, h5, h6, p, blockquote, pre,
8
+ a, abbr, acronym, address, big, cite, code,
9
+ del, dfn, em, img, ins, kbd, q, s, samp,
10
+ small, strike, strong, sub, sup, tt, var,
11
+ b, u, i, center,
12
+ dl, dt, dd, ol, ul, li,
13
+ fieldset, form, label, legend,
14
+ table, caption, tbody, tfoot, thead, tr, th, td,
15
+ article, aside, canvas, details, embed,
16
+ figure, figcaption, footer, header, hgroup,
17
+ main, menu, nav, output, ruby, section, summary,
18
+ time, mark, audio, video {
19
+ margin: 0;
20
+ padding: 0;
21
+ border: 0;
22
+ font-size: 100%;
23
+ font: inherit;
24
+ vertical-align: baseline;
25
+ }
26
+ /* HTML5 display-role reset for older browsers */
27
+ article, aside, details, figcaption, figure,
28
+ footer, header, hgroup, main, menu, nav, section {
29
+ display: block;
30
+ }
llm_conf_files/libs/revealjs/dist/reveal.css ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * reveal.js 4.3.1
3
+ * https://revealjs.com
4
+ * MIT licensed
5
+ *
6
+ * Copyright (C) 2011-2022 Hakim El Hattab, https://hakim.se
7
+ */
8
+ .reveal .r-stretch,.reveal .stretch{max-width:none;max-height:none}.reveal pre.r-stretch code,.reveal pre.stretch code{height:100%;max-height:100%;box-sizing:border-box}.reveal .r-fit-text{display:inline-block;white-space:nowrap}.reveal .r-stack{display:grid}.reveal .r-stack>*{grid-area:1/1;margin:auto}.reveal .r-hstack,.reveal .r-vstack{display:flex}.reveal .r-hstack img,.reveal .r-hstack video,.reveal .r-vstack img,.reveal .r-vstack video{min-width:0;min-height:0;-o-object-fit:contain;object-fit:contain}.reveal .r-vstack{flex-direction:column;align-items:center;justify-content:center}.reveal .r-hstack{flex-direction:row;align-items:center;justify-content:center}.reveal .items-stretch{align-items:stretch}.reveal .items-start{align-items:flex-start}.reveal .items-center{align-items:center}.reveal .items-end{align-items:flex-end}.reveal .justify-between{justify-content:space-between}.reveal .justify-around{justify-content:space-around}.reveal .justify-start{justify-content:flex-start}.reveal .justify-center{justify-content:center}.reveal .justify-end{justify-content:flex-end}html.reveal-full-page{width:100%;height:100%;height:100vh;height:calc(var(--vh,1vh) * 100);overflow:hidden}.reveal-viewport{height:100%;overflow:hidden;position:relative;line-height:1;margin:0;background-color:#fff;color:#000}.reveal-viewport:-webkit-full-screen{top:0!important;left:0!important;width:100%!important;height:100%!important;transform:none!important}.reveal-viewport:-ms-fullscreen{top:0!important;left:0!important;width:100%!important;height:100%!important;transform:none!important}.reveal-viewport:fullscreen{top:0!important;left:0!important;width:100%!important;height:100%!important;transform:none!important}.reveal .slides section .fragment{opacity:0;visibility:hidden;transition:all .2s ease;will-change:opacity}.reveal .slides section .fragment.visible{opacity:1;visibility:inherit}.reveal .slides section .fragment.disabled{transition:none}.reveal .slides section .fragment.grow{opacity:1;visibility:inherit}.reveal .slides section .fragment.grow.visible{transform:scale(1.3)}.reveal .slides section .fragment.shrink{opacity:1;visibility:inherit}.reveal .slides section .fragment.shrink.visible{transform:scale(.7)}.reveal .slides section .fragment.zoom-in{transform:scale(.1)}.reveal .slides section .fragment.zoom-in.visible{transform:none}.reveal .slides section .fragment.fade-out{opacity:1;visibility:inherit}.reveal .slides section .fragment.fade-out.visible{opacity:0;visibility:hidden}.reveal .slides section .fragment.semi-fade-out{opacity:1;visibility:inherit}.reveal .slides section .fragment.semi-fade-out.visible{opacity:.5;visibility:inherit}.reveal .slides section .fragment.strike{opacity:1;visibility:inherit}.reveal .slides section .fragment.strike.visible{text-decoration:line-through}.reveal .slides section .fragment.fade-up{transform:translate(0,40px)}.reveal .slides section .fragment.fade-up.visible{transform:translate(0,0)}.reveal .slides section .fragment.fade-down{transform:translate(0,-40px)}.reveal .slides section .fragment.fade-down.visible{transform:translate(0,0)}.reveal .slides section .fragment.fade-right{transform:translate(-40px,0)}.reveal .slides section .fragment.fade-right.visible{transform:translate(0,0)}.reveal .slides section .fragment.fade-left{transform:translate(40px,0)}.reveal .slides section .fragment.fade-left.visible{transform:translate(0,0)}.reveal .slides section .fragment.current-visible,.reveal .slides section .fragment.fade-in-then-out{opacity:0;visibility:hidden}.reveal .slides section .fragment.current-visible.current-fragment,.reveal .slides section .fragment.fade-in-then-out.current-fragment{opacity:1;visibility:inherit}.reveal .slides section .fragment.fade-in-then-semi-out{opacity:0;visibility:hidden}.reveal .slides section .fragment.fade-in-then-semi-out.visible{opacity:.5;visibility:inherit}.reveal .slides section .fragment.fade-in-then-semi-out.current-fragment{opacity:1;visibility:inherit}.reveal .slides section .fragment.highlight-blue,.reveal .slides section .fragment.highlight-current-blue,.reveal .slides section .fragment.highlight-current-green,.reveal .slides section .fragment.highlight-current-red,.reveal .slides section .fragment.highlight-green,.reveal .slides section .fragment.highlight-red{opacity:1;visibility:inherit}.reveal .slides section .fragment.highlight-red.visible{color:#ff2c2d}.reveal .slides section .fragment.highlight-green.visible{color:#17ff2e}.reveal .slides section .fragment.highlight-blue.visible{color:#1b91ff}.reveal .slides section .fragment.highlight-current-red.current-fragment{color:#ff2c2d}.reveal .slides section .fragment.highlight-current-green.current-fragment{color:#17ff2e}.reveal .slides section .fragment.highlight-current-blue.current-fragment{color:#1b91ff}.reveal:after{content:"";font-style:italic}.reveal iframe{z-index:1}.reveal a{position:relative}@keyframes bounce-right{0%,10%,25%,40%,50%{transform:translateX(0)}20%{transform:translateX(10px)}30%{transform:translateX(-5px)}}@keyframes bounce-left{0%,10%,25%,40%,50%{transform:translateX(0)}20%{transform:translateX(-10px)}30%{transform:translateX(5px)}}@keyframes bounce-down{0%,10%,25%,40%,50%{transform:translateY(0)}20%{transform:translateY(10px)}30%{transform:translateY(-5px)}}.reveal .controls{display:none;position:absolute;top:auto;bottom:12px;right:12px;left:auto;z-index:11;color:#000;pointer-events:none;font-size:10px}.reveal .controls button{position:absolute;padding:0;background-color:transparent;border:0;outline:0;cursor:pointer;color:currentColor;transform:scale(.9999);transition:color .2s ease,opacity .2s ease,transform .2s ease;z-index:2;pointer-events:auto;font-size:inherit;visibility:hidden;opacity:0;-webkit-appearance:none;-webkit-tap-highlight-color:transparent}.reveal .controls .controls-arrow:after,.reveal .controls .controls-arrow:before{content:"";position:absolute;top:0;left:0;width:2.6em;height:.5em;border-radius:.25em;background-color:currentColor;transition:all .15s ease,background-color .8s ease;transform-origin:.2em 50%;will-change:transform}.reveal .controls .controls-arrow{position:relative;width:3.6em;height:3.6em}.reveal .controls .controls-arrow:before{transform:translateX(.5em) translateY(1.55em) rotate(45deg)}.reveal .controls .controls-arrow:after{transform:translateX(.5em) translateY(1.55em) rotate(-45deg)}.reveal .controls .controls-arrow:hover:before{transform:translateX(.5em) translateY(1.55em) rotate(40deg)}.reveal .controls .controls-arrow:hover:after{transform:translateX(.5em) translateY(1.55em) rotate(-40deg)}.reveal .controls .controls-arrow:active:before{transform:translateX(.5em) translateY(1.55em) rotate(36deg)}.reveal .controls .controls-arrow:active:after{transform:translateX(.5em) translateY(1.55em) rotate(-36deg)}.reveal .controls .navigate-left{right:6.4em;bottom:3.2em;transform:translateX(-10px)}.reveal .controls .navigate-left.highlight{animation:bounce-left 2s 50 both ease-out}.reveal .controls .navigate-right{right:0;bottom:3.2em;transform:translateX(10px)}.reveal .controls .navigate-right .controls-arrow{transform:rotate(180deg)}.reveal .controls .navigate-right.highlight{animation:bounce-right 2s 50 both ease-out}.reveal .controls .navigate-up{right:3.2em;bottom:6.4em;transform:translateY(-10px)}.reveal .controls .navigate-up .controls-arrow{transform:rotate(90deg)}.reveal .controls .navigate-down{right:3.2em;bottom:-1.4em;padding-bottom:1.4em;transform:translateY(10px)}.reveal .controls .navigate-down .controls-arrow{transform:rotate(-90deg)}.reveal .controls .navigate-down.highlight{animation:bounce-down 2s 50 both ease-out}.reveal .controls[data-controls-back-arrows=faded] .navigate-up.enabled{opacity:.3}.reveal .controls[data-controls-back-arrows=faded] .navigate-up.enabled:hover{opacity:1}.reveal .controls[data-controls-back-arrows=hidden] .navigate-up.enabled{opacity:0;visibility:hidden}.reveal .controls .enabled{visibility:visible;opacity:.9;cursor:pointer;transform:none}.reveal .controls .enabled.fragmented{opacity:.5}.reveal .controls .enabled.fragmented:hover,.reveal .controls .enabled:hover{opacity:1}.reveal:not(.rtl) .controls[data-controls-back-arrows=faded] .navigate-left.enabled{opacity:.3}.reveal:not(.rtl) .controls[data-controls-back-arrows=faded] .navigate-left.enabled:hover{opacity:1}.reveal:not(.rtl) .controls[data-controls-back-arrows=hidden] .navigate-left.enabled{opacity:0;visibility:hidden}.reveal.rtl .controls[data-controls-back-arrows=faded] .navigate-right.enabled{opacity:.3}.reveal.rtl .controls[data-controls-back-arrows=faded] .navigate-right.enabled:hover{opacity:1}.reveal.rtl .controls[data-controls-back-arrows=hidden] .navigate-right.enabled{opacity:0;visibility:hidden}.reveal[data-navigation-mode=linear].has-horizontal-slides .navigate-down,.reveal[data-navigation-mode=linear].has-horizontal-slides .navigate-up{display:none}.reveal:not(.has-vertical-slides) .controls .navigate-left,.reveal[data-navigation-mode=linear].has-horizontal-slides .navigate-left{bottom:1.4em;right:5.5em}.reveal:not(.has-vertical-slides) .controls .navigate-right,.reveal[data-navigation-mode=linear].has-horizontal-slides .navigate-right{bottom:1.4em;right:.5em}.reveal:not(.has-horizontal-slides) .controls .navigate-up{right:1.4em;bottom:5em}.reveal:not(.has-horizontal-slides) .controls .navigate-down{right:1.4em;bottom:.5em}.reveal.has-dark-background .controls{color:#fff}.reveal.has-light-background .controls{color:#000}.reveal.no-hover .controls .controls-arrow:active:before,.reveal.no-hover .controls .controls-arrow:hover:before{transform:translateX(.5em) translateY(1.55em) rotate(45deg)}.reveal.no-hover .controls .controls-arrow:active:after,.reveal.no-hover .controls .controls-arrow:hover:after{transform:translateX(.5em) translateY(1.55em) rotate(-45deg)}@media screen and (min-width:500px){.reveal .controls[data-controls-layout=edges]{top:0;right:0;bottom:0;left:0}.reveal .controls[data-controls-layout=edges] .navigate-down,.reveal .controls[data-controls-layout=edges] .navigate-left,.reveal .controls[data-controls-layout=edges] .navigate-right,.reveal .controls[data-controls-layout=edges] .navigate-up{bottom:auto;right:auto}.reveal .controls[data-controls-layout=edges] .navigate-left{top:50%;left:.8em;margin-top:-1.8em}.reveal .controls[data-controls-layout=edges] .navigate-right{top:50%;right:.8em;margin-top:-1.8em}.reveal .controls[data-controls-layout=edges] .navigate-up{top:.8em;left:50%;margin-left:-1.8em}.reveal .controls[data-controls-layout=edges] .navigate-down{bottom:-.3em;left:50%;margin-left:-1.8em}}.reveal .progress{position:absolute;display:none;height:3px;width:100%;bottom:0;left:0;z-index:10;background-color:rgba(0,0,0,.2);color:#fff}.reveal .progress:after{content:"";display:block;position:absolute;height:10px;width:100%;top:-10px}.reveal .progress span{display:block;height:100%;width:100%;background-color:currentColor;transition:transform .8s cubic-bezier(.26,.86,.44,.985);transform-origin:0 0;transform:scaleX(0)}.reveal .slide-number{position:absolute;display:block;right:8px;bottom:8px;z-index:31;font-family:Helvetica,sans-serif;font-size:12px;line-height:1;color:#fff;background-color:rgba(0,0,0,.4);padding:5px}.reveal .slide-number a{color:currentColor}.reveal .slide-number-delimiter{margin:0 3px}.reveal{position:relative;width:100%;height:100%;overflow:hidden;touch-action:pinch-zoom}.reveal.embedded{touch-action:pan-y}.reveal .slides{position:absolute;width:100%;height:100%;top:0;right:0;bottom:0;left:0;margin:auto;pointer-events:none;overflow:visible;z-index:1;text-align:center;perspective:600px;perspective-origin:50% 40%}.reveal .slides>section{perspective:600px}.reveal .slides>section,.reveal .slides>section>section{display:none;position:absolute;width:100%;pointer-events:auto;z-index:10;transform-style:flat;transition:transform-origin .8s cubic-bezier(.26,.86,.44,.985),transform .8s cubic-bezier(.26,.86,.44,.985),visibility .8s cubic-bezier(.26,.86,.44,.985),opacity .8s cubic-bezier(.26,.86,.44,.985)}.reveal[data-transition-speed=fast] .slides section{transition-duration:.4s}.reveal[data-transition-speed=slow] .slides section{transition-duration:1.2s}.reveal .slides section[data-transition-speed=fast]{transition-duration:.4s}.reveal .slides section[data-transition-speed=slow]{transition-duration:1.2s}.reveal .slides>section.stack{padding-top:0;padding-bottom:0;pointer-events:none;height:100%}.reveal .slides>section.present,.reveal .slides>section>section.present{display:block;z-index:11;opacity:1}.reveal .slides>section:empty,.reveal .slides>section>section:empty,.reveal .slides>section>section[data-background-interactive],.reveal .slides>section[data-background-interactive]{pointer-events:none}.reveal.center,.reveal.center .slides,.reveal.center .slides section{min-height:0!important}.reveal .slides>section:not(.present),.reveal .slides>section>section:not(.present){pointer-events:none}.reveal.overview .slides>section,.reveal.overview .slides>section>section{pointer-events:auto}.reveal .slides>section.future,.reveal .slides>section.past,.reveal .slides>section>section.future,.reveal .slides>section>section.past{opacity:0}.reveal .slides>section[data-transition=slide].past,.reveal .slides>section[data-transition~=slide-out].past,.reveal.slide .slides>section:not([data-transition]).past{transform:translate(-150%,0)}.reveal .slides>section[data-transition=slide].future,.reveal .slides>section[data-transition~=slide-in].future,.reveal.slide .slides>section:not([data-transition]).future{transform:translate(150%,0)}.reveal .slides>section>section[data-transition=slide].past,.reveal .slides>section>section[data-transition~=slide-out].past,.reveal.slide .slides>section>section:not([data-transition]).past{transform:translate(0,-150%)}.reveal .slides>section>section[data-transition=slide].future,.reveal .slides>section>section[data-transition~=slide-in].future,.reveal.slide .slides>section>section:not([data-transition]).future{transform:translate(0,150%)}.reveal .slides>section[data-transition=linear].past,.reveal .slides>section[data-transition~=linear-out].past,.reveal.linear .slides>section:not([data-transition]).past{transform:translate(-150%,0)}.reveal .slides>section[data-transition=linear].future,.reveal .slides>section[data-transition~=linear-in].future,.reveal.linear .slides>section:not([data-transition]).future{transform:translate(150%,0)}.reveal .slides>section>section[data-transition=linear].past,.reveal .slides>section>section[data-transition~=linear-out].past,.reveal.linear .slides>section>section:not([data-transition]).past{transform:translate(0,-150%)}.reveal .slides>section>section[data-transition=linear].future,.reveal .slides>section>section[data-transition~=linear-in].future,.reveal.linear .slides>section>section:not([data-transition]).future{transform:translate(0,150%)}.reveal .slides section[data-transition=default].stack,.reveal.default .slides section.stack{transform-style:preserve-3d}.reveal .slides>section[data-transition=default].past,.reveal .slides>section[data-transition~=default-out].past,.reveal.default .slides>section:not([data-transition]).past{transform:translate3d(-100%,0,0) rotateY(-90deg) translate3d(-100%,0,0)}.reveal .slides>section[data-transition=default].future,.reveal .slides>section[data-transition~=default-in].future,.reveal.default .slides>section:not([data-transition]).future{transform:translate3d(100%,0,0) rotateY(90deg) translate3d(100%,0,0)}.reveal .slides>section>section[data-transition=default].past,.reveal .slides>section>section[data-transition~=default-out].past,.reveal.default .slides>section>section:not([data-transition]).past{transform:translate3d(0,-300px,0) rotateX(70deg) translate3d(0,-300px,0)}.reveal .slides>section>section[data-transition=default].future,.reveal .slides>section>section[data-transition~=default-in].future,.reveal.default .slides>section>section:not([data-transition]).future{transform:translate3d(0,300px,0) rotateX(-70deg) translate3d(0,300px,0)}.reveal .slides section[data-transition=convex].stack,.reveal.convex .slides section.stack{transform-style:preserve-3d}.reveal .slides>section[data-transition=convex].past,.reveal .slides>section[data-transition~=convex-out].past,.reveal.convex .slides>section:not([data-transition]).past{transform:translate3d(-100%,0,0) rotateY(-90deg) translate3d(-100%,0,0)}.reveal .slides>section[data-transition=convex].future,.reveal .slides>section[data-transition~=convex-in].future,.reveal.convex .slides>section:not([data-transition]).future{transform:translate3d(100%,0,0) rotateY(90deg) translate3d(100%,0,0)}.reveal .slides>section>section[data-transition=convex].past,.reveal .slides>section>section[data-transition~=convex-out].past,.reveal.convex .slides>section>section:not([data-transition]).past{transform:translate3d(0,-300px,0) rotateX(70deg) translate3d(0,-300px,0)}.reveal .slides>section>section[data-transition=convex].future,.reveal .slides>section>section[data-transition~=convex-in].future,.reveal.convex .slides>section>section:not([data-transition]).future{transform:translate3d(0,300px,0) rotateX(-70deg) translate3d(0,300px,0)}.reveal .slides section[data-transition=concave].stack,.reveal.concave .slides section.stack{transform-style:preserve-3d}.reveal .slides>section[data-transition=concave].past,.reveal .slides>section[data-transition~=concave-out].past,.reveal.concave .slides>section:not([data-transition]).past{transform:translate3d(-100%,0,0) rotateY(90deg) translate3d(-100%,0,0)}.reveal .slides>section[data-transition=concave].future,.reveal .slides>section[data-transition~=concave-in].future,.reveal.concave .slides>section:not([data-transition]).future{transform:translate3d(100%,0,0) rotateY(-90deg) translate3d(100%,0,0)}.reveal .slides>section>section[data-transition=concave].past,.reveal .slides>section>section[data-transition~=concave-out].past,.reveal.concave .slides>section>section:not([data-transition]).past{transform:translate3d(0,-80%,0) rotateX(-70deg) translate3d(0,-80%,0)}.reveal .slides>section>section[data-transition=concave].future,.reveal .slides>section>section[data-transition~=concave-in].future,.reveal.concave .slides>section>section:not([data-transition]).future{transform:translate3d(0,80%,0) rotateX(70deg) translate3d(0,80%,0)}.reveal .slides section[data-transition=zoom],.reveal.zoom .slides section:not([data-transition]){transition-timing-function:ease}.reveal .slides>section[data-transition=zoom].past,.reveal .slides>section[data-transition~=zoom-out].past,.reveal.zoom .slides>section:not([data-transition]).past{visibility:hidden;transform:scale(16)}.reveal .slides>section[data-transition=zoom].future,.reveal .slides>section[data-transition~=zoom-in].future,.reveal.zoom .slides>section:not([data-transition]).future{visibility:hidden;transform:scale(.2)}.reveal .slides>section>section[data-transition=zoom].past,.reveal .slides>section>section[data-transition~=zoom-out].past,.reveal.zoom .slides>section>section:not([data-transition]).past{transform:scale(16)}.reveal .slides>section>section[data-transition=zoom].future,.reveal .slides>section>section[data-transition~=zoom-in].future,.reveal.zoom .slides>section>section:not([data-transition]).future{transform:scale(.2)}.reveal.cube .slides{perspective:1300px}.reveal.cube .slides section{padding:30px;min-height:700px;-webkit-backface-visibility:hidden;backface-visibility:hidden;box-sizing:border-box;transform-style:preserve-3d}.reveal.center.cube .slides section{min-height:0}.reveal.cube .slides section:not(.stack):before{content:"";position:absolute;display:block;width:100%;height:100%;left:0;top:0;background:rgba(0,0,0,.1);border-radius:4px;transform:translateZ(-20px)}.reveal.cube .slides section:not(.stack):after{content:"";position:absolute;display:block;width:90%;height:30px;left:5%;bottom:0;background:0 0;z-index:1;border-radius:4px;box-shadow:0 95px 25px rgba(0,0,0,.2);transform:translateZ(-90px) rotateX(65deg)}.reveal.cube .slides>section.stack{padding:0;background:0 0}.reveal.cube .slides>section.past{transform-origin:100% 0;transform:translate3d(-100%,0,0) rotateY(-90deg)}.reveal.cube .slides>section.future{transform-origin:0 0;transform:translate3d(100%,0,0) rotateY(90deg)}.reveal.cube .slides>section>section.past{transform-origin:0 100%;transform:translate3d(0,-100%,0) rotateX(90deg)}.reveal.cube .slides>section>section.future{transform-origin:0 0;transform:translate3d(0,100%,0) rotateX(-90deg)}.reveal.page .slides{perspective-origin:0 50%;perspective:3000px}.reveal.page .slides section{padding:30px;min-height:700px;box-sizing:border-box;transform-style:preserve-3d}.reveal.page .slides section.past{z-index:12}.reveal.page .slides section:not(.stack):before{content:"";position:absolute;display:block;width:100%;height:100%;left:0;top:0;background:rgba(0,0,0,.1);transform:translateZ(-20px)}.reveal.page .slides section:not(.stack):after{content:"";position:absolute;display:block;width:90%;height:30px;left:5%;bottom:0;background:0 0;z-index:1;border-radius:4px;box-shadow:0 95px 25px rgba(0,0,0,.2);-webkit-transform:translateZ(-90px) rotateX(65deg)}.reveal.page .slides>section.stack{padding:0;background:0 0}.reveal.page .slides>section.past{transform-origin:0 0;transform:translate3d(-40%,0,0) rotateY(-80deg)}.reveal.page .slides>section.future{transform-origin:100% 0;transform:translate3d(0,0,0)}.reveal.page .slides>section>section.past{transform-origin:0 0;transform:translate3d(0,-40%,0) rotateX(80deg)}.reveal.page .slides>section>section.future{transform-origin:0 100%;transform:translate3d(0,0,0)}.reveal .slides section[data-transition=fade],.reveal.fade .slides section:not([data-transition]),.reveal.fade .slides>section>section:not([data-transition]){transform:none;transition:opacity .5s}.reveal.fade.overview .slides section,.reveal.fade.overview .slides>section>section{transition:none}.reveal .slides section[data-transition=none],.reveal.none .slides section:not([data-transition]){transform:none;transition:none}.reveal .pause-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#000;visibility:hidden;opacity:0;z-index:100;transition:all 1s ease}.reveal .pause-overlay .resume-button{position:absolute;bottom:20px;right:20px;color:#ccc;border-radius:2px;padding:6px 14px;border:2px solid #ccc;font-size:16px;background:0 0;cursor:pointer}.reveal .pause-overlay .resume-button:hover{color:#fff;border-color:#fff}.reveal.paused .pause-overlay{visibility:visible;opacity:1}.reveal .no-transition,.reveal .no-transition *,.reveal .slides.disable-slide-transitions section{transition:none!important}.reveal .slides.disable-slide-transitions section{transform:none!important}.reveal .backgrounds{position:absolute;width:100%;height:100%;top:0;left:0;perspective:600px}.reveal .slide-background{display:none;position:absolute;width:100%;height:100%;opacity:0;visibility:hidden;overflow:hidden;background-color:rgba(0,0,0,0);transition:all .8s cubic-bezier(.26,.86,.44,.985)}.reveal .slide-background-content{position:absolute;width:100%;height:100%;background-position:50% 50%;background-repeat:no-repeat;background-size:cover}.reveal .slide-background.stack{display:block}.reveal .slide-background.present{opacity:1;visibility:visible;z-index:2}.print-pdf .reveal .slide-background{opacity:1!important;visibility:visible!important}.reveal .slide-background video{position:absolute;width:100%;height:100%;max-width:none;max-height:none;top:0;left:0;-o-object-fit:cover;object-fit:cover}.reveal .slide-background[data-background-size=contain] video{-o-object-fit:contain;object-fit:contain}.reveal>.backgrounds .slide-background[data-background-transition=none],.reveal[data-background-transition=none]>.backgrounds .slide-background:not([data-background-transition]){transition:none}.reveal>.backgrounds .slide-background[data-background-transition=slide],.reveal[data-background-transition=slide]>.backgrounds .slide-background:not([data-background-transition]){opacity:1}.reveal>.backgrounds .slide-background.past[data-background-transition=slide],.reveal[data-background-transition=slide]>.backgrounds .slide-background.past:not([data-background-transition]){transform:translate(-100%,0)}.reveal>.backgrounds .slide-background.future[data-background-transition=slide],.reveal[data-background-transition=slide]>.backgrounds .slide-background.future:not([data-background-transition]){transform:translate(100%,0)}.reveal>.backgrounds .slide-background>.slide-background.past[data-background-transition=slide],.reveal[data-background-transition=slide]>.backgrounds .slide-background>.slide-background.past:not([data-background-transition]){transform:translate(0,-100%)}.reveal>.backgrounds .slide-background>.slide-background.future[data-background-transition=slide],.reveal[data-background-transition=slide]>.backgrounds .slide-background>.slide-background.future:not([data-background-transition]){transform:translate(0,100%)}.reveal>.backgrounds .slide-background.past[data-background-transition=convex],.reveal[data-background-transition=convex]>.backgrounds .slide-background.past:not([data-background-transition]){opacity:0;transform:translate3d(-100%,0,0) rotateY(-90deg) translate3d(-100%,0,0)}.reveal>.backgrounds .slide-background.future[data-background-transition=convex],.reveal[data-background-transition=convex]>.backgrounds .slide-background.future:not([data-background-transition]){opacity:0;transform:translate3d(100%,0,0) rotateY(90deg) translate3d(100%,0,0)}.reveal>.backgrounds .slide-background>.slide-background.past[data-background-transition=convex],.reveal[data-background-transition=convex]>.backgrounds .slide-background>.slide-background.past:not([data-background-transition]){opacity:0;transform:translate3d(0,-100%,0) rotateX(90deg) translate3d(0,-100%,0)}.reveal>.backgrounds .slide-background>.slide-background.future[data-background-transition=convex],.reveal[data-background-transition=convex]>.backgrounds .slide-background>.slide-background.future:not([data-background-transition]){opacity:0;transform:translate3d(0,100%,0) rotateX(-90deg) translate3d(0,100%,0)}.reveal>.backgrounds .slide-background.past[data-background-transition=concave],.reveal[data-background-transition=concave]>.backgrounds .slide-background.past:not([data-background-transition]){opacity:0;transform:translate3d(-100%,0,0) rotateY(90deg) translate3d(-100%,0,0)}.reveal>.backgrounds .slide-background.future[data-background-transition=concave],.reveal[data-background-transition=concave]>.backgrounds .slide-background.future:not([data-background-transition]){opacity:0;transform:translate3d(100%,0,0) rotateY(-90deg) translate3d(100%,0,0)}.reveal>.backgrounds .slide-background>.slide-background.past[data-background-transition=concave],.reveal[data-background-transition=concave]>.backgrounds .slide-background>.slide-background.past:not([data-background-transition]){opacity:0;transform:translate3d(0,-100%,0) rotateX(-90deg) translate3d(0,-100%,0)}.reveal>.backgrounds .slide-background>.slide-background.future[data-background-transition=concave],.reveal[data-background-transition=concave]>.backgrounds .slide-background>.slide-background.future:not([data-background-transition]){opacity:0;transform:translate3d(0,100%,0) rotateX(90deg) translate3d(0,100%,0)}.reveal>.backgrounds .slide-background[data-background-transition=zoom],.reveal[data-background-transition=zoom]>.backgrounds .slide-background:not([data-background-transition]){transition-timing-function:ease}.reveal>.backgrounds .slide-background.past[data-background-transition=zoom],.reveal[data-background-transition=zoom]>.backgrounds .slide-background.past:not([data-background-transition]){opacity:0;visibility:hidden;transform:scale(16)}.reveal>.backgrounds .slide-background.future[data-background-transition=zoom],.reveal[data-background-transition=zoom]>.backgrounds .slide-background.future:not([data-background-transition]){opacity:0;visibility:hidden;transform:scale(.2)}.reveal>.backgrounds .slide-background>.slide-background.past[data-background-transition=zoom],.reveal[data-background-transition=zoom]>.backgrounds .slide-background>.slide-background.past:not([data-background-transition]){opacity:0;visibility:hidden;transform:scale(16)}.reveal>.backgrounds .slide-background>.slide-background.future[data-background-transition=zoom],.reveal[data-background-transition=zoom]>.backgrounds .slide-background>.slide-background.future:not([data-background-transition]){opacity:0;visibility:hidden;transform:scale(.2)}.reveal[data-transition-speed=fast]>.backgrounds .slide-background{transition-duration:.4s}.reveal[data-transition-speed=slow]>.backgrounds .slide-background{transition-duration:1.2s}.reveal [data-auto-animate-target^=unmatched]{will-change:opacity}.reveal section[data-auto-animate]:not(.stack):not([data-auto-animate=running]) [data-auto-animate-target^=unmatched]{opacity:0}.reveal.overview{perspective-origin:50% 50%;perspective:700px}.reveal.overview .slides{-moz-transform-style:preserve-3d}.reveal.overview .slides section{height:100%;top:0!important;opacity:1!important;overflow:hidden;visibility:visible!important;cursor:pointer;box-sizing:border-box}.reveal.overview .slides section.present,.reveal.overview .slides section:hover{outline:10px solid rgba(150,150,150,.4);outline-offset:10px}.reveal.overview .slides section .fragment{opacity:1;transition:none}.reveal.overview .slides section:after,.reveal.overview .slides section:before{display:none!important}.reveal.overview .slides>section.stack{padding:0;top:0!important;background:0 0;outline:0;overflow:visible}.reveal.overview .backgrounds{perspective:inherit;-moz-transform-style:preserve-3d}.reveal.overview .backgrounds .slide-background{opacity:1;visibility:visible;outline:10px solid rgba(150,150,150,.1);outline-offset:10px}.reveal.overview .backgrounds .slide-background.stack{overflow:visible}.reveal.overview .slides section,.reveal.overview-deactivating .slides section{transition:none}.reveal.overview .backgrounds .slide-background,.reveal.overview-deactivating .backgrounds .slide-background{transition:none}.reveal.rtl .slides,.reveal.rtl .slides h1,.reveal.rtl .slides h2,.reveal.rtl .slides h3,.reveal.rtl .slides h4,.reveal.rtl .slides h5,.reveal.rtl .slides h6{direction:rtl;font-family:sans-serif}.reveal.rtl code,.reveal.rtl pre{direction:ltr}.reveal.rtl ol,.reveal.rtl ul{text-align:right}.reveal.rtl .progress span{transform-origin:100% 0}.reveal.has-parallax-background .backgrounds{transition:all .8s ease}.reveal.has-parallax-background[data-transition-speed=fast] .backgrounds{transition-duration:.4s}.reveal.has-parallax-background[data-transition-speed=slow] .backgrounds{transition-duration:1.2s}.reveal>.overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1000;background:rgba(0,0,0,.9);transition:all .3s ease}.reveal>.overlay .spinner{position:absolute;display:block;top:50%;left:50%;width:32px;height:32px;margin:-16px 0 0 -16px;z-index:10;background-image:url(data:image/gif;base64,R0lGODlhIAAgAPMAAJmZmf%2F%2F%2F6%2Bvr8nJybW1tcDAwOjo6Nvb26ioqKOjo7Ozs%2FLy8vz8%2FAAAAAAAAAAAACH%2FC05FVFNDQVBFMi4wAwEAAAAh%2FhpDcmVhdGVkIHdpdGggYWpheGxvYWQuaW5mbwAh%2BQQJCgAAACwAAAAAIAAgAAAE5xDISWlhperN52JLhSSdRgwVo1ICQZRUsiwHpTJT4iowNS8vyW2icCF6k8HMMBkCEDskxTBDAZwuAkkqIfxIQyhBQBFvAQSDITM5VDW6XNE4KagNh6Bgwe60smQUB3d4Rz1ZBApnFASDd0hihh12BkE9kjAJVlycXIg7CQIFA6SlnJ87paqbSKiKoqusnbMdmDC2tXQlkUhziYtyWTxIfy6BE8WJt5YJvpJivxNaGmLHT0VnOgSYf0dZXS7APdpB309RnHOG5gDqXGLDaC457D1zZ%2FV%2FnmOM82XiHRLYKhKP1oZmADdEAAAh%2BQQJCgAAACwAAAAAIAAgAAAE6hDISWlZpOrNp1lGNRSdRpDUolIGw5RUYhhHukqFu8DsrEyqnWThGvAmhVlteBvojpTDDBUEIFwMFBRAmBkSgOrBFZogCASwBDEY%2FCZSg7GSE0gSCjQBMVG023xWBhklAnoEdhQEfyNqMIcKjhRsjEdnezB%2BA4k8gTwJhFuiW4dokXiloUepBAp5qaKpp6%2BHo7aWW54wl7obvEe0kRuoplCGepwSx2jJvqHEmGt6whJpGpfJCHmOoNHKaHx61WiSR92E4lbFoq%2BB6QDtuetcaBPnW6%2BO7wDHpIiK9SaVK5GgV543tzjgGcghAgAh%2BQQJCgAAACwAAAAAIAAgAAAE7hDISSkxpOrN5zFHNWRdhSiVoVLHspRUMoyUakyEe8PTPCATW9A14E0UvuAKMNAZKYUZCiBMuBakSQKG8G2FzUWox2AUtAQFcBKlVQoLgQReZhQlCIJesQXI5B0CBnUMOxMCenoCfTCEWBsJColTMANldx15BGs8B5wlCZ9Po6OJkwmRpnqkqnuSrayqfKmqpLajoiW5HJq7FL1Gr2mMMcKUMIiJgIemy7xZtJsTmsM4xHiKv5KMCXqfyUCJEonXPN2rAOIAmsfB3uPoAK%2B%2BG%2Bw48edZPK%2BM6hLJpQg484enXIdQFSS1u6UhksENEQAAIfkECQoAAAAsAAAAACAAIAAABOcQyEmpGKLqzWcZRVUQnZYg1aBSh2GUVEIQ2aQOE%2BG%2BcD4ntpWkZQj1JIiZIogDFFyHI0UxQwFugMSOFIPJftfVAEoZLBbcLEFhlQiqGp1Vd140AUklUN3eCA51C1EWMzMCezCBBmkxVIVHBWd3HHl9JQOIJSdSnJ0TDKChCwUJjoWMPaGqDKannasMo6WnM562R5YluZRwur0wpgqZE7NKUm%2BFNRPIhjBJxKZteWuIBMN4zRMIVIhffcgojwCF117i4nlLnY5ztRLsnOk%2BaV%2BoJY7V7m76PdkS4trKcdg0Zc0tTcKkRAAAIfkECQoAAAAsAAAAACAAIAAABO4QyEkpKqjqzScpRaVkXZWQEximw1BSCUEIlDohrft6cpKCk5xid5MNJTaAIkekKGQkWyKHkvhKsR7ARmitkAYDYRIbUQRQjWBwJRzChi9CRlBcY1UN4g0%2FVNB0AlcvcAYHRyZPdEQFYV8ccwR5HWxEJ02YmRMLnJ1xCYp0Y5idpQuhopmmC2KgojKasUQDk5BNAwwMOh2RtRq5uQuPZKGIJQIGwAwGf6I0JXMpC8C7kXWDBINFMxS4DKMAWVWAGYsAdNqW5uaRxkSKJOZKaU3tPOBZ4DuK2LATgJhkPJMgTwKCdFjyPHEnKxFCDhEAACH5BAkKAAAALAAAAAAgACAAAATzEMhJaVKp6s2nIkolIJ2WkBShpkVRWqqQrhLSEu9MZJKK9y1ZrqYK9WiClmvoUaF8gIQSNeF1Er4MNFn4SRSDARWroAIETg1iVwuHjYB1kYc1mwruwXKC9gmsJXliGxc%2BXiUCby9ydh1sOSdMkpMTBpaXBzsfhoc5l58Gm5yToAaZhaOUqjkDgCWNHAULCwOLaTmzswadEqggQwgHuQsHIoZCHQMMQgQGubVEcxOPFAcMDAYUA85eWARmfSRQCdcMe0zeP1AAygwLlJtPNAAL19DARdPzBOWSm1brJBi45soRAWQAAkrQIykShQ9wVhHCwCQCACH5BAkKAAAALAAAAAAgACAAAATrEMhJaVKp6s2nIkqFZF2VIBWhUsJaTokqUCoBq%2BE71SRQeyqUToLA7VxF0JDyIQh%2FMVVPMt1ECZlfcjZJ9mIKoaTl1MRIl5o4CUKXOwmyrCInCKqcWtvadL2SYhyASyNDJ0uIiRMDjI0Fd30%2FiI2UA5GSS5UDj2l6NoqgOgN4gksEBgYFf0FDqKgHnyZ9OX8HrgYHdHpcHQULXAS2qKpENRg7eAMLC7kTBaixUYFkKAzWAAnLC7FLVxLWDBLKCwaKTULgEwbLA4hJtOkSBNqITT3xEgfLpBtzE%2FjiuL04RGEBgwWhShRgQExHBAAh%2BQQJCgAAACwAAAAAIAAgAAAE7xDISWlSqerNpyJKhWRdlSAVoVLCWk6JKlAqAavhO9UkUHsqlE6CwO1cRdCQ8iEIfzFVTzLdRAmZX3I2SfZiCqGk5dTESJeaOAlClzsJsqwiJwiqnFrb2nS9kmIcgEsjQydLiIlHehhpejaIjzh9eomSjZR%2BipslWIRLAgMDOR2DOqKogTB9pCUJBagDBXR6XB0EBkIIsaRsGGMMAxoDBgYHTKJiUYEGDAzHC9EACcUGkIgFzgwZ0QsSBcXHiQvOwgDdEwfFs0sDzt4S6BK4xYjkDOzn0unFeBzOBijIm1Dgmg5YFQwsCMjp1oJ8LyIAACH5BAkKAAAALAAAAAAgACAAAATwEMhJaVKp6s2nIkqFZF2VIBWhUsJaTokqUCoBq%2BE71SRQeyqUToLA7VxF0JDyIQh%2FMVVPMt1ECZlfcjZJ9mIKoaTl1MRIl5o4CUKXOwmyrCInCKqcWtvadL2SYhyASyNDJ0uIiUd6GGl6NoiPOH16iZKNlH6KmyWFOggHhEEvAwwMA0N9GBsEC6amhnVcEwavDAazGwIDaH1ipaYLBUTCGgQDA8NdHz0FpqgTBwsLqAbWAAnIA4FWKdMLGdYGEgraigbT0OITBcg5QwPT4xLrROZL6AuQAPUS7bxLpoWidY0JtxLHKhwwMJBTHgPKdEQAACH5BAkKAAAALAAAAAAgACAAAATrEMhJaVKp6s2nIkqFZF2VIBWhUsJaTokqUCoBq%2BE71SRQeyqUToLA7VxF0JDyIQh%2FMVVPMt1ECZlfcjZJ9mIKoaTl1MRIl5o4CUKXOwmyrCInCKqcWtvadL2SYhyASyNDJ0uIiUd6GAULDJCRiXo1CpGXDJOUjY%2BYip9DhToJA4RBLwMLCwVDfRgbBAaqqoZ1XBMHswsHtxtFaH1iqaoGNgAIxRpbFAgfPQSqpbgGBqUD1wBXeCYp1AYZ19JJOYgH1KwA4UBvQwXUBxPqVD9L3sbp2BNk2xvvFPJd%2BMFCN6HAAIKgNggY0KtEBAAh%2BQQJCgAAACwAAAAAIAAgAAAE6BDISWlSqerNpyJKhWRdlSAVoVLCWk6JKlAqAavhO9UkUHsqlE6CwO1cRdCQ8iEIfzFVTzLdRAmZX3I2SfYIDMaAFdTESJeaEDAIMxYFqrOUaNW4E4ObYcCXaiBVEgULe0NJaxxtYksjh2NLkZISgDgJhHthkpU4mW6blRiYmZOlh4JWkDqILwUGBnE6TYEbCgevr0N1gH4At7gHiRpFaLNrrq8HNgAJA70AWxQIH1%2BvsYMDAzZQPC9VCNkDWUhGkuE5PxJNwiUK4UfLzOlD4WvzAHaoG9nxPi5d%2BjYUqfAhhykOFwJWiAAAIfkECQoAAAAsAAAAACAAIAAABPAQyElpUqnqzaciSoVkXVUMFaFSwlpOCcMYlErAavhOMnNLNo8KsZsMZItJEIDIFSkLGQoQTNhIsFehRww2CQLKF0tYGKYSg%2BygsZIuNqJksKgbfgIGepNo2cIUB3V1B3IvNiBYNQaDSTtfhhx0CwVPI0UJe0%2Bbm4g5VgcGoqOcnjmjqDSdnhgEoamcsZuXO1aWQy8KAwOAuTYYGwi7w5h%2BKr0SJ8MFihpNbx%2B4Erq7BYBuzsdiH1jCAzoSfl0rVirNbRXlBBlLX%2BBP0XJLAPGzTkAuAOqb0WT5AH7OcdCm5B8TgRwSRKIHQtaLCwg1RAAAOwAAAAAAAAAAAA%3D%3D);visibility:visible;opacity:.6;transition:all .3s ease}.reveal>.overlay header{position:absolute;left:0;top:0;width:100%;padding:5px;z-index:2;box-sizing:border-box}.reveal>.overlay header a{display:inline-block;width:40px;height:40px;line-height:36px;padding:0 10px;float:right;opacity:.6;box-sizing:border-box}.reveal>.overlay header a:hover{opacity:1}.reveal>.overlay header a .icon{display:inline-block;width:20px;height:20px;background-position:50% 50%;background-size:100%;background-repeat:no-repeat}.reveal>.overlay header a.close .icon{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAABkklEQVRYR8WX4VHDMAxG6wnoJrABZQPYBCaBTWAD2g1gE5gg6OOsXuxIlr40d81dfrSJ9V4c2VLK7spHuTJ/5wpM07QXuXc5X0opX2tEJcadjHuV80li/FgxTIEK/5QBCICBD6xEhSMGHgQPgBgLiYVAB1dpSqKDawxTohFw4JSEA3clzgIBPCURwE2JucBR7rhPJJv5OpJwDX+SfDjgx1wACQeJG1aChP9K/IMmdZ8DtESV1WyP3Bt4MwM6sj4NMxMYiqUWHQu4KYA/SYkIjOsm3BXYWMKFDwU2khjCQ4ELJUJ4SmClRArOCmSXGuKma0fYD5CbzHxFpCSGAhfAVSSUGDUk2BWZaff2g6GE15BsBQ9nwmpIGDiyHQddwNTMKkbZaf9fajXQca1EX44puJZUsnY0ObGmITE3GVLCbEhQUjGVt146j6oasWN+49Vph2w1pZ5EansNZqKBm1txbU57iRRcZ86RWMDdWtBJUHBHwoQPi1GV+JCbntmvok7iTX4/Up9mgyTc/FJYDTcndgH/AA5A/CHsyEkVAAAAAElFTkSuQmCC)}.reveal>.overlay header a.external .icon{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAcElEQVRYR+2WSQoAIQwEzf8f7XiOMkUQxUPlGkM3hVmiQfQR9GYnH1SsAQlI4DiBqkCMoNb9y2e90IAEJPAcgdznU9+engMaeJ7Azh5Y1U67gAho4DqBqmB1buAf0MB1AlVBek83ZPkmJMGc1wAR+AAqod/B97TRpQAAAABJRU5ErkJggg==)}.reveal>.overlay .viewport{position:absolute;display:flex;top:50px;right:0;bottom:0;left:0}.reveal>.overlay.overlay-preview .viewport iframe{width:100%;height:100%;max-width:100%;max-height:100%;border:0;opacity:0;visibility:hidden;transition:all .3s ease}.reveal>.overlay.overlay-preview.loaded .viewport iframe{opacity:1;visibility:visible}.reveal>.overlay.overlay-preview.loaded .viewport-inner{position:absolute;z-index:-1;left:0;top:45%;width:100%;text-align:center;letter-spacing:normal}.reveal>.overlay.overlay-preview .x-frame-error{opacity:0;transition:opacity .3s ease .3s}.reveal>.overlay.overlay-preview.loaded .x-frame-error{opacity:1}.reveal>.overlay.overlay-preview.loaded .spinner{opacity:0;visibility:hidden;transform:scale(.2)}.reveal>.overlay.overlay-help .viewport{overflow:auto;color:#fff}.reveal>.overlay.overlay-help .viewport .viewport-inner{width:600px;margin:auto;padding:20px 20px 80px 20px;text-align:center;letter-spacing:normal}.reveal>.overlay.overlay-help .viewport .viewport-inner .title{font-size:20px}.reveal>.overlay.overlay-help .viewport .viewport-inner table{border:1px solid #fff;border-collapse:collapse;font-size:16px}.reveal>.overlay.overlay-help .viewport .viewport-inner table td,.reveal>.overlay.overlay-help .viewport .viewport-inner table th{width:200px;padding:14px;border:1px solid #fff;vertical-align:middle}.reveal>.overlay.overlay-help .viewport .viewport-inner table th{padding-top:20px;padding-bottom:20px}.reveal .playback{position:absolute;left:15px;bottom:20px;z-index:30;cursor:pointer;transition:all .4s ease;-webkit-tap-highlight-color:transparent}.reveal.overview .playback{opacity:0;visibility:hidden}.reveal .hljs{min-height:100%}.reveal .hljs table{margin:initial}.reveal .hljs-ln-code,.reveal .hljs-ln-numbers{padding:0;border:0}.reveal .hljs-ln-numbers{opacity:.6;padding-right:.75em;text-align:right;vertical-align:top}.reveal .hljs.has-highlights tr:not(.highlight-line){opacity:.4}.reveal .hljs:not(:first-child).fragment{position:absolute;top:0;left:0;width:100%;box-sizing:border-box}.reveal pre[data-auto-animate-target]{overflow:hidden}.reveal pre[data-auto-animate-target] code{height:100%}.reveal .roll{display:inline-block;line-height:1.2;overflow:hidden;vertical-align:top;perspective:400px;perspective-origin:50% 50%}.reveal .roll:hover{background:0 0;text-shadow:none}.reveal .roll span{display:block;position:relative;padding:0 2px;pointer-events:none;transition:all .4s ease;transform-origin:50% 0;transform-style:preserve-3d;-webkit-backface-visibility:hidden;backface-visibility:hidden}.reveal .roll:hover span{background:rgba(0,0,0,.5);transform:translate3d(0,0,-45px) rotateX(90deg)}.reveal .roll span:after{content:attr(data-title);display:block;position:absolute;left:0;top:0;padding:0 2px;-webkit-backface-visibility:hidden;backface-visibility:hidden;transform-origin:50% 0;transform:translate3d(0,110%,0) rotateX(-90deg)}.reveal aside.notes{display:none}.reveal .speaker-notes{display:none;position:absolute;width:33.3333333333%;height:100%;top:0;left:100%;padding:14px 18px 14px 18px;z-index:1;font-size:18px;line-height:1.4;border:1px solid rgba(0,0,0,.05);color:#222;background-color:#f5f5f5;overflow:auto;box-sizing:border-box;text-align:left;font-family:Helvetica,sans-serif;-webkit-overflow-scrolling:touch}.reveal .speaker-notes .notes-placeholder{color:#ccc;font-style:italic}.reveal .speaker-notes:focus{outline:0}.reveal .speaker-notes:before{content:"Speaker notes";display:block;margin-bottom:10px;opacity:.5}.reveal.show-notes{max-width:75%;overflow:visible}.reveal.show-notes .speaker-notes{display:block}@media screen and (min-width:1600px){.reveal .speaker-notes{font-size:20px}}@media screen and (max-width:1024px){.reveal.show-notes{border-left:0;max-width:none;max-height:70%;max-height:70vh;overflow:visible}.reveal.show-notes .speaker-notes{top:100%;left:0;width:100%;height:30vh;border:0}}@media screen and (max-width:600px){.reveal.show-notes{max-height:60%;max-height:60vh}.reveal.show-notes .speaker-notes{top:100%;height:40vh}.reveal .speaker-notes{font-size:14px}}.zoomed .reveal *,.zoomed .reveal :after,.zoomed .reveal :before{-webkit-backface-visibility:visible!important;backface-visibility:visible!important}.zoomed .reveal .controls,.zoomed .reveal .progress{opacity:0}.zoomed .reveal .roll span{background:0 0}.zoomed .reveal .roll span:after{visibility:hidden}html.print-pdf *{-webkit-print-color-adjust:exact}html.print-pdf{width:100%;height:100%;overflow:visible}html.print-pdf body{margin:0 auto!important;border:0;padding:0;float:none!important;overflow:visible}html.print-pdf .nestedarrow,html.print-pdf .reveal .controls,html.print-pdf .reveal .playback,html.print-pdf .reveal .progress,html.print-pdf .reveal.overview,html.print-pdf .state-background{display:none!important}html.print-pdf .reveal pre code{overflow:hidden!important;font-family:Courier,"Courier New",monospace!important}html.print-pdf .reveal{width:auto!important;height:auto!important;overflow:hidden!important}html.print-pdf .reveal .slides{position:static;width:100%!important;height:auto!important;zoom:1!important;pointer-events:initial;left:auto;top:auto;margin:0!important;padding:0!important;overflow:visible;display:block;perspective:none;perspective-origin:50% 50%}html.print-pdf .reveal .slides .pdf-page{position:relative;overflow:hidden;z-index:1;page-break-after:always}html.print-pdf .reveal .slides section{visibility:visible!important;display:block!important;position:absolute!important;margin:0!important;padding:0!important;box-sizing:border-box!important;min-height:1px;opacity:1!important;transform-style:flat!important;transform:none!important}html.print-pdf .reveal section.stack{position:relative!important;margin:0!important;padding:0!important;page-break-after:avoid!important;height:auto!important;min-height:auto!important}html.print-pdf .reveal img{box-shadow:none}html.print-pdf .reveal .backgrounds{display:none}html.print-pdf .reveal .slide-background{display:block!important;position:absolute;top:0;left:0;width:100%;height:100%;z-index:auto!important}html.print-pdf .reveal.show-notes{max-width:none;max-height:none}html.print-pdf .reveal .speaker-notes-pdf{display:block;width:100%;height:auto;max-height:none;top:auto;right:auto;bottom:auto;left:auto;z-index:100}html.print-pdf .reveal .speaker-notes-pdf[data-layout=separate-page]{position:relative;color:inherit;background-color:transparent;padding:20px;page-break-after:always;border:0}html.print-pdf .reveal .slide-number-pdf{display:block;position:absolute;font-size:14px}html.print-pdf .aria-status{display:none}@media print{html:not(.print-pdf){background:#fff;width:auto;height:auto;overflow:visible}html:not(.print-pdf) body{background:#fff;font-size:20pt;width:auto;height:auto;border:0;margin:0 5%;padding:0;overflow:visible;float:none!important}html:not(.print-pdf) .controls,html:not(.print-pdf) .fork-reveal,html:not(.print-pdf) .nestedarrow,html:not(.print-pdf) .reveal .backgrounds,html:not(.print-pdf) .reveal .progress,html:not(.print-pdf) .reveal .slide-number,html:not(.print-pdf) .share-reveal,html:not(.print-pdf) .state-background{display:none!important}html:not(.print-pdf) body,html:not(.print-pdf) li,html:not(.print-pdf) p,html:not(.print-pdf) td{font-size:20pt!important;color:#000}html:not(.print-pdf) h1,html:not(.print-pdf) h2,html:not(.print-pdf) h3,html:not(.print-pdf) h4,html:not(.print-pdf) h5,html:not(.print-pdf) h6{color:#000!important;height:auto;line-height:normal;text-align:left;letter-spacing:normal}html:not(.print-pdf) h1{font-size:28pt!important}html:not(.print-pdf) h2{font-size:24pt!important}html:not(.print-pdf) h3{font-size:22pt!important}html:not(.print-pdf) h4{font-size:22pt!important;font-variant:small-caps}html:not(.print-pdf) h5{font-size:21pt!important}html:not(.print-pdf) h6{font-size:20pt!important;font-style:italic}html:not(.print-pdf) a:link,html:not(.print-pdf) a:visited{color:#000!important;font-weight:700;text-decoration:underline}html:not(.print-pdf) div,html:not(.print-pdf) ol,html:not(.print-pdf) p,html:not(.print-pdf) ul{visibility:visible;position:static;width:auto;height:auto;display:block;overflow:visible;margin:0;text-align:left!important}html:not(.print-pdf) .reveal pre,html:not(.print-pdf) .reveal table{margin-left:0;margin-right:0}html:not(.print-pdf) .reveal pre code{padding:20px}html:not(.print-pdf) .reveal blockquote{margin:20px 0}html:not(.print-pdf) .reveal .slides{position:static!important;width:auto!important;height:auto!important;left:0!important;top:0!important;margin-left:0!important;margin-top:0!important;padding:0!important;zoom:1!important;transform:none!important;overflow:visible!important;display:block!important;text-align:left!important;perspective:none;perspective-origin:50% 50%}html:not(.print-pdf) .reveal .slides section{visibility:visible!important;position:static!important;width:auto!important;height:auto!important;display:block!important;overflow:visible!important;left:0!important;top:0!important;margin-left:0!important;margin-top:0!important;padding:60px 20px!important;z-index:auto!important;opacity:1!important;page-break-after:always!important;transform-style:flat!important;transform:none!important;transition:none!important}html:not(.print-pdf) .reveal .slides section.stack{padding:0!important}html:not(.print-pdf) .reveal section:last-of-type{page-break-after:avoid!important}html:not(.print-pdf) .reveal section .fragment{opacity:1!important;visibility:visible!important;transform:none!important}html:not(.print-pdf) .reveal section img{display:block;margin:15px 0;background:#fff;border:1px solid #666;box-shadow:none}html:not(.print-pdf) .reveal section small{font-size:.8em}html:not(.print-pdf) .reveal .hljs{max-height:100%;white-space:pre-wrap;word-wrap:break-word;word-break:break-word;font-size:15pt}html:not(.print-pdf) .reveal .hljs .hljs-ln-numbers{white-space:nowrap}html:not(.print-pdf) .reveal .hljs td{font-size:inherit!important;color:inherit!important}}
llm_conf_files/libs/revealjs/dist/reveal.esm.js ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * reveal.js 4.3.1
3
+ * https://revealjs.com
4
+ * MIT licensed
5
+ *
6
+ * Copyright (C) 2011-2022 Hakim El Hattab, https://hakim.se
7
+ */
8
+ const e=(e,t)=>{for(let i in t)e[i]=t[i];return e},t=(e,t)=>Array.from(e.querySelectorAll(t)),i=(e,t,i)=>{i?e.classList.add(t):e.classList.remove(t)},s=e=>{if("string"==typeof e){if("null"===e)return null;if("true"===e)return!0;if("false"===e)return!1;if(e.match(/^-?[\d\.]+$/))return parseFloat(e)}return e},a=(e,t)=>{e.style.transform=t},n=(e,t)=>{let i=e.matches||e.matchesSelector||e.msMatchesSelector;return!(!i||!i.call(e,t))},r=(e,t)=>{if("function"==typeof e.closest)return e.closest(t);for(;e;){if(n(e,t))return e;e=e.parentNode}return null},o=(e,t,i,s="")=>{let a=e.querySelectorAll("."+i);for(let t=0;t<a.length;t++){let i=a[t];if(i.parentNode===e)return i}let n=document.createElement(t);return n.className=i,n.innerHTML=s,e.appendChild(n),n},l=e=>{let t=document.createElement("style");return t.type="text/css",e&&e.length>0&&(t.styleSheet?t.styleSheet.cssText=e:t.appendChild(document.createTextNode(e))),document.head.appendChild(t),t},d=()=>{let e={};location.search.replace(/[A-Z0-9]+?=([\w\.%-]*)/gi,(t=>{e[t.split("=").shift()]=t.split("=").pop()}));for(let t in e){let i=e[t];e[t]=s(unescape(i))}return void 0!==e.dependencies&&delete e.dependencies,e},c=(e,t=0)=>{if(e){let i,s=e.style.height;return e.style.height="0px",e.parentNode.style.height="auto",i=t-e.parentNode.offsetHeight,e.style.height=s+"px",e.parentNode.style.removeProperty("height"),i}return t},h={mp4:"video/mp4",m4a:"video/mp4",ogv:"video/ogg",mpeg:"video/mpeg",webm:"video/webm"},u=navigator.userAgent,g=/(iphone|ipod|ipad|android)/gi.test(u)||"MacIntel"===navigator.platform&&navigator.maxTouchPoints>1;/chrome/i.test(u)&&/edge/i.test(u);const v=/android/gi.test(u);var p={};Object.defineProperty(p,"__esModule",{value:!0});var m=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var i=arguments[t];for(var s in i)Object.prototype.hasOwnProperty.call(i,s)&&(e[s]=i[s])}return e},f=p.default=function(e){if(e){var t=function(e){return[].slice.call(e)},i=0,s=1,a=2,n=3,r=[],o=null,l="requestAnimationFrame"in e?function(){e.cancelAnimationFrame(o),o=e.requestAnimationFrame((function(){return c(r.filter((function(e){return e.dirty&&e.active})))}))}:function(){},d=function(e){return function(){r.forEach((function(t){return t.dirty=e})),l()}},c=function(e){e.filter((function(e){return!e.styleComputed})).forEach((function(e){e.styleComputed=v(e)})),e.filter(p).forEach(f);var t=e.filter(g);t.forEach(u),t.forEach((function(e){f(e),h(e)})),t.forEach(b)},h=function(e){return e.dirty=i},u=function(e){e.availableWidth=e.element.parentNode.clientWidth,e.currentWidth=e.element.scrollWidth,e.previousFontSize=e.currentFontSize,e.currentFontSize=Math.min(Math.max(e.minSize,e.availableWidth/e.currentWidth*e.previousFontSize),e.maxSize),e.whiteSpace=e.multiLine&&e.currentFontSize===e.minSize?"normal":"nowrap"},g=function(e){return e.dirty!==a||e.dirty===a&&e.element.parentNode.clientWidth!==e.availableWidth},v=function(t){var i=e.getComputedStyle(t.element,null);t.currentFontSize=parseFloat(i.getPropertyValue("font-size")),t.display=i.getPropertyValue("display"),t.whiteSpace=i.getPropertyValue("white-space")},p=function(e){var t=!1;return!e.preStyleTestCompleted&&(/inline-/.test(e.display)||(t=!0,e.display="inline-block"),"nowrap"!==e.whiteSpace&&(t=!0,e.whiteSpace="nowrap"),e.preStyleTestCompleted=!0,t)},f=function(e){e.element.style.whiteSpace=e.whiteSpace,e.element.style.display=e.display,e.element.style.fontSize=e.currentFontSize+"px"},b=function(e){e.element.dispatchEvent(new CustomEvent("fit",{detail:{oldValue:e.previousFontSize,newValue:e.currentFontSize,scaleFactor:e.currentFontSize/e.previousFontSize}}))},y=function(e,t){return function(){e.dirty=t,e.active&&l()}},w=function(e){return function(){r=r.filter((function(t){return t.element!==e.element})),e.observeMutations&&e.observer.disconnect(),e.element.style.whiteSpace=e.originalStyle.whiteSpace,e.element.style.display=e.originalStyle.display,e.element.style.fontSize=e.originalStyle.fontSize}},E=function(e){return function(){e.active||(e.active=!0,l())}},R=function(e){return function(){return e.active=!1}},S=function(e){e.observeMutations&&(e.observer=new MutationObserver(y(e,s)),e.observer.observe(e.element,e.observeMutations))},A={minSize:16,maxSize:512,multiLine:!0,observeMutations:"MutationObserver"in e&&{subtree:!0,childList:!0,characterData:!0}},k=null,L=function(){e.clearTimeout(k),k=e.setTimeout(d(a),P.observeWindowDelay)},C=["resize","orientationchange"];return Object.defineProperty(P,"observeWindow",{set:function(t){var i=(t?"add":"remove")+"EventListener";C.forEach((function(t){e[i](t,L)}))}}),P.observeWindow=!0,P.observeWindowDelay=100,P.fitAll=d(n),P}function x(e,t){var i=m({},A,t),s=e.map((function(e){var t=m({},i,{element:e,active:!0});return function(e){e.originalStyle={whiteSpace:e.element.style.whiteSpace,display:e.element.style.display,fontSize:e.element.style.fontSize},S(e),e.newbie=!0,e.dirty=!0,r.push(e)}(t),{element:e,fit:y(t,n),unfreeze:E(t),freeze:R(t),unsubscribe:w(t)}}));return l(),s}function P(e){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return"string"==typeof e?x(t(document.querySelectorAll(e)),i):x([e],i)[0]}}("undefined"==typeof window?null:window);class b{constructor(e){this.Reveal=e,this.startEmbeddedIframe=this.startEmbeddedIframe.bind(this)}shouldPreload(e){let t=this.Reveal.getConfig().preloadIframes;return"boolean"!=typeof t&&(t=e.hasAttribute("data-preload")),t}load(e,i={}){e.style.display=this.Reveal.getConfig().display,t(e,"img[data-src], video[data-src], audio[data-src], iframe[data-src]").forEach((e=>{("IFRAME"!==e.tagName||this.shouldPreload(e))&&(e.setAttribute("src",e.getAttribute("data-src")),e.setAttribute("data-lazy-loaded",""),e.removeAttribute("data-src"))})),t(e,"video, audio").forEach((e=>{let i=0;t(e,"source[data-src]").forEach((e=>{e.setAttribute("src",e.getAttribute("data-src")),e.removeAttribute("data-src"),e.setAttribute("data-lazy-loaded",""),i+=1})),g&&"VIDEO"===e.tagName&&e.setAttribute("playsinline",""),i>0&&e.load()}));let s=e.slideBackgroundElement;if(s){s.style.display="block";let t=e.slideBackgroundContentElement,a=e.getAttribute("data-background-iframe");if(!1===s.hasAttribute("data-loaded")){s.setAttribute("data-loaded","true");let n=e.getAttribute("data-background-image"),r=e.getAttribute("data-background-video"),o=e.hasAttribute("data-background-video-loop"),l=e.hasAttribute("data-background-video-muted");if(n)/^data:/.test(n.trim())?t.style.backgroundImage=`url(${n.trim()})`:t.style.backgroundImage=n.split(",").map((e=>`url(${encodeURI(e.trim())})`)).join(",");else if(r&&!this.Reveal.isSpeakerNotes()){let e=document.createElement("video");o&&e.setAttribute("loop",""),l&&(e.muted=!0),g&&(e.muted=!0,e.setAttribute("playsinline","")),r.split(",").forEach((t=>{let i=((e="")=>h[e.split(".").pop()])(t);e.innerHTML+=i?`<source src="${t}" type="${i}">`:`<source src="${t}">`})),t.appendChild(e)}else if(a&&!0!==i.excludeIframes){let e=document.createElement("iframe");e.setAttribute("allowfullscreen",""),e.setAttribute("mozallowfullscreen",""),e.setAttribute("webkitallowfullscreen",""),e.setAttribute("allow","autoplay"),e.setAttribute("data-src",a),e.style.width="100%",e.style.height="100%",e.style.maxHeight="100%",e.style.maxWidth="100%",t.appendChild(e)}}let n=t.querySelector("iframe[data-src]");n&&this.shouldPreload(s)&&!/autoplay=(1|true|yes)/gi.test(a)&&n.getAttribute("src")!==a&&n.setAttribute("src",a)}this.layout(e)}layout(e){Array.from(e.querySelectorAll(".r-fit-text")).forEach((e=>{f(e,{minSize:24,maxSize:.8*this.Reveal.getConfig().height,observeMutations:!1,observeWindow:!1})}))}unload(e){e.style.display="none";let i=this.Reveal.getSlideBackground(e);i&&(i.style.display="none",t(i,"iframe[src]").forEach((e=>{e.removeAttribute("src")}))),t(e,"video[data-lazy-loaded][src], audio[data-lazy-loaded][src], iframe[data-lazy-loaded][src]").forEach((e=>{e.setAttribute("data-src",e.getAttribute("src")),e.removeAttribute("src")})),t(e,"video[data-lazy-loaded] source[src], audio source[src]").forEach((e=>{e.setAttribute("data-src",e.getAttribute("src")),e.removeAttribute("src")}))}formatEmbeddedContent(){let e=(e,i,s)=>{t(this.Reveal.getSlidesElement(),"iframe["+e+'*="'+i+'"]').forEach((t=>{let i=t.getAttribute(e);i&&-1===i.indexOf(s)&&t.setAttribute(e,i+(/\?/.test(i)?"&":"?")+s)}))};e("src","youtube.com/embed/","enablejsapi=1"),e("data-src","youtube.com/embed/","enablejsapi=1"),e("src","player.vimeo.com/","api=1"),e("data-src","player.vimeo.com/","api=1")}startEmbeddedContent(e){e&&!this.Reveal.isSpeakerNotes()&&(t(e,'img[src$=".gif"]').forEach((e=>{e.setAttribute("src",e.getAttribute("src"))})),t(e,"video, audio").forEach((e=>{if(r(e,".fragment")&&!r(e,".fragment.visible"))return;let t=this.Reveal.getConfig().autoPlayMedia;if("boolean"!=typeof t&&(t=e.hasAttribute("data-autoplay")||!!r(e,".slide-background")),t&&"function"==typeof e.play)if(e.readyState>1)this.startEmbeddedMedia({target:e});else if(g){let t=e.play();t&&"function"==typeof t.catch&&!1===e.controls&&t.catch((()=>{e.controls=!0,e.addEventListener("play",(()=>{e.controls=!1}))}))}else e.removeEventListener("loadeddata",this.startEmbeddedMedia),e.addEventListener("loadeddata",this.startEmbeddedMedia)})),t(e,"iframe[src]").forEach((e=>{r(e,".fragment")&&!r(e,".fragment.visible")||this.startEmbeddedIframe({target:e})})),t(e,"iframe[data-src]").forEach((e=>{r(e,".fragment")&&!r(e,".fragment.visible")||e.getAttribute("src")!==e.getAttribute("data-src")&&(e.removeEventListener("load",this.startEmbeddedIframe),e.addEventListener("load",this.startEmbeddedIframe),e.setAttribute("src",e.getAttribute("data-src")))})))}startEmbeddedMedia(e){let t=!!r(e.target,"html"),i=!!r(e.target,".present");t&&i&&(e.target.currentTime=0,e.target.play()),e.target.removeEventListener("loadeddata",this.startEmbeddedMedia)}startEmbeddedIframe(e){let t=e.target;if(t&&t.contentWindow){let i=!!r(e.target,"html"),s=!!r(e.target,".present");if(i&&s){let e=this.Reveal.getConfig().autoPlayMedia;"boolean"!=typeof e&&(e=t.hasAttribute("data-autoplay")||!!r(t,".slide-background")),/youtube\.com\/embed\//.test(t.getAttribute("src"))&&e?t.contentWindow.postMessage('{"event":"command","func":"playVideo","args":""}',"*"):/player\.vimeo\.com\//.test(t.getAttribute("src"))&&e?t.contentWindow.postMessage('{"method":"play"}',"*"):t.contentWindow.postMessage("slide:start","*")}}}stopEmbeddedContent(i,s={}){s=e({unloadIframes:!0},s),i&&i.parentNode&&(t(i,"video, audio").forEach((e=>{e.hasAttribute("data-ignore")||"function"!=typeof e.pause||(e.setAttribute("data-paused-by-reveal",""),e.pause())})),t(i,"iframe").forEach((e=>{e.contentWindow&&e.contentWindow.postMessage("slide:stop","*"),e.removeEventListener("load",this.startEmbeddedIframe)})),t(i,'iframe[src*="youtube.com/embed/"]').forEach((e=>{!e.hasAttribute("data-ignore")&&e.contentWindow&&"function"==typeof e.contentWindow.postMessage&&e.contentWindow.postMessage('{"event":"command","func":"pauseVideo","args":""}',"*")})),t(i,'iframe[src*="player.vimeo.com/"]').forEach((e=>{!e.hasAttribute("data-ignore")&&e.contentWindow&&"function"==typeof e.contentWindow.postMessage&&e.contentWindow.postMessage('{"method":"pause"}',"*")})),!0===s.unloadIframes&&t(i,"iframe[data-src]").forEach((e=>{e.setAttribute("src","about:blank"),e.removeAttribute("src")})))}}class y{constructor(e){this.Reveal=e}render(){this.element=document.createElement("div"),this.element.className="slide-number",this.Reveal.getRevealElement().appendChild(this.element)}configure(e,t){let i="none";e.slideNumber&&!this.Reveal.isPrintingPDF()&&("all"===e.showSlideNumber||"speaker"===e.showSlideNumber&&this.Reveal.isSpeakerNotes())&&(i="block"),this.element.style.display=i}update(){this.Reveal.getConfig().slideNumber&&this.element&&(this.element.innerHTML=this.getSlideNumber())}getSlideNumber(e=this.Reveal.getCurrentSlide()){let t,i=this.Reveal.getConfig(),s="h.v";if("function"==typeof i.slideNumber)t=i.slideNumber(e);else{"string"==typeof i.slideNumber&&(s=i.slideNumber),/c/.test(s)||1!==this.Reveal.getHorizontalSlides().length||(s="c");let a=e&&"uncounted"===e.dataset.visibility?0:1;switch(t=[],s){case"c":t.push(this.Reveal.getSlidePastCount(e)+a);break;case"c/t":t.push(this.Reveal.getSlidePastCount(e)+a,"/",this.Reveal.getTotalSlides());break;default:let i=this.Reveal.getIndices(e);t.push(i.h+a);let n="h/v"===s?"/":".";this.Reveal.isVerticalSlide(e)&&t.push(n,i.v+1)}}let a="#"+this.Reveal.location.getHash(e);return this.formatNumber(t[0],t[1],t[2],a)}formatNumber(e,t,i,s="#"+this.Reveal.location.getHash()){return"number"!=typeof i||isNaN(i)?`<a href="${s}">\n\t\t\t\t\t<span class="slide-number-a">${e}</span>\n\t\t\t\t\t</a>`:`<a href="${s}">\n\t\t\t\t\t<span class="slide-number-a">${e}</span>\n\t\t\t\t\t<span class="slide-number-delimiter">${t}</span>\n\t\t\t\t\t<span class="slide-number-b">${i}</span>\n\t\t\t\t\t</a>`}destroy(){this.element.remove()}}const w=e=>{let t=e.match(/^#([0-9a-f]{3})$/i);if(t&&t[1])return t=t[1],{r:17*parseInt(t.charAt(0),16),g:17*parseInt(t.charAt(1),16),b:17*parseInt(t.charAt(2),16)};let i=e.match(/^#([0-9a-f]{6})$/i);if(i&&i[1])return i=i[1],{r:parseInt(i.slice(0,2),16),g:parseInt(i.slice(2,4),16),b:parseInt(i.slice(4,6),16)};let s=e.match(/^rgb\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)$/i);if(s)return{r:parseInt(s[1],10),g:parseInt(s[2],10),b:parseInt(s[3],10)};let a=e.match(/^rgba\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\,\s*([\d]+|[\d]*.[\d]+)\s*\)$/i);return a?{r:parseInt(a[1],10),g:parseInt(a[2],10),b:parseInt(a[3],10),a:parseFloat(a[4])}:null};class E{constructor(e){this.Reveal=e}render(){this.element=document.createElement("div"),this.element.className="backgrounds",this.Reveal.getRevealElement().appendChild(this.element)}create(){this.element.innerHTML="",this.element.classList.add("no-transition"),this.Reveal.getHorizontalSlides().forEach((e=>{let i=this.createBackground(e,this.element);t(e,"section").forEach((e=>{this.createBackground(e,i),i.classList.add("stack")}))})),this.Reveal.getConfig().parallaxBackgroundImage?(this.element.style.backgroundImage='url("'+this.Reveal.getConfig().parallaxBackgroundImage+'")',this.element.style.backgroundSize=this.Reveal.getConfig().parallaxBackgroundSize,this.element.style.backgroundRepeat=this.Reveal.getConfig().parallaxBackgroundRepeat,this.element.style.backgroundPosition=this.Reveal.getConfig().parallaxBackgroundPosition,setTimeout((()=>{this.Reveal.getRevealElement().classList.add("has-parallax-background")}),1)):(this.element.style.backgroundImage="",this.Reveal.getRevealElement().classList.remove("has-parallax-background"))}createBackground(e,t){let i=document.createElement("div");i.className="slide-background "+e.className.replace(/present|past|future/,"");let s=document.createElement("div");return s.className="slide-background-content",i.appendChild(s),t.appendChild(i),e.slideBackgroundElement=i,e.slideBackgroundContentElement=s,this.sync(e),i}sync(e){const t=e.slideBackgroundElement,i=e.slideBackgroundContentElement,s={background:e.getAttribute("data-background"),backgroundSize:e.getAttribute("data-background-size"),backgroundImage:e.getAttribute("data-background-image"),backgroundVideo:e.getAttribute("data-background-video"),backgroundIframe:e.getAttribute("data-background-iframe"),backgroundColor:e.getAttribute("data-background-color"),backgroundRepeat:e.getAttribute("data-background-repeat"),backgroundPosition:e.getAttribute("data-background-position"),backgroundTransition:e.getAttribute("data-background-transition"),backgroundOpacity:e.getAttribute("data-background-opacity")},a=e.hasAttribute("data-preload");e.classList.remove("has-dark-background"),e.classList.remove("has-light-background"),t.removeAttribute("data-loaded"),t.removeAttribute("data-background-hash"),t.removeAttribute("data-background-size"),t.removeAttribute("data-background-transition"),t.style.backgroundColor="",i.style.backgroundSize="",i.style.backgroundRepeat="",i.style.backgroundPosition="",i.style.backgroundImage="",i.style.opacity="",i.innerHTML="",s.background&&(/^(http|file|\/\/)/gi.test(s.background)||/\.(svg|png|jpg|jpeg|gif|bmp)([?#\s]|$)/gi.test(s.background)?e.setAttribute("data-background-image",s.background):t.style.background=s.background),(s.background||s.backgroundColor||s.backgroundImage||s.backgroundVideo||s.backgroundIframe)&&t.setAttribute("data-background-hash",s.background+s.backgroundSize+s.backgroundImage+s.backgroundVideo+s.backgroundIframe+s.backgroundColor+s.backgroundRepeat+s.backgroundPosition+s.backgroundTransition+s.backgroundOpacity),s.backgroundSize&&t.setAttribute("data-background-size",s.backgroundSize),s.backgroundColor&&(t.style.backgroundColor=s.backgroundColor),s.backgroundTransition&&t.setAttribute("data-background-transition",s.backgroundTransition),a&&t.setAttribute("data-preload",""),s.backgroundSize&&(i.style.backgroundSize=s.backgroundSize),s.backgroundRepeat&&(i.style.backgroundRepeat=s.backgroundRepeat),s.backgroundPosition&&(i.style.backgroundPosition=s.backgroundPosition),s.backgroundOpacity&&(i.style.opacity=s.backgroundOpacity);let n=s.backgroundColor;if(!n||!w(n)){let e=window.getComputedStyle(t);e&&e.backgroundColor&&(n=e.backgroundColor)}if(n){const t=w(n);t&&0!==t.a&&("string"==typeof(r=n)&&(r=w(r)),(r?(299*r.r+587*r.g+114*r.b)/1e3:null)<128?e.classList.add("has-dark-background"):e.classList.add("has-light-background"))}var r}update(e=!1){let i=this.Reveal.getCurrentSlide(),s=this.Reveal.getIndices(),a=null,n=this.Reveal.getConfig().rtl?"future":"past",r=this.Reveal.getConfig().rtl?"past":"future";if(Array.from(this.element.childNodes).forEach(((i,o)=>{i.classList.remove("past","present","future"),o<s.h?i.classList.add(n):o>s.h?i.classList.add(r):(i.classList.add("present"),a=i),(e||o===s.h)&&t(i,".slide-background").forEach(((e,t)=>{e.classList.remove("past","present","future"),t<s.v?e.classList.add("past"):t>s.v?e.classList.add("future"):(e.classList.add("present"),o===s.h&&(a=e))}))})),this.previousBackground&&this.Reveal.slideContent.stopEmbeddedContent(this.previousBackground,{unloadIframes:!this.Reveal.slideContent.shouldPreload(this.previousBackground)}),a){this.Reveal.slideContent.startEmbeddedContent(a);let e=a.querySelector(".slide-background-content");if(e){let t=e.style.backgroundImage||"";/\.gif/i.test(t)&&(e.style.backgroundImage="",window.getComputedStyle(e).opacity,e.style.backgroundImage=t)}let t=this.previousBackground?this.previousBackground.getAttribute("data-background-hash"):null,i=a.getAttribute("data-background-hash");i&&i===t&&a!==this.previousBackground&&this.element.classList.add("no-transition"),this.previousBackground=a}i&&["has-light-background","has-dark-background"].forEach((e=>{i.classList.contains(e)?this.Reveal.getRevealElement().classList.add(e):this.Reveal.getRevealElement().classList.remove(e)}),this),setTimeout((()=>{this.element.classList.remove("no-transition")}),1)}updateParallax(){let e=this.Reveal.getIndices();if(this.Reveal.getConfig().parallaxBackgroundImage){let t,i,s=this.Reveal.getHorizontalSlides(),a=this.Reveal.getVerticalSlides(),n=this.element.style.backgroundSize.split(" ");1===n.length?t=i=parseInt(n[0],10):(t=parseInt(n[0],10),i=parseInt(n[1],10));let r,o,l=this.element.offsetWidth,d=s.length;r="number"==typeof this.Reveal.getConfig().parallaxBackgroundHorizontal?this.Reveal.getConfig().parallaxBackgroundHorizontal:d>1?(t-l)/(d-1):0,o=r*e.h*-1;let c,h,u=this.element.offsetHeight,g=a.length;c="number"==typeof this.Reveal.getConfig().parallaxBackgroundVertical?this.Reveal.getConfig().parallaxBackgroundVertical:(i-u)/(g-1),h=g>0?c*e.v:0,this.element.style.backgroundPosition=o+"px "+-h+"px"}}destroy(){this.element.remove()}}const R=/registerPlugin|registerKeyboardShortcut|addKeyBinding|addEventListener/,S=/fade-(down|up|right|left|out|in-then-out|in-then-semi-out)|semi-fade-out|current-visible|shrink|grow/;let A=0;class k{constructor(e){this.Reveal=e}run(e,t){this.reset();let i=this.Reveal.getSlides(),s=i.indexOf(t),a=i.indexOf(e);if(e.hasAttribute("data-auto-animate")&&t.hasAttribute("data-auto-animate")&&e.getAttribute("data-auto-animate-id")===t.getAttribute("data-auto-animate-id")&&!(s>a?t:e).hasAttribute("data-auto-animate-restart")){this.autoAnimateStyleSheet=this.autoAnimateStyleSheet||l();let i=this.getAutoAnimateOptions(t);e.dataset.autoAnimate="pending",t.dataset.autoAnimate="pending",i.slideDirection=s>a?"forward":"backward";let n=this.getAutoAnimatableElements(e,t).map((e=>this.autoAnimateElements(e.from,e.to,e.options||{},i,A++)));if("false"!==t.dataset.autoAnimateUnmatched&&!0===this.Reveal.getConfig().autoAnimateUnmatched){let e=.8*i.duration,s=.2*i.duration;this.getUnmatchedAutoAnimateElements(t).forEach((e=>{let t=this.getAutoAnimateOptions(e,i),s="unmatched";t.duration===i.duration&&t.delay===i.delay||(s="unmatched-"+A++,n.push(`[data-auto-animate="running"] [data-auto-animate-target="${s}"] { transition: opacity ${t.duration}s ease ${t.delay}s; }`)),e.dataset.autoAnimateTarget=s}),this),n.push(`[data-auto-animate="running"] [data-auto-animate-target="unmatched"] { transition: opacity ${e}s ease ${s}s; }`)}this.autoAnimateStyleSheet.innerHTML=n.join(""),requestAnimationFrame((()=>{this.autoAnimateStyleSheet&&(getComputedStyle(this.autoAnimateStyleSheet).fontWeight,t.dataset.autoAnimate="running")})),this.Reveal.dispatchEvent({type:"autoanimate",data:{fromSlide:e,toSlide:t,sheet:this.autoAnimateStyleSheet}})}}reset(){t(this.Reveal.getRevealElement(),'[data-auto-animate]:not([data-auto-animate=""])').forEach((e=>{e.dataset.autoAnimate=""})),t(this.Reveal.getRevealElement(),"[data-auto-animate-target]").forEach((e=>{delete e.dataset.autoAnimateTarget})),this.autoAnimateStyleSheet&&this.autoAnimateStyleSheet.parentNode&&(this.autoAnimateStyleSheet.parentNode.removeChild(this.autoAnimateStyleSheet),this.autoAnimateStyleSheet=null)}autoAnimateElements(e,t,i,s,a){e.dataset.autoAnimateTarget="",t.dataset.autoAnimateTarget=a;let n=this.getAutoAnimateOptions(t,s);void 0!==i.delay&&(n.delay=i.delay),void 0!==i.duration&&(n.duration=i.duration),void 0!==i.easing&&(n.easing=i.easing);let r=this.getAutoAnimatableProperties("from",e,i),o=this.getAutoAnimatableProperties("to",t,i);if(t.classList.contains("fragment")&&(delete o.styles.opacity,e.classList.contains("fragment"))){(e.className.match(S)||[""])[0]===(t.className.match(S)||[""])[0]&&"forward"===s.slideDirection&&t.classList.add("visible","disabled")}if(!1!==i.translate||!1!==i.scale){let e=this.Reveal.getScale(),t={x:(r.x-o.x)/e,y:(r.y-o.y)/e,scaleX:r.width/o.width,scaleY:r.height/o.height};t.x=Math.round(1e3*t.x)/1e3,t.y=Math.round(1e3*t.y)/1e3,t.scaleX=Math.round(1e3*t.scaleX)/1e3,t.scaleX=Math.round(1e3*t.scaleX)/1e3;let s=!1!==i.translate&&(0!==t.x||0!==t.y),a=!1!==i.scale&&(0!==t.scaleX||0!==t.scaleY);if(s||a){let e=[];s&&e.push(`translate(${t.x}px, ${t.y}px)`),a&&e.push(`scale(${t.scaleX}, ${t.scaleY})`),r.styles.transform=e.join(" "),r.styles["transform-origin"]="top left",o.styles.transform="none"}}for(let e in o.styles){const t=o.styles[e],i=r.styles[e];t===i?delete o.styles[e]:(!0===t.explicitValue&&(o.styles[e]=t.value),!0===i.explicitValue&&(r.styles[e]=i.value))}let l="",d=Object.keys(o.styles);if(d.length>0){r.styles.transition="none",o.styles.transition=`all ${n.duration}s ${n.easing} ${n.delay}s`,o.styles["transition-property"]=d.join(", "),o.styles["will-change"]=d.join(", "),l='[data-auto-animate-target="'+a+'"] {'+Object.keys(r.styles).map((e=>e+": "+r.styles[e]+" !important;")).join("")+'}[data-auto-animate="running"] [data-auto-animate-target="'+a+'"] {'+Object.keys(o.styles).map((e=>e+": "+o.styles[e]+" !important;")).join("")+"}"}return l}getAutoAnimateOptions(t,i){let s={easing:this.Reveal.getConfig().autoAnimateEasing,duration:this.Reveal.getConfig().autoAnimateDuration,delay:0};if(s=e(s,i),t.parentNode){let e=r(t.parentNode,"[data-auto-animate-target]");e&&(s=this.getAutoAnimateOptions(e,s))}return t.dataset.autoAnimateEasing&&(s.easing=t.dataset.autoAnimateEasing),t.dataset.autoAnimateDuration&&(s.duration=parseFloat(t.dataset.autoAnimateDuration)),t.dataset.autoAnimateDelay&&(s.delay=parseFloat(t.dataset.autoAnimateDelay)),s}getAutoAnimatableProperties(e,t,i){let s=this.Reveal.getConfig(),a={styles:[]};if(!1!==i.translate||!1!==i.scale){let e;if("function"==typeof i.measure)e=i.measure(t);else if(s.center)e=t.getBoundingClientRect();else{let i=this.Reveal.getScale();e={x:t.offsetLeft*i,y:t.offsetTop*i,width:t.offsetWidth*i,height:t.offsetHeight*i}}a.x=e.x,a.y=e.y,a.width=e.width,a.height=e.height}const n=getComputedStyle(t);return(i.styles||s.autoAnimateStyles).forEach((t=>{let i;"string"==typeof t&&(t={property:t}),i=void 0!==t.from&&"from"===e?{value:t.from,explicitValue:!0}:void 0!==t.to&&"to"===e?{value:t.to,explicitValue:!0}:n[t.property],""!==i&&(a.styles[t.property]=i)})),a}getAutoAnimatableElements(e,t){let i=("function"==typeof this.Reveal.getConfig().autoAnimateMatcher?this.Reveal.getConfig().autoAnimateMatcher:this.getAutoAnimatePairs).call(this,e,t),s=[];return i.filter(((e,t)=>{if(-1===s.indexOf(e.to))return s.push(e.to),!0}))}getAutoAnimatePairs(e,t){let i=[];const s="h1, h2, h3, h4, h5, h6, p, li";return this.findAutoAnimateMatches(i,e,t,"[data-id]",(e=>e.nodeName+":::"+e.getAttribute("data-id"))),this.findAutoAnimateMatches(i,e,t,s,(e=>e.nodeName+":::"+e.innerText)),this.findAutoAnimateMatches(i,e,t,"img, video, iframe",(e=>e.nodeName+":::"+(e.getAttribute("src")||e.getAttribute("data-src")))),this.findAutoAnimateMatches(i,e,t,"pre",(e=>e.nodeName+":::"+e.innerText)),i.forEach((e=>{n(e.from,s)?e.options={scale:!1}:n(e.from,"pre")&&(e.options={scale:!1,styles:["width","height"]},this.findAutoAnimateMatches(i,e.from,e.to,".hljs .hljs-ln-code",(e=>e.textContent),{scale:!1,styles:[],measure:this.getLocalBoundingBox.bind(this)}),this.findAutoAnimateMatches(i,e.from,e.to,".hljs .hljs-ln-line[data-line-number]",(e=>e.getAttribute("data-line-number")),{scale:!1,styles:["width"],measure:this.getLocalBoundingBox.bind(this)}))}),this),i}getLocalBoundingBox(e){const t=this.Reveal.getScale();return{x:Math.round(e.offsetLeft*t*100)/100,y:Math.round(e.offsetTop*t*100)/100,width:Math.round(e.offsetWidth*t*100)/100,height:Math.round(e.offsetHeight*t*100)/100}}findAutoAnimateMatches(e,t,i,s,a,n){let r={},o={};[].slice.call(t.querySelectorAll(s)).forEach(((e,t)=>{const i=a(e);"string"==typeof i&&i.length&&(r[i]=r[i]||[],r[i].push(e))})),[].slice.call(i.querySelectorAll(s)).forEach(((t,i)=>{const s=a(t);let l;if(o[s]=o[s]||[],o[s].push(t),r[s]){const e=o[s].length-1,t=r[s].length-1;r[s][e]?(l=r[s][e],r[s][e]=null):r[s][t]&&(l=r[s][t],r[s][t]=null)}l&&e.push({from:l,to:t,options:n})}))}getUnmatchedAutoAnimateElements(e){return[].slice.call(e.children).reduce(((e,t)=>{const i=t.querySelector("[data-auto-animate-target]");return t.hasAttribute("data-auto-animate-target")||i||e.push(t),t.querySelector("[data-auto-animate-target]")&&(e=e.concat(this.getUnmatchedAutoAnimateElements(t))),e}),[])}}class L{constructor(e){this.Reveal=e}configure(e,t){!1===e.fragments?this.disable():!1===t.fragments&&this.enable()}disable(){t(this.Reveal.getSlidesElement(),".fragment").forEach((e=>{e.classList.add("visible"),e.classList.remove("current-fragment")}))}enable(){t(this.Reveal.getSlidesElement(),".fragment").forEach((e=>{e.classList.remove("visible"),e.classList.remove("current-fragment")}))}availableRoutes(){let e=this.Reveal.getCurrentSlide();if(e&&this.Reveal.getConfig().fragments){let t=e.querySelectorAll(".fragment:not(.disabled)"),i=e.querySelectorAll(".fragment:not(.disabled):not(.visible)");return{prev:t.length-i.length>0,next:!!i.length}}return{prev:!1,next:!1}}sort(e,t=!1){e=Array.from(e);let i=[],s=[],a=[];e.forEach((e=>{if(e.hasAttribute("data-fragment-index")){let t=parseInt(e.getAttribute("data-fragment-index"),10);i[t]||(i[t]=[]),i[t].push(e)}else s.push([e])})),i=i.concat(s);let n=0;return i.forEach((e=>{e.forEach((e=>{a.push(e),e.setAttribute("data-fragment-index",n)})),n++})),!0===t?i:a}sortAll(){this.Reveal.getHorizontalSlides().forEach((e=>{let i=t(e,"section");i.forEach(((e,t)=>{this.sort(e.querySelectorAll(".fragment"))}),this),0===i.length&&this.sort(e.querySelectorAll(".fragment"))}))}update(e,t){let i={shown:[],hidden:[]},s=this.Reveal.getCurrentSlide();if(s&&this.Reveal.getConfig().fragments&&(t=t||this.sort(s.querySelectorAll(".fragment"))).length){let a=0;if("number"!=typeof e){let t=this.sort(s.querySelectorAll(".fragment.visible")).pop();t&&(e=parseInt(t.getAttribute("data-fragment-index")||0,10))}Array.from(t).forEach(((t,s)=>{if(t.hasAttribute("data-fragment-index")&&(s=parseInt(t.getAttribute("data-fragment-index"),10)),a=Math.max(a,s),s<=e){let a=t.classList.contains("visible");t.classList.add("visible"),t.classList.remove("current-fragment"),s===e&&(this.Reveal.announceStatus(this.Reveal.getStatusText(t)),t.classList.add("current-fragment"),this.Reveal.slideContent.startEmbeddedContent(t)),a||(i.shown.push(t),this.Reveal.dispatchEvent({target:t,type:"visible",bubbles:!1}))}else{let e=t.classList.contains("visible");t.classList.remove("visible"),t.classList.remove("current-fragment"),e&&(this.Reveal.slideContent.stopEmbeddedContent(t),i.hidden.push(t),this.Reveal.dispatchEvent({target:t,type:"hidden",bubbles:!1}))}})),e="number"==typeof e?e:-1,e=Math.max(Math.min(e,a),-1),s.setAttribute("data-fragment",e)}return i}sync(e=this.Reveal.getCurrentSlide()){return this.sort(e.querySelectorAll(".fragment"))}goto(e,t=0){let i=this.Reveal.getCurrentSlide();if(i&&this.Reveal.getConfig().fragments){let s=this.sort(i.querySelectorAll(".fragment:not(.disabled)"));if(s.length){if("number"!=typeof e){let t=this.sort(i.querySelectorAll(".fragment:not(.disabled).visible")).pop();e=t?parseInt(t.getAttribute("data-fragment-index")||0,10):-1}e+=t;let a=this.update(e,s);return a.hidden.length&&this.Reveal.dispatchEvent({type:"fragmenthidden",data:{fragment:a.hidden[0],fragments:a.hidden}}),a.shown.length&&this.Reveal.dispatchEvent({type:"fragmentshown",data:{fragment:a.shown[0],fragments:a.shown}}),this.Reveal.controls.update(),this.Reveal.progress.update(),this.Reveal.getConfig().fragmentInURL&&this.Reveal.location.writeURL(),!(!a.shown.length&&!a.hidden.length)}}return!1}next(){return this.goto(null,1)}prev(){return this.goto(null,-1)}}class C{constructor(e){this.Reveal=e,this.active=!1,this.onSlideClicked=this.onSlideClicked.bind(this)}activate(){if(this.Reveal.getConfig().overview&&!this.isActive()){this.active=!0,this.Reveal.getRevealElement().classList.add("overview"),this.Reveal.cancelAutoSlide(),this.Reveal.getSlidesElement().appendChild(this.Reveal.getBackgroundsElement()),t(this.Reveal.getRevealElement(),".slides section").forEach((e=>{e.classList.contains("stack")||e.addEventListener("click",this.onSlideClicked,!0)}));const e=70,i=this.Reveal.getComputedSlideSize();this.overviewSlideWidth=i.width+e,this.overviewSlideHeight=i.height+e,this.Reveal.getConfig().rtl&&(this.overviewSlideWidth=-this.overviewSlideWidth),this.Reveal.updateSlidesVisibility(),this.layout(),this.update(),this.Reveal.layout();const s=this.Reveal.getIndices();this.Reveal.dispatchEvent({type:"overviewshown",data:{indexh:s.h,indexv:s.v,currentSlide:this.Reveal.getCurrentSlide()}})}}layout(){this.Reveal.getHorizontalSlides().forEach(((e,i)=>{e.setAttribute("data-index-h",i),a(e,"translate3d("+i*this.overviewSlideWidth+"px, 0, 0)"),e.classList.contains("stack")&&t(e,"section").forEach(((e,t)=>{e.setAttribute("data-index-h",i),e.setAttribute("data-index-v",t),a(e,"translate3d(0, "+t*this.overviewSlideHeight+"px, 0)")}))})),Array.from(this.Reveal.getBackgroundsElement().childNodes).forEach(((e,i)=>{a(e,"translate3d("+i*this.overviewSlideWidth+"px, 0, 0)"),t(e,".slide-background").forEach(((e,t)=>{a(e,"translate3d(0, "+t*this.overviewSlideHeight+"px, 0)")}))}))}update(){const e=Math.min(window.innerWidth,window.innerHeight),t=Math.max(e/5,150)/e,i=this.Reveal.getIndices();this.Reveal.transformSlides({overview:["scale("+t+")","translateX("+-i.h*this.overviewSlideWidth+"px)","translateY("+-i.v*this.overviewSlideHeight+"px)"].join(" ")})}deactivate(){if(this.Reveal.getConfig().overview){this.active=!1,this.Reveal.getRevealElement().classList.remove("overview"),this.Reveal.getRevealElement().classList.add("overview-deactivating"),setTimeout((()=>{this.Reveal.getRevealElement().classList.remove("overview-deactivating")}),1),this.Reveal.getRevealElement().appendChild(this.Reveal.getBackgroundsElement()),t(this.Reveal.getRevealElement(),".slides section").forEach((e=>{a(e,""),e.removeEventListener("click",this.onSlideClicked,!0)})),t(this.Reveal.getBackgroundsElement(),".slide-background").forEach((e=>{a(e,"")})),this.Reveal.transformSlides({overview:""});const e=this.Reveal.getIndices();this.Reveal.slide(e.h,e.v),this.Reveal.layout(),this.Reveal.cueAutoSlide(),this.Reveal.dispatchEvent({type:"overviewhidden",data:{indexh:e.h,indexv:e.v,currentSlide:this.Reveal.getCurrentSlide()}})}}toggle(e){"boolean"==typeof e?e?this.activate():this.deactivate():this.isActive()?this.deactivate():this.activate()}isActive(){return this.active}onSlideClicked(e){if(this.isActive()){e.preventDefault();let t=e.target;for(;t&&!t.nodeName.match(/section/gi);)t=t.parentNode;if(t&&!t.classList.contains("disabled")&&(this.deactivate(),t.nodeName.match(/section/gi))){let e=parseInt(t.getAttribute("data-index-h"),10),i=parseInt(t.getAttribute("data-index-v"),10);this.Reveal.slide(e,i)}}}}class x{constructor(e){this.Reveal=e,this.shortcuts={},this.bindings={},this.onDocumentKeyDown=this.onDocumentKeyDown.bind(this),this.onDocumentKeyPress=this.onDocumentKeyPress.bind(this)}configure(e,t){"linear"===e.navigationMode?(this.shortcuts["&#8594; , &#8595; , SPACE , N , L , J"]="Next slide",this.shortcuts["&#8592; , &#8593; , P , H , K"]="Previous slide"):(this.shortcuts["N , SPACE"]="Next slide",this.shortcuts["P , Shift SPACE"]="Previous slide",this.shortcuts["&#8592; , H"]="Navigate left",this.shortcuts["&#8594; , L"]="Navigate right",this.shortcuts["&#8593; , K"]="Navigate up",this.shortcuts["&#8595; , J"]="Navigate down"),this.shortcuts["Alt + &#8592;/&#8593/&#8594;/&#8595;"]="Navigate without fragments",this.shortcuts["Shift + &#8592;/&#8593/&#8594;/&#8595;"]="Jump to first/last slide",this.shortcuts["B , ."]="Pause",this.shortcuts.F="Fullscreen",this.shortcuts["ESC, O"]="Slide overview"}bind(){document.addEventListener("keydown",this.onDocumentKeyDown,!1),document.addEventListener("keypress",this.onDocumentKeyPress,!1)}unbind(){document.removeEventListener("keydown",this.onDocumentKeyDown,!1),document.removeEventListener("keypress",this.onDocumentKeyPress,!1)}addKeyBinding(e,t){"object"==typeof e&&e.keyCode?this.bindings[e.keyCode]={callback:t,key:e.key,description:e.description}:this.bindings[e]={callback:t,key:null,description:null}}removeKeyBinding(e){delete this.bindings[e]}triggerKey(e){this.onDocumentKeyDown({keyCode:e})}registerKeyboardShortcut(e,t){this.shortcuts[e]=t}getShortcuts(){return this.shortcuts}getBindings(){return this.bindings}onDocumentKeyPress(e){e.shiftKey&&63===e.charCode&&this.Reveal.toggleHelp()}onDocumentKeyDown(e){let t=this.Reveal.getConfig();if("function"==typeof t.keyboardCondition&&!1===t.keyboardCondition(e))return!0;if("focused"===t.keyboardCondition&&!this.Reveal.isFocused())return!0;let i=e.keyCode,s=!this.Reveal.isAutoSliding();this.Reveal.onUserInput(e);let a=document.activeElement&&!0===document.activeElement.isContentEditable,n=document.activeElement&&document.activeElement.tagName&&/input|textarea/i.test(document.activeElement.tagName),r=document.activeElement&&document.activeElement.className&&/speaker-notes/i.test(document.activeElement.className),o=!(-1!==[32,37,38,39,40,78,80].indexOf(e.keyCode)&&e.shiftKey||e.altKey)&&(e.shiftKey||e.altKey||e.ctrlKey||e.metaKey);if(a||n||r||o)return;let l,d=[66,86,190,191];if("object"==typeof t.keyboard)for(l in t.keyboard)"togglePause"===t.keyboard[l]&&d.push(parseInt(l,10));if(this.Reveal.isPaused()&&-1===d.indexOf(i))return!1;let c="linear"===t.navigationMode||!this.Reveal.hasHorizontalSlides()||!this.Reveal.hasVerticalSlides(),h=!1;if("object"==typeof t.keyboard)for(l in t.keyboard)if(parseInt(l,10)===i){let i=t.keyboard[l];"function"==typeof i?i.apply(null,[e]):"string"==typeof i&&"function"==typeof this.Reveal[i]&&this.Reveal[i].call(),h=!0}if(!1===h)for(l in this.bindings)if(parseInt(l,10)===i){let t=this.bindings[l].callback;"function"==typeof t?t.apply(null,[e]):"string"==typeof t&&"function"==typeof this.Reveal[t]&&this.Reveal[t].call(),h=!0}!1===h&&(h=!0,80===i||33===i?this.Reveal.prev({skipFragments:e.altKey}):78===i||34===i?this.Reveal.next({skipFragments:e.altKey}):72===i||37===i?e.shiftKey?this.Reveal.slide(0):!this.Reveal.overview.isActive()&&c?this.Reveal.prev({skipFragments:e.altKey}):this.Reveal.left({skipFragments:e.altKey}):76===i||39===i?e.shiftKey?this.Reveal.slide(this.Reveal.getHorizontalSlides().length-1):!this.Reveal.overview.isActive()&&c?this.Reveal.next({skipFragments:e.altKey}):this.Reveal.right({skipFragments:e.altKey}):75===i||38===i?e.shiftKey?this.Reveal.slide(void 0,0):!this.Reveal.overview.isActive()&&c?this.Reveal.prev({skipFragments:e.altKey}):this.Reveal.up({skipFragments:e.altKey}):74===i||40===i?e.shiftKey?this.Reveal.slide(void 0,Number.MAX_VALUE):!this.Reveal.overview.isActive()&&c?this.Reveal.next({skipFragments:e.altKey}):this.Reveal.down({skipFragments:e.altKey}):36===i?this.Reveal.slide(0):35===i?this.Reveal.slide(this.Reveal.getHorizontalSlides().length-1):32===i?(this.Reveal.overview.isActive()&&this.Reveal.overview.deactivate(),e.shiftKey?this.Reveal.prev({skipFragments:e.altKey}):this.Reveal.next({skipFragments:e.altKey})):58===i||59===i||66===i||86===i||190===i||191===i?this.Reveal.togglePause():70===i?(e=>{let t=(e=e||document.documentElement).requestFullscreen||e.webkitRequestFullscreen||e.webkitRequestFullScreen||e.mozRequestFullScreen||e.msRequestFullscreen;t&&t.apply(e)})(t.embedded?this.Reveal.getViewportElement():document.documentElement):65===i?t.autoSlideStoppable&&this.Reveal.toggleAutoSlide(s):h=!1),h?e.preventDefault&&e.preventDefault():27!==i&&79!==i||(!1===this.Reveal.closeOverlay()&&this.Reveal.overview.toggle(),e.preventDefault&&e.preventDefault()),this.Reveal.cueAutoSlide()}}class P{constructor(e){var t,i,s;s=1e3,(i="MAX_REPLACE_STATE_FREQUENCY")in(t=this)?Object.defineProperty(t,i,{value:s,enumerable:!0,configurable:!0,writable:!0}):t[i]=s,this.Reveal=e,this.writeURLTimeout=0,this.replaceStateTimestamp=0,this.onWindowHashChange=this.onWindowHashChange.bind(this)}bind(){window.addEventListener("hashchange",this.onWindowHashChange,!1)}unbind(){window.removeEventListener("hashchange",this.onWindowHashChange,!1)}getIndicesFromHash(e=window.location.hash){let t=e.replace(/^#\/?/,""),i=t.split("/");if(/^[0-9]*$/.test(i[0])||!t.length){const e=this.Reveal.getConfig();let t,s=e.hashOneBasedIndex?1:0,a=parseInt(i[0],10)-s||0,n=parseInt(i[1],10)-s||0;return e.fragmentInURL&&(t=parseInt(i[2],10),isNaN(t)&&(t=void 0)),{h:a,v:n,f:t}}{let e,i;/\/[-\d]+$/g.test(t)&&(i=parseInt(t.split("/").pop(),10),i=isNaN(i)?void 0:i,t=t.split("/").shift());try{e=document.getElementById(decodeURIComponent(t))}catch(e){}if(e)return{...this.Reveal.getIndices(e),f:i}}return null}readURL(){const e=this.Reveal.getIndices(),t=this.getIndicesFromHash();t?t.h===e.h&&t.v===e.v&&void 0===t.f||this.Reveal.slide(t.h,t.v,t.f):this.Reveal.slide(e.h||0,e.v||0)}writeURL(e){let t=this.Reveal.getConfig(),i=this.Reveal.getCurrentSlide();if(clearTimeout(this.writeURLTimeout),"number"==typeof e)this.writeURLTimeout=setTimeout(this.writeURL,e);else if(i){let e=this.getHash();t.history?window.location.hash=e:t.hash&&("/"===e?this.debouncedReplaceState(window.location.pathname+window.location.search):this.debouncedReplaceState("#"+e))}}replaceState(e){window.history.replaceState(null,null,e),this.replaceStateTimestamp=Date.now()}debouncedReplaceState(e){clearTimeout(this.replaceStateTimeout),Date.now()-this.replaceStateTimestamp>this.MAX_REPLACE_STATE_FREQUENCY?this.replaceState(e):this.replaceStateTimeout=setTimeout((()=>this.replaceState(e)),this.MAX_REPLACE_STATE_FREQUENCY)}getHash(e){let t="/",i=e||this.Reveal.getCurrentSlide(),s=i?i.getAttribute("id"):null;s&&(s=encodeURIComponent(s));let a=this.Reveal.getIndices(e);if(this.Reveal.getConfig().fragmentInURL||(a.f=void 0),"string"==typeof s&&s.length)t="/"+s,a.f>=0&&(t+="/"+a.f);else{let e=this.Reveal.getConfig().hashOneBasedIndex?1:0;(a.h>0||a.v>0||a.f>=0)&&(t+=a.h+e),(a.v>0||a.f>=0)&&(t+="/"+(a.v+e)),a.f>=0&&(t+="/"+a.f)}return t}onWindowHashChange(e){this.readURL()}}class N{constructor(e){this.Reveal=e,this.onNavigateLeftClicked=this.onNavigateLeftClicked.bind(this),this.onNavigateRightClicked=this.onNavigateRightClicked.bind(this),this.onNavigateUpClicked=this.onNavigateUpClicked.bind(this),this.onNavigateDownClicked=this.onNavigateDownClicked.bind(this),this.onNavigatePrevClicked=this.onNavigatePrevClicked.bind(this),this.onNavigateNextClicked=this.onNavigateNextClicked.bind(this)}render(){const e=this.Reveal.getConfig().rtl,i=this.Reveal.getRevealElement();this.element=document.createElement("aside"),this.element.className="controls",this.element.innerHTML=`<button class="navigate-left" aria-label="${e?"next slide":"previous slide"}"><div class="controls-arrow"></div></button>\n\t\t\t<button class="navigate-right" aria-label="${e?"previous slide":"next slide"}"><div class="controls-arrow"></div></button>\n\t\t\t<button class="navigate-up" aria-label="above slide"><div class="controls-arrow"></div></button>\n\t\t\t<button class="navigate-down" aria-label="below slide"><div class="controls-arrow"></div></button>`,this.Reveal.getRevealElement().appendChild(this.element),this.controlsLeft=t(i,".navigate-left"),this.controlsRight=t(i,".navigate-right"),this.controlsUp=t(i,".navigate-up"),this.controlsDown=t(i,".navigate-down"),this.controlsPrev=t(i,".navigate-prev"),this.controlsNext=t(i,".navigate-next"),this.controlsRightArrow=this.element.querySelector(".navigate-right"),this.controlsLeftArrow=this.element.querySelector(".navigate-left"),this.controlsDownArrow=this.element.querySelector(".navigate-down")}configure(e,t){this.element.style.display=e.controls?"block":"none",this.element.setAttribute("data-controls-layout",e.controlsLayout),this.element.setAttribute("data-controls-back-arrows",e.controlsBackArrows)}bind(){let e=["touchstart","click"];v&&(e=["touchstart"]),e.forEach((e=>{this.controlsLeft.forEach((t=>t.addEventListener(e,this.onNavigateLeftClicked,!1))),this.controlsRight.forEach((t=>t.addEventListener(e,this.onNavigateRightClicked,!1))),this.controlsUp.forEach((t=>t.addEventListener(e,this.onNavigateUpClicked,!1))),this.controlsDown.forEach((t=>t.addEventListener(e,this.onNavigateDownClicked,!1))),this.controlsPrev.forEach((t=>t.addEventListener(e,this.onNavigatePrevClicked,!1))),this.controlsNext.forEach((t=>t.addEventListener(e,this.onNavigateNextClicked,!1)))}))}unbind(){["touchstart","click"].forEach((e=>{this.controlsLeft.forEach((t=>t.removeEventListener(e,this.onNavigateLeftClicked,!1))),this.controlsRight.forEach((t=>t.removeEventListener(e,this.onNavigateRightClicked,!1))),this.controlsUp.forEach((t=>t.removeEventListener(e,this.onNavigateUpClicked,!1))),this.controlsDown.forEach((t=>t.removeEventListener(e,this.onNavigateDownClicked,!1))),this.controlsPrev.forEach((t=>t.removeEventListener(e,this.onNavigatePrevClicked,!1))),this.controlsNext.forEach((t=>t.removeEventListener(e,this.onNavigateNextClicked,!1)))}))}update(){let e=this.Reveal.availableRoutes();[...this.controlsLeft,...this.controlsRight,...this.controlsUp,...this.controlsDown,...this.controlsPrev,...this.controlsNext].forEach((e=>{e.classList.remove("enabled","fragmented"),e.setAttribute("disabled","disabled")})),e.left&&this.controlsLeft.forEach((e=>{e.classList.add("enabled"),e.removeAttribute("disabled")})),e.right&&this.controlsRight.forEach((e=>{e.classList.add("enabled"),e.removeAttribute("disabled")})),e.up&&this.controlsUp.forEach((e=>{e.classList.add("enabled"),e.removeAttribute("disabled")})),e.down&&this.controlsDown.forEach((e=>{e.classList.add("enabled"),e.removeAttribute("disabled")})),(e.left||e.up)&&this.controlsPrev.forEach((e=>{e.classList.add("enabled"),e.removeAttribute("disabled")})),(e.right||e.down)&&this.controlsNext.forEach((e=>{e.classList.add("enabled"),e.removeAttribute("disabled")}));let t=this.Reveal.getCurrentSlide();if(t){let e=this.Reveal.fragments.availableRoutes();e.prev&&this.controlsPrev.forEach((e=>{e.classList.add("fragmented","enabled"),e.removeAttribute("disabled")})),e.next&&this.controlsNext.forEach((e=>{e.classList.add("fragmented","enabled"),e.removeAttribute("disabled")})),this.Reveal.isVerticalSlide(t)?(e.prev&&this.controlsUp.forEach((e=>{e.classList.add("fragmented","enabled"),e.removeAttribute("disabled")})),e.next&&this.controlsDown.forEach((e=>{e.classList.add("fragmented","enabled"),e.removeAttribute("disabled")}))):(e.prev&&this.controlsLeft.forEach((e=>{e.classList.add("fragmented","enabled"),e.removeAttribute("disabled")})),e.next&&this.controlsRight.forEach((e=>{e.classList.add("fragmented","enabled"),e.removeAttribute("disabled")})))}if(this.Reveal.getConfig().controlsTutorial){let t=this.Reveal.getIndices();!this.Reveal.hasNavigatedVertically()&&e.down?this.controlsDownArrow.classList.add("highlight"):(this.controlsDownArrow.classList.remove("highlight"),this.Reveal.getConfig().rtl?!this.Reveal.hasNavigatedHorizontally()&&e.left&&0===t.v?this.controlsLeftArrow.classList.add("highlight"):this.controlsLeftArrow.classList.remove("highlight"):!this.Reveal.hasNavigatedHorizontally()&&e.right&&0===t.v?this.controlsRightArrow.classList.add("highlight"):this.controlsRightArrow.classList.remove("highlight"))}}destroy(){this.unbind(),this.element.remove()}onNavigateLeftClicked(e){e.preventDefault(),this.Reveal.onUserInput(),"linear"===this.Reveal.getConfig().navigationMode?this.Reveal.prev():this.Reveal.left()}onNavigateRightClicked(e){e.preventDefault(),this.Reveal.onUserInput(),"linear"===this.Reveal.getConfig().navigationMode?this.Reveal.next():this.Reveal.right()}onNavigateUpClicked(e){e.preventDefault(),this.Reveal.onUserInput(),this.Reveal.up()}onNavigateDownClicked(e){e.preventDefault(),this.Reveal.onUserInput(),this.Reveal.down()}onNavigatePrevClicked(e){e.preventDefault(),this.Reveal.onUserInput(),this.Reveal.prev()}onNavigateNextClicked(e){e.preventDefault(),this.Reveal.onUserInput(),this.Reveal.next()}}class M{constructor(e){this.Reveal=e,this.onProgressClicked=this.onProgressClicked.bind(this)}render(){this.element=document.createElement("div"),this.element.className="progress",this.Reveal.getRevealElement().appendChild(this.element),this.bar=document.createElement("span"),this.element.appendChild(this.bar)}configure(e,t){this.element.style.display=e.progress?"block":"none"}bind(){this.Reveal.getConfig().progress&&this.element&&this.element.addEventListener("click",this.onProgressClicked,!1)}unbind(){this.Reveal.getConfig().progress&&this.element&&this.element.removeEventListener("click",this.onProgressClicked,!1)}update(){if(this.Reveal.getConfig().progress&&this.bar){let e=this.Reveal.getProgress();this.Reveal.getTotalSlides()<2&&(e=0),this.bar.style.transform="scaleX("+e+")"}}getMaxWidth(){return this.Reveal.getRevealElement().offsetWidth}onProgressClicked(e){this.Reveal.onUserInput(e),e.preventDefault();let t=this.Reveal.getSlides(),i=t.length,s=Math.floor(e.clientX/this.getMaxWidth()*i);this.Reveal.getConfig().rtl&&(s=i-s);let a=this.Reveal.getIndices(t[s]);this.Reveal.slide(a.h,a.v)}destroy(){this.element.remove()}}class D{constructor(e){this.Reveal=e,this.lastMouseWheelStep=0,this.cursorHidden=!1,this.cursorInactiveTimeout=0,this.onDocumentCursorActive=this.onDocumentCursorActive.bind(this),this.onDocumentMouseScroll=this.onDocumentMouseScroll.bind(this)}configure(e,t){e.mouseWheel?(document.addEventListener("DOMMouseScroll",this.onDocumentMouseScroll,!1),document.addEventListener("mousewheel",this.onDocumentMouseScroll,!1)):(document.removeEventListener("DOMMouseScroll",this.onDocumentMouseScroll,!1),document.removeEventListener("mousewheel",this.onDocumentMouseScroll,!1)),e.hideInactiveCursor?(document.addEventListener("mousemove",this.onDocumentCursorActive,!1),document.addEventListener("mousedown",this.onDocumentCursorActive,!1)):(this.showCursor(),document.removeEventListener("mousemove",this.onDocumentCursorActive,!1),document.removeEventListener("mousedown",this.onDocumentCursorActive,!1))}showCursor(){this.cursorHidden&&(this.cursorHidden=!1,this.Reveal.getRevealElement().style.cursor="")}hideCursor(){!1===this.cursorHidden&&(this.cursorHidden=!0,this.Reveal.getRevealElement().style.cursor="none")}destroy(){this.showCursor(),document.removeEventListener("DOMMouseScroll",this.onDocumentMouseScroll,!1),document.removeEventListener("mousewheel",this.onDocumentMouseScroll,!1),document.removeEventListener("mousemove",this.onDocumentCursorActive,!1),document.removeEventListener("mousedown",this.onDocumentCursorActive,!1)}onDocumentCursorActive(e){this.showCursor(),clearTimeout(this.cursorInactiveTimeout),this.cursorInactiveTimeout=setTimeout(this.hideCursor.bind(this),this.Reveal.getConfig().hideCursorTime)}onDocumentMouseScroll(e){if(Date.now()-this.lastMouseWheelStep>1e3){this.lastMouseWheelStep=Date.now();let t=e.detail||-e.wheelDelta;t>0?this.Reveal.next():t<0&&this.Reveal.prev()}}}const I=(e,t)=>{const i=document.createElement("script");i.type="text/javascript",i.async=!1,i.defer=!1,i.src=e,"function"==typeof t&&(i.onload=i.onreadystatechange=e=>{("load"===e.type||/loaded|complete/.test(i.readyState))&&(i.onload=i.onreadystatechange=i.onerror=null,t())},i.onerror=e=>{i.onload=i.onreadystatechange=i.onerror=null,t(new Error("Failed loading script: "+i.src+"\n"+e))});const s=document.querySelector("head");s.insertBefore(i,s.lastChild)};class T{constructor(e){this.Reveal=e,this.state="idle",this.registeredPlugins={},this.asyncDependencies=[]}load(e,t){return this.state="loading",e.forEach(this.registerPlugin.bind(this)),new Promise((e=>{let i=[],s=0;if(t.forEach((e=>{e.condition&&!e.condition()||(e.async?this.asyncDependencies.push(e):i.push(e))})),i.length){s=i.length;const t=t=>{t&&"function"==typeof t.callback&&t.callback(),0==--s&&this.initPlugins().then(e)};i.forEach((e=>{"string"==typeof e.id?(this.registerPlugin(e),t(e)):"string"==typeof e.src?I(e.src,(()=>t(e))):(console.warn("Unrecognized plugin format",e),t())}))}else this.initPlugins().then(e)}))}initPlugins(){return new Promise((e=>{let t=Object.values(this.registeredPlugins),i=t.length;if(0===i)this.loadAsync().then(e);else{let s,a=()=>{0==--i?this.loadAsync().then(e):s()},n=0;s=()=>{let e=t[n++];if("function"==typeof e.init){let t=e.init(this.Reveal);t&&"function"==typeof t.then?t.then(a):a()}else a()},s()}}))}loadAsync(){return this.state="loaded",this.asyncDependencies.length&&this.asyncDependencies.forEach((e=>{I(e.src,e.callback)})),Promise.resolve()}registerPlugin(e){2===arguments.length&&"string"==typeof arguments[0]?(e=arguments[1]).id=arguments[0]:"function"==typeof e&&(e=e());let t=e.id;"string"!=typeof t?console.warn("Unrecognized plugin format; can't find plugin.id",e):void 0===this.registeredPlugins[t]?(this.registeredPlugins[t]=e,"loaded"===this.state&&"function"==typeof e.init&&e.init(this.Reveal)):console.warn('reveal.js: "'+t+'" plugin has already been registered')}hasPlugin(e){return!!this.registeredPlugins[e]}getPlugin(e){return this.registeredPlugins[e]}getRegisteredPlugins(){return this.registeredPlugins}destroy(){Object.values(this.registeredPlugins).forEach((e=>{"function"==typeof e.destroy&&e.destroy()})),this.registeredPlugins={},this.asyncDependencies=[]}}class F{constructor(e){this.Reveal=e}async setupPDF(){const e=this.Reveal.getConfig(),i=t(this.Reveal.getRevealElement(),".slides section"),s=e.slideNumber&&/all|print/i.test(e.showSlideNumber),a=this.Reveal.getComputedSlideSize(window.innerWidth,window.innerHeight),n=Math.floor(a.width*(1+e.margin)),r=Math.floor(a.height*(1+e.margin)),o=a.width,d=a.height;await new Promise(requestAnimationFrame),l("@page{size:"+n+"px "+r+"px; margin: 0px;}"),l(".reveal section>img, .reveal section>video, .reveal section>iframe{max-width: "+o+"px; max-height:"+d+"px}"),document.documentElement.classList.add("print-pdf"),document.body.style.width=n+"px",document.body.style.height=r+"px";const c=document.querySelector(".reveal-viewport");let h;if(c){const e=window.getComputedStyle(c);e&&e.background&&(h=e.background)}await new Promise(requestAnimationFrame),this.Reveal.layoutSlideContents(o,d),await new Promise(requestAnimationFrame);const u=i.map((e=>e.scrollHeight)),g=[],v=i[0].parentNode;i.forEach((function(i,a){if(!1===i.classList.contains("stack")){let l=(n-o)/2,c=(r-d)/2;const v=u[a];let p=Math.max(Math.ceil(v/r),1);p=Math.min(p,e.pdfMaxPagesPerSlide),(1===p&&e.center||i.classList.contains("center"))&&(c=Math.max((r-v)/2,0));const m=document.createElement("div");if(g.push(m),m.className="pdf-page",m.style.height=(r+e.pdfPageHeightOffset)*p+"px",h&&(m.style.background=h),m.appendChild(i),i.style.left=l+"px",i.style.top=c+"px",i.style.width=o+"px",this.Reveal.slideContent.layout(i),i.slideBackgroundElement&&m.insertBefore(i.slideBackgroundElement,i),e.showNotes){const t=this.Reveal.getSlideNotes(i);if(t){const i=8,s="string"==typeof e.showNotes?e.showNotes:"inline",a=document.createElement("div");a.classList.add("speaker-notes"),a.classList.add("speaker-notes-pdf"),a.setAttribute("data-layout",s),a.innerHTML=t,"separate-page"===s?g.push(a):(a.style.left=i+"px",a.style.bottom=i+"px",a.style.width=n-2*i+"px",m.appendChild(a))}}if(s){const e=a+1,t=document.createElement("div");t.classList.add("slide-number"),t.classList.add("slide-number-pdf"),t.innerHTML=e,m.appendChild(t)}if(e.pdfSeparateFragments){const e=this.Reveal.fragments.sort(m.querySelectorAll(".fragment"),!0);let t;e.forEach((function(e){t&&t.forEach((function(e){e.classList.remove("current-fragment")})),e.forEach((function(e){e.classList.add("visible","current-fragment")}),this);const i=m.cloneNode(!0);g.push(i),t=e}),this),e.forEach((function(e){e.forEach((function(e){e.classList.remove("visible","current-fragment")}))}))}else t(m,".fragment:not(.fade-out)").forEach((function(e){e.classList.add("visible")}))}}),this),await new Promise(requestAnimationFrame),g.forEach((e=>v.appendChild(e))),this.Reveal.dispatchEvent({type:"pdf-ready"})}isPrintingPDF(){return/print-pdf/gi.test(window.location.search)}}class z{constructor(e){this.Reveal=e,this.touchStartX=0,this.touchStartY=0,this.touchStartCount=0,this.touchCaptured=!1,this.onPointerDown=this.onPointerDown.bind(this),this.onPointerMove=this.onPointerMove.bind(this),this.onPointerUp=this.onPointerUp.bind(this),this.onTouchStart=this.onTouchStart.bind(this),this.onTouchMove=this.onTouchMove.bind(this),this.onTouchEnd=this.onTouchEnd.bind(this)}bind(){let e=this.Reveal.getRevealElement();"onpointerdown"in window?(e.addEventListener("pointerdown",this.onPointerDown,!1),e.addEventListener("pointermove",this.onPointerMove,!1),e.addEventListener("pointerup",this.onPointerUp,!1)):window.navigator.msPointerEnabled?(e.addEventListener("MSPointerDown",this.onPointerDown,!1),e.addEventListener("MSPointerMove",this.onPointerMove,!1),e.addEventListener("MSPointerUp",this.onPointerUp,!1)):(e.addEventListener("touchstart",this.onTouchStart,!1),e.addEventListener("touchmove",this.onTouchMove,!1),e.addEventListener("touchend",this.onTouchEnd,!1))}unbind(){let e=this.Reveal.getRevealElement();e.removeEventListener("pointerdown",this.onPointerDown,!1),e.removeEventListener("pointermove",this.onPointerMove,!1),e.removeEventListener("pointerup",this.onPointerUp,!1),e.removeEventListener("MSPointerDown",this.onPointerDown,!1),e.removeEventListener("MSPointerMove",this.onPointerMove,!1),e.removeEventListener("MSPointerUp",this.onPointerUp,!1),e.removeEventListener("touchstart",this.onTouchStart,!1),e.removeEventListener("touchmove",this.onTouchMove,!1),e.removeEventListener("touchend",this.onTouchEnd,!1)}isSwipePrevented(e){if(n(e,"video, audio"))return!0;for(;e&&"function"==typeof e.hasAttribute;){if(e.hasAttribute("data-prevent-swipe"))return!0;e=e.parentNode}return!1}onTouchStart(e){if(this.isSwipePrevented(e.target))return!0;this.touchStartX=e.touches[0].clientX,this.touchStartY=e.touches[0].clientY,this.touchStartCount=e.touches.length}onTouchMove(e){if(this.isSwipePrevented(e.target))return!0;let t=this.Reveal.getConfig();if(this.touchCaptured)v&&e.preventDefault();else{this.Reveal.onUserInput(e);let i=e.touches[0].clientX,s=e.touches[0].clientY;if(1===e.touches.length&&2!==this.touchStartCount){let a=this.Reveal.availableRoutes({includeFragments:!0}),n=i-this.touchStartX,r=s-this.touchStartY;n>40&&Math.abs(n)>Math.abs(r)?(this.touchCaptured=!0,"linear"===t.navigationMode?t.rtl?this.Reveal.next():this.Reveal.prev():this.Reveal.left()):n<-40&&Math.abs(n)>Math.abs(r)?(this.touchCaptured=!0,"linear"===t.navigationMode?t.rtl?this.Reveal.prev():this.Reveal.next():this.Reveal.right()):r>40&&a.up?(this.touchCaptured=!0,"linear"===t.navigationMode?this.Reveal.prev():this.Reveal.up()):r<-40&&a.down&&(this.touchCaptured=!0,"linear"===t.navigationMode?this.Reveal.next():this.Reveal.down()),t.embedded?(this.touchCaptured||this.Reveal.isVerticalSlide())&&e.preventDefault():e.preventDefault()}}}onTouchEnd(e){this.touchCaptured=!1}onPointerDown(e){e.pointerType!==e.MSPOINTER_TYPE_TOUCH&&"touch"!==e.pointerType||(e.touches=[{clientX:e.clientX,clientY:e.clientY}],this.onTouchStart(e))}onPointerMove(e){e.pointerType!==e.MSPOINTER_TYPE_TOUCH&&"touch"!==e.pointerType||(e.touches=[{clientX:e.clientX,clientY:e.clientY}],this.onTouchMove(e))}onPointerUp(e){e.pointerType!==e.MSPOINTER_TYPE_TOUCH&&"touch"!==e.pointerType||(e.touches=[{clientX:e.clientX,clientY:e.clientY}],this.onTouchEnd(e))}}class H{constructor(e){this.Reveal=e,this.onRevealPointerDown=this.onRevealPointerDown.bind(this),this.onDocumentPointerDown=this.onDocumentPointerDown.bind(this)}configure(e,t){e.embedded?this.blur():(this.focus(),this.unbind())}bind(){this.Reveal.getConfig().embedded&&this.Reveal.getRevealElement().addEventListener("pointerdown",this.onRevealPointerDown,!1)}unbind(){this.Reveal.getRevealElement().removeEventListener("pointerdown",this.onRevealPointerDown,!1),document.removeEventListener("pointerdown",this.onDocumentPointerDown,!1)}focus(){"focus"!==this.state&&(this.Reveal.getRevealElement().classList.add("focused"),document.addEventListener("pointerdown",this.onDocumentPointerDown,!1)),this.state="focus"}blur(){"blur"!==this.state&&(this.Reveal.getRevealElement().classList.remove("focused"),document.removeEventListener("pointerdown",this.onDocumentPointerDown,!1)),this.state="blur"}isFocused(){return"focus"===this.state}destroy(){this.Reveal.getRevealElement().classList.remove("focused")}onRevealPointerDown(e){this.focus()}onDocumentPointerDown(e){let t=r(e.target,".reveal");t&&t===this.Reveal.getRevealElement()||this.blur()}}class q{constructor(e){this.Reveal=e}render(){this.element=document.createElement("div"),this.element.className="speaker-notes",this.element.setAttribute("data-prevent-swipe",""),this.element.setAttribute("tabindex","0"),this.Reveal.getRevealElement().appendChild(this.element)}configure(e,t){e.showNotes&&this.element.setAttribute("data-layout","string"==typeof e.showNotes?e.showNotes:"inline")}update(){this.Reveal.getConfig().showNotes&&this.element&&this.Reveal.getCurrentSlide()&&!this.Reveal.print.isPrintingPDF()&&(this.element.innerHTML=this.getSlideNotes()||'<span class="notes-placeholder">No notes on this slide.</span>')}updateVisibility(){this.Reveal.getConfig().showNotes&&this.hasNotes()&&!this.Reveal.print.isPrintingPDF()?this.Reveal.getRevealElement().classList.add("show-notes"):this.Reveal.getRevealElement().classList.remove("show-notes")}hasNotes(){return this.Reveal.getSlidesElement().querySelectorAll("[data-notes], aside.notes").length>0}isSpeakerNotesWindow(){return!!window.location.search.match(/receiver/gi)}getSlideNotes(e=this.Reveal.getCurrentSlide()){if(e.hasAttribute("data-notes"))return e.getAttribute("data-notes");let t=e.querySelector("aside.notes");return t?t.innerHTML:null}destroy(){this.element.remove()}}class B{constructor(e,t){this.diameter=100,this.diameter2=this.diameter/2,this.thickness=6,this.playing=!1,this.progress=0,this.progressOffset=1,this.container=e,this.progressCheck=t,this.canvas=document.createElement("canvas"),this.canvas.className="playback",this.canvas.width=this.diameter,this.canvas.height=this.diameter,this.canvas.style.width=this.diameter2+"px",this.canvas.style.height=this.diameter2+"px",this.context=this.canvas.getContext("2d"),this.container.appendChild(this.canvas),this.render()}setPlaying(e){const t=this.playing;this.playing=e,!t&&this.playing?this.animate():this.render()}animate(){const e=this.progress;this.progress=this.progressCheck(),e>.8&&this.progress<.2&&(this.progressOffset=this.progress),this.render(),this.playing&&requestAnimationFrame(this.animate.bind(this))}render(){let e=this.playing?this.progress:0,t=this.diameter2-this.thickness,i=this.diameter2,s=this.diameter2,a=28;this.progressOffset+=.1*(1-this.progressOffset);const n=-Math.PI/2+e*(2*Math.PI),r=-Math.PI/2+this.progressOffset*(2*Math.PI);this.context.save(),this.context.clearRect(0,0,this.diameter,this.diameter),this.context.beginPath(),this.context.arc(i,s,t+4,0,2*Math.PI,!1),this.context.fillStyle="rgba( 0, 0, 0, 0.4 )",this.context.fill(),this.context.beginPath(),this.context.arc(i,s,t,0,2*Math.PI,!1),this.context.lineWidth=this.thickness,this.context.strokeStyle="rgba( 255, 255, 255, 0.2 )",this.context.stroke(),this.playing&&(this.context.beginPath(),this.context.arc(i,s,t,r,n,!1),this.context.lineWidth=this.thickness,this.context.strokeStyle="#fff",this.context.stroke()),this.context.translate(i-14,s-14),this.playing?(this.context.fillStyle="#fff",this.context.fillRect(0,0,10,a),this.context.fillRect(18,0,10,a)):(this.context.beginPath(),this.context.translate(4,0),this.context.moveTo(0,0),this.context.lineTo(24,14),this.context.lineTo(0,a),this.context.fillStyle="#fff",this.context.fill()),this.context.restore()}on(e,t){this.canvas.addEventListener(e,t,!1)}off(e,t){this.canvas.removeEventListener(e,t,!1)}destroy(){this.playing=!1,this.canvas.parentNode&&this.container.removeChild(this.canvas)}}var O={width:960,height:700,margin:.04,minScale:.2,maxScale:2,controls:!0,controlsTutorial:!0,controlsLayout:"bottom-right",controlsBackArrows:"faded",progress:!0,slideNumber:!1,showSlideNumber:"all",hashOneBasedIndex:!1,hash:!1,respondToHashChanges:!0,history:!1,keyboard:!0,keyboardCondition:null,disableLayout:!1,overview:!0,center:!0,touch:!0,loop:!1,rtl:!1,navigationMode:"default",shuffle:!1,fragments:!0,fragmentInURL:!0,embedded:!1,help:!0,pause:!0,showNotes:!1,showHiddenSlides:!1,autoPlayMedia:null,preloadIframes:null,autoAnimate:!0,autoAnimateMatcher:null,autoAnimateEasing:"ease",autoAnimateDuration:1,autoAnimateUnmatched:!0,autoAnimateStyles:["opacity","color","background-color","padding","font-size","line-height","letter-spacing","border-width","border-color","border-radius","outline","outline-offset"],autoSlide:0,autoSlideStoppable:!0,autoSlideMethod:null,defaultTiming:null,mouseWheel:!1,previewLinks:!1,postMessage:!0,postMessageEvents:!1,focusBodyOnPageVisibilityChange:!0,transition:"slide",transitionSpeed:"default",backgroundTransition:"fade",parallaxBackgroundImage:"",parallaxBackgroundSize:"",parallaxBackgroundRepeat:"",parallaxBackgroundPosition:"",parallaxBackgroundHorizontal:null,parallaxBackgroundVertical:null,pdfMaxPagesPerSlide:Number.POSITIVE_INFINITY,pdfSeparateFragments:!0,pdfPageHeightOffset:-1,viewDistance:3,mobileViewDistance:2,display:"block",hideInactiveCursor:!0,hideCursorTime:5e3,dependencies:[],plugins:[]};function U(n,l){arguments.length<2&&(l=arguments[0],n=document.querySelector(".reveal"));const h={};let u,v,p,m,f,w={},S=!1,A={hasNavigatedHorizontally:!1,hasNavigatedVertically:!1},I=[],U=1,W={layout:"",overview:""},K={},V="idle",$=0,j=0,X=-1,Y=!1,_=new b(h),J=new y(h),Q=new k(h),Z=new E(h),G=new L(h),ee=new C(h),te=new x(h),ie=new P(h),se=new N(h),ae=new M(h),ne=new D(h),re=new T(h),oe=new F(h),le=new H(h),de=new z(h),ce=new q(h);function he(e){if(!n)throw'Unable to find presentation root (<div class="reveal">).';if(K.wrapper=n,K.slides=n.querySelector(".slides"),!K.slides)throw'Unable to find slides container (<div class="slides">).';return w={...O,...w,...l,...e,...d()},ue(),window.addEventListener("load",He,!1),re.load(w.plugins,w.dependencies).then(ge),new Promise((e=>h.on("ready",e)))}function ue(){!0===w.embedded?K.viewport=r(n,".reveal-viewport")||n:(K.viewport=document.body,document.documentElement.classList.add("reveal-full-page")),K.viewport.classList.add("reveal-viewport")}function ge(){S=!0,ve(),pe(),Ee(),ye(),we(),tt(),Re(),ie.readURL(),Z.update(!0),setTimeout((()=>{K.slides.classList.remove("no-transition"),K.wrapper.classList.add("ready"),Pe({type:"ready",data:{indexh:u,indexv:v,currentSlide:m}})}),1),oe.isPrintingPDF()&&(Ae(),"complete"===document.readyState?oe.setupPDF():window.addEventListener("load",(()=>{oe.setupPDF()})))}function ve(){w.showHiddenSlides||t(K.wrapper,'section[data-visibility="hidden"]').forEach((e=>{e.parentNode.removeChild(e)}))}function pe(){K.slides.classList.add("no-transition"),g?K.wrapper.classList.add("no-hover"):K.wrapper.classList.remove("no-hover"),Z.render(),J.render(),se.render(),ae.render(),ce.render(),K.pauseOverlay=o(K.wrapper,"div","pause-overlay",w.controls?'<button class="resume-button">Resume presentation</button>':null),K.statusElement=me(),K.wrapper.setAttribute("role","application")}function me(){let e=K.wrapper.querySelector(".aria-status");return e||(e=document.createElement("div"),e.style.position="absolute",e.style.height="1px",e.style.width="1px",e.style.overflow="hidden",e.style.clip="rect( 1px, 1px, 1px, 1px )",e.classList.add("aria-status"),e.setAttribute("aria-live","polite"),e.setAttribute("aria-atomic","true"),K.wrapper.appendChild(e)),e}function fe(e){K.statusElement.textContent=e}function be(e){let t="";if(3===e.nodeType)t+=e.textContent;else if(1===e.nodeType){let i=e.getAttribute("aria-hidden"),s="none"===window.getComputedStyle(e).display;"true"===i||s||Array.from(e.childNodes).forEach((e=>{t+=be(e)}))}return t=t.trim(),""===t?"":t+" "}function ye(){setInterval((()=>{0===K.wrapper.scrollTop&&0===K.wrapper.scrollLeft||(K.wrapper.scrollTop=0,K.wrapper.scrollLeft=0)}),1e3)}function we(){document.addEventListener("fullscreenchange",Ht),document.addEventListener("webkitfullscreenchange",Ht)}function Ee(){w.postMessage&&window.addEventListener("message",Dt,!1)}function Re(t){const s={...w};if("object"==typeof t&&e(w,t),!1===h.isReady())return;const a=K.wrapper.querySelectorAll(".slides section").length;K.wrapper.classList.remove(s.transition),K.wrapper.classList.add(w.transition),K.wrapper.setAttribute("data-transition-speed",w.transitionSpeed),K.wrapper.setAttribute("data-background-transition",w.backgroundTransition),K.viewport.style.setProperty("--slide-width",w.width+"px"),K.viewport.style.setProperty("--slide-height",w.height+"px"),w.shuffle&&it(),i(K.wrapper,"embedded",w.embedded),i(K.wrapper,"rtl",w.rtl),i(K.wrapper,"center",w.center),!1===w.pause&&Xe(),w.previewLinks?(Me(),De("[data-preview-link=false]")):(De(),Me("[data-preview-link]:not([data-preview-link=false])")),Q.reset(),f&&(f.destroy(),f=null),a>1&&w.autoSlide&&w.autoSlideStoppable&&(f=new B(K.wrapper,(()=>Math.min(Math.max((Date.now()-X)/$,0),1))),f.on("click",Bt),Y=!1),"default"!==w.navigationMode?K.wrapper.setAttribute("data-navigation-mode",w.navigationMode):K.wrapper.removeAttribute("data-navigation-mode"),ce.configure(w,s),le.configure(w,s),ne.configure(w,s),se.configure(w,s),ae.configure(w,s),te.configure(w,s),G.configure(w,s),J.configure(w,s),Ge()}function Se(){window.addEventListener("resize",Ft,!1),w.touch&&de.bind(),w.keyboard&&te.bind(),w.progress&&ae.bind(),w.respondToHashChanges&&ie.bind(),se.bind(),le.bind(),K.slides.addEventListener("click",Tt,!1),K.slides.addEventListener("transitionend",It,!1),K.pauseOverlay.addEventListener("click",Xe,!1),w.focusBodyOnPageVisibilityChange&&document.addEventListener("visibilitychange",zt,!1)}function Ae(){de.unbind(),le.unbind(),te.unbind(),se.unbind(),ae.unbind(),ie.unbind(),window.removeEventListener("resize",Ft,!1),K.slides.removeEventListener("click",Tt,!1),K.slides.removeEventListener("transitionend",It,!1),K.pauseOverlay.removeEventListener("click",Xe,!1)}function ke(){Ae(),Rt(),De(),ce.destroy(),le.destroy(),re.destroy(),ne.destroy(),se.destroy(),ae.destroy(),Z.destroy(),J.destroy(),document.removeEventListener("fullscreenchange",Ht),document.removeEventListener("webkitfullscreenchange",Ht),document.removeEventListener("visibilitychange",zt,!1),window.removeEventListener("message",Dt,!1),window.removeEventListener("load",He,!1),K.pauseOverlay&&K.pauseOverlay.remove(),K.statusElement&&K.statusElement.remove(),document.documentElement.classList.remove("reveal-full-page"),K.wrapper.classList.remove("ready","center","has-horizontal-slides","has-vertical-slides"),K.wrapper.removeAttribute("data-transition-speed"),K.wrapper.removeAttribute("data-background-transition"),K.viewport.classList.remove("reveal-viewport"),K.viewport.style.removeProperty("--slide-width"),K.viewport.style.removeProperty("--slide-height"),K.slides.style.removeProperty("width"),K.slides.style.removeProperty("height"),K.slides.style.removeProperty("zoom"),K.slides.style.removeProperty("left"),K.slides.style.removeProperty("top"),K.slides.style.removeProperty("bottom"),K.slides.style.removeProperty("right"),K.slides.style.removeProperty("transform"),Array.from(K.wrapper.querySelectorAll(".slides section")).forEach((e=>{e.style.removeProperty("display"),e.style.removeProperty("top"),e.removeAttribute("hidden"),e.removeAttribute("aria-hidden")}))}function Le(e,t,i){n.addEventListener(e,t,i)}function Ce(e,t,i){n.removeEventListener(e,t,i)}function xe(e){"string"==typeof e.layout&&(W.layout=e.layout),"string"==typeof e.overview&&(W.overview=e.overview),W.layout?a(K.slides,W.layout+" "+W.overview):a(K.slides,W.overview)}function Pe({target:t=K.wrapper,type:i,data:s,bubbles:a=!0}){let n=document.createEvent("HTMLEvents",1,2);return n.initEvent(i,a,!0),e(n,s),t.dispatchEvent(n),t===K.wrapper&&Ne(i),n}function Ne(t,i){if(w.postMessageEvents&&window.parent!==window.self){let s={namespace:"reveal",eventName:t,state:yt()};e(s,i),window.parent.postMessage(JSON.stringify(s),"*")}}function Me(e="a"){Array.from(K.wrapper.querySelectorAll(e)).forEach((e=>{/^(http|www)/gi.test(e.getAttribute("href"))&&e.addEventListener("click",qt,!1)}))}function De(e="a"){Array.from(K.wrapper.querySelectorAll(e)).forEach((e=>{/^(http|www)/gi.test(e.getAttribute("href"))&&e.removeEventListener("click",qt,!1)}))}function Ie(e){ze(),K.overlay=document.createElement("div"),K.overlay.classList.add("overlay"),K.overlay.classList.add("overlay-preview"),K.wrapper.appendChild(K.overlay),K.overlay.innerHTML=`<header>\n\t\t\t\t<a class="close" href="#"><span class="icon"></span></a>\n\t\t\t\t<a class="external" href="${e}" target="_blank"><span class="icon"></span></a>\n\t\t\t</header>\n\t\t\t<div class="spinner"></div>\n\t\t\t<div class="viewport">\n\t\t\t\t<iframe src="${e}"></iframe>\n\t\t\t\t<small class="viewport-inner">\n\t\t\t\t\t<span class="x-frame-error">Unable to load iframe. This is likely due to the site's policy (x-frame-options).</span>\n\t\t\t\t</small>\n\t\t\t</div>`,K.overlay.querySelector("iframe").addEventListener("load",(e=>{K.overlay.classList.add("loaded")}),!1),K.overlay.querySelector(".close").addEventListener("click",(e=>{ze(),e.preventDefault()}),!1),K.overlay.querySelector(".external").addEventListener("click",(e=>{ze()}),!1)}function Te(e){"boolean"==typeof e?e?Fe():ze():K.overlay?ze():Fe()}function Fe(){if(w.help){ze(),K.overlay=document.createElement("div"),K.overlay.classList.add("overlay"),K.overlay.classList.add("overlay-help"),K.wrapper.appendChild(K.overlay);let e='<p class="title">Keyboard Shortcuts</p><br/>',t=te.getShortcuts(),i=te.getBindings();e+="<table><th>KEY</th><th>ACTION</th>";for(let i in t)e+=`<tr><td>${i}</td><td>${t[i]}</td></tr>`;for(let t in i)i[t].key&&i[t].description&&(e+=`<tr><td>${i[t].key}</td><td>${i[t].description}</td></tr>`);e+="</table>",K.overlay.innerHTML=`\n\t\t\t\t<header>\n\t\t\t\t\t<a class="close" href="#"><span class="icon"></span></a>\n\t\t\t\t</header>\n\t\t\t\t<div class="viewport">\n\t\t\t\t\t<div class="viewport-inner">${e}</div>\n\t\t\t\t</div>\n\t\t\t`,K.overlay.querySelector(".close").addEventListener("click",(e=>{ze(),e.preventDefault()}),!1)}}function ze(){return!!K.overlay&&(K.overlay.parentNode.removeChild(K.overlay),K.overlay=null,!0)}function He(){if(K.wrapper&&!oe.isPrintingPDF()){if(!w.disableLayout){g&&!w.embedded&&document.documentElement.style.setProperty("--vh",.01*window.innerHeight+"px");const e=Be(),t=U;qe(w.width,w.height),K.slides.style.width=e.width+"px",K.slides.style.height=e.height+"px",U=Math.min(e.presentationWidth/e.width,e.presentationHeight/e.height),U=Math.max(U,w.minScale),U=Math.min(U,w.maxScale),1===U?(K.slides.style.zoom="",K.slides.style.left="",K.slides.style.top="",K.slides.style.bottom="",K.slides.style.right="",xe({layout:""})):(K.slides.style.zoom="",K.slides.style.left="50%",K.slides.style.top="50%",K.slides.style.bottom="auto",K.slides.style.right="auto",xe({layout:"translate(-50%, -50%) scale("+U+")"}));const i=Array.from(K.wrapper.querySelectorAll(".slides section"));for(let t=0,s=i.length;t<s;t++){const s=i[t];"none"!==s.style.display&&(w.center||s.classList.contains("center")?s.classList.contains("stack")?s.style.top=0:s.style.top=Math.max((e.height-s.scrollHeight)/2,0)+"px":s.style.top="")}t!==U&&Pe({type:"resize",data:{oldScale:t,scale:U,size:e}})}K.viewport.style.setProperty("--slide-scale",U),ae.update(),Z.updateParallax(),ee.isActive()&&ee.update()}}function qe(e,i){t(K.slides,"section > .stretch, section > .r-stretch").forEach((t=>{let s=c(t,i);if(/(img|video)/gi.test(t.nodeName)){const i=t.naturalWidth||t.videoWidth,a=t.naturalHeight||t.videoHeight,n=Math.min(e/i,s/a);t.style.width=i*n+"px",t.style.height=a*n+"px"}else t.style.width=e+"px",t.style.height=s+"px"}))}function Be(e,t){const i={width:w.width,height:w.height,presentationWidth:e||K.wrapper.offsetWidth,presentationHeight:t||K.wrapper.offsetHeight};return i.presentationWidth-=i.presentationWidth*w.margin,i.presentationHeight-=i.presentationHeight*w.margin,"string"==typeof i.width&&/%$/.test(i.width)&&(i.width=parseInt(i.width,10)/100*i.presentationWidth),"string"==typeof i.height&&/%$/.test(i.height)&&(i.height=parseInt(i.height,10)/100*i.presentationHeight),i}function Oe(e,t){"object"==typeof e&&"function"==typeof e.setAttribute&&e.setAttribute("data-previous-indexv",t||0)}function Ue(e){if("object"==typeof e&&"function"==typeof e.setAttribute&&e.classList.contains("stack")){const t=e.hasAttribute("data-start-indexv")?"data-start-indexv":"data-previous-indexv";return parseInt(e.getAttribute(t)||0,10)}return 0}function We(e=m){return e&&e.parentNode&&!!e.parentNode.nodeName.match(/section/i)}function Ke(){return!(!m||!We(m))&&!m.nextElementSibling}function Ve(){return 0===u&&0===v}function $e(){return!!m&&(!m.nextElementSibling&&(!We(m)||!m.parentNode.nextElementSibling))}function je(){if(w.pause){const e=K.wrapper.classList.contains("paused");Rt(),K.wrapper.classList.add("paused"),!1===e&&Pe({type:"paused"})}}function Xe(){const e=K.wrapper.classList.contains("paused");K.wrapper.classList.remove("paused"),Et(),e&&Pe({type:"resumed"})}function Ye(e){"boolean"==typeof e?e?je():Xe():_e()?Xe():je()}function _e(){return K.wrapper.classList.contains("paused")}function Je(e){"boolean"==typeof e?e?At():St():Y?At():St()}function Qe(){return!(!$||Y)}function Ze(e,t,i,s){if(Pe({type:"beforeslidechange",data:{indexh:void 0===e?u:e,indexv:void 0===t?v:t,origin:s}}).defaultPrevented)return;p=m;const a=K.wrapper.querySelectorAll(".slides>section");if(0===a.length)return;void 0!==t||ee.isActive()||(t=Ue(a[e])),p&&p.parentNode&&p.parentNode.classList.contains("stack")&&Oe(p.parentNode,v);const n=I.concat();I.length=0;let r=u||0,o=v||0;u=st(".slides>section",void 0===e?u:e),v=st(".slides>section.present>section",void 0===t?v:t);let l=u!==r||v!==o;l||(p=null);let d=a[u],c=d.querySelectorAll("section");m=c[v]||d;let h=!1;l&&p&&m&&!ee.isActive()&&(p.hasAttribute("data-auto-animate")&&m.hasAttribute("data-auto-animate")&&p.getAttribute("data-auto-animate-id")===m.getAttribute("data-auto-animate-id")&&!(u>r||v>o?m:p).hasAttribute("data-auto-animate-restart")&&(h=!0,K.slides.classList.add("disable-slide-transitions")),V="running"),at(),He(),ee.isActive()&&ee.update(),void 0!==i&&G.goto(i),p&&p!==m&&(p.classList.remove("present"),p.setAttribute("aria-hidden","true"),Ve()&&setTimeout((()=>{ut().forEach((e=>{Oe(e,0)}))}),0));e:for(let e=0,t=I.length;e<t;e++){for(let t=0;t<n.length;t++)if(n[t]===I[e]){n.splice(t,1);continue e}K.viewport.classList.add(I[e]),Pe({type:I[e]})}for(;n.length;)K.viewport.classList.remove(n.pop());l&&Pe({type:"slidechanged",data:{indexh:u,indexv:v,previousSlide:p,currentSlide:m,origin:s}}),!l&&p||(_.stopEmbeddedContent(p),_.startEmbeddedContent(m)),requestAnimationFrame((()=>{fe(be(m))})),ae.update(),se.update(),ce.update(),Z.update(),Z.updateParallax(),J.update(),G.update(),ie.writeURL(),Et(),h&&(setTimeout((()=>{K.slides.classList.remove("disable-slide-transitions")}),0),w.autoAnimate&&Q.run(p,m))}function Ge(){Ae(),Se(),He(),$=w.autoSlide,Et(),Z.create(),ie.writeURL(),G.sortAll(),se.update(),ae.update(),at(),ce.update(),ce.updateVisibility(),Z.update(!0),J.update(),_.formatEmbeddedContent(),!1===w.autoPlayMedia?_.stopEmbeddedContent(m,{unloadIframes:!1}):_.startEmbeddedContent(m),ee.isActive()&&ee.layout()}function et(e=m){Z.sync(e),G.sync(e),_.load(e),Z.update(),ce.update()}function tt(){ct().forEach((e=>{t(e,"section").forEach(((e,t)=>{t>0&&(e.classList.remove("present"),e.classList.remove("past"),e.classList.add("future"),e.setAttribute("aria-hidden","true"))}))}))}function it(e=ct()){e.forEach(((t,i)=>{let s=e[Math.floor(Math.random()*e.length)];s.parentNode===t.parentNode&&t.parentNode.insertBefore(t,s);let a=t.querySelectorAll("section");a.length&&it(a)}))}function st(e,i){let s=t(K.wrapper,e),a=s.length,n=oe.isPrintingPDF();if(a){w.loop&&(i%=a)<0&&(i=a+i),i=Math.max(Math.min(i,a-1),0);for(let e=0;e<a;e++){let a=s[e],r=w.rtl&&!We(a);a.classList.remove("past"),a.classList.remove("present"),a.classList.remove("future"),a.setAttribute("hidden",""),a.setAttribute("aria-hidden","true"),a.querySelector("section")&&a.classList.add("stack"),n?a.classList.add("present"):e<i?(a.classList.add(r?"future":"past"),w.fragments&&t(a,".fragment").forEach((e=>{e.classList.add("visible"),e.classList.remove("current-fragment")}))):e>i&&(a.classList.add(r?"past":"future"),w.fragments&&t(a,".fragment.visible").forEach((e=>{e.classList.remove("visible","current-fragment")})))}let e=s[i],r=e.classList.contains("present");e.classList.add("present"),e.removeAttribute("hidden"),e.removeAttribute("aria-hidden"),r||Pe({target:e,type:"visible",bubbles:!1});let o=e.getAttribute("data-state");o&&(I=I.concat(o.split(" ")))}else i=0;return i}function at(){let e,i,s=ct(),a=s.length;if(a&&void 0!==u){let n=ee.isActive()?10:w.viewDistance;g&&(n=ee.isActive()?6:w.mobileViewDistance),oe.isPrintingPDF()&&(n=Number.MAX_VALUE);for(let r=0;r<a;r++){let o=s[r],l=t(o,"section"),d=l.length;if(e=Math.abs((u||0)-r)||0,w.loop&&(e=Math.abs(((u||0)-r)%(a-n))||0),e<n?_.load(o):_.unload(o),d){let t=Ue(o);for(let s=0;s<d;s++){let a=l[s];i=r===(u||0)?Math.abs((v||0)-s):Math.abs(s-t),e+i<n?_.load(a):_.unload(a)}}}vt()?K.wrapper.classList.add("has-vertical-slides"):K.wrapper.classList.remove("has-vertical-slides"),gt()?K.wrapper.classList.add("has-horizontal-slides"):K.wrapper.classList.remove("has-horizontal-slides")}}function nt({includeFragments:e=!1}={}){let t=K.wrapper.querySelectorAll(".slides>section"),i=K.wrapper.querySelectorAll(".slides>section.present>section"),s={left:u>0,right:u<t.length-1,up:v>0,down:v<i.length-1};if(w.loop&&(t.length>1&&(s.left=!0,s.right=!0),i.length>1&&(s.up=!0,s.down=!0)),t.length>1&&"linear"===w.navigationMode&&(s.right=s.right||s.down,s.left=s.left||s.up),!0===e){let e=G.availableRoutes();s.left=s.left||e.prev,s.up=s.up||e.prev,s.down=s.down||e.next,s.right=s.right||e.next}if(w.rtl){let e=s.left;s.left=s.right,s.right=e}return s}function rt(e=m){let t=ct(),i=0;e:for(let s=0;s<t.length;s++){let a=t[s],n=a.querySelectorAll("section");for(let t=0;t<n.length;t++){if(n[t]===e)break e;"uncounted"!==n[t].dataset.visibility&&i++}if(a===e)break;!1===a.classList.contains("stack")&&"uncounted"!==a.dataset.visibility&&i++}return i}function ot(){let e=mt(),t=rt();if(m){let e=m.querySelectorAll(".fragment");if(e.length>0){let i=.9;t+=m.querySelectorAll(".fragment.visible").length/e.length*i}}return Math.min(t/(e-1),1)}function lt(e){let i,s=u,a=v;if(e){let i=We(e),n=i?e.parentNode:e,r=ct();s=Math.max(r.indexOf(n),0),a=void 0,i&&(a=Math.max(t(e.parentNode,"section").indexOf(e),0))}if(!e&&m){if(m.querySelectorAll(".fragment").length>0){let e=m.querySelector(".current-fragment");i=e&&e.hasAttribute("data-fragment-index")?parseInt(e.getAttribute("data-fragment-index"),10):m.querySelectorAll(".fragment.visible").length-1}}return{h:s,v:a,f:i}}function dt(){return t(K.wrapper,'.slides section:not(.stack):not([data-visibility="uncounted"])')}function ct(){return t(K.wrapper,".slides>section")}function ht(){return t(K.wrapper,".slides>section>section")}function ut(){return t(K.wrapper,".slides>section.stack")}function gt(){return ct().length>1}function vt(){return ht().length>1}function pt(){return dt().map((e=>{let t={};for(let i=0;i<e.attributes.length;i++){let s=e.attributes[i];t[s.name]=s.value}return t}))}function mt(){return dt().length}function ft(e,t){let i=ct()[e],s=i&&i.querySelectorAll("section");return s&&s.length&&"number"==typeof t?s?s[t]:void 0:i}function bt(e,t){let i="number"==typeof e?ft(e,t):e;if(i)return i.slideBackgroundElement}function yt(){let e=lt();return{indexh:e.h,indexv:e.v,indexf:e.f,paused:_e(),overview:ee.isActive()}}function wt(e){if("object"==typeof e){Ze(s(e.indexh),s(e.indexv),s(e.indexf));let t=s(e.paused),i=s(e.overview);"boolean"==typeof t&&t!==_e()&&Ye(t),"boolean"==typeof i&&i!==ee.isActive()&&ee.toggle(i)}}function Et(){if(Rt(),m&&!1!==w.autoSlide){let e=m.querySelector(".current-fragment");e||(e=m.querySelector(".fragment"));let i=e?e.getAttribute("data-autoslide"):null,s=m.parentNode?m.parentNode.getAttribute("data-autoslide"):null,a=m.getAttribute("data-autoslide");i?$=parseInt(i,10):a?$=parseInt(a,10):s?$=parseInt(s,10):($=w.autoSlide,0===m.querySelectorAll(".fragment").length&&t(m,"video, audio").forEach((e=>{e.hasAttribute("data-autoplay")&&$&&1e3*e.duration/e.playbackRate>$&&($=1e3*e.duration/e.playbackRate+1e3)}))),!$||Y||_e()||ee.isActive()||$e()&&!G.availableRoutes().next&&!0!==w.loop||(j=setTimeout((()=>{"function"==typeof w.autoSlideMethod?w.autoSlideMethod():Nt(),Et()}),$),X=Date.now()),f&&f.setPlaying(-1!==j)}}function Rt(){clearTimeout(j),j=-1}function St(){$&&!Y&&(Y=!0,Pe({type:"autoslidepaused"}),clearTimeout(j),f&&f.setPlaying(!1))}function At(){$&&Y&&(Y=!1,Pe({type:"autoslideresumed"}),Et())}function kt({skipFragments:e=!1}={}){A.hasNavigatedHorizontally=!0,w.rtl?(ee.isActive()||e||!1===G.next())&&nt().left&&Ze(u+1,"grid"===w.navigationMode?v:void 0):(ee.isActive()||e||!1===G.prev())&&nt().left&&Ze(u-1,"grid"===w.navigationMode?v:void 0)}function Lt({skipFragments:e=!1}={}){A.hasNavigatedHorizontally=!0,w.rtl?(ee.isActive()||e||!1===G.prev())&&nt().right&&Ze(u-1,"grid"===w.navigationMode?v:void 0):(ee.isActive()||e||!1===G.next())&&nt().right&&Ze(u+1,"grid"===w.navigationMode?v:void 0)}function Ct({skipFragments:e=!1}={}){(ee.isActive()||e||!1===G.prev())&&nt().up&&Ze(u,v-1)}function xt({skipFragments:e=!1}={}){A.hasNavigatedVertically=!0,(ee.isActive()||e||!1===G.next())&&nt().down&&Ze(u,v+1)}function Pt({skipFragments:e=!1}={}){if(e||!1===G.prev())if(nt().up)Ct({skipFragments:e});else{let i;if(i=w.rtl?t(K.wrapper,".slides>section.future").pop():t(K.wrapper,".slides>section.past").pop(),i&&i.classList.contains("stack")){let e=i.querySelectorAll("section").length-1||void 0;Ze(u-1,e)}else kt({skipFragments:e})}}function Nt({skipFragments:e=!1}={}){if(A.hasNavigatedHorizontally=!0,A.hasNavigatedVertically=!0,e||!1===G.next()){let t=nt();t.down&&t.right&&w.loop&&Ke()&&(t.down=!1),t.down?xt({skipFragments:e}):w.rtl?kt({skipFragments:e}):Lt({skipFragments:e})}}function Mt(e){w.autoSlideStoppable&&St()}function Dt(e){let t=e.data;if("string"==typeof t&&"{"===t.charAt(0)&&"}"===t.charAt(t.length-1)&&(t=JSON.parse(t),t.method&&"function"==typeof h[t.method]))if(!1===R.test(t.method)){const e=h[t.method].apply(h,t.args);Ne("callback",{method:t.method,result:e})}else console.warn('reveal.js: "'+t.method+'" is is blacklisted from the postMessage API')}function It(e){"running"===V&&/section/gi.test(e.target.nodeName)&&(V="idle",Pe({type:"slidetransitionend",data:{indexh:u,indexv:v,previousSlide:p,currentSlide:m}}))}function Tt(e){const t=r(e.target,'a[href^="#"]');if(t){const i=t.getAttribute("href"),s=ie.getIndicesFromHash(i);s&&(h.slide(s.h,s.v,s.f),e.preventDefault())}}function Ft(e){He()}function zt(e){!1===document.hidden&&document.activeElement!==document.body&&("function"==typeof document.activeElement.blur&&document.activeElement.blur(),document.body.focus())}function Ht(e){(document.fullscreenElement||document.webkitFullscreenElement)===K.wrapper&&(e.stopImmediatePropagation(),setTimeout((()=>{h.layout(),h.focus.focus()}),1))}function qt(e){if(e.currentTarget&&e.currentTarget.hasAttribute("href")){let t=e.currentTarget.getAttribute("href");t&&(Ie(t),e.preventDefault())}}function Bt(e){$e()&&!1===w.loop?(Ze(0,0),At()):Y?At():St()}const Ot={VERSION:"4.3.1",initialize:he,configure:Re,destroy:ke,sync:Ge,syncSlide:et,syncFragments:G.sync.bind(G),slide:Ze,left:kt,right:Lt,up:Ct,down:xt,prev:Pt,next:Nt,navigateLeft:kt,navigateRight:Lt,navigateUp:Ct,navigateDown:xt,navigatePrev:Pt,navigateNext:Nt,navigateFragment:G.goto.bind(G),prevFragment:G.prev.bind(G),nextFragment:G.next.bind(G),on:Le,off:Ce,addEventListener:Le,removeEventListener:Ce,layout:He,shuffle:it,availableRoutes:nt,availableFragments:G.availableRoutes.bind(G),toggleHelp:Te,toggleOverview:ee.toggle.bind(ee),togglePause:Ye,toggleAutoSlide:Je,isFirstSlide:Ve,isLastSlide:$e,isLastVerticalSlide:Ke,isVerticalSlide:We,isPaused:_e,isAutoSliding:Qe,isSpeakerNotes:ce.isSpeakerNotesWindow.bind(ce),isOverview:ee.isActive.bind(ee),isFocused:le.isFocused.bind(le),isPrintingPDF:oe.isPrintingPDF.bind(oe),isReady:()=>S,loadSlide:_.load.bind(_),unloadSlide:_.unload.bind(_),showPreview:Ie,hidePreview:ze,addEventListeners:Se,removeEventListeners:Ae,dispatchEvent:Pe,getState:yt,setState:wt,getProgress:ot,getIndices:lt,getSlidesAttributes:pt,getSlidePastCount:rt,getTotalSlides:mt,getSlide:ft,getPreviousSlide:()=>p,getCurrentSlide:()=>m,getSlideBackground:bt,getSlideNotes:ce.getSlideNotes.bind(ce),getSlides:dt,getHorizontalSlides:ct,getVerticalSlides:ht,hasHorizontalSlides:gt,hasVerticalSlides:vt,hasNavigatedHorizontally:()=>A.hasNavigatedHorizontally,hasNavigatedVertically:()=>A.hasNavigatedVertically,addKeyBinding:te.addKeyBinding.bind(te),removeKeyBinding:te.removeKeyBinding.bind(te),triggerKey:te.triggerKey.bind(te),registerKeyboardShortcut:te.registerKeyboardShortcut.bind(te),getComputedSlideSize:Be,getScale:()=>U,getConfig:()=>w,getQueryHash:d,getSlidePath:ie.getHash.bind(ie),getRevealElement:()=>n,getSlidesElement:()=>K.slides,getViewportElement:()=>K.viewport,getBackgroundsElement:()=>Z.element,registerPlugin:re.registerPlugin.bind(re),hasPlugin:re.hasPlugin.bind(re),getPlugin:re.getPlugin.bind(re),getPlugins:re.getRegisteredPlugins.bind(re)};return e(h,{...Ot,announceStatus:fe,getStatusText:be,print:oe,focus:le,progress:ae,controls:se,location:ie,overview:ee,fragments:G,slideContent:_,slideNumber:J,onUserInput:Mt,closeOverlay:ze,updateSlidesVisibility:at,layoutSlideContents:qe,transformSlides:xe,cueAutoSlide:Et,cancelAutoSlide:Rt}),Ot}let W=U,K=[];W.initialize=e=>(Object.assign(W,new U(document.querySelector(".reveal"),e)),K.map((e=>e(W))),W.initialize()),["configure","on","off","addEventListener","removeEventListener","registerPlugin"].forEach((e=>{W[e]=(...t)=>{K.push((i=>i[e].call(null,...t)))}})),W.isReady=()=>!1,W.VERSION="4.3.1";export default W;
9
+ //# sourceMappingURL=reveal.esm.js.map
llm_conf_files/libs/revealjs/dist/reveal.esm.js.map ADDED
The diff for this file is too large to render. See raw diff
 
llm_conf_files/libs/revealjs/dist/reveal.js ADDED
The diff for this file is too large to render. See raw diff
 
llm_conf_files/libs/revealjs/dist/reveal.js.map ADDED
The diff for this file is too large to render. See raw diff
 
llm_conf_files/libs/revealjs/dist/theme/fonts/league-gothic/LICENSE ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ SIL Open Font License (OFL)
2
+ http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&id=OFL
llm_conf_files/libs/revealjs/dist/theme/fonts/league-gothic/league-gothic.css ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ @font-face {
2
+ font-family: 'League Gothic';
3
+ src: url('./league-gothic.eot');
4
+ src: url('./league-gothic.eot?#iefix') format('embedded-opentype'),
5
+ url('./league-gothic.woff') format('woff'),
6
+ url('./league-gothic.ttf') format('truetype');
7
+
8
+ font-weight: normal;
9
+ font-style: normal;
10
+ }
llm_conf_files/libs/revealjs/dist/theme/fonts/league-gothic/league-gothic.eot ADDED
Binary file (25.7 kB). View file
 
llm_conf_files/libs/revealjs/dist/theme/fonts/league-gothic/league-gothic.ttf ADDED
Binary file (64.3 kB). View file
 
llm_conf_files/libs/revealjs/dist/theme/fonts/league-gothic/league-gothic.woff ADDED
Binary file (30.8 kB). View file
 
llm_conf_files/libs/revealjs/dist/theme/fonts/source-sans-pro/LICENSE ADDED
@@ -0,0 +1,45 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ SIL Open Font License
2
+
3
+ Copyright 2010, 2012 Adobe Systems Incorporated (http://www.adobe.com/), with Reserved Font Name ‘Source’. All Rights Reserved. Source is a trademark of Adobe Systems Incorporated in the United States and/or other countries.
4
+
5
+ This Font Software is licensed under the SIL Open Font License, Version 1.1.
6
+ This license is copied below, and is also available with a FAQ at: http://scripts.sil.org/OFL
7
+
8
+ —————————————————————————————-
9
+ SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
10
+ —————————————————————————————-
11
+
12
+ PREAMBLE
13
+ The goals of the Open Font License (OFL) are to stimulate worldwide development of collaborative font projects, to support the font creation efforts of academic and linguistic communities, and to provide a free and open framework in which fonts may be shared and improved in partnership with others.
14
+
15
+ The OFL allows the licensed fonts to be used, studied, modified and redistributed freely as long as they are not sold by themselves. The fonts, including any derivative works, can be bundled, embedded, redistributed and/or sold with any software provided that any reserved names are not used by derivative works. The fonts and derivatives, however, cannot be released under any other type of license. The requirement for fonts to remain under this license does not apply to any document created using the fonts or their derivatives.
16
+
17
+ DEFINITIONS
18
+ “Font Software” refers to the set of files released by the Copyright Holder(s) under this license and clearly marked as such. This may include source files, build scripts and documentation.
19
+
20
+ “Reserved Font Name” refers to any names specified as such after the copyright statement(s).
21
+
22
+ “Original Version” refers to the collection of Font Software components as distributed by the Copyright Holder(s).
23
+
24
+ “Modified Version” refers to any derivative made by adding to, deleting, or substituting—in part or in whole—any of the components of the Original Version, by changing formats or by porting the Font Software to a new environment.
25
+
26
+ “Author” refers to any designer, engineer, programmer, technical writer or other person who contributed to the Font Software.
27
+
28
+ PERMISSION & CONDITIONS
29
+ Permission is hereby granted, free of charge, to any person obtaining a copy of the Font Software, to use, study, copy, merge, embed, modify, redistribute, and sell modified and unmodified copies of the Font Software, subject to the following conditions:
30
+
31
+ 1) Neither the Font Software nor any of its individual components, in Original or Modified Versions, may be sold by itself.
32
+
33
+ 2) Original or Modified Versions of the Font Software may be bundled, redistributed and/or sold with any software, provided that each copy contains the above copyright notice and this license. These can be included either as stand-alone text files, human-readable headers or in the appropriate machine-readable metadata fields within text or binary files as long as those fields can be easily viewed by the user.
34
+
35
+ 3) No Modified Version of the Font Software may use the Reserved Font Name(s) unless explicit written permission is granted by the corresponding Copyright Holder. This restriction only applies to the primary font name as presented to the users.
36
+
37
+ 4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font Software shall not be used to promote, endorse or advertise any Modified Version, except to acknowledge the contribution(s) of the Copyright Holder(s) and the Author(s) or with their explicit written permission.
38
+
39
+ 5) The Font Software, modified or unmodified, in part or in whole, must be distributed entirely under this license, and must not be distributed under any other license. The requirement for fonts to remain under this license does not apply to any document created using the Font Software.
40
+
41
+ TERMINATION
42
+ This license becomes null and void if any of the above conditions are not met.
43
+
44
+ DISCLAIMER
45
+ THE FONT SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE.
llm_conf_files/libs/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro-italic.eot ADDED
Binary file (75.7 kB). View file
 
llm_conf_files/libs/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro-italic.ttf ADDED
Binary file (238 kB). View file
 
llm_conf_files/libs/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro-italic.woff ADDED
Binary file (98.6 kB). View file
 
llm_conf_files/libs/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro-regular.eot ADDED
Binary file (88.1 kB). View file
 
llm_conf_files/libs/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro-regular.ttf ADDED
Binary file (288 kB). View file
 
llm_conf_files/libs/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro-regular.woff ADDED
Binary file (114 kB). View file
 
llm_conf_files/libs/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro-semibold.eot ADDED
Binary file (89.9 kB). View file
 
llm_conf_files/libs/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro-semibold.ttf ADDED
Binary file (285 kB). View file
 
llm_conf_files/libs/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro-semibold.woff ADDED
Binary file (116 kB). View file
 
llm_conf_files/libs/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro-semibolditalic.eot ADDED
Binary file (75.7 kB). View file
 
llm_conf_files/libs/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro-semibolditalic.ttf ADDED
Binary file (241 kB). View file
 
llm_conf_files/libs/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro-semibolditalic.woff ADDED
Binary file (98.8 kB). View file
 
llm_conf_files/libs/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro.css ADDED
@@ -0,0 +1,39 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ @font-face {
2
+ font-family: 'Source Sans Pro';
3
+ src: url('./source-sans-pro-regular.eot');
4
+ src: url('./source-sans-pro-regular.eot?#iefix') format('embedded-opentype'),
5
+ url('./source-sans-pro-regular.woff') format('woff'),
6
+ url('./source-sans-pro-regular.ttf') format('truetype');
7
+ font-weight: normal;
8
+ font-style: normal;
9
+ }
10
+
11
+ @font-face {
12
+ font-family: 'Source Sans Pro';
13
+ src: url('./source-sans-pro-italic.eot');
14
+ src: url('./source-sans-pro-italic.eot?#iefix') format('embedded-opentype'),
15
+ url('./source-sans-pro-italic.woff') format('woff'),
16
+ url('./source-sans-pro-italic.ttf') format('truetype');
17
+ font-weight: normal;
18
+ font-style: italic;
19
+ }
20
+
21
+ @font-face {
22
+ font-family: 'Source Sans Pro';
23
+ src: url('./source-sans-pro-semibold.eot');
24
+ src: url('./source-sans-pro-semibold.eot?#iefix') format('embedded-opentype'),
25
+ url('./source-sans-pro-semibold.woff') format('woff'),
26
+ url('./source-sans-pro-semibold.ttf') format('truetype');
27
+ font-weight: 600;
28
+ font-style: normal;
29
+ }
30
+
31
+ @font-face {
32
+ font-family: 'Source Sans Pro';
33
+ src: url('./source-sans-pro-semibolditalic.eot');
34
+ src: url('./source-sans-pro-semibolditalic.eot?#iefix') format('embedded-opentype'),
35
+ url('./source-sans-pro-semibolditalic.woff') format('woff'),
36
+ url('./source-sans-pro-semibolditalic.ttf') format('truetype');
37
+ font-weight: 600;
38
+ font-style: italic;
39
+ }
llm_conf_files/libs/revealjs/dist/theme/quarto.css ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
 
1
+ @import"./fonts/league-gothic/league-gothic.css";@import"https://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic";@import"./fonts/source-sans-pro/source-sans-pro.css";:root{--r-background-color: #002b36;--r-main-font: Lato, sans-serif;--r-main-font-size: 40px;--r-main-color: #93a1a1;--r-block-margin: 12px;--r-heading-margin: 0 0 12px 0;--r-heading-font: League Gothic, sans-serif;--r-heading-color: #eee8d5;--r-heading-line-height: 1.2;--r-heading-letter-spacing: normal;--r-heading-text-transform: uppercase;--r-heading-text-shadow: none;--r-heading-font-weight: 600;--r-heading1-text-shadow: none;--r-heading1-size: 2.5em;--r-heading2-size: 1.6em;--r-heading3-size: 1.3em;--r-heading4-size: 1em;--r-code-font: SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace;--r-link-color: #268bd2;--r-link-color-dark: #1a6091;--r-link-color-hover: #4ca2df;--r-selection-background-color: #d33682;--r-selection-color: #002b36}.reveal-viewport{background:#002b36;background-color:var(--r-background-color)}.reveal{font-family:var(--r-main-font);font-size:var(--r-main-font-size);font-weight:normal;color:var(--r-main-color)}.reveal ::selection{color:var(--r-selection-color);background:var(--r-selection-background-color);text-shadow:none}.reveal ::-moz-selection{color:var(--r-selection-color);background:var(--r-selection-background-color);text-shadow:none}.reveal .slides section,.reveal .slides section>section{line-height:1.3;font-weight:inherit}.reveal h1,.reveal h2,.reveal h3,.reveal h4,.reveal h5,.reveal h6{margin:var(--r-heading-margin);color:var(--r-heading-color);font-family:var(--r-heading-font);font-weight:var(--r-heading-font-weight);line-height:var(--r-heading-line-height);letter-spacing:var(--r-heading-letter-spacing);text-transform:var(--r-heading-text-transform);text-shadow:var(--r-heading-text-shadow);word-wrap:break-word}.reveal h1{font-size:var(--r-heading1-size)}.reveal h2{font-size:var(--r-heading2-size)}.reveal h3{font-size:var(--r-heading3-size)}.reveal h4{font-size:var(--r-heading4-size)}.reveal h1{text-shadow:var(--r-heading1-text-shadow)}.reveal p{margin:var(--r-block-margin) 0;line-height:1.3}.reveal h1:last-child,.reveal h2:last-child,.reveal h3:last-child,.reveal h4:last-child,.reveal h5:last-child,.reveal h6:last-child{margin-bottom:0}.reveal img,.reveal video,.reveal iframe{max-width:95%;max-height:95%}.reveal strong,.reveal b{font-weight:bold}.reveal em{font-style:italic}.reveal ol,.reveal dl,.reveal ul{display:inline-block;text-align:left;margin:0 0 0 1em}.reveal ol{list-style-type:decimal}.reveal ul{list-style-type:disc}.reveal ul ul{list-style-type:square}.reveal ul ul ul{list-style-type:circle}.reveal ul ul,.reveal ul ol,.reveal ol ol,.reveal ol ul{display:block;margin-left:40px}.reveal dt{font-weight:bold}.reveal dd{margin-left:40px}.reveal blockquote{display:block;position:relative;width:70%;margin:var(--r-block-margin) auto;padding:5px;font-style:italic;background:rgba(255,255,255,.05);box-shadow:0px 0px 2px rgba(0,0,0,.2)}.reveal blockquote p:first-child,.reveal blockquote p:last-child{display:inline-block}.reveal q{font-style:italic}.reveal pre{display:block;position:relative;width:90%;margin:var(--r-block-margin) auto;text-align:left;font-size:.55em;font-family:var(--r-code-font);line-height:1.2em;word-wrap:break-word;box-shadow:0px 5px 15px rgba(0,0,0,.15)}.reveal code{font-family:var(--r-code-font);text-transform:none;tab-size:2}.reveal pre code{display:block;padding:5px;overflow:auto;max-height:400px;word-wrap:normal}.reveal .code-wrapper{white-space:normal}.reveal .code-wrapper code{white-space:pre}.reveal table{margin:auto;border-collapse:collapse;border-spacing:0}.reveal table th{font-weight:bold}.reveal table th,.reveal table td{text-align:left;padding:.2em .5em .2em .5em;border-bottom:1px solid}.reveal table th[align=center],.reveal table td[align=center]{text-align:center}.reveal table th[align=right],.reveal table td[align=right]{text-align:right}.reveal table tbody tr:last-child th,.reveal table tbody tr:last-child td{border-bottom:none}.reveal sup{vertical-align:super;font-size:smaller}.reveal sub{vertical-align:sub;font-size:smaller}.reveal small{display:inline-block;font-size:.6em;line-height:1.2em;vertical-align:top}.reveal small *{vertical-align:top}.reveal img{margin:var(--r-block-margin) 0}.reveal a{color:var(--r-link-color);text-decoration:none;transition:color .15s ease}.reveal a:hover{color:var(--r-link-color-hover);text-shadow:none;border:none}.reveal .roll span:after{color:#fff;background:var(--r-link-color-dark)}.reveal .r-frame{border:4px solid var(--r-main-color);box-shadow:0 0 10px rgba(0,0,0,.15)}.reveal a .r-frame{transition:all .15s linear}.reveal a:hover .r-frame{border-color:var(--r-link-color);box-shadow:0 0 20px rgba(0,0,0,.55)}.reveal .controls{color:var(--r-link-color)}.reveal .progress{background:rgba(0,0,0,.2);color:var(--r-link-color)}@media print{.backgrounds{background-color:var(--r-background-color)}}.top-right{position:absolute;top:1em;right:1em}.hidden{display:none !important}.zindex-bottom{z-index:-1 !important}figure.figure{display:block}.quarto-layout-panel{margin-bottom:1em}.quarto-layout-panel>figure{width:100%}.quarto-layout-panel>figure>figcaption,.quarto-layout-panel>.panel-caption{margin-top:10pt}.quarto-layout-panel>.table-caption{margin-top:0px}.table-caption p{margin-bottom:.5em}.quarto-layout-row{display:flex;flex-direction:row;align-items:flex-start}.quarto-layout-valign-top{align-items:flex-start}.quarto-layout-valign-bottom{align-items:flex-end}.quarto-layout-valign-center{align-items:center}.quarto-layout-cell{position:relative;margin-right:20px}.quarto-layout-cell:last-child{margin-right:0}.quarto-layout-cell figure,.quarto-layout-cell>p{margin:.2em}.quarto-layout-cell img{max-width:100%}.quarto-layout-cell .html-widget{width:100% !important}.quarto-layout-cell div figure p{margin:0}.quarto-layout-cell figure{display:block;margin-inline-start:0;margin-inline-end:0}.quarto-layout-cell table{display:inline-table}.quarto-layout-cell-subref figcaption,figure .quarto-layout-row figure figcaption{text-align:center;font-style:italic}.quarto-figure{position:relative;margin-bottom:1em}.quarto-figure>figure{width:100%;margin-bottom:0}.quarto-figure-left>figure>p,.quarto-figure-left>figure>div{text-align:left}.quarto-figure-center>figure>p,.quarto-figure-center>figure>div{text-align:center}.quarto-figure-right>figure>p,.quarto-figure-right>figure>div{text-align:right}.quarto-figure>figure>div.cell-annotation,.quarto-figure>figure>div code{text-align:left}figure>p:empty{display:none}figure>p:first-child{margin-top:0;margin-bottom:0}figure>figcaption{margin-top:.5em}figure.quarto-float-lst>figcaption{margin-bottom:.5em}div[id^=tbl-]{position:relative}.quarto-figure>.anchorjs-link{position:absolute;top:.6em;right:.5em}div[id^=tbl-]>.anchorjs-link{position:absolute;top:.7em;right:.3em}.quarto-figure:hover>.anchorjs-link,div[id^=tbl-]:hover>.anchorjs-link,h2:hover>.anchorjs-link,h3:hover>.anchorjs-link,h4:hover>.anchorjs-link,h5:hover>.anchorjs-link,h6:hover>.anchorjs-link,.reveal-anchorjs-link>.anchorjs-link{opacity:1}#title-block-header{margin-block-end:1rem;position:relative;margin-top:-1px}#title-block-header .abstract{margin-block-start:1rem}#title-block-header .abstract .abstract-title{font-weight:600}#title-block-header a{text-decoration:none}#title-block-header .author,#title-block-header .date,#title-block-header .doi{margin-block-end:.2rem}#title-block-header .quarto-title-block>div{display:flex}#title-block-header .quarto-title-block>div>h1{flex-grow:1}#title-block-header .quarto-title-block>div>button{flex-shrink:0;height:2.25rem;margin-top:0}tr.header>th>p:last-of-type{margin-bottom:0px}table,.table{caption-side:top;margin-bottom:1.5rem}figure.quarto-float-tbl figcaption,caption,.table-caption{padding-top:.5rem;padding-bottom:.5rem;text-align:center}.utterances{max-width:none;margin-left:-8px}iframe{margin-bottom:1em}details{margin-bottom:1em}details[show]{margin-bottom:0}details>summary{color:#93a1a1}details>summary>p:only-child{display:inline}pre.sourceCode,code.sourceCode{position:relative}p code:not(.sourceCode){white-space:pre-wrap}code{white-space:pre}@media print{code{white-space:pre-wrap}}pre>code{display:block}pre>code.sourceCode{white-space:pre}pre>code.sourceCode>span>a:first-child::before{text-decoration:none}pre.code-overflow-wrap>code.sourceCode{white-space:pre-wrap}pre.code-overflow-scroll>code.sourceCode{white-space:pre}code a:any-link{color:inherit;text-decoration:none}code a:hover{color:inherit;text-decoration:underline}ul.task-list{padding-left:1em}[data-tippy-root]{display:inline-block}.tippy-content .footnote-back{display:none}.tippy-content{overflow-x:scroll}.quarto-embedded-source-code{display:none}.quarto-unresolved-ref{font-weight:600}.quarto-cover-image{max-width:35%;float:right;margin-left:30px}.cell-output-display .widget-subarea{margin-bottom:1em}.cell-output-display:not(.no-overflow-x),.knitsql-table:not(.no-overflow-x){overflow-x:auto}.panel-input{margin-bottom:1em}.panel-input>div,.panel-input>div>div{display:inline-block;vertical-align:top;padding-right:12px}.panel-input>p:last-child{margin-bottom:0}.layout-sidebar{margin-bottom:1em}.layout-sidebar .tab-content{border:none}.tab-content>.page-columns.active{display:grid}div.sourceCode>iframe{width:100%;height:300px;margin-bottom:-0.5em}a{text-underline-offset:3px}div.ansi-escaped-output{font-family:monospace;display:block}/*!
2
+ *
3
+ * ansi colors from IPython notebook's
4
+ *
5
+ */.ansi-black-fg{color:#3e424d}.ansi-black-bg{background-color:#3e424d}.ansi-black-intense-fg{color:#282c36}.ansi-black-intense-bg{background-color:#282c36}.ansi-red-fg{color:#e75c58}.ansi-red-bg{background-color:#e75c58}.ansi-red-intense-fg{color:#b22b31}.ansi-red-intense-bg{background-color:#b22b31}.ansi-green-fg{color:#00a250}.ansi-green-bg{background-color:#00a250}.ansi-green-intense-fg{color:#007427}.ansi-green-intense-bg{background-color:#007427}.ansi-yellow-fg{color:#ddb62b}.ansi-yellow-bg{background-color:#ddb62b}.ansi-yellow-intense-fg{color:#b27d12}.ansi-yellow-intense-bg{background-color:#b27d12}.ansi-blue-fg{color:#208ffb}.ansi-blue-bg{background-color:#208ffb}.ansi-blue-intense-fg{color:#0065ca}.ansi-blue-intense-bg{background-color:#0065ca}.ansi-magenta-fg{color:#d160c4}.ansi-magenta-bg{background-color:#d160c4}.ansi-magenta-intense-fg{color:#a03196}.ansi-magenta-intense-bg{background-color:#a03196}.ansi-cyan-fg{color:#60c6c8}.ansi-cyan-bg{background-color:#60c6c8}.ansi-cyan-intense-fg{color:#258f8f}.ansi-cyan-intense-bg{background-color:#258f8f}.ansi-white-fg{color:#c5c1b4}.ansi-white-bg{background-color:#c5c1b4}.ansi-white-intense-fg{color:#a1a6b2}.ansi-white-intense-bg{background-color:#a1a6b2}.ansi-default-inverse-fg{color:#fff}.ansi-default-inverse-bg{background-color:#000}.ansi-bold{font-weight:bold}.ansi-underline{text-decoration:underline}:root{--quarto-body-bg: #002b36;--quarto-body-color: #93a1a1;--quarto-text-muted: #93a1a1;--quarto-border-color: white;--quarto-border-width: 1px;--quarto-border-radius: 4px}table.gt_table{color:var(--quarto-body-color);font-size:1em;width:100%;background-color:rgba(0,0,0,0);border-top-width:inherit;border-bottom-width:inherit;border-color:var(--quarto-border-color)}table.gt_table th.gt_column_spanner_outer{color:var(--quarto-body-color);background-color:rgba(0,0,0,0);border-top-width:inherit;border-bottom-width:inherit;border-color:var(--quarto-border-color)}table.gt_table th.gt_col_heading{color:var(--quarto-body-color);font-weight:bold;background-color:rgba(0,0,0,0)}table.gt_table thead.gt_col_headings{border-bottom:1px solid currentColor;border-top-width:inherit;border-top-color:var(--quarto-border-color)}table.gt_table thead.gt_col_headings:not(:first-child){border-top-width:1px;border-top-color:var(--quarto-border-color)}table.gt_table td.gt_row{border-bottom-width:1px;border-bottom-color:var(--quarto-border-color);border-top-width:0px}table.gt_table tbody.gt_table_body{border-top-width:1px;border-bottom-width:1px;border-bottom-color:var(--quarto-border-color);border-top-color:currentColor}div.columns{display:initial;gap:initial}div.column{display:inline-block;overflow-x:initial;vertical-align:top;width:50%}.code-annotation-tip-content{word-wrap:break-word}.code-annotation-container-hidden{display:none !important}dl.code-annotation-container-grid{display:grid;grid-template-columns:min-content auto}dl.code-annotation-container-grid dt{grid-column:1}dl.code-annotation-container-grid dd{grid-column:2}pre.sourceCode.code-annotation-code{padding-right:0}code.sourceCode .code-annotation-anchor{z-index:100;position:absolute;right:.5em;left:inherit;background-color:rgba(0,0,0,0)}:root{--mermaid-bg-color: #002b36;--mermaid-edge-color: #999;--mermaid-node-fg-color: #93a1a1;--mermaid-fg-color: #93a1a1;--mermaid-fg-color--lighter: #aeb9b9;--mermaid-fg-color--lightest: #cad0d0;--mermaid-font-family: Lato, sans-serif;--mermaid-label-bg-color: #002b36;--mermaid-label-fg-color: #468;--mermaid-node-bg-color: rgba(68, 102, 136, 0.1);--mermaid-node-fg-color: #93a1a1}@media print{:root{font-size:11pt}#quarto-sidebar,#TOC,.nav-page{display:none}.page-columns .content{grid-column-start:page-start}.fixed-top{position:relative}.panel-caption,.figure-caption,figcaption{color:#666}}.code-copy-button{position:absolute;top:0;right:0;border:0;margin-top:5px;margin-right:5px;background-color:rgba(0,0,0,0);z-index:3}.code-copy-button:focus{outline:none}.code-copy-button-tooltip{font-size:.75em}pre.sourceCode:hover>.code-copy-button>.bi::before{display:inline-block;height:1rem;width:1rem;content:"";vertical-align:-0.125em;background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="rgb(147, 161, 161)" viewBox="0 0 16 16"><path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z"/><path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z"/></svg>');background-repeat:no-repeat;background-size:1rem 1rem}pre.sourceCode:hover>.code-copy-button-checked>.bi::before{background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="rgb(147, 161, 161)" viewBox="0 0 16 16"><path d="M13.854 3.646a.5.5 0 0 1 0 .708l-7 7a.5.5 0 0 1-.708 0l-3.5-3.5a.5.5 0 1 1 .708-.708L6.5 10.293l6.646-6.647a.5.5 0 0 1 .708 0z"/></svg>')}pre.sourceCode:hover>.code-copy-button:hover>.bi::before{background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="rgb(38, 139, 210)" viewBox="0 0 16 16"><path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z"/><path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z"/></svg>')}pre.sourceCode:hover>.code-copy-button-checked:hover>.bi::before{background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="rgb(38, 139, 210)" viewBox="0 0 16 16"><path d="M13.854 3.646a.5.5 0 0 1 0 .708l-7 7a.5.5 0 0 1-.708 0l-3.5-3.5a.5.5 0 1 1 .708-.708L6.5 10.293l6.646-6.647a.5.5 0 0 1 .708 0z"/></svg>')}.panel-tabset [role=tablist]{border-bottom:1px solid #fff;list-style:none;margin:0;padding:0;width:100%}.panel-tabset [role=tablist] *{-webkit-box-sizing:border-box;box-sizing:border-box}@media(min-width: 30em){.panel-tabset [role=tablist] li{display:inline-block}}.panel-tabset [role=tab]{border:1px solid rgba(0,0,0,0);border-top-color:#fff;display:block;padding:.5em 1em;text-decoration:none}@media(min-width: 30em){.panel-tabset [role=tab]{border-top-color:rgba(0,0,0,0);display:inline-block;margin-bottom:-1px}}.panel-tabset [role=tab][aria-selected=true]{background-color:#fff}@media(min-width: 30em){.panel-tabset [role=tab][aria-selected=true]{background-color:rgba(0,0,0,0);border:1px solid #fff;border-bottom-color:#002b36}}@media(min-width: 30em){.panel-tabset [role=tab]:hover:not([aria-selected=true]){border:1px solid #fff}}.code-with-filename .code-with-filename-file{margin-bottom:0;padding-bottom:2px;padding-top:2px;padding-left:.7em;border:var(--quarto-border-width) solid var(--quarto-border-color);border-radius:var(--quarto-border-radius);border-bottom:0;border-bottom-left-radius:0%;border-bottom-right-radius:0%}.code-with-filename div.sourceCode,.reveal .code-with-filename div.sourceCode{margin-top:0;border-top-left-radius:0%;border-top-right-radius:0%}.code-with-filename .code-with-filename-file pre{margin-bottom:0}.code-with-filename .code-with-filename-file,.code-with-filename .code-with-filename-file pre{background-color:rgba(219,219,219,.8)}.quarto-dark .code-with-filename .code-with-filename-file,.quarto-dark .code-with-filename .code-with-filename-file pre{background-color:#555}.code-with-filename .code-with-filename-file strong{font-weight:400}.reveal.center .slide aside,.reveal.center .slide div.aside{position:initial}section.has-light-background,section.has-light-background h1,section.has-light-background h2,section.has-light-background h3,section.has-light-background h4,section.has-light-background h5,section.has-light-background h6{color:#222}section.has-light-background a,section.has-light-background a:hover{color:#2a76dd}section.has-light-background code{color:#4758ab}section.has-dark-background,section.has-dark-background h1,section.has-dark-background h2,section.has-dark-background h3,section.has-dark-background h4,section.has-dark-background h5,section.has-dark-background h6{color:#fff}section.has-dark-background a,section.has-dark-background a:hover{color:#42affa}section.has-dark-background code{color:#ffa07a}#title-slide,div.reveal div.slides section.quarto-title-block{text-align:center}#title-slide .subtitle,div.reveal div.slides section.quarto-title-block .subtitle{margin-bottom:2.5rem}.reveal .slides{text-align:left}.reveal .title-slide h1{font-size:1.6em}.reveal[data-navigation-mode=linear] .title-slide h1{font-size:2.5em}.reveal div.sourceCode{border:1px solid #fff;border-radius:4px}.reveal pre{width:100%;box-shadow:none;background-color:#002b36;border:none;margin:0;font-size:.55em}.reveal code{color:var(--quarto-hl-fu-color);background-color:rgba(0,0,0,0);white-space:pre-wrap}.reveal pre.sourceCode code{background-color:#002b36;padding:6px 9px;max-height:500px;white-space:pre}.reveal pre code{background-color:#002b36;color:#93a1a1}.reveal .column-output-location{display:flex;align-items:stretch}.reveal .column-output-location .column:first-of-type div.sourceCode{height:100%;background-color:#002b36}.reveal blockquote{display:block;position:relative;color:#e5e8e8;width:unset;margin:var(--r-block-margin) auto;padding:.625rem 1.75rem;border-left:.25rem solid #93a1a1;font-style:normal;background:none;box-shadow:none}.reveal blockquote p:first-child,.reveal blockquote p:last-child{display:block}.reveal .slide aside,.reveal .slide div.aside{position:absolute;bottom:20px;font-size:0.7em;color:#93a1a1}.reveal .slide sup{font-size:0.7em}.reveal .slide.scrollable aside,.reveal .slide.scrollable div.aside{position:relative;margin-top:1em}.reveal .slide aside .aside-footnotes{margin-bottom:0}.reveal .slide aside .aside-footnotes li:first-of-type{margin-top:0}.reveal .layout-sidebar{display:flex;width:100%;margin-top:.8em}.reveal .layout-sidebar .panel-sidebar{width:270px}.reveal .layout-sidebar-left .panel-sidebar{margin-right:calc(0.5em * 2)}.reveal .layout-sidebar-right .panel-sidebar{margin-left:calc(0.5em * 2)}.reveal .layout-sidebar .panel-fill,.reveal .layout-sidebar .panel-center,.reveal .layout-sidebar .panel-tabset{flex:1}.reveal .panel-input,.reveal .panel-sidebar{font-size:.5em;padding:.5em;border-style:solid;border-color:#fff;border-width:1px;border-radius:4px;background-color:rgba(233,236,239,.2)}.reveal .panel-sidebar :first-child,.reveal .panel-fill :first-child{margin-top:0}.reveal .panel-sidebar :last-child,.reveal .panel-fill :last-child{margin-bottom:0}.panel-input>div,.panel-input>div>div{vertical-align:middle;padding-right:1em}.reveal p,.reveal .slides section,.reveal .slides section>section{line-height:1.3}.reveal.smaller .slides section,.reveal .slides section.smaller,.reveal .slides section .callout{font-size:0.7em}.reveal.smaller .slides h1,.reveal .slides section.smaller h1{font-size:calc(2.5em / 0.7)}.reveal.smaller .slides h2,.reveal .slides section.smaller h2{font-size:calc(1.6em / 0.7)}.reveal.smaller .slides h3,.reveal .slides section.smaller h3{font-size:calc(1.3em / 0.7)}.reveal .columns>.column>:not(ul,ol){margin-left:.25em;margin-right:.25em}.reveal .columns>.column:first-child>:not(ul,ol){margin-right:.5em;margin-left:0}.reveal .columns>.column:last-child>:not(ul,ol){margin-right:0;margin-left:.5em}.reveal .slide-number{color:#4ca2df;background-color:#002b36}.reveal .footer{color:#93a1a1}.reveal .footer a{color:#268bd2}.reveal .slide-number{color:#93a1a1}.reveal .slide figure>figcaption,.reveal .slide img.stretch+p.caption,.reveal .slide img.r-stretch+p.caption{font-size:0.7em}@media screen and (min-width: 500px){.reveal .controls[data-controls-layout=edges] .navigate-left{left:.2em}.reveal .controls[data-controls-layout=edges] .navigate-right{right:.2em}.reveal .controls[data-controls-layout=edges] .navigate-up{top:.4em}.reveal .controls[data-controls-layout=edges] .navigate-down{bottom:2.3em}}.tippy-box[data-theme~=light-border]{background-color:#002b36;color:#93a1a1;border-radius:4px;border:solid 1px #e5e8e8;font-size:.6em}.tippy-box[data-theme~=light-border] .tippy-arrow{color:#e5e8e8}.tippy-box[data-placement^=bottom]>.tippy-content{padding:7px 10px;z-index:1}.reveal .callout.callout-style-simple .callout-body,.reveal .callout.callout-style-default .callout-body,.reveal .callout.callout-style-simple div.callout-title,.reveal .callout.callout-style-default div.callout-title{font-size:inherit}.reveal .callout.callout-style-default .callout-icon::before,.reveal .callout.callout-style-simple .callout-icon::before{height:2rem;width:2rem;background-size:2rem 2rem}.reveal .callout.callout-titled .callout-title p{margin-top:.5em}.reveal .callout.callout-titled .callout-icon::before{margin-top:1rem}.reveal .callout.callout-titled .callout-body>.callout-content>:last-child{margin-bottom:1rem}.reveal .panel-tabset [role=tab]{padding:.25em .7em}.reveal .slide-menu-button .fa-bars::before{background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="rgb(38, 139, 210)" class="bi bi-list" viewBox="0 0 16 16"><path fill-rule="evenodd" d="M2.5 12a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm0-4a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm0-4a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5z"/></svg>')}.reveal .slide-chalkboard-buttons .fa-easel2::before{background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="rgb(38, 139, 210)" class="bi bi-easel2" viewBox="0 0 16 16"><path fill-rule="evenodd" d="M8 0a.5.5 0 0 1 .447.276L8.81 1h4.69A1.5 1.5 0 0 1 15 2.5V11h.5a.5.5 0 0 1 0 1h-2.86l.845 3.379a.5.5 0 0 1-.97.242L12.11 14H3.89l-.405 1.621a.5.5 0 0 1-.97-.242L3.36 12H.5a.5.5 0 0 1 0-1H1V2.5A1.5 1.5 0 0 1 2.5 1h4.691l.362-.724A.5.5 0 0 1 8 0ZM2 11h12V2.5a.5.5 0 0 0-.5-.5h-11a.5.5 0 0 0-.5.5V11Zm9.61 1H4.39l-.25 1h7.72l-.25-1Z"/></svg>')}.reveal .slide-chalkboard-buttons .fa-brush::before{background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="rgb(38, 139, 210)" class="bi bi-brush" viewBox="0 0 16 16"><path d="M15.825.12a.5.5 0 0 1 .132.584c-1.53 3.43-4.743 8.17-7.095 10.64a6.067 6.067 0 0 1-2.373 1.534c-.018.227-.06.538-.16.868-.201.659-.667 1.479-1.708 1.74a8.118 8.118 0 0 1-3.078.132 3.659 3.659 0 0 1-.562-.135 1.382 1.382 0 0 1-.466-.247.714.714 0 0 1-.204-.288.622.622 0 0 1 .004-.443c.095-.245.316-.38.461-.452.394-.197.625-.453.867-.826.095-.144.184-.297.287-.472l.117-.198c.151-.255.326-.54.546-.848.528-.739 1.201-.925 1.746-.896.126.007.243.025.348.048.062-.172.142-.38.238-.608.261-.619.658-1.419 1.187-2.069 2.176-2.67 6.18-6.206 9.117-8.104a.5.5 0 0 1 .596.04zM4.705 11.912a1.23 1.23 0 0 0-.419-.1c-.246-.013-.573.05-.879.479-.197.275-.355.532-.5.777l-.105.177c-.106.181-.213.362-.32.528a3.39 3.39 0 0 1-.76.861c.69.112 1.736.111 2.657-.12.559-.139.843-.569.993-1.06a3.122 3.122 0 0 0 .126-.75l-.793-.792zm1.44.026c.12-.04.277-.1.458-.183a5.068 5.068 0 0 0 1.535-1.1c1.9-1.996 4.412-5.57 6.052-8.631-2.59 1.927-5.566 4.66-7.302 6.792-.442.543-.795 1.243-1.042 1.826-.121.288-.214.54-.275.72v.001l.575.575zm-4.973 3.04.007-.005a.031.031 0 0 1-.007.004zm3.582-3.043.002.001h-.002z"/></svg>')}/*! dark */.reveal div.callout.callout-style-default .callout-title{color:#222}.reveal ol[type=a]{list-style-type:lower-alpha}.reveal ol[type=a s]{list-style-type:lower-alpha}.reveal ol[type=A s]{list-style-type:upper-alpha}.reveal ol[type=i]{list-style-type:lower-roman}.reveal ol[type=i s]{list-style-type:lower-roman}.reveal ol[type=I s]{list-style-type:upper-roman}.reveal ol[type="1"]{list-style-type:decimal}.reveal ul.task-list{list-style:none}.reveal ul.task-list li input[type=checkbox]{width:2em;height:2em;margin:0 1em .5em -1.6em;vertical-align:middle}div.cell-output-display div.pagedtable-wrapper table.table{font-size:.6em}.reveal .code-annotation-container-hidden{display:none}.reveal code.sourceCode button.code-annotation-anchor,.reveal code.sourceCode .code-annotation-anchor{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;color:var(--quarto-hl-co-color);border:solid var(--quarto-hl-co-color) 1px;border-radius:50%;font-size:.7em;line-height:1.2em;margin-top:2px}.reveal code.sourceCode button.code-annotation-anchor{cursor:pointer}.reveal code.sourceCode a.code-annotation-anchor{text-align:center;vertical-align:middle;text-decoration:none;cursor:default;height:1.2em;width:1.2em}.reveal #code-annotation-line-highlight-gutter{width:100%;border-top:solid var(--quarto-hl-co-color) 1px;border-bottom:solid var(--quarto-hl-co-color) 1px;z-index:2}.reveal #code-annotation-line-highlight{margin-left:-8em;width:calc(100% + 4em);border-top:solid var(--quarto-hl-co-color) 1px;border-bottom:solid var(--quarto-hl-co-color) 1px;z-index:2;margin-bottom:-2px}.reveal code.sourceCode .code-annotation-anchor.code-annotation-active{background-color:var(--quarto-hl-normal-color, #aaaaaa);border:solid var(--quarto-hl-normal-color, #aaaaaa) 1px;color:#002b36;font-weight:bolder}.reveal pre.code-annotation-code{padding-top:0;padding-bottom:0}.reveal pre.code-annotation-code code{z-index:3;padding-left:0px}.reveal dl.code-annotation-container-grid{margin-left:.1em}.reveal dl.code-annotation-container-grid dt{margin-top:.65rem;font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;border:solid #93a1a1 1px;border-radius:50%;height:1.3em;width:1.3em;line-height:1.3em;font-size:.5em;text-align:center;vertical-align:middle;text-decoration:none}.reveal dl.code-annotation-container-grid dd{margin-left:.25em}.reveal .scrollable ol li:first-child:nth-last-child(n+10),.reveal .scrollable ol li:first-child:nth-last-child(n+10)~li{margin-left:1em}html.print-pdf .reveal .slides .pdf-page:last-child{page-break-after:avoid}.reveal .quarto-title-block .quarto-title-authors{display:flex;justify-content:center}.reveal .quarto-title-block .quarto-title-authors .quarto-title-author{padding-left:.5em;padding-right:.5em}.reveal .quarto-title-block .quarto-title-authors .quarto-title-author a,.reveal .quarto-title-block .quarto-title-authors .quarto-title-author a:hover,.reveal .quarto-title-block .quarto-title-authors .quarto-title-author a:visited,.reveal .quarto-title-block .quarto-title-authors .quarto-title-author a:active{color:inherit;text-decoration:none}.reveal .quarto-title-block .quarto-title-authors .quarto-title-author .quarto-title-author-name{margin-bottom:.1rem}.reveal .quarto-title-block .quarto-title-authors .quarto-title-author .quarto-title-author-email{margin-top:0px;margin-bottom:.4em;font-size:.6em}.reveal .quarto-title-block .quarto-title-authors .quarto-title-author .quarto-title-author-orcid img{margin-bottom:4px}.reveal .quarto-title-block .quarto-title-authors .quarto-title-author .quarto-title-affiliation{font-size:.7em;margin-top:0px;margin-bottom:8px}.reveal .quarto-title-block .quarto-title-authors .quarto-title-author .quarto-title-affiliation:first{margin-top:12px}html *{color-profile:sRGB;rendering-intent:auto}/*# sourceMappingURL=f95d2bded9c28492b788fe14c3e9f347.css.map */
llm_conf_files/libs/revealjs/plugin/highlight/highlight.esm.js ADDED
The diff for this file is too large to render. See raw diff
 
llm_conf_files/libs/revealjs/plugin/highlight/highlight.js ADDED
The diff for this file is too large to render. See raw diff
 
llm_conf_files/libs/revealjs/plugin/highlight/monokai.css ADDED
@@ -0,0 +1,71 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ Monokai style - ported by Luigi Maselli - http://grigio.org
3
+ */
4
+
5
+ .hljs {
6
+ display: block;
7
+ overflow-x: auto;
8
+ padding: 0.5em;
9
+ background: #272822;
10
+ color: #ddd;
11
+ }
12
+
13
+ .hljs-tag,
14
+ .hljs-keyword,
15
+ .hljs-selector-tag,
16
+ .hljs-literal,
17
+ .hljs-strong,
18
+ .hljs-name {
19
+ color: #f92672;
20
+ }
21
+
22
+ .hljs-code {
23
+ color: #66d9ef;
24
+ }
25
+
26
+ .hljs-class .hljs-title {
27
+ color: white;
28
+ }
29
+
30
+ .hljs-attribute,
31
+ .hljs-symbol,
32
+ .hljs-regexp,
33
+ .hljs-link {
34
+ color: #bf79db;
35
+ }
36
+
37
+ .hljs-string,
38
+ .hljs-bullet,
39
+ .hljs-subst,
40
+ .hljs-title,
41
+ .hljs-section,
42
+ .hljs-emphasis,
43
+ .hljs-type,
44
+ .hljs-built_in,
45
+ .hljs-builtin-name,
46
+ .hljs-selector-attr,
47
+ .hljs-selector-pseudo,
48
+ .hljs-addition,
49
+ .hljs-variable,
50
+ .hljs-template-tag,
51
+ .hljs-template-variable {
52
+ color: #a6e22e;
53
+ }
54
+
55
+ .hljs-comment,
56
+ .hljs-quote,
57
+ .hljs-deletion,
58
+ .hljs-meta {
59
+ color: #75715e;
60
+ }
61
+
62
+ .hljs-keyword,
63
+ .hljs-selector-tag,
64
+ .hljs-literal,
65
+ .hljs-doctag,
66
+ .hljs-title,
67
+ .hljs-section,
68
+ .hljs-type,
69
+ .hljs-selector-id {
70
+ font-weight: bold;
71
+ }
llm_conf_files/libs/revealjs/plugin/highlight/plugin.js ADDED
@@ -0,0 +1,439 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import hljs from 'highlight.js';
2
+
3
+ /* highlightjs-line-numbers.js 2.8.0 | (C) 2018 Yauheni Pakala | MIT License | github.com/wcoder/highlightjs-line-numbers.js */
4
+ !function(r,o){"use strict";var e,i="hljs-ln",l="hljs-ln-line",h="hljs-ln-code",s="hljs-ln-numbers",c="hljs-ln-n",m="data-line-number",a=/\r\n|\r|\n/g;function u(e){for(var n=e.toString(),t=e.anchorNode;"TD"!==t.nodeName;)t=t.parentNode;for(var r=e.focusNode;"TD"!==r.nodeName;)r=r.parentNode;var o=parseInt(t.dataset.lineNumber),a=parseInt(r.dataset.lineNumber);if(o==a)return n;var i,l=t.textContent,s=r.textContent;for(a<o&&(i=o,o=a,a=i,i=l,l=s,s=i);0!==n.indexOf(l);)l=l.slice(1);for(;-1===n.lastIndexOf(s);)s=s.slice(0,-1);for(var c=l,u=function(e){for(var n=e;"TABLE"!==n.nodeName;)n=n.parentNode;return n}(t),d=o+1;d<a;++d){var f=p('.{0}[{1}="{2}"]',[h,m,d]);c+="\n"+u.querySelector(f).textContent}return c+="\n"+s}function n(e){try{var n=o.querySelectorAll("code.hljs,code.nohighlight");for(var t in n)n.hasOwnProperty(t)&&(n[t].classList.contains("nohljsln")||d(n[t],e))}catch(e){r.console.error("LineNumbers error: ",e)}}function d(e,n){if("object"==typeof e)e.innerHTML=f(e,n)}function f(e,n){var t,r,o=(t=e,{singleLine:function(e){return!!e.singleLine&&e.singleLine}(r=(r=n)||{}),startFrom:function(e,n){var t=1;isFinite(n.startFrom)&&(t=n.startFrom);var r=function(e,n){return e.hasAttribute(n)?e.getAttribute(n):null}(e,"data-ln-start-from");return null!==r&&(t=function(e,n){if(!e)return n;var t=Number(e);return isFinite(t)?t:n}(r,1)),t}(t,r)});return function e(n){var t=n.childNodes;for(var r in t){var o;t.hasOwnProperty(r)&&(o=t[r],0<(o.textContent.trim().match(a)||[]).length&&(0<o.childNodes.length?e(o):v(o.parentNode)))}}(e),function(e,n){var t=g(e);""===t[t.length-1].trim()&&t.pop();if(1<t.length||n.singleLine){for(var r="",o=0,a=t.length;o<a;o++)r+=p('<tr><td class="{0} {1}" {3}="{5}"><div class="{2}" {3}="{5}"></div></td><td class="{0} {4}" {3}="{5}">{6}</td></tr>',[l,s,c,m,h,o+n.startFrom,0<t[o].length?t[o]:" "]);return p('<table class="{0}">{1}</table>',[i,r])}return e}(e.innerHTML,o)}function v(e){var n=e.className;if(/hljs-/.test(n)){for(var t=g(e.innerHTML),r=0,o="";r<t.length;r++){o+=p('<span class="{0}">{1}</span>\n',[n,0<t[r].length?t[r]:" "])}e.innerHTML=o.trim()}}function g(e){return 0===e.length?[]:e.split(a)}function p(e,t){return e.replace(/\{(\d+)\}/g,function(e,n){return void 0!==t[n]?t[n]:e})}hljs?(hljs.initLineNumbersOnLoad=function(e){"interactive"===o.readyState||"complete"===o.readyState?n(e):r.addEventListener("DOMContentLoaded",function(){n(e)})},hljs.lineNumbersBlock=d,hljs.lineNumbersValue=function(e,n){if("string"!=typeof e)return;var t=document.createElement("code");return t.innerHTML=e,f(t,n)},(e=o.createElement("style")).type="text/css",e.innerHTML=p(".{0}{border-collapse:collapse}.{0} td{padding:0}.{1}:before{content:attr({2})}",[i,c,m]),o.getElementsByTagName("head")[0].appendChild(e)):r.console.error("highlight.js not detected!"),document.addEventListener("copy",function(e){var n,t=window.getSelection();!function(e){for(var n=e;n;){if(n.className&&-1!==n.className.indexOf("hljs-ln-code"))return 1;n=n.parentNode}}(t.anchorNode)||(n=-1!==window.navigator.userAgent.indexOf("Edge")?u(t):t.toString(),e.clipboardData.setData("text/plain",n),e.preventDefault())})}(window,document);
5
+
6
+
7
+ /*!
8
+ * reveal.js plugin that adds syntax highlight support.
9
+ */
10
+
11
+ const Plugin = {
12
+
13
+ id: 'highlight',
14
+
15
+ HIGHLIGHT_STEP_DELIMITER: '|',
16
+ HIGHLIGHT_LINE_DELIMITER: ',',
17
+ HIGHLIGHT_LINE_RANGE_DELIMITER: '-',
18
+
19
+ hljs,
20
+
21
+ /**
22
+ * Highlights code blocks withing the given deck.
23
+ *
24
+ * Note that this can be called multiple times if
25
+ * there are multiple presentations on one page.
26
+ *
27
+ * @param {Reveal} reveal the reveal.js instance
28
+ */
29
+ init: function( reveal ) {
30
+
31
+ // Read the plugin config options and provide fallbacks
32
+ let config = reveal.getConfig().highlight || {};
33
+
34
+ config.highlightOnLoad = typeof config.highlightOnLoad === 'boolean' ? config.highlightOnLoad : true;
35
+ config.escapeHTML = typeof config.escapeHTML === 'boolean' ? config.escapeHTML : true;
36
+
37
+ Array.from( reveal.getRevealElement().querySelectorAll( 'pre code' ) ).forEach( block => {
38
+
39
+ block.parentNode.classList.add('code-wrapper');
40
+
41
+ // Code can optionally be wrapped in script template to avoid
42
+ // HTML being parsed by the browser (i.e. when you need to
43
+ // include <, > or & in your code).
44
+ let substitute = block.querySelector( 'script[type="text/template"]' );
45
+ if( substitute ) {
46
+ // textContent handles the HTML entity escapes for us
47
+ block.textContent = substitute.innerHTML;
48
+ }
49
+
50
+ // Trim whitespace if the "data-trim" attribute is present
51
+ if( block.hasAttribute( 'data-trim' ) && typeof block.innerHTML.trim === 'function' ) {
52
+ block.innerHTML = betterTrim( block );
53
+ }
54
+
55
+ // Escape HTML tags unless the "data-noescape" attrbute is present
56
+ if( config.escapeHTML && !block.hasAttribute( 'data-noescape' )) {
57
+ block.innerHTML = block.innerHTML.replace( /</g,"&lt;").replace(/>/g, '&gt;' );
58
+ }
59
+
60
+ // Re-highlight when focus is lost (for contenteditable code)
61
+ block.addEventListener( 'focusout', function( event ) {
62
+ hljs.highlightElement( event.currentTarget );
63
+ }, false );
64
+
65
+ } );
66
+
67
+ // Triggers a callback function before we trigger highlighting
68
+ if( typeof config.beforeHighlight === 'function' ) {
69
+ config.beforeHighlight( hljs );
70
+ }
71
+
72
+ // Run initial highlighting for all code
73
+ if( config.highlightOnLoad ) {
74
+ Array.from( reveal.getRevealElement().querySelectorAll( 'pre code' ) ).forEach( block => {
75
+ Plugin.highlightBlock( block );
76
+ } );
77
+ }
78
+
79
+ // If we're printing to PDF, scroll the code highlights of
80
+ // all blocks in the deck into view at once
81
+ reveal.on( 'pdf-ready', function() {
82
+ [].slice.call( reveal.getRevealElement().querySelectorAll( 'pre code[data-line-numbers].current-fragment' ) ).forEach( function( block ) {
83
+ Plugin.scrollHighlightedLineIntoView( block, {}, true );
84
+ } );
85
+ } );
86
+
87
+ },
88
+
89
+ /**
90
+ * Highlights a code block. If the <code> node has the
91
+ * 'data-line-numbers' attribute we also generate slide
92
+ * numbers.
93
+ *
94
+ * If the block contains multiple line highlight steps,
95
+ * we clone the block and create a fragment for each step.
96
+ */
97
+ highlightBlock: function( block ) {
98
+
99
+ hljs.highlightElement( block );
100
+
101
+ // Don't generate line numbers for empty code blocks
102
+ if( block.innerHTML.trim().length === 0 ) return;
103
+
104
+ if( block.hasAttribute( 'data-line-numbers' ) ) {
105
+ hljs.lineNumbersBlock( block, { singleLine: true } );
106
+
107
+ var scrollState = { currentBlock: block };
108
+
109
+ // If there is more than one highlight step, generate
110
+ // fragments
111
+ var highlightSteps = Plugin.deserializeHighlightSteps( block.getAttribute( 'data-line-numbers' ) );
112
+ if( highlightSteps.length > 1 ) {
113
+
114
+ // If the original code block has a fragment-index,
115
+ // each clone should follow in an incremental sequence
116
+ var fragmentIndex = parseInt( block.getAttribute( 'data-fragment-index' ), 10 );
117
+
118
+ if( typeof fragmentIndex !== 'number' || isNaN( fragmentIndex ) ) {
119
+ fragmentIndex = null;
120
+ }
121
+
122
+ // Generate fragments for all steps except the original block
123
+ highlightSteps.slice(1).forEach( function( highlight ) {
124
+
125
+ var fragmentBlock = block.cloneNode( true );
126
+ fragmentBlock.setAttribute( 'data-line-numbers', Plugin.serializeHighlightSteps( [ highlight ] ) );
127
+ fragmentBlock.classList.add( 'fragment' );
128
+ block.parentNode.appendChild( fragmentBlock );
129
+ Plugin.highlightLines( fragmentBlock );
130
+
131
+ if( typeof fragmentIndex === 'number' ) {
132
+ fragmentBlock.setAttribute( 'data-fragment-index', fragmentIndex );
133
+ fragmentIndex += 1;
134
+ }
135
+ else {
136
+ fragmentBlock.removeAttribute( 'data-fragment-index' );
137
+ }
138
+
139
+ // Scroll highlights into view as we step through them
140
+ fragmentBlock.addEventListener( 'visible', Plugin.scrollHighlightedLineIntoView.bind( Plugin, fragmentBlock, scrollState ) );
141
+ fragmentBlock.addEventListener( 'hidden', Plugin.scrollHighlightedLineIntoView.bind( Plugin, fragmentBlock.previousSibling, scrollState ) );
142
+
143
+ } );
144
+
145
+ block.removeAttribute( 'data-fragment-index' );
146
+ block.setAttribute( 'data-line-numbers', Plugin.serializeHighlightSteps( [ highlightSteps[0] ] ) );
147
+
148
+ }
149
+
150
+ // Scroll the first highlight into view when the slide
151
+ // becomes visible. Note supported in IE11 since it lacks
152
+ // support for Element.closest.
153
+ var slide = typeof block.closest === 'function' ? block.closest( 'section:not(.stack)' ) : null;
154
+ if( slide ) {
155
+ var scrollFirstHighlightIntoView = function() {
156
+ Plugin.scrollHighlightedLineIntoView( block, scrollState, true );
157
+ slide.removeEventListener( 'visible', scrollFirstHighlightIntoView );
158
+ }
159
+ slide.addEventListener( 'visible', scrollFirstHighlightIntoView );
160
+ }
161
+
162
+ Plugin.highlightLines( block );
163
+
164
+ }
165
+
166
+ },
167
+
168
+ /**
169
+ * Animates scrolling to the first highlighted line
170
+ * in the given code block.
171
+ */
172
+ scrollHighlightedLineIntoView: function( block, scrollState, skipAnimation ) {
173
+
174
+ cancelAnimationFrame( scrollState.animationFrameID );
175
+
176
+ // Match the scroll position of the currently visible
177
+ // code block
178
+ if( scrollState.currentBlock ) {
179
+ block.scrollTop = scrollState.currentBlock.scrollTop;
180
+ }
181
+
182
+ // Remember the current code block so that we can match
183
+ // its scroll position when showing/hiding fragments
184
+ scrollState.currentBlock = block;
185
+
186
+ var highlightBounds = this.getHighlightedLineBounds( block )
187
+ var viewportHeight = block.offsetHeight;
188
+
189
+ // Subtract padding from the viewport height
190
+ var blockStyles = getComputedStyle( block );
191
+ viewportHeight -= parseInt( blockStyles.paddingTop ) + parseInt( blockStyles.paddingBottom );
192
+
193
+ // Scroll position which centers all highlights
194
+ var startTop = block.scrollTop;
195
+ var targetTop = highlightBounds.top + ( Math.min( highlightBounds.bottom - highlightBounds.top, viewportHeight ) - viewportHeight ) / 2;
196
+
197
+ // Account for offsets in position applied to the
198
+ // <table> that holds our lines of code
199
+ var lineTable = block.querySelector( '.hljs-ln' );
200
+ if( lineTable ) targetTop += lineTable.offsetTop - parseInt( blockStyles.paddingTop );
201
+
202
+ // Make sure the scroll target is within bounds
203
+ targetTop = Math.max( Math.min( targetTop, block.scrollHeight - viewportHeight ), 0 );
204
+
205
+ if( skipAnimation === true || startTop === targetTop ) {
206
+ block.scrollTop = targetTop;
207
+ }
208
+ else {
209
+
210
+ // Don't attempt to scroll if there is no overflow
211
+ if( block.scrollHeight <= viewportHeight ) return;
212
+
213
+ var time = 0;
214
+ var animate = function() {
215
+ time = Math.min( time + 0.02, 1 );
216
+
217
+ // Update our eased scroll position
218
+ block.scrollTop = startTop + ( targetTop - startTop ) * Plugin.easeInOutQuart( time );
219
+
220
+ // Keep animating unless we've reached the end
221
+ if( time < 1 ) {
222
+ scrollState.animationFrameID = requestAnimationFrame( animate );
223
+ }
224
+ };
225
+
226
+ animate();
227
+
228
+ }
229
+
230
+ },
231
+
232
+ /**
233
+ * The easing function used when scrolling.
234
+ */
235
+ easeInOutQuart: function( t ) {
236
+
237
+ // easeInOutQuart
238
+ return t<.5 ? 8*t*t*t*t : 1-8*(--t)*t*t*t;
239
+
240
+ },
241
+
242
+ getHighlightedLineBounds: function( block ) {
243
+
244
+ var highlightedLines = block.querySelectorAll( '.highlight-line' );
245
+ if( highlightedLines.length === 0 ) {
246
+ return { top: 0, bottom: 0 };
247
+ }
248
+ else {
249
+ var firstHighlight = highlightedLines[0];
250
+ var lastHighlight = highlightedLines[ highlightedLines.length -1 ];
251
+
252
+ return {
253
+ top: firstHighlight.offsetTop,
254
+ bottom: lastHighlight.offsetTop + lastHighlight.offsetHeight
255
+ }
256
+ }
257
+
258
+ },
259
+
260
+ /**
261
+ * Visually emphasize specific lines within a code block.
262
+ * This only works on blocks with line numbering turned on.
263
+ *
264
+ * @param {HTMLElement} block a <code> block
265
+ * @param {String} [linesToHighlight] The lines that should be
266
+ * highlighted in this format:
267
+ * "1" = highlights line 1
268
+ * "2,5" = highlights lines 2 & 5
269
+ * "2,5-7" = highlights lines 2, 5, 6 & 7
270
+ */
271
+ highlightLines: function( block, linesToHighlight ) {
272
+
273
+ var highlightSteps = Plugin.deserializeHighlightSteps( linesToHighlight || block.getAttribute( 'data-line-numbers' ) );
274
+
275
+ if( highlightSteps.length ) {
276
+
277
+ highlightSteps[0].forEach( function( highlight ) {
278
+
279
+ var elementsToHighlight = [];
280
+
281
+ // Highlight a range
282
+ if( typeof highlight.end === 'number' ) {
283
+ elementsToHighlight = [].slice.call( block.querySelectorAll( 'table tr:nth-child(n+'+highlight.start+'):nth-child(-n+'+highlight.end+')' ) );
284
+ }
285
+ // Highlight a single line
286
+ else if( typeof highlight.start === 'number' ) {
287
+ elementsToHighlight = [].slice.call( block.querySelectorAll( 'table tr:nth-child('+highlight.start+')' ) );
288
+ }
289
+
290
+ if( elementsToHighlight.length ) {
291
+ elementsToHighlight.forEach( function( lineElement ) {
292
+ lineElement.classList.add( 'highlight-line' );
293
+ } );
294
+
295
+ block.classList.add( 'has-highlights' );
296
+ }
297
+
298
+ } );
299
+
300
+ }
301
+
302
+ },
303
+
304
+ /**
305
+ * Parses and formats a user-defined string of line
306
+ * numbers to highlight.
307
+ *
308
+ * @example
309
+ * Plugin.deserializeHighlightSteps( '1,2|3,5-10' )
310
+ * // [
311
+ * // [ { start: 1 }, { start: 2 } ],
312
+ * // [ { start: 3 }, { start: 5, end: 10 } ]
313
+ * // ]
314
+ */
315
+ deserializeHighlightSteps: function( highlightSteps ) {
316
+
317
+ // Remove whitespace
318
+ highlightSteps = highlightSteps.replace( /\s/g, '' );
319
+
320
+ // Divide up our line number groups
321
+ highlightSteps = highlightSteps.split( Plugin.HIGHLIGHT_STEP_DELIMITER );
322
+
323
+ return highlightSteps.map( function( highlights ) {
324
+
325
+ return highlights.split( Plugin.HIGHLIGHT_LINE_DELIMITER ).map( function( highlight ) {
326
+
327
+ // Parse valid line numbers
328
+ if( /^[\d-]+$/.test( highlight ) ) {
329
+
330
+ highlight = highlight.split( Plugin.HIGHLIGHT_LINE_RANGE_DELIMITER );
331
+
332
+ var lineStart = parseInt( highlight[0], 10 ),
333
+ lineEnd = parseInt( highlight[1], 10 );
334
+
335
+ if( isNaN( lineEnd ) ) {
336
+ return {
337
+ start: lineStart
338
+ };
339
+ }
340
+ else {
341
+ return {
342
+ start: lineStart,
343
+ end: lineEnd
344
+ };
345
+ }
346
+
347
+ }
348
+ // If no line numbers are provided, no code will be highlighted
349
+ else {
350
+
351
+ return {};
352
+
353
+ }
354
+
355
+ } );
356
+
357
+ } );
358
+
359
+ },
360
+
361
+ /**
362
+ * Serializes parsed line number data into a string so
363
+ * that we can store it in the DOM.
364
+ */
365
+ serializeHighlightSteps: function( highlightSteps ) {
366
+
367
+ return highlightSteps.map( function( highlights ) {
368
+
369
+ return highlights.map( function( highlight ) {
370
+
371
+ // Line range
372
+ if( typeof highlight.end === 'number' ) {
373
+ return highlight.start + Plugin.HIGHLIGHT_LINE_RANGE_DELIMITER + highlight.end;
374
+ }
375
+ // Single line
376
+ else if( typeof highlight.start === 'number' ) {
377
+ return highlight.start;
378
+ }
379
+ // All lines
380
+ else {
381
+ return '';
382
+ }
383
+
384
+ } ).join( Plugin.HIGHLIGHT_LINE_DELIMITER );
385
+
386
+ } ).join( Plugin.HIGHLIGHT_STEP_DELIMITER );
387
+
388
+ }
389
+
390
+ }
391
+
392
+ // Function to perform a better "data-trim" on code snippets
393
+ // Will slice an indentation amount on each line of the snippet (amount based on the line having the lowest indentation length)
394
+ function betterTrim(snippetEl) {
395
+ // Helper functions
396
+ function trimLeft(val) {
397
+ // Adapted from https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/Trim#Polyfill
398
+ return val.replace(/^[\s\uFEFF\xA0]+/g, '');
399
+ }
400
+ function trimLineBreaks(input) {
401
+ var lines = input.split('\n');
402
+
403
+ // Trim line-breaks from the beginning
404
+ for (var i = 0; i < lines.length; i++) {
405
+ if (lines[i].trim() === '') {
406
+ lines.splice(i--, 1);
407
+ } else break;
408
+ }
409
+
410
+ // Trim line-breaks from the end
411
+ for (var i = lines.length-1; i >= 0; i--) {
412
+ if (lines[i].trim() === '') {
413
+ lines.splice(i, 1);
414
+ } else break;
415
+ }
416
+
417
+ return lines.join('\n');
418
+ }
419
+
420
+ // Main function for betterTrim()
421
+ return (function(snippetEl) {
422
+ var content = trimLineBreaks(snippetEl.innerHTML);
423
+ var lines = content.split('\n');
424
+ // Calculate the minimum amount to remove on each line start of the snippet (can be 0)
425
+ var pad = lines.reduce(function(acc, line) {
426
+ if (line.length > 0 && trimLeft(line).length > 0 && acc > line.length - trimLeft(line).length) {
427
+ return line.length - trimLeft(line).length;
428
+ }
429
+ return acc;
430
+ }, Number.POSITIVE_INFINITY);
431
+ // Slice each line with this amount
432
+ return lines.map(function(line, index) {
433
+ return line.slice(pad);
434
+ })
435
+ .join('\n');
436
+ })(snippetEl);
437
+ }
438
+
439
+ export default () => Plugin;
llm_conf_files/libs/revealjs/plugin/highlight/zenburn.css ADDED
@@ -0,0 +1,80 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+
3
+ Zenburn style from voldmar.ru (c) Vladimir Epifanov <voldmar@voldmar.ru>
4
+ based on dark.css by Ivan Sagalaev
5
+
6
+ */
7
+
8
+ .hljs {
9
+ display: block;
10
+ overflow-x: auto;
11
+ padding: 0.5em;
12
+ background: #3f3f3f;
13
+ color: #dcdcdc;
14
+ }
15
+
16
+ .hljs-keyword,
17
+ .hljs-selector-tag,
18
+ .hljs-tag {
19
+ color: #e3ceab;
20
+ }
21
+
22
+ .hljs-template-tag {
23
+ color: #dcdcdc;
24
+ }
25
+
26
+ .hljs-number {
27
+ color: #8cd0d3;
28
+ }
29
+
30
+ .hljs-variable,
31
+ .hljs-template-variable,
32
+ .hljs-attribute {
33
+ color: #efdcbc;
34
+ }
35
+
36
+ .hljs-literal {
37
+ color: #efefaf;
38
+ }
39
+
40
+ .hljs-subst {
41
+ color: #8f8f8f;
42
+ }
43
+
44
+ .hljs-title,
45
+ .hljs-name,
46
+ .hljs-selector-id,
47
+ .hljs-selector-class,
48
+ .hljs-section,
49
+ .hljs-type {
50
+ color: #efef8f;
51
+ }
52
+
53
+ .hljs-symbol,
54
+ .hljs-bullet,
55
+ .hljs-link {
56
+ color: #dca3a3;
57
+ }
58
+
59
+ .hljs-deletion,
60
+ .hljs-string,
61
+ .hljs-built_in,
62
+ .hljs-builtin-name {
63
+ color: #cc9393;
64
+ }
65
+
66
+ .hljs-addition,
67
+ .hljs-comment,
68
+ .hljs-quote,
69
+ .hljs-meta {
70
+ color: #7f9f7f;
71
+ }
72
+
73
+
74
+ .hljs-emphasis {
75
+ font-style: italic;
76
+ }
77
+
78
+ .hljs-strong {
79
+ font-weight: bold;
80
+ }
llm_conf_files/libs/revealjs/plugin/markdown/markdown.esm.js ADDED
@@ -0,0 +1 @@
 
 
1
+ function e(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function t(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function n(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function r(e,t,r){return t&&n(e.prototype,t),r&&n(e,r),e}function u(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){if(null==e)return{};var n,r,u=function(e,t){if(null==e)return{};var n,r,u={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(u[n]=e[n]);return u}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(u[n]=e[n])}return u}function o(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=e&&("undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"]);if(null==n)return;var r,u,i=[],o=!0,a=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(i.push(r.value),!t||i.length!==t);o=!0);}catch(e){a=!0,u=e}finally{try{o||null==n.return||n.return()}finally{if(a)throw u}}return i}(e,t)||a(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function a(e,t){if(e){if("string"==typeof e)return s(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?s(e,t):void 0}}function s(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function l(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=a(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,u=function(){};return{s:u,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:u}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,o=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return o=e.done,e},e:function(e){s=!0,i=e},f:function(){try{o||null==n.return||n.return()}finally{if(s)throw i}}}}var c="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},f=function(e){return e&&e.Math==Math&&e},p=f("object"==typeof globalThis&&globalThis)||f("object"==typeof window&&window)||f("object"==typeof self&&self)||f("object"==typeof c&&c)||function(){return this}()||Function("return this")(),h={},D=function(e){try{return!!e()}catch(e){return!0}},g=!D((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]})),d={},v={}.propertyIsEnumerable,y=Object.getOwnPropertyDescriptor,A=y&&!v.call({1:2},1);d.f=A?function(e){var t=y(this,e);return!!t&&t.enumerable}:v;var m=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}},k={}.toString,E=function(e){return k.call(e).slice(8,-1)},x=E,F="".split,b=D((function(){return!Object("z").propertyIsEnumerable(0)}))?function(e){return"String"==x(e)?F.call(e,""):Object(e)}:Object,C=function(e){if(null==e)throw TypeError("Can't call method on "+e);return e},w=b,B=C,S=function(e){return w(B(e))},_=function(e){return"object"==typeof e?null!==e:"function"==typeof e},T=_,O=function(e,t){if(!T(e))return e;var n,r;if(t&&"function"==typeof(n=e.toString)&&!T(r=n.call(e)))return r;if("function"==typeof(n=e.valueOf)&&!T(r=n.call(e)))return r;if(!t&&"function"==typeof(n=e.toString)&&!T(r=n.call(e)))return r;throw TypeError("Can't convert object to primitive value")},R=C,I=function(e){return Object(R(e))},j=I,z={}.hasOwnProperty,$=function(e,t){return z.call(j(e),t)},P=_,L=p.document,M=P(L)&&P(L.createElement),N=function(e){return M?L.createElement(e):{}},U=N,q=!g&&!D((function(){return 7!=Object.defineProperty(U("div"),"a",{get:function(){return 7}}).a})),Z=g,G=d,H=m,Q=S,V=O,Y=$,K=q,X=Object.getOwnPropertyDescriptor;h.f=Z?X:function(e,t){if(e=Q(e),t=V(t,!0),K)try{return X(e,t)}catch(e){}if(Y(e,t))return H(!G.f.call(e,t),e[t])};var W={},J=_,ee=function(e){if(!J(e))throw TypeError(String(e)+" is not an object");return e},te=g,ne=q,re=ee,ue=O,ie=Object.defineProperty;W.f=te?ie:function(e,t,n){if(re(e),t=ue(t,!0),re(n),ne)try{return ie(e,t,n)}catch(e){}if("get"in n||"set"in n)throw TypeError("Accessors not supported");return"value"in n&&(e[t]=n.value),e};var oe=W,ae=m,se=g?function(e,t,n){return oe.f(e,t,ae(1,n))}:function(e,t,n){return e[t]=n,e},le={exports:{}},ce=p,fe=se,pe=function(e,t){try{fe(ce,e,t)}catch(n){ce[e]=t}return t},he=pe,De=p["__core-js_shared__"]||he("__core-js_shared__",{}),ge=De,de=Function.toString;"function"!=typeof ge.inspectSource&&(ge.inspectSource=function(e){return de.call(e)});var ve=ge.inspectSource,ye=ve,Ae=p.WeakMap,me="function"==typeof Ae&&/native code/.test(ye(Ae)),ke={exports:{}},Ee=De;(ke.exports=function(e,t){return Ee[e]||(Ee[e]=void 0!==t?t:{})})("versions",[]).push({version:"3.12.1",mode:"global",copyright:"© 2021 Denis Pushkarev (zloirock.ru)"});var xe,Fe,be,Ce=0,we=Math.random(),Be=function(e){return"Symbol("+String(void 0===e?"":e)+")_"+(++Ce+we).toString(36)},Se=ke.exports,_e=Be,Te=Se("keys"),Oe=function(e){return Te[e]||(Te[e]=_e(e))},Re={},Ie=me,je=_,ze=se,$e=$,Pe=De,Le=Oe,Me=Re,Ne=p.WeakMap;if(Ie||Pe.state){var Ue=Pe.state||(Pe.state=new Ne),qe=Ue.get,Ze=Ue.has,Ge=Ue.set;xe=function(e,t){if(Ze.call(Ue,e))throw new TypeError("Object already initialized");return t.facade=e,Ge.call(Ue,e,t),t},Fe=function(e){return qe.call(Ue,e)||{}},be=function(e){return Ze.call(Ue,e)}}else{var He=Le("state");Me[He]=!0,xe=function(e,t){if($e(e,He))throw new TypeError("Object already initialized");return t.facade=e,ze(e,He,t),t},Fe=function(e){return $e(e,He)?e[He]:{}},be=function(e){return $e(e,He)}}var Qe={set:xe,get:Fe,has:be,enforce:function(e){return be(e)?Fe(e):xe(e,{})},getterFor:function(e){return function(t){var n;if(!je(t)||(n=Fe(t)).type!==e)throw TypeError("Incompatible receiver, "+e+" required");return n}}},Ve=p,Ye=se,Ke=$,Xe=pe,We=ve,Je=Qe.get,et=Qe.enforce,tt=String(String).split("String");(le.exports=function(e,t,n,r){var u,i=!!r&&!!r.unsafe,o=!!r&&!!r.enumerable,a=!!r&&!!r.noTargetGet;"function"==typeof n&&("string"!=typeof t||Ke(n,"name")||Ye(n,"name",t),(u=et(n)).source||(u.source=tt.join("string"==typeof t?t:""))),e!==Ve?(i?!a&&e[t]&&(o=!0):delete e[t],o?e[t]=n:Ye(e,t,n)):o?e[t]=n:Xe(t,n)})(Function.prototype,"toString",(function(){return"function"==typeof this&&Je(this).source||We(this)}));var nt=p,rt=p,ut=function(e){return"function"==typeof e?e:void 0},it=function(e,t){return arguments.length<2?ut(nt[e])||ut(rt[e]):nt[e]&&nt[e][t]||rt[e]&&rt[e][t]},ot={},at=Math.ceil,st=Math.floor,lt=function(e){return isNaN(e=+e)?0:(e>0?st:at)(e)},ct=lt,ft=Math.min,pt=function(e){return e>0?ft(ct(e),9007199254740991):0},ht=lt,Dt=Math.max,gt=Math.min,dt=function(e,t){var n=ht(e);return n<0?Dt(n+t,0):gt(n,t)},vt=S,yt=pt,At=dt,mt=function(e){return function(t,n,r){var u,i=vt(t),o=yt(i.length),a=At(r,o);if(e&&n!=n){for(;o>a;)if((u=i[a++])!=u)return!0}else for(;o>a;a++)if((e||a in i)&&i[a]===n)return e||a||0;return!e&&-1}},kt={includes:mt(!0),indexOf:mt(!1)},Et=$,xt=S,Ft=kt.indexOf,bt=Re,Ct=function(e,t){var n,r=xt(e),u=0,i=[];for(n in r)!Et(bt,n)&&Et(r,n)&&i.push(n);for(;t.length>u;)Et(r,n=t[u++])&&(~Ft(i,n)||i.push(n));return i},wt=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],Bt=Ct,St=wt.concat("length","prototype");ot.f=Object.getOwnPropertyNames||function(e){return Bt(e,St)};var _t={};_t.f=Object.getOwnPropertySymbols;var Tt=ot,Ot=_t,Rt=ee,It=it("Reflect","ownKeys")||function(e){var t=Tt.f(Rt(e)),n=Ot.f;return n?t.concat(n(e)):t},jt=$,zt=It,$t=h,Pt=W,Lt=D,Mt=/#|\.prototype\./,Nt=function(e,t){var n=qt[Ut(e)];return n==Gt||n!=Zt&&("function"==typeof t?Lt(t):!!t)},Ut=Nt.normalize=function(e){return String(e).replace(Mt,".").toLowerCase()},qt=Nt.data={},Zt=Nt.NATIVE="N",Gt=Nt.POLYFILL="P",Ht=Nt,Qt=p,Vt=h.f,Yt=se,Kt=le.exports,Xt=pe,Wt=function(e,t){for(var n=zt(t),r=Pt.f,u=$t.f,i=0;i<n.length;i++){var o=n[i];jt(e,o)||r(e,o,u(t,o))}},Jt=Ht,en=function(e,t){var n,r,u,i,o,a=e.target,s=e.global,l=e.stat;if(n=s?Qt:l?Qt[a]||Xt(a,{}):(Qt[a]||{}).prototype)for(r in t){if(i=t[r],u=e.noTargetGet?(o=Vt(n,r))&&o.value:n[r],!Jt(s?r:a+(l?".":"#")+r,e.forced)&&void 0!==u){if(typeof i==typeof u)continue;Wt(i,u)}(e.sham||u&&u.sham)&&Yt(i,"sham",!0),Kt(n,r,i,e)}},tn=ee,nn=function(){var e=tn(this),t="";return e.global&&(t+="g"),e.ignoreCase&&(t+="i"),e.multiline&&(t+="m"),e.dotAll&&(t+="s"),e.unicode&&(t+="u"),e.sticky&&(t+="y"),t},rn={},un=D;function on(e,t){return RegExp(e,t)}rn.UNSUPPORTED_Y=un((function(){var e=on("a","y");return e.lastIndex=2,null!=e.exec("abcd")})),rn.BROKEN_CARET=un((function(){var e=on("^r","gy");return e.lastIndex=2,null!=e.exec("str")}));var an=nn,sn=rn,ln=ke.exports,cn=RegExp.prototype.exec,fn=ln("native-string-replace",String.prototype.replace),pn=cn,hn=function(){var e=/a/,t=/b*/g;return cn.call(e,"a"),cn.call(t,"a"),0!==e.lastIndex||0!==t.lastIndex}(),Dn=sn.UNSUPPORTED_Y||sn.BROKEN_CARET,gn=void 0!==/()??/.exec("")[1];(hn||gn||Dn)&&(pn=function(e){var t,n,r,u,i=this,o=Dn&&i.sticky,a=an.call(i),s=i.source,l=0,c=e;return o&&(-1===(a=a.replace("y","")).indexOf("g")&&(a+="g"),c=String(e).slice(i.lastIndex),i.lastIndex>0&&(!i.multiline||i.multiline&&"\n"!==e[i.lastIndex-1])&&(s="(?: "+s+")",c=" "+c,l++),n=new RegExp("^(?:"+s+")",a)),gn&&(n=new RegExp("^"+s+"$(?!\\s)",a)),hn&&(t=i.lastIndex),r=cn.call(o?n:i,c),o?r?(r.input=r.input.slice(l),r[0]=r[0].slice(l),r.index=i.lastIndex,i.lastIndex+=r[0].length):i.lastIndex=0:hn&&r&&(i.lastIndex=i.global?r.index+r[0].length:t),gn&&r&&r.length>1&&fn.call(r[0],n,(function(){for(u=1;u<arguments.length-2;u++)void 0===arguments[u]&&(r[u]=void 0)})),r});var dn=pn;en({target:"RegExp",proto:!0,forced:/./.exec!==dn},{exec:dn});var vn,yn,An=it("navigator","userAgent")||"",mn=An,kn=p.process,En=kn&&kn.versions,xn=En&&En.v8;xn?yn=(vn=xn.split("."))[0]<4?1:vn[0]+vn[1]:mn&&(!(vn=mn.match(/Edge\/(\d+)/))||vn[1]>=74)&&(vn=mn.match(/Chrome\/(\d+)/))&&(yn=vn[1]);var Fn=yn&&+yn,bn=Fn,Cn=D,wn=!!Object.getOwnPropertySymbols&&!Cn((function(){return!String(Symbol())||!Symbol.sham&&bn&&bn<41})),Bn=wn&&!Symbol.sham&&"symbol"==typeof Symbol.iterator,Sn=p,_n=ke.exports,Tn=$,On=Be,Rn=wn,In=Bn,jn=_n("wks"),zn=Sn.Symbol,$n=In?zn:zn&&zn.withoutSetter||On,Pn=function(e){return Tn(jn,e)&&(Rn||"string"==typeof jn[e])||(Rn&&Tn(zn,e)?jn[e]=zn[e]:jn[e]=$n("Symbol."+e)),jn[e]},Ln=le.exports,Mn=dn,Nn=D,Un=Pn,qn=se,Zn=Un("species"),Gn=RegExp.prototype,Hn=!Nn((function(){var e=/./;return e.exec=function(){var e=[];return e.groups={a:"7"},e},"7"!=="".replace(e,"$<a>")})),Qn="$0"==="a".replace(/./,"$0"),Vn=Un("replace"),Yn=!!/./[Vn]&&""===/./[Vn]("a","$0"),Kn=!Nn((function(){var e=/(?:)/,t=e.exec;e.exec=function(){return t.apply(this,arguments)};var n="ab".split(e);return 2!==n.length||"a"!==n[0]||"b"!==n[1]})),Xn=function(e,t,n,r){var u=Un(e),i=!Nn((function(){var t={};return t[u]=function(){return 7},7!=""[e](t)})),o=i&&!Nn((function(){var t=!1,n=/a/;return"split"===e&&((n={}).constructor={},n.constructor[Zn]=function(){return n},n.flags="",n[u]=/./[u]),n.exec=function(){return t=!0,null},n[u](""),!t}));if(!i||!o||"replace"===e&&(!Hn||!Qn||Yn)||"split"===e&&!Kn){var a=/./[u],s=n(u,""[e],(function(e,t,n,r,u){var o=t.exec;return o===Mn||o===Gn.exec?i&&!u?{done:!0,value:a.call(t,n,r)}:{done:!0,value:e.call(n,t,r)}:{done:!1}}),{REPLACE_KEEPS_$0:Qn,REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE:Yn}),l=s[0],c=s[1];Ln(String.prototype,e,l),Ln(Gn,u,2==t?function(e,t){return c.call(e,this,t)}:function(e){return c.call(e,this)})}r&&qn(Gn[u],"sham",!0)},Wn=lt,Jn=C,er=function(e){return function(t,n){var r,u,i=String(Jn(t)),o=Wn(n),a=i.length;return o<0||o>=a?e?"":void 0:(r=i.charCodeAt(o))<55296||r>56319||o+1===a||(u=i.charCodeAt(o+1))<56320||u>57343?e?i.charAt(o):r:e?i.slice(o,o+2):u-56320+(r-55296<<10)+65536}},tr={codeAt:er(!1),charAt:er(!0)},nr=tr.charAt,rr=function(e,t,n){return t+(n?nr(e,t).length:1)},ur=I,ir=Math.floor,or="".replace,ar=/\$([$&'`]|\d{1,2}|<[^>]*>)/g,sr=/\$([$&'`]|\d{1,2})/g,lr=E,cr=dn,fr=function(e,t){var n=e.exec;if("function"==typeof n){var r=n.call(e,t);if("object"!=typeof r)throw TypeError("RegExp exec method returned something other than an Object or null");return r}if("RegExp"!==lr(e))throw TypeError("RegExp#exec called on incompatible receiver");return cr.call(e,t)},pr=Xn,hr=ee,Dr=pt,gr=lt,dr=C,vr=rr,yr=function(e,t,n,r,u,i){var o=n+e.length,a=r.length,s=sr;return void 0!==u&&(u=ur(u),s=ar),or.call(i,s,(function(i,s){var l;switch(s.charAt(0)){case"$":return"$";case"&":return e;case"`":return t.slice(0,n);case"'":return t.slice(o);case"<":l=u[s.slice(1,-1)];break;default:var c=+s;if(0===c)return i;if(c>a){var f=ir(c/10);return 0===f?i:f<=a?void 0===r[f-1]?s.charAt(1):r[f-1]+s.charAt(1):i}l=r[c-1]}return void 0===l?"":l}))},Ar=fr,mr=Math.max,kr=Math.min;pr("replace",2,(function(e,t,n,r){var u=r.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE,i=r.REPLACE_KEEPS_$0,o=u?"$":"$0";return[function(n,r){var u=dr(this),i=null==n?void 0:n[e];return void 0!==i?i.call(n,u,r):t.call(String(u),n,r)},function(e,r){if(!u&&i||"string"==typeof r&&-1===r.indexOf(o)){var a=n(t,e,this,r);if(a.done)return a.value}var s=hr(e),l=String(this),c="function"==typeof r;c||(r=String(r));var f=s.global;if(f){var p=s.unicode;s.lastIndex=0}for(var h=[];;){var D=Ar(s,l);if(null===D)break;if(h.push(D),!f)break;""===String(D[0])&&(s.lastIndex=vr(l,Dr(s.lastIndex),p))}for(var g,d="",v=0,y=0;y<h.length;y++){D=h[y];for(var A=String(D[0]),m=mr(kr(gr(D.index),l.length),0),k=[],E=1;E<D.length;E++)k.push(void 0===(g=D[E])?g:String(g));var x=D.groups;if(c){var F=[A].concat(k,m,l);void 0!==x&&F.push(x);var b=String(r.apply(void 0,F))}else b=yr(A,l,m,k,x,r);m>=v&&(d+=l.slice(v,m)+b,v=m+A.length)}return d+l.slice(v)}]}));var Er=_,xr=ee,Fr=function(e){if(!Er(e)&&null!==e)throw TypeError("Can't set "+String(e)+" as a prototype");return e},br=Object.setPrototypeOf||("__proto__"in{}?function(){var e,t=!1,n={};try{(e=Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set).call(n,[]),t=n instanceof Array}catch(e){}return function(n,r){return xr(n),Fr(r),t?e.call(n,r):n.__proto__=r,n}}():void 0),Cr=_,wr=br,Br=_,Sr=E,_r=Pn("match"),Tr=function(e){var t;return Br(e)&&(void 0!==(t=e[_r])?!!t:"RegExp"==Sr(e))},Or=it,Rr=W,Ir=g,jr=Pn("species"),zr=function(e){var t=Or(e),n=Rr.f;Ir&&t&&!t[jr]&&n(t,jr,{configurable:!0,get:function(){return this}})},$r=g,Pr=p,Lr=Ht,Mr=function(e,t,n){var r,u;return wr&&"function"==typeof(r=t.constructor)&&r!==n&&Cr(u=r.prototype)&&u!==n.prototype&&wr(e,u),e},Nr=W.f,Ur=ot.f,qr=Tr,Zr=nn,Gr=rn,Hr=le.exports,Qr=D,Vr=Qe.enforce,Yr=zr,Kr=Pn("match"),Xr=Pr.RegExp,Wr=Xr.prototype,Jr=/a/g,eu=/a/g,tu=new Xr(Jr)!==Jr,nu=Gr.UNSUPPORTED_Y;if($r&&Lr("RegExp",!tu||nu||Qr((function(){return eu[Kr]=!1,Xr(Jr)!=Jr||Xr(eu)==eu||"/a/i"!=Xr(Jr,"i")})))){for(var ru=function(e,t){var n,r=this instanceof ru,u=qr(e),i=void 0===t;if(!r&&u&&e.constructor===ru&&i)return e;tu?u&&!i&&(e=e.source):e instanceof ru&&(i&&(t=Zr.call(e)),e=e.source),nu&&(n=!!t&&t.indexOf("y")>-1)&&(t=t.replace(/y/g,""));var o=Mr(tu?new Xr(e,t):Xr(e,t),r?this:Wr,ru);nu&&n&&(Vr(o).sticky=!0);return o},uu=function(e){e in ru||Nr(ru,e,{configurable:!0,get:function(){return Xr[e]},set:function(t){Xr[e]=t}})},iu=Ur(Xr),ou=0;iu.length>ou;)uu(iu[ou++]);Wr.constructor=ru,ru.prototype=Wr,Hr(Pr,"RegExp",ru)}Yr("RegExp");var au=le.exports,su=ee,lu=D,cu=nn,fu=RegExp.prototype,pu=fu.toString,hu=lu((function(){return"/a/b"!=pu.call({source:"a",flags:"b"})})),Du="toString"!=pu.name;(hu||Du)&&au(RegExp.prototype,"toString",(function(){var e=su(this),t=String(e.source),n=e.flags;return"/"+t+"/"+String(void 0===n&&e instanceof RegExp&&!("flags"in fu)?cu.call(e):n)}),{unsafe:!0});var gu=ee,du=pt,vu=C,yu=rr,Au=fr;Xn("match",1,(function(e,t,n){return[function(t){var n=vu(this),r=null==t?void 0:t[e];return void 0!==r?r.call(t,n):new RegExp(t)[e](String(n))},function(e){var r=n(t,e,this);if(r.done)return r.value;var u=gu(e),i=String(this);if(!u.global)return Au(u,i);var o=u.unicode;u.lastIndex=0;for(var a,s=[],l=0;null!==(a=Au(u,i));){var c=String(a[0]);s[l]=c,""===c&&(u.lastIndex=yu(i,du(u.lastIndex),o)),l++}return 0===l?null:s}]}));var mu=g,ku=W.f,Eu=Function.prototype,xu=Eu.toString,Fu=/^\s*function ([^ (]*)/;mu&&!("name"in Eu)&&ku(Eu,"name",{configurable:!0,get:function(){try{return xu.call(this).match(Fu)[1]}catch(e){return""}}});var bu=D,Cu=function(e,t){var n=[][e];return!!n&&bu((function(){n.call(null,t||function(){throw 1},1)}))},wu=en,Bu=S,Su=[].join,_u=b!=Object,Tu=Cu("join",",");wu({target:"Array",proto:!0,forced:_u||!Tu},{join:function(e){return Su.call(Bu(this),void 0===e?",":e)}});var Ou=function(e){if("function"!=typeof e)throw TypeError(String(e)+" is not a function");return e},Ru=ee,Iu=Ou,ju=Pn("species"),zu=function(e,t){var n,r=Ru(e).constructor;return void 0===r||null==(n=Ru(r)[ju])?t:Iu(n)},$u=Xn,Pu=Tr,Lu=ee,Mu=C,Nu=zu,Uu=rr,qu=pt,Zu=fr,Gu=dn,Hu=rn.UNSUPPORTED_Y,Qu=[].push,Vu=Math.min;$u("split",2,(function(e,t,n){var r;return r="c"=="abbc".split(/(b)*/)[1]||4!="test".split(/(?:)/,-1).length||2!="ab".split(/(?:ab)*/).length||4!=".".split(/(.?)(.?)/).length||".".split(/()()/).length>1||"".split(/.?/).length?function(e,n){var r=String(Mu(this)),u=void 0===n?4294967295:n>>>0;if(0===u)return[];if(void 0===e)return[r];if(!Pu(e))return t.call(r,e,u);for(var i,o,a,s=[],l=(e.ignoreCase?"i":"")+(e.multiline?"m":"")+(e.unicode?"u":"")+(e.sticky?"y":""),c=0,f=new RegExp(e.source,l+"g");(i=Gu.call(f,r))&&!((o=f.lastIndex)>c&&(s.push(r.slice(c,i.index)),i.length>1&&i.index<r.length&&Qu.apply(s,i.slice(1)),a=i[0].length,c=o,s.length>=u));)f.lastIndex===i.index&&f.lastIndex++;return c===r.length?!a&&f.test("")||s.push(""):s.push(r.slice(c)),s.length>u?s.slice(0,u):s}:"0".split(void 0,0).length?function(e,n){return void 0===e&&0===n?[]:t.call(this,e,n)}:t,[function(t,n){var u=Mu(this),i=null==t?void 0:t[e];return void 0!==i?i.call(t,u,n):r.call(String(u),t,n)},function(e,u){var i=n(r,e,this,u,r!==t);if(i.done)return i.value;var o=Lu(e),a=String(this),s=Nu(o,RegExp),l=o.unicode,c=(o.ignoreCase?"i":"")+(o.multiline?"m":"")+(o.unicode?"u":"")+(Hu?"g":"y"),f=new s(Hu?"^(?:"+o.source+")":o,c),p=void 0===u?4294967295:u>>>0;if(0===p)return[];if(0===a.length)return null===Zu(f,a)?[a]:[];for(var h=0,D=0,g=[];D<a.length;){f.lastIndex=Hu?0:D;var d,v=Zu(f,Hu?a.slice(D):a);if(null===v||(d=Vu(qu(f.lastIndex+(Hu?D:0)),a.length))===h)D=Uu(a,D,l);else{if(g.push(a.slice(h,D)),g.length===p)return g;for(var y=1;y<=v.length-1;y++)if(g.push(v[y]),g.length===p)return g;D=h=d}}return g.push(a.slice(h)),g}]}),Hu);var Yu=C,Ku="[\t\n\v\f\r                 \u2028\u2029\ufeff]",Xu=RegExp("^"+Ku+Ku+"*"),Wu=RegExp(Ku+Ku+"*$"),Ju=function(e){return function(t){var n=String(Yu(t));return 1&e&&(n=n.replace(Xu,"")),2&e&&(n=n.replace(Wu,"")),n}},ei={start:Ju(1),end:Ju(2),trim:Ju(3)},ti=D,ni="\t\n\v\f\r                 \u2028\u2029\ufeff",ri=function(e){return ti((function(){return!!ni[e]()||"​…᠎"!="​…᠎"[e]()||ni[e].name!==e}))},ui=ei.trim;en({target:"String",proto:!0,forced:ri("trim")},{trim:function(){return ui(this)}});var ii={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0},oi=Ou,ai=function(e,t,n){if(oi(e),void 0===t)return e;switch(n){case 0:return function(){return e.call(t)};case 1:return function(n){return e.call(t,n)};case 2:return function(n,r){return e.call(t,n,r)};case 3:return function(n,r,u){return e.call(t,n,r,u)}}return function(){return e.apply(t,arguments)}},si=E,li=Array.isArray||function(e){return"Array"==si(e)},ci=_,fi=li,pi=Pn("species"),hi=function(e,t){var n;return fi(e)&&("function"!=typeof(n=e.constructor)||n!==Array&&!fi(n.prototype)?ci(n)&&null===(n=n[pi])&&(n=void 0):n=void 0),new(void 0===n?Array:n)(0===t?0:t)},Di=ai,gi=b,di=I,vi=pt,yi=hi,Ai=[].push,mi=function(e){var t=1==e,n=2==e,r=3==e,u=4==e,i=6==e,o=7==e,a=5==e||i;return function(s,l,c,f){for(var p,h,D=di(s),g=gi(D),d=Di(l,c,3),v=vi(g.length),y=0,A=f||yi,m=t?A(s,v):n||o?A(s,0):void 0;v>y;y++)if((a||y in g)&&(h=d(p=g[y],y,D),e))if(t)m[y]=h;else if(h)switch(e){case 3:return!0;case 5:return p;case 6:return y;case 2:Ai.call(m,p)}else switch(e){case 4:return!1;case 7:Ai.call(m,p)}return i?-1:r||u?u:m}},ki={forEach:mi(0),map:mi(1),filter:mi(2),some:mi(3),every:mi(4),find:mi(5),findIndex:mi(6),filterOut:mi(7)},Ei=ki.forEach,xi=p,Fi=ii,bi=Cu("forEach")?[].forEach:function(e){return Ei(this,e,arguments.length>1?arguments[1]:void 0)},Ci=se;for(var wi in Fi){var Bi=xi[wi],Si=Bi&&Bi.prototype;if(Si&&Si.forEach!==bi)try{Ci(Si,"forEach",bi)}catch(e){Si.forEach=bi}}var _i={};_i[Pn("toStringTag")]="z";var Ti="[object z]"===String(_i),Oi=Ti,Ri=E,Ii=Pn("toStringTag"),ji="Arguments"==Ri(function(){return arguments}()),zi=Oi?Ri:function(e){var t,n,r;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(n=function(e,t){try{return e[t]}catch(e){}}(t=Object(e),Ii))?n:ji?Ri(t):"Object"==(r=Ri(t))&&"function"==typeof t.callee?"Arguments":r},$i=zi,Pi=Ti?{}.toString:function(){return"[object "+$i(this)+"]"},Li=Ti,Mi=le.exports,Ni=Pi;Li||Mi(Object.prototype,"toString",Ni,{unsafe:!0});var Ui=p.Promise,qi=le.exports,Zi=W.f,Gi=$,Hi=Pn("toStringTag"),Qi=function(e,t,n){e&&!Gi(e=n?e:e.prototype,Hi)&&Zi(e,Hi,{configurable:!0,value:t})},Vi={},Yi=Vi,Ki=Pn("iterator"),Xi=Array.prototype,Wi=zi,Ji=Vi,eo=Pn("iterator"),to=ee,no=ee,ro=function(e){return void 0!==e&&(Yi.Array===e||Xi[Ki]===e)},uo=pt,io=ai,oo=function(e){if(null!=e)return e[eo]||e["@@iterator"]||Ji[Wi(e)]},ao=function(e){var t=e.return;if(void 0!==t)return to(t.call(e)).value},so=function(e,t){this.stopped=e,this.result=t},lo=Pn("iterator"),co=!1;try{var fo=0,po={next:function(){return{done:!!fo++}},return:function(){co=!0}};po[lo]=function(){return this},Array.from(po,(function(){throw 2}))}catch(e){}var ho,Do,go,vo=it("document","documentElement"),yo=/(?:iphone|ipod|ipad).*applewebkit/i.test(An),Ao="process"==E(p.process),mo=p,ko=D,Eo=ai,xo=vo,Fo=N,bo=yo,Co=Ao,wo=mo.location,Bo=mo.setImmediate,So=mo.clearImmediate,_o=mo.process,To=mo.MessageChannel,Oo=mo.Dispatch,Ro=0,Io={},jo=function(e){if(Io.hasOwnProperty(e)){var t=Io[e];delete Io[e],t()}},zo=function(e){return function(){jo(e)}},$o=function(e){jo(e.data)},Po=function(e){mo.postMessage(e+"",wo.protocol+"//"+wo.host)};Bo&&So||(Bo=function(e){for(var t=[],n=1;arguments.length>n;)t.push(arguments[n++]);return Io[++Ro]=function(){("function"==typeof e?e:Function(e)).apply(void 0,t)},ho(Ro),Ro},So=function(e){delete Io[e]},Co?ho=function(e){_o.nextTick(zo(e))}:Oo&&Oo.now?ho=function(e){Oo.now(zo(e))}:To&&!bo?(go=(Do=new To).port2,Do.port1.onmessage=$o,ho=Eo(go.postMessage,go,1)):mo.addEventListener&&"function"==typeof postMessage&&!mo.importScripts&&wo&&"file:"!==wo.protocol&&!ko(Po)?(ho=Po,mo.addEventListener("message",$o,!1)):ho="onreadystatechange"in Fo("script")?function(e){xo.appendChild(Fo("script")).onreadystatechange=function(){xo.removeChild(this),jo(e)}}:function(e){setTimeout(zo(e),0)});var Lo,Mo,No,Uo,qo,Zo,Go,Ho,Qo={set:Bo,clear:So},Vo=/web0s(?!.*chrome)/i.test(An),Yo=p,Ko=h.f,Xo=Qo.set,Wo=yo,Jo=Vo,ea=Ao,ta=Yo.MutationObserver||Yo.WebKitMutationObserver,na=Yo.document,ra=Yo.process,ua=Yo.Promise,ia=Ko(Yo,"queueMicrotask"),oa=ia&&ia.value;oa||(Lo=function(){var e,t;for(ea&&(e=ra.domain)&&e.exit();Mo;){t=Mo.fn,Mo=Mo.next;try{t()}catch(e){throw Mo?Uo():No=void 0,e}}No=void 0,e&&e.enter()},Wo||ea||Jo||!ta||!na?ua&&ua.resolve?((Go=ua.resolve(void 0)).constructor=ua,Ho=Go.then,Uo=function(){Ho.call(Go,Lo)}):Uo=ea?function(){ra.nextTick(Lo)}:function(){Xo.call(Yo,Lo)}:(qo=!0,Zo=na.createTextNode(""),new ta(Lo).observe(Zo,{characterData:!0}),Uo=function(){Zo.data=qo=!qo}));var aa=oa||function(e){var t={fn:e,next:void 0};No&&(No.next=t),Mo||(Mo=t,Uo()),No=t},sa={},la=Ou,ca=function(e){var t,n;this.promise=new e((function(e,r){if(void 0!==t||void 0!==n)throw TypeError("Bad Promise constructor");t=e,n=r})),this.resolve=la(t),this.reject=la(n)};sa.f=function(e){return new ca(e)};var fa,pa,ha,Da,ga=ee,da=_,va=sa,ya=p,Aa="object"==typeof window,ma=en,ka=p,Ea=it,xa=Ui,Fa=le.exports,ba=function(e,t,n){for(var r in t)qi(e,r,t[r],n);return e},Ca=br,wa=Qi,Ba=zr,Sa=_,_a=Ou,Ta=function(e,t,n){if(!(e instanceof t))throw TypeError("Incorrect "+(n?n+" ":"")+"invocation");return e},Oa=ve,Ra=function(e,t,n){var r,u,i,o,a,s,l,c=n&&n.that,f=!(!n||!n.AS_ENTRIES),p=!(!n||!n.IS_ITERATOR),h=!(!n||!n.INTERRUPTED),D=io(t,c,1+f+h),g=function(e){return r&&ao(r),new so(!0,e)},d=function(e){return f?(no(e),h?D(e[0],e[1],g):D(e[0],e[1])):h?D(e,g):D(e)};if(p)r=e;else{if("function"!=typeof(u=oo(e)))throw TypeError("Target is not iterable");if(ro(u)){for(i=0,o=uo(e.length);o>i;i++)if((a=d(e[i]))&&a instanceof so)return a;return new so(!1)}r=u.call(e)}for(s=r.next;!(l=s.call(r)).done;){try{a=d(l.value)}catch(e){throw ao(r),e}if("object"==typeof a&&a&&a instanceof so)return a}return new so(!1)},Ia=function(e,t){if(!t&&!co)return!1;var n=!1;try{var r={};r[lo]=function(){return{next:function(){return{done:n=!0}}}},e(r)}catch(e){}return n},ja=zu,za=Qo.set,$a=aa,Pa=function(e,t){if(ga(e),da(t)&&t.constructor===e)return t;var n=va.f(e);return(0,n.resolve)(t),n.promise},La=function(e,t){var n=ya.console;n&&n.error&&(1===arguments.length?n.error(e):n.error(e,t))},Ma=sa,Na=function(e){try{return{error:!1,value:e()}}catch(e){return{error:!0,value:e}}},Ua=Qe,qa=Ht,Za=Aa,Ga=Ao,Ha=Fn,Qa=Pn("species"),Va="Promise",Ya=Ua.get,Ka=Ua.set,Xa=Ua.getterFor(Va),Wa=xa&&xa.prototype,Ja=xa,es=Wa,ts=ka.TypeError,ns=ka.document,rs=ka.process,us=Ma.f,is=us,os=!!(ns&&ns.createEvent&&ka.dispatchEvent),as="function"==typeof PromiseRejectionEvent,ss=!1,ls=qa(Va,(function(){var e=Oa(Ja)!==String(Ja);if(!e&&66===Ha)return!0;if(Ha>=51&&/native code/.test(Ja))return!1;var t=new Ja((function(e){e(1)})),n=function(e){e((function(){}),(function(){}))};return(t.constructor={})[Qa]=n,!(ss=t.then((function(){}))instanceof n)||!e&&Za&&!as})),cs=ls||!Ia((function(e){Ja.all(e).catch((function(){}))})),fs=function(e){var t;return!(!Sa(e)||"function"!=typeof(t=e.then))&&t},ps=function(e,t){if(!e.notified){e.notified=!0;var n=e.reactions;$a((function(){for(var r=e.value,u=1==e.state,i=0;n.length>i;){var o,a,s,l=n[i++],c=u?l.ok:l.fail,f=l.resolve,p=l.reject,h=l.domain;try{c?(u||(2===e.rejection&&ds(e),e.rejection=1),!0===c?o=r:(h&&h.enter(),o=c(r),h&&(h.exit(),s=!0)),o===l.promise?p(ts("Promise-chain cycle")):(a=fs(o))?a.call(o,f,p):f(o)):p(r)}catch(e){h&&!s&&h.exit(),p(e)}}e.reactions=[],e.notified=!1,t&&!e.rejection&&Ds(e)}))}},hs=function(e,t,n){var r,u;os?((r=ns.createEvent("Event")).promise=t,r.reason=n,r.initEvent(e,!1,!0),ka.dispatchEvent(r)):r={promise:t,reason:n},!as&&(u=ka["on"+e])?u(r):"unhandledrejection"===e&&La("Unhandled promise rejection",n)},Ds=function(e){za.call(ka,(function(){var t,n=e.facade,r=e.value;if(gs(e)&&(t=Na((function(){Ga?rs.emit("unhandledRejection",r,n):hs("unhandledrejection",n,r)})),e.rejection=Ga||gs(e)?2:1,t.error))throw t.value}))},gs=function(e){return 1!==e.rejection&&!e.parent},ds=function(e){za.call(ka,(function(){var t=e.facade;Ga?rs.emit("rejectionHandled",t):hs("rejectionhandled",t,e.value)}))},vs=function(e,t,n){return function(r){e(t,r,n)}},ys=function(e,t,n){e.done||(e.done=!0,n&&(e=n),e.value=t,e.state=2,ps(e,!0))},As=function(e,t,n){if(!e.done){e.done=!0,n&&(e=n);try{if(e.facade===t)throw ts("Promise can't be resolved itself");var r=fs(t);r?$a((function(){var n={done:!1};try{r.call(t,vs(As,n,e),vs(ys,n,e))}catch(t){ys(n,t,e)}})):(e.value=t,e.state=1,ps(e,!1))}catch(t){ys({done:!1},t,e)}}};if(ls&&(es=(Ja=function(e){Ta(this,Ja,Va),_a(e),fa.call(this);var t=Ya(this);try{e(vs(As,t),vs(ys,t))}catch(e){ys(t,e)}}).prototype,(fa=function(e){Ka(this,{type:Va,done:!1,notified:!1,parent:!1,reactions:[],rejection:!1,state:0,value:void 0})}).prototype=ba(es,{then:function(e,t){var n=Xa(this),r=us(ja(this,Ja));return r.ok="function"!=typeof e||e,r.fail="function"==typeof t&&t,r.domain=Ga?rs.domain:void 0,n.parent=!0,n.reactions.push(r),0!=n.state&&ps(n,!1),r.promise},catch:function(e){return this.then(void 0,e)}}),pa=function(){var e=new fa,t=Ya(e);this.promise=e,this.resolve=vs(As,t),this.reject=vs(ys,t)},Ma.f=us=function(e){return e===Ja||e===ha?new pa(e):is(e)},"function"==typeof xa&&Wa!==Object.prototype)){Da=Wa.then,ss||(Fa(Wa,"then",(function(e,t){var n=this;return new Ja((function(e,t){Da.call(n,e,t)})).then(e,t)}),{unsafe:!0}),Fa(Wa,"catch",es.catch,{unsafe:!0}));try{delete Wa.constructor}catch(e){}Ca&&Ca(Wa,es)}ma({global:!0,wrap:!0,forced:ls},{Promise:Ja}),wa(Ja,Va,!1),Ba(Va),ha=Ea(Va),ma({target:Va,stat:!0,forced:ls},{reject:function(e){var t=us(this);return t.reject.call(void 0,e),t.promise}}),ma({target:Va,stat:!0,forced:ls},{resolve:function(e){return Pa(this,e)}}),ma({target:Va,stat:!0,forced:cs},{all:function(e){var t=this,n=us(t),r=n.resolve,u=n.reject,i=Na((function(){var n=_a(t.resolve),i=[],o=0,a=1;Ra(e,(function(e){var s=o++,l=!1;i.push(void 0),a++,n.call(t,e).then((function(e){l||(l=!0,i[s]=e,--a||r(i))}),u)})),--a||r(i)}));return i.error&&u(i.value),n.promise},race:function(e){var t=this,n=us(t),r=n.reject,u=Na((function(){var u=_a(t.resolve);Ra(e,(function(e){u.call(t,e).then(n.resolve,r)}))}));return u.error&&r(u.value),n.promise}});var ms=O,ks=W,Es=m,xs=function(e,t,n){var r=ms(t);r in e?ks.f(e,r,Es(0,n)):e[r]=n},Fs=D,bs=Fn,Cs=Pn("species"),ws=function(e){return bs>=51||!Fs((function(){var t=[];return(t.constructor={})[Cs]=function(){return{foo:1}},1!==t[e](Boolean).foo}))},Bs=en,Ss=_,_s=li,Ts=dt,Os=pt,Rs=S,Is=xs,js=Pn,zs=ws("slice"),$s=js("species"),Ps=[].slice,Ls=Math.max;Bs({target:"Array",proto:!0,forced:!zs},{slice:function(e,t){var n,r,u,i=Rs(this),o=Os(i.length),a=Ts(e,o),s=Ts(void 0===t?o:t,o);if(_s(i)&&("function"!=typeof(n=i.constructor)||n!==Array&&!_s(n.prototype)?Ss(n)&&null===(n=n[$s])&&(n=void 0):n=void 0,n===Array||void 0===n))return Ps.call(i,a,s);for(r=new(void 0===n?Array:n)(Ls(s-a,0)),u=0;a<s;a++,u++)a in i&&Is(r,u,i[a]);return r.length=u,r}});var Ms,Ns=Ct,Us=wt,qs=Object.keys||function(e){return Ns(e,Us)},Zs=W,Gs=ee,Hs=qs,Qs=g?Object.defineProperties:function(e,t){Gs(e);for(var n,r=Hs(t),u=r.length,i=0;u>i;)Zs.f(e,n=r[i++],t[n]);return e},Vs=ee,Ys=Qs,Ks=wt,Xs=Re,Ws=vo,Js=N,el=Oe("IE_PROTO"),tl=function(){},nl=function(e){return"<script>"+e+"<\/script>"},rl=function(){try{Ms=document.domain&&new ActiveXObject("htmlfile")}catch(e){}var e,t;rl=Ms?function(e){e.write(nl("")),e.close();var t=e.parentWindow.Object;return e=null,t}(Ms):((t=Js("iframe")).style.display="none",Ws.appendChild(t),t.src=String("javascript:"),(e=t.contentWindow.document).open(),e.write(nl("document.F=Object")),e.close(),e.F);for(var n=Ks.length;n--;)delete rl.prototype[Ks[n]];return rl()};Xs[el]=!0;var ul=Object.create||function(e,t){var n;return null!==e?(tl.prototype=Vs(e),n=new tl,tl.prototype=null,n[el]=e):n=rl(),void 0===t?n:Ys(n,t)},il=ul,ol=W,al=Pn("unscopables"),sl=Array.prototype;null==sl[al]&&ol.f(sl,al,{configurable:!0,value:il(null)});var ll,cl,fl,pl=function(e){sl[al][e]=!0},hl=!D((function(){function e(){}return e.prototype.constructor=null,Object.getPrototypeOf(new e)!==e.prototype})),Dl=$,gl=I,dl=hl,vl=Oe("IE_PROTO"),yl=Object.prototype,Al=dl?Object.getPrototypeOf:function(e){return e=gl(e),Dl(e,vl)?e[vl]:"function"==typeof e.constructor&&e instanceof e.constructor?e.constructor.prototype:e instanceof Object?yl:null},ml=D,kl=Al,El=se,xl=$,Fl=Pn("iterator"),bl=!1;[].keys&&("next"in(fl=[].keys())?(cl=kl(kl(fl)))!==Object.prototype&&(ll=cl):bl=!0),(null==ll||ml((function(){var e={};return ll[Fl].call(e)!==e})))&&(ll={}),xl(ll,Fl)||El(ll,Fl,(function(){return this}));var Cl={IteratorPrototype:ll,BUGGY_SAFARI_ITERATORS:bl},wl=Cl.IteratorPrototype,Bl=ul,Sl=m,_l=Qi,Tl=Vi,Ol=function(){return this},Rl=en,Il=function(e,t,n){var r=t+" Iterator";return e.prototype=Bl(wl,{next:Sl(1,n)}),_l(e,r,!1),Tl[r]=Ol,e},jl=Al,zl=br,$l=Qi,Pl=se,Ll=le.exports,Ml=Vi,Nl=Cl.IteratorPrototype,Ul=Cl.BUGGY_SAFARI_ITERATORS,ql=Pn("iterator"),Zl=function(){return this},Gl=function(e,t,n,r,u,i,o){Il(n,t,r);var a,s,l,c=function(e){if(e===u&&g)return g;if(!Ul&&e in h)return h[e];switch(e){case"keys":case"values":case"entries":return function(){return new n(this,e)}}return function(){return new n(this)}},f=t+" Iterator",p=!1,h=e.prototype,D=h[ql]||h["@@iterator"]||u&&h[u],g=!Ul&&D||c(u),d="Array"==t&&h.entries||D;if(d&&(a=jl(d.call(new e)),Nl!==Object.prototype&&a.next&&(jl(a)!==Nl&&(zl?zl(a,Nl):"function"!=typeof a[ql]&&Pl(a,ql,Zl)),$l(a,f,!0))),"values"==u&&D&&"values"!==D.name&&(p=!0,g=function(){return D.call(this)}),h[ql]!==g&&Pl(h,ql,g),Ml[t]=g,u)if(s={values:c("values"),keys:i?g:c("keys"),entries:c("entries")},o)for(l in s)(Ul||p||!(l in h))&&Ll(h,l,s[l]);else Rl({target:t,proto:!0,forced:Ul||p},s);return s},Hl=S,Ql=pl,Vl=Vi,Yl=Qe,Kl=Gl,Xl=Yl.set,Wl=Yl.getterFor("Array Iterator"),Jl=Kl(Array,"Array",(function(e,t){Xl(this,{type:"Array Iterator",target:Hl(e),index:0,kind:t})}),(function(){var e=Wl(this),t=e.target,n=e.kind,r=e.index++;return!t||r>=t.length?(e.target=void 0,{value:void 0,done:!0}):"keys"==n?{value:r,done:!1}:"values"==n?{value:t[r],done:!1}:{value:[r,t[r]],done:!1}}),"values");Vl.Arguments=Vl.Array,Ql("keys"),Ql("values"),Ql("entries");var ec=tr.charAt,tc=Qe,nc=Gl,rc=tc.set,uc=tc.getterFor("String Iterator");nc(String,"String",(function(e){rc(this,{type:"String Iterator",string:String(e),index:0})}),(function(){var e,t=uc(this),n=t.string,r=t.index;return r>=n.length?{value:void 0,done:!0}:(e=ec(n,r),t.index+=e.length,{value:e,done:!1})}));var ic=p,oc=ii,ac=Jl,sc=se,lc=Pn,cc=lc("iterator"),fc=lc("toStringTag"),pc=ac.values;for(var hc in oc){var Dc=ic[hc],gc=Dc&&Dc.prototype;if(gc){if(gc[cc]!==pc)try{sc(gc,cc,pc)}catch(e){gc[cc]=pc}if(gc[fc]||sc(gc,fc,hc),oc[hc])for(var dc in ac)if(gc[dc]!==ac[dc])try{sc(gc,dc,ac[dc])}catch(e){gc[dc]=ac[dc]}}}var vc=en,yc=D,Ac=li,mc=_,kc=I,Ec=pt,xc=xs,Fc=hi,bc=ws,Cc=Fn,wc=Pn("isConcatSpreadable"),Bc=Cc>=51||!yc((function(){var e=[];return e[wc]=!1,e.concat()[0]!==e})),Sc=bc("concat"),_c=function(e){if(!mc(e))return!1;var t=e[wc];return void 0!==t?!!t:Ac(e)};vc({target:"Array",proto:!0,forced:!Bc||!Sc},{concat:function(e){var t,n,r,u,i,o=kc(this),a=Fc(o,0),s=0;for(t=-1,r=arguments.length;t<r;t++)if(_c(i=-1===t?o:arguments[t])){if(s+(u=Ec(i.length))>9007199254740991)throw TypeError("Maximum allowed index exceeded");for(n=0;n<u;n++,s++)n in i&&xc(a,s,i[n])}else{if(s>=9007199254740991)throw TypeError("Maximum allowed index exceeded");xc(a,s++,i)}return a.length=s,a}});var Tc=en,Oc=dt,Rc=lt,Ic=pt,jc=I,zc=hi,$c=xs,Pc=ws("splice"),Lc=Math.max,Mc=Math.min;Tc({target:"Array",proto:!0,forced:!Pc},{splice:function(e,t){var n,r,u,i,o,a,s=jc(this),l=Ic(s.length),c=Oc(e,l),f=arguments.length;if(0===f?n=r=0:1===f?(n=0,r=l-c):(n=f-2,r=Mc(Lc(Rc(t),0),l-c)),l+n-r>9007199254740991)throw TypeError("Maximum allowed length exceeded");for(u=zc(s,r),i=0;i<r;i++)(o=c+i)in s&&$c(u,i,s[o]);if(u.length=r,n<r){for(i=c;i<l-r;i++)a=i+n,(o=i+r)in s?s[a]=s[o]:delete s[a];for(i=l;i>l-r+n;i--)delete s[i-1]}else if(n>r)for(i=l-r;i>c;i--)a=i+n-1,(o=i+r-1)in s?s[a]=s[o]:delete s[a];for(i=0;i<n;i++)s[i+c]=arguments[i+2];return s.length=l-r+n,u}});var Nc=ki.map;en({target:"Array",proto:!0,forced:!ws("map")},{map:function(e){return Nc(this,e,arguments.length>1?arguments[1]:void 0)}});var Uc=en,qc=ei.start,Zc=ri("trimStart"),Gc=Zc?function(){return qc(this)}:"".trimStart;Uc({target:"String",proto:!0,forced:Zc},{trimStart:Gc,trimLeft:Gc});var Hc=Object.is||function(e,t){return e===t?0!==e||1/e==1/t:e!=e&&t!=t},Qc=ee,Vc=C,Yc=Hc,Kc=fr;Xn("search",1,(function(e,t,n){return[function(t){var n=Vc(this),r=null==t?void 0:t[e];return void 0!==r?r.call(t,n):new RegExp(t)[e](String(n))},function(e){var r=n(t,e,this);if(r.done)return r.value;var u=Qc(e),i=String(this),o=u.lastIndex;Yc(o,0)||(u.lastIndex=0);var a=Kc(u,i);return Yc(u.lastIndex,o)||(u.lastIndex=o),null===a?-1:a.index}]}));var Xc=en,Wc=ei.end,Jc=ri("trimEnd"),ef=Jc?function(){return Wc(this)}:"".trimEnd;Xc({target:"String",proto:!0,forced:Jc},{trimEnd:ef,trimRight:ef});var tf=ki.filter;en({target:"Array",proto:!0,forced:!ws("filter")},{filter:function(e){return tf(this,e,arguments.length>1?arguments[1]:void 0)}});var nf=C,rf=/"/g,uf=D,of=function(e,t,n,r){var u=String(nf(e)),i="<"+t;return""!==n&&(i+=" "+n+'="'+String(r).replace(rf,"&quot;")+'"'),i+">"+u+"</"+t+">"};en({target:"String",proto:!0,forced:function(e){return uf((function(){var t=""[e]('"');return t!==t.toLowerCase()||t.split('"').length>3}))}("link")},{link:function(e){return of(this,"a","href",e)}});var af=I,sf=qs;en({target:"Object",stat:!0,forced:D((function(){sf(1)}))},{keys:function(e){return sf(af(e))}});var lf=kt.includes,cf=pl;en({target:"Array",proto:!0},{includes:function(e){return lf(this,e,arguments.length>1?arguments[1]:void 0)}}),cf("includes");var ff=Tr,pf=Pn("match"),hf=function(e){if(ff(e))throw TypeError("The method doesn't accept regular expressions");return e},Df=C;function gf(){return{baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1}}en({target:"String",proto:!0,forced:!function(e){var t=/./;try{"/./"[e](t)}catch(n){try{return t[pf]=!1,"/./"[e](t)}catch(e){}}return!1}("includes")},{includes:function(e){return!!~String(Df(this)).indexOf(hf(e),arguments.length>1?arguments[1]:void 0)}});var df={baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1};var vf=/[&<>"']/,yf=/[&<>"']/g,Af=/[<>"']|&(?!#?\w+;)/,mf=/[<>"']|&(?!#?\w+;)/g,kf={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},Ef=function(e){return kf[e]};function xf(e,t){if(t){if(vf.test(e))return e.replace(yf,Ef)}else if(Af.test(e))return e.replace(mf,Ef);return e}var Ff=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi;function bf(e){return e.replace(Ff,(function(e,t){return"colon"===(t=t.toLowerCase())?":":"#"===t.charAt(0)?"x"===t.charAt(1)?String.fromCharCode(parseInt(t.substring(2),16)):String.fromCharCode(+t.substring(1)):""}))}var Cf=/(^|[^\[])\^/g;function wf(e,t){e=e.source||e,t=t||"";var n={replace:function(t,r){return r=(r=r.source||r).replace(Cf,"$1"),e=e.replace(t,r),n},getRegex:function(){return new RegExp(e,t)}};return n}var Bf=/[^\w:]/g,Sf=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;function _f(e,t,n){if(e){var r;try{r=decodeURIComponent(bf(n)).replace(Bf,"").toLowerCase()}catch(e){return null}if(0===r.indexOf("javascript:")||0===r.indexOf("vbscript:")||0===r.indexOf("data:"))return null}t&&!Sf.test(n)&&(n=function(e,t){Tf[" "+e]||(Of.test(e)?Tf[" "+e]=e+"/":Tf[" "+e]=Pf(e,"/",!0));var n=-1===(e=Tf[" "+e]).indexOf(":");return"//"===t.substring(0,2)?n?t:e.replace(Rf,"$1")+t:"/"===t.charAt(0)?n?t:e.replace(If,"$1")+t:e+t}(t,n));try{n=encodeURI(n).replace(/%25/g,"%")}catch(e){return null}return n}var Tf={},Of=/^[^:]+:\/*[^/]*$/,Rf=/^([^:]+:)[\s\S]*$/,If=/^([^:]+:\/*[^/]*)[\s\S]*$/;var jf={exec:function(){}};function zf(e){for(var t,n,r=1;r<arguments.length;r++)for(n in t=arguments[r])Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e}function $f(e,t){var n=e.replace(/\|/g,(function(e,t,n){for(var r=!1,u=t;--u>=0&&"\\"===n[u];)r=!r;return r?"|":" |"})).split(/ \|/),r=0;if(n[0].trim()||n.shift(),n.length>0&&!n[n.length-1].trim()&&n.pop(),n.length>t)n.splice(t);else for(;n.length<t;)n.push("");for(;r<n.length;r++)n[r]=n[r].trim().replace(/\\\|/g,"|");return n}function Pf(e,t,n){var r=e.length;if(0===r)return"";for(var u=0;u<r;){var i=e.charAt(r-u-1);if(i!==t||n){if(i===t||!n)break;u++}else u++}return e.substr(0,r-u)}function Lf(e){e&&e.sanitize&&!e.silent&&console.warn("marked(): sanitize and sanitizer parameters are deprecated since version 0.7.0, should not be used and will be removed in the future. Read more here: https://marked.js.org/#/USING_ADVANCED.md#options")}function Mf(e,t){if(t<1)return"";for(var n="";t>1;)1&t&&(n+=e),t>>=1,e+=e;return n+e}function Nf(e,t,n,r){var u=t.href,i=t.title?xf(t.title):null,o=e[1].replace(/\\([\[\]])/g,"$1");if("!"!==e[0].charAt(0)){r.state.inLink=!0;var a={type:"link",raw:n,href:u,title:i,text:o,tokens:r.inlineTokens(o,[])};return r.state.inLink=!1,a}return{type:"image",raw:n,href:u,title:i,text:xf(o)}}var Uf=function(){function e(n){t(this,e),this.options=n||df}return r(e,[{key:"space",value:function(e){var t=this.rules.block.newline.exec(e);if(t&&t[0].length>0)return{type:"space",raw:t[0]}}},{key:"code",value:function(e){var t=this.rules.block.code.exec(e);if(t){var n=t[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:t[0],codeBlockStyle:"indented",text:this.options.pedantic?n:Pf(n,"\n")}}}},{key:"fences",value:function(e){var t=this.rules.block.fences.exec(e);if(t){var n=t[0],r=function(e,t){var n=e.match(/^(\s+)(?:```)/);if(null===n)return t;var r=n[1];return t.split("\n").map((function(e){var t=e.match(/^\s+/);return null===t?e:o(t,1)[0].length>=r.length?e.slice(r.length):e})).join("\n")}(n,t[3]||"");return{type:"code",raw:n,lang:t[2]?t[2].trim():t[2],text:r}}}},{key:"heading",value:function(e){var t=this.rules.block.heading.exec(e);if(t){var n=t[2].trim();if(/#$/.test(n)){var r=Pf(n,"#");this.options.pedantic?n=r.trim():r&&!/ $/.test(r)||(n=r.trim())}var u={type:"heading",raw:t[0],depth:t[1].length,text:n,tokens:[]};return this.lexer.inline(u.text,u.tokens),u}}},{key:"hr",value:function(e){var t=this.rules.block.hr.exec(e);if(t)return{type:"hr",raw:t[0]}}},{key:"blockquote",value:function(e){var t=this.rules.block.blockquote.exec(e);if(t){var n=t[0].replace(/^ *> ?/gm,"");return{type:"blockquote",raw:t[0],tokens:this.lexer.blockTokens(n,[]),text:n}}}},{key:"list",value:function(e){var t=this.rules.block.list.exec(e);if(t){var n,r,u,i,o,a,s,c,f,p,h,D,g=t[1].trim(),d=g.length>1,v={type:"list",raw:"",ordered:d,start:d?+g.slice(0,-1):"",loose:!1,items:[]};g=d?"\\d{1,9}\\".concat(g.slice(-1)):"\\".concat(g),this.options.pedantic&&(g=d?g:"[*+-]");for(var y=new RegExp("^( {0,3}".concat(g,")((?: [^\\n]*)?(?:\\n|$))"));e&&(D=!1,t=y.exec(e))&&!this.rules.block.hr.test(e);){if(n=t[0],e=e.substring(n.length),c=t[2].split("\n",1)[0],f=e.split("\n",1)[0],this.options.pedantic?(i=2,h=c.trimLeft()):(i=(i=t[2].search(/[^ ]/))>4?1:i,h=c.slice(i),i+=t[1].length),a=!1,!c&&/^ *$/.test(f)&&(n+=f+"\n",e=e.substring(f.length+1),D=!0),!D)for(var A=new RegExp("^ {0,".concat(Math.min(3,i-1),"}(?:[*+-]|\\d{1,9}[.)])"));e&&(c=p=e.split("\n",1)[0],this.options.pedantic&&(c=c.replace(/^ {1,4}(?=( {4})*[^ ])/g," ")),!A.test(c));){if(c.search(/[^ ]/)>=i||!c.trim())h+="\n"+c.slice(i);else{if(a)break;h+="\n"+c}a||c.trim()||(a=!0),n+=p+"\n",e=e.substring(p.length+1)}v.loose||(s?v.loose=!0:/\n *\n *$/.test(n)&&(s=!0)),this.options.gfm&&(r=/^\[[ xX]\] /.exec(h))&&(u="[ ] "!==r[0],h=h.replace(/^\[[ xX]\] +/,"")),v.items.push({type:"list_item",raw:n,task:!!r,checked:u,loose:!1,text:h}),v.raw+=n}v.items[v.items.length-1].raw=n.trimRight(),v.items[v.items.length-1].text=h.trimRight(),v.raw=v.raw.trimRight();var m=v.items.length;for(o=0;o<m;o++){this.lexer.state.top=!1,v.items[o].tokens=this.lexer.blockTokens(v.items[o].text,[]);var k=v.items[o].tokens.filter((function(e){return"space"===e.type})),E=k.every((function(e){var t,n=0,r=l(e.raw.split(""));try{for(r.s();!(t=r.n()).done;){if("\n"===t.value&&(n+=1),n>1)return!0}}catch(e){r.e(e)}finally{r.f()}return!1}));!v.loose&&k.length&&E&&(v.loose=!0,v.items[o].loose=!0)}return v}}},{key:"html",value:function(e){var t=this.rules.block.html.exec(e);if(t){var n={type:"html",raw:t[0],pre:!this.options.sanitizer&&("pre"===t[1]||"script"===t[1]||"style"===t[1]),text:t[0]};return this.options.sanitize&&(n.type="paragraph",n.text=this.options.sanitizer?this.options.sanitizer(t[0]):xf(t[0]),n.tokens=[],this.lexer.inline(n.text,n.tokens)),n}}},{key:"def",value:function(e){var t=this.rules.block.def.exec(e);if(t)return t[3]&&(t[3]=t[3].substring(1,t[3].length-1)),{type:"def",tag:t[1].toLowerCase().replace(/\s+/g," "),raw:t[0],href:t[2],title:t[3]}}},{key:"table",value:function(e){var t=this.rules.block.table.exec(e);if(t){var n={type:"table",header:$f(t[1]).map((function(e){return{text:e}})),align:t[2].replace(/^ *|\| *$/g,"").split(/ *\| */),rows:t[3]&&t[3].trim()?t[3].replace(/\n[ \t]*$/,"").split("\n"):[]};if(n.header.length===n.align.length){n.raw=t[0];var r,u,i,o,a=n.align.length;for(r=0;r<a;r++)/^ *-+: *$/.test(n.align[r])?n.align[r]="right":/^ *:-+: *$/.test(n.align[r])?n.align[r]="center":/^ *:-+ *$/.test(n.align[r])?n.align[r]="left":n.align[r]=null;for(a=n.rows.length,r=0;r<a;r++)n.rows[r]=$f(n.rows[r],n.header.length).map((function(e){return{text:e}}));for(a=n.header.length,u=0;u<a;u++)n.header[u].tokens=[],this.lexer.inlineTokens(n.header[u].text,n.header[u].tokens);for(a=n.rows.length,u=0;u<a;u++)for(o=n.rows[u],i=0;i<o.length;i++)o[i].tokens=[],this.lexer.inlineTokens(o[i].text,o[i].tokens);return n}}}},{key:"lheading",value:function(e){var t=this.rules.block.lheading.exec(e);if(t){var n={type:"heading",raw:t[0],depth:"="===t[2].charAt(0)?1:2,text:t[1],tokens:[]};return this.lexer.inline(n.text,n.tokens),n}}},{key:"paragraph",value:function(e){var t=this.rules.block.paragraph.exec(e);if(t){var n={type:"paragraph",raw:t[0],text:"\n"===t[1].charAt(t[1].length-1)?t[1].slice(0,-1):t[1],tokens:[]};return this.lexer.inline(n.text,n.tokens),n}}},{key:"text",value:function(e){var t=this.rules.block.text.exec(e);if(t){var n={type:"text",raw:t[0],text:t[0],tokens:[]};return this.lexer.inline(n.text,n.tokens),n}}},{key:"escape",value:function(e){var t=this.rules.inline.escape.exec(e);if(t)return{type:"escape",raw:t[0],text:xf(t[1])}}},{key:"tag",value:function(e){var t=this.rules.inline.tag.exec(e);if(t)return!this.lexer.state.inLink&&/^<a /i.test(t[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&/^<\/a>/i.test(t[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&/^<(pre|code|kbd|script)(\s|>)/i.test(t[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(t[0])&&(this.lexer.state.inRawBlock=!1),{type:this.options.sanitize?"text":"html",raw:t[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,text:this.options.sanitize?this.options.sanitizer?this.options.sanitizer(t[0]):xf(t[0]):t[0]}}},{key:"link",value:function(e){var t=this.rules.inline.link.exec(e);if(t){var n=t[2].trim();if(!this.options.pedantic&&/^</.test(n)){if(!/>$/.test(n))return;var r=Pf(n.slice(0,-1),"\\");if((n.length-r.length)%2==0)return}else{var u=function(e,t){if(-1===e.indexOf(t[1]))return-1;for(var n=e.length,r=0,u=0;u<n;u++)if("\\"===e[u])u++;else if(e[u]===t[0])r++;else if(e[u]===t[1]&&--r<0)return u;return-1}(t[2],"()");if(u>-1){var i=(0===t[0].indexOf("!")?5:4)+t[1].length+u;t[2]=t[2].substring(0,u),t[0]=t[0].substring(0,i).trim(),t[3]=""}}var o=t[2],a="";if(this.options.pedantic){var s=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(o);s&&(o=s[1],a=s[3])}else a=t[3]?t[3].slice(1,-1):"";return o=o.trim(),/^</.test(o)&&(o=this.options.pedantic&&!/>$/.test(n)?o.slice(1):o.slice(1,-1)),Nf(t,{href:o?o.replace(this.rules.inline._escapes,"$1"):o,title:a?a.replace(this.rules.inline._escapes,"$1"):a},t[0],this.lexer)}}},{key:"reflink",value:function(e,t){var n;if((n=this.rules.inline.reflink.exec(e))||(n=this.rules.inline.nolink.exec(e))){var r=(n[2]||n[1]).replace(/\s+/g," ");if(!(r=t[r.toLowerCase()])||!r.href){var u=n[0].charAt(0);return{type:"text",raw:u,text:u}}return Nf(n,r,n[0],this.lexer)}}},{key:"emStrong",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",r=this.rules.inline.emStrong.lDelim.exec(e);if(r&&(!r[3]||!n.match(/(?:[0-9A-Za-z\xAA\xB2\xB3\xB5\xB9\xBA\xBC-\xBE\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u0660-\u0669\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07C0-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08C7\u0904-\u0939\u093D\u0950\u0958-\u0961\u0966-\u096F\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09E6-\u09F1\u09F4-\u09F9\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A66-\u0A6F\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AE6-\u0AEF\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B66-\u0B6F\u0B71-\u0B77\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0BE6-\u0BF2\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C66-\u0C6F\u0C78-\u0C7E\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CE6-\u0CEF\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D58-\u0D61\u0D66-\u0D78\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DE6-\u0DEF\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F20-\u0F33\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F-\u1049\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u1090-\u1099\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1369-\u137C\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u17E0-\u17E9\u17F0-\u17F9\u1810-\u1819\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A16\u1A20-\u1A54\u1A80-\u1A89\u1A90-\u1A99\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B50-\u1B59\u1B83-\u1BA0\u1BAE-\u1BE5\u1C00-\u1C23\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2070\u2071\u2074-\u2079\u207F-\u2089\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2150-\u2189\u2460-\u249B\u24EA-\u24FF\u2776-\u2793\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2CFD\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u3192-\u3195\u31A0-\u31BF\u31F0-\u31FF\u3220-\u3229\u3248-\u324F\u3251-\u325F\u3280-\u3289\u32B1-\u32BF\u3400-\u4DBF\u4E00-\u9FFC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7BF\uA7C2-\uA7CA\uA7F5-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA830-\uA835\uA840-\uA873\uA882-\uA8B3\uA8D0-\uA8D9\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA900-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF-\uA9D9\uA9E0-\uA9E4\uA9E6-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA50-\uAA59\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD07-\uDD33\uDD40-\uDD78\uDD8A\uDD8B\uDE80-\uDE9C\uDEA0-\uDED0\uDEE1-\uDEFB\uDF00-\uDF23\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC58-\uDC76\uDC79-\uDC9E\uDCA7-\uDCAF\uDCE0-\uDCF2\uDCF4\uDCF5\uDCFB-\uDD1B\uDD20-\uDD39\uDD80-\uDDB7\uDDBC-\uDDCF\uDDD2-\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE40-\uDE48\uDE60-\uDE7E\uDE80-\uDE9F\uDEC0-\uDEC7\uDEC9-\uDEE4\uDEEB-\uDEEF\uDF00-\uDF35\uDF40-\uDF55\uDF58-\uDF72\uDF78-\uDF91\uDFA9-\uDFAF]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDCFA-\uDD23\uDD30-\uDD39\uDE60-\uDE7E\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF27\uDF30-\uDF45\uDF51-\uDF54\uDFB0-\uDFCB\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC52-\uDC6F\uDC83-\uDCAF\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD03-\uDD26\uDD36-\uDD3F\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDD0-\uDDDA\uDDDC\uDDE1-\uDDF4\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDEF0-\uDEF9\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC50-\uDC59\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE50-\uDE59\uDE80-\uDEAA\uDEB8\uDEC0-\uDEC9\uDF00-\uDF1A\uDF30-\uDF3B]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCF2\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDD50-\uDD59\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC50-\uDC6C\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD50-\uDD59\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDDA0-\uDDA9\uDEE0-\uDEF2\uDFB0\uDFC0-\uDFD4]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF50-\uDF59\uDF5B-\uDF61\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE96\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82C[\uDC00-\uDD1E\uDD50-\uDD52\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD834[\uDEE0-\uDEF3\uDF60-\uDF78]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD838[\uDD00-\uDD2C\uDD37-\uDD3D\uDD40-\uDD49\uDD4E\uDEC0-\uDEEB\uDEF0-\uDEF9]|\uD83A[\uDC00-\uDCC4\uDCC7-\uDCCF\uDD00-\uDD43\uDD4B\uDD50-\uDD59]|\uD83B[\uDC71-\uDCAB\uDCAD-\uDCAF\uDCB1-\uDCB4\uDD01-\uDD2D\uDD2F-\uDD3D\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD83C[\uDD00-\uDD0C]|\uD83E[\uDFF0-\uDFF9]|\uD869[\uDC00-\uDEDD\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A])/))){var u=r[1]||r[2]||"";if(!u||u&&(""===n||this.rules.inline.punctuation.exec(n))){var i,o,a=r[0].length-1,s=a,l=0,c="*"===r[0][0]?this.rules.inline.emStrong.rDelimAst:this.rules.inline.emStrong.rDelimUnd;for(c.lastIndex=0,t=t.slice(-1*e.length+a);null!=(r=c.exec(t));)if(i=r[1]||r[2]||r[3]||r[4]||r[5]||r[6])if(o=i.length,r[3]||r[4])s+=o;else if(!((r[5]||r[6])&&a%3)||(a+o)%3){if(!((s-=o)>0)){if(o=Math.min(o,o+s+l),Math.min(a,o)%2){var f=e.slice(1,a+r.index+o);return{type:"em",raw:e.slice(0,a+r.index+o+1),text:f,tokens:this.lexer.inlineTokens(f,[])}}var p=e.slice(2,a+r.index+o-1);return{type:"strong",raw:e.slice(0,a+r.index+o+1),text:p,tokens:this.lexer.inlineTokens(p,[])}}}else l+=o}}}},{key:"codespan",value:function(e){var t=this.rules.inline.code.exec(e);if(t){var n=t[2].replace(/\n/g," "),r=/[^ ]/.test(n),u=/^ /.test(n)&&/ $/.test(n);return r&&u&&(n=n.substring(1,n.length-1)),n=xf(n,!0),{type:"codespan",raw:t[0],text:n}}}},{key:"br",value:function(e){var t=this.rules.inline.br.exec(e);if(t)return{type:"br",raw:t[0]}}},{key:"del",value:function(e){var t=this.rules.inline.del.exec(e);if(t)return{type:"del",raw:t[0],text:t[2],tokens:this.lexer.inlineTokens(t[2],[])}}},{key:"autolink",value:function(e,t){var n,r,u=this.rules.inline.autolink.exec(e);if(u)return r="@"===u[2]?"mailto:"+(n=xf(this.options.mangle?t(u[1]):u[1])):n=xf(u[1]),{type:"link",raw:u[0],text:n,href:r,tokens:[{type:"text",raw:n,text:n}]}}},{key:"url",value:function(e,t){var n;if(n=this.rules.inline.url.exec(e)){var r,u;if("@"===n[2])u="mailto:"+(r=xf(this.options.mangle?t(n[0]):n[0]));else{var i;do{i=n[0],n[0]=this.rules.inline._backpedal.exec(n[0])[0]}while(i!==n[0]);r=xf(n[0]),u="www."===n[1]?"http://"+r:r}return{type:"link",raw:n[0],text:r,href:u,tokens:[{type:"text",raw:r,text:r}]}}}},{key:"inlineText",value:function(e,t){var n,r=this.rules.inline.text.exec(e);if(r)return n=this.lexer.state.inRawBlock?this.options.sanitize?this.options.sanitizer?this.options.sanitizer(r[0]):xf(r[0]):r[0]:xf(this.options.smartypants?t(r[0]):r[0]),{type:"text",raw:r[0],text:n}}}]),e}(),qf={newline:/^(?: *(?:\n|$))+/,code:/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,fences:/^ {0,3}(`{3,}(?=[^`\n]*\n)|~{3,})([^\n]*)\n(?:|([\s\S]*?)\n)(?: {0,3}\1[~`]* *(?=\n|$)|$)/,hr:/^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\* *){3,})(?:\n+|$)/,heading:/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,blockquote:/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/,list:/^( {0,3}bull)( [^\n]+?)?(?:\n|$)/,html:"^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n *)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$))",def:/^ {0,3}\[(label)\]: *(?:\n *)?<?([^\s>]+)>?(?:(?: +(?:\n *)?| *\n *)(title))? *(?:\n+|$)/,table:jf,lheading:/^([^\n]+)\n {0,3}(=+|-+) *(?:\n+|$)/,_paragraph:/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,text:/^[^\n]+/,_label:/(?!\s*\])(?:\\.|[^\[\]\\])+/,_title:/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/};qf.def=wf(qf.def).replace("label",qf._label).replace("title",qf._title).getRegex(),qf.bullet=/(?:[*+-]|\d{1,9}[.)])/,qf.listItemStart=wf(/^( *)(bull) */).replace("bull",qf.bullet).getRegex(),qf.list=wf(qf.list).replace(/bull/g,qf.bullet).replace("hr","\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def","\\n+(?="+qf.def.source+")").getRegex(),qf._tag="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",qf._comment=/<!--(?!-?>)[\s\S]*?(?:-->|$)/,qf.html=wf(qf.html,"i").replace("comment",qf._comment).replace("tag",qf._tag).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),qf.paragraph=wf(qf._paragraph).replace("hr",qf.hr).replace("heading"," {0,3}#{1,6} ").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",qf._tag).getRegex(),qf.blockquote=wf(qf.blockquote).replace("paragraph",qf.paragraph).getRegex(),qf.normal=zf({},qf),qf.gfm=zf({},qf.normal,{table:"^ *([^\\n ].*\\|.*)\\n {0,3}(?:\\| *)?(:?-+:? *(?:\\| *:?-+:? *)*)(?:\\| *)?(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)"}),qf.gfm.table=wf(qf.gfm.table).replace("hr",qf.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",qf._tag).getRegex(),qf.gfm.paragraph=wf(qf._paragraph).replace("hr",qf.hr).replace("heading"," {0,3}#{1,6} ").replace("|lheading","").replace("table",qf.gfm.table).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",qf._tag).getRegex(),qf.pedantic=zf({},qf.normal,{html:wf("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:\"[^\"]*\"|'[^']*'|\\s[^'\"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",qf._comment).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:jf,paragraph:wf(qf.normal._paragraph).replace("hr",qf.hr).replace("heading"," *#{1,6} *[^\n]").replace("lheading",qf.lheading).replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").getRegex()});var Zf={escape:/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:jf,tag:"^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>",link:/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/,reflink:/^!?\[(label)\]\[(ref)\]/,nolink:/^!?\[(ref)\](?:\[\])?/,reflinkSearch:"reflink|nolink(?!\\()",emStrong:{lDelim:/^(?:\*+(?:([punct_])|[^\s*]))|^_+(?:([punct*])|([^\s_]))/,rDelimAst:/^[^_*]*?\_\_[^_*]*?\*[^_*]*?(?=\_\_)|[punct_](\*+)(?=[\s]|$)|[^punct*_\s](\*+)(?=[punct_\s]|$)|[punct_\s](\*+)(?=[^punct*_\s])|[\s](\*+)(?=[punct_])|[punct_](\*+)(?=[punct_])|[^punct*_\s](\*+)(?=[^punct*_\s])/,rDelimUnd:/^[^_*]*?\*\*[^_*]*?\_[^_*]*?(?=\*\*)|[punct*](\_+)(?=[\s]|$)|[^punct*_\s](\_+)(?=[punct*\s]|$)|[punct*\s](\_+)(?=[^punct*_\s])|[\s](\_+)(?=[punct*])|[punct*](\_+)(?=[punct*])/},code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,br:/^( {2,}|\\)\n(?!\s*$)/,del:jf,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,punctuation:/^([\spunctuation])/};function Gf(e){return e.replace(/---/g,"—").replace(/--/g,"–").replace(/(^|[-\u2014/(\[{"\s])'/g,"$1‘").replace(/'/g,"’").replace(/(^|[-\u2014/(\[{\u2018\s])"/g,"$1“").replace(/"/g,"”").replace(/\.{3}/g,"…")}function Hf(e){var t,n,r="",u=e.length;for(t=0;t<u;t++)n=e.charCodeAt(t),Math.random()>.5&&(n="x"+n.toString(16)),r+="&#"+n+";";return r}Zf._punctuation="!\"#$%&'()+\\-.,/:;<=>?@\\[\\]`^{|}~",Zf.punctuation=wf(Zf.punctuation).replace(/punctuation/g,Zf._punctuation).getRegex(),Zf.blockSkip=/\[[^\]]*?\]\([^\)]*?\)|`[^`]*?`|<[^>]*?>/g,Zf.escapedEmSt=/\\\*|\\_/g,Zf._comment=wf(qf._comment).replace("(?:--\x3e|$)","--\x3e").getRegex(),Zf.emStrong.lDelim=wf(Zf.emStrong.lDelim).replace(/punct/g,Zf._punctuation).getRegex(),Zf.emStrong.rDelimAst=wf(Zf.emStrong.rDelimAst,"g").replace(/punct/g,Zf._punctuation).getRegex(),Zf.emStrong.rDelimUnd=wf(Zf.emStrong.rDelimUnd,"g").replace(/punct/g,Zf._punctuation).getRegex(),Zf._escapes=/\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g,Zf._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,Zf._email=/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/,Zf.autolink=wf(Zf.autolink).replace("scheme",Zf._scheme).replace("email",Zf._email).getRegex(),Zf._attribute=/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/,Zf.tag=wf(Zf.tag).replace("comment",Zf._comment).replace("attribute",Zf._attribute).getRegex(),Zf._label=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,Zf._href=/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/,Zf._title=/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/,Zf.link=wf(Zf.link).replace("label",Zf._label).replace("href",Zf._href).replace("title",Zf._title).getRegex(),Zf.reflink=wf(Zf.reflink).replace("label",Zf._label).replace("ref",qf._label).getRegex(),Zf.nolink=wf(Zf.nolink).replace("ref",qf._label).getRegex(),Zf.reflinkSearch=wf(Zf.reflinkSearch,"g").replace("reflink",Zf.reflink).replace("nolink",Zf.nolink).getRegex(),Zf.normal=zf({},Zf),Zf.pedantic=zf({},Zf.normal,{strong:{start:/^__|\*\*/,middle:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,endAst:/\*\*(?!\*)/g,endUnd:/__(?!_)/g},em:{start:/^_|\*/,middle:/^()\*(?=\S)([\s\S]*?\S)\*(?!\*)|^_(?=\S)([\s\S]*?\S)_(?!_)/,endAst:/\*(?!\*)/g,endUnd:/_(?!_)/g},link:wf(/^!?\[(label)\]\((.*?)\)/).replace("label",Zf._label).getRegex(),reflink:wf(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",Zf._label).getRegex()}),Zf.gfm=zf({},Zf.normal,{escape:wf(Zf.escape).replace("])","~|])").getRegex(),_extended_email:/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,url:/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,_backpedal:/(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|https?:\/\/|ftp:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/}),Zf.gfm.url=wf(Zf.gfm.url,"i").replace("email",Zf.gfm._extended_email).getRegex(),Zf.breaks=zf({},Zf.gfm,{br:wf(Zf.br).replace("{2,}","*").getRegex(),text:wf(Zf.gfm.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()});var Qf=function(){function e(n){t(this,e),this.tokens=[],this.tokens.links=Object.create(null),this.options=n||df,this.options.tokenizer=this.options.tokenizer||new Uf,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};var r={block:qf.normal,inline:Zf.normal};this.options.pedantic?(r.block=qf.pedantic,r.inline=Zf.pedantic):this.options.gfm&&(r.block=qf.gfm,this.options.breaks?r.inline=Zf.breaks:r.inline=Zf.gfm),this.tokenizer.rules=r}return r(e,[{key:"lex",value:function(e){var t;for(e=e.replace(/\r\n|\r/g,"\n").replace(/\t/g," "),this.blockTokens(e,this.tokens);t=this.inlineQueue.shift();)this.inlineTokens(t.src,t.tokens);return this.tokens}},{key:"blockTokens",value:function(e){var t,n,r,u,i=this,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];for(this.options.pedantic&&(e=e.replace(/^ +$/gm,""));e;)if(!(this.options.extensions&&this.options.extensions.block&&this.options.extensions.block.some((function(n){return!!(t=n.call({lexer:i},e,o))&&(e=e.substring(t.raw.length),o.push(t),!0)}))))if(t=this.tokenizer.space(e))e=e.substring(t.raw.length),1===t.raw.length&&o.length>0?o[o.length-1].raw+="\n":o.push(t);else if(t=this.tokenizer.code(e))e=e.substring(t.raw.length),!(n=o[o.length-1])||"paragraph"!==n.type&&"text"!==n.type?o.push(t):(n.raw+="\n"+t.raw,n.text+="\n"+t.text,this.inlineQueue[this.inlineQueue.length-1].src=n.text);else if(t=this.tokenizer.fences(e))e=e.substring(t.raw.length),o.push(t);else if(t=this.tokenizer.heading(e))e=e.substring(t.raw.length),o.push(t);else if(t=this.tokenizer.hr(e))e=e.substring(t.raw.length),o.push(t);else if(t=this.tokenizer.blockquote(e))e=e.substring(t.raw.length),o.push(t);else if(t=this.tokenizer.list(e))e=e.substring(t.raw.length),o.push(t);else if(t=this.tokenizer.html(e))e=e.substring(t.raw.length),o.push(t);else if(t=this.tokenizer.def(e))e=e.substring(t.raw.length),!(n=o[o.length-1])||"paragraph"!==n.type&&"text"!==n.type?this.tokens.links[t.tag]||(this.tokens.links[t.tag]={href:t.href,title:t.title}):(n.raw+="\n"+t.raw,n.text+="\n"+t.raw,this.inlineQueue[this.inlineQueue.length-1].src=n.text);else if(t=this.tokenizer.table(e))e=e.substring(t.raw.length),o.push(t);else if(t=this.tokenizer.lheading(e))e=e.substring(t.raw.length),o.push(t);else if(r=e,this.options.extensions&&this.options.extensions.startBlock&&function(){var t=1/0,n=e.slice(1),u=void 0;i.options.extensions.startBlock.forEach((function(e){"number"==typeof(u=e.call({lexer:this},n))&&u>=0&&(t=Math.min(t,u))})),t<1/0&&t>=0&&(r=e.substring(0,t+1))}(),this.state.top&&(t=this.tokenizer.paragraph(r)))n=o[o.length-1],u&&"paragraph"===n.type?(n.raw+="\n"+t.raw,n.text+="\n"+t.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=n.text):o.push(t),u=r.length!==e.length,e=e.substring(t.raw.length);else if(t=this.tokenizer.text(e))e=e.substring(t.raw.length),(n=o[o.length-1])&&"text"===n.type?(n.raw+="\n"+t.raw,n.text+="\n"+t.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=n.text):o.push(t);else if(e){var a="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(a);break}throw new Error(a)}return this.state.top=!0,o}},{key:"inline",value:function(e,t){this.inlineQueue.push({src:e,tokens:t})}},{key:"inlineTokens",value:function(e){var t,n,r,u,i,o,a=this,s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],l=e;if(this.tokens.links){var c=Object.keys(this.tokens.links);if(c.length>0)for(;null!=(u=this.tokenizer.rules.inline.reflinkSearch.exec(l));)c.includes(u[0].slice(u[0].lastIndexOf("[")+1,-1))&&(l=l.slice(0,u.index)+"["+Mf("a",u[0].length-2)+"]"+l.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;null!=(u=this.tokenizer.rules.inline.blockSkip.exec(l));)l=l.slice(0,u.index)+"["+Mf("a",u[0].length-2)+"]"+l.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;null!=(u=this.tokenizer.rules.inline.escapedEmSt.exec(l));)l=l.slice(0,u.index)+"++"+l.slice(this.tokenizer.rules.inline.escapedEmSt.lastIndex);for(;e;)if(i||(o=""),i=!1,!(this.options.extensions&&this.options.extensions.inline&&this.options.extensions.inline.some((function(n){return!!(t=n.call({lexer:a},e,s))&&(e=e.substring(t.raw.length),s.push(t),!0)}))))if(t=this.tokenizer.escape(e))e=e.substring(t.raw.length),s.push(t);else if(t=this.tokenizer.tag(e))e=e.substring(t.raw.length),(n=s[s.length-1])&&"text"===t.type&&"text"===n.type?(n.raw+=t.raw,n.text+=t.text):s.push(t);else if(t=this.tokenizer.link(e))e=e.substring(t.raw.length),s.push(t);else if(t=this.tokenizer.reflink(e,this.tokens.links))e=e.substring(t.raw.length),(n=s[s.length-1])&&"text"===t.type&&"text"===n.type?(n.raw+=t.raw,n.text+=t.text):s.push(t);else if(t=this.tokenizer.emStrong(e,l,o))e=e.substring(t.raw.length),s.push(t);else if(t=this.tokenizer.codespan(e))e=e.substring(t.raw.length),s.push(t);else if(t=this.tokenizer.br(e))e=e.substring(t.raw.length),s.push(t);else if(t=this.tokenizer.del(e))e=e.substring(t.raw.length),s.push(t);else if(t=this.tokenizer.autolink(e,Hf))e=e.substring(t.raw.length),s.push(t);else if(this.state.inLink||!(t=this.tokenizer.url(e,Hf))){if(r=e,this.options.extensions&&this.options.extensions.startInline&&function(){var t=1/0,n=e.slice(1),u=void 0;a.options.extensions.startInline.forEach((function(e){"number"==typeof(u=e.call({lexer:this},n))&&u>=0&&(t=Math.min(t,u))})),t<1/0&&t>=0&&(r=e.substring(0,t+1))}(),t=this.tokenizer.inlineText(r,Gf))e=e.substring(t.raw.length),"_"!==t.raw.slice(-1)&&(o=t.raw.slice(-1)),i=!0,(n=s[s.length-1])&&"text"===n.type?(n.raw+=t.raw,n.text+=t.text):s.push(t);else if(e){var f="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(f);break}throw new Error(f)}}else e=e.substring(t.raw.length),s.push(t);return s}}],[{key:"rules",get:function(){return{block:qf,inline:Zf}}},{key:"lex",value:function(t,n){return new e(n).lex(t)}},{key:"lexInline",value:function(t,n){return new e(n).inlineTokens(t)}}]),e}(),Vf=function(){function e(n){t(this,e),this.options=n||df}return r(e,[{key:"code",value:function(e,t,n){var r=(t||"").match(/\S*/)[0];if(this.options.highlight){var u=this.options.highlight(e,r);null!=u&&u!==e&&(n=!0,e=u)}return e=e.replace(/\n$/,"")+"\n",r?'<pre><code class="'+this.options.langPrefix+xf(r,!0)+'">'+(n?e:xf(e,!0))+"</code></pre>\n":"<pre><code>"+(n?e:xf(e,!0))+"</code></pre>\n"}},{key:"blockquote",value:function(e){return"<blockquote>\n"+e+"</blockquote>\n"}},{key:"html",value:function(e){return e}},{key:"heading",value:function(e,t,n,r){return this.options.headerIds?"<h"+t+' id="'+this.options.headerPrefix+r.slug(n)+'">'+e+"</h"+t+">\n":"<h"+t+">"+e+"</h"+t+">\n"}},{key:"hr",value:function(){return this.options.xhtml?"<hr/>\n":"<hr>\n"}},{key:"list",value:function(e,t,n){var r=t?"ol":"ul";return"<"+r+(t&&1!==n?' start="'+n+'"':"")+">\n"+e+"</"+r+">\n"}},{key:"listitem",value:function(e){return"<li>"+e+"</li>\n"}},{key:"checkbox",value:function(e){return"<input "+(e?'checked="" ':"")+'disabled="" type="checkbox"'+(this.options.xhtml?" /":"")+"> "}},{key:"paragraph",value:function(e){return"<p>"+e+"</p>\n"}},{key:"table",value:function(e,t){return t&&(t="<tbody>"+t+"</tbody>"),"<table>\n<thead>\n"+e+"</thead>\n"+t+"</table>\n"}},{key:"tablerow",value:function(e){return"<tr>\n"+e+"</tr>\n"}},{key:"tablecell",value:function(e,t){var n=t.header?"th":"td";return(t.align?"<"+n+' align="'+t.align+'">':"<"+n+">")+e+"</"+n+">\n"}},{key:"strong",value:function(e){return"<strong>"+e+"</strong>"}},{key:"em",value:function(e){return"<em>"+e+"</em>"}},{key:"codespan",value:function(e){return"<code>"+e+"</code>"}},{key:"br",value:function(){return this.options.xhtml?"<br/>":"<br>"}},{key:"del",value:function(e){return"<del>"+e+"</del>"}},{key:"link",value:function(e,t,n){if(null===(e=_f(this.options.sanitize,this.options.baseUrl,e)))return n;var r='<a href="'+xf(e)+'"';return t&&(r+=' title="'+t+'"'),r+=">"+n+"</a>"}},{key:"image",value:function(e,t,n){if(null===(e=_f(this.options.sanitize,this.options.baseUrl,e)))return n;var r='<img src="'+e+'" alt="'+n+'"';return t&&(r+=' title="'+t+'"'),r+=this.options.xhtml?"/>":">"}},{key:"text",value:function(e){return e}}]),e}(),Yf=function(){function e(){t(this,e)}return r(e,[{key:"strong",value:function(e){return e}},{key:"em",value:function(e){return e}},{key:"codespan",value:function(e){return e}},{key:"del",value:function(e){return e}},{key:"html",value:function(e){return e}},{key:"text",value:function(e){return e}},{key:"link",value:function(e,t,n){return""+n}},{key:"image",value:function(e,t,n){return""+n}},{key:"br",value:function(){return""}}]),e}(),Kf=function(){function e(){t(this,e),this.seen={}}return r(e,[{key:"serialize",value:function(e){return e.toLowerCase().trim().replace(/<[!\/a-z].*?>/gi,"").replace(/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g,"").replace(/\s/g,"-")}},{key:"getNextSafeSlug",value:function(e,t){var n=e,r=0;if(this.seen.hasOwnProperty(n)){r=this.seen[e];do{n=e+"-"+ ++r}while(this.seen.hasOwnProperty(n))}return t||(this.seen[e]=r,this.seen[n]=0),n}},{key:"slug",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=this.serialize(e);return this.getNextSafeSlug(n,t.dryrun)}}]),e}(),Xf=function(){function e(n){t(this,e),this.options=n||df,this.options.renderer=this.options.renderer||new Vf,this.renderer=this.options.renderer,this.renderer.options=this.options,this.textRenderer=new Yf,this.slugger=new Kf}return r(e,[{key:"parse",value:function(e){var t,n,r,u,i,o,a,s,l,c,f,p,h,D,g,d,v,y,A,m=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],k="",E=e.length;for(t=0;t<E;t++)if(c=e[t],!(this.options.extensions&&this.options.extensions.renderers&&this.options.extensions.renderers[c.type])||!1===(A=this.options.extensions.renderers[c.type].call({parser:this},c))&&["space","hr","heading","code","table","blockquote","list","html","paragraph","text"].includes(c.type))switch(c.type){case"space":continue;case"hr":k+=this.renderer.hr();continue;case"heading":k+=this.renderer.heading(this.parseInline(c.tokens),c.depth,bf(this.parseInline(c.tokens,this.textRenderer)),this.slugger);continue;case"code":k+=this.renderer.code(c.text,c.lang,c.escaped);continue;case"table":for(s="",a="",u=c.header.length,n=0;n<u;n++)a+=this.renderer.tablecell(this.parseInline(c.header[n].tokens),{header:!0,align:c.align[n]});for(s+=this.renderer.tablerow(a),l="",u=c.rows.length,n=0;n<u;n++){for(a="",i=(o=c.rows[n]).length,r=0;r<i;r++)a+=this.renderer.tablecell(this.parseInline(o[r].tokens),{header:!1,align:c.align[r]});l+=this.renderer.tablerow(a)}k+=this.renderer.table(s,l);continue;case"blockquote":l=this.parse(c.tokens),k+=this.renderer.blockquote(l);continue;case"list":for(f=c.ordered,p=c.start,h=c.loose,u=c.items.length,l="",n=0;n<u;n++)d=(g=c.items[n]).checked,v=g.task,D="",g.task&&(y=this.renderer.checkbox(d),h?g.tokens.length>0&&"paragraph"===g.tokens[0].type?(g.tokens[0].text=y+" "+g.tokens[0].text,g.tokens[0].tokens&&g.tokens[0].tokens.length>0&&"text"===g.tokens[0].tokens[0].type&&(g.tokens[0].tokens[0].text=y+" "+g.tokens[0].tokens[0].text)):g.tokens.unshift({type:"text",text:y}):D+=y),D+=this.parse(g.tokens,h),l+=this.renderer.listitem(D,v,d);k+=this.renderer.list(l,f,p);continue;case"html":k+=this.renderer.html(c.text);continue;case"paragraph":k+=this.renderer.paragraph(this.parseInline(c.tokens));continue;case"text":for(l=c.tokens?this.parseInline(c.tokens):c.text;t+1<E&&"text"===e[t+1].type;)l+="\n"+((c=e[++t]).tokens?this.parseInline(c.tokens):c.text);k+=m?this.renderer.paragraph(l):l;continue;default:var x='Token with "'+c.type+'" type was not found.';if(this.options.silent)return void console.error(x);throw new Error(x)}else k+=A||"";return k}},{key:"parseInline",value:function(e,t){t=t||this.renderer;var n,r,u,i="",o=e.length;for(n=0;n<o;n++)if(r=e[n],!(this.options.extensions&&this.options.extensions.renderers&&this.options.extensions.renderers[r.type])||!1===(u=this.options.extensions.renderers[r.type].call({parser:this},r))&&["escape","html","link","image","strong","em","codespan","br","del","text"].includes(r.type))switch(r.type){case"escape":i+=t.text(r.text);break;case"html":i+=t.html(r.text);break;case"link":i+=t.link(r.href,r.title,this.parseInline(r.tokens,t));break;case"image":i+=t.image(r.href,r.title,r.text);break;case"strong":i+=t.strong(this.parseInline(r.tokens,t));break;case"em":i+=t.em(this.parseInline(r.tokens,t));break;case"codespan":i+=t.codespan(r.text);break;case"br":i+=t.br();break;case"del":i+=t.del(this.parseInline(r.tokens,t));break;case"text":i+=t.text(r.text);break;default:var a='Token with "'+r.type+'" type was not found.';if(this.options.silent)return void console.error(a);throw new Error(a)}else i+=u||"";return i}}],[{key:"parse",value:function(t,n){return new e(n).parse(t)}},{key:"parseInline",value:function(t,n){return new e(n).parseInline(t)}}]),e}();function Wf(e,t,n){if(null==e)throw new Error("marked(): input parameter is undefined or null");if("string"!=typeof e)throw new Error("marked(): input parameter is of type "+Object.prototype.toString.call(e)+", string expected");if("function"==typeof t&&(n=t,t=null),Lf(t=zf({},Wf.defaults,t||{})),n){var r,u=t.highlight;try{r=Qf.lex(e,t)}catch(e){return n(e)}var i=function(e){var i;if(!e)try{t.walkTokens&&Wf.walkTokens(r,t.walkTokens),i=Xf.parse(r,t)}catch(t){e=t}return t.highlight=u,e?n(e):n(null,i)};if(!u||u.length<3)return i();if(delete t.highlight,!r.length)return i();var o=0;return Wf.walkTokens(r,(function(e){"code"===e.type&&(o++,setTimeout((function(){u(e.text,e.lang,(function(t,n){if(t)return i(t);null!=n&&n!==e.text&&(e.text=n,e.escaped=!0),0===--o&&i()}))}),0))})),void(0===o&&i())}try{var a=Qf.lex(e,t);return t.walkTokens&&Wf.walkTokens(a,t.walkTokens),Xf.parse(a,t)}catch(e){if(e.message+="\nPlease report this to https://github.com/markedjs/marked.",t.silent)return"<p>An error occurred:</p><pre>"+xf(e.message+"",!0)+"</pre>";throw e}}Wf.options=Wf.setOptions=function(e){var t;return zf(Wf.defaults,e),t=Wf.defaults,df=t,Wf},Wf.getDefaults=gf,Wf.defaults=df,Wf.use=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];var r,u=zf.apply(void 0,[{}].concat(t)),i=Wf.defaults.extensions||{renderers:{},childTokens:{}};t.forEach((function(e){if(e.extensions&&(r=!0,e.extensions.forEach((function(e){if(!e.name)throw new Error("extension name required");if(e.renderer){var t=i.renderers?i.renderers[e.name]:null;i.renderers[e.name]=t?function(){for(var n=arguments.length,r=new Array(n),u=0;u<n;u++)r[u]=arguments[u];var i=e.renderer.apply(this,r);return!1===i&&(i=t.apply(this,r)),i}:e.renderer}if(e.tokenizer){if(!e.level||"block"!==e.level&&"inline"!==e.level)throw new Error("extension level must be 'block' or 'inline'");i[e.level]?i[e.level].unshift(e.tokenizer):i[e.level]=[e.tokenizer],e.start&&("block"===e.level?i.startBlock?i.startBlock.push(e.start):i.startBlock=[e.start]:"inline"===e.level&&(i.startInline?i.startInline.push(e.start):i.startInline=[e.start]))}e.childTokens&&(i.childTokens[e.name]=e.childTokens)}))),e.renderer&&function(){var t=Wf.defaults.renderer||new Vf,n=function(n){var r=t[n];t[n]=function(){for(var u=arguments.length,i=new Array(u),o=0;o<u;o++)i[o]=arguments[o];var a=e.renderer[n].apply(t,i);return!1===a&&(a=r.apply(t,i)),a}};for(var r in e.renderer)n(r);u.renderer=t}(),e.tokenizer&&function(){var t=Wf.defaults.tokenizer||new Uf,n=function(n){var r=t[n];t[n]=function(){for(var u=arguments.length,i=new Array(u),o=0;o<u;o++)i[o]=arguments[o];var a=e.tokenizer[n].apply(t,i);return!1===a&&(a=r.apply(t,i)),a}};for(var r in e.tokenizer)n(r);u.tokenizer=t}(),e.walkTokens){var t=Wf.defaults.walkTokens;u.walkTokens=function(n){e.walkTokens.call(this,n),t&&t.call(this,n)}}r&&(u.extensions=i),Wf.setOptions(u)}))},Wf.walkTokens=function(e,t){var n,r=l(e);try{var u=function(){var e=n.value;switch(t.call(Wf,e),e.type){case"table":var r,u=l(e.header);try{for(u.s();!(r=u.n()).done;){var i=r.value;Wf.walkTokens(i.tokens,t)}}catch(e){u.e(e)}finally{u.f()}var o,a=l(e.rows);try{for(a.s();!(o=a.n()).done;){var s,c=l(o.value);try{for(c.s();!(s=c.n()).done;){var f=s.value;Wf.walkTokens(f.tokens,t)}}catch(e){c.e(e)}finally{c.f()}}}catch(e){a.e(e)}finally{a.f()}break;case"list":Wf.walkTokens(e.items,t);break;default:Wf.defaults.extensions&&Wf.defaults.extensions.childTokens&&Wf.defaults.extensions.childTokens[e.type]?Wf.defaults.extensions.childTokens[e.type].forEach((function(n){Wf.walkTokens(e[n],t)})):e.tokens&&Wf.walkTokens(e.tokens,t)}};for(r.s();!(n=r.n()).done;)u()}catch(e){r.e(e)}finally{r.f()}},Wf.parseInline=function(e,t){if(null==e)throw new Error("marked.parseInline(): input parameter is undefined or null");if("string"!=typeof e)throw new Error("marked.parseInline(): input parameter is of type "+Object.prototype.toString.call(e)+", string expected");Lf(t=zf({},Wf.defaults,t||{}));try{var n=Qf.lexInline(e,t);return t.walkTokens&&Wf.walkTokens(n,t.walkTokens),Xf.parseInline(n,t)}catch(e){if(e.message+="\nPlease report this to https://github.com/markedjs/marked.",t.silent)return"<p>An error occurred:</p><pre>"+xf(e.message+"",!0)+"</pre>";throw e}},Wf.Parser=Xf,Wf.parser=Xf.parse,Wf.Renderer=Vf,Wf.TextRenderer=Yf,Wf.Lexer=Qf,Wf.lexer=Qf.lex,Wf.Tokenizer=Uf,Wf.Slugger=Kf,Wf.parse=Wf;var Jf=/\[([\s\d,|-]*)\]/,ep={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"};export default function(){var t;function n(e){var t=(e.querySelector("[data-template]")||e.querySelector("script")||e).textContent,n=(t=t.replace(new RegExp("__SCRIPT_END__","g"),"<\/script>")).match(/^\n?(\s*)/)[1].length,r=t.match(/^\n?(\t*)/)[1].length;return r>0?t=t.replace(new RegExp("\\n?\\t{"+r+"}","g"),"\n"):n>1&&(t=t.replace(new RegExp("\\n? {"+n+"}","g"),"\n")),t}function r(e){for(var t=e.attributes,n=[],r=0,u=t.length;r<u;r++){var i=t[r].name,o=t[r].value;/data\-(markdown|separator|vertical|notes)/gi.test(i)||(o?n.push(i+'="'+o+'"'):n.push(i))}return n.join(" ")}function o(e){return(e=e||{}).separator=e.separator||"\r?\n---\r?\n",e.notesSeparator=e.notesSeparator||"notes?:",e.attributes=e.attributes||"",e}function a(e,t){t=o(t);var n=e.split(new RegExp(t.notesSeparator,"mgi"));return 2===n.length&&(e=n[0]+'<aside class="notes">'+Wf(n[1].trim())+"</aside>"),'<script type="text/template">'+(e=e.replace(/<\/script>/g,"__SCRIPT_END__"))+"<\/script>"}function s(e,t){t=o(t);for(var n,r,u,i=new RegExp(t.separator+(t.verticalSeparator?"|"+t.verticalSeparator:""),"mg"),s=new RegExp(t.separator),l=0,c=!0,f=[];n=i.exec(e);)!(r=s.test(n[0]))&&c&&f.push([]),u=e.substring(l,n.index),r&&c?f.push(u):f[f.length-1].push(u),l=i.lastIndex,c=r;(c?f:f[f.length-1]).push(e.substring(l));for(var p="",h=0,D=f.length;h<D;h++)f[h]instanceof Array?(p+="<section "+t.attributes+">",f[h].forEach((function(e){p+="<section data-markdown>"+a(e,t)+"</section>"})),p+="</section>"):p+="<section "+t.attributes+" data-markdown>"+a(f[h],t)+"</section>";return p}function l(e){return new Promise((function(t){var u=[];[].slice.call(e.querySelectorAll("section[data-markdown]:not([data-markdown-parsed])")).forEach((function(e,t){e.getAttribute("data-markdown").length?u.push(function(e){return new Promise((function(t,n){var r=new XMLHttpRequest,u=e.getAttribute("data-markdown"),i=e.getAttribute("data-charset");null!=i&&""!=i&&r.overrideMimeType("text/html; charset="+i),r.onreadystatechange=function(e,r){4===r.readyState&&(r.status>=200&&r.status<300||0===r.status?t(r,u):n(r,u))}.bind(this,e,r),r.open("GET",u,!0);try{r.send()}catch(e){console.warn("Failed to get the Markdown file "+u+". Make sure that the presentation and the file are served by a HTTP server and the file can be found there. "+e),t(r,u)}}))}(e).then((function(t,n){e.outerHTML=s(t.responseText,{separator:e.getAttribute("data-separator"),verticalSeparator:e.getAttribute("data-separator-vertical"),notesSeparator:e.getAttribute("data-separator-notes"),attributes:r(e)})}),(function(t,n){e.outerHTML='<section data-state="alert">ERROR: The attempt to fetch '+n+" failed with HTTP status "+t.status+".Check your browser's JavaScript console for more details.<p>Remember that you need to serve the presentation HTML from a HTTP server.</p></section>"}))):e.outerHTML=s(n(e),{separator:e.getAttribute("data-separator"),verticalSeparator:e.getAttribute("data-separator-vertical"),notesSeparator:e.getAttribute("data-separator-notes"),attributes:r(e)})})),Promise.all(u).then(t)}))}function c(e,t,n){var r,u,i=new RegExp(n,"mg"),o=new RegExp('([^"= ]+?)="([^"]+?)"|(data-[^"= ]+?)(?=[" ])',"mg"),a=e.nodeValue;if(r=i.exec(a)){var s=r[1];for(a=a.substring(0,r.index)+a.substring(i.lastIndex),e.nodeValue=a;u=o.exec(s);)u[2]?t.setAttribute(u[1],u[2]):t.setAttribute(u[3],"");return!0}return!1}function f(e,t,n,r,u){if(null!=t&&null!=t.childNodes&&t.childNodes.length>0)for(var i=t,o=0;o<t.childNodes.length;o++){var a=t.childNodes[o];if(o>0)for(var s=o-1;s>=0;){var l=t.childNodes[s];if("function"==typeof l.setAttribute&&"BR"!=l.tagName){i=l;break}s-=1}var p=e;"section"==a.nodeName&&(p=a,i=a),"function"!=typeof a.setAttribute&&a.nodeType!=Node.COMMENT_NODE||f(p,a,i,r,u)}t.nodeType==Node.COMMENT_NODE&&0==c(t,n,r)&&c(t,e,u)}function p(){var e=t.getRevealElement().querySelectorAll("[data-markdown]:not([data-markdown-parsed])");return[].slice.call(e).forEach((function(e){e.setAttribute("data-markdown-parsed",!0);var t=e.querySelector("aside.notes"),r=n(e);e.innerHTML=Wf(r),f(e,e,null,e.getAttribute("data-element-attributes")||e.parentNode.getAttribute("data-element-attributes")||"\\.element\\s*?(.+?)$",e.getAttribute("data-attributes")||e.parentNode.getAttribute("data-attributes")||"\\.slide:\\s*?(\\S.+?)$"),t&&e.appendChild(t)})),Promise.resolve()}return{id:"markdown",init:function(n){var r=(t=n).getConfig().markdown||{},o=r.renderer,a=r.animateLists,s=i(r,["renderer","animateLists"]);return o||((o=new Wf.Renderer).code=function(e,t){var n="";return Jf.test(t)&&(n=t.match(Jf)[1].trim(),n='data-line-numbers="'.concat(n,'"'),t=t.replace(Jf,"").trim()),e=e.replace(/([&<>'"])/g,(function(e){return ep[e]})),"<pre><code ".concat(n,' class="').concat(t,'">').concat(e,"</code></pre>")}),!0===a&&(o.listitem=function(e){return'<li class="fragment">'.concat(e,"</li>")}),Wf.setOptions(function(t){for(var n=1;n<arguments.length;n++){var r=null!=arguments[n]?arguments[n]:{};n%2?e(Object(r),!0).forEach((function(e){u(t,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):e(Object(r)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}))}return t}({renderer:o},s)),l(t.getRevealElement()).then(p)},processSlides:l,convertSlides:p,slidify:s,marked:Wf}}
llm_conf_files/libs/revealjs/plugin/markdown/markdown.js ADDED
@@ -0,0 +1 @@
 
 
1
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).RevealMarkdown=t()}(this,(function(){"use strict";function e(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function t(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function n(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function r(e,t,r){return t&&n(e.prototype,t),r&&n(e,r),e}function u(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){if(null==e)return{};var n,r,u=function(e,t){if(null==e)return{};var n,r,u={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(u[n]=e[n]);return u}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(u[n]=e[n])}return u}function o(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=e&&("undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"]);if(null==n)return;var r,u,i=[],o=!0,a=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(i.push(r.value),!t||i.length!==t);o=!0);}catch(e){a=!0,u=e}finally{try{o||null==n.return||n.return()}finally{if(a)throw u}}return i}(e,t)||a(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function a(e,t){if(e){if("string"==typeof e)return s(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?s(e,t):void 0}}function s(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function l(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=a(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,u=function(){};return{s:u,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:u}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,o=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return o=e.done,e},e:function(e){s=!0,i=e},f:function(){try{o||null==n.return||n.return()}finally{if(s)throw i}}}}var c="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},f=function(e){return e&&e.Math==Math&&e},p=f("object"==typeof globalThis&&globalThis)||f("object"==typeof window&&window)||f("object"==typeof self&&self)||f("object"==typeof c&&c)||function(){return this}()||Function("return this")(),h={},D=function(e){try{return!!e()}catch(e){return!0}},g=!D((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]})),d={},v={}.propertyIsEnumerable,y=Object.getOwnPropertyDescriptor,A=y&&!v.call({1:2},1);d.f=A?function(e){var t=y(this,e);return!!t&&t.enumerable}:v;var m=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}},k={}.toString,E=function(e){return k.call(e).slice(8,-1)},x=E,F="".split,b=D((function(){return!Object("z").propertyIsEnumerable(0)}))?function(e){return"String"==x(e)?F.call(e,""):Object(e)}:Object,C=function(e){if(null==e)throw TypeError("Can't call method on "+e);return e},w=b,B=C,S=function(e){return w(B(e))},_=function(e){return"object"==typeof e?null!==e:"function"==typeof e},T=_,O=function(e,t){if(!T(e))return e;var n,r;if(t&&"function"==typeof(n=e.toString)&&!T(r=n.call(e)))return r;if("function"==typeof(n=e.valueOf)&&!T(r=n.call(e)))return r;if(!t&&"function"==typeof(n=e.toString)&&!T(r=n.call(e)))return r;throw TypeError("Can't convert object to primitive value")},R=C,I=function(e){return Object(R(e))},j=I,z={}.hasOwnProperty,$=function(e,t){return z.call(j(e),t)},P=_,L=p.document,M=P(L)&&P(L.createElement),N=function(e){return M?L.createElement(e):{}},U=N,q=!g&&!D((function(){return 7!=Object.defineProperty(U("div"),"a",{get:function(){return 7}}).a})),Z=g,G=d,H=m,Q=S,V=O,Y=$,K=q,X=Object.getOwnPropertyDescriptor;h.f=Z?X:function(e,t){if(e=Q(e),t=V(t,!0),K)try{return X(e,t)}catch(e){}if(Y(e,t))return H(!G.f.call(e,t),e[t])};var W={},J=_,ee=function(e){if(!J(e))throw TypeError(String(e)+" is not an object");return e},te=g,ne=q,re=ee,ue=O,ie=Object.defineProperty;W.f=te?ie:function(e,t,n){if(re(e),t=ue(t,!0),re(n),ne)try{return ie(e,t,n)}catch(e){}if("get"in n||"set"in n)throw TypeError("Accessors not supported");return"value"in n&&(e[t]=n.value),e};var oe=W,ae=m,se=g?function(e,t,n){return oe.f(e,t,ae(1,n))}:function(e,t,n){return e[t]=n,e},le={exports:{}},ce=p,fe=se,pe=function(e,t){try{fe(ce,e,t)}catch(n){ce[e]=t}return t},he=pe,De="__core-js_shared__",ge=p[De]||he(De,{}),de=ge,ve=Function.toString;"function"!=typeof de.inspectSource&&(de.inspectSource=function(e){return ve.call(e)});var ye=de.inspectSource,Ae=ye,me=p.WeakMap,ke="function"==typeof me&&/native code/.test(Ae(me)),Ee={exports:{}},xe=ge;(Ee.exports=function(e,t){return xe[e]||(xe[e]=void 0!==t?t:{})})("versions",[]).push({version:"3.12.1",mode:"global",copyright:"© 2021 Denis Pushkarev (zloirock.ru)"});var Fe,be,Ce,we=0,Be=Math.random(),Se=function(e){return"Symbol("+String(void 0===e?"":e)+")_"+(++we+Be).toString(36)},_e=Ee.exports,Te=Se,Oe=_e("keys"),Re=function(e){return Oe[e]||(Oe[e]=Te(e))},Ie={},je=ke,ze=_,$e=se,Pe=$,Le=ge,Me=Re,Ne=Ie,Ue="Object already initialized",qe=p.WeakMap;if(je||Le.state){var Ze=Le.state||(Le.state=new qe),Ge=Ze.get,He=Ze.has,Qe=Ze.set;Fe=function(e,t){if(He.call(Ze,e))throw new TypeError(Ue);return t.facade=e,Qe.call(Ze,e,t),t},be=function(e){return Ge.call(Ze,e)||{}},Ce=function(e){return He.call(Ze,e)}}else{var Ve=Me("state");Ne[Ve]=!0,Fe=function(e,t){if(Pe(e,Ve))throw new TypeError(Ue);return t.facade=e,$e(e,Ve,t),t},be=function(e){return Pe(e,Ve)?e[Ve]:{}},Ce=function(e){return Pe(e,Ve)}}var Ye={set:Fe,get:be,has:Ce,enforce:function(e){return Ce(e)?be(e):Fe(e,{})},getterFor:function(e){return function(t){var n;if(!ze(t)||(n=be(t)).type!==e)throw TypeError("Incompatible receiver, "+e+" required");return n}}},Ke=p,Xe=se,We=$,Je=pe,et=ye,tt=Ye.get,nt=Ye.enforce,rt=String(String).split("String");(le.exports=function(e,t,n,r){var u,i=!!r&&!!r.unsafe,o=!!r&&!!r.enumerable,a=!!r&&!!r.noTargetGet;"function"==typeof n&&("string"!=typeof t||We(n,"name")||Xe(n,"name",t),(u=nt(n)).source||(u.source=rt.join("string"==typeof t?t:""))),e!==Ke?(i?!a&&e[t]&&(o=!0):delete e[t],o?e[t]=n:Xe(e,t,n)):o?e[t]=n:Je(t,n)})(Function.prototype,"toString",(function(){return"function"==typeof this&&tt(this).source||et(this)}));var ut=p,it=p,ot=function(e){return"function"==typeof e?e:void 0},at=function(e,t){return arguments.length<2?ot(ut[e])||ot(it[e]):ut[e]&&ut[e][t]||it[e]&&it[e][t]},st={},lt=Math.ceil,ct=Math.floor,ft=function(e){return isNaN(e=+e)?0:(e>0?ct:lt)(e)},pt=ft,ht=Math.min,Dt=function(e){return e>0?ht(pt(e),9007199254740991):0},gt=ft,dt=Math.max,vt=Math.min,yt=function(e,t){var n=gt(e);return n<0?dt(n+t,0):vt(n,t)},At=S,mt=Dt,kt=yt,Et=function(e){return function(t,n,r){var u,i=At(t),o=mt(i.length),a=kt(r,o);if(e&&n!=n){for(;o>a;)if((u=i[a++])!=u)return!0}else for(;o>a;a++)if((e||a in i)&&i[a]===n)return e||a||0;return!e&&-1}},xt={includes:Et(!0),indexOf:Et(!1)},Ft=$,bt=S,Ct=xt.indexOf,wt=Ie,Bt=function(e,t){var n,r=bt(e),u=0,i=[];for(n in r)!Ft(wt,n)&&Ft(r,n)&&i.push(n);for(;t.length>u;)Ft(r,n=t[u++])&&(~Ct(i,n)||i.push(n));return i},St=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],_t=Bt,Tt=St.concat("length","prototype");st.f=Object.getOwnPropertyNames||function(e){return _t(e,Tt)};var Ot={};Ot.f=Object.getOwnPropertySymbols;var Rt=st,It=Ot,jt=ee,zt=at("Reflect","ownKeys")||function(e){var t=Rt.f(jt(e)),n=It.f;return n?t.concat(n(e)):t},$t=$,Pt=zt,Lt=h,Mt=W,Nt=D,Ut=/#|\.prototype\./,qt=function(e,t){var n=Gt[Zt(e)];return n==Qt||n!=Ht&&("function"==typeof t?Nt(t):!!t)},Zt=qt.normalize=function(e){return String(e).replace(Ut,".").toLowerCase()},Gt=qt.data={},Ht=qt.NATIVE="N",Qt=qt.POLYFILL="P",Vt=qt,Yt=p,Kt=h.f,Xt=se,Wt=le.exports,Jt=pe,en=function(e,t){for(var n=Pt(t),r=Mt.f,u=Lt.f,i=0;i<n.length;i++){var o=n[i];$t(e,o)||r(e,o,u(t,o))}},tn=Vt,nn=function(e,t){var n,r,u,i,o,a=e.target,s=e.global,l=e.stat;if(n=s?Yt:l?Yt[a]||Jt(a,{}):(Yt[a]||{}).prototype)for(r in t){if(i=t[r],u=e.noTargetGet?(o=Kt(n,r))&&o.value:n[r],!tn(s?r:a+(l?".":"#")+r,e.forced)&&void 0!==u){if(typeof i==typeof u)continue;en(i,u)}(e.sham||u&&u.sham)&&Xt(i,"sham",!0),Wt(n,r,i,e)}},rn=ee,un=function(){var e=rn(this),t="";return e.global&&(t+="g"),e.ignoreCase&&(t+="i"),e.multiline&&(t+="m"),e.dotAll&&(t+="s"),e.unicode&&(t+="u"),e.sticky&&(t+="y"),t},on={},an=D;function sn(e,t){return RegExp(e,t)}on.UNSUPPORTED_Y=an((function(){var e=sn("a","y");return e.lastIndex=2,null!=e.exec("abcd")})),on.BROKEN_CARET=an((function(){var e=sn("^r","gy");return e.lastIndex=2,null!=e.exec("str")}));var ln=un,cn=on,fn=Ee.exports,pn=RegExp.prototype.exec,hn=fn("native-string-replace",String.prototype.replace),Dn=pn,gn=function(){var e=/a/,t=/b*/g;return pn.call(e,"a"),pn.call(t,"a"),0!==e.lastIndex||0!==t.lastIndex}(),dn=cn.UNSUPPORTED_Y||cn.BROKEN_CARET,vn=void 0!==/()??/.exec("")[1];(gn||vn||dn)&&(Dn=function(e){var t,n,r,u,i=this,o=dn&&i.sticky,a=ln.call(i),s=i.source,l=0,c=e;return o&&(-1===(a=a.replace("y","")).indexOf("g")&&(a+="g"),c=String(e).slice(i.lastIndex),i.lastIndex>0&&(!i.multiline||i.multiline&&"\n"!==e[i.lastIndex-1])&&(s="(?: "+s+")",c=" "+c,l++),n=new RegExp("^(?:"+s+")",a)),vn&&(n=new RegExp("^"+s+"$(?!\\s)",a)),gn&&(t=i.lastIndex),r=pn.call(o?n:i,c),o?r?(r.input=r.input.slice(l),r[0]=r[0].slice(l),r.index=i.lastIndex,i.lastIndex+=r[0].length):i.lastIndex=0:gn&&r&&(i.lastIndex=i.global?r.index+r[0].length:t),vn&&r&&r.length>1&&hn.call(r[0],n,(function(){for(u=1;u<arguments.length-2;u++)void 0===arguments[u]&&(r[u]=void 0)})),r});var yn=Dn;nn({target:"RegExp",proto:!0,forced:/./.exec!==yn},{exec:yn});var An,mn,kn=at("navigator","userAgent")||"",En=kn,xn=p.process,Fn=xn&&xn.versions,bn=Fn&&Fn.v8;bn?mn=(An=bn.split("."))[0]<4?1:An[0]+An[1]:En&&(!(An=En.match(/Edge\/(\d+)/))||An[1]>=74)&&(An=En.match(/Chrome\/(\d+)/))&&(mn=An[1]);var Cn=mn&&+mn,wn=Cn,Bn=D,Sn=!!Object.getOwnPropertySymbols&&!Bn((function(){return!String(Symbol())||!Symbol.sham&&wn&&wn<41})),_n=Sn&&!Symbol.sham&&"symbol"==typeof Symbol.iterator,Tn=p,On=Ee.exports,Rn=$,In=Se,jn=Sn,zn=_n,$n=On("wks"),Pn=Tn.Symbol,Ln=zn?Pn:Pn&&Pn.withoutSetter||In,Mn=function(e){return Rn($n,e)&&(jn||"string"==typeof $n[e])||(jn&&Rn(Pn,e)?$n[e]=Pn[e]:$n[e]=Ln("Symbol."+e)),$n[e]},Nn=le.exports,Un=yn,qn=D,Zn=Mn,Gn=se,Hn=Zn("species"),Qn=RegExp.prototype,Vn=!qn((function(){var e=/./;return e.exec=function(){var e=[];return e.groups={a:"7"},e},"7"!=="".replace(e,"$<a>")})),Yn="$0"==="a".replace(/./,"$0"),Kn=Zn("replace"),Xn=!!/./[Kn]&&""===/./[Kn]("a","$0"),Wn=!qn((function(){var e=/(?:)/,t=e.exec;e.exec=function(){return t.apply(this,arguments)};var n="ab".split(e);return 2!==n.length||"a"!==n[0]||"b"!==n[1]})),Jn=function(e,t,n,r){var u=Zn(e),i=!qn((function(){var t={};return t[u]=function(){return 7},7!=""[e](t)})),o=i&&!qn((function(){var t=!1,n=/a/;return"split"===e&&((n={}).constructor={},n.constructor[Hn]=function(){return n},n.flags="",n[u]=/./[u]),n.exec=function(){return t=!0,null},n[u](""),!t}));if(!i||!o||"replace"===e&&(!Vn||!Yn||Xn)||"split"===e&&!Wn){var a=/./[u],s=n(u,""[e],(function(e,t,n,r,u){var o=t.exec;return o===Un||o===Qn.exec?i&&!u?{done:!0,value:a.call(t,n,r)}:{done:!0,value:e.call(n,t,r)}:{done:!1}}),{REPLACE_KEEPS_$0:Yn,REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE:Xn}),l=s[0],c=s[1];Nn(String.prototype,e,l),Nn(Qn,u,2==t?function(e,t){return c.call(e,this,t)}:function(e){return c.call(e,this)})}r&&Gn(Qn[u],"sham",!0)},er=ft,tr=C,nr=function(e){return function(t,n){var r,u,i=String(tr(t)),o=er(n),a=i.length;return o<0||o>=a?e?"":void 0:(r=i.charCodeAt(o))<55296||r>56319||o+1===a||(u=i.charCodeAt(o+1))<56320||u>57343?e?i.charAt(o):r:e?i.slice(o,o+2):u-56320+(r-55296<<10)+65536}},rr={codeAt:nr(!1),charAt:nr(!0)},ur=rr.charAt,ir=function(e,t,n){return t+(n?ur(e,t).length:1)},or=I,ar=Math.floor,sr="".replace,lr=/\$([$&'`]|\d{1,2}|<[^>]*>)/g,cr=/\$([$&'`]|\d{1,2})/g,fr=E,pr=yn,hr=function(e,t){var n=e.exec;if("function"==typeof n){var r=n.call(e,t);if("object"!=typeof r)throw TypeError("RegExp exec method returned something other than an Object or null");return r}if("RegExp"!==fr(e))throw TypeError("RegExp#exec called on incompatible receiver");return pr.call(e,t)},Dr=Jn,gr=ee,dr=Dt,vr=ft,yr=C,Ar=ir,mr=function(e,t,n,r,u,i){var o=n+e.length,a=r.length,s=cr;return void 0!==u&&(u=or(u),s=lr),sr.call(i,s,(function(i,s){var l;switch(s.charAt(0)){case"$":return"$";case"&":return e;case"`":return t.slice(0,n);case"'":return t.slice(o);case"<":l=u[s.slice(1,-1)];break;default:var c=+s;if(0===c)return i;if(c>a){var f=ar(c/10);return 0===f?i:f<=a?void 0===r[f-1]?s.charAt(1):r[f-1]+s.charAt(1):i}l=r[c-1]}return void 0===l?"":l}))},kr=hr,Er=Math.max,xr=Math.min;Dr("replace",2,(function(e,t,n,r){var u=r.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE,i=r.REPLACE_KEEPS_$0,o=u?"$":"$0";return[function(n,r){var u=yr(this),i=null==n?void 0:n[e];return void 0!==i?i.call(n,u,r):t.call(String(u),n,r)},function(e,r){if(!u&&i||"string"==typeof r&&-1===r.indexOf(o)){var a=n(t,e,this,r);if(a.done)return a.value}var s=gr(e),l=String(this),c="function"==typeof r;c||(r=String(r));var f=s.global;if(f){var p=s.unicode;s.lastIndex=0}for(var h=[];;){var D=kr(s,l);if(null===D)break;if(h.push(D),!f)break;""===String(D[0])&&(s.lastIndex=Ar(l,dr(s.lastIndex),p))}for(var g,d="",v=0,y=0;y<h.length;y++){D=h[y];for(var A=String(D[0]),m=Er(xr(vr(D.index),l.length),0),k=[],E=1;E<D.length;E++)k.push(void 0===(g=D[E])?g:String(g));var x=D.groups;if(c){var F=[A].concat(k,m,l);void 0!==x&&F.push(x);var b=String(r.apply(void 0,F))}else b=mr(A,l,m,k,x,r);m>=v&&(d+=l.slice(v,m)+b,v=m+A.length)}return d+l.slice(v)}]}));var Fr=_,br=ee,Cr=function(e){if(!Fr(e)&&null!==e)throw TypeError("Can't set "+String(e)+" as a prototype");return e},wr=Object.setPrototypeOf||("__proto__"in{}?function(){var e,t=!1,n={};try{(e=Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set).call(n,[]),t=n instanceof Array}catch(e){}return function(n,r){return br(n),Cr(r),t?e.call(n,r):n.__proto__=r,n}}():void 0),Br=_,Sr=wr,_r=_,Tr=E,Or=Mn("match"),Rr=function(e){var t;return _r(e)&&(void 0!==(t=e[Or])?!!t:"RegExp"==Tr(e))},Ir=at,jr=W,zr=g,$r=Mn("species"),Pr=function(e){var t=Ir(e),n=jr.f;zr&&t&&!t[$r]&&n(t,$r,{configurable:!0,get:function(){return this}})},Lr=g,Mr=p,Nr=Vt,Ur=function(e,t,n){var r,u;return Sr&&"function"==typeof(r=t.constructor)&&r!==n&&Br(u=r.prototype)&&u!==n.prototype&&Sr(e,u),e},qr=W.f,Zr=st.f,Gr=Rr,Hr=un,Qr=on,Vr=le.exports,Yr=D,Kr=Ye.enforce,Xr=Pr,Wr=Mn("match"),Jr=Mr.RegExp,eu=Jr.prototype,tu=/a/g,nu=/a/g,ru=new Jr(tu)!==tu,uu=Qr.UNSUPPORTED_Y;if(Lr&&Nr("RegExp",!ru||uu||Yr((function(){return nu[Wr]=!1,Jr(tu)!=tu||Jr(nu)==nu||"/a/i"!=Jr(tu,"i")})))){for(var iu=function(e,t){var n,r=this instanceof iu,u=Gr(e),i=void 0===t;if(!r&&u&&e.constructor===iu&&i)return e;ru?u&&!i&&(e=e.source):e instanceof iu&&(i&&(t=Hr.call(e)),e=e.source),uu&&(n=!!t&&t.indexOf("y")>-1)&&(t=t.replace(/y/g,""));var o=Ur(ru?new Jr(e,t):Jr(e,t),r?this:eu,iu);uu&&n&&(Kr(o).sticky=!0);return o},ou=function(e){e in iu||qr(iu,e,{configurable:!0,get:function(){return Jr[e]},set:function(t){Jr[e]=t}})},au=Zr(Jr),su=0;au.length>su;)ou(au[su++]);eu.constructor=iu,iu.prototype=eu,Vr(Mr,"RegExp",iu)}Xr("RegExp");var lu=le.exports,cu=ee,fu=D,pu=un,hu="toString",Du=RegExp.prototype,gu=Du.toString,du=fu((function(){return"/a/b"!=gu.call({source:"a",flags:"b"})})),vu=gu.name!=hu;(du||vu)&&lu(RegExp.prototype,hu,(function(){var e=cu(this),t=String(e.source),n=e.flags;return"/"+t+"/"+String(void 0===n&&e instanceof RegExp&&!("flags"in Du)?pu.call(e):n)}),{unsafe:!0});var yu=ee,Au=Dt,mu=C,ku=ir,Eu=hr;Jn("match",1,(function(e,t,n){return[function(t){var n=mu(this),r=null==t?void 0:t[e];return void 0!==r?r.call(t,n):new RegExp(t)[e](String(n))},function(e){var r=n(t,e,this);if(r.done)return r.value;var u=yu(e),i=String(this);if(!u.global)return Eu(u,i);var o=u.unicode;u.lastIndex=0;for(var a,s=[],l=0;null!==(a=Eu(u,i));){var c=String(a[0]);s[l]=c,""===c&&(u.lastIndex=ku(i,Au(u.lastIndex),o)),l++}return 0===l?null:s}]}));var xu=g,Fu=W.f,bu=Function.prototype,Cu=bu.toString,wu=/^\s*function ([^ (]*)/,Bu="name";xu&&!(Bu in bu)&&Fu(bu,Bu,{configurable:!0,get:function(){try{return Cu.call(this).match(wu)[1]}catch(e){return""}}});var Su=D,_u=function(e,t){var n=[][e];return!!n&&Su((function(){n.call(null,t||function(){throw 1},1)}))},Tu=nn,Ou=S,Ru=[].join,Iu=b!=Object,ju=_u("join",",");Tu({target:"Array",proto:!0,forced:Iu||!ju},{join:function(e){return Ru.call(Ou(this),void 0===e?",":e)}});var zu=function(e){if("function"!=typeof e)throw TypeError(String(e)+" is not a function");return e},$u=ee,Pu=zu,Lu=Mn("species"),Mu=function(e,t){var n,r=$u(e).constructor;return void 0===r||null==(n=$u(r)[Lu])?t:Pu(n)},Nu=Jn,Uu=Rr,qu=ee,Zu=C,Gu=Mu,Hu=ir,Qu=Dt,Vu=hr,Yu=yn,Ku=on.UNSUPPORTED_Y,Xu=[].push,Wu=Math.min,Ju=4294967295;Nu("split",2,(function(e,t,n){var r;return r="c"=="abbc".split(/(b)*/)[1]||4!="test".split(/(?:)/,-1).length||2!="ab".split(/(?:ab)*/).length||4!=".".split(/(.?)(.?)/).length||".".split(/()()/).length>1||"".split(/.?/).length?function(e,n){var r=String(Zu(this)),u=void 0===n?Ju:n>>>0;if(0===u)return[];if(void 0===e)return[r];if(!Uu(e))return t.call(r,e,u);for(var i,o,a,s=[],l=(e.ignoreCase?"i":"")+(e.multiline?"m":"")+(e.unicode?"u":"")+(e.sticky?"y":""),c=0,f=new RegExp(e.source,l+"g");(i=Yu.call(f,r))&&!((o=f.lastIndex)>c&&(s.push(r.slice(c,i.index)),i.length>1&&i.index<r.length&&Xu.apply(s,i.slice(1)),a=i[0].length,c=o,s.length>=u));)f.lastIndex===i.index&&f.lastIndex++;return c===r.length?!a&&f.test("")||s.push(""):s.push(r.slice(c)),s.length>u?s.slice(0,u):s}:"0".split(void 0,0).length?function(e,n){return void 0===e&&0===n?[]:t.call(this,e,n)}:t,[function(t,n){var u=Zu(this),i=null==t?void 0:t[e];return void 0!==i?i.call(t,u,n):r.call(String(u),t,n)},function(e,u){var i=n(r,e,this,u,r!==t);if(i.done)return i.value;var o=qu(e),a=String(this),s=Gu(o,RegExp),l=o.unicode,c=(o.ignoreCase?"i":"")+(o.multiline?"m":"")+(o.unicode?"u":"")+(Ku?"g":"y"),f=new s(Ku?"^(?:"+o.source+")":o,c),p=void 0===u?Ju:u>>>0;if(0===p)return[];if(0===a.length)return null===Vu(f,a)?[a]:[];for(var h=0,D=0,g=[];D<a.length;){f.lastIndex=Ku?0:D;var d,v=Vu(f,Ku?a.slice(D):a);if(null===v||(d=Wu(Qu(f.lastIndex+(Ku?D:0)),a.length))===h)D=Hu(a,D,l);else{if(g.push(a.slice(h,D)),g.length===p)return g;for(var y=1;y<=v.length-1;y++)if(g.push(v[y]),g.length===p)return g;D=h=d}}return g.push(a.slice(h)),g}]}),Ku);var ei="\t\n\v\f\r                 \u2028\u2029\ufeff",ti=C,ni="[\t\n\v\f\r                 \u2028\u2029\ufeff]",ri=RegExp("^"+ni+ni+"*"),ui=RegExp(ni+ni+"*$"),ii=function(e){return function(t){var n=String(ti(t));return 1&e&&(n=n.replace(ri,"")),2&e&&(n=n.replace(ui,"")),n}},oi={start:ii(1),end:ii(2),trim:ii(3)},ai=D,si=ei,li=function(e){return ai((function(){return!!si[e]()||"​…᠎"!="​…᠎"[e]()||si[e].name!==e}))},ci=oi.trim;nn({target:"String",proto:!0,forced:li("trim")},{trim:function(){return ci(this)}});var fi={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0},pi=zu,hi=function(e,t,n){if(pi(e),void 0===t)return e;switch(n){case 0:return function(){return e.call(t)};case 1:return function(n){return e.call(t,n)};case 2:return function(n,r){return e.call(t,n,r)};case 3:return function(n,r,u){return e.call(t,n,r,u)}}return function(){return e.apply(t,arguments)}},Di=E,gi=Array.isArray||function(e){return"Array"==Di(e)},di=_,vi=gi,yi=Mn("species"),Ai=function(e,t){var n;return vi(e)&&("function"!=typeof(n=e.constructor)||n!==Array&&!vi(n.prototype)?di(n)&&null===(n=n[yi])&&(n=void 0):n=void 0),new(void 0===n?Array:n)(0===t?0:t)},mi=hi,ki=b,Ei=I,xi=Dt,Fi=Ai,bi=[].push,Ci=function(e){var t=1==e,n=2==e,r=3==e,u=4==e,i=6==e,o=7==e,a=5==e||i;return function(s,l,c,f){for(var p,h,D=Ei(s),g=ki(D),d=mi(l,c,3),v=xi(g.length),y=0,A=f||Fi,m=t?A(s,v):n||o?A(s,0):void 0;v>y;y++)if((a||y in g)&&(h=d(p=g[y],y,D),e))if(t)m[y]=h;else if(h)switch(e){case 3:return!0;case 5:return p;case 6:return y;case 2:bi.call(m,p)}else switch(e){case 4:return!1;case 7:bi.call(m,p)}return i?-1:r||u?u:m}},wi={forEach:Ci(0),map:Ci(1),filter:Ci(2),some:Ci(3),every:Ci(4),find:Ci(5),findIndex:Ci(6),filterOut:Ci(7)},Bi=wi.forEach,Si=p,_i=fi,Ti=_u("forEach")?[].forEach:function(e){return Bi(this,e,arguments.length>1?arguments[1]:void 0)},Oi=se;for(var Ri in _i){var Ii=Si[Ri],ji=Ii&&Ii.prototype;if(ji&&ji.forEach!==Ti)try{Oi(ji,"forEach",Ti)}catch(e){ji.forEach=Ti}}var zi={};zi[Mn("toStringTag")]="z";var $i="[object z]"===String(zi),Pi=$i,Li=E,Mi=Mn("toStringTag"),Ni="Arguments"==Li(function(){return arguments}()),Ui=Pi?Li:function(e){var t,n,r;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(n=function(e,t){try{return e[t]}catch(e){}}(t=Object(e),Mi))?n:Ni?Li(t):"Object"==(r=Li(t))&&"function"==typeof t.callee?"Arguments":r},qi=Ui,Zi=$i?{}.toString:function(){return"[object "+qi(this)+"]"},Gi=$i,Hi=le.exports,Qi=Zi;Gi||Hi(Object.prototype,"toString",Qi,{unsafe:!0});var Vi=p.Promise,Yi=le.exports,Ki=W.f,Xi=$,Wi=Mn("toStringTag"),Ji=function(e,t,n){e&&!Xi(e=n?e:e.prototype,Wi)&&Ki(e,Wi,{configurable:!0,value:t})},eo={},to=eo,no=Mn("iterator"),ro=Array.prototype,uo=Ui,io=eo,oo=Mn("iterator"),ao=ee,so=ee,lo=function(e){return void 0!==e&&(to.Array===e||ro[no]===e)},co=Dt,fo=hi,po=function(e){if(null!=e)return e[oo]||e["@@iterator"]||io[uo(e)]},ho=function(e){var t=e.return;if(void 0!==t)return ao(t.call(e)).value},Do=function(e,t){this.stopped=e,this.result=t},go=Mn("iterator"),vo=!1;try{var yo=0,Ao={next:function(){return{done:!!yo++}},return:function(){vo=!0}};Ao[go]=function(){return this},Array.from(Ao,(function(){throw 2}))}catch(e){}var mo,ko,Eo,xo=at("document","documentElement"),Fo=/(?:iphone|ipod|ipad).*applewebkit/i.test(kn),bo="process"==E(p.process),Co=p,wo=D,Bo=hi,So=xo,_o=N,To=Fo,Oo=bo,Ro=Co.location,Io=Co.setImmediate,jo=Co.clearImmediate,zo=Co.process,$o=Co.MessageChannel,Po=Co.Dispatch,Lo=0,Mo={},No="onreadystatechange",Uo=function(e){if(Mo.hasOwnProperty(e)){var t=Mo[e];delete Mo[e],t()}},qo=function(e){return function(){Uo(e)}},Zo=function(e){Uo(e.data)},Go=function(e){Co.postMessage(e+"",Ro.protocol+"//"+Ro.host)};Io&&jo||(Io=function(e){for(var t=[],n=1;arguments.length>n;)t.push(arguments[n++]);return Mo[++Lo]=function(){("function"==typeof e?e:Function(e)).apply(void 0,t)},mo(Lo),Lo},jo=function(e){delete Mo[e]},Oo?mo=function(e){zo.nextTick(qo(e))}:Po&&Po.now?mo=function(e){Po.now(qo(e))}:$o&&!To?(Eo=(ko=new $o).port2,ko.port1.onmessage=Zo,mo=Bo(Eo.postMessage,Eo,1)):Co.addEventListener&&"function"==typeof postMessage&&!Co.importScripts&&Ro&&"file:"!==Ro.protocol&&!wo(Go)?(mo=Go,Co.addEventListener("message",Zo,!1)):mo=No in _o("script")?function(e){So.appendChild(_o("script")).onreadystatechange=function(){So.removeChild(this),Uo(e)}}:function(e){setTimeout(qo(e),0)});var Ho,Qo,Vo,Yo,Ko,Xo,Wo,Jo,ea={set:Io,clear:jo},ta=/web0s(?!.*chrome)/i.test(kn),na=p,ra=h.f,ua=ea.set,ia=Fo,oa=ta,aa=bo,sa=na.MutationObserver||na.WebKitMutationObserver,la=na.document,ca=na.process,fa=na.Promise,pa=ra(na,"queueMicrotask"),ha=pa&&pa.value;ha||(Ho=function(){var e,t;for(aa&&(e=ca.domain)&&e.exit();Qo;){t=Qo.fn,Qo=Qo.next;try{t()}catch(e){throw Qo?Yo():Vo=void 0,e}}Vo=void 0,e&&e.enter()},ia||aa||oa||!sa||!la?fa&&fa.resolve?((Wo=fa.resolve(void 0)).constructor=fa,Jo=Wo.then,Yo=function(){Jo.call(Wo,Ho)}):Yo=aa?function(){ca.nextTick(Ho)}:function(){ua.call(na,Ho)}:(Ko=!0,Xo=la.createTextNode(""),new sa(Ho).observe(Xo,{characterData:!0}),Yo=function(){Xo.data=Ko=!Ko}));var Da=ha||function(e){var t={fn:e,next:void 0};Vo&&(Vo.next=t),Qo||(Qo=t,Yo()),Vo=t},ga={},da=zu,va=function(e){var t,n;this.promise=new e((function(e,r){if(void 0!==t||void 0!==n)throw TypeError("Bad Promise constructor");t=e,n=r})),this.resolve=da(t),this.reject=da(n)};ga.f=function(e){return new va(e)};var ya,Aa,ma,ka,Ea=ee,xa=_,Fa=ga,ba=p,Ca="object"==typeof window,wa=nn,Ba=p,Sa=at,_a=Vi,Ta=le.exports,Oa=function(e,t,n){for(var r in t)Yi(e,r,t[r],n);return e},Ra=wr,Ia=Ji,ja=Pr,za=_,$a=zu,Pa=function(e,t,n){if(!(e instanceof t))throw TypeError("Incorrect "+(n?n+" ":"")+"invocation");return e},La=ye,Ma=function(e,t,n){var r,u,i,o,a,s,l,c=n&&n.that,f=!(!n||!n.AS_ENTRIES),p=!(!n||!n.IS_ITERATOR),h=!(!n||!n.INTERRUPTED),D=fo(t,c,1+f+h),g=function(e){return r&&ho(r),new Do(!0,e)},d=function(e){return f?(so(e),h?D(e[0],e[1],g):D(e[0],e[1])):h?D(e,g):D(e)};if(p)r=e;else{if("function"!=typeof(u=po(e)))throw TypeError("Target is not iterable");if(lo(u)){for(i=0,o=co(e.length);o>i;i++)if((a=d(e[i]))&&a instanceof Do)return a;return new Do(!1)}r=u.call(e)}for(s=r.next;!(l=s.call(r)).done;){try{a=d(l.value)}catch(e){throw ho(r),e}if("object"==typeof a&&a&&a instanceof Do)return a}return new Do(!1)},Na=function(e,t){if(!t&&!vo)return!1;var n=!1;try{var r={};r[go]=function(){return{next:function(){return{done:n=!0}}}},e(r)}catch(e){}return n},Ua=Mu,qa=ea.set,Za=Da,Ga=function(e,t){if(Ea(e),xa(t)&&t.constructor===e)return t;var n=Fa.f(e);return(0,n.resolve)(t),n.promise},Ha=function(e,t){var n=ba.console;n&&n.error&&(1===arguments.length?n.error(e):n.error(e,t))},Qa=ga,Va=function(e){try{return{error:!1,value:e()}}catch(e){return{error:!0,value:e}}},Ya=Ye,Ka=Vt,Xa=Ca,Wa=bo,Ja=Cn,es=Mn("species"),ts="Promise",ns=Ya.get,rs=Ya.set,us=Ya.getterFor(ts),is=_a&&_a.prototype,os=_a,as=is,ss=Ba.TypeError,ls=Ba.document,cs=Ba.process,fs=Qa.f,ps=fs,hs=!!(ls&&ls.createEvent&&Ba.dispatchEvent),Ds="function"==typeof PromiseRejectionEvent,gs="unhandledrejection",ds=!1,vs=Ka(ts,(function(){var e=La(os)!==String(os);if(!e&&66===Ja)return!0;if(Ja>=51&&/native code/.test(os))return!1;var t=new os((function(e){e(1)})),n=function(e){e((function(){}),(function(){}))};return(t.constructor={})[es]=n,!(ds=t.then((function(){}))instanceof n)||!e&&Xa&&!Ds})),ys=vs||!Na((function(e){os.all(e).catch((function(){}))})),As=function(e){var t;return!(!za(e)||"function"!=typeof(t=e.then))&&t},ms=function(e,t){if(!e.notified){e.notified=!0;var n=e.reactions;Za((function(){for(var r=e.value,u=1==e.state,i=0;n.length>i;){var o,a,s,l=n[i++],c=u?l.ok:l.fail,f=l.resolve,p=l.reject,h=l.domain;try{c?(u||(2===e.rejection&&Fs(e),e.rejection=1),!0===c?o=r:(h&&h.enter(),o=c(r),h&&(h.exit(),s=!0)),o===l.promise?p(ss("Promise-chain cycle")):(a=As(o))?a.call(o,f,p):f(o)):p(r)}catch(e){h&&!s&&h.exit(),p(e)}}e.reactions=[],e.notified=!1,t&&!e.rejection&&Es(e)}))}},ks=function(e,t,n){var r,u;hs?((r=ls.createEvent("Event")).promise=t,r.reason=n,r.initEvent(e,!1,!0),Ba.dispatchEvent(r)):r={promise:t,reason:n},!Ds&&(u=Ba["on"+e])?u(r):e===gs&&Ha("Unhandled promise rejection",n)},Es=function(e){qa.call(Ba,(function(){var t,n=e.facade,r=e.value;if(xs(e)&&(t=Va((function(){Wa?cs.emit("unhandledRejection",r,n):ks(gs,n,r)})),e.rejection=Wa||xs(e)?2:1,t.error))throw t.value}))},xs=function(e){return 1!==e.rejection&&!e.parent},Fs=function(e){qa.call(Ba,(function(){var t=e.facade;Wa?cs.emit("rejectionHandled",t):ks("rejectionhandled",t,e.value)}))},bs=function(e,t,n){return function(r){e(t,r,n)}},Cs=function(e,t,n){e.done||(e.done=!0,n&&(e=n),e.value=t,e.state=2,ms(e,!0))},ws=function(e,t,n){if(!e.done){e.done=!0,n&&(e=n);try{if(e.facade===t)throw ss("Promise can't be resolved itself");var r=As(t);r?Za((function(){var n={done:!1};try{r.call(t,bs(ws,n,e),bs(Cs,n,e))}catch(t){Cs(n,t,e)}})):(e.value=t,e.state=1,ms(e,!1))}catch(t){Cs({done:!1},t,e)}}};if(vs&&(as=(os=function(e){Pa(this,os,ts),$a(e),ya.call(this);var t=ns(this);try{e(bs(ws,t),bs(Cs,t))}catch(e){Cs(t,e)}}).prototype,(ya=function(e){rs(this,{type:ts,done:!1,notified:!1,parent:!1,reactions:[],rejection:!1,state:0,value:void 0})}).prototype=Oa(as,{then:function(e,t){var n=us(this),r=fs(Ua(this,os));return r.ok="function"!=typeof e||e,r.fail="function"==typeof t&&t,r.domain=Wa?cs.domain:void 0,n.parent=!0,n.reactions.push(r),0!=n.state&&ms(n,!1),r.promise},catch:function(e){return this.then(void 0,e)}}),Aa=function(){var e=new ya,t=ns(e);this.promise=e,this.resolve=bs(ws,t),this.reject=bs(Cs,t)},Qa.f=fs=function(e){return e===os||e===ma?new Aa(e):ps(e)},"function"==typeof _a&&is!==Object.prototype)){ka=is.then,ds||(Ta(is,"then",(function(e,t){var n=this;return new os((function(e,t){ka.call(n,e,t)})).then(e,t)}),{unsafe:!0}),Ta(is,"catch",as.catch,{unsafe:!0}));try{delete is.constructor}catch(e){}Ra&&Ra(is,as)}wa({global:!0,wrap:!0,forced:vs},{Promise:os}),Ia(os,ts,!1),ja(ts),ma=Sa(ts),wa({target:ts,stat:!0,forced:vs},{reject:function(e){var t=fs(this);return t.reject.call(void 0,e),t.promise}}),wa({target:ts,stat:!0,forced:vs},{resolve:function(e){return Ga(this,e)}}),wa({target:ts,stat:!0,forced:ys},{all:function(e){var t=this,n=fs(t),r=n.resolve,u=n.reject,i=Va((function(){var n=$a(t.resolve),i=[],o=0,a=1;Ma(e,(function(e){var s=o++,l=!1;i.push(void 0),a++,n.call(t,e).then((function(e){l||(l=!0,i[s]=e,--a||r(i))}),u)})),--a||r(i)}));return i.error&&u(i.value),n.promise},race:function(e){var t=this,n=fs(t),r=n.reject,u=Va((function(){var u=$a(t.resolve);Ma(e,(function(e){u.call(t,e).then(n.resolve,r)}))}));return u.error&&r(u.value),n.promise}});var Bs=O,Ss=W,_s=m,Ts=function(e,t,n){var r=Bs(t);r in e?Ss.f(e,r,_s(0,n)):e[r]=n},Os=D,Rs=Cn,Is=Mn("species"),js=function(e){return Rs>=51||!Os((function(){var t=[];return(t.constructor={})[Is]=function(){return{foo:1}},1!==t[e](Boolean).foo}))},zs=nn,$s=_,Ps=gi,Ls=yt,Ms=Dt,Ns=S,Us=Ts,qs=Mn,Zs=js("slice"),Gs=qs("species"),Hs=[].slice,Qs=Math.max;zs({target:"Array",proto:!0,forced:!Zs},{slice:function(e,t){var n,r,u,i=Ns(this),o=Ms(i.length),a=Ls(e,o),s=Ls(void 0===t?o:t,o);if(Ps(i)&&("function"!=typeof(n=i.constructor)||n!==Array&&!Ps(n.prototype)?$s(n)&&null===(n=n[Gs])&&(n=void 0):n=void 0,n===Array||void 0===n))return Hs.call(i,a,s);for(r=new(void 0===n?Array:n)(Qs(s-a,0)),u=0;a<s;a++,u++)a in i&&Us(r,u,i[a]);return r.length=u,r}});var Vs,Ys=Bt,Ks=St,Xs=Object.keys||function(e){return Ys(e,Ks)},Ws=W,Js=ee,el=Xs,tl=g?Object.defineProperties:function(e,t){Js(e);for(var n,r=el(t),u=r.length,i=0;u>i;)Ws.f(e,n=r[i++],t[n]);return e},nl=ee,rl=tl,ul=St,il=Ie,ol=xo,al=N,sl=Re("IE_PROTO"),ll=function(){},cl=function(e){return"<script>"+e+"</"+"script>"},fl=function(){try{Vs=document.domain&&new ActiveXObject("htmlfile")}catch(e){}var e,t;fl=Vs?function(e){e.write(cl("")),e.close();var t=e.parentWindow.Object;return e=null,t}(Vs):((t=al("iframe")).style.display="none",ol.appendChild(t),t.src=String("javascript:"),(e=t.contentWindow.document).open(),e.write(cl("document.F=Object")),e.close(),e.F);for(var n=ul.length;n--;)delete fl.prototype[ul[n]];return fl()};il[sl]=!0;var pl=Object.create||function(e,t){var n;return null!==e?(ll.prototype=nl(e),n=new ll,ll.prototype=null,n[sl]=e):n=fl(),void 0===t?n:rl(n,t)},hl=pl,Dl=W,gl=Mn("unscopables"),dl=Array.prototype;null==dl[gl]&&Dl.f(dl,gl,{configurable:!0,value:hl(null)});var vl,yl,Al,ml=function(e){dl[gl][e]=!0},kl=!D((function(){function e(){}return e.prototype.constructor=null,Object.getPrototypeOf(new e)!==e.prototype})),El=$,xl=I,Fl=kl,bl=Re("IE_PROTO"),Cl=Object.prototype,wl=Fl?Object.getPrototypeOf:function(e){return e=xl(e),El(e,bl)?e[bl]:"function"==typeof e.constructor&&e instanceof e.constructor?e.constructor.prototype:e instanceof Object?Cl:null},Bl=D,Sl=wl,_l=se,Tl=$,Ol=Mn("iterator"),Rl=!1;[].keys&&("next"in(Al=[].keys())?(yl=Sl(Sl(Al)))!==Object.prototype&&(vl=yl):Rl=!0),(null==vl||Bl((function(){var e={};return vl[Ol].call(e)!==e})))&&(vl={}),Tl(vl,Ol)||_l(vl,Ol,(function(){return this}));var Il={IteratorPrototype:vl,BUGGY_SAFARI_ITERATORS:Rl},jl=Il.IteratorPrototype,zl=pl,$l=m,Pl=Ji,Ll=eo,Ml=function(){return this},Nl=nn,Ul=function(e,t,n){var r=t+" Iterator";return e.prototype=zl(jl,{next:$l(1,n)}),Pl(e,r,!1),Ll[r]=Ml,e},ql=wl,Zl=wr,Gl=Ji,Hl=se,Ql=le.exports,Vl=eo,Yl=Il.IteratorPrototype,Kl=Il.BUGGY_SAFARI_ITERATORS,Xl=Mn("iterator"),Wl="keys",Jl="values",ec="entries",tc=function(){return this},nc=function(e,t,n,r,u,i,o){Ul(n,t,r);var a,s,l,c=function(e){if(e===u&&g)return g;if(!Kl&&e in h)return h[e];switch(e){case Wl:case Jl:case ec:return function(){return new n(this,e)}}return function(){return new n(this)}},f=t+" Iterator",p=!1,h=e.prototype,D=h[Xl]||h["@@iterator"]||u&&h[u],g=!Kl&&D||c(u),d="Array"==t&&h.entries||D;if(d&&(a=ql(d.call(new e)),Yl!==Object.prototype&&a.next&&(ql(a)!==Yl&&(Zl?Zl(a,Yl):"function"!=typeof a[Xl]&&Hl(a,Xl,tc)),Gl(a,f,!0))),u==Jl&&D&&D.name!==Jl&&(p=!0,g=function(){return D.call(this)}),h[Xl]!==g&&Hl(h,Xl,g),Vl[t]=g,u)if(s={values:c(Jl),keys:i?g:c(Wl),entries:c(ec)},o)for(l in s)(Kl||p||!(l in h))&&Ql(h,l,s[l]);else Nl({target:t,proto:!0,forced:Kl||p},s);return s},rc=S,uc=ml,ic=eo,oc=Ye,ac=nc,sc="Array Iterator",lc=oc.set,cc=oc.getterFor(sc),fc=ac(Array,"Array",(function(e,t){lc(this,{type:sc,target:rc(e),index:0,kind:t})}),(function(){var e=cc(this),t=e.target,n=e.kind,r=e.index++;return!t||r>=t.length?(e.target=void 0,{value:void 0,done:!0}):"keys"==n?{value:r,done:!1}:"values"==n?{value:t[r],done:!1}:{value:[r,t[r]],done:!1}}),"values");ic.Arguments=ic.Array,uc("keys"),uc("values"),uc("entries");var pc=rr.charAt,hc=Ye,Dc=nc,gc="String Iterator",dc=hc.set,vc=hc.getterFor(gc);Dc(String,"String",(function(e){dc(this,{type:gc,string:String(e),index:0})}),(function(){var e,t=vc(this),n=t.string,r=t.index;return r>=n.length?{value:void 0,done:!0}:(e=pc(n,r),t.index+=e.length,{value:e,done:!1})}));var yc=p,Ac=fi,mc=fc,kc=se,Ec=Mn,xc=Ec("iterator"),Fc=Ec("toStringTag"),bc=mc.values;for(var Cc in Ac){var wc=yc[Cc],Bc=wc&&wc.prototype;if(Bc){if(Bc[xc]!==bc)try{kc(Bc,xc,bc)}catch(e){Bc[xc]=bc}if(Bc[Fc]||kc(Bc,Fc,Cc),Ac[Cc])for(var Sc in mc)if(Bc[Sc]!==mc[Sc])try{kc(Bc,Sc,mc[Sc])}catch(e){Bc[Sc]=mc[Sc]}}}var _c=nn,Tc=D,Oc=gi,Rc=_,Ic=I,jc=Dt,zc=Ts,$c=Ai,Pc=js,Lc=Cn,Mc=Mn("isConcatSpreadable"),Nc=9007199254740991,Uc="Maximum allowed index exceeded",qc=Lc>=51||!Tc((function(){var e=[];return e[Mc]=!1,e.concat()[0]!==e})),Zc=Pc("concat"),Gc=function(e){if(!Rc(e))return!1;var t=e[Mc];return void 0!==t?!!t:Oc(e)};_c({target:"Array",proto:!0,forced:!qc||!Zc},{concat:function(e){var t,n,r,u,i,o=Ic(this),a=$c(o,0),s=0;for(t=-1,r=arguments.length;t<r;t++)if(Gc(i=-1===t?o:arguments[t])){if(s+(u=jc(i.length))>Nc)throw TypeError(Uc);for(n=0;n<u;n++,s++)n in i&&zc(a,s,i[n])}else{if(s>=Nc)throw TypeError(Uc);zc(a,s++,i)}return a.length=s,a}});var Hc=nn,Qc=yt,Vc=ft,Yc=Dt,Kc=I,Xc=Ai,Wc=Ts,Jc=js("splice"),ef=Math.max,tf=Math.min,nf=9007199254740991,rf="Maximum allowed length exceeded";Hc({target:"Array",proto:!0,forced:!Jc},{splice:function(e,t){var n,r,u,i,o,a,s=Kc(this),l=Yc(s.length),c=Qc(e,l),f=arguments.length;if(0===f?n=r=0:1===f?(n=0,r=l-c):(n=f-2,r=tf(ef(Vc(t),0),l-c)),l+n-r>nf)throw TypeError(rf);for(u=Xc(s,r),i=0;i<r;i++)(o=c+i)in s&&Wc(u,i,s[o]);if(u.length=r,n<r){for(i=c;i<l-r;i++)a=i+n,(o=i+r)in s?s[a]=s[o]:delete s[a];for(i=l;i>l-r+n;i--)delete s[i-1]}else if(n>r)for(i=l-r;i>c;i--)a=i+n-1,(o=i+r-1)in s?s[a]=s[o]:delete s[a];for(i=0;i<n;i++)s[i+c]=arguments[i+2];return s.length=l-r+n,u}});var uf=wi.map;nn({target:"Array",proto:!0,forced:!js("map")},{map:function(e){return uf(this,e,arguments.length>1?arguments[1]:void 0)}});var of=nn,af=oi.start,sf=li("trimStart"),lf=sf?function(){return af(this)}:"".trimStart;of({target:"String",proto:!0,forced:sf},{trimStart:lf,trimLeft:lf});var cf=Object.is||function(e,t){return e===t?0!==e||1/e==1/t:e!=e&&t!=t},ff=ee,pf=C,hf=cf,Df=hr;Jn("search",1,(function(e,t,n){return[function(t){var n=pf(this),r=null==t?void 0:t[e];return void 0!==r?r.call(t,n):new RegExp(t)[e](String(n))},function(e){var r=n(t,e,this);if(r.done)return r.value;var u=ff(e),i=String(this),o=u.lastIndex;hf(o,0)||(u.lastIndex=0);var a=Df(u,i);return hf(u.lastIndex,o)||(u.lastIndex=o),null===a?-1:a.index}]}));var gf=nn,df=oi.end,vf=li("trimEnd"),yf=vf?function(){return df(this)}:"".trimEnd;gf({target:"String",proto:!0,forced:vf},{trimEnd:yf,trimRight:yf});var Af=wi.filter;nn({target:"Array",proto:!0,forced:!js("filter")},{filter:function(e){return Af(this,e,arguments.length>1?arguments[1]:void 0)}});var mf=C,kf=/"/g,Ef=D,xf=function(e,t,n,r){var u=String(mf(e)),i="<"+t;return""!==n&&(i+=" "+n+'="'+String(r).replace(kf,"&quot;")+'"'),i+">"+u+"</"+t+">"};nn({target:"String",proto:!0,forced:function(e){return Ef((function(){var t=""[e]('"');return t!==t.toLowerCase()||t.split('"').length>3}))}("link")},{link:function(e){return xf(this,"a","href",e)}});var Ff=I,bf=Xs;nn({target:"Object",stat:!0,forced:D((function(){bf(1)}))},{keys:function(e){return bf(Ff(e))}});var Cf=xt.includes,wf=ml;nn({target:"Array",proto:!0},{includes:function(e){return Cf(this,e,arguments.length>1?arguments[1]:void 0)}}),wf("includes");var Bf=Rr,Sf=Mn("match"),_f=function(e){if(Bf(e))throw TypeError("The method doesn't accept regular expressions");return e},Tf=C;function Of(){return{baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1}}nn({target:"String",proto:!0,forced:!function(e){var t=/./;try{"/./"[e](t)}catch(n){try{return t[Sf]=!1,"/./"[e](t)}catch(e){}}return!1}("includes")},{includes:function(e){return!!~String(Tf(this)).indexOf(_f(e),arguments.length>1?arguments[1]:void 0)}});var Rf={baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1};var If=/[&<>"']/,jf=/[&<>"']/g,zf=/[<>"']|&(?!#?\w+;)/,$f=/[<>"']|&(?!#?\w+;)/g,Pf={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},Lf=function(e){return Pf[e]};function Mf(e,t){if(t){if(If.test(e))return e.replace(jf,Lf)}else if(zf.test(e))return e.replace($f,Lf);return e}var Nf=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi;function Uf(e){return e.replace(Nf,(function(e,t){return"colon"===(t=t.toLowerCase())?":":"#"===t.charAt(0)?"x"===t.charAt(1)?String.fromCharCode(parseInt(t.substring(2),16)):String.fromCharCode(+t.substring(1)):""}))}var qf=/(^|[^\[])\^/g;function Zf(e,t){e=e.source||e,t=t||"";var n={replace:function(t,r){return r=(r=r.source||r).replace(qf,"$1"),e=e.replace(t,r),n},getRegex:function(){return new RegExp(e,t)}};return n}var Gf=/[^\w:]/g,Hf=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;function Qf(e,t,n){if(e){var r;try{r=decodeURIComponent(Uf(n)).replace(Gf,"").toLowerCase()}catch(e){return null}if(0===r.indexOf("javascript:")||0===r.indexOf("vbscript:")||0===r.indexOf("data:"))return null}t&&!Hf.test(n)&&(n=function(e,t){Vf[" "+e]||(Yf.test(e)?Vf[" "+e]=e+"/":Vf[" "+e]=tp(e,"/",!0));var n=-1===(e=Vf[" "+e]).indexOf(":");return"//"===t.substring(0,2)?n?t:e.replace(Kf,"$1")+t:"/"===t.charAt(0)?n?t:e.replace(Xf,"$1")+t:e+t}(t,n));try{n=encodeURI(n).replace(/%25/g,"%")}catch(e){return null}return n}var Vf={},Yf=/^[^:]+:\/*[^/]*$/,Kf=/^([^:]+:)[\s\S]*$/,Xf=/^([^:]+:\/*[^/]*)[\s\S]*$/;var Wf={exec:function(){}};function Jf(e){for(var t,n,r=1;r<arguments.length;r++)for(n in t=arguments[r])Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e}function ep(e,t){var n=e.replace(/\|/g,(function(e,t,n){for(var r=!1,u=t;--u>=0&&"\\"===n[u];)r=!r;return r?"|":" |"})).split(/ \|/),r=0;if(n[0].trim()||n.shift(),n.length>0&&!n[n.length-1].trim()&&n.pop(),n.length>t)n.splice(t);else for(;n.length<t;)n.push("");for(;r<n.length;r++)n[r]=n[r].trim().replace(/\\\|/g,"|");return n}function tp(e,t,n){var r=e.length;if(0===r)return"";for(var u=0;u<r;){var i=e.charAt(r-u-1);if(i!==t||n){if(i===t||!n)break;u++}else u++}return e.substr(0,r-u)}function np(e){e&&e.sanitize&&!e.silent&&console.warn("marked(): sanitize and sanitizer parameters are deprecated since version 0.7.0, should not be used and will be removed in the future. Read more here: https://marked.js.org/#/USING_ADVANCED.md#options")}function rp(e,t){if(t<1)return"";for(var n="";t>1;)1&t&&(n+=e),t>>=1,e+=e;return n+e}function up(e,t,n,r){var u=t.href,i=t.title?Mf(t.title):null,o=e[1].replace(/\\([\[\]])/g,"$1");if("!"!==e[0].charAt(0)){r.state.inLink=!0;var a={type:"link",raw:n,href:u,title:i,text:o,tokens:r.inlineTokens(o,[])};return r.state.inLink=!1,a}return{type:"image",raw:n,href:u,title:i,text:Mf(o)}}var ip=function(){function e(n){t(this,e),this.options=n||Rf}return r(e,[{key:"space",value:function(e){var t=this.rules.block.newline.exec(e);if(t&&t[0].length>0)return{type:"space",raw:t[0]}}},{key:"code",value:function(e){var t=this.rules.block.code.exec(e);if(t){var n=t[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:t[0],codeBlockStyle:"indented",text:this.options.pedantic?n:tp(n,"\n")}}}},{key:"fences",value:function(e){var t=this.rules.block.fences.exec(e);if(t){var n=t[0],r=function(e,t){var n=e.match(/^(\s+)(?:```)/);if(null===n)return t;var r=n[1];return t.split("\n").map((function(e){var t=e.match(/^\s+/);return null===t?e:o(t,1)[0].length>=r.length?e.slice(r.length):e})).join("\n")}(n,t[3]||"");return{type:"code",raw:n,lang:t[2]?t[2].trim():t[2],text:r}}}},{key:"heading",value:function(e){var t=this.rules.block.heading.exec(e);if(t){var n=t[2].trim();if(/#$/.test(n)){var r=tp(n,"#");this.options.pedantic?n=r.trim():r&&!/ $/.test(r)||(n=r.trim())}var u={type:"heading",raw:t[0],depth:t[1].length,text:n,tokens:[]};return this.lexer.inline(u.text,u.tokens),u}}},{key:"hr",value:function(e){var t=this.rules.block.hr.exec(e);if(t)return{type:"hr",raw:t[0]}}},{key:"blockquote",value:function(e){var t=this.rules.block.blockquote.exec(e);if(t){var n=t[0].replace(/^ *> ?/gm,"");return{type:"blockquote",raw:t[0],tokens:this.lexer.blockTokens(n,[]),text:n}}}},{key:"list",value:function(e){var t=this.rules.block.list.exec(e);if(t){var n,r,u,i,o,a,s,c,f,p,h,D,g=t[1].trim(),d=g.length>1,v={type:"list",raw:"",ordered:d,start:d?+g.slice(0,-1):"",loose:!1,items:[]};g=d?"\\d{1,9}\\".concat(g.slice(-1)):"\\".concat(g),this.options.pedantic&&(g=d?g:"[*+-]");for(var y=new RegExp("^( {0,3}".concat(g,")((?: [^\\n]*)?(?:\\n|$))"));e&&(D=!1,t=y.exec(e))&&!this.rules.block.hr.test(e);){if(n=t[0],e=e.substring(n.length),c=t[2].split("\n",1)[0],f=e.split("\n",1)[0],this.options.pedantic?(i=2,h=c.trimLeft()):(i=(i=t[2].search(/[^ ]/))>4?1:i,h=c.slice(i),i+=t[1].length),a=!1,!c&&/^ *$/.test(f)&&(n+=f+"\n",e=e.substring(f.length+1),D=!0),!D)for(var A=new RegExp("^ {0,".concat(Math.min(3,i-1),"}(?:[*+-]|\\d{1,9}[.)])"));e&&(c=p=e.split("\n",1)[0],this.options.pedantic&&(c=c.replace(/^ {1,4}(?=( {4})*[^ ])/g," ")),!A.test(c));){if(c.search(/[^ ]/)>=i||!c.trim())h+="\n"+c.slice(i);else{if(a)break;h+="\n"+c}a||c.trim()||(a=!0),n+=p+"\n",e=e.substring(p.length+1)}v.loose||(s?v.loose=!0:/\n *\n *$/.test(n)&&(s=!0)),this.options.gfm&&(r=/^\[[ xX]\] /.exec(h))&&(u="[ ] "!==r[0],h=h.replace(/^\[[ xX]\] +/,"")),v.items.push({type:"list_item",raw:n,task:!!r,checked:u,loose:!1,text:h}),v.raw+=n}v.items[v.items.length-1].raw=n.trimRight(),v.items[v.items.length-1].text=h.trimRight(),v.raw=v.raw.trimRight();var m=v.items.length;for(o=0;o<m;o++){this.lexer.state.top=!1,v.items[o].tokens=this.lexer.blockTokens(v.items[o].text,[]);var k=v.items[o].tokens.filter((function(e){return"space"===e.type})),E=k.every((function(e){var t,n=0,r=l(e.raw.split(""));try{for(r.s();!(t=r.n()).done;){if("\n"===t.value&&(n+=1),n>1)return!0}}catch(e){r.e(e)}finally{r.f()}return!1}));!v.loose&&k.length&&E&&(v.loose=!0,v.items[o].loose=!0)}return v}}},{key:"html",value:function(e){var t=this.rules.block.html.exec(e);if(t){var n={type:"html",raw:t[0],pre:!this.options.sanitizer&&("pre"===t[1]||"script"===t[1]||"style"===t[1]),text:t[0]};return this.options.sanitize&&(n.type="paragraph",n.text=this.options.sanitizer?this.options.sanitizer(t[0]):Mf(t[0]),n.tokens=[],this.lexer.inline(n.text,n.tokens)),n}}},{key:"def",value:function(e){var t=this.rules.block.def.exec(e);if(t)return t[3]&&(t[3]=t[3].substring(1,t[3].length-1)),{type:"def",tag:t[1].toLowerCase().replace(/\s+/g," "),raw:t[0],href:t[2],title:t[3]}}},{key:"table",value:function(e){var t=this.rules.block.table.exec(e);if(t){var n={type:"table",header:ep(t[1]).map((function(e){return{text:e}})),align:t[2].replace(/^ *|\| *$/g,"").split(/ *\| */),rows:t[3]&&t[3].trim()?t[3].replace(/\n[ \t]*$/,"").split("\n"):[]};if(n.header.length===n.align.length){n.raw=t[0];var r,u,i,o,a=n.align.length;for(r=0;r<a;r++)/^ *-+: *$/.test(n.align[r])?n.align[r]="right":/^ *:-+: *$/.test(n.align[r])?n.align[r]="center":/^ *:-+ *$/.test(n.align[r])?n.align[r]="left":n.align[r]=null;for(a=n.rows.length,r=0;r<a;r++)n.rows[r]=ep(n.rows[r],n.header.length).map((function(e){return{text:e}}));for(a=n.header.length,u=0;u<a;u++)n.header[u].tokens=[],this.lexer.inlineTokens(n.header[u].text,n.header[u].tokens);for(a=n.rows.length,u=0;u<a;u++)for(o=n.rows[u],i=0;i<o.length;i++)o[i].tokens=[],this.lexer.inlineTokens(o[i].text,o[i].tokens);return n}}}},{key:"lheading",value:function(e){var t=this.rules.block.lheading.exec(e);if(t){var n={type:"heading",raw:t[0],depth:"="===t[2].charAt(0)?1:2,text:t[1],tokens:[]};return this.lexer.inline(n.text,n.tokens),n}}},{key:"paragraph",value:function(e){var t=this.rules.block.paragraph.exec(e);if(t){var n={type:"paragraph",raw:t[0],text:"\n"===t[1].charAt(t[1].length-1)?t[1].slice(0,-1):t[1],tokens:[]};return this.lexer.inline(n.text,n.tokens),n}}},{key:"text",value:function(e){var t=this.rules.block.text.exec(e);if(t){var n={type:"text",raw:t[0],text:t[0],tokens:[]};return this.lexer.inline(n.text,n.tokens),n}}},{key:"escape",value:function(e){var t=this.rules.inline.escape.exec(e);if(t)return{type:"escape",raw:t[0],text:Mf(t[1])}}},{key:"tag",value:function(e){var t=this.rules.inline.tag.exec(e);if(t)return!this.lexer.state.inLink&&/^<a /i.test(t[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&/^<\/a>/i.test(t[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&/^<(pre|code|kbd|script)(\s|>)/i.test(t[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(t[0])&&(this.lexer.state.inRawBlock=!1),{type:this.options.sanitize?"text":"html",raw:t[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,text:this.options.sanitize?this.options.sanitizer?this.options.sanitizer(t[0]):Mf(t[0]):t[0]}}},{key:"link",value:function(e){var t=this.rules.inline.link.exec(e);if(t){var n=t[2].trim();if(!this.options.pedantic&&/^</.test(n)){if(!/>$/.test(n))return;var r=tp(n.slice(0,-1),"\\");if((n.length-r.length)%2==0)return}else{var u=function(e,t){if(-1===e.indexOf(t[1]))return-1;for(var n=e.length,r=0,u=0;u<n;u++)if("\\"===e[u])u++;else if(e[u]===t[0])r++;else if(e[u]===t[1]&&--r<0)return u;return-1}(t[2],"()");if(u>-1){var i=(0===t[0].indexOf("!")?5:4)+t[1].length+u;t[2]=t[2].substring(0,u),t[0]=t[0].substring(0,i).trim(),t[3]=""}}var o=t[2],a="";if(this.options.pedantic){var s=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(o);s&&(o=s[1],a=s[3])}else a=t[3]?t[3].slice(1,-1):"";return o=o.trim(),/^</.test(o)&&(o=this.options.pedantic&&!/>$/.test(n)?o.slice(1):o.slice(1,-1)),up(t,{href:o?o.replace(this.rules.inline._escapes,"$1"):o,title:a?a.replace(this.rules.inline._escapes,"$1"):a},t[0],this.lexer)}}},{key:"reflink",value:function(e,t){var n;if((n=this.rules.inline.reflink.exec(e))||(n=this.rules.inline.nolink.exec(e))){var r=(n[2]||n[1]).replace(/\s+/g," ");if(!(r=t[r.toLowerCase()])||!r.href){var u=n[0].charAt(0);return{type:"text",raw:u,text:u}}return up(n,r,n[0],this.lexer)}}},{key:"emStrong",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",r=this.rules.inline.emStrong.lDelim.exec(e);if(r&&(!r[3]||!n.match(/(?:[0-9A-Za-z\xAA\xB2\xB3\xB5\xB9\xBA\xBC-\xBE\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u0660-\u0669\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07C0-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08C7\u0904-\u0939\u093D\u0950\u0958-\u0961\u0966-\u096F\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09E6-\u09F1\u09F4-\u09F9\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A66-\u0A6F\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AE6-\u0AEF\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B66-\u0B6F\u0B71-\u0B77\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0BE6-\u0BF2\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C66-\u0C6F\u0C78-\u0C7E\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CE6-\u0CEF\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D58-\u0D61\u0D66-\u0D78\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DE6-\u0DEF\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F20-\u0F33\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F-\u1049\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u1090-\u1099\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1369-\u137C\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u17E0-\u17E9\u17F0-\u17F9\u1810-\u1819\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A16\u1A20-\u1A54\u1A80-\u1A89\u1A90-\u1A99\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B50-\u1B59\u1B83-\u1BA0\u1BAE-\u1BE5\u1C00-\u1C23\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2070\u2071\u2074-\u2079\u207F-\u2089\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2150-\u2189\u2460-\u249B\u24EA-\u24FF\u2776-\u2793\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2CFD\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u3192-\u3195\u31A0-\u31BF\u31F0-\u31FF\u3220-\u3229\u3248-\u324F\u3251-\u325F\u3280-\u3289\u32B1-\u32BF\u3400-\u4DBF\u4E00-\u9FFC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7BF\uA7C2-\uA7CA\uA7F5-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA830-\uA835\uA840-\uA873\uA882-\uA8B3\uA8D0-\uA8D9\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA900-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF-\uA9D9\uA9E0-\uA9E4\uA9E6-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA50-\uAA59\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD07-\uDD33\uDD40-\uDD78\uDD8A\uDD8B\uDE80-\uDE9C\uDEA0-\uDED0\uDEE1-\uDEFB\uDF00-\uDF23\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC58-\uDC76\uDC79-\uDC9E\uDCA7-\uDCAF\uDCE0-\uDCF2\uDCF4\uDCF5\uDCFB-\uDD1B\uDD20-\uDD39\uDD80-\uDDB7\uDDBC-\uDDCF\uDDD2-\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE40-\uDE48\uDE60-\uDE7E\uDE80-\uDE9F\uDEC0-\uDEC7\uDEC9-\uDEE4\uDEEB-\uDEEF\uDF00-\uDF35\uDF40-\uDF55\uDF58-\uDF72\uDF78-\uDF91\uDFA9-\uDFAF]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDCFA-\uDD23\uDD30-\uDD39\uDE60-\uDE7E\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF27\uDF30-\uDF45\uDF51-\uDF54\uDFB0-\uDFCB\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC52-\uDC6F\uDC83-\uDCAF\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD03-\uDD26\uDD36-\uDD3F\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDD0-\uDDDA\uDDDC\uDDE1-\uDDF4\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDEF0-\uDEF9\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC50-\uDC59\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE50-\uDE59\uDE80-\uDEAA\uDEB8\uDEC0-\uDEC9\uDF00-\uDF1A\uDF30-\uDF3B]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCF2\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDD50-\uDD59\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC50-\uDC6C\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD50-\uDD59\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDDA0-\uDDA9\uDEE0-\uDEF2\uDFB0\uDFC0-\uDFD4]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF50-\uDF59\uDF5B-\uDF61\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE96\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82C[\uDC00-\uDD1E\uDD50-\uDD52\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD834[\uDEE0-\uDEF3\uDF60-\uDF78]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD838[\uDD00-\uDD2C\uDD37-\uDD3D\uDD40-\uDD49\uDD4E\uDEC0-\uDEEB\uDEF0-\uDEF9]|\uD83A[\uDC00-\uDCC4\uDCC7-\uDCCF\uDD00-\uDD43\uDD4B\uDD50-\uDD59]|\uD83B[\uDC71-\uDCAB\uDCAD-\uDCAF\uDCB1-\uDCB4\uDD01-\uDD2D\uDD2F-\uDD3D\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD83C[\uDD00-\uDD0C]|\uD83E[\uDFF0-\uDFF9]|\uD869[\uDC00-\uDEDD\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A])/))){var u=r[1]||r[2]||"";if(!u||u&&(""===n||this.rules.inline.punctuation.exec(n))){var i,o,a=r[0].length-1,s=a,l=0,c="*"===r[0][0]?this.rules.inline.emStrong.rDelimAst:this.rules.inline.emStrong.rDelimUnd;for(c.lastIndex=0,t=t.slice(-1*e.length+a);null!=(r=c.exec(t));)if(i=r[1]||r[2]||r[3]||r[4]||r[5]||r[6])if(o=i.length,r[3]||r[4])s+=o;else if(!((r[5]||r[6])&&a%3)||(a+o)%3){if(!((s-=o)>0)){if(o=Math.min(o,o+s+l),Math.min(a,o)%2){var f=e.slice(1,a+r.index+o);return{type:"em",raw:e.slice(0,a+r.index+o+1),text:f,tokens:this.lexer.inlineTokens(f,[])}}var p=e.slice(2,a+r.index+o-1);return{type:"strong",raw:e.slice(0,a+r.index+o+1),text:p,tokens:this.lexer.inlineTokens(p,[])}}}else l+=o}}}},{key:"codespan",value:function(e){var t=this.rules.inline.code.exec(e);if(t){var n=t[2].replace(/\n/g," "),r=/[^ ]/.test(n),u=/^ /.test(n)&&/ $/.test(n);return r&&u&&(n=n.substring(1,n.length-1)),n=Mf(n,!0),{type:"codespan",raw:t[0],text:n}}}},{key:"br",value:function(e){var t=this.rules.inline.br.exec(e);if(t)return{type:"br",raw:t[0]}}},{key:"del",value:function(e){var t=this.rules.inline.del.exec(e);if(t)return{type:"del",raw:t[0],text:t[2],tokens:this.lexer.inlineTokens(t[2],[])}}},{key:"autolink",value:function(e,t){var n,r,u=this.rules.inline.autolink.exec(e);if(u)return r="@"===u[2]?"mailto:"+(n=Mf(this.options.mangle?t(u[1]):u[1])):n=Mf(u[1]),{type:"link",raw:u[0],text:n,href:r,tokens:[{type:"text",raw:n,text:n}]}}},{key:"url",value:function(e,t){var n;if(n=this.rules.inline.url.exec(e)){var r,u;if("@"===n[2])u="mailto:"+(r=Mf(this.options.mangle?t(n[0]):n[0]));else{var i;do{i=n[0],n[0]=this.rules.inline._backpedal.exec(n[0])[0]}while(i!==n[0]);r=Mf(n[0]),u="www."===n[1]?"http://"+r:r}return{type:"link",raw:n[0],text:r,href:u,tokens:[{type:"text",raw:r,text:r}]}}}},{key:"inlineText",value:function(e,t){var n,r=this.rules.inline.text.exec(e);if(r)return n=this.lexer.state.inRawBlock?this.options.sanitize?this.options.sanitizer?this.options.sanitizer(r[0]):Mf(r[0]):r[0]:Mf(this.options.smartypants?t(r[0]):r[0]),{type:"text",raw:r[0],text:n}}}]),e}(),op={newline:/^(?: *(?:\n|$))+/,code:/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,fences:/^ {0,3}(`{3,}(?=[^`\n]*\n)|~{3,})([^\n]*)\n(?:|([\s\S]*?)\n)(?: {0,3}\1[~`]* *(?=\n|$)|$)/,hr:/^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\* *){3,})(?:\n+|$)/,heading:/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,blockquote:/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/,list:/^( {0,3}bull)( [^\n]+?)?(?:\n|$)/,html:"^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n *)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$))",def:/^ {0,3}\[(label)\]: *(?:\n *)?<?([^\s>]+)>?(?:(?: +(?:\n *)?| *\n *)(title))? *(?:\n+|$)/,table:Wf,lheading:/^([^\n]+)\n {0,3}(=+|-+) *(?:\n+|$)/,_paragraph:/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,text:/^[^\n]+/,_label:/(?!\s*\])(?:\\.|[^\[\]\\])+/,_title:/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/};op.def=Zf(op.def).replace("label",op._label).replace("title",op._title).getRegex(),op.bullet=/(?:[*+-]|\d{1,9}[.)])/,op.listItemStart=Zf(/^( *)(bull) */).replace("bull",op.bullet).getRegex(),op.list=Zf(op.list).replace(/bull/g,op.bullet).replace("hr","\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def","\\n+(?="+op.def.source+")").getRegex(),op._tag="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",op._comment=/<!--(?!-?>)[\s\S]*?(?:-->|$)/,op.html=Zf(op.html,"i").replace("comment",op._comment).replace("tag",op._tag).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),op.paragraph=Zf(op._paragraph).replace("hr",op.hr).replace("heading"," {0,3}#{1,6} ").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",op._tag).getRegex(),op.blockquote=Zf(op.blockquote).replace("paragraph",op.paragraph).getRegex(),op.normal=Jf({},op),op.gfm=Jf({},op.normal,{table:"^ *([^\\n ].*\\|.*)\\n {0,3}(?:\\| *)?(:?-+:? *(?:\\| *:?-+:? *)*)(?:\\| *)?(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)"}),op.gfm.table=Zf(op.gfm.table).replace("hr",op.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",op._tag).getRegex(),op.gfm.paragraph=Zf(op._paragraph).replace("hr",op.hr).replace("heading"," {0,3}#{1,6} ").replace("|lheading","").replace("table",op.gfm.table).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",op._tag).getRegex(),op.pedantic=Jf({},op.normal,{html:Zf("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:\"[^\"]*\"|'[^']*'|\\s[^'\"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",op._comment).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:Wf,paragraph:Zf(op.normal._paragraph).replace("hr",op.hr).replace("heading"," *#{1,6} *[^\n]").replace("lheading",op.lheading).replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").getRegex()});var ap={escape:/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:Wf,tag:"^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>",link:/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/,reflink:/^!?\[(label)\]\[(ref)\]/,nolink:/^!?\[(ref)\](?:\[\])?/,reflinkSearch:"reflink|nolink(?!\\()",emStrong:{lDelim:/^(?:\*+(?:([punct_])|[^\s*]))|^_+(?:([punct*])|([^\s_]))/,rDelimAst:/^[^_*]*?\_\_[^_*]*?\*[^_*]*?(?=\_\_)|[punct_](\*+)(?=[\s]|$)|[^punct*_\s](\*+)(?=[punct_\s]|$)|[punct_\s](\*+)(?=[^punct*_\s])|[\s](\*+)(?=[punct_])|[punct_](\*+)(?=[punct_])|[^punct*_\s](\*+)(?=[^punct*_\s])/,rDelimUnd:/^[^_*]*?\*\*[^_*]*?\_[^_*]*?(?=\*\*)|[punct*](\_+)(?=[\s]|$)|[^punct*_\s](\_+)(?=[punct*\s]|$)|[punct*\s](\_+)(?=[^punct*_\s])|[\s](\_+)(?=[punct*])|[punct*](\_+)(?=[punct*])/},code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,br:/^( {2,}|\\)\n(?!\s*$)/,del:Wf,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,punctuation:/^([\spunctuation])/};function sp(e){return e.replace(/---/g,"—").replace(/--/g,"–").replace(/(^|[-\u2014/(\[{"\s])'/g,"$1‘").replace(/'/g,"’").replace(/(^|[-\u2014/(\[{\u2018\s])"/g,"$1“").replace(/"/g,"”").replace(/\.{3}/g,"…")}function lp(e){var t,n,r="",u=e.length;for(t=0;t<u;t++)n=e.charCodeAt(t),Math.random()>.5&&(n="x"+n.toString(16)),r+="&#"+n+";";return r}ap._punctuation="!\"#$%&'()+\\-.,/:;<=>?@\\[\\]`^{|}~",ap.punctuation=Zf(ap.punctuation).replace(/punctuation/g,ap._punctuation).getRegex(),ap.blockSkip=/\[[^\]]*?\]\([^\)]*?\)|`[^`]*?`|<[^>]*?>/g,ap.escapedEmSt=/\\\*|\\_/g,ap._comment=Zf(op._comment).replace("(?:--\x3e|$)","--\x3e").getRegex(),ap.emStrong.lDelim=Zf(ap.emStrong.lDelim).replace(/punct/g,ap._punctuation).getRegex(),ap.emStrong.rDelimAst=Zf(ap.emStrong.rDelimAst,"g").replace(/punct/g,ap._punctuation).getRegex(),ap.emStrong.rDelimUnd=Zf(ap.emStrong.rDelimUnd,"g").replace(/punct/g,ap._punctuation).getRegex(),ap._escapes=/\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g,ap._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,ap._email=/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/,ap.autolink=Zf(ap.autolink).replace("scheme",ap._scheme).replace("email",ap._email).getRegex(),ap._attribute=/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/,ap.tag=Zf(ap.tag).replace("comment",ap._comment).replace("attribute",ap._attribute).getRegex(),ap._label=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,ap._href=/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/,ap._title=/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/,ap.link=Zf(ap.link).replace("label",ap._label).replace("href",ap._href).replace("title",ap._title).getRegex(),ap.reflink=Zf(ap.reflink).replace("label",ap._label).replace("ref",op._label).getRegex(),ap.nolink=Zf(ap.nolink).replace("ref",op._label).getRegex(),ap.reflinkSearch=Zf(ap.reflinkSearch,"g").replace("reflink",ap.reflink).replace("nolink",ap.nolink).getRegex(),ap.normal=Jf({},ap),ap.pedantic=Jf({},ap.normal,{strong:{start:/^__|\*\*/,middle:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,endAst:/\*\*(?!\*)/g,endUnd:/__(?!_)/g},em:{start:/^_|\*/,middle:/^()\*(?=\S)([\s\S]*?\S)\*(?!\*)|^_(?=\S)([\s\S]*?\S)_(?!_)/,endAst:/\*(?!\*)/g,endUnd:/_(?!_)/g},link:Zf(/^!?\[(label)\]\((.*?)\)/).replace("label",ap._label).getRegex(),reflink:Zf(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",ap._label).getRegex()}),ap.gfm=Jf({},ap.normal,{escape:Zf(ap.escape).replace("])","~|])").getRegex(),_extended_email:/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,url:/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,_backpedal:/(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|https?:\/\/|ftp:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/}),ap.gfm.url=Zf(ap.gfm.url,"i").replace("email",ap.gfm._extended_email).getRegex(),ap.breaks=Jf({},ap.gfm,{br:Zf(ap.br).replace("{2,}","*").getRegex(),text:Zf(ap.gfm.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()});var cp=function(){function e(n){t(this,e),this.tokens=[],this.tokens.links=Object.create(null),this.options=n||Rf,this.options.tokenizer=this.options.tokenizer||new ip,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};var r={block:op.normal,inline:ap.normal};this.options.pedantic?(r.block=op.pedantic,r.inline=ap.pedantic):this.options.gfm&&(r.block=op.gfm,this.options.breaks?r.inline=ap.breaks:r.inline=ap.gfm),this.tokenizer.rules=r}return r(e,[{key:"lex",value:function(e){var t;for(e=e.replace(/\r\n|\r/g,"\n").replace(/\t/g," "),this.blockTokens(e,this.tokens);t=this.inlineQueue.shift();)this.inlineTokens(t.src,t.tokens);return this.tokens}},{key:"blockTokens",value:function(e){var t,n,r,u,i=this,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];for(this.options.pedantic&&(e=e.replace(/^ +$/gm,""));e;)if(!(this.options.extensions&&this.options.extensions.block&&this.options.extensions.block.some((function(n){return!!(t=n.call({lexer:i},e,o))&&(e=e.substring(t.raw.length),o.push(t),!0)}))))if(t=this.tokenizer.space(e))e=e.substring(t.raw.length),1===t.raw.length&&o.length>0?o[o.length-1].raw+="\n":o.push(t);else if(t=this.tokenizer.code(e))e=e.substring(t.raw.length),!(n=o[o.length-1])||"paragraph"!==n.type&&"text"!==n.type?o.push(t):(n.raw+="\n"+t.raw,n.text+="\n"+t.text,this.inlineQueue[this.inlineQueue.length-1].src=n.text);else if(t=this.tokenizer.fences(e))e=e.substring(t.raw.length),o.push(t);else if(t=this.tokenizer.heading(e))e=e.substring(t.raw.length),o.push(t);else if(t=this.tokenizer.hr(e))e=e.substring(t.raw.length),o.push(t);else if(t=this.tokenizer.blockquote(e))e=e.substring(t.raw.length),o.push(t);else if(t=this.tokenizer.list(e))e=e.substring(t.raw.length),o.push(t);else if(t=this.tokenizer.html(e))e=e.substring(t.raw.length),o.push(t);else if(t=this.tokenizer.def(e))e=e.substring(t.raw.length),!(n=o[o.length-1])||"paragraph"!==n.type&&"text"!==n.type?this.tokens.links[t.tag]||(this.tokens.links[t.tag]={href:t.href,title:t.title}):(n.raw+="\n"+t.raw,n.text+="\n"+t.raw,this.inlineQueue[this.inlineQueue.length-1].src=n.text);else if(t=this.tokenizer.table(e))e=e.substring(t.raw.length),o.push(t);else if(t=this.tokenizer.lheading(e))e=e.substring(t.raw.length),o.push(t);else if(r=e,this.options.extensions&&this.options.extensions.startBlock&&function(){var t=1/0,n=e.slice(1),u=void 0;i.options.extensions.startBlock.forEach((function(e){"number"==typeof(u=e.call({lexer:this},n))&&u>=0&&(t=Math.min(t,u))})),t<1/0&&t>=0&&(r=e.substring(0,t+1))}(),this.state.top&&(t=this.tokenizer.paragraph(r)))n=o[o.length-1],u&&"paragraph"===n.type?(n.raw+="\n"+t.raw,n.text+="\n"+t.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=n.text):o.push(t),u=r.length!==e.length,e=e.substring(t.raw.length);else if(t=this.tokenizer.text(e))e=e.substring(t.raw.length),(n=o[o.length-1])&&"text"===n.type?(n.raw+="\n"+t.raw,n.text+="\n"+t.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=n.text):o.push(t);else if(e){var a="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(a);break}throw new Error(a)}return this.state.top=!0,o}},{key:"inline",value:function(e,t){this.inlineQueue.push({src:e,tokens:t})}},{key:"inlineTokens",value:function(e){var t,n,r,u,i,o,a=this,s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],l=e;if(this.tokens.links){var c=Object.keys(this.tokens.links);if(c.length>0)for(;null!=(u=this.tokenizer.rules.inline.reflinkSearch.exec(l));)c.includes(u[0].slice(u[0].lastIndexOf("[")+1,-1))&&(l=l.slice(0,u.index)+"["+rp("a",u[0].length-2)+"]"+l.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;null!=(u=this.tokenizer.rules.inline.blockSkip.exec(l));)l=l.slice(0,u.index)+"["+rp("a",u[0].length-2)+"]"+l.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;null!=(u=this.tokenizer.rules.inline.escapedEmSt.exec(l));)l=l.slice(0,u.index)+"++"+l.slice(this.tokenizer.rules.inline.escapedEmSt.lastIndex);for(;e;)if(i||(o=""),i=!1,!(this.options.extensions&&this.options.extensions.inline&&this.options.extensions.inline.some((function(n){return!!(t=n.call({lexer:a},e,s))&&(e=e.substring(t.raw.length),s.push(t),!0)}))))if(t=this.tokenizer.escape(e))e=e.substring(t.raw.length),s.push(t);else if(t=this.tokenizer.tag(e))e=e.substring(t.raw.length),(n=s[s.length-1])&&"text"===t.type&&"text"===n.type?(n.raw+=t.raw,n.text+=t.text):s.push(t);else if(t=this.tokenizer.link(e))e=e.substring(t.raw.length),s.push(t);else if(t=this.tokenizer.reflink(e,this.tokens.links))e=e.substring(t.raw.length),(n=s[s.length-1])&&"text"===t.type&&"text"===n.type?(n.raw+=t.raw,n.text+=t.text):s.push(t);else if(t=this.tokenizer.emStrong(e,l,o))e=e.substring(t.raw.length),s.push(t);else if(t=this.tokenizer.codespan(e))e=e.substring(t.raw.length),s.push(t);else if(t=this.tokenizer.br(e))e=e.substring(t.raw.length),s.push(t);else if(t=this.tokenizer.del(e))e=e.substring(t.raw.length),s.push(t);else if(t=this.tokenizer.autolink(e,lp))e=e.substring(t.raw.length),s.push(t);else if(this.state.inLink||!(t=this.tokenizer.url(e,lp))){if(r=e,this.options.extensions&&this.options.extensions.startInline&&function(){var t=1/0,n=e.slice(1),u=void 0;a.options.extensions.startInline.forEach((function(e){"number"==typeof(u=e.call({lexer:this},n))&&u>=0&&(t=Math.min(t,u))})),t<1/0&&t>=0&&(r=e.substring(0,t+1))}(),t=this.tokenizer.inlineText(r,sp))e=e.substring(t.raw.length),"_"!==t.raw.slice(-1)&&(o=t.raw.slice(-1)),i=!0,(n=s[s.length-1])&&"text"===n.type?(n.raw+=t.raw,n.text+=t.text):s.push(t);else if(e){var f="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(f);break}throw new Error(f)}}else e=e.substring(t.raw.length),s.push(t);return s}}],[{key:"rules",get:function(){return{block:op,inline:ap}}},{key:"lex",value:function(t,n){return new e(n).lex(t)}},{key:"lexInline",value:function(t,n){return new e(n).inlineTokens(t)}}]),e}(),fp=function(){function e(n){t(this,e),this.options=n||Rf}return r(e,[{key:"code",value:function(e,t,n){var r=(t||"").match(/\S*/)[0];if(this.options.highlight){var u=this.options.highlight(e,r);null!=u&&u!==e&&(n=!0,e=u)}return e=e.replace(/\n$/,"")+"\n",r?'<pre><code class="'+this.options.langPrefix+Mf(r,!0)+'">'+(n?e:Mf(e,!0))+"</code></pre>\n":"<pre><code>"+(n?e:Mf(e,!0))+"</code></pre>\n"}},{key:"blockquote",value:function(e){return"<blockquote>\n"+e+"</blockquote>\n"}},{key:"html",value:function(e){return e}},{key:"heading",value:function(e,t,n,r){return this.options.headerIds?"<h"+t+' id="'+this.options.headerPrefix+r.slug(n)+'">'+e+"</h"+t+">\n":"<h"+t+">"+e+"</h"+t+">\n"}},{key:"hr",value:function(){return this.options.xhtml?"<hr/>\n":"<hr>\n"}},{key:"list",value:function(e,t,n){var r=t?"ol":"ul";return"<"+r+(t&&1!==n?' start="'+n+'"':"")+">\n"+e+"</"+r+">\n"}},{key:"listitem",value:function(e){return"<li>"+e+"</li>\n"}},{key:"checkbox",value:function(e){return"<input "+(e?'checked="" ':"")+'disabled="" type="checkbox"'+(this.options.xhtml?" /":"")+"> "}},{key:"paragraph",value:function(e){return"<p>"+e+"</p>\n"}},{key:"table",value:function(e,t){return t&&(t="<tbody>"+t+"</tbody>"),"<table>\n<thead>\n"+e+"</thead>\n"+t+"</table>\n"}},{key:"tablerow",value:function(e){return"<tr>\n"+e+"</tr>\n"}},{key:"tablecell",value:function(e,t){var n=t.header?"th":"td";return(t.align?"<"+n+' align="'+t.align+'">':"<"+n+">")+e+"</"+n+">\n"}},{key:"strong",value:function(e){return"<strong>"+e+"</strong>"}},{key:"em",value:function(e){return"<em>"+e+"</em>"}},{key:"codespan",value:function(e){return"<code>"+e+"</code>"}},{key:"br",value:function(){return this.options.xhtml?"<br/>":"<br>"}},{key:"del",value:function(e){return"<del>"+e+"</del>"}},{key:"link",value:function(e,t,n){if(null===(e=Qf(this.options.sanitize,this.options.baseUrl,e)))return n;var r='<a href="'+Mf(e)+'"';return t&&(r+=' title="'+t+'"'),r+=">"+n+"</a>"}},{key:"image",value:function(e,t,n){if(null===(e=Qf(this.options.sanitize,this.options.baseUrl,e)))return n;var r='<img src="'+e+'" alt="'+n+'"';return t&&(r+=' title="'+t+'"'),r+=this.options.xhtml?"/>":">"}},{key:"text",value:function(e){return e}}]),e}(),pp=function(){function e(){t(this,e)}return r(e,[{key:"strong",value:function(e){return e}},{key:"em",value:function(e){return e}},{key:"codespan",value:function(e){return e}},{key:"del",value:function(e){return e}},{key:"html",value:function(e){return e}},{key:"text",value:function(e){return e}},{key:"link",value:function(e,t,n){return""+n}},{key:"image",value:function(e,t,n){return""+n}},{key:"br",value:function(){return""}}]),e}(),hp=function(){function e(){t(this,e),this.seen={}}return r(e,[{key:"serialize",value:function(e){return e.toLowerCase().trim().replace(/<[!\/a-z].*?>/gi,"").replace(/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g,"").replace(/\s/g,"-")}},{key:"getNextSafeSlug",value:function(e,t){var n=e,r=0;if(this.seen.hasOwnProperty(n)){r=this.seen[e];do{n=e+"-"+ ++r}while(this.seen.hasOwnProperty(n))}return t||(this.seen[e]=r,this.seen[n]=0),n}},{key:"slug",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=this.serialize(e);return this.getNextSafeSlug(n,t.dryrun)}}]),e}(),Dp=function(){function e(n){t(this,e),this.options=n||Rf,this.options.renderer=this.options.renderer||new fp,this.renderer=this.options.renderer,this.renderer.options=this.options,this.textRenderer=new pp,this.slugger=new hp}return r(e,[{key:"parse",value:function(e){var t,n,r,u,i,o,a,s,l,c,f,p,h,D,g,d,v,y,A,m=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],k="",E=e.length;for(t=0;t<E;t++)if(c=e[t],!(this.options.extensions&&this.options.extensions.renderers&&this.options.extensions.renderers[c.type])||!1===(A=this.options.extensions.renderers[c.type].call({parser:this},c))&&["space","hr","heading","code","table","blockquote","list","html","paragraph","text"].includes(c.type))switch(c.type){case"space":continue;case"hr":k+=this.renderer.hr();continue;case"heading":k+=this.renderer.heading(this.parseInline(c.tokens),c.depth,Uf(this.parseInline(c.tokens,this.textRenderer)),this.slugger);continue;case"code":k+=this.renderer.code(c.text,c.lang,c.escaped);continue;case"table":for(s="",a="",u=c.header.length,n=0;n<u;n++)a+=this.renderer.tablecell(this.parseInline(c.header[n].tokens),{header:!0,align:c.align[n]});for(s+=this.renderer.tablerow(a),l="",u=c.rows.length,n=0;n<u;n++){for(a="",i=(o=c.rows[n]).length,r=0;r<i;r++)a+=this.renderer.tablecell(this.parseInline(o[r].tokens),{header:!1,align:c.align[r]});l+=this.renderer.tablerow(a)}k+=this.renderer.table(s,l);continue;case"blockquote":l=this.parse(c.tokens),k+=this.renderer.blockquote(l);continue;case"list":for(f=c.ordered,p=c.start,h=c.loose,u=c.items.length,l="",n=0;n<u;n++)d=(g=c.items[n]).checked,v=g.task,D="",g.task&&(y=this.renderer.checkbox(d),h?g.tokens.length>0&&"paragraph"===g.tokens[0].type?(g.tokens[0].text=y+" "+g.tokens[0].text,g.tokens[0].tokens&&g.tokens[0].tokens.length>0&&"text"===g.tokens[0].tokens[0].type&&(g.tokens[0].tokens[0].text=y+" "+g.tokens[0].tokens[0].text)):g.tokens.unshift({type:"text",text:y}):D+=y),D+=this.parse(g.tokens,h),l+=this.renderer.listitem(D,v,d);k+=this.renderer.list(l,f,p);continue;case"html":k+=this.renderer.html(c.text);continue;case"paragraph":k+=this.renderer.paragraph(this.parseInline(c.tokens));continue;case"text":for(l=c.tokens?this.parseInline(c.tokens):c.text;t+1<E&&"text"===e[t+1].type;)l+="\n"+((c=e[++t]).tokens?this.parseInline(c.tokens):c.text);k+=m?this.renderer.paragraph(l):l;continue;default:var x='Token with "'+c.type+'" type was not found.';if(this.options.silent)return void console.error(x);throw new Error(x)}else k+=A||"";return k}},{key:"parseInline",value:function(e,t){t=t||this.renderer;var n,r,u,i="",o=e.length;for(n=0;n<o;n++)if(r=e[n],!(this.options.extensions&&this.options.extensions.renderers&&this.options.extensions.renderers[r.type])||!1===(u=this.options.extensions.renderers[r.type].call({parser:this},r))&&["escape","html","link","image","strong","em","codespan","br","del","text"].includes(r.type))switch(r.type){case"escape":i+=t.text(r.text);break;case"html":i+=t.html(r.text);break;case"link":i+=t.link(r.href,r.title,this.parseInline(r.tokens,t));break;case"image":i+=t.image(r.href,r.title,r.text);break;case"strong":i+=t.strong(this.parseInline(r.tokens,t));break;case"em":i+=t.em(this.parseInline(r.tokens,t));break;case"codespan":i+=t.codespan(r.text);break;case"br":i+=t.br();break;case"del":i+=t.del(this.parseInline(r.tokens,t));break;case"text":i+=t.text(r.text);break;default:var a='Token with "'+r.type+'" type was not found.';if(this.options.silent)return void console.error(a);throw new Error(a)}else i+=u||"";return i}}],[{key:"parse",value:function(t,n){return new e(n).parse(t)}},{key:"parseInline",value:function(t,n){return new e(n).parseInline(t)}}]),e}();function gp(e,t,n){if(null==e)throw new Error("marked(): input parameter is undefined or null");if("string"!=typeof e)throw new Error("marked(): input parameter is of type "+Object.prototype.toString.call(e)+", string expected");if("function"==typeof t&&(n=t,t=null),np(t=Jf({},gp.defaults,t||{})),n){var r,u=t.highlight;try{r=cp.lex(e,t)}catch(e){return n(e)}var i=function(e){var i;if(!e)try{t.walkTokens&&gp.walkTokens(r,t.walkTokens),i=Dp.parse(r,t)}catch(t){e=t}return t.highlight=u,e?n(e):n(null,i)};if(!u||u.length<3)return i();if(delete t.highlight,!r.length)return i();var o=0;return gp.walkTokens(r,(function(e){"code"===e.type&&(o++,setTimeout((function(){u(e.text,e.lang,(function(t,n){if(t)return i(t);null!=n&&n!==e.text&&(e.text=n,e.escaped=!0),0===--o&&i()}))}),0))})),void(0===o&&i())}try{var a=cp.lex(e,t);return t.walkTokens&&gp.walkTokens(a,t.walkTokens),Dp.parse(a,t)}catch(e){if(e.message+="\nPlease report this to https://github.com/markedjs/marked.",t.silent)return"<p>An error occurred:</p><pre>"+Mf(e.message+"",!0)+"</pre>";throw e}}gp.options=gp.setOptions=function(e){var t;return Jf(gp.defaults,e),t=gp.defaults,Rf=t,gp},gp.getDefaults=Of,gp.defaults=Rf,gp.use=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];var r,u=Jf.apply(void 0,[{}].concat(t)),i=gp.defaults.extensions||{renderers:{},childTokens:{}};t.forEach((function(e){if(e.extensions&&(r=!0,e.extensions.forEach((function(e){if(!e.name)throw new Error("extension name required");if(e.renderer){var t=i.renderers?i.renderers[e.name]:null;i.renderers[e.name]=t?function(){for(var n=arguments.length,r=new Array(n),u=0;u<n;u++)r[u]=arguments[u];var i=e.renderer.apply(this,r);return!1===i&&(i=t.apply(this,r)),i}:e.renderer}if(e.tokenizer){if(!e.level||"block"!==e.level&&"inline"!==e.level)throw new Error("extension level must be 'block' or 'inline'");i[e.level]?i[e.level].unshift(e.tokenizer):i[e.level]=[e.tokenizer],e.start&&("block"===e.level?i.startBlock?i.startBlock.push(e.start):i.startBlock=[e.start]:"inline"===e.level&&(i.startInline?i.startInline.push(e.start):i.startInline=[e.start]))}e.childTokens&&(i.childTokens[e.name]=e.childTokens)}))),e.renderer&&function(){var t=gp.defaults.renderer||new fp,n=function(n){var r=t[n];t[n]=function(){for(var u=arguments.length,i=new Array(u),o=0;o<u;o++)i[o]=arguments[o];var a=e.renderer[n].apply(t,i);return!1===a&&(a=r.apply(t,i)),a}};for(var r in e.renderer)n(r);u.renderer=t}(),e.tokenizer&&function(){var t=gp.defaults.tokenizer||new ip,n=function(n){var r=t[n];t[n]=function(){for(var u=arguments.length,i=new Array(u),o=0;o<u;o++)i[o]=arguments[o];var a=e.tokenizer[n].apply(t,i);return!1===a&&(a=r.apply(t,i)),a}};for(var r in e.tokenizer)n(r);u.tokenizer=t}(),e.walkTokens){var t=gp.defaults.walkTokens;u.walkTokens=function(n){e.walkTokens.call(this,n),t&&t.call(this,n)}}r&&(u.extensions=i),gp.setOptions(u)}))},gp.walkTokens=function(e,t){var n,r=l(e);try{var u=function(){var e=n.value;switch(t.call(gp,e),e.type){case"table":var r,u=l(e.header);try{for(u.s();!(r=u.n()).done;){var i=r.value;gp.walkTokens(i.tokens,t)}}catch(e){u.e(e)}finally{u.f()}var o,a=l(e.rows);try{for(a.s();!(o=a.n()).done;){var s,c=l(o.value);try{for(c.s();!(s=c.n()).done;){var f=s.value;gp.walkTokens(f.tokens,t)}}catch(e){c.e(e)}finally{c.f()}}}catch(e){a.e(e)}finally{a.f()}break;case"list":gp.walkTokens(e.items,t);break;default:gp.defaults.extensions&&gp.defaults.extensions.childTokens&&gp.defaults.extensions.childTokens[e.type]?gp.defaults.extensions.childTokens[e.type].forEach((function(n){gp.walkTokens(e[n],t)})):e.tokens&&gp.walkTokens(e.tokens,t)}};for(r.s();!(n=r.n()).done;)u()}catch(e){r.e(e)}finally{r.f()}},gp.parseInline=function(e,t){if(null==e)throw new Error("marked.parseInline(): input parameter is undefined or null");if("string"!=typeof e)throw new Error("marked.parseInline(): input parameter is of type "+Object.prototype.toString.call(e)+", string expected");np(t=Jf({},gp.defaults,t||{}));try{var n=cp.lexInline(e,t);return t.walkTokens&&gp.walkTokens(n,t.walkTokens),Dp.parseInline(n,t)}catch(e){if(e.message+="\nPlease report this to https://github.com/markedjs/marked.",t.silent)return"<p>An error occurred:</p><pre>"+Mf(e.message+"",!0)+"</pre>";throw e}},gp.Parser=Dp,gp.parser=Dp.parse,gp.Renderer=fp,gp.TextRenderer=pp,gp.Lexer=cp,gp.lexer=cp.lex,gp.Tokenizer=ip,gp.Slugger=hp,gp.parse=gp;var dp="__SCRIPT_END__",vp=/\[([\s\d,|-]*)\]/,yp={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"};return function(){var t;function n(e){var t=(e.querySelector("[data-template]")||e.querySelector("script")||e).textContent,n=(t=t.replace(new RegExp(dp,"g"),"<\/script>")).match(/^\n?(\s*)/)[1].length,r=t.match(/^\n?(\t*)/)[1].length;return r>0?t=t.replace(new RegExp("\\n?\\t{"+r+"}","g"),"\n"):n>1&&(t=t.replace(new RegExp("\\n? {"+n+"}","g"),"\n")),t}function r(e){for(var t=e.attributes,n=[],r=0,u=t.length;r<u;r++){var i=t[r].name,o=t[r].value;/data\-(markdown|separator|vertical|notes)/gi.test(i)||(o?n.push(i+'="'+o+'"'):n.push(i))}return n.join(" ")}function o(e){return(e=e||{}).separator=e.separator||"\r?\n---\r?\n",e.notesSeparator=e.notesSeparator||"notes?:",e.attributes=e.attributes||"",e}function a(e,t){t=o(t);var n=e.split(new RegExp(t.notesSeparator,"mgi"));return 2===n.length&&(e=n[0]+'<aside class="notes">'+gp(n[1].trim())+"</aside>"),'<script type="text/template">'+(e=e.replace(/<\/script>/g,dp))+"<\/script>"}function s(e,t){t=o(t);for(var n,r,u,i=new RegExp(t.separator+(t.verticalSeparator?"|"+t.verticalSeparator:""),"mg"),s=new RegExp(t.separator),l=0,c=!0,f=[];n=i.exec(e);)!(r=s.test(n[0]))&&c&&f.push([]),u=e.substring(l,n.index),r&&c?f.push(u):f[f.length-1].push(u),l=i.lastIndex,c=r;(c?f:f[f.length-1]).push(e.substring(l));for(var p="",h=0,D=f.length;h<D;h++)f[h]instanceof Array?(p+="<section "+t.attributes+">",f[h].forEach((function(e){p+="<section data-markdown>"+a(e,t)+"</section>"})),p+="</section>"):p+="<section "+t.attributes+" data-markdown>"+a(f[h],t)+"</section>";return p}function l(e){return new Promise((function(t){var u=[];[].slice.call(e.querySelectorAll("section[data-markdown]:not([data-markdown-parsed])")).forEach((function(e,t){e.getAttribute("data-markdown").length?u.push(function(e){return new Promise((function(t,n){var r=new XMLHttpRequest,u=e.getAttribute("data-markdown"),i=e.getAttribute("data-charset");null!=i&&""!=i&&r.overrideMimeType("text/html; charset="+i),r.onreadystatechange=function(e,r){4===r.readyState&&(r.status>=200&&r.status<300||0===r.status?t(r,u):n(r,u))}.bind(this,e,r),r.open("GET",u,!0);try{r.send()}catch(e){console.warn("Failed to get the Markdown file "+u+". Make sure that the presentation and the file are served by a HTTP server and the file can be found there. "+e),t(r,u)}}))}(e).then((function(t,n){e.outerHTML=s(t.responseText,{separator:e.getAttribute("data-separator"),verticalSeparator:e.getAttribute("data-separator-vertical"),notesSeparator:e.getAttribute("data-separator-notes"),attributes:r(e)})}),(function(t,n){e.outerHTML='<section data-state="alert">ERROR: The attempt to fetch '+n+" failed with HTTP status "+t.status+".Check your browser's JavaScript console for more details.<p>Remember that you need to serve the presentation HTML from a HTTP server.</p></section>"}))):e.outerHTML=s(n(e),{separator:e.getAttribute("data-separator"),verticalSeparator:e.getAttribute("data-separator-vertical"),notesSeparator:e.getAttribute("data-separator-notes"),attributes:r(e)})})),Promise.all(u).then(t)}))}function c(e,t,n){var r,u,i=new RegExp(n,"mg"),o=new RegExp('([^"= ]+?)="([^"]+?)"|(data-[^"= ]+?)(?=[" ])',"mg"),a=e.nodeValue;if(r=i.exec(a)){var s=r[1];for(a=a.substring(0,r.index)+a.substring(i.lastIndex),e.nodeValue=a;u=o.exec(s);)u[2]?t.setAttribute(u[1],u[2]):t.setAttribute(u[3],"");return!0}return!1}function f(e,t,n,r,u){if(null!=t&&null!=t.childNodes&&t.childNodes.length>0)for(var i=t,o=0;o<t.childNodes.length;o++){var a=t.childNodes[o];if(o>0)for(var s=o-1;s>=0;){var l=t.childNodes[s];if("function"==typeof l.setAttribute&&"BR"!=l.tagName){i=l;break}s-=1}var p=e;"section"==a.nodeName&&(p=a,i=a),"function"!=typeof a.setAttribute&&a.nodeType!=Node.COMMENT_NODE||f(p,a,i,r,u)}t.nodeType==Node.COMMENT_NODE&&0==c(t,n,r)&&c(t,e,u)}function p(){var e=t.getRevealElement().querySelectorAll("[data-markdown]:not([data-markdown-parsed])");return[].slice.call(e).forEach((function(e){e.setAttribute("data-markdown-parsed",!0);var t=e.querySelector("aside.notes"),r=n(e);e.innerHTML=gp(r),f(e,e,null,e.getAttribute("data-element-attributes")||e.parentNode.getAttribute("data-element-attributes")||"\\.element\\s*?(.+?)$",e.getAttribute("data-attributes")||e.parentNode.getAttribute("data-attributes")||"\\.slide:\\s*?(\\S.+?)$"),t&&e.appendChild(t)})),Promise.resolve()}return{id:"markdown",init:function(n){var r=(t=n).getConfig().markdown||{},o=r.renderer,a=r.animateLists,s=i(r,["renderer","animateLists"]);return o||((o=new gp.Renderer).code=function(e,t){var n="";return vp.test(t)&&(n=t.match(vp)[1].trim(),n='data-line-numbers="'.concat(n,'"'),t=t.replace(vp,"").trim()),e=e.replace(/([&<>'"])/g,(function(e){return yp[e]})),"<pre><code ".concat(n,' class="').concat(t,'">').concat(e,"</code></pre>")}),!0===a&&(o.listitem=function(e){return'<li class="fragment">'.concat(e,"</li>")}),gp.setOptions(function(t){for(var n=1;n<arguments.length;n++){var r=null!=arguments[n]?arguments[n]:{};n%2?e(Object(r),!0).forEach((function(e){u(t,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):e(Object(r)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}))}return t}({renderer:o},s)),l(t.getRevealElement()).then(p)},processSlides:l,convertSlides:p,slidify:s,marked:gp}}}));
llm_conf_files/libs/revealjs/plugin/markdown/plugin.js ADDED
@@ -0,0 +1,475 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * The reveal.js markdown plugin. Handles parsing of
3
+ * markdown inside of presentations as well as loading
4
+ * of external markdown documents.
5
+ */
6
+
7
+ import { marked } from 'marked';
8
+
9
+ const DEFAULT_SLIDE_SEPARATOR = '\r?\n---\r?\n',
10
+ DEFAULT_NOTES_SEPARATOR = 'notes?:',
11
+ DEFAULT_ELEMENT_ATTRIBUTES_SEPARATOR = '\\\.element\\\s*?(.+?)$',
12
+ DEFAULT_SLIDE_ATTRIBUTES_SEPARATOR = '\\\.slide:\\\s*?(\\\S.+?)$';
13
+
14
+ const SCRIPT_END_PLACEHOLDER = '__SCRIPT_END__';
15
+
16
+ const CODE_LINE_NUMBER_REGEX = /\[([\s\d,|-]*)\]/;
17
+
18
+ const HTML_ESCAPE_MAP = {
19
+ '&': '&amp;',
20
+ '<': '&lt;',
21
+ '>': '&gt;',
22
+ '"': '&quot;',
23
+ "'": '&#39;'
24
+ };
25
+
26
+ const Plugin = () => {
27
+
28
+ // The reveal.js instance this plugin is attached to
29
+ let deck;
30
+
31
+ /**
32
+ * Retrieves the markdown contents of a slide section
33
+ * element. Normalizes leading tabs/whitespace.
34
+ */
35
+ function getMarkdownFromSlide( section ) {
36
+
37
+ // look for a <script> or <textarea data-template> wrapper
38
+ var template = section.querySelector( '[data-template]' ) || section.querySelector( 'script' );
39
+
40
+ // strip leading whitespace so it isn't evaluated as code
41
+ var text = ( template || section ).textContent;
42
+
43
+ // restore script end tags
44
+ text = text.replace( new RegExp( SCRIPT_END_PLACEHOLDER, 'g' ), '</script>' );
45
+
46
+ var leadingWs = text.match( /^\n?(\s*)/ )[1].length,
47
+ leadingTabs = text.match( /^\n?(\t*)/ )[1].length;
48
+
49
+ if( leadingTabs > 0 ) {
50
+ text = text.replace( new RegExp('\\n?\\t{' + leadingTabs + '}','g'), '\n' );
51
+ }
52
+ else if( leadingWs > 1 ) {
53
+ text = text.replace( new RegExp('\\n? {' + leadingWs + '}', 'g'), '\n' );
54
+ }
55
+
56
+ return text;
57
+
58
+ }
59
+
60
+ /**
61
+ * Given a markdown slide section element, this will
62
+ * return all arguments that aren't related to markdown
63
+ * parsing. Used to forward any other user-defined arguments
64
+ * to the output markdown slide.
65
+ */
66
+ function getForwardedAttributes( section ) {
67
+
68
+ var attributes = section.attributes;
69
+ var result = [];
70
+
71
+ for( var i = 0, len = attributes.length; i < len; i++ ) {
72
+ var name = attributes[i].name,
73
+ value = attributes[i].value;
74
+
75
+ // disregard attributes that are used for markdown loading/parsing
76
+ if( /data\-(markdown|separator|vertical|notes)/gi.test( name ) ) continue;
77
+
78
+ if( value ) {
79
+ result.push( name + '="' + value + '"' );
80
+ }
81
+ else {
82
+ result.push( name );
83
+ }
84
+ }
85
+
86
+ return result.join( ' ' );
87
+
88
+ }
89
+
90
+ /**
91
+ * Inspects the given options and fills out default
92
+ * values for what's not defined.
93
+ */
94
+ function getSlidifyOptions( options ) {
95
+
96
+ options = options || {};
97
+ options.separator = options.separator || DEFAULT_SLIDE_SEPARATOR;
98
+ options.notesSeparator = options.notesSeparator || DEFAULT_NOTES_SEPARATOR;
99
+ options.attributes = options.attributes || '';
100
+
101
+ return options;
102
+
103
+ }
104
+
105
+ /**
106
+ * Helper function for constructing a markdown slide.
107
+ */
108
+ function createMarkdownSlide( content, options ) {
109
+
110
+ options = getSlidifyOptions( options );
111
+
112
+ var notesMatch = content.split( new RegExp( options.notesSeparator, 'mgi' ) );
113
+
114
+ if( notesMatch.length === 2 ) {
115
+ content = notesMatch[0] + '<aside class="notes">' + marked(notesMatch[1].trim()) + '</aside>';
116
+ }
117
+
118
+ // prevent script end tags in the content from interfering
119
+ // with parsing
120
+ content = content.replace( /<\/script>/g, SCRIPT_END_PLACEHOLDER );
121
+
122
+ return '<script type="text/template">' + content + '</script>';
123
+
124
+ }
125
+
126
+ /**
127
+ * Parses a data string into multiple slides based
128
+ * on the passed in separator arguments.
129
+ */
130
+ function slidify( markdown, options ) {
131
+
132
+ options = getSlidifyOptions( options );
133
+
134
+ var separatorRegex = new RegExp( options.separator + ( options.verticalSeparator ? '|' + options.verticalSeparator : '' ), 'mg' ),
135
+ horizontalSeparatorRegex = new RegExp( options.separator );
136
+
137
+ var matches,
138
+ lastIndex = 0,
139
+ isHorizontal,
140
+ wasHorizontal = true,
141
+ content,
142
+ sectionStack = [];
143
+
144
+ // iterate until all blocks between separators are stacked up
145
+ while( matches = separatorRegex.exec( markdown ) ) {
146
+ var notes = null;
147
+
148
+ // determine direction (horizontal by default)
149
+ isHorizontal = horizontalSeparatorRegex.test( matches[0] );
150
+
151
+ if( !isHorizontal && wasHorizontal ) {
152
+ // create vertical stack
153
+ sectionStack.push( [] );
154
+ }
155
+
156
+ // pluck slide content from markdown input
157
+ content = markdown.substring( lastIndex, matches.index );
158
+
159
+ if( isHorizontal && wasHorizontal ) {
160
+ // add to horizontal stack
161
+ sectionStack.push( content );
162
+ }
163
+ else {
164
+ // add to vertical stack
165
+ sectionStack[sectionStack.length-1].push( content );
166
+ }
167
+
168
+ lastIndex = separatorRegex.lastIndex;
169
+ wasHorizontal = isHorizontal;
170
+ }
171
+
172
+ // add the remaining slide
173
+ ( wasHorizontal ? sectionStack : sectionStack[sectionStack.length-1] ).push( markdown.substring( lastIndex ) );
174
+
175
+ var markdownSections = '';
176
+
177
+ // flatten the hierarchical stack, and insert <section data-markdown> tags
178
+ for( var i = 0, len = sectionStack.length; i < len; i++ ) {
179
+ // vertical
180
+ if( sectionStack[i] instanceof Array ) {
181
+ markdownSections += '<section '+ options.attributes +'>';
182
+
183
+ sectionStack[i].forEach( function( child ) {
184
+ markdownSections += '<section data-markdown>' + createMarkdownSlide( child, options ) + '</section>';
185
+ } );
186
+
187
+ markdownSections += '</section>';
188
+ }
189
+ else {
190
+ markdownSections += '<section '+ options.attributes +' data-markdown>' + createMarkdownSlide( sectionStack[i], options ) + '</section>';
191
+ }
192
+ }
193
+
194
+ return markdownSections;
195
+
196
+ }
197
+
198
+ /**
199
+ * Parses any current data-markdown slides, splits
200
+ * multi-slide markdown into separate sections and
201
+ * handles loading of external markdown.
202
+ */
203
+ function processSlides( scope ) {
204
+
205
+ return new Promise( function( resolve ) {
206
+
207
+ var externalPromises = [];
208
+
209
+ [].slice.call( scope.querySelectorAll( 'section[data-markdown]:not([data-markdown-parsed])') ).forEach( function( section, i ) {
210
+
211
+ if( section.getAttribute( 'data-markdown' ).length ) {
212
+
213
+ externalPromises.push( loadExternalMarkdown( section ).then(
214
+
215
+ // Finished loading external file
216
+ function( xhr, url ) {
217
+ section.outerHTML = slidify( xhr.responseText, {
218
+ separator: section.getAttribute( 'data-separator' ),
219
+ verticalSeparator: section.getAttribute( 'data-separator-vertical' ),
220
+ notesSeparator: section.getAttribute( 'data-separator-notes' ),
221
+ attributes: getForwardedAttributes( section )
222
+ });
223
+ },
224
+
225
+ // Failed to load markdown
226
+ function( xhr, url ) {
227
+ section.outerHTML = '<section data-state="alert">' +
228
+ 'ERROR: The attempt to fetch ' + url + ' failed with HTTP status ' + xhr.status + '.' +
229
+ 'Check your browser\'s JavaScript console for more details.' +
230
+ '<p>Remember that you need to serve the presentation HTML from a HTTP server.</p>' +
231
+ '</section>';
232
+ }
233
+
234
+ ) );
235
+
236
+ }
237
+ else {
238
+
239
+ section.outerHTML = slidify( getMarkdownFromSlide( section ), {
240
+ separator: section.getAttribute( 'data-separator' ),
241
+ verticalSeparator: section.getAttribute( 'data-separator-vertical' ),
242
+ notesSeparator: section.getAttribute( 'data-separator-notes' ),
243
+ attributes: getForwardedAttributes( section )
244
+ });
245
+
246
+ }
247
+
248
+ });
249
+
250
+ Promise.all( externalPromises ).then( resolve );
251
+
252
+ } );
253
+
254
+ }
255
+
256
+ function loadExternalMarkdown( section ) {
257
+
258
+ return new Promise( function( resolve, reject ) {
259
+
260
+ var xhr = new XMLHttpRequest(),
261
+ url = section.getAttribute( 'data-markdown' );
262
+
263
+ var datacharset = section.getAttribute( 'data-charset' );
264
+
265
+ // see https://developer.mozilla.org/en-US/docs/Web/API/element.getAttribute#Notes
266
+ if( datacharset != null && datacharset != '' ) {
267
+ xhr.overrideMimeType( 'text/html; charset=' + datacharset );
268
+ }
269
+
270
+ xhr.onreadystatechange = function( section, xhr ) {
271
+ if( xhr.readyState === 4 ) {
272
+ // file protocol yields status code 0 (useful for local debug, mobile applications etc.)
273
+ if ( ( xhr.status >= 200 && xhr.status < 300 ) || xhr.status === 0 ) {
274
+
275
+ resolve( xhr, url );
276
+
277
+ }
278
+ else {
279
+
280
+ reject( xhr, url );
281
+
282
+ }
283
+ }
284
+ }.bind( this, section, xhr );
285
+
286
+ xhr.open( 'GET', url, true );
287
+
288
+ try {
289
+ xhr.send();
290
+ }
291
+ catch ( e ) {
292
+ console.warn( 'Failed to get the Markdown file ' + url + '. Make sure that the presentation and the file are served by a HTTP server and the file can be found there. ' + e );
293
+ resolve( xhr, url );
294
+ }
295
+
296
+ } );
297
+
298
+ }
299
+
300
+ /**
301
+ * Check if a node value has the attributes pattern.
302
+ * If yes, extract it and add that value as one or several attributes
303
+ * to the target element.
304
+ *
305
+ * You need Cache Killer on Chrome to see the effect on any FOM transformation
306
+ * directly on refresh (F5)
307
+ * http://stackoverflow.com/questions/5690269/disabling-chrome-cache-for-website-development/7000899#answer-11786277
308
+ */
309
+ function addAttributeInElement( node, elementTarget, separator ) {
310
+
311
+ var mardownClassesInElementsRegex = new RegExp( separator, 'mg' );
312
+ var mardownClassRegex = new RegExp( "([^\"= ]+?)=\"([^\"]+?)\"|(data-[^\"= ]+?)(?=[\" ])", 'mg' );
313
+ var nodeValue = node.nodeValue;
314
+ var matches,
315
+ matchesClass;
316
+ if( matches = mardownClassesInElementsRegex.exec( nodeValue ) ) {
317
+
318
+ var classes = matches[1];
319
+ nodeValue = nodeValue.substring( 0, matches.index ) + nodeValue.substring( mardownClassesInElementsRegex.lastIndex );
320
+ node.nodeValue = nodeValue;
321
+ while( matchesClass = mardownClassRegex.exec( classes ) ) {
322
+ if( matchesClass[2] ) {
323
+ elementTarget.setAttribute( matchesClass[1], matchesClass[2] );
324
+ } else {
325
+ elementTarget.setAttribute( matchesClass[3], "" );
326
+ }
327
+ }
328
+ return true;
329
+ }
330
+ return false;
331
+ }
332
+
333
+ /**
334
+ * Add attributes to the parent element of a text node,
335
+ * or the element of an attribute node.
336
+ */
337
+ function addAttributes( section, element, previousElement, separatorElementAttributes, separatorSectionAttributes ) {
338
+
339
+ if ( element != null && element.childNodes != undefined && element.childNodes.length > 0 ) {
340
+ var previousParentElement = element;
341
+ for( var i = 0; i < element.childNodes.length; i++ ) {
342
+ var childElement = element.childNodes[i];
343
+ if ( i > 0 ) {
344
+ var j = i - 1;
345
+ while ( j >= 0 ) {
346
+ var aPreviousChildElement = element.childNodes[j];
347
+ if ( typeof aPreviousChildElement.setAttribute == 'function' && aPreviousChildElement.tagName != "BR" ) {
348
+ previousParentElement = aPreviousChildElement;
349
+ break;
350
+ }
351
+ j = j - 1;
352
+ }
353
+ }
354
+ var parentSection = section;
355
+ if( childElement.nodeName == "section" ) {
356
+ parentSection = childElement ;
357
+ previousParentElement = childElement ;
358
+ }
359
+ if ( typeof childElement.setAttribute == 'function' || childElement.nodeType == Node.COMMENT_NODE ) {
360
+ addAttributes( parentSection, childElement, previousParentElement, separatorElementAttributes, separatorSectionAttributes );
361
+ }
362
+ }
363
+ }
364
+
365
+ if ( element.nodeType == Node.COMMENT_NODE ) {
366
+ if ( addAttributeInElement( element, previousElement, separatorElementAttributes ) == false ) {
367
+ addAttributeInElement( element, section, separatorSectionAttributes );
368
+ }
369
+ }
370
+ }
371
+
372
+ /**
373
+ * Converts any current data-markdown slides in the
374
+ * DOM to HTML.
375
+ */
376
+ function convertSlides() {
377
+
378
+ var sections = deck.getRevealElement().querySelectorAll( '[data-markdown]:not([data-markdown-parsed])');
379
+
380
+ [].slice.call( sections ).forEach( function( section ) {
381
+
382
+ section.setAttribute( 'data-markdown-parsed', true )
383
+
384
+ var notes = section.querySelector( 'aside.notes' );
385
+ var markdown = getMarkdownFromSlide( section );
386
+
387
+ section.innerHTML = marked( markdown );
388
+ addAttributes( section, section, null, section.getAttribute( 'data-element-attributes' ) ||
389
+ section.parentNode.getAttribute( 'data-element-attributes' ) ||
390
+ DEFAULT_ELEMENT_ATTRIBUTES_SEPARATOR,
391
+ section.getAttribute( 'data-attributes' ) ||
392
+ section.parentNode.getAttribute( 'data-attributes' ) ||
393
+ DEFAULT_SLIDE_ATTRIBUTES_SEPARATOR);
394
+
395
+ // If there were notes, we need to re-add them after
396
+ // having overwritten the section's HTML
397
+ if( notes ) {
398
+ section.appendChild( notes );
399
+ }
400
+
401
+ } );
402
+
403
+ return Promise.resolve();
404
+
405
+ }
406
+
407
+ function escapeForHTML( input ) {
408
+
409
+ return input.replace( /([&<>'"])/g, char => HTML_ESCAPE_MAP[char] );
410
+
411
+ }
412
+
413
+ return {
414
+ id: 'markdown',
415
+
416
+ /**
417
+ * Starts processing and converting Markdown within the
418
+ * current reveal.js deck.
419
+ */
420
+ init: function( reveal ) {
421
+
422
+ deck = reveal;
423
+
424
+ let { renderer, animateLists, ...markedOptions } = deck.getConfig().markdown || {};
425
+
426
+ if( !renderer ) {
427
+ renderer = new marked.Renderer();
428
+
429
+ renderer.code = ( code, language ) => {
430
+
431
+ // Off by default
432
+ let lineNumbers = '';
433
+
434
+ // Users can opt in to show line numbers and highlight
435
+ // specific lines.
436
+ // ```javascript [] show line numbers
437
+ // ```javascript [1,4-8] highlights lines 1 and 4-8
438
+ if( CODE_LINE_NUMBER_REGEX.test( language ) ) {
439
+ lineNumbers = language.match( CODE_LINE_NUMBER_REGEX )[1].trim();
440
+ lineNumbers = `data-line-numbers="${lineNumbers}"`;
441
+ language = language.replace( CODE_LINE_NUMBER_REGEX, '' ).trim();
442
+ }
443
+
444
+ // Escape before this gets injected into the DOM to
445
+ // avoid having the HTML parser alter our code before
446
+ // highlight.js is able to read it
447
+ code = escapeForHTML( code );
448
+
449
+ return `<pre><code ${lineNumbers} class="${language}">${code}</code></pre>`;
450
+ };
451
+ }
452
+
453
+ if( animateLists === true ) {
454
+ renderer.listitem = text => `<li class="fragment">${text}</li>`;
455
+ }
456
+
457
+ marked.setOptions( {
458
+ renderer,
459
+ ...markedOptions
460
+ } );
461
+
462
+ return processSlides( deck.getRevealElement() ).then( convertSlides );
463
+
464
+ },
465
+
466
+ // TODO: Do these belong in the API?
467
+ processSlides: processSlides,
468
+ convertSlides: convertSlides,
469
+ slidify: slidify,
470
+ marked: marked
471
+ }
472
+
473
+ };
474
+
475
+ export default Plugin;
llm_conf_files/libs/revealjs/plugin/math/katex.js ADDED
@@ -0,0 +1,96 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * A plugin which enables rendering of math equations inside
3
+ * of reveal.js slides. Essentially a thin wrapper for KaTeX.
4
+ *
5
+ * @author Hakim El Hattab
6
+ * @author Gerhard Burger
7
+ */
8
+ export const KaTeX = () => {
9
+ let deck;
10
+
11
+ let defaultOptions = {
12
+ version: 'latest',
13
+ delimiters: [
14
+ {left: '$$', right: '$$', display: true}, // Note: $$ has to come before $
15
+ {left: '$', right: '$', display: false},
16
+ {left: '\\(', right: '\\)', display: false},
17
+ {left: '\\[', right: '\\]', display: true}
18
+ ],
19
+ ignoredTags: ['script', 'noscript', 'style', 'textarea', 'pre']
20
+ }
21
+
22
+ const loadCss = src => {
23
+ let link = document.createElement('link');
24
+ link.rel = 'stylesheet';
25
+ link.href = src;
26
+ document.head.appendChild(link);
27
+ };
28
+
29
+ /**
30
+ * Loads a JavaScript file and returns a Promise for when it is loaded
31
+ * Credits: https://aaronsmith.online/easily-load-an-external-script-using-javascript/
32
+ */
33
+ const loadScript = src => {
34
+ return new Promise((resolve, reject) => {
35
+ const script = document.createElement('script')
36
+ script.type = 'text/javascript'
37
+ script.onload = resolve
38
+ script.onerror = reject
39
+ script.src = src
40
+ document.head.append(script)
41
+ })
42
+ };
43
+
44
+ async function loadScripts(urls) {
45
+ for(const url of urls) {
46
+ await loadScript(url);
47
+ }
48
+ }
49
+
50
+ return {
51
+ id: 'katex',
52
+
53
+ init: function (reveal) {
54
+
55
+ deck = reveal;
56
+
57
+ let revealOptions = deck.getConfig().katex || {};
58
+
59
+ let options = {...defaultOptions, ...revealOptions};
60
+ const {local, version, extensions, ...katexOptions} = options;
61
+
62
+ let baseUrl = options.local || 'https://cdn.jsdelivr.net/npm/katex';
63
+ let versionString = options.local ? '' : '@' + options.version;
64
+
65
+ let cssUrl = baseUrl + versionString + '/dist/katex.min.css';
66
+ let katexUrl = baseUrl + versionString + '/dist/katex.min.js';
67
+ let mhchemUrl = baseUrl + versionString + '/dist/contrib/mhchem.min.js'
68
+ let karUrl = baseUrl + versionString + '/dist/contrib/auto-render.min.js';
69
+
70
+ let katexScripts = [katexUrl];
71
+ if(options.extensions && options.extensions.includes("mhchem")) {
72
+ katexScripts.push(mhchemUrl);
73
+ }
74
+ katexScripts.push(karUrl);
75
+
76
+ const renderMath = () => {
77
+ renderMathInElement(reveal.getSlidesElement(), katexOptions);
78
+ deck.layout();
79
+ }
80
+
81
+ loadCss(cssUrl);
82
+
83
+ // For some reason dynamically loading with defer attribute doesn't result in the expected behavior, the below code does
84
+ loadScripts(katexScripts).then(() => {
85
+ if( deck.isReady() ) {
86
+ renderMath();
87
+ }
88
+ else {
89
+ deck.on( 'ready', renderMath.bind( this ) );
90
+ }
91
+ });
92
+
93
+ }
94
+ }
95
+
96
+ };
llm_conf_files/libs/revealjs/plugin/math/math.esm.js ADDED
@@ -0,0 +1 @@
 
 
1
+ var t="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},e=function(t){return t&&t.Math==Math&&t},n=e("object"==typeof globalThis&&globalThis)||e("object"==typeof window&&window)||e("object"==typeof self&&self)||e("object"==typeof t&&t)||function(){return this}()||Function("return this")(),r={},o=function(t){try{return!!t()}catch(t){return!0}},i=!o((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]})),a={},c={}.propertyIsEnumerable,u=Object.getOwnPropertyDescriptor,f=u&&!c.call({1:2},1);a.f=f?function(t){var e=u(this,t);return!!e&&e.enumerable}:c;var s=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}},l={}.toString,p=function(t){return l.call(t).slice(8,-1)},h=p,v="".split,d=o((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==h(t)?v.call(t,""):Object(t)}:Object,y=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t},g=d,m=y,b=function(t){return g(m(t))},w=function(t){return"object"==typeof t?null!==t:"function"==typeof t},j=w,x=function(t,e){if(!j(t))return t;var n,r;if(e&&"function"==typeof(n=t.toString)&&!j(r=n.call(t)))return r;if("function"==typeof(n=t.valueOf)&&!j(r=n.call(t)))return r;if(!e&&"function"==typeof(n=t.toString)&&!j(r=n.call(t)))return r;throw TypeError("Can't convert object to primitive value")},O=y,E=function(t){return Object(O(t))},S=E,T={}.hasOwnProperty,P=function(t,e){return T.call(S(t),e)},_=w,k=n.document,L=_(k)&&_(k.createElement),M=function(t){return L?k.createElement(t):{}},A=M,I=!i&&!o((function(){return 7!=Object.defineProperty(A("div"),"a",{get:function(){return 7}}).a})),R=i,C=a,N=s,F=b,J=x,D=P,$=I,G=Object.getOwnPropertyDescriptor;r.f=R?G:function(t,e){if(t=F(t),e=J(e,!0),$)try{return G(t,e)}catch(t){}if(D(t,e))return N(!C.f.call(t,e),t[e])};var H={},z=w,W=function(t){if(!z(t))throw TypeError(String(t)+" is not an object");return t},q=i,U=I,K=W,Q=x,X=Object.defineProperty;H.f=q?X:function(t,e,n){if(K(t),e=Q(e,!0),K(n),U)try{return X(t,e,n)}catch(t){}if("get"in n||"set"in n)throw TypeError("Accessors not supported");return"value"in n&&(t[e]=n.value),t};var Y=H,B=s,V=i?function(t,e,n){return Y.f(t,e,B(1,n))}:function(t,e,n){return t[e]=n,t},Z={exports:{}},tt=n,et=V,nt=function(t,e){try{et(tt,t,e)}catch(n){tt[t]=e}return e},rt=nt,ot=n["__core-js_shared__"]||rt("__core-js_shared__",{}),it=ot,at=Function.toString;"function"!=typeof it.inspectSource&&(it.inspectSource=function(t){return at.call(t)});var ct=it.inspectSource,ut=ct,ft=n.WeakMap,st="function"==typeof ft&&/native code/.test(ut(ft)),lt={exports:{}},pt=ot;(lt.exports=function(t,e){return pt[t]||(pt[t]=void 0!==e?e:{})})("versions",[]).push({version:"3.12.1",mode:"global",copyright:"© 2021 Denis Pushkarev (zloirock.ru)"});var ht,vt,dt,yt=0,gt=Math.random(),mt=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++yt+gt).toString(36)},bt=lt.exports,wt=mt,jt=bt("keys"),xt=function(t){return jt[t]||(jt[t]=wt(t))},Ot={},Et=st,St=w,Tt=V,Pt=P,_t=ot,kt=xt,Lt=Ot,Mt=n.WeakMap;if(Et||_t.state){var At=_t.state||(_t.state=new Mt),It=At.get,Rt=At.has,Ct=At.set;ht=function(t,e){if(Rt.call(At,t))throw new TypeError("Object already initialized");return e.facade=t,Ct.call(At,t,e),e},vt=function(t){return It.call(At,t)||{}},dt=function(t){return Rt.call(At,t)}}else{var Nt=kt("state");Lt[Nt]=!0,ht=function(t,e){if(Pt(t,Nt))throw new TypeError("Object already initialized");return e.facade=t,Tt(t,Nt,e),e},vt=function(t){return Pt(t,Nt)?t[Nt]:{}},dt=function(t){return Pt(t,Nt)}}var Ft={set:ht,get:vt,has:dt,enforce:function(t){return dt(t)?vt(t):ht(t,{})},getterFor:function(t){return function(e){var n;if(!St(e)||(n=vt(e)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return n}}},Jt=n,Dt=V,$t=P,Gt=nt,Ht=ct,zt=Ft.get,Wt=Ft.enforce,qt=String(String).split("String");(Z.exports=function(t,e,n,r){var o,i=!!r&&!!r.unsafe,a=!!r&&!!r.enumerable,c=!!r&&!!r.noTargetGet;"function"==typeof n&&("string"!=typeof e||$t(n,"name")||Dt(n,"name",e),(o=Wt(n)).source||(o.source=qt.join("string"==typeof e?e:""))),t!==Jt?(i?!c&&t[e]&&(a=!0):delete t[e],a?t[e]=n:Dt(t,e,n)):a?t[e]=n:Gt(e,n)})(Function.prototype,"toString",(function(){return"function"==typeof this&&zt(this).source||Ht(this)}));var Ut=n,Kt=n,Qt=function(t){return"function"==typeof t?t:void 0},Xt=function(t,e){return arguments.length<2?Qt(Ut[t])||Qt(Kt[t]):Ut[t]&&Ut[t][e]||Kt[t]&&Kt[t][e]},Yt={},Bt=Math.ceil,Vt=Math.floor,Zt=function(t){return isNaN(t=+t)?0:(t>0?Vt:Bt)(t)},te=Zt,ee=Math.min,ne=function(t){return t>0?ee(te(t),9007199254740991):0},re=Zt,oe=Math.max,ie=Math.min,ae=b,ce=ne,ue=function(t,e){var n=re(t);return n<0?oe(n+e,0):ie(n,e)},fe=function(t){return function(e,n,r){var o,i=ae(e),a=ce(i.length),c=ue(r,a);if(t&&n!=n){for(;a>c;)if((o=i[c++])!=o)return!0}else for(;a>c;c++)if((t||c in i)&&i[c]===n)return t||c||0;return!t&&-1}},se={includes:fe(!0),indexOf:fe(!1)},le=P,pe=b,he=se.indexOf,ve=Ot,de=function(t,e){var n,r=pe(t),o=0,i=[];for(n in r)!le(ve,n)&&le(r,n)&&i.push(n);for(;e.length>o;)le(r,n=e[o++])&&(~he(i,n)||i.push(n));return i},ye=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],ge=de,me=ye.concat("length","prototype");Yt.f=Object.getOwnPropertyNames||function(t){return ge(t,me)};var be={};be.f=Object.getOwnPropertySymbols;var we=Yt,je=be,xe=W,Oe=Xt("Reflect","ownKeys")||function(t){var e=we.f(xe(t)),n=je.f;return n?e.concat(n(t)):e},Ee=P,Se=Oe,Te=r,Pe=H,_e=o,ke=/#|\.prototype\./,Le=function(t,e){var n=Ae[Me(t)];return n==Re||n!=Ie&&("function"==typeof e?_e(e):!!e)},Me=Le.normalize=function(t){return String(t).replace(ke,".").toLowerCase()},Ae=Le.data={},Ie=Le.NATIVE="N",Re=Le.POLYFILL="P",Ce=Le,Ne=n,Fe=r.f,Je=V,De=Z.exports,$e=nt,Ge=function(t,e){for(var n=Se(e),r=Pe.f,o=Te.f,i=0;i<n.length;i++){var a=n[i];Ee(t,a)||r(t,a,o(e,a))}},He=Ce,ze=function(t,e){var n,r,o,i,a,c=t.target,u=t.global,f=t.stat;if(n=u?Ne:f?Ne[c]||$e(c,{}):(Ne[c]||{}).prototype)for(r in e){if(i=e[r],o=t.noTargetGet?(a=Fe(n,r))&&a.value:n[r],!He(u?r:c+(f?".":"#")+r,t.forced)&&void 0!==o){if(typeof i==typeof o)continue;Ge(i,o)}(t.sham||o&&o.sham)&&Je(i,"sham",!0),De(n,r,i,t)}},We=de,qe=ye,Ue=Object.keys||function(t){return We(t,qe)},Ke=i,Qe=o,Xe=Ue,Ye=be,Be=a,Ve=E,Ze=d,tn=Object.assign,en=Object.defineProperty,nn=!tn||Qe((function(){if(Ke&&1!==tn({b:1},tn(en({},"a",{enumerable:!0,get:function(){en(this,"b",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var t={},e={},n=Symbol(),r="abcdefghijklmnopqrst";return t[n]=7,r.split("").forEach((function(t){e[t]=t})),7!=tn({},t)[n]||Xe(tn({},e)).join("")!=r}))?function(t,e){for(var n=Ve(t),r=arguments.length,o=1,i=Ye.f,a=Be.f;r>o;)for(var c,u=Ze(arguments[o++]),f=i?Xe(u).concat(i(u)):Xe(u),s=f.length,l=0;s>l;)c=f[l++],Ke&&!a.call(u,c)||(n[c]=u[c]);return n}:tn;function rn(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function on(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?rn(Object(n),!0).forEach((function(e){un(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):rn(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function an(t,e,n,r,o,i,a){try{var c=t[i](a),u=c.value}catch(t){return void n(t)}c.done?e(u):Promise.resolve(u).then(r,o)}function cn(t){return function(){var e=this,n=arguments;return new Promise((function(r,o){var i=t.apply(e,n);function a(t){an(i,r,o,a,c,"next",t)}function c(t){an(i,r,o,a,c,"throw",t)}a(void 0)}))}}function un(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function fn(t,e){if(null==t)return{};var n,r,o=function(t,e){if(null==t)return{};var n,r,o={},i=Object.keys(t);for(r=0;r<i.length;r++)n=i[r],e.indexOf(n)>=0||(o[n]=t[n]);return o}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(r=0;r<i.length;r++)n=i[r],e.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}function sn(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}function ln(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=function(t,e){if(t){if("string"==typeof t)return sn(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?sn(t,e):void 0}}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var r=0,o=function(){};return{s:o,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,c=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return a=t.done,t},e:function(t){c=!0,i=t},f:function(){try{a||null==n.return||n.return()}finally{if(c)throw i}}}}ze({target:"Object",stat:!0,forced:Object.assign!==nn},{assign:nn});!function(t){var e=function(t){var e,n=Object.prototype,r=n.hasOwnProperty,o="function"==typeof Symbol?Symbol:{},i=o.iterator||"@@iterator",a=o.asyncIterator||"@@asyncIterator",c=o.toStringTag||"@@toStringTag";function u(t,e,n){return Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{u({},"")}catch(t){u=function(t,e,n){return t[e]=n}}function f(t,e,n,r){var o=e&&e.prototype instanceof y?e:y,i=Object.create(o.prototype),a=new _(r||[]);return i._invoke=function(t,e,n){var r=l;return function(o,i){if(r===h)throw new Error("Generator is already running");if(r===v){if("throw"===o)throw i;return L()}for(n.method=o,n.arg=i;;){var a=n.delegate;if(a){var c=S(a,n);if(c){if(c===d)continue;return c}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(r===l)throw r=v,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r=h;var u=s(t,e,n);if("normal"===u.type){if(r=n.done?v:p,u.arg===d)continue;return{value:u.arg,done:n.done}}"throw"===u.type&&(r=v,n.method="throw",n.arg=u.arg)}}}(t,n,a),i}function s(t,e,n){try{return{type:"normal",arg:t.call(e,n)}}catch(t){return{type:"throw",arg:t}}}t.wrap=f;var l="suspendedStart",p="suspendedYield",h="executing",v="completed",d={};function y(){}function g(){}function m(){}var b={};b[i]=function(){return this};var w=Object.getPrototypeOf,j=w&&w(w(k([])));j&&j!==n&&r.call(j,i)&&(b=j);var x=m.prototype=y.prototype=Object.create(b);function O(t){["next","throw","return"].forEach((function(e){u(t,e,(function(t){return this._invoke(e,t)}))}))}function E(t,e){function n(o,i,a,c){var u=s(t[o],t,i);if("throw"!==u.type){var f=u.arg,l=f.value;return l&&"object"==typeof l&&r.call(l,"__await")?e.resolve(l.__await).then((function(t){n("next",t,a,c)}),(function(t){n("throw",t,a,c)})):e.resolve(l).then((function(t){f.value=t,a(f)}),(function(t){return n("throw",t,a,c)}))}c(u.arg)}var o;this._invoke=function(t,r){function i(){return new e((function(e,o){n(t,r,e,o)}))}return o=o?o.then(i,i):i()}}function S(t,n){var r=t.iterator[n.method];if(r===e){if(n.delegate=null,"throw"===n.method){if(t.iterator.return&&(n.method="return",n.arg=e,S(t,n),"throw"===n.method))return d;n.method="throw",n.arg=new TypeError("The iterator does not provide a 'throw' method")}return d}var o=s(r,t.iterator,n.arg);if("throw"===o.type)return n.method="throw",n.arg=o.arg,n.delegate=null,d;var i=o.arg;return i?i.done?(n[t.resultName]=i.value,n.next=t.nextLoc,"return"!==n.method&&(n.method="next",n.arg=e),n.delegate=null,d):i:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,d)}function T(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function P(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function _(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(T,this),this.reset(!0)}function k(t){if(t){var n=t[i];if(n)return n.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var o=-1,a=function n(){for(;++o<t.length;)if(r.call(t,o))return n.value=t[o],n.done=!1,n;return n.value=e,n.done=!0,n};return a.next=a}}return{next:L}}function L(){return{value:e,done:!0}}return g.prototype=x.constructor=m,m.constructor=g,g.displayName=u(m,c,"GeneratorFunction"),t.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===g||"GeneratorFunction"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,m):(t.__proto__=m,u(t,c,"GeneratorFunction")),t.prototype=Object.create(x),t},t.awrap=function(t){return{__await:t}},O(E.prototype),E.prototype[a]=function(){return this},t.AsyncIterator=E,t.async=function(e,n,r,o,i){void 0===i&&(i=Promise);var a=new E(f(e,n,r,o),i);return t.isGeneratorFunction(n)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},O(x),u(x,c,"Generator"),x[i]=function(){return this},x.toString=function(){return"[object Generator]"},t.keys=function(t){var e=[];for(var n in t)e.push(n);return e.reverse(),function n(){for(;e.length;){var r=e.pop();if(r in t)return n.value=r,n.done=!1,n}return n.done=!0,n}},t.values=k,_.prototype={constructor:_,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEach(P),!t)for(var n in this)"t"===n.charAt(0)&&r.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=e)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var n=this;function o(r,o){return c.type="throw",c.arg=t,n.next=r,o&&(n.method="next",n.arg=e),!!o}for(var i=this.tryEntries.length-1;i>=0;--i){var a=this.tryEntries[i],c=a.completion;if("root"===a.tryLoc)return o("end");if(a.tryLoc<=this.prev){var u=r.call(a,"catchLoc"),f=r.call(a,"finallyLoc");if(u&&f){if(this.prev<a.catchLoc)return o(a.catchLoc,!0);if(this.prev<a.finallyLoc)return o(a.finallyLoc)}else if(u){if(this.prev<a.catchLoc)return o(a.catchLoc,!0)}else{if(!f)throw new Error("try statement without catch or finally");if(this.prev<a.finallyLoc)return o(a.finallyLoc)}}}},abrupt:function(t,e){for(var n=this.tryEntries.length-1;n>=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break}}i&&("break"===t||"continue"===t)&&i.tryLoc<=e&&e<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=t,a.arg=e,i?(this.method="next",this.next=i.finallyLoc,d):this.complete(a)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),d},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),P(n),d}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var r=n.completion;if("throw"===r.type){var o=r.arg;P(n)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,n,r){return this.delegate={iterator:k(t),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=e),d}},t}(t.exports);try{regeneratorRuntime=e}catch(t){Function("r","regeneratorRuntime = r")(e)}}({exports:{}});var pn,hn,vn=Xt("navigator","userAgent")||"",dn=vn,yn=n.process,gn=yn&&yn.versions,mn=gn&&gn.v8;mn?hn=(pn=mn.split("."))[0]<4?1:pn[0]+pn[1]:dn&&(!(pn=dn.match(/Edge\/(\d+)/))||pn[1]>=74)&&(pn=dn.match(/Chrome\/(\d+)/))&&(hn=pn[1]);var bn=hn&&+hn,wn=bn,jn=o,xn=!!Object.getOwnPropertySymbols&&!jn((function(){return!String(Symbol())||!Symbol.sham&&wn&&wn<41})),On=xn&&!Symbol.sham&&"symbol"==typeof Symbol.iterator,En=n,Sn=lt.exports,Tn=P,Pn=mt,_n=xn,kn=On,Ln=Sn("wks"),Mn=En.Symbol,An=kn?Mn:Mn&&Mn.withoutSetter||Pn,In=function(t){return Tn(Ln,t)&&(_n||"string"==typeof Ln[t])||(_n&&Tn(Mn,t)?Ln[t]=Mn[t]:Ln[t]=An("Symbol."+t)),Ln[t]},Rn={};Rn[In("toStringTag")]="z";var Cn="[object z]"===String(Rn),Nn=Cn,Fn=p,Jn=In("toStringTag"),Dn="Arguments"==Fn(function(){return arguments}()),$n=Nn?Fn:function(t){var e,n,r;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(n=function(t,e){try{return t[e]}catch(t){}}(e=Object(t),Jn))?n:Dn?Fn(e):"Object"==(r=Fn(e))&&"function"==typeof e.callee?"Arguments":r},Gn=$n,Hn=Cn?{}.toString:function(){return"[object "+Gn(this)+"]"},zn=Cn,Wn=Z.exports,qn=Hn;zn||Wn(Object.prototype,"toString",qn,{unsafe:!0});var Un=n.Promise,Kn=Z.exports,Qn=w,Xn=W,Yn=function(t){if(!Qn(t)&&null!==t)throw TypeError("Can't set "+String(t)+" as a prototype");return t},Bn=Object.setPrototypeOf||("__proto__"in{}?function(){var t,e=!1,n={};try{(t=Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set).call(n,[]),e=n instanceof Array}catch(t){}return function(n,r){return Xn(n),Yn(r),e?t.call(n,r):n.__proto__=r,n}}():void 0),Vn=H.f,Zn=P,tr=In("toStringTag"),er=Xt,nr=H,rr=i,or=In("species"),ir=function(t){if("function"!=typeof t)throw TypeError(String(t)+" is not a function");return t},ar={},cr=ar,ur=In("iterator"),fr=Array.prototype,sr=ir,lr=function(t,e,n){if(sr(t),void 0===e)return t;switch(n){case 0:return function(){return t.call(e)};case 1:return function(n){return t.call(e,n)};case 2:return function(n,r){return t.call(e,n,r)};case 3:return function(n,r,o){return t.call(e,n,r,o)}}return function(){return t.apply(e,arguments)}},pr=$n,hr=ar,vr=In("iterator"),dr=W,yr=W,gr=function(t){return void 0!==t&&(cr.Array===t||fr[ur]===t)},mr=ne,br=lr,wr=function(t){if(null!=t)return t[vr]||t["@@iterator"]||hr[pr(t)]},jr=function(t){var e=t.return;if(void 0!==e)return dr(e.call(t)).value},xr=function(t,e){this.stopped=t,this.result=e},Or=In("iterator"),Er=!1;try{var Sr=0,Tr={next:function(){return{done:!!Sr++}},return:function(){Er=!0}};Tr[Or]=function(){return this},Array.from(Tr,(function(){throw 2}))}catch(t){}var Pr,_r,kr,Lr=W,Mr=ir,Ar=In("species"),Ir=Xt("document","documentElement"),Rr=/(?:iphone|ipod|ipad).*applewebkit/i.test(vn),Cr="process"==p(n.process),Nr=n,Fr=o,Jr=lr,Dr=Ir,$r=M,Gr=Rr,Hr=Cr,zr=Nr.location,Wr=Nr.setImmediate,qr=Nr.clearImmediate,Ur=Nr.process,Kr=Nr.MessageChannel,Qr=Nr.Dispatch,Xr=0,Yr={},Br=function(t){if(Yr.hasOwnProperty(t)){var e=Yr[t];delete Yr[t],e()}},Vr=function(t){return function(){Br(t)}},Zr=function(t){Br(t.data)},to=function(t){Nr.postMessage(t+"",zr.protocol+"//"+zr.host)};Wr&&qr||(Wr=function(t){for(var e=[],n=1;arguments.length>n;)e.push(arguments[n++]);return Yr[++Xr]=function(){("function"==typeof t?t:Function(t)).apply(void 0,e)},Pr(Xr),Xr},qr=function(t){delete Yr[t]},Hr?Pr=function(t){Ur.nextTick(Vr(t))}:Qr&&Qr.now?Pr=function(t){Qr.now(Vr(t))}:Kr&&!Gr?(kr=(_r=new Kr).port2,_r.port1.onmessage=Zr,Pr=Jr(kr.postMessage,kr,1)):Nr.addEventListener&&"function"==typeof postMessage&&!Nr.importScripts&&zr&&"file:"!==zr.protocol&&!Fr(to)?(Pr=to,Nr.addEventListener("message",Zr,!1)):Pr="onreadystatechange"in $r("script")?function(t){Dr.appendChild($r("script")).onreadystatechange=function(){Dr.removeChild(this),Br(t)}}:function(t){setTimeout(Vr(t),0)});var eo,no,ro,oo,io,ao,co,uo,fo={set:Wr,clear:qr},so=/web0s(?!.*chrome)/i.test(vn),lo=n,po=r.f,ho=fo.set,vo=Rr,yo=so,go=Cr,mo=lo.MutationObserver||lo.WebKitMutationObserver,bo=lo.document,wo=lo.process,jo=lo.Promise,xo=po(lo,"queueMicrotask"),Oo=xo&&xo.value;Oo||(eo=function(){var t,e;for(go&&(t=wo.domain)&&t.exit();no;){e=no.fn,no=no.next;try{e()}catch(t){throw no?oo():ro=void 0,t}}ro=void 0,t&&t.enter()},vo||go||yo||!mo||!bo?jo&&jo.resolve?((co=jo.resolve(void 0)).constructor=jo,uo=co.then,oo=function(){uo.call(co,eo)}):oo=go?function(){wo.nextTick(eo)}:function(){ho.call(lo,eo)}:(io=!0,ao=bo.createTextNode(""),new mo(eo).observe(ao,{characterData:!0}),oo=function(){ao.data=io=!io}));var Eo=Oo||function(t){var e={fn:t,next:void 0};ro&&(ro.next=e),no||(no=e,oo()),ro=e},So={},To=ir,Po=function(t){var e,n;this.promise=new t((function(t,r){if(void 0!==e||void 0!==n)throw TypeError("Bad Promise constructor");e=t,n=r})),this.resolve=To(e),this.reject=To(n)};So.f=function(t){return new Po(t)};var _o,ko,Lo,Mo,Ao=W,Io=w,Ro=So,Co=n,No="object"==typeof window,Fo=ze,Jo=n,Do=Xt,$o=Un,Go=Z.exports,Ho=function(t,e,n){for(var r in e)Kn(t,r,e[r],n);return t},zo=Bn,Wo=function(t,e,n){t&&!Zn(t=n?t:t.prototype,tr)&&Vn(t,tr,{configurable:!0,value:e})},qo=function(t){var e=er(t),n=nr.f;rr&&e&&!e[or]&&n(e,or,{configurable:!0,get:function(){return this}})},Uo=w,Ko=ir,Qo=function(t,e,n){if(!(t instanceof e))throw TypeError("Incorrect "+(n?n+" ":"")+"invocation");return t},Xo=ct,Yo=function(t,e,n){var r,o,i,a,c,u,f,s=n&&n.that,l=!(!n||!n.AS_ENTRIES),p=!(!n||!n.IS_ITERATOR),h=!(!n||!n.INTERRUPTED),v=br(e,s,1+l+h),d=function(t){return r&&jr(r),new xr(!0,t)},y=function(t){return l?(yr(t),h?v(t[0],t[1],d):v(t[0],t[1])):h?v(t,d):v(t)};if(p)r=t;else{if("function"!=typeof(o=wr(t)))throw TypeError("Target is not iterable");if(gr(o)){for(i=0,a=mr(t.length);a>i;i++)if((c=y(t[i]))&&c instanceof xr)return c;return new xr(!1)}r=o.call(t)}for(u=r.next;!(f=u.call(r)).done;){try{c=y(f.value)}catch(t){throw jr(r),t}if("object"==typeof c&&c&&c instanceof xr)return c}return new xr(!1)},Bo=function(t,e){if(!e&&!Er)return!1;var n=!1;try{var r={};r[Or]=function(){return{next:function(){return{done:n=!0}}}},t(r)}catch(t){}return n},Vo=function(t,e){var n,r=Lr(t).constructor;return void 0===r||null==(n=Lr(r)[Ar])?e:Mr(n)},Zo=fo.set,ti=Eo,ei=function(t,e){if(Ao(t),Io(e)&&e.constructor===t)return e;var n=Ro.f(t);return(0,n.resolve)(e),n.promise},ni=function(t,e){var n=Co.console;n&&n.error&&(1===arguments.length?n.error(t):n.error(t,e))},ri=So,oi=function(t){try{return{error:!1,value:t()}}catch(t){return{error:!0,value:t}}},ii=Ft,ai=Ce,ci=No,ui=Cr,fi=bn,si=In("species"),li="Promise",pi=ii.get,hi=ii.set,vi=ii.getterFor(li),di=$o&&$o.prototype,yi=$o,gi=di,mi=Jo.TypeError,bi=Jo.document,wi=Jo.process,ji=ri.f,xi=ji,Oi=!!(bi&&bi.createEvent&&Jo.dispatchEvent),Ei="function"==typeof PromiseRejectionEvent,Si=!1,Ti=ai(li,(function(){var t=Xo(yi)!==String(yi);if(!t&&66===fi)return!0;if(fi>=51&&/native code/.test(yi))return!1;var e=new yi((function(t){t(1)})),n=function(t){t((function(){}),(function(){}))};return(e.constructor={})[si]=n,!(Si=e.then((function(){}))instanceof n)||!t&&ci&&!Ei})),Pi=Ti||!Bo((function(t){yi.all(t).catch((function(){}))})),_i=function(t){var e;return!(!Uo(t)||"function"!=typeof(e=t.then))&&e},ki=function(t,e){if(!t.notified){t.notified=!0;var n=t.reactions;ti((function(){for(var r=t.value,o=1==t.state,i=0;n.length>i;){var a,c,u,f=n[i++],s=o?f.ok:f.fail,l=f.resolve,p=f.reject,h=f.domain;try{s?(o||(2===t.rejection&&Ii(t),t.rejection=1),!0===s?a=r:(h&&h.enter(),a=s(r),h&&(h.exit(),u=!0)),a===f.promise?p(mi("Promise-chain cycle")):(c=_i(a))?c.call(a,l,p):l(a)):p(r)}catch(t){h&&!u&&h.exit(),p(t)}}t.reactions=[],t.notified=!1,e&&!t.rejection&&Mi(t)}))}},Li=function(t,e,n){var r,o;Oi?((r=bi.createEvent("Event")).promise=e,r.reason=n,r.initEvent(t,!1,!0),Jo.dispatchEvent(r)):r={promise:e,reason:n},!Ei&&(o=Jo["on"+t])?o(r):"unhandledrejection"===t&&ni("Unhandled promise rejection",n)},Mi=function(t){Zo.call(Jo,(function(){var e,n=t.facade,r=t.value;if(Ai(t)&&(e=oi((function(){ui?wi.emit("unhandledRejection",r,n):Li("unhandledrejection",n,r)})),t.rejection=ui||Ai(t)?2:1,e.error))throw e.value}))},Ai=function(t){return 1!==t.rejection&&!t.parent},Ii=function(t){Zo.call(Jo,(function(){var e=t.facade;ui?wi.emit("rejectionHandled",e):Li("rejectionhandled",e,t.value)}))},Ri=function(t,e,n){return function(r){t(e,r,n)}},Ci=function(t,e,n){t.done||(t.done=!0,n&&(t=n),t.value=e,t.state=2,ki(t,!0))},Ni=function(t,e,n){if(!t.done){t.done=!0,n&&(t=n);try{if(t.facade===e)throw mi("Promise can't be resolved itself");var r=_i(e);r?ti((function(){var n={done:!1};try{r.call(e,Ri(Ni,n,t),Ri(Ci,n,t))}catch(e){Ci(n,e,t)}})):(t.value=e,t.state=1,ki(t,!1))}catch(e){Ci({done:!1},e,t)}}};if(Ti&&(gi=(yi=function(t){Qo(this,yi,li),Ko(t),_o.call(this);var e=pi(this);try{t(Ri(Ni,e),Ri(Ci,e))}catch(t){Ci(e,t)}}).prototype,(_o=function(t){hi(this,{type:li,done:!1,notified:!1,parent:!1,reactions:[],rejection:!1,state:0,value:void 0})}).prototype=Ho(gi,{then:function(t,e){var n=vi(this),r=ji(Vo(this,yi));return r.ok="function"!=typeof t||t,r.fail="function"==typeof e&&e,r.domain=ui?wi.domain:void 0,n.parent=!0,n.reactions.push(r),0!=n.state&&ki(n,!1),r.promise},catch:function(t){return this.then(void 0,t)}}),ko=function(){var t=new _o,e=pi(t);this.promise=t,this.resolve=Ri(Ni,e),this.reject=Ri(Ci,e)},ri.f=ji=function(t){return t===yi||t===Lo?new ko(t):xi(t)},"function"==typeof $o&&di!==Object.prototype)){Mo=di.then,Si||(Go(di,"then",(function(t,e){var n=this;return new yi((function(t,e){Mo.call(n,t,e)})).then(t,e)}),{unsafe:!0}),Go(di,"catch",gi.catch,{unsafe:!0}));try{delete di.constructor}catch(t){}zo&&zo(di,gi)}Fo({global:!0,wrap:!0,forced:Ti},{Promise:yi}),Wo(yi,li,!1),qo(li),Lo=Do(li),Fo({target:li,stat:!0,forced:Ti},{reject:function(t){var e=ji(this);return e.reject.call(void 0,t),e.promise}}),Fo({target:li,stat:!0,forced:Ti},{resolve:function(t){return ei(this,t)}}),Fo({target:li,stat:!0,forced:Pi},{all:function(t){var e=this,n=ji(e),r=n.resolve,o=n.reject,i=oi((function(){var n=Ko(e.resolve),i=[],a=0,c=1;Yo(t,(function(t){var u=a++,f=!1;i.push(void 0),c++,n.call(e,t).then((function(t){f||(f=!0,i[u]=t,--c||r(i))}),o)})),--c||r(i)}));return i.error&&o(i.value),n.promise},race:function(t){var e=this,n=ji(e),r=n.reject,o=oi((function(){var o=Ko(e.resolve);Yo(t,(function(t){o.call(e,t).then(n.resolve,r)}))}));return o.error&&r(o.value),n.promise}});var Fi,Ji=H,Di=W,$i=Ue,Gi=i?Object.defineProperties:function(t,e){Di(t);for(var n,r=$i(e),o=r.length,i=0;o>i;)Ji.f(t,n=r[i++],e[n]);return t},Hi=W,zi=Gi,Wi=ye,qi=Ot,Ui=Ir,Ki=M,Qi=xt("IE_PROTO"),Xi=function(){},Yi=function(t){return"<script>"+t+"<\/script>"},Bi=function(){try{Fi=document.domain&&new ActiveXObject("htmlfile")}catch(t){}var t,e;Bi=Fi?function(t){t.write(Yi("")),t.close();var e=t.parentWindow.Object;return t=null,e}(Fi):((e=Ki("iframe")).style.display="none",Ui.appendChild(e),e.src=String("javascript:"),(t=e.contentWindow.document).open(),t.write(Yi("document.F=Object")),t.close(),t.F);for(var n=Wi.length;n--;)delete Bi.prototype[Wi[n]];return Bi()};qi[Qi]=!0;var Vi=Object.create||function(t,e){var n;return null!==t?(Xi.prototype=Hi(t),n=new Xi,Xi.prototype=null,n[Qi]=t):n=Bi(),void 0===e?n:zi(n,e)},Zi=H,ta=In("unscopables"),ea=Array.prototype;null==ea[ta]&&Zi.f(ea,ta,{configurable:!0,value:Vi(null)});var na=se.includes,ra=function(t){ea[ta][t]=!0};ze({target:"Array",proto:!0},{includes:function(t){return na(this,t,arguments.length>1?arguments[1]:void 0)}}),ra("includes");var oa=w,ia=p,aa=In("match"),ca=function(t){var e;return oa(t)&&(void 0!==(e=t[aa])?!!e:"RegExp"==ia(t))},ua=In("match"),fa=function(t){if(ca(t))throw TypeError("The method doesn't accept regular expressions");return t},sa=y;ze({target:"String",proto:!0,forced:!function(t){var e=/./;try{"/./"[t](e)}catch(n){try{return e[ua]=!1,"/./"[t](e)}catch(t){}}return!1}("includes")},{includes:function(t){return!!~String(sa(this)).indexOf(fa(t),arguments.length>1?arguments[1]:void 0)}});var la=function(){var t,e={messageStyle:"none",tex2jax:{inlineMath:[["$","$"],["\\(","\\)"]],skipTags:["script","noscript","style","textarea","pre"]},skipStartupTypeset:!0};return{id:"mathjax2",init:function(n){var r=(t=n).getConfig().mathjax2||t.getConfig().math||{},o=on(on({},e),r),i=(o.mathjax||"https://cdn.jsdelivr.net/npm/mathjax@2/MathJax.js")+"?config="+(o.config||"TeX-AMS_HTML-full");o.tex2jax=on(on({},e.tex2jax),r.tex2jax),o.mathjax=o.config=null,function(t,e){var n=this,r=document.querySelector("head"),o=document.createElement("script");o.type="text/javascript",o.src=t;var i=function(){"function"==typeof e&&(e.call(),e=null)};o.onload=i,o.onreadystatechange=function(){"loaded"===n.readyState&&i()},r.appendChild(o)}(i,(function(){MathJax.Hub.Config(o),MathJax.Hub.Queue(["Typeset",MathJax.Hub,t.getRevealElement()]),MathJax.Hub.Queue(t.layout),t.on("slidechanged",(function(t){MathJax.Hub.Queue(["Typeset",MathJax.Hub,t.currentSlide])}))}))}}},pa=la,ha=Plugin=Object.assign(pa(),{KaTeX:function(){var t,e={version:"latest",delimiters:[{left:"$$",right:"$$",display:!0},{left:"$",right:"$",display:!1},{left:"\\(",right:"\\)",display:!1},{left:"\\[",right:"\\]",display:!0}],ignoredTags:["script","noscript","style","textarea","pre"]},n=function(t){return new Promise((function(e,n){var r=document.createElement("script");r.type="text/javascript",r.onload=e,r.onerror=n,r.src=t,document.head.append(r)}))};function r(){return(r=cn(regeneratorRuntime.mark((function t(e){var r,o,i;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:r=ln(e),t.prev=1,r.s();case 3:if((o=r.n()).done){t.next=9;break}return i=o.value,t.next=7,n(i);case 7:t.next=3;break;case 9:t.next=14;break;case 11:t.prev=11,t.t0=t.catch(1),r.e(t.t0);case 14:return t.prev=14,r.f(),t.finish(14);case 17:case"end":return t.stop()}}),t,null,[[1,11,14,17]])})))).apply(this,arguments)}return{id:"katex",init:function(n){var o=this,i=(t=n).getConfig().katex||{},a=on(on({},e),i);a.local,a.version,a.extensions;var c=fn(a,["local","version","extensions"]),u=a.local||"https://cdn.jsdelivr.net/npm/katex",f=a.local?"":"@"+a.version,s=u+f+"/dist/katex.min.css",l=u+f+"/dist/contrib/mhchem.min.js",p=u+f+"/dist/contrib/auto-render.min.js",h=[u+f+"/dist/katex.min.js"];a.extensions&&a.extensions.includes("mhchem")&&h.push(l),h.push(p);var v,d,y=function(){renderMathInElement(n.getSlidesElement(),c),t.layout()};v=s,(d=document.createElement("link")).rel="stylesheet",d.href=v,document.head.appendChild(d),function(t){return r.apply(this,arguments)}(h).then((function(){t.isReady()?y():t.on("ready",y.bind(o))}))}}},MathJax2:la,MathJax3:function(){var t={tex:{inlineMath:[["$","$"],["\\(","\\)"]]},options:{skipHtmlTags:["script","noscript","style","textarea","pre"]},startup:{ready:function(){MathJax.startup.defaultReady(),MathJax.startup.promise.then((function(){Reveal.layout()}))}}};return{id:"mathjax3",init:function(e){var n=e.getConfig().mathjax3||{},r=on(on({},t),n);r.tex=on(on({},t.tex),n.tex),r.options=on(on({},t.options),n.options),r.startup=on(on({},t.startup),n.startup);var o=r.mathjax||"https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js";r.mathjax=null,window.MathJax=r,function(t,e){var n=document.createElement("script");n.type="text/javascript",n.id="MathJax-script",n.src=t,n.async=!0,n.onload=function(){"function"==typeof e&&(e.call(),e=null)},document.head.appendChild(n)}(o,(function(){Reveal.addEventListener("slidechanged",(function(t){MathJax.typeset()}))}))}}}});export default ha;
llm_conf_files/libs/revealjs/plugin/math/math.js ADDED
@@ -0,0 +1 @@
 
 
1
+ !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).RevealMath=e()}(this,(function(){"use strict";var t="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},e=function(t){return t&&t.Math==Math&&t},n=e("object"==typeof globalThis&&globalThis)||e("object"==typeof window&&window)||e("object"==typeof self&&self)||e("object"==typeof t&&t)||function(){return this}()||Function("return this")(),r={},o=function(t){try{return!!t()}catch(t){return!0}},i=!o((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]})),a={},c={}.propertyIsEnumerable,u=Object.getOwnPropertyDescriptor,f=u&&!c.call({1:2},1);a.f=f?function(t){var e=u(this,t);return!!e&&e.enumerable}:c;var s=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}},l={}.toString,p=function(t){return l.call(t).slice(8,-1)},h=p,d="".split,v=o((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==h(t)?d.call(t,""):Object(t)}:Object,y=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t},g=v,m=y,b=function(t){return g(m(t))},w=function(t){return"object"==typeof t?null!==t:"function"==typeof t},j=w,x=function(t,e){if(!j(t))return t;var n,r;if(e&&"function"==typeof(n=t.toString)&&!j(r=n.call(t)))return r;if("function"==typeof(n=t.valueOf)&&!j(r=n.call(t)))return r;if(!e&&"function"==typeof(n=t.toString)&&!j(r=n.call(t)))return r;throw TypeError("Can't convert object to primitive value")},O=y,E=function(t){return Object(O(t))},S=E,T={}.hasOwnProperty,P=function(t,e){return T.call(S(t),e)},M=w,k=n.document,L=M(k)&&M(k.createElement),_=function(t){return L?k.createElement(t):{}},A=_,I=!i&&!o((function(){return 7!=Object.defineProperty(A("div"),"a",{get:function(){return 7}}).a})),R=i,C=a,N=s,F=b,J=x,D=P,$=I,G=Object.getOwnPropertyDescriptor;r.f=R?G:function(t,e){if(t=F(t),e=J(e,!0),$)try{return G(t,e)}catch(t){}if(D(t,e))return N(!C.f.call(t,e),t[e])};var H={},z=w,W=function(t){if(!z(t))throw TypeError(String(t)+" is not an object");return t},q=i,U=I,K=W,Q=x,X=Object.defineProperty;H.f=q?X:function(t,e,n){if(K(t),e=Q(e,!0),K(n),U)try{return X(t,e,n)}catch(t){}if("get"in n||"set"in n)throw TypeError("Accessors not supported");return"value"in n&&(t[e]=n.value),t};var Y=H,B=s,V=i?function(t,e,n){return Y.f(t,e,B(1,n))}:function(t,e,n){return t[e]=n,t},Z={exports:{}},tt=n,et=V,nt=function(t,e){try{et(tt,t,e)}catch(n){tt[t]=e}return e},rt=nt,ot="__core-js_shared__",it=n[ot]||rt(ot,{}),at=it,ct=Function.toString;"function"!=typeof at.inspectSource&&(at.inspectSource=function(t){return ct.call(t)});var ut=at.inspectSource,ft=ut,st=n.WeakMap,lt="function"==typeof st&&/native code/.test(ft(st)),pt={exports:{}},ht=it;(pt.exports=function(t,e){return ht[t]||(ht[t]=void 0!==e?e:{})})("versions",[]).push({version:"3.12.1",mode:"global",copyright:"© 2021 Denis Pushkarev (zloirock.ru)"});var dt,vt,yt,gt=0,mt=Math.random(),bt=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++gt+mt).toString(36)},wt=pt.exports,jt=bt,xt=wt("keys"),Ot=function(t){return xt[t]||(xt[t]=jt(t))},Et={},St=lt,Tt=w,Pt=V,Mt=P,kt=it,Lt=Ot,_t=Et,At="Object already initialized",It=n.WeakMap;if(St||kt.state){var Rt=kt.state||(kt.state=new It),Ct=Rt.get,Nt=Rt.has,Ft=Rt.set;dt=function(t,e){if(Nt.call(Rt,t))throw new TypeError(At);return e.facade=t,Ft.call(Rt,t,e),e},vt=function(t){return Ct.call(Rt,t)||{}},yt=function(t){return Nt.call(Rt,t)}}else{var Jt=Lt("state");_t[Jt]=!0,dt=function(t,e){if(Mt(t,Jt))throw new TypeError(At);return e.facade=t,Pt(t,Jt,e),e},vt=function(t){return Mt(t,Jt)?t[Jt]:{}},yt=function(t){return Mt(t,Jt)}}var Dt={set:dt,get:vt,has:yt,enforce:function(t){return yt(t)?vt(t):dt(t,{})},getterFor:function(t){return function(e){var n;if(!Tt(e)||(n=vt(e)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return n}}},$t=n,Gt=V,Ht=P,zt=nt,Wt=ut,qt=Dt.get,Ut=Dt.enforce,Kt=String(String).split("String");(Z.exports=function(t,e,n,r){var o,i=!!r&&!!r.unsafe,a=!!r&&!!r.enumerable,c=!!r&&!!r.noTargetGet;"function"==typeof n&&("string"!=typeof e||Ht(n,"name")||Gt(n,"name",e),(o=Ut(n)).source||(o.source=Kt.join("string"==typeof e?e:""))),t!==$t?(i?!c&&t[e]&&(a=!0):delete t[e],a?t[e]=n:Gt(t,e,n)):a?t[e]=n:zt(e,n)})(Function.prototype,"toString",(function(){return"function"==typeof this&&qt(this).source||Wt(this)}));var Qt=n,Xt=n,Yt=function(t){return"function"==typeof t?t:void 0},Bt=function(t,e){return arguments.length<2?Yt(Qt[t])||Yt(Xt[t]):Qt[t]&&Qt[t][e]||Xt[t]&&Xt[t][e]},Vt={},Zt=Math.ceil,te=Math.floor,ee=function(t){return isNaN(t=+t)?0:(t>0?te:Zt)(t)},ne=ee,re=Math.min,oe=function(t){return t>0?re(ne(t),9007199254740991):0},ie=ee,ae=Math.max,ce=Math.min,ue=b,fe=oe,se=function(t,e){var n=ie(t);return n<0?ae(n+e,0):ce(n,e)},le=function(t){return function(e,n,r){var o,i=ue(e),a=fe(i.length),c=se(r,a);if(t&&n!=n){for(;a>c;)if((o=i[c++])!=o)return!0}else for(;a>c;c++)if((t||c in i)&&i[c]===n)return t||c||0;return!t&&-1}},pe={includes:le(!0),indexOf:le(!1)},he=P,de=b,ve=pe.indexOf,ye=Et,ge=function(t,e){var n,r=de(t),o=0,i=[];for(n in r)!he(ye,n)&&he(r,n)&&i.push(n);for(;e.length>o;)he(r,n=e[o++])&&(~ve(i,n)||i.push(n));return i},me=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],be=ge,we=me.concat("length","prototype");Vt.f=Object.getOwnPropertyNames||function(t){return be(t,we)};var je={};je.f=Object.getOwnPropertySymbols;var xe=Vt,Oe=je,Ee=W,Se=Bt("Reflect","ownKeys")||function(t){var e=xe.f(Ee(t)),n=Oe.f;return n?e.concat(n(t)):e},Te=P,Pe=Se,Me=r,ke=H,Le=o,_e=/#|\.prototype\./,Ae=function(t,e){var n=Re[Ie(t)];return n==Ne||n!=Ce&&("function"==typeof e?Le(e):!!e)},Ie=Ae.normalize=function(t){return String(t).replace(_e,".").toLowerCase()},Re=Ae.data={},Ce=Ae.NATIVE="N",Ne=Ae.POLYFILL="P",Fe=Ae,Je=n,De=r.f,$e=V,Ge=Z.exports,He=nt,ze=function(t,e){for(var n=Pe(e),r=ke.f,o=Me.f,i=0;i<n.length;i++){var a=n[i];Te(t,a)||r(t,a,o(e,a))}},We=Fe,qe=function(t,e){var n,r,o,i,a,c=t.target,u=t.global,f=t.stat;if(n=u?Je:f?Je[c]||He(c,{}):(Je[c]||{}).prototype)for(r in e){if(i=e[r],o=t.noTargetGet?(a=De(n,r))&&a.value:n[r],!We(u?r:c+(f?".":"#")+r,t.forced)&&void 0!==o){if(typeof i==typeof o)continue;ze(i,o)}(t.sham||o&&o.sham)&&$e(i,"sham",!0),Ge(n,r,i,t)}},Ue=ge,Ke=me,Qe=Object.keys||function(t){return Ue(t,Ke)},Xe=i,Ye=o,Be=Qe,Ve=je,Ze=a,tn=E,en=v,nn=Object.assign,rn=Object.defineProperty,on=!nn||Ye((function(){if(Xe&&1!==nn({b:1},nn(rn({},"a",{enumerable:!0,get:function(){rn(this,"b",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var t={},e={},n=Symbol(),r="abcdefghijklmnopqrst";return t[n]=7,r.split("").forEach((function(t){e[t]=t})),7!=nn({},t)[n]||Be(nn({},e)).join("")!=r}))?function(t,e){for(var n=tn(t),r=arguments.length,o=1,i=Ve.f,a=Ze.f;r>o;)for(var c,u=en(arguments[o++]),f=i?Be(u).concat(i(u)):Be(u),s=f.length,l=0;s>l;)c=f[l++],Xe&&!a.call(u,c)||(n[c]=u[c]);return n}:nn;function an(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function cn(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?an(Object(n),!0).forEach((function(e){sn(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):an(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function un(t,e,n,r,o,i,a){try{var c=t[i](a),u=c.value}catch(t){return void n(t)}c.done?e(u):Promise.resolve(u).then(r,o)}function fn(t){return function(){var e=this,n=arguments;return new Promise((function(r,o){var i=t.apply(e,n);function a(t){un(i,r,o,a,c,"next",t)}function c(t){un(i,r,o,a,c,"throw",t)}a(void 0)}))}}function sn(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function ln(t,e){if(null==t)return{};var n,r,o=function(t,e){if(null==t)return{};var n,r,o={},i=Object.keys(t);for(r=0;r<i.length;r++)n=i[r],e.indexOf(n)>=0||(o[n]=t[n]);return o}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(r=0;r<i.length;r++)n=i[r],e.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}function pn(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}function hn(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=function(t,e){if(t){if("string"==typeof t)return pn(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?pn(t,e):void 0}}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var r=0,o=function(){};return{s:o,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,c=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return a=t.done,t},e:function(t){c=!0,i=t},f:function(){try{a||null==n.return||n.return()}finally{if(c)throw i}}}}qe({target:"Object",stat:!0,forced:Object.assign!==on},{assign:on});!function(t){var e=function(t){var e,n=Object.prototype,r=n.hasOwnProperty,o="function"==typeof Symbol?Symbol:{},i=o.iterator||"@@iterator",a=o.asyncIterator||"@@asyncIterator",c=o.toStringTag||"@@toStringTag";function u(t,e,n){return Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{u({},"")}catch(t){u=function(t,e,n){return t[e]=n}}function f(t,e,n,r){var o=e&&e.prototype instanceof y?e:y,i=Object.create(o.prototype),a=new M(r||[]);return i._invoke=function(t,e,n){var r=l;return function(o,i){if(r===h)throw new Error("Generator is already running");if(r===d){if("throw"===o)throw i;return L()}for(n.method=o,n.arg=i;;){var a=n.delegate;if(a){var c=S(a,n);if(c){if(c===v)continue;return c}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(r===l)throw r=d,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r=h;var u=s(t,e,n);if("normal"===u.type){if(r=n.done?d:p,u.arg===v)continue;return{value:u.arg,done:n.done}}"throw"===u.type&&(r=d,n.method="throw",n.arg=u.arg)}}}(t,n,a),i}function s(t,e,n){try{return{type:"normal",arg:t.call(e,n)}}catch(t){return{type:"throw",arg:t}}}t.wrap=f;var l="suspendedStart",p="suspendedYield",h="executing",d="completed",v={};function y(){}function g(){}function m(){}var b={};b[i]=function(){return this};var w=Object.getPrototypeOf,j=w&&w(w(k([])));j&&j!==n&&r.call(j,i)&&(b=j);var x=m.prototype=y.prototype=Object.create(b);function O(t){["next","throw","return"].forEach((function(e){u(t,e,(function(t){return this._invoke(e,t)}))}))}function E(t,e){function n(o,i,a,c){var u=s(t[o],t,i);if("throw"!==u.type){var f=u.arg,l=f.value;return l&&"object"==typeof l&&r.call(l,"__await")?e.resolve(l.__await).then((function(t){n("next",t,a,c)}),(function(t){n("throw",t,a,c)})):e.resolve(l).then((function(t){f.value=t,a(f)}),(function(t){return n("throw",t,a,c)}))}c(u.arg)}var o;this._invoke=function(t,r){function i(){return new e((function(e,o){n(t,r,e,o)}))}return o=o?o.then(i,i):i()}}function S(t,n){var r=t.iterator[n.method];if(r===e){if(n.delegate=null,"throw"===n.method){if(t.iterator.return&&(n.method="return",n.arg=e,S(t,n),"throw"===n.method))return v;n.method="throw",n.arg=new TypeError("The iterator does not provide a 'throw' method")}return v}var o=s(r,t.iterator,n.arg);if("throw"===o.type)return n.method="throw",n.arg=o.arg,n.delegate=null,v;var i=o.arg;return i?i.done?(n[t.resultName]=i.value,n.next=t.nextLoc,"return"!==n.method&&(n.method="next",n.arg=e),n.delegate=null,v):i:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,v)}function T(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function P(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function M(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(T,this),this.reset(!0)}function k(t){if(t){var n=t[i];if(n)return n.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var o=-1,a=function n(){for(;++o<t.length;)if(r.call(t,o))return n.value=t[o],n.done=!1,n;return n.value=e,n.done=!0,n};return a.next=a}}return{next:L}}function L(){return{value:e,done:!0}}return g.prototype=x.constructor=m,m.constructor=g,g.displayName=u(m,c,"GeneratorFunction"),t.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===g||"GeneratorFunction"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,m):(t.__proto__=m,u(t,c,"GeneratorFunction")),t.prototype=Object.create(x),t},t.awrap=function(t){return{__await:t}},O(E.prototype),E.prototype[a]=function(){return this},t.AsyncIterator=E,t.async=function(e,n,r,o,i){void 0===i&&(i=Promise);var a=new E(f(e,n,r,o),i);return t.isGeneratorFunction(n)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},O(x),u(x,c,"Generator"),x[i]=function(){return this},x.toString=function(){return"[object Generator]"},t.keys=function(t){var e=[];for(var n in t)e.push(n);return e.reverse(),function n(){for(;e.length;){var r=e.pop();if(r in t)return n.value=r,n.done=!1,n}return n.done=!0,n}},t.values=k,M.prototype={constructor:M,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEach(P),!t)for(var n in this)"t"===n.charAt(0)&&r.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=e)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var n=this;function o(r,o){return c.type="throw",c.arg=t,n.next=r,o&&(n.method="next",n.arg=e),!!o}for(var i=this.tryEntries.length-1;i>=0;--i){var a=this.tryEntries[i],c=a.completion;if("root"===a.tryLoc)return o("end");if(a.tryLoc<=this.prev){var u=r.call(a,"catchLoc"),f=r.call(a,"finallyLoc");if(u&&f){if(this.prev<a.catchLoc)return o(a.catchLoc,!0);if(this.prev<a.finallyLoc)return o(a.finallyLoc)}else if(u){if(this.prev<a.catchLoc)return o(a.catchLoc,!0)}else{if(!f)throw new Error("try statement without catch or finally");if(this.prev<a.finallyLoc)return o(a.finallyLoc)}}}},abrupt:function(t,e){for(var n=this.tryEntries.length-1;n>=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break}}i&&("break"===t||"continue"===t)&&i.tryLoc<=e&&e<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=t,a.arg=e,i?(this.method="next",this.next=i.finallyLoc,v):this.complete(a)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),v},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),P(n),v}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var r=n.completion;if("throw"===r.type){var o=r.arg;P(n)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,n,r){return this.delegate={iterator:k(t),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=e),v}},t}(t.exports);try{regeneratorRuntime=e}catch(t){Function("r","regeneratorRuntime = r")(e)}}({exports:{}});var dn,vn,yn=Bt("navigator","userAgent")||"",gn=yn,mn=n.process,bn=mn&&mn.versions,wn=bn&&bn.v8;wn?vn=(dn=wn.split("."))[0]<4?1:dn[0]+dn[1]:gn&&(!(dn=gn.match(/Edge\/(\d+)/))||dn[1]>=74)&&(dn=gn.match(/Chrome\/(\d+)/))&&(vn=dn[1]);var jn=vn&&+vn,xn=jn,On=o,En=!!Object.getOwnPropertySymbols&&!On((function(){return!String(Symbol())||!Symbol.sham&&xn&&xn<41})),Sn=En&&!Symbol.sham&&"symbol"==typeof Symbol.iterator,Tn=n,Pn=pt.exports,Mn=P,kn=bt,Ln=En,_n=Sn,An=Pn("wks"),In=Tn.Symbol,Rn=_n?In:In&&In.withoutSetter||kn,Cn=function(t){return Mn(An,t)&&(Ln||"string"==typeof An[t])||(Ln&&Mn(In,t)?An[t]=In[t]:An[t]=Rn("Symbol."+t)),An[t]},Nn={};Nn[Cn("toStringTag")]="z";var Fn="[object z]"===String(Nn),Jn=Fn,Dn=p,$n=Cn("toStringTag"),Gn="Arguments"==Dn(function(){return arguments}()),Hn=Jn?Dn:function(t){var e,n,r;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(n=function(t,e){try{return t[e]}catch(t){}}(e=Object(t),$n))?n:Gn?Dn(e):"Object"==(r=Dn(e))&&"function"==typeof e.callee?"Arguments":r},zn=Hn,Wn=Fn?{}.toString:function(){return"[object "+zn(this)+"]"},qn=Fn,Un=Z.exports,Kn=Wn;qn||Un(Object.prototype,"toString",Kn,{unsafe:!0});var Qn=n.Promise,Xn=Z.exports,Yn=w,Bn=W,Vn=function(t){if(!Yn(t)&&null!==t)throw TypeError("Can't set "+String(t)+" as a prototype");return t},Zn=Object.setPrototypeOf||("__proto__"in{}?function(){var t,e=!1,n={};try{(t=Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set).call(n,[]),e=n instanceof Array}catch(t){}return function(n,r){return Bn(n),Vn(r),e?t.call(n,r):n.__proto__=r,n}}():void 0),tr=H.f,er=P,nr=Cn("toStringTag"),rr=Bt,or=H,ir=i,ar=Cn("species"),cr=function(t){if("function"!=typeof t)throw TypeError(String(t)+" is not a function");return t},ur={},fr=ur,sr=Cn("iterator"),lr=Array.prototype,pr=cr,hr=function(t,e,n){if(pr(t),void 0===e)return t;switch(n){case 0:return function(){return t.call(e)};case 1:return function(n){return t.call(e,n)};case 2:return function(n,r){return t.call(e,n,r)};case 3:return function(n,r,o){return t.call(e,n,r,o)}}return function(){return t.apply(e,arguments)}},dr=Hn,vr=ur,yr=Cn("iterator"),gr=W,mr=W,br=function(t){return void 0!==t&&(fr.Array===t||lr[sr]===t)},wr=oe,jr=hr,xr=function(t){if(null!=t)return t[yr]||t["@@iterator"]||vr[dr(t)]},Or=function(t){var e=t.return;if(void 0!==e)return gr(e.call(t)).value},Er=function(t,e){this.stopped=t,this.result=e},Sr=Cn("iterator"),Tr=!1;try{var Pr=0,Mr={next:function(){return{done:!!Pr++}},return:function(){Tr=!0}};Mr[Sr]=function(){return this},Array.from(Mr,(function(){throw 2}))}catch(t){}var kr,Lr,_r,Ar=W,Ir=cr,Rr=Cn("species"),Cr=Bt("document","documentElement"),Nr=/(?:iphone|ipod|ipad).*applewebkit/i.test(yn),Fr="process"==p(n.process),Jr=n,Dr=o,$r=hr,Gr=Cr,Hr=_,zr=Nr,Wr=Fr,qr=Jr.location,Ur=Jr.setImmediate,Kr=Jr.clearImmediate,Qr=Jr.process,Xr=Jr.MessageChannel,Yr=Jr.Dispatch,Br=0,Vr={},Zr="onreadystatechange",to=function(t){if(Vr.hasOwnProperty(t)){var e=Vr[t];delete Vr[t],e()}},eo=function(t){return function(){to(t)}},no=function(t){to(t.data)},ro=function(t){Jr.postMessage(t+"",qr.protocol+"//"+qr.host)};Ur&&Kr||(Ur=function(t){for(var e=[],n=1;arguments.length>n;)e.push(arguments[n++]);return Vr[++Br]=function(){("function"==typeof t?t:Function(t)).apply(void 0,e)},kr(Br),Br},Kr=function(t){delete Vr[t]},Wr?kr=function(t){Qr.nextTick(eo(t))}:Yr&&Yr.now?kr=function(t){Yr.now(eo(t))}:Xr&&!zr?(_r=(Lr=new Xr).port2,Lr.port1.onmessage=no,kr=$r(_r.postMessage,_r,1)):Jr.addEventListener&&"function"==typeof postMessage&&!Jr.importScripts&&qr&&"file:"!==qr.protocol&&!Dr(ro)?(kr=ro,Jr.addEventListener("message",no,!1)):kr=Zr in Hr("script")?function(t){Gr.appendChild(Hr("script")).onreadystatechange=function(){Gr.removeChild(this),to(t)}}:function(t){setTimeout(eo(t),0)});var oo,io,ao,co,uo,fo,so,lo,po={set:Ur,clear:Kr},ho=/web0s(?!.*chrome)/i.test(yn),vo=n,yo=r.f,go=po.set,mo=Nr,bo=ho,wo=Fr,jo=vo.MutationObserver||vo.WebKitMutationObserver,xo=vo.document,Oo=vo.process,Eo=vo.Promise,So=yo(vo,"queueMicrotask"),To=So&&So.value;To||(oo=function(){var t,e;for(wo&&(t=Oo.domain)&&t.exit();io;){e=io.fn,io=io.next;try{e()}catch(t){throw io?co():ao=void 0,t}}ao=void 0,t&&t.enter()},mo||wo||bo||!jo||!xo?Eo&&Eo.resolve?((so=Eo.resolve(void 0)).constructor=Eo,lo=so.then,co=function(){lo.call(so,oo)}):co=wo?function(){Oo.nextTick(oo)}:function(){go.call(vo,oo)}:(uo=!0,fo=xo.createTextNode(""),new jo(oo).observe(fo,{characterData:!0}),co=function(){fo.data=uo=!uo}));var Po=To||function(t){var e={fn:t,next:void 0};ao&&(ao.next=e),io||(io=e,co()),ao=e},Mo={},ko=cr,Lo=function(t){var e,n;this.promise=new t((function(t,r){if(void 0!==e||void 0!==n)throw TypeError("Bad Promise constructor");e=t,n=r})),this.resolve=ko(e),this.reject=ko(n)};Mo.f=function(t){return new Lo(t)};var _o,Ao,Io,Ro,Co=W,No=w,Fo=Mo,Jo=n,Do="object"==typeof window,$o=qe,Go=n,Ho=Bt,zo=Qn,Wo=Z.exports,qo=function(t,e,n){for(var r in e)Xn(t,r,e[r],n);return t},Uo=Zn,Ko=function(t,e,n){t&&!er(t=n?t:t.prototype,nr)&&tr(t,nr,{configurable:!0,value:e})},Qo=function(t){var e=rr(t),n=or.f;ir&&e&&!e[ar]&&n(e,ar,{configurable:!0,get:function(){return this}})},Xo=w,Yo=cr,Bo=function(t,e,n){if(!(t instanceof e))throw TypeError("Incorrect "+(n?n+" ":"")+"invocation");return t},Vo=ut,Zo=function(t,e,n){var r,o,i,a,c,u,f,s=n&&n.that,l=!(!n||!n.AS_ENTRIES),p=!(!n||!n.IS_ITERATOR),h=!(!n||!n.INTERRUPTED),d=jr(e,s,1+l+h),v=function(t){return r&&Or(r),new Er(!0,t)},y=function(t){return l?(mr(t),h?d(t[0],t[1],v):d(t[0],t[1])):h?d(t,v):d(t)};if(p)r=t;else{if("function"!=typeof(o=xr(t)))throw TypeError("Target is not iterable");if(br(o)){for(i=0,a=wr(t.length);a>i;i++)if((c=y(t[i]))&&c instanceof Er)return c;return new Er(!1)}r=o.call(t)}for(u=r.next;!(f=u.call(r)).done;){try{c=y(f.value)}catch(t){throw Or(r),t}if("object"==typeof c&&c&&c instanceof Er)return c}return new Er(!1)},ti=function(t,e){if(!e&&!Tr)return!1;var n=!1;try{var r={};r[Sr]=function(){return{next:function(){return{done:n=!0}}}},t(r)}catch(t){}return n},ei=function(t,e){var n,r=Ar(t).constructor;return void 0===r||null==(n=Ar(r)[Rr])?e:Ir(n)},ni=po.set,ri=Po,oi=function(t,e){if(Co(t),No(e)&&e.constructor===t)return e;var n=Fo.f(t);return(0,n.resolve)(e),n.promise},ii=function(t,e){var n=Jo.console;n&&n.error&&(1===arguments.length?n.error(t):n.error(t,e))},ai=Mo,ci=function(t){try{return{error:!1,value:t()}}catch(t){return{error:!0,value:t}}},ui=Dt,fi=Fe,si=Do,li=Fr,pi=jn,hi=Cn("species"),di="Promise",vi=ui.get,yi=ui.set,gi=ui.getterFor(di),mi=zo&&zo.prototype,bi=zo,wi=mi,ji=Go.TypeError,xi=Go.document,Oi=Go.process,Ei=ai.f,Si=Ei,Ti=!!(xi&&xi.createEvent&&Go.dispatchEvent),Pi="function"==typeof PromiseRejectionEvent,Mi="unhandledrejection",ki=!1,Li=fi(di,(function(){var t=Vo(bi)!==String(bi);if(!t&&66===pi)return!0;if(pi>=51&&/native code/.test(bi))return!1;var e=new bi((function(t){t(1)})),n=function(t){t((function(){}),(function(){}))};return(e.constructor={})[hi]=n,!(ki=e.then((function(){}))instanceof n)||!t&&si&&!Pi})),_i=Li||!ti((function(t){bi.all(t).catch((function(){}))})),Ai=function(t){var e;return!(!Xo(t)||"function"!=typeof(e=t.then))&&e},Ii=function(t,e){if(!t.notified){t.notified=!0;var n=t.reactions;ri((function(){for(var r=t.value,o=1==t.state,i=0;n.length>i;){var a,c,u,f=n[i++],s=o?f.ok:f.fail,l=f.resolve,p=f.reject,h=f.domain;try{s?(o||(2===t.rejection&&Fi(t),t.rejection=1),!0===s?a=r:(h&&h.enter(),a=s(r),h&&(h.exit(),u=!0)),a===f.promise?p(ji("Promise-chain cycle")):(c=Ai(a))?c.call(a,l,p):l(a)):p(r)}catch(t){h&&!u&&h.exit(),p(t)}}t.reactions=[],t.notified=!1,e&&!t.rejection&&Ci(t)}))}},Ri=function(t,e,n){var r,o;Ti?((r=xi.createEvent("Event")).promise=e,r.reason=n,r.initEvent(t,!1,!0),Go.dispatchEvent(r)):r={promise:e,reason:n},!Pi&&(o=Go["on"+t])?o(r):t===Mi&&ii("Unhandled promise rejection",n)},Ci=function(t){ni.call(Go,(function(){var e,n=t.facade,r=t.value;if(Ni(t)&&(e=ci((function(){li?Oi.emit("unhandledRejection",r,n):Ri(Mi,n,r)})),t.rejection=li||Ni(t)?2:1,e.error))throw e.value}))},Ni=function(t){return 1!==t.rejection&&!t.parent},Fi=function(t){ni.call(Go,(function(){var e=t.facade;li?Oi.emit("rejectionHandled",e):Ri("rejectionhandled",e,t.value)}))},Ji=function(t,e,n){return function(r){t(e,r,n)}},Di=function(t,e,n){t.done||(t.done=!0,n&&(t=n),t.value=e,t.state=2,Ii(t,!0))},$i=function(t,e,n){if(!t.done){t.done=!0,n&&(t=n);try{if(t.facade===e)throw ji("Promise can't be resolved itself");var r=Ai(e);r?ri((function(){var n={done:!1};try{r.call(e,Ji($i,n,t),Ji(Di,n,t))}catch(e){Di(n,e,t)}})):(t.value=e,t.state=1,Ii(t,!1))}catch(e){Di({done:!1},e,t)}}};if(Li&&(wi=(bi=function(t){Bo(this,bi,di),Yo(t),_o.call(this);var e=vi(this);try{t(Ji($i,e),Ji(Di,e))}catch(t){Di(e,t)}}).prototype,(_o=function(t){yi(this,{type:di,done:!1,notified:!1,parent:!1,reactions:[],rejection:!1,state:0,value:void 0})}).prototype=qo(wi,{then:function(t,e){var n=gi(this),r=Ei(ei(this,bi));return r.ok="function"!=typeof t||t,r.fail="function"==typeof e&&e,r.domain=li?Oi.domain:void 0,n.parent=!0,n.reactions.push(r),0!=n.state&&Ii(n,!1),r.promise},catch:function(t){return this.then(void 0,t)}}),Ao=function(){var t=new _o,e=vi(t);this.promise=t,this.resolve=Ji($i,e),this.reject=Ji(Di,e)},ai.f=Ei=function(t){return t===bi||t===Io?new Ao(t):Si(t)},"function"==typeof zo&&mi!==Object.prototype)){Ro=mi.then,ki||(Wo(mi,"then",(function(t,e){var n=this;return new bi((function(t,e){Ro.call(n,t,e)})).then(t,e)}),{unsafe:!0}),Wo(mi,"catch",wi.catch,{unsafe:!0}));try{delete mi.constructor}catch(t){}Uo&&Uo(mi,wi)}$o({global:!0,wrap:!0,forced:Li},{Promise:bi}),Ko(bi,di,!1),Qo(di),Io=Ho(di),$o({target:di,stat:!0,forced:Li},{reject:function(t){var e=Ei(this);return e.reject.call(void 0,t),e.promise}}),$o({target:di,stat:!0,forced:Li},{resolve:function(t){return oi(this,t)}}),$o({target:di,stat:!0,forced:_i},{all:function(t){var e=this,n=Ei(e),r=n.resolve,o=n.reject,i=ci((function(){var n=Yo(e.resolve),i=[],a=0,c=1;Zo(t,(function(t){var u=a++,f=!1;i.push(void 0),c++,n.call(e,t).then((function(t){f||(f=!0,i[u]=t,--c||r(i))}),o)})),--c||r(i)}));return i.error&&o(i.value),n.promise},race:function(t){var e=this,n=Ei(e),r=n.reject,o=ci((function(){var o=Yo(e.resolve);Zo(t,(function(t){o.call(e,t).then(n.resolve,r)}))}));return o.error&&r(o.value),n.promise}});var Gi,Hi=H,zi=W,Wi=Qe,qi=i?Object.defineProperties:function(t,e){zi(t);for(var n,r=Wi(e),o=r.length,i=0;o>i;)Hi.f(t,n=r[i++],e[n]);return t},Ui=W,Ki=qi,Qi=me,Xi=Et,Yi=Cr,Bi=_,Vi=Ot("IE_PROTO"),Zi=function(){},ta=function(t){return"<script>"+t+"</"+"script>"},ea=function(){try{Gi=document.domain&&new ActiveXObject("htmlfile")}catch(t){}var t,e;ea=Gi?function(t){t.write(ta("")),t.close();var e=t.parentWindow.Object;return t=null,e}(Gi):((e=Bi("iframe")).style.display="none",Yi.appendChild(e),e.src=String("javascript:"),(t=e.contentWindow.document).open(),t.write(ta("document.F=Object")),t.close(),t.F);for(var n=Qi.length;n--;)delete ea.prototype[Qi[n]];return ea()};Xi[Vi]=!0;var na=Object.create||function(t,e){var n;return null!==t?(Zi.prototype=Ui(t),n=new Zi,Zi.prototype=null,n[Vi]=t):n=ea(),void 0===e?n:Ki(n,e)},ra=H,oa=Cn("unscopables"),ia=Array.prototype;null==ia[oa]&&ra.f(ia,oa,{configurable:!0,value:na(null)});var aa=pe.includes,ca=function(t){ia[oa][t]=!0};qe({target:"Array",proto:!0},{includes:function(t){return aa(this,t,arguments.length>1?arguments[1]:void 0)}}),ca("includes");var ua=w,fa=p,sa=Cn("match"),la=function(t){var e;return ua(t)&&(void 0!==(e=t[sa])?!!e:"RegExp"==fa(t))},pa=Cn("match"),ha=function(t){if(la(t))throw TypeError("The method doesn't accept regular expressions");return t},da=y;qe({target:"String",proto:!0,forced:!function(t){var e=/./;try{"/./"[t](e)}catch(n){try{return e[pa]=!1,"/./"[t](e)}catch(t){}}return!1}("includes")},{includes:function(t){return!!~String(da(this)).indexOf(ha(t),arguments.length>1?arguments[1]:void 0)}});var va=function(){var t,e={messageStyle:"none",tex2jax:{inlineMath:[["$","$"],["\\(","\\)"]],skipTags:["script","noscript","style","textarea","pre"]},skipStartupTypeset:!0};return{id:"mathjax2",init:function(n){var r=(t=n).getConfig().mathjax2||t.getConfig().math||{},o=cn(cn({},e),r),i=(o.mathjax||"https://cdn.jsdelivr.net/npm/mathjax@2/MathJax.js")+"?config="+(o.config||"TeX-AMS_HTML-full");o.tex2jax=cn(cn({},e.tex2jax),r.tex2jax),o.mathjax=o.config=null,function(t,e){var n=this,r=document.querySelector("head"),o=document.createElement("script");o.type="text/javascript",o.src=t;var i=function(){"function"==typeof e&&(e.call(),e=null)};o.onload=i,o.onreadystatechange=function(){"loaded"===n.readyState&&i()},r.appendChild(o)}(i,(function(){MathJax.Hub.Config(o),MathJax.Hub.Queue(["Typeset",MathJax.Hub,t.getRevealElement()]),MathJax.Hub.Queue(t.layout),t.on("slidechanged",(function(t){MathJax.Hub.Queue(["Typeset",MathJax.Hub,t.currentSlide])}))}))}}},ya=va;return Plugin=Object.assign(ya(),{KaTeX:function(){var t,e={version:"latest",delimiters:[{left:"$$",right:"$$",display:!0},{left:"$",right:"$",display:!1},{left:"\\(",right:"\\)",display:!1},{left:"\\[",right:"\\]",display:!0}],ignoredTags:["script","noscript","style","textarea","pre"]},n=function(t){return new Promise((function(e,n){var r=document.createElement("script");r.type="text/javascript",r.onload=e,r.onerror=n,r.src=t,document.head.append(r)}))};function r(){return(r=fn(regeneratorRuntime.mark((function t(e){var r,o,i;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:r=hn(e),t.prev=1,r.s();case 3:if((o=r.n()).done){t.next=9;break}return i=o.value,t.next=7,n(i);case 7:t.next=3;break;case 9:t.next=14;break;case 11:t.prev=11,t.t0=t.catch(1),r.e(t.t0);case 14:return t.prev=14,r.f(),t.finish(14);case 17:case"end":return t.stop()}}),t,null,[[1,11,14,17]])})))).apply(this,arguments)}return{id:"katex",init:function(n){var o=this,i=(t=n).getConfig().katex||{},a=cn(cn({},e),i);a.local,a.version,a.extensions;var c=ln(a,["local","version","extensions"]),u=a.local||"https://cdn.jsdelivr.net/npm/katex",f=a.local?"":"@"+a.version,s=u+f+"/dist/katex.min.css",l=u+f+"/dist/contrib/mhchem.min.js",p=u+f+"/dist/contrib/auto-render.min.js",h=[u+f+"/dist/katex.min.js"];a.extensions&&a.extensions.includes("mhchem")&&h.push(l),h.push(p);var d,v,y=function(){renderMathInElement(n.getSlidesElement(),c),t.layout()};d=s,(v=document.createElement("link")).rel="stylesheet",v.href=d,document.head.appendChild(v),function(t){return r.apply(this,arguments)}(h).then((function(){t.isReady()?y():t.on("ready",y.bind(o))}))}}},MathJax2:va,MathJax3:function(){var t={tex:{inlineMath:[["$","$"],["\\(","\\)"]]},options:{skipHtmlTags:["script","noscript","style","textarea","pre"]},startup:{ready:function(){MathJax.startup.defaultReady(),MathJax.startup.promise.then((function(){Reveal.layout()}))}}};return{id:"mathjax3",init:function(e){var n=e.getConfig().mathjax3||{},r=cn(cn({},t),n);r.tex=cn(cn({},t.tex),n.tex),r.options=cn(cn({},t.options),n.options),r.startup=cn(cn({},t.startup),n.startup);var o=r.mathjax||"https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js";r.mathjax=null,window.MathJax=r,function(t,e){var n=document.createElement("script");n.type="text/javascript",n.id="MathJax-script",n.src=t,n.async=!0,n.onload=function(){"function"==typeof e&&(e.call(),e=null)},document.head.appendChild(n)}(o,(function(){Reveal.addEventListener("slidechanged",(function(t){MathJax.typeset()}))}))}}}})}));
llm_conf_files/libs/revealjs/plugin/math/mathjax2.js ADDED
@@ -0,0 +1,89 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * A plugin which enables rendering of math equations inside
3
+ * of reveal.js slides. Essentially a thin wrapper for MathJax.
4
+ *
5
+ * @author Hakim El Hattab
6
+ */
7
+ export const MathJax2 = () => {
8
+
9
+ // The reveal.js instance this plugin is attached to
10
+ let deck;
11
+
12
+ let defaultOptions = {
13
+ messageStyle: 'none',
14
+ tex2jax: {
15
+ inlineMath: [ [ '$', '$' ], [ '\\(', '\\)' ] ],
16
+ skipTags: [ 'script', 'noscript', 'style', 'textarea', 'pre' ]
17
+ },
18
+ skipStartupTypeset: true
19
+ };
20
+
21
+ function loadScript( url, callback ) {
22
+
23
+ let head = document.querySelector( 'head' );
24
+ let script = document.createElement( 'script' );
25
+ script.type = 'text/javascript';
26
+ script.src = url;
27
+
28
+ // Wrapper for callback to make sure it only fires once
29
+ let finish = () => {
30
+ if( typeof callback === 'function' ) {
31
+ callback.call();
32
+ callback = null;
33
+ }
34
+ }
35
+
36
+ script.onload = finish;
37
+
38
+ // IE
39
+ script.onreadystatechange = () => {
40
+ if ( this.readyState === 'loaded' ) {
41
+ finish();
42
+ }
43
+ }
44
+
45
+ // Normal browsers
46
+ head.appendChild( script );
47
+
48
+ }
49
+
50
+ return {
51
+ id: 'mathjax2',
52
+
53
+ init: function( reveal ) {
54
+
55
+ deck = reveal;
56
+
57
+ let revealOptions = deck.getConfig().mathjax2 || deck.getConfig().math || {};
58
+
59
+ let options = { ...defaultOptions, ...revealOptions };
60
+ let mathjax = options.mathjax || 'https://cdn.jsdelivr.net/npm/mathjax@2/MathJax.js';
61
+ let config = options.config || 'TeX-AMS_HTML-full';
62
+ let url = mathjax + '?config=' + config;
63
+
64
+ options.tex2jax = { ...defaultOptions.tex2jax, ...revealOptions.tex2jax };
65
+
66
+ options.mathjax = options.config = null;
67
+
68
+ loadScript( url, function() {
69
+
70
+ MathJax.Hub.Config( options );
71
+
72
+ // Typeset followed by an immediate reveal.js layout since
73
+ // the typesetting process could affect slide height
74
+ MathJax.Hub.Queue( [ 'Typeset', MathJax.Hub, deck.getRevealElement() ] );
75
+ MathJax.Hub.Queue( deck.layout );
76
+
77
+ // Reprocess equations in slides when they turn visible
78
+ deck.on( 'slidechanged', function( event ) {
79
+
80
+ MathJax.Hub.Queue( [ 'Typeset', MathJax.Hub, event.currentSlide ] );
81
+
82
+ } );
83
+
84
+ } );
85
+
86
+ }
87
+ }
88
+
89
+ };