highmark-markdown 1.0.173 → 1.0.174

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (377) hide show
  1. package/README.md +1 -1
  2. package/example.js +14061 -13787
  3. package/lib/example/importer.js +5 -5
  4. package/lib/example/view/div/container/markdown.js +3 -3
  5. package/lib/example/view/div/preview.js +5 -1
  6. package/lib/example/view/textarea/parseTree/{markdown/outer.js → html.js} +17 -17
  7. package/lib/example/view/textarea/parseTree/markdown.js +49 -2
  8. package/lib/example/view/textarea/plainText.js +7 -2
  9. package/lib/example/view/xmp.js +7 -2
  10. package/lib/example/view.js +67 -104
  11. package/lib/index/match.js +6 -6
  12. package/lib/index.js +27 -15
  13. package/lib/map/className.js +60 -0
  14. package/lib/map/node/html.js +85 -0
  15. package/lib/map/node/markdown.js +73 -0
  16. package/lib/map/tagName.js +60 -0
  17. package/lib/markdown/bnf.js +2 -2
  18. package/lib/markdown/parser.js +10 -9
  19. package/lib/markdownStyle/entries.js +3 -3
  20. package/lib/mixins/node.js +24 -23
  21. package/lib/node/html/anchor.js +55 -11
  22. package/lib/node/html/blockLine.js +75 -9
  23. package/lib/node/html/division.js +135 -0
  24. package/lib/node/html/error.js +195 -0
  25. package/lib/node/html/{blockListingEnd.js → footnote.js} +20 -14
  26. package/lib/node/html/heading/index.js +128 -0
  27. package/lib/node/html/heading/primary.js +129 -0
  28. package/lib/node/{markdown/directive.js → html/heading/quaternary.js} +21 -21
  29. package/lib/node/html/heading/secondary.js +129 -0
  30. package/lib/node/html/heading/tertiary.js +129 -0
  31. package/lib/node/html/image.js +214 -0
  32. package/lib/node/html/indexList.js +128 -0
  33. package/lib/node/html/item/contents.js +128 -0
  34. package/lib/node/html/item/footnotes.js +128 -0
  35. package/lib/node/{markdown/indexItem.js → html/item/index.js} +36 -15
  36. package/lib/node/html/item/ordered.js +17 -2
  37. package/lib/node/html/item/unordered.js +128 -0
  38. package/lib/node/html/line.js +174 -0
  39. package/lib/node/html/{contentsLink.js → link/contents.js} +19 -4
  40. package/lib/node/html/link/email.js +229 -0
  41. package/lib/node/html/link/footnote.js +137 -0
  42. package/lib/node/html/link/hyper.js +229 -0
  43. package/lib/node/html/link/index.js +202 -0
  44. package/lib/node/html/list/contents.js +128 -0
  45. package/lib/node/html/list/footnotes.js +144 -0
  46. package/lib/node/html/list/ordered.js +128 -0
  47. package/lib/node/html/list/unordered.js +128 -0
  48. package/lib/node/html/{blockListing.js → listing/block.js} +18 -9
  49. package/lib/node/html/listing/inline.js +189 -0
  50. package/lib/node/html/pageNumber.js +170 -0
  51. package/lib/node/html/{className.js → paragraph.js} +26 -18
  52. package/lib/node/{markdown/nonsense.js → html/table.js} +22 -15
  53. package/lib/node/{markdown/blockListingEnd.js → html/tableBody.js} +22 -15
  54. package/lib/node/html/tableBodyCell.js +128 -0
  55. package/lib/node/html/tableBodyRow.js +128 -0
  56. package/lib/node/html/{blockListingStart.js → tableHead.js} +26 -18
  57. package/lib/node/html/tableHeadCell.js +128 -0
  58. package/lib/node/html/tableHeadRow.js +128 -0
  59. package/lib/node/html/text/block.js +128 -0
  60. package/lib/node/html/text/emphasised.js +128 -0
  61. package/lib/node/html/text/inline.js +196 -0
  62. package/lib/node/html/text/plain.js +128 -0
  63. package/lib/node/html/text/strong.js +128 -0
  64. package/lib/node/html/text/stronglyEmphasised.js +212 -0
  65. package/lib/node/html/text.js +141 -0
  66. package/lib/node/html/topmost.js +57 -10
  67. package/lib/node/html.js +130 -40
  68. package/lib/node/markdown/anchor.js +6 -22
  69. package/lib/node/markdown/{table.js → blockEnd.js} +10 -10
  70. package/lib/node/markdown/blockListing.js +4 -31
  71. package/lib/node/markdown/{blockListingStart.js → blockStart.js} +10 -24
  72. package/lib/node/markdown/className.js +2 -2
  73. package/lib/node/markdown/contentsItem.js +4 -4
  74. package/lib/node/markdown/contentsList.js +2 -10
  75. package/lib/node/markdown/directive/embee.js +13 -13
  76. package/lib/node/markdown/directive/include.js +13 -13
  77. package/lib/node/markdown/directive/pageNumber.js +13 -29
  78. package/lib/node/markdown/division.js +205 -254
  79. package/lib/node/markdown/emailLink.js +36 -98
  80. package/lib/node/markdown/emphasisedText.js +3 -54
  81. package/lib/node/markdown/error.js +9 -53
  82. package/lib/node/markdown/footnote.js +1 -15
  83. package/lib/node/markdown/footnoteLink.js +9 -32
  84. package/lib/node/markdown/footnotesList.js +1 -16
  85. package/lib/node/markdown/heading/primary.js +1 -2
  86. package/lib/node/markdown/heading/quaternary.js +1 -2
  87. package/lib/node/markdown/heading/secondary.js +1 -2
  88. package/lib/node/markdown/heading/tertiary.js +1 -2
  89. package/lib/node/markdown/heading.js +1 -13
  90. package/lib/node/markdown/hyperlink.js +44 -108
  91. package/lib/node/markdown/image.js +2 -63
  92. package/lib/node/markdown/indexLink.js +13 -87
  93. package/lib/node/markdown/indexList.js +2 -10
  94. package/lib/node/markdown/inlineListing.js +22 -56
  95. package/lib/node/markdown/inlineText.js +3 -21
  96. package/lib/node/markdown/item/ordered.js +6 -6
  97. package/lib/node/markdown/line.js +1 -74
  98. package/lib/node/markdown/path.js +7 -7
  99. package/lib/node/markdown/strongText.js +3 -54
  100. package/lib/node/markdown/stronglyEmphasisedText.js +3 -78
  101. package/lib/node/markdown/{tableCellDivider.js → text/block.js} +12 -12
  102. package/lib/node/markdown/{tableBody.js → text/plain.js} +12 -12
  103. package/lib/node/markdown/text.js +154 -0
  104. package/lib/node/markdown/topmost.js +191 -0
  105. package/lib/node/markdown.js +6 -229
  106. package/lib/queries.js +4 -45
  107. package/lib/ruleNames.js +34 -21
  108. package/lib/style/selector.js +11 -7
  109. package/lib/transform/contentsItem.js +134 -0
  110. package/lib/transform/contentsLink.js +115 -0
  111. package/lib/transform/contentsList.js +194 -0
  112. package/lib/{replacement/subDivision.js → transform/division.js} +33 -38
  113. package/lib/{replacement → transform}/embedDirective.js +14 -19
  114. package/lib/{replacement → transform}/footnote.js +18 -23
  115. package/lib/transform/footnotesItem.js +123 -0
  116. package/lib/transform/footnotesList.js +173 -0
  117. package/lib/{replacement → transform}/includeDirective.js +13 -18
  118. package/lib/transform/index.js +166 -0
  119. package/lib/{replacement → transform}/indexAnchor.js +13 -13
  120. package/lib/{replacement → transform}/indexHeading.js +13 -18
  121. package/lib/{replacement → transform}/indexItem.js +13 -18
  122. package/lib/transform/indexList.js +121 -0
  123. package/lib/{replacement → transform}/line.js +13 -18
  124. package/lib/{replacement → transform}/subDivision/contentsDirective.js +14 -14
  125. package/lib/transform/subDivision/embedDirectives.js +147 -0
  126. package/lib/{replacement → transform}/subDivision/footnote.js +14 -14
  127. package/lib/{replacement → transform}/subDivision/footnotesDirective.js +14 -14
  128. package/lib/transform/subDivision/includeDirectives.js +142 -0
  129. package/lib/{replacement → transform}/subDivision/indexDirective.js +14 -14
  130. package/lib/{replacement → transform}/subDivision/pageNumberDirective.js +14 -14
  131. package/lib/utilities/content.js +1 -61
  132. package/lib/utilities/entities.js +17 -0
  133. package/lib/utilities/entries.js +6 -6
  134. package/lib/utilities/html.js +67 -9
  135. package/lib/utilities/markdown.js +45 -0
  136. package/lib/utilities/parser.js +8 -2
  137. package/lib/utilities/query.js +2 -22
  138. package/package.json +2 -2
  139. package/src/example/importer.js +2 -4
  140. package/src/example/view/div/container/markdown.js +2 -2
  141. package/src/example/view/div/preview.js +6 -0
  142. package/src/example/view/textarea/parseTree/html.js +28 -0
  143. package/src/example/view/textarea/parseTree/markdown.js +19 -1
  144. package/src/example/view/textarea/plainText.js +9 -1
  145. package/src/example/view/xmp.js +9 -1
  146. package/src/example/view.js +84 -91
  147. package/src/index/match.js +6 -6
  148. package/src/index.js +6 -3
  149. package/src/map/className.js +16 -0
  150. package/src/map/node/html.js +136 -0
  151. package/src/map/node/markdown.js +125 -0
  152. package/src/map/tagName.js +16 -0
  153. package/src/markdown/bnf.js +85 -64
  154. package/src/markdown/parser.js +3 -1
  155. package/src/markdownStyle/entries.js +3 -3
  156. package/src/mixins/node.js +29 -34
  157. package/src/node/html/anchor.js +26 -5
  158. package/src/node/html/blockLine.js +58 -7
  159. package/src/node/html/division.js +15 -0
  160. package/src/node/html/error.js +64 -0
  161. package/src/node/html/footnote.js +17 -0
  162. package/src/node/html/heading/index.js +13 -0
  163. package/src/node/html/heading/primary.js +15 -0
  164. package/src/node/html/heading/quaternary.js +15 -0
  165. package/src/node/html/heading/secondary.js +15 -0
  166. package/src/node/html/heading/tertiary.js +15 -0
  167. package/src/node/html/image.js +107 -0
  168. package/src/node/html/indexList.js +13 -0
  169. package/src/node/html/item/contents.js +13 -0
  170. package/src/node/html/item/footnotes.js +13 -0
  171. package/src/node/{markdown/indexItem.js → html/item/index.js} +9 -3
  172. package/src/node/html/item/ordered.js +5 -1
  173. package/src/node/html/item/unordered.js +13 -0
  174. package/src/node/html/line.js +64 -0
  175. package/src/node/html/{contentsLink.js → link/contents.js} +7 -3
  176. package/src/node/html/link/email.js +96 -0
  177. package/src/node/html/link/footnote.js +33 -0
  178. package/src/node/html/link/hyper.js +96 -0
  179. package/src/node/html/link/index.js +72 -0
  180. package/src/node/html/list/contents.js +13 -0
  181. package/src/node/html/list/footnotes.js +27 -0
  182. package/src/node/html/list/ordered.js +13 -0
  183. package/src/node/html/list/unordered.js +13 -0
  184. package/src/node/html/{blockListing.js → listing/block.js} +5 -8
  185. package/src/node/html/listing/inline.js +61 -0
  186. package/src/node/html/pageNumber.js +46 -0
  187. package/src/node/html/paragraph.js +13 -0
  188. package/src/node/html/table.js +13 -0
  189. package/src/node/html/tableBody.js +13 -0
  190. package/src/node/html/tableBodyCell.js +13 -0
  191. package/src/node/html/tableBodyRow.js +13 -0
  192. package/src/node/html/tableHead.js +13 -0
  193. package/src/node/html/tableHeadCell.js +13 -0
  194. package/src/node/html/tableHeadRow.js +13 -0
  195. package/src/node/html/text/block.js +13 -0
  196. package/src/node/html/text/emphasised.js +13 -0
  197. package/src/node/html/text/inline.js +57 -0
  198. package/src/node/html/text/plain.js +13 -0
  199. package/src/node/html/text/strong.js +13 -0
  200. package/src/node/html/text/stronglyEmphasised.js +98 -0
  201. package/src/node/html/text.js +34 -0
  202. package/src/node/html/topmost.js +57 -8
  203. package/src/node/html.js +136 -53
  204. package/src/node/markdown/anchor.js +5 -25
  205. package/src/node/markdown/{table.js → blockEnd.js} +2 -2
  206. package/src/node/markdown/blockListing.js +4 -10
  207. package/src/node/markdown/{blockListingStart.js → blockStart.js} +4 -6
  208. package/src/node/markdown/className.js +2 -2
  209. package/src/node/markdown/contentsItem.js +4 -4
  210. package/src/node/markdown/contentsList.js +0 -6
  211. package/src/node/markdown/directive/embee.js +10 -10
  212. package/src/node/markdown/directive/include.js +10 -10
  213. package/src/node/markdown/directive/pageNumber.js +10 -29
  214. package/src/node/markdown/division.js +203 -260
  215. package/src/node/markdown/emailLink.js +41 -87
  216. package/src/node/markdown/emphasisedText.js +1 -40
  217. package/src/node/markdown/error.js +9 -40
  218. package/src/node/markdown/footnote.js +0 -12
  219. package/src/node/markdown/footnoteLink.js +8 -31
  220. package/src/node/markdown/footnotesList.js +0 -13
  221. package/src/node/markdown/heading/primary.js +0 -2
  222. package/src/node/markdown/heading/quaternary.js +0 -2
  223. package/src/node/markdown/heading/secondary.js +0 -2
  224. package/src/node/markdown/heading/tertiary.js +0 -2
  225. package/src/node/markdown/heading.js +0 -14
  226. package/src/node/markdown/hyperlink.js +41 -91
  227. package/src/node/markdown/image.js +1 -82
  228. package/src/node/markdown/indexLink.js +10 -69
  229. package/src/node/markdown/indexList.js +0 -6
  230. package/src/node/markdown/inlineListing.js +20 -40
  231. package/src/node/markdown/inlineText.js +1 -21
  232. package/src/node/markdown/item/ordered.js +3 -3
  233. package/src/node/markdown/line.js +0 -61
  234. package/src/node/markdown/path.js +5 -5
  235. package/src/node/markdown/strongText.js +1 -40
  236. package/src/node/markdown/stronglyEmphasisedText.js +1 -74
  237. package/src/node/markdown/text/block.js +7 -0
  238. package/src/node/markdown/text/plain.js +7 -0
  239. package/src/node/markdown/text.js +80 -0
  240. package/src/node/markdown/topmost.js +91 -0
  241. package/src/node/markdown.js +1 -200
  242. package/src/queries.js +6 -86
  243. package/src/ruleNames.js +16 -12
  244. package/src/style/selector.js +16 -10
  245. package/src/transform/contentsItem.js +55 -0
  246. package/src/{replacement → transform}/contentsLink.js +10 -9
  247. package/src/{replacement → transform}/contentsList.js +26 -26
  248. package/src/transform/division.js +41 -0
  249. package/src/{replacement → transform}/embedDirective.js +4 -4
  250. package/src/{replacement → transform}/footnote.js +7 -7
  251. package/src/transform/footnotesItem.js +25 -0
  252. package/src/transform/footnotesList.js +79 -0
  253. package/src/{replacement → transform}/includeDirective.js +4 -4
  254. package/src/transform/index.js +90 -0
  255. package/src/{replacement → transform}/indexAnchor.js +5 -4
  256. package/src/{replacement → transform}/indexHeading.js +4 -4
  257. package/src/{replacement → transform}/indexItem.js +4 -4
  258. package/src/transform/indexList.js +33 -0
  259. package/src/{replacement → transform}/line.js +4 -4
  260. package/src/transform/subDivision/contentsDirective.js +20 -0
  261. package/src/transform/subDivision/embedDirectives.js +52 -0
  262. package/src/{replacement → transform}/subDivision/footnote.js +5 -5
  263. package/src/transform/subDivision/footnotesDirective.js +20 -0
  264. package/src/transform/subDivision/includeDirectives.js +48 -0
  265. package/src/transform/subDivision/indexDirective.js +20 -0
  266. package/src/transform/subDivision/pageNumberDirective.js +20 -0
  267. package/src/utilities/content.js +0 -95
  268. package/src/utilities/entities.js +11 -0
  269. package/src/utilities/entries.js +3 -3
  270. package/src/utilities/html.js +69 -6
  271. package/src/utilities/markdown.js +32 -0
  272. package/src/utilities/parser.js +3 -2
  273. package/src/utilities/query.js +8 -28
  274. package/lib/classFromOuterNode.js +0 -30
  275. package/lib/elementMap.js +0 -218
  276. package/lib/example/view/textarea/parseTree/markdown/inner.js +0 -179
  277. package/lib/mixins/content.js +0 -21
  278. package/lib/mixins/element.js +0 -32
  279. package/lib/node/html/comma.js +0 -127
  280. package/lib/node/html/directive/pageNumber.js +0 -178
  281. package/lib/node/markdown/blockLine.js +0 -207
  282. package/lib/node/markdown/comma.js +0 -123
  283. package/lib/node/markdown/directive/contents.js +0 -107
  284. package/lib/node/markdown/directive/footnotes.js +0 -107
  285. package/lib/node/markdown/directive/ignore.js +0 -107
  286. package/lib/node/markdown/directive/index.js +0 -107
  287. package/lib/node/markdown/directives.js +0 -125
  288. package/lib/node/markdown/emptyTableCell.js +0 -122
  289. package/lib/node/markdown/endOfLine.js +0 -151
  290. package/lib/node/markdown/indexHeading.js +0 -107
  291. package/lib/node/markdown/item/unordered.js +0 -107
  292. package/lib/node/markdown/item.js +0 -107
  293. package/lib/node/markdown/orderedList.js +0 -107
  294. package/lib/node/markdown/plainText.js +0 -115
  295. package/lib/node/markdown/subDivision.js +0 -161
  296. package/lib/node/markdown/tableBodyCell.js +0 -128
  297. package/lib/node/markdown/tableBodyRow.js +0 -107
  298. package/lib/node/markdown/tableCell.js +0 -118
  299. package/lib/node/markdown/tableDivider.js +0 -107
  300. package/lib/node/markdown/tableHead.js +0 -107
  301. package/lib/node/markdown/tableHeadCell.js +0 -128
  302. package/lib/node/markdown/tableHeadRow.js +0 -107
  303. package/lib/node/markdown/unorderedList.js +0 -107
  304. package/lib/node/markdown/verticalSpace.js +0 -151
  305. package/lib/nodeMap.js +0 -98
  306. package/lib/replacement/contentsItem.js +0 -134
  307. package/lib/replacement/contentsLink.js +0 -115
  308. package/lib/replacement/contentsList.js +0 -194
  309. package/lib/replacement/footnotesItem.js +0 -123
  310. package/lib/replacement/footnotesList.js +0 -173
  311. package/lib/replacement/index.js +0 -166
  312. package/lib/replacement/indexList.js +0 -121
  313. package/lib/replacement/subDivision/embedDirectives.js +0 -143
  314. package/lib/replacement/subDivision/includeDirectives.js +0 -175
  315. package/lib/replacement.js +0 -262
  316. package/lib/ruleNameToClassMap.js +0 -44
  317. package/lib/utilities/childNodes.js +0 -127
  318. package/lib/utilities/processing.js +0 -106
  319. package/lib/utilities/replacement.js +0 -195
  320. package/src/classFromOuterNode.js +0 -20
  321. package/src/elementMap.js +0 -322
  322. package/src/example/view/textarea/parseTree/markdown/inner.js +0 -36
  323. package/src/example/view/textarea/parseTree/markdown/outer.js +0 -27
  324. package/src/mixins/content.js +0 -16
  325. package/src/mixins/element.js +0 -29
  326. package/src/node/html/blockListingEnd.js +0 -11
  327. package/src/node/html/blockListingStart.js +0 -11
  328. package/src/node/html/className.js +0 -11
  329. package/src/node/html/comma.js +0 -18
  330. package/src/node/html/directive/pageNumber.js +0 -55
  331. package/src/node/markdown/blockLine.js +0 -90
  332. package/src/node/markdown/blockListingEnd.js +0 -9
  333. package/src/node/markdown/comma.js +0 -23
  334. package/src/node/markdown/directive/contents.js +0 -7
  335. package/src/node/markdown/directive/footnotes.js +0 -7
  336. package/src/node/markdown/directive/ignore.js +0 -7
  337. package/src/node/markdown/directive/index.js +0 -7
  338. package/src/node/markdown/directive.js +0 -15
  339. package/src/node/markdown/directives.js +0 -25
  340. package/src/node/markdown/emptyTableCell.js +0 -19
  341. package/src/node/markdown/endOfLine.js +0 -39
  342. package/src/node/markdown/indexHeading.js +0 -7
  343. package/src/node/markdown/item/unordered.js +0 -7
  344. package/src/node/markdown/item.js +0 -7
  345. package/src/node/markdown/nonsense.js +0 -9
  346. package/src/node/markdown/orderedList.js +0 -7
  347. package/src/node/markdown/plainText.js +0 -13
  348. package/src/node/markdown/subDivision.js +0 -64
  349. package/src/node/markdown/tableBody.js +0 -7
  350. package/src/node/markdown/tableBodyCell.js +0 -29
  351. package/src/node/markdown/tableBodyRow.js +0 -7
  352. package/src/node/markdown/tableCell.js +0 -19
  353. package/src/node/markdown/tableCellDivider.js +0 -7
  354. package/src/node/markdown/tableDivider.js +0 -7
  355. package/src/node/markdown/tableHead.js +0 -7
  356. package/src/node/markdown/tableHeadCell.js +0 -29
  357. package/src/node/markdown/tableHeadRow.js +0 -7
  358. package/src/node/markdown/unorderedList.js +0 -7
  359. package/src/node/markdown/verticalSpace.js +0 -39
  360. package/src/nodeMap.js +0 -200
  361. package/src/replacement/contentsItem.js +0 -54
  362. package/src/replacement/footnotesItem.js +0 -24
  363. package/src/replacement/footnotesList.js +0 -78
  364. package/src/replacement/index.js +0 -89
  365. package/src/replacement/indexList.js +0 -32
  366. package/src/replacement/subDivision/contentsDirective.js +0 -20
  367. package/src/replacement/subDivision/embedDirectives.js +0 -52
  368. package/src/replacement/subDivision/footnotesDirective.js +0 -20
  369. package/src/replacement/subDivision/includeDirectives.js +0 -58
  370. package/src/replacement/subDivision/indexDirective.js +0 -20
  371. package/src/replacement/subDivision/pageNumberDirective.js +0 -20
  372. package/src/replacement/subDivision.js +0 -41
  373. package/src/replacement.js +0 -185
  374. package/src/ruleNameToClassMap.js +0 -38
  375. package/src/utilities/childNodes.js +0 -178
  376. package/src/utilities/processing.js +0 -122
  377. package/src/utilities/replacement.js +0 -169
@@ -10,27 +10,21 @@ Object.defineProperty(exports, "default", {
10
10
  });
11
11
  var _easywithstyle = /*#__PURE__*/ _interop_require_default(require("easy-with-style"));
12
12
  var _easy = require("easy");
13
- var _occamdom = require("occam-dom");
14
13
  var _easylayout = require("easy-layout");
15
14
  var _index = require("../index");
16
- var _queries = /*#__PURE__*/ _interop_require_default(require("../queries"));
17
- var _importer = /*#__PURE__*/ _interop_require_wildcard(require("./importer"));
18
- var _indexOptions = /*#__PURE__*/ _interop_require_default(require("./indexOptions"));
19
15
  var _pageButtons = /*#__PURE__*/ _interop_require_default(require("./view/div/pageButtons"));
20
16
  var _left = /*#__PURE__*/ _interop_require_default(require("./view/div/sizeable/left"));
21
17
  var _css = /*#__PURE__*/ _interop_require_default(require("./view/div/container/css"));
18
+ var _topmost = /*#__PURE__*/ _interop_require_default(require("../node/html/topmost"));
22
19
  var _html = /*#__PURE__*/ _interop_require_default(require("./view/div/container/html"));
23
20
  var _left1 = /*#__PURE__*/ _interop_require_default(require("./view/div/tabButtons/left"));
24
21
  var _right = /*#__PURE__*/ _interop_require_default(require("./view/div/tabButtons/right"));
25
- var _classFromOuterNode = /*#__PURE__*/ _interop_require_default(require("../classFromOuterNode"));
26
22
  var _preview = /*#__PURE__*/ _interop_require_default(require("./view/div/container/preview"));
27
23
  var _markdown = /*#__PURE__*/ _interop_require_default(require("./view/div/container/markdown"));
28
24
  var _plainText = /*#__PURE__*/ _interop_require_default(require("./view/div/container/plainText"));
25
+ var _html1 = /*#__PURE__*/ _interop_require_default(require("./view/textarea/parseTree/html"));
29
26
  var _markdownStyle = /*#__PURE__*/ _interop_require_default(require("./view/div/container/markdownStyle"));
30
- var _inner = /*#__PURE__*/ _interop_require_default(require("./view/textarea/parseTree/markdown/inner"));
31
- var _query = require("../utilities/query");
32
- var _constants = require("./constants");
33
- var _processing = require("../utilities/processing");
27
+ var _importer = require("./importer");
34
28
  function _assert_this_initialized(self) {
35
29
  if (self === void 0) {
36
30
  throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
@@ -114,47 +108,6 @@ function _interop_require_default(obj) {
114
108
  default: obj
115
109
  };
116
110
  }
117
- function _getRequireWildcardCache(nodeInterop) {
118
- if (typeof WeakMap !== "function") return null;
119
- var cacheBabelInterop = new WeakMap();
120
- var cacheNodeInterop = new WeakMap();
121
- return (_getRequireWildcardCache = function(nodeInterop) {
122
- return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
123
- })(nodeInterop);
124
- }
125
- function _interop_require_wildcard(obj, nodeInterop) {
126
- if (!nodeInterop && obj && obj.__esModule) {
127
- return obj;
128
- }
129
- if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
130
- return {
131
- default: obj
132
- };
133
- }
134
- var cache = _getRequireWildcardCache(nodeInterop);
135
- if (cache && cache.has(obj)) {
136
- return cache.get(obj);
137
- }
138
- var newObj = {
139
- __proto__: null
140
- };
141
- var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
142
- for(var key in obj){
143
- if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
144
- var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
145
- if (desc && (desc.get || desc.set)) {
146
- Object.defineProperty(newObj, key, desc);
147
- } else {
148
- newObj[key] = obj[key];
149
- }
150
- }
151
- }
152
- newObj.default = obj;
153
- if (cache) {
154
- cache.set(obj, newObj);
155
- }
156
- return newObj;
157
- }
158
111
  function _is_native_function(fn) {
159
112
  return Function.toString.call(fn).indexOf("[native code]") !== -1;
160
113
  }
@@ -228,7 +181,6 @@ function _templateObject() {
228
181
  };
229
182
  return data;
230
183
  }
231
- var topmostNodeFromOuterNodes = _occamdom.nodeUtilities.topmostNodeFromOuterNodes;
232
184
  var markdownLexer = _index.MarkdownLexer.fromNothing(), markdownParser = _index.MarkdownParser.fromNothing(), markdownStyleLexer = _index.MarkdownStyleLexer.fromNothing(), markdownStyleParser = _index.MarkdownStyleParser.fromNothing();
233
185
  var View = /*#__PURE__*/ function(Element) {
234
186
  _inherits(View, Element);
@@ -259,8 +211,9 @@ var View = /*#__PURE__*/ function(Element) {
259
211
  {
260
212
  key: "update",
261
213
  value: function update() {
262
- this.updateMarkdown();
263
214
  this.updateMarkdownStyle();
215
+ this.updateMarkdown();
216
+ this.updatePage();
264
217
  }
265
218
  },
266
219
  {
@@ -268,55 +221,48 @@ var View = /*#__PURE__*/ function(Element) {
268
221
  value: function clearPage() {
269
222
  this.clearXMP();
270
223
  this.clearPreviewDiv();
271
- this.clearInnerMarkdownParseTreeTextarea();
224
+ this.clearHTMLParseTreeTextarea();
272
225
  }
273
226
  },
274
227
  {
275
228
  key: "updatePage",
276
- value: function updatePage(index) {
277
- var divisionMarkdownNodes = this.getDivisionMarkdownNodes(), divisionMarkdownNode = divisionMarkdownNodes[index], tokens = this.getTokens(), context = {
278
- tokens: tokens
279
- }, length = null;
280
- var node = divisionMarkdownNode, nodes = (0, _query.nodesFromNodeAndQueries)(node, _queries.default), topmostHTMLNode = topmostNodeFromOuterNodes(_classFromOuterNode.default, nodes), parseTree = topmostHTMLNode.asParseTree(), html = topmostHTMLNode.asHTML(context), plainText = divisionMarkdownNode.asPlainText(context), innerMarkdownParseTree = parseTree; ///
281
- this.updateXMP(html);
282
- this.updatePreviewDiv(divisionMarkdownNode, context);
229
+ value: function updatePage() {
230
+ var index = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : 0;
231
+ var tokens = this.getTokens(), topmostMarkdownNode = this.getTopmostMarkdownNode(), divisionMarkdownNode = topmostMarkdownNode.getDivisionMarkdownNodeAt(index), topmostHTMLNode = _topmost.default.fromDivisionMarkdownNode(divisionMarkdownNode), context = {
232
+ tokens: tokens,
233
+ pathToURL: pathToURL
234
+ };
235
+ this.updateXMP(topmostHTMLNode, context);
236
+ this.updatePreviewDiv(topmostHTMLNode, context);
237
+ this.updatePlainTextTextarea(topmostHTMLNode, context);
238
+ var length = null, parseTree = topmostHTMLNode.asParseTree(), htmlParseTree = parseTree; ///
283
239
  this.updatePageButtonsDiv(length, index);
284
- this.updatePlainTextTextarea(plainText);
285
- this.updateInnerMarkdownParseTreeTextarea(innerMarkdownParseTree);
240
+ this.updateHTMLParseTreeTextarea(htmlParseTree);
286
241
  }
287
242
  },
288
243
  {
289
244
  key: "updateMarkdown",
290
245
  value: function updateMarkdown() {
291
- var markdown = this.getMarkdown(), lexer = markdownLexer, parser = markdownParser, content = markdown, startRule = parser.getStartRule(), tokens = lexer.tokenise(content), node = parser.parse(tokens, startRule);
292
- this.setTokens(tokens);
293
- if (node !== null) {
294
- var divisionMarkdownNode = node, charactersPerLine = _constants.CHARACTERS_PER_LINE, contentsDepth = _constants.CONTENTS_DEPTH, linesPerPage = _constants.LINES_PER_PAGE, context = {
295
- tokens: tokens,
296
- importer: _importer.default,
297
- indexOptions: _indexOptions.default,
298
- linesPerPage: linesPerPage,
299
- contentsDepth: contentsDepth,
300
- nodeFromTokens: nodeFromTokens,
301
- tokensFromContent: tokensFromContent,
302
- charactersPerLine: charactersPerLine
303
- }, markdownNodes = (0, _processing.postprocess)(divisionMarkdownNode, context), divisionMarkdownNodes = (0, _processing.divisionMarkdownNodesFromMarkdownNodes)(markdownNodes);
304
- this.setDivisionMarkdownNodes(divisionMarkdownNodes);
305
- var parseTree = divisionMarkdownNode.asParseTree(tokens), outerMarkdownParseTree = parseTree; ///
306
- this.updateOuterMarkdownParseTreeTextarea(outerMarkdownParseTree);
307
- var index = 0, length = divisionMarkdownNodes.length;
308
- if (length > 0) {
309
- this.updatePage(index);
310
- this.updatePageButtonsDiv(length);
311
- }
312
- } else {
313
- this.clearPage();
246
+ var markdown = this.getMarkdown(), lexer = markdownLexer, parser = markdownParser, content = markdown, tokens = lexer.tokenise(content), node = parser.parse(tokens);
247
+ if (node === null) {
248
+ this.resetTokens();
249
+ this.resetTopmostMarkdownNode();
250
+ this.clearMarkdownParseTreeTextarea();
314
251
  this.clearPageButtonsDiv();
315
- this.clearPlainTextTextarea();
316
- this.clearOuterMarkdownParseTreeTextarea();
317
- var divisionMarkdownNodes1 = null;
318
- this.setDivisionMarkdownNodes(divisionMarkdownNodes1);
252
+ this.clearPage();
253
+ return;
319
254
  }
255
+ var topmostMarkdownNode = node, context = {
256
+ tokens: tokens,
257
+ importer: _importer.importer,
258
+ nodeFromTokens: nodeFromTokens,
259
+ tokensFromContent: tokensFromContent
260
+ };
261
+ topmostMarkdownNode.resolve(context);
262
+ var parseTree = topmostMarkdownNode.asParseTree(tokens), markdownParseTree = parseTree; ///
263
+ this.setTokens(tokens);
264
+ this.setTopmostMarkdownNode(topmostMarkdownNode);
265
+ this.updateMarkdownParseTreeTextarea(markdownParseTree);
320
266
  }
321
267
  },
322
268
  {
@@ -383,6 +329,20 @@ var View = /*#__PURE__*/ function(Element) {
383
329
  this.hidePlainTextContainerDiv();
384
330
  }
385
331
  },
332
+ {
333
+ key: "resetTokens",
334
+ value: function resetTokens() {
335
+ var tokens = null;
336
+ this.setTokens(tokens);
337
+ }
338
+ },
339
+ {
340
+ key: "resetTopmostMarkdownNode",
341
+ value: function resetTopmostMarkdownNode() {
342
+ var topmostMarkdownNode = null;
343
+ this.setTopmostMarkdownNode(topmostMarkdownNode);
344
+ }
345
+ },
386
346
  {
387
347
  key: "getTokens",
388
348
  value: function getTokens() {
@@ -391,10 +351,10 @@ var View = /*#__PURE__*/ function(Element) {
391
351
  }
392
352
  },
393
353
  {
394
- key: "getDivisionMarkdownNodes",
395
- value: function getDivisionMarkdownNodes() {
396
- var divisionMarkdownNodes = this.getState().divisionMarkdownNodes;
397
- return divisionMarkdownNodes;
354
+ key: "getTopmostMarkdownNode",
355
+ value: function getTopmostMarkdownNode() {
356
+ var topmostMarkdownNode = this.getState().topmostMarkdownNode;
357
+ return topmostMarkdownNode;
398
358
  }
399
359
  },
400
360
  {
@@ -406,20 +366,20 @@ var View = /*#__PURE__*/ function(Element) {
406
366
  }
407
367
  },
408
368
  {
409
- key: "setDivisionMarkdownNodes",
410
- value: function setDivisionMarkdownNodes(divisionMarkdownNodes) {
369
+ key: "setTopmostMarkdownNode",
370
+ value: function setTopmostMarkdownNode(topmostMarkdownNode) {
411
371
  this.updateState({
412
- divisionMarkdownNodes: divisionMarkdownNodes
372
+ topmostMarkdownNode: topmostMarkdownNode
413
373
  });
414
374
  }
415
375
  },
416
376
  {
417
377
  key: "setInitialState",
418
378
  value: function setInitialState() {
419
- var tokens = null, divisionMarkdownNodes = null;
379
+ var tokens = null, topmostMarkdownNode = null;
420
380
  this.setState({
421
381
  tokens: tokens,
422
- divisionMarkdownNodes: divisionMarkdownNodes
382
+ topmostMarkdownNode: topmostMarkdownNode
423
383
  });
424
384
  }
425
385
  },
@@ -440,7 +400,7 @@ var View = /*#__PURE__*/ function(Element) {
440
400
  onCustomPlainText: this.plainTextCustomHandler
441
401
  }), /*#__PURE__*/ React.createElement(_pageButtons.default, {
442
402
  onCustomPageUpdate: this.pageUpdateCustomHandler
443
- }), /*#__PURE__*/ React.createElement(_css.default, null), /*#__PURE__*/ React.createElement(_html.default, null), /*#__PURE__*/ React.createElement(_preview.default, null), /*#__PURE__*/ React.createElement(_plainText.default, null), /*#__PURE__*/ React.createElement(_inner.default, null))));
403
+ }), /*#__PURE__*/ React.createElement(_css.default, null), /*#__PURE__*/ React.createElement(_html.default, null), /*#__PURE__*/ React.createElement(_preview.default, null), /*#__PURE__*/ React.createElement(_plainText.default, null), /*#__PURE__*/ React.createElement(_html1.default, null))));
444
404
  }
445
405
  },
446
406
  {
@@ -448,7 +408,7 @@ var View = /*#__PURE__*/ function(Element) {
448
408
  value: function initialise() {
449
409
  this.assignContext();
450
410
  this.setInitialState();
451
- var _this_constructor = this.constructor, initialMarkdown = _this_constructor.initialMarkdown, initialMarkdownStyle = _this_constructor.initialMarkdownStyle, markdownStyle = initialMarkdownStyle, markdown = initialMarkdown; ///
411
+ var _this_constructor = this.constructor, _$initialMarkdown = _this_constructor.initialMarkdown, initialMarkdownStyle = _this_constructor.initialMarkdownStyle, markdownStyle = initialMarkdownStyle, markdown = _$initialMarkdown; ///
452
412
  this.setMarkdown(markdown);
453
413
  this.setMarkdownStyle(markdownStyle);
454
414
  this.update();
@@ -458,9 +418,8 @@ var View = /*#__PURE__*/ function(Element) {
458
418
  ]);
459
419
  return View;
460
420
  }(_wrap_native_super(_easy.Element));
461
- _define_property(View, "initialMarkdown", _importer.defaultContent) ///
462
- ;
463
- _define_property(View, "initialMarkdownStyle", "width: 100%;\nheight: 199%; \nposition: absolute;\nmin-height: 100%; \npadding-top: 5rem; \n");
421
+ _define_property(View, "initialMarkdown", _importer.initialMarkdown);
422
+ _define_property(View, "initialMarkdownStyle", "width: 100%;\nheight: 100%;\nfont-size: 2rem; \n\nblockListing {\n colour: white;\n text-align: left;\n font-family: monospace;\n background-colour: black;\n}\n");
464
423
  _define_property(View, "tagName", "div");
465
424
  _define_property(View, "ignoredProperties", [
466
425
  "markdownStyleElement"
@@ -478,5 +437,9 @@ function nodeFromTokens(tokens) {
478
437
  var ruleMap = markdownParser.getRuleMap(), startRule = startRuleName !== null ? ruleMap[startRuleName] : markdownParser.getStartRule(), node = markdownParser.parse(tokens, startRule);
479
438
  return node;
480
439
  }
440
+ function pathToURL(path) {
441
+ var url = "https://static.djalbat.com/".concat(path);
442
+ return url;
443
+ }
481
444
 
482
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9leGFtcGxlL3ZpZXcuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB3aXRoU3R5bGUgZnJvbSBcImVhc3ktd2l0aC1zdHlsZVwiOyAgLy8vXG5cbmltcG9ydCB7IEVsZW1lbnQgfSBmcm9tIFwiZWFzeVwiO1xuaW1wb3J0IHsgbm9kZVV0aWxpdGllcyB9IGZyb20gXCJvY2NhbS1kb21cIjtcbmltcG9ydCB7IFJvd3NEaXYsIENvbHVtbkRpdiwgQ29sdW1uc0RpdiwgVmVydGljYWxTcGxpdHRlckRpdiB9IGZyb20gXCJlYXN5LWxheW91dFwiO1xuaW1wb3J0IHsgTWFya2Rvd25MZXhlciwgTWFya2Rvd25QYXJzZXIsIE1hcmtkb3duU3R5bGVMZXhlciwgTWFya2Rvd25TdHlsZVBhcnNlciB9IGZyb20gXCIuLi9pbmRleFwiO1xuXG5pbXBvcnQgcXVlcmllcyBmcm9tIFwiLi4vcXVlcmllc1wiO1xuaW1wb3J0IGltcG9ydGVyIGZyb20gXCIuL2ltcG9ydGVyXCI7XG5pbXBvcnQgaW5kZXhPcHRpb25zIGZyb20gXCIuL2luZGV4T3B0aW9uc1wiO1xuaW1wb3J0IFBhZ2VCdXR0b25zRGl2IGZyb20gXCIuL3ZpZXcvZGl2L3BhZ2VCdXR0b25zXCI7XG5pbXBvcnQgTGVmdFNpemVhYmxlRGl2IGZyb20gXCIuL3ZpZXcvZGl2L3NpemVhYmxlL2xlZnRcIjtcbmltcG9ydCBDU1NDb250YWluZXJEaXYgZnJvbSBcIi4vdmlldy9kaXYvY29udGFpbmVyL2Nzc1wiO1xuaW1wb3J0IEhUTUxDb250YWluZXJEaXYgZnJvbSBcIi4vdmlldy9kaXYvY29udGFpbmVyL2h0bWxcIjtcbmltcG9ydCBMZWZ0VGFiQnV0dG9uc0RpdiBmcm9tIFwiLi92aWV3L2Rpdi90YWJCdXR0b25zL2xlZnRcIjtcbmltcG9ydCBSaWdodFRhYkJ1dHRvbnNEaXYgZnJvbSBcIi4vdmlldy9kaXYvdGFiQnV0dG9ucy9yaWdodFwiO1xuaW1wb3J0IENsYXNzRnJvbU91dGVyTm9kZSBmcm9tIFwiLi4vY2xhc3NGcm9tT3V0ZXJOb2RlXCI7XG5pbXBvcnQgUHJldmlld0NvbnRhaW5lckRpdiBmcm9tIFwiLi92aWV3L2Rpdi9jb250YWluZXIvcHJldmlld1wiO1xuaW1wb3J0IE1hcmtkb3duQ29udGFpbmVyRGl2IGZyb20gXCIuL3ZpZXcvZGl2L2NvbnRhaW5lci9tYXJrZG93blwiO1xuaW1wb3J0IFBsYWluVGV4dENvbnRhaW5lckRpdiBmcm9tIFwiLi92aWV3L2Rpdi9jb250YWluZXIvcGxhaW5UZXh0XCI7XG5pbXBvcnQgTWFya2Rvd25TdHlsZUNvbnRhaW5lckRpdiBmcm9tIFwiLi92aWV3L2Rpdi9jb250YWluZXIvbWFya2Rvd25TdHlsZVwiO1xuaW1wb3J0IElubmVyTWFya2Rvd25QYXJzZVRyZWVUZXh0YXJlYSBmcm9tIFwiLi92aWV3L3RleHRhcmVhL3BhcnNlVHJlZS9tYXJrZG93bi9pbm5lclwiO1xuXG5pbXBvcnQgeyBkZWZhdWx0Q29udGVudCB9IGZyb20gXCIuL2ltcG9ydGVyXCI7XG5pbXBvcnQgeyBub2Rlc0Zyb21Ob2RlQW5kUXVlcmllcyB9IGZyb20gXCIuLi91dGlsaXRpZXMvcXVlcnlcIjtcbmltcG9ydCB7IExJTkVTX1BFUl9QQUdFLCBDT05URU5UU19ERVBUSCwgQ0hBUkFDVEVSU19QRVJfTElORSB9IGZyb20gXCIuL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgcG9zdHByb2Nlc3MsIGRpdmlzaW9uTWFya2Rvd25Ob2Rlc0Zyb21NYXJrZG93bk5vZGVzIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9wcm9jZXNzaW5nXCI7XG5cbmNvbnN0IHsgdG9wbW9zdE5vZGVGcm9tT3V0ZXJOb2RlcyB9ID0gbm9kZVV0aWxpdGllcztcblxuY29uc3QgbWFya2Rvd25MZXhlciA9IE1hcmtkb3duTGV4ZXIuZnJvbU5vdGhpbmcoKSxcbiAgICAgIG1hcmtkb3duUGFyc2VyID0gTWFya2Rvd25QYXJzZXIuZnJvbU5vdGhpbmcoKSxcbiAgICAgIG1hcmtkb3duU3R5bGVMZXhlciA9IE1hcmtkb3duU3R5bGVMZXhlci5mcm9tTm90aGluZygpLFxuICAgICAgbWFya2Rvd25TdHlsZVBhcnNlciA9IE1hcmtkb3duU3R5bGVQYXJzZXIuZnJvbU5vdGhpbmcoKTtcblxuY2xhc3MgVmlldyBleHRlbmRzIEVsZW1lbnQge1xuICBtYXJrZG93blN0eWxlQ3VzdG9tSGFuZGxlciA9IChldmVudCwgZWxlbWVudCkgPT4ge1xuICAgIHRoaXMubWFya2Rvd25TdHlsZSgpO1xuICB9XG5cbiAgcGFnZVVwZGF0ZUN1c3RvbUhhbmRsZXIgPSAoZXZlbnQsIGVsZW1lbnQsIGluZGV4KSA9PiB7XG4gICAgdGhpcy5jbGVhclBhZ2UoKTtcblxuICAgIHRoaXMudXBkYXRlUGFnZShpbmRleCk7XG4gIH1cblxuICBwbGFpblRleHRDdXN0b21IYW5kbGVyID0gKGV2ZW50LCBlbGVtZW50KSA9PiB7XG4gICAgdGhpcy5wbGFpblRleHQoKTtcbiAgfVxuXG4gIG1hcmtkb3duQ3VzdG9tSGFuZGxlciA9IChldmVudCwgZWxlbWVudCkgPT4ge1xuICAgIHRoaXMubWFya2Rvd24oKTtcbiAgfVxuXG4gIHByZXZpZXdDdXN0b21IYW5kbGVyID0gKGV2ZW50LCBlbGVtZW50KSA9PiB7XG4gICAgdGhpcy5wcmV2aWV3KCk7XG4gIH1cblxuICBrZXlVcEN1c3RvbUhhbmRsZXIgPSAoZXZlbnQsIGVsZW1lbnQpID0+IHtcbiAgICB0aGlzLnVwZGF0ZSgpO1xuICB9XG5cbiAgaHRtbEN1c3RvbUhhbmRsZXIgPSAoZXZlbnQsIGVsZW1lbnQpID0+IHtcbiAgICB0aGlzLmh0bWwoKTtcbiAgfVxuXG4gIGNzc0N1c3RvbUhhbmRsZXIgPSAoZXZlbnQsIGVsZW1lbnQpID0+IHtcbiAgICB0aGlzLmNzcygpO1xuICB9XG5cbiAgdXBkYXRlKCkge1xuICAgIHRoaXMudXBkYXRlTWFya2Rvd24oKTtcbiAgICB0aGlzLnVwZGF0ZU1hcmtkb3duU3R5bGUoKTtcbiAgfVxuXG4gIGNsZWFyUGFnZSgpIHtcbiAgICB0aGlzLmNsZWFyWE1QKCk7XG5cbiAgICB0aGlzLmNsZWFyUHJldmlld0RpdigpO1xuXG4gICAgdGhpcy5jbGVhcklubmVyTWFya2Rvd25QYXJzZVRyZWVUZXh0YXJlYSgpO1xuICB9XG5cbiAgdXBkYXRlUGFnZShpbmRleCkge1xuICAgIGNvbnN0IGRpdmlzaW9uTWFya2Rvd25Ob2RlcyA9IHRoaXMuZ2V0RGl2aXNpb25NYXJrZG93bk5vZGVzKCksXG4gICAgICAgICAgZGl2aXNpb25NYXJrZG93bk5vZGUgPSBkaXZpc2lvbk1hcmtkb3duTm9kZXNbaW5kZXhdLFxuICAgICAgICAgIHRva2VucyA9IHRoaXMuZ2V0VG9rZW5zKCksXG4gICAgICAgICAgY29udGV4dCA9IHtcbiAgICAgICAgICAgIHRva2Vuc1xuICAgICAgICAgIH0sXG4gICAgICAgICAgbGVuZ3RoID0gbnVsbDtcblxuICAgIGNvbnN0IG5vZGUgPSBkaXZpc2lvbk1hcmtkb3duTm9kZSwgIC8vL1xuICAgICAgICAgIG5vZGVzID0gbm9kZXNGcm9tTm9kZUFuZFF1ZXJpZXMobm9kZSwgcXVlcmllcyksXG4gICAgICAgICAgdG9wbW9zdEhUTUxOb2RlID0gdG9wbW9zdE5vZGVGcm9tT3V0ZXJOb2RlcyhDbGFzc0Zyb21PdXRlck5vZGUsIG5vZGVzKSxcbiAgICAgICAgICBwYXJzZVRyZWUgPSB0b3Btb3N0SFRNTE5vZGUuYXNQYXJzZVRyZWUoKSxcbiAgICAgICAgICBodG1sID0gdG9wbW9zdEhUTUxOb2RlLmFzSFRNTChjb250ZXh0KSxcbiAgICAgICAgICBwbGFpblRleHQgPSBkaXZpc2lvbk1hcmtkb3duTm9kZS5hc1BsYWluVGV4dChjb250ZXh0KSxcbiAgICAgICAgICBpbm5lck1hcmtkb3duUGFyc2VUcmVlID0gcGFyc2VUcmVlOyAvLy9cblxuICAgIHRoaXMudXBkYXRlWE1QKGh0bWwpO1xuXG4gICAgdGhpcy51cGRhdGVQcmV2aWV3RGl2KGRpdmlzaW9uTWFya2Rvd25Ob2RlLCBjb250ZXh0KTtcblxuICAgIHRoaXMudXBkYXRlUGFnZUJ1dHRvbnNEaXYobGVuZ3RoLCBpbmRleCk7XG5cbiAgICB0aGlzLnVwZGF0ZVBsYWluVGV4dFRleHRhcmVhKHBsYWluVGV4dCk7XG5cbiAgICB0aGlzLnVwZGF0ZUlubmVyTWFya2Rvd25QYXJzZVRyZWVUZXh0YXJlYShpbm5lck1hcmtkb3duUGFyc2VUcmVlKTtcbiAgfVxuXG4gIHVwZGF0ZU1hcmtkb3duKCkge1xuICAgIGNvbnN0IG1hcmtkb3duID0gdGhpcy5nZXRNYXJrZG93bigpLFxuICAgICAgICAgIGxleGVyID0gbWFya2Rvd25MZXhlciwgIC8vL1xuICAgICAgICAgIHBhcnNlciA9ICBtYXJrZG93blBhcnNlciwgLy8vXG4gICAgICAgICAgY29udGVudCA9IG1hcmtkb3duLCAvLy9cbiAgICAgICAgICBzdGFydFJ1bGUgPSBwYXJzZXIuZ2V0U3RhcnRSdWxlKCksXG4gICAgICAgICAgdG9rZW5zID0gbGV4ZXIudG9rZW5pc2UoY29udGVudCksXG4gICAgICAgICAgbm9kZSA9IHBhcnNlci5wYXJzZSh0b2tlbnMsIHN0YXJ0UnVsZSk7XG5cbiAgICB0aGlzLnNldFRva2Vucyh0b2tlbnMpO1xuXG4gICAgaWYgKG5vZGUgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IGRpdmlzaW9uTWFya2Rvd25Ob2RlID0gbm9kZSwgIC8vL1xuICAgICAgICAgICAgY2hhcmFjdGVyc1BlckxpbmUgPSBDSEFSQUNURVJTX1BFUl9MSU5FLFxuICAgICAgICAgICAgY29udGVudHNEZXB0aCA9IENPTlRFTlRTX0RFUFRILFxuICAgICAgICAgICAgbGluZXNQZXJQYWdlID0gTElORVNfUEVSX1BBR0UsXG4gICAgICAgICAgICBjb250ZXh0ID0ge1xuICAgICAgICAgICAgICB0b2tlbnMsXG4gICAgICAgICAgICAgIGltcG9ydGVyLFxuICAgICAgICAgICAgICBpbmRleE9wdGlvbnMsXG4gICAgICAgICAgICAgIGxpbmVzUGVyUGFnZSxcbiAgICAgICAgICAgICAgY29udGVudHNEZXB0aCxcbiAgICAgICAgICAgICAgbm9kZUZyb21Ub2tlbnMsXG4gICAgICAgICAgICAgIHRva2Vuc0Zyb21Db250ZW50LFxuICAgICAgICAgICAgICBjaGFyYWN0ZXJzUGVyTGluZVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIG1hcmtkb3duTm9kZXMgPSBwb3N0cHJvY2VzcyhkaXZpc2lvbk1hcmtkb3duTm9kZSwgY29udGV4dCksXG4gICAgICAgICAgICBkaXZpc2lvbk1hcmtkb3duTm9kZXMgPSBkaXZpc2lvbk1hcmtkb3duTm9kZXNGcm9tTWFya2Rvd25Ob2RlcyhtYXJrZG93bk5vZGVzKTtcblxuICAgICAgdGhpcy5zZXREaXZpc2lvbk1hcmtkb3duTm9kZXMoZGl2aXNpb25NYXJrZG93bk5vZGVzKTtcblxuICAgICAgY29uc3QgcGFyc2VUcmVlID0gZGl2aXNpb25NYXJrZG93bk5vZGUuYXNQYXJzZVRyZWUodG9rZW5zKSxcbiAgICAgICAgICAgIG91dGVyTWFya2Rvd25QYXJzZVRyZWUgPSBwYXJzZVRyZWU7IC8vL1xuXG4gICAgICB0aGlzLnVwZGF0ZU91dGVyTWFya2Rvd25QYXJzZVRyZWVUZXh0YXJlYShvdXRlck1hcmtkb3duUGFyc2VUcmVlKTtcblxuICAgICAgY29uc3QgaW5kZXggPSAwLFxuICAgICAgICAgICAgbGVuZ3RoID0gZGl2aXNpb25NYXJrZG93bk5vZGVzLmxlbmd0aDtcblxuICAgICAgaWYgKGxlbmd0aCA+IDApIHtcbiAgICAgICAgdGhpcy51cGRhdGVQYWdlKGluZGV4KTtcblxuICAgICAgICB0aGlzLnVwZGF0ZVBhZ2VCdXR0b25zRGl2KGxlbmd0aCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY2xlYXJQYWdlKCk7XG5cbiAgICAgIHRoaXMuY2xlYXJQYWdlQnV0dG9uc0RpdigpO1xuXG4gICAgICB0aGlzLmNsZWFyUGxhaW5UZXh0VGV4dGFyZWEoKTtcblxuICAgICAgdGhpcy5jbGVhck91dGVyTWFya2Rvd25QYXJzZVRyZWVUZXh0YXJlYSgpO1xuXG4gICAgICBjb25zdCBkaXZpc2lvbk1hcmtkb3duTm9kZXMgPSBudWxsO1xuXG4gICAgICB0aGlzLnNldERpdmlzaW9uTWFya2Rvd25Ob2RlcyhkaXZpc2lvbk1hcmtkb3duTm9kZXMpO1xuICAgIH1cbiAgfVxuXG4gIHVwZGF0ZU1hcmtkb3duU3R5bGUoKSB7XG4gICAgY29uc3QgeyBtYXJrZG93blN0eWxlRWxlbWVudCB9ID0gdGhpcy5wcm9wZXJ0aWVzLFxuICAgICAgICAgIG1hcmtkb3duU3R5bGUgPSB0aGlzLmdldE1hcmtkb3duU3R5bGUoKSxcbiAgICAgICAgICBjc3MgPSBtYXJrZG93blN0eWxlRWxlbWVudC51cGRhdGUobWFya2Rvd25TdHlsZSk7XG5cbiAgICB0aGlzLnNldENTUyhjc3MpO1xuXG4gICAgY29uc3QgbGV4ZXIgPSBtYXJrZG93blN0eWxlTGV4ZXIsIC8vL1xuICAgICAgICAgIHBhcnNlciA9IG1hcmtkb3duU3R5bGVQYXJzZXIsIC8vL1xuICAgICAgICAgIGNvbnRlbnQgPSBtYXJrZG93blN0eWxlLCAgLy8vXG4gICAgICAgICAgdG9rZW5zID0gbGV4ZXIudG9rZW5pc2UoY29udGVudCksXG4gICAgICAgICAgc3RhcnRSdWxlID0gcGFyc2VyLmdldFN0YXJ0UnVsZSgpLFxuICAgICAgICAgIG5vZGUgPSBwYXJzZXIucGFyc2UodG9rZW5zLCBzdGFydFJ1bGUpO1xuXG4gICAgaWYgKG5vZGUgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IHBhcnNlVHJlZSA9IG5vZGUuYXNQYXJzZVRyZWUodG9rZW5zKTtcblxuICAgICAgdGhpcy51cGRhdGVNYXJrZG93blN0eWxlUGFyc2VUcmVlVGV4dGFyZWEocGFyc2VUcmVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5jbGVhck1hcmtkb3duU3R5bGVQYXJzZVRyZWVUZXh0YXJlYSgpO1xuICAgIH1cbiAgfVxuXG4gIG1hcmtkb3duU3R5bGUoKSB7XG4gICAgdGhpcy5oaWRlTWFya2Rvd25Db250YWluZXJEaXYoKTtcbiAgICB0aGlzLnNob3dNYXJrZG93blN0eWxlQ29udGFpbmVyRGl2KCk7XG4gIH1cblxuICBwbGFpblRleHQoKSB7XG4gICAgdGhpcy5oaWRlQ1NTQ29udGFpbmVyRGl2KCk7XG4gICAgdGhpcy5oaWRlSFRNTENvbnRhaW5lckRpdigpO1xuICAgIHRoaXMuaGlkZVByZXZpZXdDb250YWluZXJEaXYoKTtcbiAgICB0aGlzLnNob3dQbGFpblRleHRDb250YWluZXJEaXYoKTtcbiAgfVxuXG4gIG1hcmtkb3duKCkge1xuICAgIHRoaXMuc2hvd01hcmtkb3duQ29udGFpbmVyRGl2KCk7XG4gICAgdGhpcy5oaWRlTWFya2Rvd25TdHlsZUNvbnRhaW5lckRpdigpO1xuICB9XG5cbiAgcHJldmlldygpIHtcbiAgICB0aGlzLmhpZGVDU1NDb250YWluZXJEaXYoKTtcbiAgICB0aGlzLmhpZGVIVE1MQ29udGFpbmVyRGl2KCk7XG4gICAgdGhpcy5zaG93UHJldmlld0NvbnRhaW5lckRpdigpO1xuICAgIHRoaXMuaGlkZVBsYWluVGV4dENvbnRhaW5lckRpdigpO1xuICB9XG5cbiAgaHRtbCgpIHtcbiAgICB0aGlzLmhpZGVDU1NDb250YWluZXJEaXYoKTtcbiAgICB0aGlzLnNob3dIVE1MQ29udGFpbmVyRGl2KCk7XG4gICAgdGhpcy5oaWRlUHJldmlld0NvbnRhaW5lckRpdigpO1xuICAgIHRoaXMuaGlkZVBsYWluVGV4dENvbnRhaW5lckRpdigpO1xuICB9XG5cbiAgY3NzKCkge1xuICAgIHRoaXMuc2hvd0NTU0NvbnRhaW5lckRpdigpO1xuICAgIHRoaXMuaGlkZUhUTUxDb250YWluZXJEaXYoKTtcbiAgICB0aGlzLmhpZGVQcmV2aWV3Q29udGFpbmVyRGl2KCk7XG4gICAgdGhpcy5oaWRlUGxhaW5UZXh0Q29udGFpbmVyRGl2KCk7XG4gIH1cblxuICBnZXRUb2tlbnMoKSB7XG4gICAgY29uc3QgeyB0b2tlbnMgfSA9IHRoaXMuZ2V0U3RhdGUoKTtcblxuICAgIHJldHVybiB0b2tlbnM7XG4gIH1cblxuICBnZXREaXZpc2lvbk1hcmtkb3duTm9kZXMoKSB7XG4gICAgY29uc3QgeyBkaXZpc2lvbk1hcmtkb3duTm9kZXMgfSA9IHRoaXMuZ2V0U3RhdGUoKTtcblxuICAgIHJldHVybiBkaXZpc2lvbk1hcmtkb3duTm9kZXM7XG4gIH1cblxuICBzZXRUb2tlbnModG9rZW5zKSB7XG4gICAgdGhpcy51cGRhdGVTdGF0ZSh7XG4gICAgICB0b2tlbnNcbiAgICB9KTtcbiAgfVxuXG4gIHNldERpdmlzaW9uTWFya2Rvd25Ob2RlcyhkaXZpc2lvbk1hcmtkb3duTm9kZXMpIHtcbiAgICB0aGlzLnVwZGF0ZVN0YXRlKHtcbiAgICAgIGRpdmlzaW9uTWFya2Rvd25Ob2Rlc1xuICAgIH0pO1xuICB9XG5cbiAgc2V0SW5pdGlhbFN0YXRlKCkge1xuICAgIGNvbnN0IHRva2VucyA9IG51bGwsXG4gICAgICAgICAgZGl2aXNpb25NYXJrZG93bk5vZGVzID0gbnVsbDtcblxuICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgdG9rZW5zLFxuICAgICAgZGl2aXNpb25NYXJrZG93bk5vZGVzXG4gICAgfSk7XG4gIH1cblxuICBjaGlsZEVsZW1lbnRzKCkge1xuICAgIHJldHVybiAoXG5cbiAgICAgIDxDb2x1bW5zRGl2PlxuICAgICAgICA8TGVmdFNpemVhYmxlRGl2PlxuICAgICAgICAgIDxMZWZ0VGFiQnV0dG9uc0RpdiBvbkN1c3RvbU1hcmtkb3duPXt0aGlzLm1hcmtkb3duQ3VzdG9tSGFuZGxlcn0gb25DdXN0b21NYXJrZG93blN0eWxlPXt0aGlzLm1hcmtkb3duU3R5bGVDdXN0b21IYW5kbGVyfSAvPlxuICAgICAgICAgIDxNYXJrZG93bkNvbnRhaW5lckRpdiBvbkN1c3RvbUtleVVwPXt0aGlzLmtleVVwQ3VzdG9tSGFuZGxlcn0gLz5cbiAgICAgICAgICA8TWFya2Rvd25TdHlsZUNvbnRhaW5lckRpdiBvbkN1c3RvbUtleVVwPXt0aGlzLmtleVVwQ3VzdG9tSGFuZGxlcn0gLz5cbiAgICAgICAgPC9MZWZ0U2l6ZWFibGVEaXY+XG4gICAgICAgIDxWZXJ0aWNhbFNwbGl0dGVyRGl2Lz5cbiAgICAgICAgPENvbHVtbkRpdj5cbiAgICAgICAgICA8Um93c0Rpdj5cbiAgICAgICAgICAgIDxSaWdodFRhYkJ1dHRvbnNEaXYgb25DdXN0b21DU1M9e3RoaXMuY3NzQ3VzdG9tSGFuZGxlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DdXN0b21IVE1MPXt0aGlzLmh0bWxDdXN0b21IYW5kbGVyfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkN1c3RvbVByZXZpZXc9e3RoaXMucHJldmlld0N1c3RvbUhhbmRsZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ3VzdG9tUGxhaW5UZXh0PXt0aGlzLnBsYWluVGV4dEN1c3RvbUhhbmRsZXJ9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPFBhZ2VCdXR0b25zRGl2IG9uQ3VzdG9tUGFnZVVwZGF0ZT17dGhpcy5wYWdlVXBkYXRlQ3VzdG9tSGFuZGxlcn0gLz5cbiAgICAgICAgICAgIDxDU1NDb250YWluZXJEaXYvPlxuICAgICAgICAgICAgPEhUTUxDb250YWluZXJEaXYvPlxuICAgICAgICAgICAgPFByZXZpZXdDb250YWluZXJEaXYvPlxuICAgICAgICAgICAgPFBsYWluVGV4dENvbnRhaW5lckRpdi8+XG4gICAgICAgICAgICA8SW5uZXJNYXJrZG93blBhcnNlVHJlZVRleHRhcmVhLz5cbiAgICAgICAgICA8L1Jvd3NEaXY+XG4gICAgICAgIDwvQ29sdW1uRGl2PlxuICAgICAgPC9Db2x1bW5zRGl2PlxuXG4gICAgKTtcbiAgfVxuXG4gIGluaXRpYWxpc2UoKSB7XG4gICAgdGhpcy5hc3NpZ25Db250ZXh0KCk7XG5cbiAgICB0aGlzLnNldEluaXRpYWxTdGF0ZSgpO1xuXG4gICAgY29uc3QgeyBpbml0aWFsTWFya2Rvd24sIGluaXRpYWxNYXJrZG93blN0eWxlIH0gPSB0aGlzLmNvbnN0cnVjdG9yLFxuICAgICAgICAgIG1hcmtkb3duU3R5bGUgPSBpbml0aWFsTWFya2Rvd25TdHlsZSwgLy8vXG4gICAgICAgICAgbWFya2Rvd24gPSBpbml0aWFsTWFya2Rvd247IC8vL1xuXG4gICAgdGhpcy5zZXRNYXJrZG93bihtYXJrZG93bik7XG5cbiAgICB0aGlzLnNldE1hcmtkb3duU3R5bGUobWFya2Rvd25TdHlsZSk7XG5cbiAgICB0aGlzLnVwZGF0ZSgpO1xuXG4gICAgdGhpcy5jc3MoKTtcbiAgfVxuXG4gIHN0YXRpYyBpbml0aWFsTWFya2Rvd24gPSBkZWZhdWx0Q29udGVudDsgIC8vL1xuXG4gIHN0YXRpYyBpbml0aWFsTWFya2Rvd25TdHlsZSA9IGB3aWR0aDogMTAwJTtcbmhlaWdodDogMTk5JTsgIFxucG9zaXRpb246IGFic29sdXRlO1xubWluLWhlaWdodDogMTAwJTsgIFxucGFkZGluZy10b3A6IDVyZW07ICBcbmA7XG5cbiAgc3RhdGljIHRhZ05hbWUgPSBcImRpdlwiO1xuXG4gIHN0YXRpYyBpZ25vcmVkUHJvcGVydGllcyA9IFtcbiAgICBcIm1hcmtkb3duU3R5bGVFbGVtZW50XCJcbiAgXTtcblxuICBzdGF0aWMgZGVmYXVsdFByb3BlcnRpZXMgPSB7XG4gICAgY2xhc3NOYW1lOiBcInZpZXdcIlxuICB9O1xufVxuXG5leHBvcnQgZGVmYXVsdCB3aXRoU3R5bGUoVmlldylgXG5cbiAgcGFkZGluZzogMXJlbTtcbiAgXG5gO1xuXG5mdW5jdGlvbiB0b2tlbnNGcm9tQ29udGVudChjb250ZW50KSB7XG4gIGNvbnN0IHRva2VucyA9IG1hcmtkb3duTGV4ZXIudG9rZW5pc2UoY29udGVudCk7XG5cbiAgcmV0dXJuIHRva2Vucztcbn1cblxuZnVuY3Rpb24gbm9kZUZyb21Ub2tlbnModG9rZW5zLCBzdGFydFJ1bGVOYW1lID0gbnVsbCkge1xuICBjb25zdCBydWxlTWFwID0gbWFya2Rvd25QYXJzZXIuZ2V0UnVsZU1hcCgpLFxuICAgICAgICBzdGFydFJ1bGUgPSAoc3RhcnRSdWxlTmFtZSAhPT0gbnVsbCkgP1xuICAgICAgICAgICAgICAgICAgICAgIHJ1bGVNYXBbc3RhcnRSdWxlTmFtZV0gOlxuICAgICAgICAgICAgICAgICAgICAgICAgbWFya2Rvd25QYXJzZXIuZ2V0U3RhcnRSdWxlKCksXG4gICAgICAgIG5vZGUgPSBtYXJrZG93blBhcnNlci5wYXJzZSh0b2tlbnMsIHN0YXJ0UnVsZSk7XG5cbiAgcmV0dXJuIG5vZGU7XG59XG4iXSwibmFtZXMiOlsidG9wbW9zdE5vZGVGcm9tT3V0ZXJOb2RlcyIsIm5vZGVVdGlsaXRpZXMiLCJtYXJrZG93bkxleGVyIiwiTWFya2Rvd25MZXhlciIsImZyb21Ob3RoaW5nIiwibWFya2Rvd25QYXJzZXIiLCJNYXJrZG93blBhcnNlciIsIm1hcmtkb3duU3R5bGVMZXhlciIsIk1hcmtkb3duU3R5bGVMZXhlciIsIm1hcmtkb3duU3R5bGVQYXJzZXIiLCJNYXJrZG93blN0eWxlUGFyc2VyIiwiVmlldyIsIm1hcmtkb3duU3R5bGVDdXN0b21IYW5kbGVyIiwiZXZlbnQiLCJlbGVtZW50IiwibWFya2Rvd25TdHlsZSIsInBhZ2VVcGRhdGVDdXN0b21IYW5kbGVyIiwiaW5kZXgiLCJjbGVhclBhZ2UiLCJ1cGRhdGVQYWdlIiwicGxhaW5UZXh0Q3VzdG9tSGFuZGxlciIsInBsYWluVGV4dCIsIm1hcmtkb3duQ3VzdG9tSGFuZGxlciIsIm1hcmtkb3duIiwicHJldmlld0N1c3RvbUhhbmRsZXIiLCJwcmV2aWV3Iiwia2V5VXBDdXN0b21IYW5kbGVyIiwidXBkYXRlIiwiaHRtbEN1c3RvbUhhbmRsZXIiLCJodG1sIiwiY3NzQ3VzdG9tSGFuZGxlciIsImNzcyIsInVwZGF0ZU1hcmtkb3duIiwidXBkYXRlTWFya2Rvd25TdHlsZSIsImNsZWFyWE1QIiwiY2xlYXJQcmV2aWV3RGl2IiwiY2xlYXJJbm5lck1hcmtkb3duUGFyc2VUcmVlVGV4dGFyZWEiLCJkaXZpc2lvbk1hcmtkb3duTm9kZXMiLCJnZXREaXZpc2lvbk1hcmtkb3duTm9kZXMiLCJkaXZpc2lvbk1hcmtkb3duTm9kZSIsInRva2VucyIsImdldFRva2VucyIsImNvbnRleHQiLCJsZW5ndGgiLCJub2RlIiwibm9kZXMiLCJub2Rlc0Zyb21Ob2RlQW5kUXVlcmllcyIsInF1ZXJpZXMiLCJ0b3Btb3N0SFRNTE5vZGUiLCJDbGFzc0Zyb21PdXRlck5vZGUiLCJwYXJzZVRyZWUiLCJhc1BhcnNlVHJlZSIsImFzSFRNTCIsImFzUGxhaW5UZXh0IiwiaW5uZXJNYXJrZG93blBhcnNlVHJlZSIsInVwZGF0ZVhNUCIsInVwZGF0ZVByZXZpZXdEaXYiLCJ1cGRhdGVQYWdlQnV0dG9uc0RpdiIsInVwZGF0ZVBsYWluVGV4dFRleHRhcmVhIiwidXBkYXRlSW5uZXJNYXJrZG93blBhcnNlVHJlZVRleHRhcmVhIiwiZ2V0TWFya2Rvd24iLCJsZXhlciIsInBhcnNlciIsImNvbnRlbnQiLCJzdGFydFJ1bGUiLCJnZXRTdGFydFJ1bGUiLCJ0b2tlbmlzZSIsInBhcnNlIiwic2V0VG9rZW5zIiwiY2hhcmFjdGVyc1BlckxpbmUiLCJDSEFSQUNURVJTX1BFUl9MSU5FIiwiY29udGVudHNEZXB0aCIsIkNPTlRFTlRTX0RFUFRIIiwibGluZXNQZXJQYWdlIiwiTElORVNfUEVSX1BBR0UiLCJpbXBvcnRlciIsImluZGV4T3B0aW9ucyIsIm5vZGVGcm9tVG9rZW5zIiwidG9rZW5zRnJvbUNvbnRlbnQiLCJtYXJrZG93bk5vZGVzIiwicG9zdHByb2Nlc3MiLCJkaXZpc2lvbk1hcmtkb3duTm9kZXNGcm9tTWFya2Rvd25Ob2RlcyIsInNldERpdmlzaW9uTWFya2Rvd25Ob2RlcyIsIm91dGVyTWFya2Rvd25QYXJzZVRyZWUiLCJ1cGRhdGVPdXRlck1hcmtkb3duUGFyc2VUcmVlVGV4dGFyZWEiLCJjbGVhclBhZ2VCdXR0b25zRGl2IiwiY2xlYXJQbGFpblRleHRUZXh0YXJlYSIsImNsZWFyT3V0ZXJNYXJrZG93blBhcnNlVHJlZVRleHRhcmVhIiwibWFya2Rvd25TdHlsZUVsZW1lbnQiLCJwcm9wZXJ0aWVzIiwiZ2V0TWFya2Rvd25TdHlsZSIsInNldENTUyIsInVwZGF0ZU1hcmtkb3duU3R5bGVQYXJzZVRyZWVUZXh0YXJlYSIsImNsZWFyTWFya2Rvd25TdHlsZVBhcnNlVHJlZVRleHRhcmVhIiwiaGlkZU1hcmtkb3duQ29udGFpbmVyRGl2Iiwic2hvd01hcmtkb3duU3R5bGVDb250YWluZXJEaXYiLCJoaWRlQ1NTQ29udGFpbmVyRGl2IiwiaGlkZUhUTUxDb250YWluZXJEaXYiLCJoaWRlUHJldmlld0NvbnRhaW5lckRpdiIsInNob3dQbGFpblRleHRDb250YWluZXJEaXYiLCJzaG93TWFya2Rvd25Db250YWluZXJEaXYiLCJoaWRlTWFya2Rvd25TdHlsZUNvbnRhaW5lckRpdiIsInNob3dQcmV2aWV3Q29udGFpbmVyRGl2IiwiaGlkZVBsYWluVGV4dENvbnRhaW5lckRpdiIsInNob3dIVE1MQ29udGFpbmVyRGl2Iiwic2hvd0NTU0NvbnRhaW5lckRpdiIsImdldFN0YXRlIiwidXBkYXRlU3RhdGUiLCJzZXRJbml0aWFsU3RhdGUiLCJzZXRTdGF0ZSIsImNoaWxkRWxlbWVudHMiLCJDb2x1bW5zRGl2IiwiTGVmdFNpemVhYmxlRGl2IiwiTGVmdFRhYkJ1dHRvbnNEaXYiLCJvbkN1c3RvbU1hcmtkb3duIiwib25DdXN0b21NYXJrZG93blN0eWxlIiwiTWFya2Rvd25Db250YWluZXJEaXYiLCJvbkN1c3RvbUtleVVwIiwiTWFya2Rvd25TdHlsZUNvbnRhaW5lckRpdiIsIlZlcnRpY2FsU3BsaXR0ZXJEaXYiLCJDb2x1bW5EaXYiLCJSb3dzRGl2IiwiUmlnaHRUYWJCdXR0b25zRGl2Iiwib25DdXN0b21DU1MiLCJvbkN1c3RvbUhUTUwiLCJvbkN1c3RvbVByZXZpZXciLCJvbkN1c3RvbVBsYWluVGV4dCIsIlBhZ2VCdXR0b25zRGl2Iiwib25DdXN0b21QYWdlVXBkYXRlIiwiQ1NTQ29udGFpbmVyRGl2IiwiSFRNTENvbnRhaW5lckRpdiIsIlByZXZpZXdDb250YWluZXJEaXYiLCJQbGFpblRleHRDb250YWluZXJEaXYiLCJJbm5lck1hcmtkb3duUGFyc2VUcmVlVGV4dGFyZWEiLCJpbml0aWFsaXNlIiwiYXNzaWduQ29udGV4dCIsImNvbnN0cnVjdG9yIiwiaW5pdGlhbE1hcmtkb3duIiwiaW5pdGlhbE1hcmtkb3duU3R5bGUiLCJzZXRNYXJrZG93biIsInNldE1hcmtkb3duU3R5bGUiLCJFbGVtZW50IiwiZGVmYXVsdENvbnRlbnQiLCJ0YWdOYW1lIiwiaWdub3JlZFByb3BlcnRpZXMiLCJkZWZhdWx0UHJvcGVydGllcyIsImNsYXNzTmFtZSIsIndpdGhTdHlsZSIsInN0YXJ0UnVsZU5hbWUiLCJydWxlTWFwIiwiZ2V0UnVsZU1hcCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBK1VBOzs7ZUFBQTs7O29FQTdVc0I7b0JBRUU7d0JBQ007MEJBQ3NDO3FCQUNtQjs4REFFbkU7Z0VBQ0M7bUVBQ0k7a0VBQ0U7MkRBQ0M7MERBQ0E7MkRBQ0M7NERBQ0M7NERBQ0M7eUVBQ0E7OERBQ0M7K0RBQ0M7Z0VBQ0M7b0VBQ0k7NERBQ0s7cUJBR0g7eUJBQzRCOzBCQUNBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFcEUsSUFBTSxBQUFFQSw0QkFBOEJDLHVCQUFhLENBQTNDRDtBQUVSLElBQU1FLGdCQUFnQkMsb0JBQWEsQ0FBQ0MsV0FBVyxJQUN6Q0MsaUJBQWlCQyxxQkFBYyxDQUFDRixXQUFXLElBQzNDRyxxQkFBcUJDLHlCQUFrQixDQUFDSixXQUFXLElBQ25ESyxzQkFBc0JDLDBCQUFtQixDQUFDTixXQUFXO0FBRTNELElBQUEsQUFBTU8scUJBQU47Y0FBTUE7YUFBQUE7Z0NBQUFBOztnQkFBTixrQkFBTUEsa0JBQ0pDLHdCQUFBQSw4QkFBNkIsU0FB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
445
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9leGFtcGxlL3ZpZXcuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB3aXRoU3R5bGUgZnJvbSBcImVhc3ktd2l0aC1zdHlsZVwiOyAgLy8vXG5cbmltcG9ydCB7IEVsZW1lbnQgfSBmcm9tIFwiZWFzeVwiO1xuaW1wb3J0IHsgUm93c0RpdiwgQ29sdW1uRGl2LCBDb2x1bW5zRGl2LCBWZXJ0aWNhbFNwbGl0dGVyRGl2IH0gZnJvbSBcImVhc3ktbGF5b3V0XCI7XG5pbXBvcnQgeyBNYXJrZG93bkxleGVyLCBNYXJrZG93blBhcnNlciwgTWFya2Rvd25TdHlsZUxleGVyLCBNYXJrZG93blN0eWxlUGFyc2VyIH0gZnJvbSBcIi4uL2luZGV4XCI7XG5cbmltcG9ydCBQYWdlQnV0dG9uc0RpdiBmcm9tIFwiLi92aWV3L2Rpdi9wYWdlQnV0dG9uc1wiO1xuaW1wb3J0IExlZnRTaXplYWJsZURpdiBmcm9tIFwiLi92aWV3L2Rpdi9zaXplYWJsZS9sZWZ0XCI7XG5pbXBvcnQgQ1NTQ29udGFpbmVyRGl2IGZyb20gXCIuL3ZpZXcvZGl2L2NvbnRhaW5lci9jc3NcIjtcbmltcG9ydCBUb3Btb3N0SFRNTE5vZGUgZnJvbSBcIi4uL25vZGUvaHRtbC90b3Btb3N0XCI7XG5pbXBvcnQgSFRNTENvbnRhaW5lckRpdiBmcm9tIFwiLi92aWV3L2Rpdi9jb250YWluZXIvaHRtbFwiO1xuaW1wb3J0IExlZnRUYWJCdXR0b25zRGl2IGZyb20gXCIuL3ZpZXcvZGl2L3RhYkJ1dHRvbnMvbGVmdFwiO1xuaW1wb3J0IFJpZ2h0VGFiQnV0dG9uc0RpdiBmcm9tIFwiLi92aWV3L2Rpdi90YWJCdXR0b25zL3JpZ2h0XCI7XG5pbXBvcnQgUHJldmlld0NvbnRhaW5lckRpdiBmcm9tIFwiLi92aWV3L2Rpdi9jb250YWluZXIvcHJldmlld1wiO1xuaW1wb3J0IE1hcmtkb3duQ29udGFpbmVyRGl2IGZyb20gXCIuL3ZpZXcvZGl2L2NvbnRhaW5lci9tYXJrZG93blwiO1xuaW1wb3J0IFBsYWluVGV4dENvbnRhaW5lckRpdiBmcm9tIFwiLi92aWV3L2Rpdi9jb250YWluZXIvcGxhaW5UZXh0XCI7XG5pbXBvcnQgSFRNTFBhcnNlVHJlZVRleHRhcmVhIGZyb20gXCIuL3ZpZXcvdGV4dGFyZWEvcGFyc2VUcmVlL2h0bWxcIjtcbmltcG9ydCBNYXJrZG93blN0eWxlQ29udGFpbmVyRGl2IGZyb20gXCIuL3ZpZXcvZGl2L2NvbnRhaW5lci9tYXJrZG93blN0eWxlXCI7XG5cbmltcG9ydCB7IGltcG9ydGVyLCBpbml0aWFsTWFya2Rvd24gfSBmcm9tIFwiLi9pbXBvcnRlclwiO1xuXG5jb25zdCBtYXJrZG93bkxleGVyID0gTWFya2Rvd25MZXhlci5mcm9tTm90aGluZygpLFxuICAgICAgbWFya2Rvd25QYXJzZXIgPSBNYXJrZG93blBhcnNlci5mcm9tTm90aGluZygpLFxuICAgICAgbWFya2Rvd25TdHlsZUxleGVyID0gTWFya2Rvd25TdHlsZUxleGVyLmZyb21Ob3RoaW5nKCksXG4gICAgICBtYXJrZG93blN0eWxlUGFyc2VyID0gTWFya2Rvd25TdHlsZVBhcnNlci5mcm9tTm90aGluZygpO1xuXG5jbGFzcyBWaWV3IGV4dGVuZHMgRWxlbWVudCB7XG4gIG1hcmtkb3duU3R5bGVDdXN0b21IYW5kbGVyID0gKGV2ZW50LCBlbGVtZW50KSA9PiB7XG4gICAgdGhpcy5tYXJrZG93blN0eWxlKCk7XG4gIH1cblxuICBwYWdlVXBkYXRlQ3VzdG9tSGFuZGxlciA9IChldmVudCwgZWxlbWVudCwgaW5kZXgpID0+IHtcbiAgICB0aGlzLmNsZWFyUGFnZSgpO1xuXG4gICAgdGhpcy51cGRhdGVQYWdlKGluZGV4KTtcbiAgfVxuXG4gIHBsYWluVGV4dEN1c3RvbUhhbmRsZXIgPSAoZXZlbnQsIGVsZW1lbnQpID0+IHtcbiAgICB0aGlzLnBsYWluVGV4dCgpO1xuICB9XG5cbiAgbWFya2Rvd25DdXN0b21IYW5kbGVyID0gKGV2ZW50LCBlbGVtZW50KSA9PiB7XG4gICAgdGhpcy5tYXJrZG93bigpO1xuICB9XG5cbiAgcHJldmlld0N1c3RvbUhhbmRsZXIgPSAoZXZlbnQsIGVsZW1lbnQpID0+IHtcbiAgICB0aGlzLnByZXZpZXcoKTtcbiAgfVxuXG4gIGtleVVwQ3VzdG9tSGFuZGxlciA9IChldmVudCwgZWxlbWVudCkgPT4ge1xuICAgIHRoaXMudXBkYXRlKCk7XG4gIH1cblxuICBodG1sQ3VzdG9tSGFuZGxlciA9IChldmVudCwgZWxlbWVudCkgPT4ge1xuICAgIHRoaXMuaHRtbCgpO1xuICB9XG5cbiAgY3NzQ3VzdG9tSGFuZGxlciA9IChldmVudCwgZWxlbWVudCkgPT4ge1xuICAgIHRoaXMuY3NzKCk7XG4gIH1cblxuICB1cGRhdGUoKSB7XG4gICAgdGhpcy51cGRhdGVNYXJrZG93blN0eWxlKCk7XG4gICAgdGhpcy51cGRhdGVNYXJrZG93bigpO1xuICAgIHRoaXMudXBkYXRlUGFnZSgpO1xuICB9XG5cbiAgY2xlYXJQYWdlKCkge1xuICAgIHRoaXMuY2xlYXJYTVAoKTtcbiAgICB0aGlzLmNsZWFyUHJldmlld0RpdigpO1xuICAgIHRoaXMuY2xlYXJIVE1MUGFyc2VUcmVlVGV4dGFyZWEoKTtcbiAgfVxuXG4gIHVwZGF0ZVBhZ2UoaW5kZXggPSAwKSB7XG4gICAgY29uc3QgdG9rZW5zID0gdGhpcy5nZXRUb2tlbnMoKSxcbiAgICAgICAgICB0b3Btb3N0TWFya2Rvd25Ob2RlID0gdGhpcy5nZXRUb3Btb3N0TWFya2Rvd25Ob2RlKCksXG4gICAgICAgICAgZGl2aXNpb25NYXJrZG93bk5vZGUgPSB0b3Btb3N0TWFya2Rvd25Ob2RlLmdldERpdmlzaW9uTWFya2Rvd25Ob2RlQXQoaW5kZXgpLFxuICAgICAgICAgIHRvcG1vc3RIVE1MTm9kZSA9IFRvcG1vc3RIVE1MTm9kZS5mcm9tRGl2aXNpb25NYXJrZG93bk5vZGUoZGl2aXNpb25NYXJrZG93bk5vZGUpLFxuICAgICAgICAgIGNvbnRleHQgPSB7XG4gICAgICAgICAgICB0b2tlbnMsXG4gICAgICAgICAgICBwYXRoVG9VUkxcbiAgICAgICAgICB9O1xuXG4gICAgdGhpcy51cGRhdGVYTVAodG9wbW9zdEhUTUxOb2RlLCBjb250ZXh0KTtcblxuICAgIHRoaXMudXBkYXRlUHJldmlld0Rpdih0b3Btb3N0SFRNTE5vZGUsIGNvbnRleHQpO1xuXG4gICAgdGhpcy51cGRhdGVQbGFpblRleHRUZXh0YXJlYSh0b3Btb3N0SFRNTE5vZGUsIGNvbnRleHQpO1xuXG4gICAgY29uc3QgbGVuZ3RoID0gbnVsbCxcbiAgICAgICAgICBwYXJzZVRyZWUgPSB0b3Btb3N0SFRNTE5vZGUuYXNQYXJzZVRyZWUoKSxcbiAgICAgICAgICBodG1sUGFyc2VUcmVlID0gcGFyc2VUcmVlOyAvLy9cblxuICAgIHRoaXMudXBkYXRlUGFnZUJ1dHRvbnNEaXYobGVuZ3RoLCBpbmRleCk7XG5cbiAgICB0aGlzLnVwZGF0ZUhUTUxQYXJzZVRyZWVUZXh0YXJlYShodG1sUGFyc2VUcmVlKTtcbiAgfVxuXG4gIHVwZGF0ZU1hcmtkb3duKCkge1xuICAgIGNvbnN0IG1hcmtkb3duID0gdGhpcy5nZXRNYXJrZG93bigpLFxuICAgICAgICAgIGxleGVyID0gbWFya2Rvd25MZXhlciwgIC8vL1xuICAgICAgICAgIHBhcnNlciA9ICBtYXJrZG93blBhcnNlciwgLy8vXG4gICAgICAgICAgY29udGVudCA9IG1hcmtkb3duLCAvLy9cbiAgICAgICAgICB0b2tlbnMgPSBsZXhlci50b2tlbmlzZShjb250ZW50KSxcbiAgICAgICAgICBub2RlID0gcGFyc2VyLnBhcnNlKHRva2Vucyk7XG5cbiAgICBpZiAobm9kZSA9PT0gbnVsbCkge1xuICAgICAgdGhpcy5yZXNldFRva2VucygpO1xuXG4gICAgICB0aGlzLnJlc2V0VG9wbW9zdE1hcmtkb3duTm9kZSgpO1xuXG4gICAgICB0aGlzLmNsZWFyTWFya2Rvd25QYXJzZVRyZWVUZXh0YXJlYSgpO1xuXG4gICAgICB0aGlzLmNsZWFyUGFnZUJ1dHRvbnNEaXYoKTtcblxuICAgICAgdGhpcy5jbGVhclBhZ2UoKTtcblxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHRvcG1vc3RNYXJrZG93bk5vZGUgPSBub2RlLCAvLy9cbiAgICAgICAgICBjb250ZXh0ID0ge1xuICAgICAgICAgICAgdG9rZW5zLFxuICAgICAgICAgICAgaW1wb3J0ZXIsXG4gICAgICAgICAgICBub2RlRnJvbVRva2VucyxcbiAgICAgICAgICAgIHRva2Vuc0Zyb21Db250ZW50XG4gICAgICAgICAgfTtcblxuICAgIHRvcG1vc3RNYXJrZG93bk5vZGUucmVzb2x2ZShjb250ZXh0KTtcblxuICAgIGNvbnN0IHBhcnNlVHJlZSA9IHRvcG1vc3RNYXJrZG93bk5vZGUuYXNQYXJzZVRyZWUodG9rZW5zKSxcbiAgICAgICAgICBtYXJrZG93blBhcnNlVHJlZSA9IHBhcnNlVHJlZTsgLy8vXG5cbiAgICB0aGlzLnNldFRva2Vucyh0b2tlbnMpO1xuXG4gICAgdGhpcy5zZXRUb3Btb3N0TWFya2Rvd25Ob2RlKHRvcG1vc3RNYXJrZG93bk5vZGUpO1xuXG4gICAgdGhpcy51cGRhdGVNYXJrZG93blBhcnNlVHJlZVRleHRhcmVhKG1hcmtkb3duUGFyc2VUcmVlKTtcbiAgfVxuXG4gIHVwZGF0ZU1hcmtkb3duU3R5bGUoKSB7XG4gICAgY29uc3QgeyBtYXJrZG93blN0eWxlRWxlbWVudCB9ID0gdGhpcy5wcm9wZXJ0aWVzLFxuICAgICAgICAgIG1hcmtkb3duU3R5bGUgPSB0aGlzLmdldE1hcmtkb3duU3R5bGUoKSxcbiAgICAgICAgICBjc3MgPSBtYXJrZG93blN0eWxlRWxlbWVudC51cGRhdGUobWFya2Rvd25TdHlsZSk7XG5cbiAgICB0aGlzLnNldENTUyhjc3MpO1xuXG4gICAgY29uc3QgbGV4ZXIgPSBtYXJrZG93blN0eWxlTGV4ZXIsIC8vL1xuICAgICAgICAgIHBhcnNlciA9IG1hcmtkb3duU3R5bGVQYXJzZXIsIC8vL1xuICAgICAgICAgIGNvbnRlbnQgPSBtYXJrZG93blN0eWxlLCAgLy8vXG4gICAgICAgICAgdG9rZW5zID0gbGV4ZXIudG9rZW5pc2UoY29udGVudCksXG4gICAgICAgICAgc3RhcnRSdWxlID0gcGFyc2VyLmdldFN0YXJ0UnVsZSgpLFxuICAgICAgICAgIG5vZGUgPSBwYXJzZXIucGFyc2UodG9rZW5zLCBzdGFydFJ1bGUpO1xuXG4gICAgaWYgKG5vZGUgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IHBhcnNlVHJlZSA9IG5vZGUuYXNQYXJzZVRyZWUodG9rZW5zKTtcblxuICAgICAgdGhpcy51cGRhdGVNYXJrZG93blN0eWxlUGFyc2VUcmVlVGV4dGFyZWEocGFyc2VUcmVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5jbGVhck1hcmtkb3duU3R5bGVQYXJzZVRyZWVUZXh0YXJlYSgpO1xuICAgIH1cbiAgfVxuXG4gIG1hcmtkb3duU3R5bGUoKSB7XG4gICAgdGhpcy5oaWRlTWFya2Rvd25Db250YWluZXJEaXYoKTtcbiAgICB0aGlzLnNob3dNYXJrZG93blN0eWxlQ29udGFpbmVyRGl2KCk7XG4gIH1cblxuICBwbGFpblRleHQoKSB7XG4gICAgdGhpcy5oaWRlQ1NTQ29udGFpbmVyRGl2KCk7XG4gICAgdGhpcy5oaWRlSFRNTENvbnRhaW5lckRpdigpO1xuICAgIHRoaXMuaGlkZVByZXZpZXdDb250YWluZXJEaXYoKTtcbiAgICB0aGlzLnNob3dQbGFpblRleHRDb250YWluZXJEaXYoKTtcbiAgfVxuXG4gIG1hcmtkb3duKCkge1xuICAgIHRoaXMuc2hvd01hcmtkb3duQ29udGFpbmVyRGl2KCk7XG4gICAgdGhpcy5oaWRlTWFya2Rvd25TdHlsZUNvbnRhaW5lckRpdigpO1xuICB9XG5cbiAgcHJldmlldygpIHtcbiAgICB0aGlzLmhpZGVDU1NDb250YWluZXJEaXYoKTtcbiAgICB0aGlzLmhpZGVIVE1MQ29udGFpbmVyRGl2KCk7XG4gICAgdGhpcy5zaG93UHJldmlld0NvbnRhaW5lckRpdigpO1xuICAgIHRoaXMuaGlkZVBsYWluVGV4dENvbnRhaW5lckRpdigpO1xuICB9XG5cbiAgaHRtbCgpIHtcbiAgICB0aGlzLmhpZGVDU1NDb250YWluZXJEaXYoKTtcbiAgICB0aGlzLnNob3dIVE1MQ29udGFpbmVyRGl2KCk7XG4gICAgdGhpcy5oaWRlUHJldmlld0NvbnRhaW5lckRpdigpO1xuICAgIHRoaXMuaGlkZVBsYWluVGV4dENvbnRhaW5lckRpdigpO1xuICB9XG5cbiAgY3NzKCkge1xuICAgIHRoaXMuc2hvd0NTU0NvbnRhaW5lckRpdigpO1xuICAgIHRoaXMuaGlkZUhUTUxDb250YWluZXJEaXYoKTtcbiAgICB0aGlzLmhpZGVQcmV2aWV3Q29udGFpbmVyRGl2KCk7XG4gICAgdGhpcy5oaWRlUGxhaW5UZXh0Q29udGFpbmVyRGl2KCk7XG4gIH1cblxuICByZXNldFRva2VucygpIHtcbiAgICBjb25zdCB0b2tlbnMgPSBudWxsO1xuXG4gICAgdGhpcy5zZXRUb2tlbnModG9rZW5zKTtcbiAgfVxuXG4gIHJlc2V0VG9wbW9zdE1hcmtkb3duTm9kZSgpIHtcbiAgICBjb25zdCB0b3Btb3N0TWFya2Rvd25Ob2RlID0gbnVsbDtcblxuICAgIHRoaXMuc2V0VG9wbW9zdE1hcmtkb3duTm9kZSh0b3Btb3N0TWFya2Rvd25Ob2RlKTtcbiAgfVxuXG4gIGdldFRva2VucygpIHtcbiAgICBjb25zdCB7IHRva2VucyB9ID0gdGhpcy5nZXRTdGF0ZSgpO1xuXG4gICAgcmV0dXJuIHRva2VucztcbiAgfVxuXG4gIGdldFRvcG1vc3RNYXJrZG93bk5vZGUoKSB7XG4gICAgY29uc3QgeyB0b3Btb3N0TWFya2Rvd25Ob2RlIH0gPSB0aGlzLmdldFN0YXRlKCk7XG5cbiAgICByZXR1cm4gdG9wbW9zdE1hcmtkb3duTm9kZTtcbiAgfVxuXG4gIHNldFRva2Vucyh0b2tlbnMpIHtcbiAgICB0aGlzLnVwZGF0ZVN0YXRlKHtcbiAgICAgIHRva2Vuc1xuICAgIH0pO1xuICB9XG5cbiAgc2V0VG9wbW9zdE1hcmtkb3duTm9kZSh0b3Btb3N0TWFya2Rvd25Ob2RlKSB7XG4gICAgdGhpcy51cGRhdGVTdGF0ZSh7XG4gICAgICB0b3Btb3N0TWFya2Rvd25Ob2RlXG4gICAgfSk7XG4gIH1cblxuICBzZXRJbml0aWFsU3RhdGUoKSB7XG4gICAgY29uc3QgdG9rZW5zID0gbnVsbCxcbiAgICAgICAgICB0b3Btb3N0TWFya2Rvd25Ob2RlID0gbnVsbDtcblxuICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgdG9rZW5zLFxuICAgICAgdG9wbW9zdE1hcmtkb3duTm9kZVxuICAgIH0pO1xuICB9XG5cbiAgY2hpbGRFbGVtZW50cygpIHtcbiAgICByZXR1cm4gKFxuXG4gICAgICA8Q29sdW1uc0Rpdj5cbiAgICAgICAgPExlZnRTaXplYWJsZURpdj5cbiAgICAgICAgICA8TGVmdFRhYkJ1dHRvbnNEaXYgb25DdXN0b21NYXJrZG93bj17dGhpcy5tYXJrZG93bkN1c3RvbUhhbmRsZXJ9IG9uQ3VzdG9tTWFya2Rvd25TdHlsZT17dGhpcy5tYXJrZG93blN0eWxlQ3VzdG9tSGFuZGxlcn0gLz5cbiAgICAgICAgICA8TWFya2Rvd25Db250YWluZXJEaXYgb25DdXN0b21LZXlVcD17dGhpcy5rZXlVcEN1c3RvbUhhbmRsZXJ9IC8+XG4gICAgICAgICAgPE1hcmtkb3duU3R5bGVDb250YWluZXJEaXYgb25DdXN0b21LZXlVcD17dGhpcy5rZXlVcEN1c3RvbUhhbmRsZXJ9IC8+XG4gICAgICAgIDwvTGVmdFNpemVhYmxlRGl2PlxuICAgICAgICA8VmVydGljYWxTcGxpdHRlckRpdi8+XG4gICAgICAgIDxDb2x1bW5EaXY+XG4gICAgICAgICAgPFJvd3NEaXY+XG4gICAgICAgICAgICA8UmlnaHRUYWJCdXR0b25zRGl2IG9uQ3VzdG9tQ1NTPXt0aGlzLmNzc0N1c3RvbUhhbmRsZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ3VzdG9tSFRNTD17dGhpcy5odG1sQ3VzdG9tSGFuZGxlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DdXN0b21QcmV2aWV3PXt0aGlzLnByZXZpZXdDdXN0b21IYW5kbGVyfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkN1c3RvbVBsYWluVGV4dD17dGhpcy5wbGFpblRleHRDdXN0b21IYW5kbGVyfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxQYWdlQnV0dG9uc0RpdiBvbkN1c3RvbVBhZ2VVcGRhdGU9e3RoaXMucGFnZVVwZGF0ZUN1c3RvbUhhbmRsZXJ9IC8+XG4gICAgICAgICAgICA8Q1NTQ29udGFpbmVyRGl2Lz5cbiAgICAgICAgICAgIDxIVE1MQ29udGFpbmVyRGl2Lz5cbiAgICAgICAgICAgIDxQcmV2aWV3Q29udGFpbmVyRGl2Lz5cbiAgICAgICAgICAgIDxQbGFpblRleHRDb250YWluZXJEaXYvPlxuICAgICAgICAgICAgPEhUTUxQYXJzZVRyZWVUZXh0YXJlYS8+XG4gICAgICAgICAgPC9Sb3dzRGl2PlxuICAgICAgICA8L0NvbHVtbkRpdj5cbiAgICAgIDwvQ29sdW1uc0Rpdj5cblxuICAgICk7XG4gIH1cblxuICBpbml0aWFsaXNlKCkge1xuICAgIHRoaXMuYXNzaWduQ29udGV4dCgpO1xuXG4gICAgdGhpcy5zZXRJbml0aWFsU3RhdGUoKTtcblxuICAgIGNvbnN0IHsgaW5pdGlhbE1hcmtkb3duLCBpbml0aWFsTWFya2Rvd25TdHlsZSB9ID0gdGhpcy5jb25zdHJ1Y3RvcixcbiAgICAgICAgICBtYXJrZG93blN0eWxlID0gaW5pdGlhbE1hcmtkb3duU3R5bGUsIC8vL1xuICAgICAgICAgIG1hcmtkb3duID0gaW5pdGlhbE1hcmtkb3duOyAvLy9cblxuICAgIHRoaXMuc2V0TWFya2Rvd24obWFya2Rvd24pO1xuXG4gICAgdGhpcy5zZXRNYXJrZG93blN0eWxlKG1hcmtkb3duU3R5bGUpO1xuXG4gICAgdGhpcy51cGRhdGUoKTtcblxuICAgIHRoaXMuY3NzKCk7XG4gIH1cblxuICBzdGF0aWMgaW5pdGlhbE1hcmtkb3duID0gaW5pdGlhbE1hcmtkb3duO1xuXG4gIHN0YXRpYyBpbml0aWFsTWFya2Rvd25TdHlsZSA9IGB3aWR0aDogMTAwJTtcbmhlaWdodDogMTAwJTtcbmZvbnQtc2l6ZTogMnJlbTsgIFxuXG5ibG9ja0xpc3Rpbmcge1xuICBjb2xvdXI6IHdoaXRlO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlO1xuICBiYWNrZ3JvdW5kLWNvbG91cjogYmxhY2s7XG59XG5gO1xuXG4gIHN0YXRpYyB0YWdOYW1lID0gXCJkaXZcIjtcblxuICBzdGF0aWMgaWdub3JlZFByb3BlcnRpZXMgPSBbXG4gICAgXCJtYXJrZG93blN0eWxlRWxlbWVudFwiXG4gIF07XG5cbiAgc3RhdGljIGRlZmF1bHRQcm9wZXJ0aWVzID0ge1xuICAgIGNsYXNzTmFtZTogXCJ2aWV3XCJcbiAgfTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgd2l0aFN0eWxlKFZpZXcpYFxuXG4gIHBhZGRpbmc6IDFyZW07XG4gIFxuYDtcblxuZnVuY3Rpb24gdG9rZW5zRnJvbUNvbnRlbnQoY29udGVudCkge1xuICBjb25zdCB0b2tlbnMgPSBtYXJrZG93bkxleGVyLnRva2VuaXNlKGNvbnRlbnQpO1xuXG4gIHJldHVybiB0b2tlbnM7XG59XG5cbmZ1bmN0aW9uIG5vZGVGcm9tVG9rZW5zKHRva2Vucywgc3RhcnRSdWxlTmFtZSA9IG51bGwpIHtcbiAgY29uc3QgcnVsZU1hcCA9IG1hcmtkb3duUGFyc2VyLmdldFJ1bGVNYXAoKSxcbiAgICAgICAgc3RhcnRSdWxlID0gKHN0YXJ0UnVsZU5hbWUgIT09IG51bGwpID9cbiAgICAgICAgICAgICAgICAgICAgICBydWxlTWFwW3N0YXJ0UnVsZU5hbWVdIDpcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmtkb3duUGFyc2VyLmdldFN0YXJ0UnVsZSgpLFxuICAgICAgICBub2RlID0gbWFya2Rvd25QYXJzZXIucGFyc2UodG9rZW5zLCBzdGFydFJ1bGUpO1xuXG4gIHJldHVybiBub2RlO1xufVxuXG5mdW5jdGlvbiBwYXRoVG9VUkwocGF0aCkge1xuICBjb25zdCB1cmwgPSBgaHR0cHM6Ly9zdGF0aWMuZGphbGJhdC5jb20vJHtwYXRofWA7XG5cbiAgcmV0dXJuIHVybDtcbn1cbiJdLCJuYW1lcyI6WyJtYXJrZG93bkxleGVyIiwiTWFya2Rvd25MZXhlciIsImZyb21Ob3RoaW5nIiwibWFya2Rvd25QYXJzZXIiLCJNYXJrZG93blBhcnNlciIsIm1hcmtkb3duU3R5bGVMZXhlciIsIk1hcmtkb3duU3R5bGVMZXhlciIsIm1hcmtkb3duU3R5bGVQYXJzZXIiLCJNYXJrZG93blN0eWxlUGFyc2VyIiwiVmlldyIsIm1hcmtkb3duU3R5bGVDdXN0b21IYW5kbGVyIiwiZXZlbnQiLCJlbGVtZW50IiwibWFya2Rvd25TdHlsZSIsInBhZ2VVcGRhdGVDdXN0b21IYW5kbGVyIiwiaW5kZXgiLCJjbGVhclBhZ2UiLCJ1cGRhdGVQYWdlIiwicGxhaW5UZXh0Q3VzdG9tSGFuZGxlciIsInBsYWluVGV4dCIsIm1hcmtkb3duQ3VzdG9tSGFuZGxlciIsIm1hcmtkb3duIiwicHJldmlld0N1c3RvbUhhbmRsZXIiLCJwcmV2aWV3Iiwia2V5VXBDdXN0b21IYW5kbGVyIiwidXBkYXRlIiwiaHRtbEN1c3RvbUhhbmRsZXIiLCJodG1sIiwiY3NzQ3VzdG9tSGFuZGxlciIsImNzcyIsInVwZGF0ZU1hcmtkb3duU3R5bGUiLCJ1cGRhdGVNYXJrZG93biIsImNsZWFyWE1QIiwiY2xlYXJQcmV2aWV3RGl2IiwiY2xlYXJIVE1MUGFyc2VUcmVlVGV4dGFyZWEiLCJ0b2tlbnMiLCJnZXRUb2tlbnMiLCJ0b3Btb3N0TWFya2Rvd25Ob2RlIiwiZ2V0VG9wbW9zdE1hcmtkb3duTm9kZSIsImRpdmlzaW9uTWFya2Rvd25Ob2RlIiwiZ2V0RGl2aXNpb25NYXJrZG93bk5vZGVBdCIsInRvcG1vc3RIVE1MTm9kZSIsIlRvcG1vc3RIVE1MTm9kZSIsImZyb21EaXZpc2lvbk1hcmtkb3duTm9kZSIsImNvbnRleHQiLCJwYXRoVG9VUkwiLCJ1cGRhdGVYTVAiLCJ1cGRhdGVQcmV2aWV3RGl2IiwidXBkYXRlUGxhaW5UZXh0VGV4dGFyZWEiLCJsZW5ndGgiLCJwYXJzZVRyZWUiLCJhc1BhcnNlVHJlZSIsImh0bWxQYXJzZVRyZWUiLCJ1cGRhdGVQYWdlQnV0dG9uc0RpdiIsInVwZGF0ZUhUTUxQYXJzZVRyZWVUZXh0YXJlYSIsImdldE1hcmtkb3duIiwibGV4ZXIiLCJwYXJzZXIiLCJjb250ZW50IiwidG9rZW5pc2UiLCJub2RlIiwicGFyc2UiLCJyZXNldFRva2VucyIsInJlc2V0VG9wbW9zdE1hcmtkb3duTm9kZSIsImNsZWFyTWFya2Rvd25QYXJzZVRyZWVUZXh0YXJlYSIsImNsZWFyUGFnZUJ1dHRvbnNEaXYiLCJpbXBvcnRlciIsIm5vZGVGcm9tVG9rZW5zIiwidG9rZW5zRnJvbUNvbnRlbnQiLCJyZXNvbHZlIiwibWFya2Rvd25QYXJzZVRyZWUiLCJzZXRUb2tlbnMiLCJzZXRUb3Btb3N0TWFya2Rvd25Ob2RlIiwidXBkYXRlTWFya2Rvd25QYXJzZVRyZWVUZXh0YXJlYSIsIm1hcmtkb3duU3R5bGVFbGVtZW50IiwicHJvcGVydGllcyIsImdldE1hcmtkb3duU3R5bGUiLCJzZXRDU1MiLCJzdGFydFJ1bGUiLCJnZXRTdGFydFJ1bGUiLCJ1cGRhdGVNYXJrZG93blN0eWxlUGFyc2VUcmVlVGV4dGFyZWEiLCJjbGVhck1hcmtkb3duU3R5bGVQYXJzZVRyZWVUZXh0YXJlYSIsImhpZGVNYXJrZG93bkNvbnRhaW5lckRpdiIsInNob3dNYXJrZG93blN0eWxlQ29udGFpbmVyRGl2IiwiaGlkZUNTU0NvbnRhaW5lckRpdiIsImhpZGVIVE1MQ29udGFpbmVyRGl2IiwiaGlkZVByZXZpZXdDb250YWluZXJEaXYiLCJzaG93UGxhaW5UZXh0Q29udGFpbmVyRGl2Iiwic2hvd01hcmtkb3duQ29udGFpbmVyRGl2IiwiaGlkZU1hcmtkb3duU3R5bGVDb250YWluZXJEaXYiLCJzaG93UHJldmlld0NvbnRhaW5lckRpdiIsImhpZGVQbGFpblRleHRDb250YWluZXJEaXYiLCJzaG93SFRNTENvbnRhaW5lckRpdiIsInNob3dDU1NDb250YWluZXJEaXYiLCJnZXRTdGF0ZSIsInVwZGF0ZVN0YXRlIiwic2V0SW5pdGlhbFN0YXRlIiwic2V0U3RhdGUiLCJjaGlsZEVsZW1lbnRzIiwiQ29sdW1uc0RpdiIsIkxlZnRTaXplYWJsZURpdiIsIkxlZnRUYWJCdXR0b25zRGl2Iiwib25DdXN0b21NYXJrZG93biIsIm9uQ3VzdG9tTWFya2Rvd25TdHlsZSIsIk1hcmtkb3duQ29udGFpbmVyRGl2Iiwib25DdXN0b21LZXlVcCIsIk1hcmtkb3duU3R5bGVDb250YWluZXJEaXYiLCJWZXJ0aWNhbFNwbGl0dGVyRGl2IiwiQ29sdW1uRGl2IiwiUm93c0RpdiIsIlJpZ2h0VGFiQnV0dG9uc0RpdiIsIm9uQ3VzdG9tQ1NTIiwib25DdXN0b21IVE1MIiwib25DdXN0b21QcmV2aWV3Iiwib25DdXN0b21QbGFpblRleHQiLCJQYWdlQnV0dG9uc0RpdiIsIm9uQ3VzdG9tUGFnZVVwZGF0ZSIsIkNTU0NvbnRhaW5lckRpdiIsIkhUTUxDb250YWluZXJEaXYiLCJQcmV2aWV3Q29udGFpbmVyRGl2IiwiUGxhaW5UZXh0Q29udGFpbmVyRGl2IiwiSFRNTFBhcnNlVHJlZVRleHRhcmVhIiwiaW5pdGlhbGlzZSIsImFzc2lnbkNvbnRleHQiLCJjb25zdHJ1Y3RvciIsImluaXRpYWxNYXJrZG93biIsImluaXRpYWxNYXJrZG93blN0eWxlIiwic2V0TWFya2Rvd24iLCJzZXRNYXJrZG93blN0eWxlIiwiRWxlbWVudCIsInRhZ05hbWUiLCJpZ25vcmVkUHJvcGVydGllcyIsImRlZmF1bHRQcm9wZXJ0aWVzIiwiY2xhc3NOYW1lIiwid2l0aFN0eWxlIiwic3RhcnRSdWxlTmFtZSIsInJ1bGVNYXAiLCJnZXRSdWxlTWFwIiwicGF0aCIsInVybCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBa1VBOzs7ZUFBQTs7O29FQWhVc0I7b0JBRUU7MEJBQzRDO3FCQUNtQjtrRUFFNUQ7MkRBQ0M7MERBQ0E7OERBQ0E7MkRBQ0M7NERBQ0M7NERBQ0M7OERBQ0M7K0RBQ0M7Z0VBQ0M7NERBQ0E7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
@@ -29,10 +29,10 @@ function _create_class(Constructor, protoProps, staticProps) {
29
29
  return Constructor;
30
30
  }
31
31
  var IndexMatch = /*#__PURE__*/ function() {
32
- function IndexMatch(regularExpression, replacement) {
32
+ function IndexMatch(regularExpression, transform) {
33
33
  _class_call_check(this, IndexMatch);
34
34
  this.regularExpression = regularExpression;
35
- this.replacement = replacement;
35
+ this.transform = transform;
36
36
  }
37
37
  _create_class(IndexMatch, [
38
38
  {
@@ -44,13 +44,13 @@ var IndexMatch = /*#__PURE__*/ function() {
44
44
  {
45
45
  key: "getReplacement",
46
46
  value: function getReplacement() {
47
- return this.replacement;
47
+ return this.transform;
48
48
  }
49
49
  },
50
50
  {
51
51
  key: "replace",
52
52
  value: function replace(plainText) {
53
- plainText = plainText.replace(this.regularExpression, this.replacement); ///
53
+ plainText = plainText.replace(this.regularExpression, this.transform); ///
54
54
  return plainText;
55
55
  }
56
56
  }
@@ -65,7 +65,7 @@ var IndexMatch = /*#__PURE__*/ function() {
65
65
  {
66
66
  key: "fromPhrase",
67
67
  value: function fromPhrase(phrase) {
68
- var regularExpression = new RegExp(phrase, _constants.GLOBAL_FLAG), replacement = phrase.replace(/\s/g, _constants.UNDERSCORE), indexMatch = new IndexMatch(regularExpression, replacement);
68
+ var regularExpression = new RegExp(phrase, _constants.GLOBAL_FLAG), transform = phrase.replace(/\s/g, _constants.UNDERSCORE), indexMatch = new IndexMatch(regularExpression, transform);
69
69
  return indexMatch;
70
70
  }
71
71
  }
@@ -73,4 +73,4 @@ var IndexMatch = /*#__PURE__*/ function() {
73
73
  return IndexMatch;
74
74
  }();
75
75
 
76
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9pbmRleC9tYXRjaC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgVU5ERVJTQ09SRSwgR0xPQkFMX0ZMQUcsIFNJTkdMRV9TUEFDRSB9IGZyb20gXCIuLi9jb25zdGFudHNcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgSW5kZXhNYXRjaCB7XG4gIGNvbnN0cnVjdG9yKHJlZ3VsYXJFeHByZXNzaW9uLCByZXBsYWNlbWVudCkge1xuICAgIHRoaXMucmVndWxhckV4cHJlc3Npb24gPSByZWd1bGFyRXhwcmVzc2lvbjtcbiAgICB0aGlzLnJlcGxhY2VtZW50ID0gcmVwbGFjZW1lbnQ7XG4gIH1cblxuICBnZXRSZWd1bGFyRXhwcmVzc2lvbigpIHtcbiAgICByZXR1cm4gdGhpcy5yZWd1bGFyRXhwcmVzc2lvbjtcbiAgfVxuXG4gIGdldFJlcGxhY2VtZW50KCkge1xuICAgIHJldHVybiB0aGlzLnJlcGxhY2VtZW50O1xuICB9XG5cbiAgcmVwbGFjZShwbGFpblRleHQpIHtcbiAgICBwbGFpblRleHQgPSBwbGFpblRleHQucmVwbGFjZSh0aGlzLnJlZ3VsYXJFeHByZXNzaW9uLCB0aGlzLnJlcGxhY2VtZW50KTsgIC8vL1xuXG4gICAgcmV0dXJuIHBsYWluVGV4dDtcbiAgfVxuXG4gIHN0YXRpYyByZXZlcnQod29yZE9yUGhyYXNlKSB7XG4gICAgd29yZE9yUGhyYXNlID0gd29yZE9yUGhyYXNlLnJlcGxhY2UoL18vZywgU0lOR0xFX1NQQUNFKTtcblxuICAgIHJldHVybiB3b3JkT3JQaHJhc2U7XG4gIH1cblxuICBzdGF0aWMgZnJvbVBocmFzZShwaHJhc2UpIHtcbiAgICBjb25zdCByZWd1bGFyRXhwcmVzc2lvbiA9IG5ldyBSZWdFeHAocGhyYXNlLCBHTE9CQUxfRkxBRyksXG4gICAgICAgICAgcmVwbGFjZW1lbnQgPSBwaHJhc2UucmVwbGFjZSgvXFxzL2csIFVOREVSU0NPUkUpLFxuICAgICAgICAgIGluZGV4TWF0Y2ggPSBuZXcgSW5kZXhNYXRjaChyZWd1bGFyRXhwcmVzc2lvbiwgcmVwbGFjZW1lbnQpO1xuXG4gICAgcmV0dXJuIGluZGV4TWF0Y2g7XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJJbmRleE1hdGNoIiwicmVndWxhckV4cHJlc3Npb24iLCJyZXBsYWNlbWVudCIsImdldFJlZ3VsYXJFeHByZXNzaW9uIiwiZ2V0UmVwbGFjZW1lbnQiLCJyZXBsYWNlIiwicGxhaW5UZXh0IiwicmV2ZXJ0Iiwid29yZE9yUGhyYXNlIiwiU0lOR0xFX1NQQUNFIiwiZnJvbVBocmFzZSIsInBocmFzZSIsIlJlZ0V4cCIsIkdMT0JBTF9GTEFHIiwiVU5ERVJTQ09SRSIsImluZGV4TWF0Y2giXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O2VBSXFCQTs7O3lCQUZpQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFdkMsSUFBQSxBQUFNQSwyQkFBTjthQUFNQSxXQUNQQyxpQkFBaUIsRUFBRUMsV0FBVztnQ0FEdkJGO1FBRWpCLElBQUksQ0FBQ0MsaUJBQWlCLEdBQUdBO1FBQ3pCLElBQUksQ0FBQ0MsV0FBVyxHQUFHQTs7a0JBSEZGOztZQU1uQkcsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDRixpQkFBaUI7WUFDL0I7OztZQUVBRyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNGLFdBQVc7WUFDekI7OztZQUVBRyxLQUFBQTttQkFBQUEsU0FBQUEsUUFBUUMsU0FBUztnQkFDZkEsWUFBWUEsVUFBVUQsT0FBTyxDQUFDLElBQUksQ0FBQ0osaUJBQWlCLEVBQUUsSUFBSSxDQUFDQyxXQUFXLEdBQUksR0FBRztnQkFFN0UsT0FBT0k7WUFDVDs7OztZQUVPQyxLQUFBQTttQkFBUCxTQUFPQSxPQUFPQyxZQUFZO2dCQUN4QkEsZUFBZUEsYUFBYUgsT0FBTyxDQUFDLE1BQU1JLHVCQUFZO2dCQUV0RCxPQUFPRDtZQUNUOzs7WUFFT0UsS0FBQUE7bUJBQVAsU0FBT0EsV0FBV0MsTUFBTTtnQkFDdEIsSUFBTVYsb0JBQW9CLElBQUlXLE9BQU9ELFFBQVFFLHNCQUFXLEdBQ2xEWCxjQUFjUyxPQUFPTixPQUFPLENBQUMsT0FBT1MscUJBQVUsR0FDOUNDLGFBQWEsSUE3QkZmLFdBNkJpQkMsbUJBQW1CQztnQkFFckQsT0FBT2E7WUFDVDs7O1dBaENtQmYifQ==
76
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9pbmRleC9tYXRjaC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgVU5ERVJTQ09SRSwgR0xPQkFMX0ZMQUcsIFNJTkdMRV9TUEFDRSB9IGZyb20gXCIuLi9jb25zdGFudHNcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgSW5kZXhNYXRjaCB7XG4gIGNvbnN0cnVjdG9yKHJlZ3VsYXJFeHByZXNzaW9uLCB0cmFuc2Zvcm0pIHtcbiAgICB0aGlzLnJlZ3VsYXJFeHByZXNzaW9uID0gcmVndWxhckV4cHJlc3Npb247XG4gICAgdGhpcy50cmFuc2Zvcm0gPSB0cmFuc2Zvcm07XG4gIH1cblxuICBnZXRSZWd1bGFyRXhwcmVzc2lvbigpIHtcbiAgICByZXR1cm4gdGhpcy5yZWd1bGFyRXhwcmVzc2lvbjtcbiAgfVxuXG4gIGdldFJlcGxhY2VtZW50KCkge1xuICAgIHJldHVybiB0aGlzLnRyYW5zZm9ybTtcbiAgfVxuXG4gIHJlcGxhY2UocGxhaW5UZXh0KSB7XG4gICAgcGxhaW5UZXh0ID0gcGxhaW5UZXh0LnJlcGxhY2UodGhpcy5yZWd1bGFyRXhwcmVzc2lvbiwgdGhpcy50cmFuc2Zvcm0pOyAgLy8vXG5cbiAgICByZXR1cm4gcGxhaW5UZXh0O1xuICB9XG5cbiAgc3RhdGljIHJldmVydCh3b3JkT3JQaHJhc2UpIHtcbiAgICB3b3JkT3JQaHJhc2UgPSB3b3JkT3JQaHJhc2UucmVwbGFjZSgvXy9nLCBTSU5HTEVfU1BBQ0UpO1xuXG4gICAgcmV0dXJuIHdvcmRPclBocmFzZTtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tUGhyYXNlKHBocmFzZSkge1xuICAgIGNvbnN0IHJlZ3VsYXJFeHByZXNzaW9uID0gbmV3IFJlZ0V4cChwaHJhc2UsIEdMT0JBTF9GTEFHKSxcbiAgICAgICAgICB0cmFuc2Zvcm0gPSBwaHJhc2UucmVwbGFjZSgvXFxzL2csIFVOREVSU0NPUkUpLFxuICAgICAgICAgIGluZGV4TWF0Y2ggPSBuZXcgSW5kZXhNYXRjaChyZWd1bGFyRXhwcmVzc2lvbiwgdHJhbnNmb3JtKTtcblxuICAgIHJldHVybiBpbmRleE1hdGNoO1xuICB9XG59XG4iXSwibmFtZXMiOlsiSW5kZXhNYXRjaCIsInJlZ3VsYXJFeHByZXNzaW9uIiwidHJhbnNmb3JtIiwiZ2V0UmVndWxhckV4cHJlc3Npb24iLCJnZXRSZXBsYWNlbWVudCIsInJlcGxhY2UiLCJwbGFpblRleHQiLCJyZXZlcnQiLCJ3b3JkT3JQaHJhc2UiLCJTSU5HTEVfU1BBQ0UiLCJmcm9tUGhyYXNlIiwicGhyYXNlIiwiUmVnRXhwIiwiR0xPQkFMX0ZMQUciLCJVTkRFUlNDT1JFIiwiaW5kZXhNYXRjaCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7ZUFJcUJBOzs7eUJBRmlDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUV2QyxJQUFBLEFBQU1BLDJCQUFOO2FBQU1BLFdBQ1BDLGlCQUFpQixFQUFFQyxTQUFTO2dDQURyQkY7UUFFakIsSUFBSSxDQUFDQyxpQkFBaUIsR0FBR0E7UUFDekIsSUFBSSxDQUFDQyxTQUFTLEdBQUdBOztrQkFIQUY7O1lBTW5CRyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNGLGlCQUFpQjtZQUMvQjs7O1lBRUFHLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ0YsU0FBUztZQUN2Qjs7O1lBRUFHLEtBQUFBO21CQUFBQSxTQUFBQSxRQUFRQyxTQUFTO2dCQUNmQSxZQUFZQSxVQUFVRCxPQUFPLENBQUMsSUFBSSxDQUFDSixpQkFBaUIsRUFBRSxJQUFJLENBQUNDLFNBQVMsR0FBSSxHQUFHO2dCQUUzRSxPQUFPSTtZQUNUOzs7O1lBRU9DLEtBQUFBO21CQUFQLFNBQU9BLE9BQU9DLFlBQVk7Z0JBQ3hCQSxlQUFlQSxhQUFhSCxPQUFPLENBQUMsTUFBTUksdUJBQVk7Z0JBRXRELE9BQU9EO1lBQ1Q7OztZQUVPRSxLQUFBQTttQkFBUCxTQUFPQSxXQUFXQyxNQUFNO2dCQUN0QixJQUFNVixvQkFBb0IsSUFBSVcsT0FBT0QsUUFBUUUsc0JBQVcsR0FDbERYLFlBQVlTLE9BQU9OLE9BQU8sQ0FBQyxPQUFPUyxxQkFBVSxHQUM1Q0MsYUFBYSxJQTdCRmYsV0E2QmlCQyxtQkFBbUJDO2dCQUVyRCxPQUFPYTtZQUNUOzs7V0FoQ21CZiJ9
package/lib/index.js CHANGED
@@ -16,13 +16,13 @@ _export(exports, {
16
16
  return _lexer.default;
17
17
  },
18
18
  MarkdownNode: function() {
19
- return _markdown.default;
19
+ return _markdown1.default;
20
20
  },
21
21
  MarkdownParser: function() {
22
22
  return _parser.default;
23
23
  },
24
24
  MarkdownStyleElement: function() {
25
- return _markdown1.default;
25
+ return _markdown3.default;
26
26
  },
27
27
  MarkdownStyleLexer: function() {
28
28
  return _lexer1.default;
@@ -30,23 +30,29 @@ _export(exports, {
30
30
  MarkdownStyleParser: function() {
31
31
  return _parser1.default;
32
32
  },
33
+ classNameMap: function() {
34
+ return _className.default;
35
+ },
33
36
  cssUtilities: function() {
34
37
  return _css.default;
35
38
  },
36
39
  defaultMarkdownStyle: function() {
37
40
  return _defaultMarkdownStyle.default;
38
41
  },
39
- elementMap: function() {
40
- return _elementMap.default;
41
- },
42
42
  footnotesUtilities: function() {
43
43
  return _footnotes.default;
44
44
  },
45
- nodeMap: function() {
46
- return _nodeMap.default;
45
+ htmlNodeMap: function() {
46
+ return _html1.default;
47
47
  },
48
- processingUtilities: function() {
49
- return _processing.default;
48
+ htmlUtilities: function() {
49
+ return _html.default;
50
+ },
51
+ markdownNodeMap: function() {
52
+ return _markdown2.default;
53
+ },
54
+ markdownUtilities: function() {
55
+ return _markdown.default;
50
56
  },
51
57
  queryUtilities: function() {
52
58
  return _query.default;
@@ -54,6 +60,9 @@ _export(exports, {
54
60
  ruleNames: function() {
55
61
  return _ruleNames.default;
56
62
  },
63
+ tagNameMap: function() {
64
+ return _tagName.default;
65
+ },
57
66
  tokenTypes: function() {
58
67
  return _tokenTypes.default;
59
68
  }
@@ -63,15 +72,18 @@ var _parser = /*#__PURE__*/ _interop_require_default(require("./markdown/parser"
63
72
  var _lexer1 = /*#__PURE__*/ _interop_require_default(require("./markdownStyle/lexer"));
64
73
  var _parser1 = /*#__PURE__*/ _interop_require_default(require("./markdownStyle/parser"));
65
74
  var _css = /*#__PURE__*/ _interop_require_default(require("./utilities/css"));
75
+ var _html = /*#__PURE__*/ _interop_require_default(require("./utilities/html"));
66
76
  var _query = /*#__PURE__*/ _interop_require_default(require("./utilities/query"));
77
+ var _markdown = /*#__PURE__*/ _interop_require_default(require("./utilities/markdown"));
67
78
  var _footnotes = /*#__PURE__*/ _interop_require_default(require("./utilities/footnotes"));
68
- var _processing = /*#__PURE__*/ _interop_require_default(require("./utilities/processing"));
69
- var _nodeMap = /*#__PURE__*/ _interop_require_default(require("./nodeMap"));
70
79
  var _ruleNames = /*#__PURE__*/ _interop_require_default(require("./ruleNames"));
71
80
  var _tokenTypes = /*#__PURE__*/ _interop_require_default(require("./tokenTypes"));
72
- var _elementMap = /*#__PURE__*/ _interop_require_default(require("./elementMap"));
73
- var _markdown = /*#__PURE__*/ _interop_require_default(require("./node/markdown"));
74
- var _markdown1 = /*#__PURE__*/ _interop_require_default(require("./styleElement/markdown"));
81
+ var _tagName = /*#__PURE__*/ _interop_require_default(require("./map/tagName"));
82
+ var _html1 = /*#__PURE__*/ _interop_require_default(require("./map/node/html"));
83
+ var _className = /*#__PURE__*/ _interop_require_default(require("./map/className"));
84
+ var _markdown1 = /*#__PURE__*/ _interop_require_default(require("./node/markdown"));
85
+ var _markdown2 = /*#__PURE__*/ _interop_require_default(require("./map/node/markdown"));
86
+ var _markdown3 = /*#__PURE__*/ _interop_require_default(require("./styleElement/markdown"));
75
87
  var _defaultMarkdownStyle = /*#__PURE__*/ _interop_require_default(require("./defaultMarkdownStyle"));
76
88
  var _default = /*#__PURE__*/ _interop_require_default(require("./styleElement/markdown/default"));
77
89
  function _interop_require_default(obj) {
@@ -80,4 +92,4 @@ function _interop_require_default(obj) {
80
92
  };
81
93
  }
82
94
 
83
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuZXhwb3J0IHsgZGVmYXVsdCBhcyBNYXJrZG93bkxleGVyIH0gZnJvbSBcIi4vbWFya2Rvd24vbGV4ZXJcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgTWFya2Rvd25QYXJzZXIgfSBmcm9tIFwiLi9tYXJrZG93bi9wYXJzZXJcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgTWFya2Rvd25TdHlsZUxleGVyIH0gZnJvbSBcIi4vbWFya2Rvd25TdHlsZS9sZXhlclwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBNYXJrZG93blN0eWxlUGFyc2VyIH0gZnJvbSBcIi4vbWFya2Rvd25TdHlsZS9wYXJzZXJcIjtcblxuZXhwb3J0IHsgZGVmYXVsdCBhcyBjc3NVdGlsaXRpZXMgfSBmcm9tIFwiLi91dGlsaXRpZXMvY3NzXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIHF1ZXJ5VXRpbGl0aWVzIH0gZnJvbSBcIi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIGZvb3Rub3Rlc1V0aWxpdGllcyB9IGZyb20gXCIuL3V0aWxpdGllcy9mb290bm90ZXNcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgcHJvY2Vzc2luZ1V0aWxpdGllcyB9IGZyb20gXCIuL3V0aWxpdGllcy9wcm9jZXNzaW5nXCI7XG5cbmV4cG9ydCB7IGRlZmF1bHQgYXMgbm9kZU1hcCB9IGZyb20gXCIuL25vZGVNYXBcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgcnVsZU5hbWVzIH0gZnJvbSBcIi4vcnVsZU5hbWVzXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIHRva2VuVHlwZXMgfSBmcm9tIFwiLi90b2tlblR5cGVzXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIGVsZW1lbnRNYXAgfSBmcm9tIFwiLi9lbGVtZW50TWFwXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIE1hcmtkb3duTm9kZSB9IGZyb20gXCIuL25vZGUvbWFya2Rvd25cIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgTWFya2Rvd25TdHlsZUVsZW1lbnQgfSBmcm9tIFwiLi9zdHlsZUVsZW1lbnQvbWFya2Rvd25cIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgZGVmYXVsdE1hcmtkb3duU3R5bGUgfSBmcm9tIFwiLi9kZWZhdWx0TWFya2Rvd25TdHlsZVwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBEZWZhdWx0TWFya2Rvd25TdHlsZUVsZW1lbnQgfSBmcm9tIFwiLi9zdHlsZUVsZW1lbnQvbWFya2Rvd24vZGVmYXVsdFwiO1xuIl0sIm5hbWVzIjpbIkRlZmF1bHRNYXJrZG93blN0eWxlRWxlbWVudCIsIk1hcmtkb3duTGV4ZXIiLCJNYXJrZG93bk5vZGUiLCJNYXJrZG93blBhcnNlciIsIk1hcmtkb3duU3R5bGVFbGVtZW50IiwiTWFya2Rvd25TdHlsZUxleGVyIiwiTWFya2Rvd25TdHlsZVBhcnNlciIsImNzc1V0aWxpdGllcyIsImRlZmF1bHRNYXJrZG93blN0eWxlIiwiZWxlbWVudE1hcCIsImZvb3Rub3Rlc1V0aWxpdGllcyIsIm5vZGVNYXAiLCJwcm9jZXNzaW5nVXRpbGl0aWVzIiwicXVlcnlVdGlsaXRpZXMiLCJydWxlTmFtZXMiLCJ0b2tlblR5cGVzIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7SUFtQm9CQSwyQkFBMkI7ZUFBM0JBLGdCQUEyQjs7SUFqQjNCQyxhQUFhO2VBQWJBLGNBQWE7O0lBY2JDLFlBQVk7ZUFBWkEsaUJBQVk7O0lBYlpDLGNBQWM7ZUFBZEEsZUFBYzs7SUFjZEMsb0JBQW9CO2VBQXBCQSxrQkFBb0I7O0lBYnBCQyxrQkFBa0I7ZUFBbEJBLGVBQWtCOztJQUNsQkMsbUJBQW1CO2VBQW5CQSxnQkFBbUI7O0lBRW5CQyxZQUFZO2VBQVpBLFlBQVk7O0lBV1pDLG9CQUFvQjtlQUFwQkEsNkJBQW9COztJQUhwQkMsVUFBVTtlQUFWQSxtQkFBVTs7SUFOVkMsa0JBQWtCO2VBQWxCQSxrQkFBa0I7O0lBR2xCQyxPQUFPO2VBQVBBLGdCQUFPOztJQUZQQyxtQkFBbUI7ZUFBbkJBLG1CQUFtQjs7SUFGbkJDLGNBQWM7ZUFBZEEsY0FBYzs7SUFLZEMsU0FBUztlQUFUQSxrQkFBUzs7SUFDVEMsVUFBVTtlQUFWQSxtQkFBVTs7OzREQVpXOzZEQUNDOzZEQUNJOzhEQUNDOzBEQUVQOzREQUNFO2dFQUNJO2lFQUNDOzhEQUVaO2dFQUNFO2lFQUNDO2lFQUNBOytEQUNFO2dFQUNROzJFQUNBOzhEQUNPIn0=
95
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuZXhwb3J0IHsgZGVmYXVsdCBhcyBNYXJrZG93bkxleGVyIH0gZnJvbSBcIi4vbWFya2Rvd24vbGV4ZXJcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgTWFya2Rvd25QYXJzZXIgfSBmcm9tIFwiLi9tYXJrZG93bi9wYXJzZXJcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgTWFya2Rvd25TdHlsZUxleGVyIH0gZnJvbSBcIi4vbWFya2Rvd25TdHlsZS9sZXhlclwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBNYXJrZG93blN0eWxlUGFyc2VyIH0gZnJvbSBcIi4vbWFya2Rvd25TdHlsZS9wYXJzZXJcIjtcblxuZXhwb3J0IHsgZGVmYXVsdCBhcyBjc3NVdGlsaXRpZXMgfSBmcm9tIFwiLi91dGlsaXRpZXMvY3NzXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIGh0bWxVdGlsaXRpZXMgfSBmcm9tIFwiLi91dGlsaXRpZXMvaHRtbFwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBxdWVyeVV0aWxpdGllcyB9IGZyb20gXCIuL3V0aWxpdGllcy9xdWVyeVwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBtYXJrZG93blV0aWxpdGllcyB9IGZyb20gXCIuL3V0aWxpdGllcy9tYXJrZG93blwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBmb290bm90ZXNVdGlsaXRpZXMgfSBmcm9tIFwiLi91dGlsaXRpZXMvZm9vdG5vdGVzXCI7XG5cbmV4cG9ydCB7IGRlZmF1bHQgYXMgcnVsZU5hbWVzIH0gZnJvbSBcIi4vcnVsZU5hbWVzXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIHRva2VuVHlwZXMgfSBmcm9tIFwiLi90b2tlblR5cGVzXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIHRhZ05hbWVNYXAgfSBmcm9tIFwiLi9tYXAvdGFnTmFtZVwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBodG1sTm9kZU1hcCB9IGZyb20gXCIuL21hcC9ub2RlL2h0bWxcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgY2xhc3NOYW1lTWFwIH0gZnJvbSBcIi4vbWFwL2NsYXNzTmFtZVwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBNYXJrZG93bk5vZGUgfSBmcm9tIFwiLi9ub2RlL21hcmtkb3duXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIG1hcmtkb3duTm9kZU1hcCB9IGZyb20gXCIuL21hcC9ub2RlL21hcmtkb3duXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIE1hcmtkb3duU3R5bGVFbGVtZW50IH0gZnJvbSBcIi4vc3R5bGVFbGVtZW50L21hcmtkb3duXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIGRlZmF1bHRNYXJrZG93blN0eWxlIH0gZnJvbSBcIi4vZGVmYXVsdE1hcmtkb3duU3R5bGVcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgRGVmYXVsdE1hcmtkb3duU3R5bGVFbGVtZW50IH0gZnJvbSBcIi4vc3R5bGVFbGVtZW50L21hcmtkb3duL2RlZmF1bHRcIjtcbiJdLCJuYW1lcyI6WyJEZWZhdWx0TWFya2Rvd25TdHlsZUVsZW1lbnQiLCJNYXJrZG93bkxleGVyIiwiTWFya2Rvd25Ob2RlIiwiTWFya2Rvd25QYXJzZXIiLCJNYXJrZG93blN0eWxlRWxlbWVudCIsIk1hcmtkb3duU3R5bGVMZXhlciIsIk1hcmtkb3duU3R5bGVQYXJzZXIiLCJjbGFzc05hbWVNYXAiLCJjc3NVdGlsaXRpZXMiLCJkZWZhdWx0TWFya2Rvd25TdHlsZSIsImZvb3Rub3Rlc1V0aWxpdGllcyIsImh0bWxOb2RlTWFwIiwiaHRtbFV0aWxpdGllcyIsIm1hcmtkb3duTm9kZU1hcCIsIm1hcmtkb3duVXRpbGl0aWVzIiwicXVlcnlVdGlsaXRpZXMiLCJydWxlTmFtZXMiLCJ0YWdOYW1lTWFwIiwidG9rZW5UeXBlcyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O0lBc0JvQkEsMkJBQTJCO2VBQTNCQSxnQkFBMkI7O0lBcEIzQkMsYUFBYTtlQUFiQSxjQUFhOztJQWdCYkMsWUFBWTtlQUFaQSxrQkFBWTs7SUFmWkMsY0FBYztlQUFkQSxlQUFjOztJQWlCZEMsb0JBQW9CO2VBQXBCQSxrQkFBb0I7O0lBaEJwQkMsa0JBQWtCO2VBQWxCQSxlQUFrQjs7SUFDbEJDLG1CQUFtQjtlQUFuQkEsZ0JBQW1COztJQVluQkMsWUFBWTtlQUFaQSxrQkFBWTs7SUFWWkMsWUFBWTtlQUFaQSxZQUFZOztJQWNaQyxvQkFBb0I7ZUFBcEJBLDZCQUFvQjs7SUFWcEJDLGtCQUFrQjtlQUFsQkEsa0JBQWtCOztJQUtsQkMsV0FBVztlQUFYQSxjQUFXOztJQVJYQyxhQUFhO2VBQWJBLGFBQWE7O0lBV2JDLGVBQWU7ZUFBZkEsa0JBQWU7O0lBVGZDLGlCQUFpQjtlQUFqQkEsaUJBQWlCOztJQURqQkMsY0FBYztlQUFkQSxjQUFjOztJQUlkQyxTQUFTO2VBQVRBLGtCQUFTOztJQUVUQyxVQUFVO2VBQVZBLGdCQUFVOztJQURWQyxVQUFVO2VBQVZBLG1CQUFVOzs7NERBWlc7NkRBQ0M7NkRBQ0k7OERBQ0M7MERBRVA7MkRBQ0M7NERBQ0M7K0RBQ0c7Z0VBQ0M7Z0VBRVQ7aUVBQ0M7OERBQ0E7NERBQ0M7Z0VBQ0M7Z0VBQ0E7Z0VBQ0c7Z0VBQ0s7MkVBQ0E7OERBQ08ifQ==
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "default", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return _default;
9
+ }
10
+ });
11
+ var _html = /*#__PURE__*/ _interop_require_wildcard(require("../map/node/html"));
12
+ function _getRequireWildcardCache(nodeInterop) {
13
+ if (typeof WeakMap !== "function") return null;
14
+ var cacheBabelInterop = new WeakMap();
15
+ var cacheNodeInterop = new WeakMap();
16
+ return (_getRequireWildcardCache = function(nodeInterop) {
17
+ return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
18
+ })(nodeInterop);
19
+ }
20
+ function _interop_require_wildcard(obj, nodeInterop) {
21
+ if (!nodeInterop && obj && obj.__esModule) {
22
+ return obj;
23
+ }
24
+ if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
25
+ return {
26
+ default: obj
27
+ };
28
+ }
29
+ var cache = _getRequireWildcardCache(nodeInterop);
30
+ if (cache && cache.has(obj)) {
31
+ return cache.get(obj);
32
+ }
33
+ var newObj = {
34
+ __proto__: null
35
+ };
36
+ var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
37
+ for(var key in obj){
38
+ if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
39
+ var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
40
+ if (desc && (desc.get || desc.set)) {
41
+ Object.defineProperty(newObj, key, desc);
42
+ } else {
43
+ newObj[key] = obj[key];
44
+ }
45
+ }
46
+ }
47
+ newObj.default = obj;
48
+ if (cache) {
49
+ cache.set(obj, newObj);
50
+ }
51
+ return newObj;
52
+ }
53
+ var classNameMap = {};
54
+ _html.ruleNames.forEach(function(ruleName) {
55
+ var Class = _html.default[ruleName], className = Class.className;
56
+ classNameMap[ruleName] = className;
57
+ });
58
+ var _default = classNameMap;
59
+
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tYXAvY2xhc3NOYW1lLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgaHRtbE5vZGVNYXAgZnJvbSBcIi4uL21hcC9ub2RlL2h0bWxcIjtcblxuaW1wb3J0IHsgcnVsZU5hbWVzIH0gZnJvbSBcIi4uL21hcC9ub2RlL2h0bWxcIjtcblxuY29uc3QgY2xhc3NOYW1lTWFwID0ge307XG5cbnJ1bGVOYW1lcy5mb3JFYWNoKChydWxlTmFtZSkgPT4ge1xuICBjb25zdCBDbGFzcyA9IGh0bWxOb2RlTWFwW3J1bGVOYW1lXSxcbiAgICAgICAgeyBjbGFzc05hbWUgfSA9IENsYXNzO1xuXG4gIGNsYXNzTmFtZU1hcFtydWxlTmFtZV0gPSBjbGFzc05hbWU7XG59KTtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3NOYW1lTWFwO1xuIl0sIm5hbWVzIjpbImNsYXNzTmFtZU1hcCIsInJ1bGVOYW1lcyIsImZvckVhY2giLCJydWxlTmFtZSIsIkNsYXNzIiwiaHRtbE5vZGVNYXAiLCJjbGFzc05hbWUiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQWVBOzs7ZUFBQTs7OzREQWJ3Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBSXhCLElBQU1BLGVBQWUsQ0FBQztBQUV0QkMsZUFBUyxDQUFDQyxPQUFPLENBQUMsU0FBQ0M7SUFDakIsSUFBTUMsUUFBUUMsYUFBVyxDQUFDRixTQUFTLEVBQzdCLEFBQUVHLFlBQWNGLE1BQWRFO0lBRVJOLFlBQVksQ0FBQ0csU0FBUyxHQUFHRztBQUMzQjtJQUVBLFdBQWVOIn0=