proskomma-core 0.9.7 → 0.9.12

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 (300) hide show
  1. package/.eslintrc.json +79 -0
  2. package/.gitattributes +2 -0
  3. package/babel.config.js +18 -0
  4. package/docs/_config.yml +1 -0
  5. package/docs/index.md +3 -0
  6. package/docs/pk_edit_0_9.odt +0 -0
  7. package/docs/pk_edit_0_9.pdf +0 -0
  8. package/docs/proskomma_101_slideshow.odp +0 -0
  9. package/docs/proskomma_101_slideshow.pdf +0 -0
  10. package/docs/proskomma_edit_html.png +0 -0
  11. package/docs/proskomma_edit_html.svg +451 -0
  12. package/docs/proskomma_edit_reference.png +0 -0
  13. package/docs/proskomma_edit_reference.svg +349 -0
  14. package/docs/repo_logo.png +0 -0
  15. package/esm/package.json +3 -0
  16. package/esm/wrapper.mjs +5 -0
  17. package/index.js +6 -0
  18. package/package.json +19 -17
  19. package/src/graph/index.cjs +201 -0
  20. package/src/graph/lib/do_cv.cjs +249 -0
  21. package/src/graph/lib/dump.cjs +40 -0
  22. package/src/graph/lib/remake_blocks.cjs +57 -0
  23. package/src/graph/lib/sequence_chars.cjs +84 -0
  24. package/src/graph/lib/sort.cjs +39 -0
  25. package/src/graph/lib/tribos.cjs +97 -0
  26. package/src/graph/lib/tribos_expression.cjs +556 -0
  27. package/src/graph/lib/tribos_ohm_UNUSED.cjs +37 -0
  28. package/src/graph/lib/tribos_step.cjs +434 -0
  29. package/src/graph/mutations/add.cjs +91 -0
  30. package/src/graph/mutations/delete.cjs +61 -0
  31. package/src/graph/mutations/index.cjs +54 -0
  32. package/src/graph/mutations/rehash.cjs +17 -0
  33. package/src/graph/mutations/tags.cjs +120 -0
  34. package/src/graph/mutations/update.cjs +210 -0
  35. package/src/graph/mutations/versification.cjs +96 -0
  36. package/src/graph/queries/block.cjs +228 -0
  37. package/src/graph/queries/cIndex.cjs +87 -0
  38. package/src/graph/queries/cell.cjs +42 -0
  39. package/src/graph/queries/cv.cjs +19 -0
  40. package/src/graph/queries/cvBook.cjs +16 -0
  41. package/src/graph/queries/cvChapter.cjs +16 -0
  42. package/src/graph/queries/cvIndex.cjs +47 -0
  43. package/src/graph/queries/cvNavigation.cjs +116 -0
  44. package/src/graph/queries/cvVerseElement.cjs +84 -0
  45. package/src/graph/queries/cvVerses.cjs +14 -0
  46. package/src/graph/queries/doc_set.cjs +220 -0
  47. package/src/graph/queries/document.cjs +555 -0
  48. package/src/graph/queries/idParts.cjs +30 -0
  49. package/src/graph/queries/index.cjs +151 -0
  50. package/src/graph/queries/inputBlockSpec.cjs +17 -0
  51. package/src/graph/queries/inputItemObject.cjs +12 -0
  52. package/src/graph/queries/input_att_spec.cjs +14 -0
  53. package/src/graph/queries/input_key_matches.cjs +11 -0
  54. package/src/graph/queries/input_key_value.cjs +11 -0
  55. package/src/graph/queries/input_key_values.cjs +11 -0
  56. package/src/graph/queries/input_selector_spec.cjs +19 -0
  57. package/src/graph/queries/item.cjs +71 -0
  58. package/src/graph/queries/itemGroup.cjs +75 -0
  59. package/src/graph/queries/key_value.cjs +18 -0
  60. package/src/graph/queries/kv_entry.cjs +21 -0
  61. package/src/graph/queries/kv_sequence.cjs +151 -0
  62. package/src/graph/queries/node.cjs +44 -0
  63. package/src/graph/queries/orig.cjs +11 -0
  64. package/src/graph/queries/regex_index.cjs +18 -0
  65. package/src/graph/queries/row_equals_spec.cjs +11 -0
  66. package/src/graph/queries/row_match_spec.cjs +11 -0
  67. package/src/graph/queries/selector_spec.cjs +29 -0
  68. package/src/graph/queries/sequence.cjs +314 -0
  69. package/src/graph/queries/table_sequence.cjs +192 -0
  70. package/src/graph/queries/tree_sequence.cjs +58 -0
  71. package/src/graph/queries/verseNumber.cjs +44 -0
  72. package/src/graph/queries/verseRange.cjs +11 -0
  73. package/src/graph/queries/versification.cjs +25 -0
  74. package/src/index.cjs +583 -0
  75. package/src/model/doc_set.cjs +389 -0
  76. package/src/model/doc_set_helpers/block.cjs +232 -0
  77. package/src/model/doc_set_helpers/enum.cjs +87 -0
  78. package/src/model/doc_set_helpers/item.cjs +198 -0
  79. package/src/model/doc_set_helpers/rehash.cjs +53 -0
  80. package/src/model/doc_set_helpers/selectors.cjs +58 -0
  81. package/src/model/doc_set_helpers/serialize.cjs +22 -0
  82. package/src/model/doc_set_helpers/unsuccinctify.cjs +288 -0
  83. package/src/model/doc_set_helpers/update.cjs +290 -0
  84. package/src/model/document.cjs +369 -0
  85. package/src/model/document_helpers/blocks.cjs +135 -0
  86. package/src/model/document_helpers/chapter_verse.cjs +291 -0
  87. package/src/model/document_helpers/pre_enums.cjs +67 -0
  88. package/src/model/document_helpers/sequences.cjs +205 -0
  89. package/src/model/document_helpers/serialize_succinct.cjs +55 -0
  90. package/src/model/document_helpers/succinct_filter.cjs +102 -0
  91. package/src/model/versifications/eng_vrs.cjs +455 -0
  92. package/src/model/versifications/index.cjs +38 -0
  93. package/src/model/versifications/lxx_vrs.cjs +950 -0
  94. package/src/model/versifications/org_vrs.cjs +155 -0
  95. package/src/model/versifications/rsc_vrs.cjs +342 -0
  96. package/src/model/versifications/rso_vrs.cjs +541 -0
  97. package/src/model/versifications/vul_vrs.cjs +835 -0
  98. package/src/parser/index.cjs +506 -0
  99. package/src/parser/lexers/index.cjs +11 -0
  100. package/src/parser/lexers/lexingRegexes.cjs +45 -0
  101. package/src/parser/lexers/nodes.cjs +123 -0
  102. package/src/parser/lexers/object_for_fragment.cjs +123 -0
  103. package/src/parser/lexers/tsv.cjs +45 -0
  104. package/src/parser/lexers/usfm.cjs +17 -0
  105. package/src/parser/lexers/usx/index.cjs +7 -0
  106. package/src/parser/lexers/usx/usx_lexer.cjs +321 -0
  107. package/src/parser/lib/tokenize.cjs +37 -0
  108. package/src/parser/model/index.cjs +637 -0
  109. package/src/parser/parser_specs.cjs +781 -0
  110. package/src/pipelines/perf2x/index.cjs +7 -0
  111. package/src/pipelines/perf2x/perf2PkJsonPipeline.json +41 -0
  112. package/src/pipelines/perf2x/perf2usfmPipeline.json +65 -0
  113. package/src/transforms/calculateUsfmChapterPositions.cjs +106 -0
  114. package/src/transforms/index.cjs +9 -0
  115. package/src/transforms/perf2PkJson.cjs +534 -0
  116. package/src/transforms/perf2usfm.cjs +294 -0
  117. package/src/util/byteArray.cjs +251 -0
  118. package/src/util/canons.cjs +117 -0
  119. package/src/util/enums.cjs +41 -0
  120. package/src/util/generateId.cjs +6 -0
  121. package/src/util/graftDefs.cjs +15 -0
  122. package/src/util/index.cjs +29 -0
  123. package/src/util/inspectSuccinct.cjs +59 -0
  124. package/src/util/itemDefs.cjs +33 -0
  125. package/src/util/parserConstantDefs.cjs +30 -0
  126. package/src/util/scopeDefs.cjs +173 -0
  127. package/src/util/scriptlike/blocksSpec.cjs +192 -0
  128. package/src/util/scriptlike/dodson_lexicon.xsl +19 -0
  129. package/src/util/scriptlike/dodson_lexicon_to_entries.cjs +85 -0
  130. package/src/util/scriptlike/open_scriptures_hebrew_lexicon.xsl +28 -0
  131. package/src/util/scriptlike/open_scriptures_hebrew_lexicon_to_entries.cjs +85 -0
  132. package/src/util/succinct.cjs +159 -0
  133. package/src/util/tags.cjs +28 -0
  134. package/src/util/tokenDefs.cjs +27 -0
  135. package/src/util/versification.cjs +364 -0
  136. package/test/code/main/bad.cjs +79 -0
  137. package/test/code/main/basics.cjs +534 -0
  138. package/test/code/main/block.cjs +586 -0
  139. package/test/code/main/block_scope_numbers.cjs +31 -0
  140. package/test/code/main/blocks_with_atts.cjs +150 -0
  141. package/test/code/main/blocks_with_cv.cjs +250 -0
  142. package/test/code/main/break.cjs +73 -0
  143. package/test/code/main/checksum.cjs +36 -0
  144. package/test/code/main/cl_global.cjs +35 -0
  145. package/test/code/main/class_for_fragment.cjs +18 -0
  146. package/test/code/main/clean_usfm.cjs +46 -0
  147. package/test/code/main/cp_vp.cjs +158 -0
  148. package/test/code/main/custom.cjs +124 -0
  149. package/test/code/main/cv.cjs +249 -0
  150. package/test/code/main/cvMatching.cjs +155 -0
  151. package/test/code/main/cv_indexes.cjs +189 -0
  152. package/test/code/main/cv_navigation.cjs +124 -0
  153. package/test/code/main/document.cjs +382 -0
  154. package/test/code/main/empty_blocks.cjs +71 -0
  155. package/test/code/main/entries.cjs +402 -0
  156. package/test/code/main/export_lexing_regexes.cjs +19 -0
  157. package/test/code/main/fig.cjs +67 -0
  158. package/test/code/main/filter.cjs +222 -0
  159. package/test/code/main/glossary.cjs +36 -0
  160. package/test/code/main/graft_headings.cjs +36 -0
  161. package/test/code/main/graft_introduction.cjs +96 -0
  162. package/test/code/main/graft_note.cjs +104 -0
  163. package/test/code/main/graft_rems.cjs +34 -0
  164. package/test/code/main/graft_sidebars.cjs +62 -0
  165. package/test/code/main/graft_title.cjs +36 -0
  166. package/test/code/main/hello.cjs +105 -0
  167. package/test/code/main/import_document.cjs +22 -0
  168. package/test/code/main/import_usfm_int.cjs +48 -0
  169. package/test/code/main/item_groups.cjs +133 -0
  170. package/test/code/main/items_with_cv.cjs +311 -0
  171. package/test/code/main/milestone_attributes.cjs +163 -0
  172. package/test/code/main/mixed_sequence_documents.cjs +137 -0
  173. package/test/code/main/mixed_sequences.cjs +217 -0
  174. package/test/code/main/modify_sequence.cjs +29 -0
  175. package/test/code/main/multiple_chapters.cjs +58 -0
  176. package/test/code/main/multiple_content.cjs +105 -0
  177. package/test/code/main/mutate_add.cjs +180 -0
  178. package/test/code/main/mutate_delete.cjs +236 -0
  179. package/test/code/main/mutate_rehash.cjs +68 -0
  180. package/test/code/main/mutate_tags.cjs +90 -0
  181. package/test/code/main/mutate_update.cjs +538 -0
  182. package/test/code/main/selectors.cjs +289 -0
  183. package/test/code/main/sequence.cjs +361 -0
  184. package/test/code/main/serialize.cjs +104 -0
  185. package/test/code/main/spans.cjs +51 -0
  186. package/test/code/main/split_long_tokens.cjs +30 -0
  187. package/test/code/main/standard_vrs.cjs +76 -0
  188. package/test/code/main/subclass.cjs +25 -0
  189. package/test/code/main/table.cjs +119 -0
  190. package/test/code/main/tags.cjs +248 -0
  191. package/test/code/main/token_alignment.cjs +84 -0
  192. package/test/code/main/trees.cjs +211 -0
  193. package/test/code/main/tribos.cjs +865 -0
  194. package/test/code/main/tsv.cjs +385 -0
  195. package/test/code/main/usx_ref.cjs +65 -0
  196. package/test/code/main/verse_mapping.cjs +252 -0
  197. package/test/code/main/verse_range.cjs +31 -0
  198. package/test/code/main/word_likes.cjs +41 -0
  199. package/test/code/utils/byte_array.cjs +271 -0
  200. package/test/code/utils/canons.cjs +20 -0
  201. package/test/code/utils/generate_id.cjs +17 -0
  202. package/test/code/utils/graft_defs.cjs +16 -0
  203. package/test/code/utils/inspect.cjs +130 -0
  204. package/test/code/utils/items.cjs +56 -0
  205. package/test/code/utils/push_succinct.cjs +69 -0
  206. package/test/code/utils/scope_defs.cjs +79 -0
  207. package/test/code/utils/serialize.cjs +28 -0
  208. package/test/code/utils/splice.cjs +67 -0
  209. package/test/code/utils/tags.cjs +69 -0
  210. package/test/code/utils/versification.cjs +249 -0
  211. package/test/lib/load.js +110 -0
  212. package/test/skipped_code/diff.js +53 -0
  213. package/test/test_data/inputBlockSpec/dodson.json +1654 -0
  214. package/test/test_data/inputBlockSpec/kv.json +326 -0
  215. package/test/test_data/inputBlockSpec/mk1.json +1019 -0
  216. package/test/test_data/inputBlockSpec/table.json +170 -0
  217. package/test/test_data/tree/genealogy.json +55 -0
  218. package/test/test_data/tree/jude.json +15965 -0
  219. package/test/test_data/tsv/en_tn_66-JUD.tsv +75 -0
  220. package/test/test_data/tsv/twl_JUD.tsv +144 -0
  221. package/test/test_data/usfm/1pe_webbe.usfm +13 -0
  222. package/test/test_data/usfm/66-JUD-ust.usfm +1089 -0
  223. package/test/test_data/usfm/78-GALspavbl.usfm +10 -0
  224. package/test/test_data/usfm/add_test.usfm +15 -0
  225. package/test/test_data/usfm/backslash.usfm +4 -0
  226. package/test/test_data/usfm/cl.usfm +14 -0
  227. package/test/test_data/usfm/cp_vp.usfm +8 -0
  228. package/test/test_data/usfm/custom.usfm +13 -0
  229. package/test/test_data/usfm/en_ust_oba.usfm +875 -0
  230. package/test/test_data/usfm/en_ust_psa_1.usfm +20 -0
  231. package/test/test_data/usfm/fig.usfm +3 -0
  232. package/test/test_data/usfm/filter.usfm +7 -0
  233. package/test/test_data/usfm/footnote.usfm +11 -0
  234. package/test/test_data/usfm/frt.usfm +4 -0
  235. package/test/test_data/usfm/headings.usfm +7 -0
  236. package/test/test_data/usfm/hello.usfm +8 -0
  237. package/test/test_data/usfm/int.usfm +7 -0
  238. package/test/test_data/usfm/milestone_attributes.usfm +7 -0
  239. package/test/test_data/usfm/milestone_attributes_default.usfm +7 -0
  240. package/test/test_data/usfm/no_break_space.usfm +4 -0
  241. package/test/test_data/usfm/no_mt.usfm +6 -0
  242. package/test/test_data/usfm/rems.usfm +6 -0
  243. package/test/test_data/usfm/section_intros.usfm +26 -0
  244. package/test/test_data/usfm/sidebars.usfm +25 -0
  245. package/test/test_data/usfm/slash_in_att.usfm +6 -0
  246. package/test/test_data/usfm/soft_line_break.usfm +4 -0
  247. package/test/test_data/usfm/spans.usfm +5 -0
  248. package/test/test_data/usfm/split_long_tokens.usfm +6 -0
  249. package/test/test_data/usfm/table.usfm +18 -0
  250. package/test/test_data/usfm/table_at_end.usfm +11 -0
  251. package/test/test_data/usfm/table_in_intro.usfm +22 -0
  252. package/test/test_data/usfm/table_no_end_cells.usfm +18 -0
  253. package/test/test_data/usfm/tit_kitchen_sink.usfm +73 -0
  254. package/test/test_data/usfm/titus_template.usfm +58 -0
  255. package/test/test_data/usfm/ugnt_3jn.usfm +265 -0
  256. package/test/test_data/usfm/ult_3jn.usfm +335 -0
  257. package/test/test_data/usfm/unknown.usfm +5 -0
  258. package/test/test_data/usfm/ust_psa.usfm +29 -0
  259. package/test/test_data/usfm/ust_psa_verse_ranges.usfm +24 -0
  260. package/test/test_data/usfm/ust_psa_with_ts.usfm +29 -0
  261. package/test/test_data/usfm/verse_breaks_in_blocks.usfm +20 -0
  262. package/test/test_data/usfm/verse_range.usfm +7 -0
  263. package/test/test_data/usfm/web_ecc.usfm +391 -0
  264. package/test/test_data/usfm/web_psa51.usfm +71 -0
  265. package/test/test_data/usfm/whitespace.usfm +12 -0
  266. package/test/test_data/usfm/xref.usfm +11 -0
  267. package/test/test_data/usx/bad_element.usx +2 -0
  268. package/test/test_data/usx/cp_vp.usx +12 -0
  269. package/test/test_data/usx/diff1.usx +59 -0
  270. package/test/test_data/usx/diff2.usx +74 -0
  271. package/test/test_data/usx/douay_rheims_ecc.usx +58 -0
  272. package/test/test_data/usx/douay_rheims_psa.usx +5366 -0
  273. package/test/test_data/usx/douay_rheims_psa_40_60.usx +666 -0
  274. package/test/test_data/usx/douay_rheims_rut.usx +26 -0
  275. package/test/test_data/usx/esg3.usx +47 -0
  276. package/test/test_data/usx/fig.usx +6 -0
  277. package/test/test_data/usx/milestone_attributes.usx +11 -0
  278. package/test/test_data/usx/not_nfc18_glo.usx +9 -0
  279. package/test/test_data/usx/not_nfc18_phm.usx +24 -0
  280. package/test/test_data/usx/opt_break.usx +10 -0
  281. package/test/test_data/usx/sidebars.usx +29 -0
  282. package/test/test_data/usx/table.usx +23 -0
  283. package/test/test_data/usx/web_psa.usx +8489 -0
  284. package/test/test_data/usx/web_psa150.usx +33 -0
  285. package/test/test_data/usx/web_psa_40_60.usx +1079 -0
  286. package/test/test_data/usx/web_rut.usx +95 -0
  287. package/test/test_data/usx/web_rut_1.usx +17 -0
  288. package/test/test_data/utils/douay_rheims.vrs +520 -0
  289. package/test/test_data/utils/douay_rheims_PSA.usx +5366 -0
  290. package/test/test_data/utils/serialize_example.json +91 -0
  291. package/test/test_data/utils/truncated_versification.vrs +29 -0
  292. package/test/test_data/utils/web_rut_items.json +2977 -0
  293. package/test/test_data/utils/webbe.vrs +395 -0
  294. package/test/test_data/utils/webbe_PSA.usx +8489 -0
  295. package/test/test_data/vrs/douay_rheims.vrs +520 -0
  296. package/test/test_data/vrs/truncated_versification.vrs +27 -0
  297. package/test/test_data/vrs/webbe.vrs +397 -0
  298. package/webpack.prod.js +50 -0
  299. package/dist/index.js +0 -8
  300. package/dist/index.js.LICENSE.txt +0 -23
package/.eslintrc.json ADDED
@@ -0,0 +1,79 @@
1
+ {
2
+ "extends": [
3
+ "eslint:recommended",
4
+ "plugin:import/errors",
5
+ "plugin:import/warnings",
6
+ "prettier"
7
+ ],
8
+ "parser": "@babel/eslint-parser",
9
+ "parserOptions": {
10
+ "ecmaVersion": 2018,
11
+ "ecmaFeatures": {
12
+ "impliedStrict": true,
13
+ "classes": true
14
+ }
15
+ },
16
+ "env": {
17
+ "browser": true,
18
+ "node": true,
19
+ "es6": true
20
+ },
21
+ "plugins": [
22
+ "prettier",
23
+ "import",
24
+ "jsdoc"
25
+ ],
26
+ "rules": {
27
+ "array-callback-return": "error",
28
+ "no-await-in-loop": "error",
29
+ "object-curly-newline": ["error", { "multiline": true, "minProperties": 3 }],
30
+ "brace-style": ["error", "1tbs", {"allowSingleLine": false}],
31
+ "no-return-await": "error",
32
+ "quote-props": ["error", "consistent"],
33
+ "require-await": "error",
34
+ "no-async-promise-executor": "error",
35
+ "no-throw-literal": "warn",
36
+ "no-nested-ternary": "error",
37
+ "no-duplicate-imports": ["error", {"includeExports": false}],
38
+ "import/order": ["error", {"groups": [ "builtin", "external", "internal", "parent", "sibling", "index" ]}],
39
+ "import/first": "off",
40
+ "import/default": "off",
41
+ "import/namespace": "off",
42
+ "indent": ["error", 2],
43
+ "no-undef": "error",
44
+ "no-unused-vars": "error",
45
+ "no-debugger": "warn",
46
+ "curly": "error",
47
+ "semi": ["error", "always", {"omitLastInOneLineBlock": true}],
48
+ "semi-style": ["error", "last"],
49
+ "no-console": "off",
50
+ "no-prototype-builtins": "off",
51
+ "object-curly-spacing": ["error", "always"],
52
+ "quotes": ["error", "single", {"allowTemplateLiterals": true}],
53
+ "comma-dangle": ["error", "always-multiline"],
54
+ "keyword-spacing": "error",
55
+ "no-multi-spaces": "error",
56
+ "no-trailing-spaces": "error",
57
+ "arrow-body-style": ["error", "as-needed"],
58
+ "space-before-function-paren": ["error", {"anonymous": "always", "named": "never", "asyncArrow": "always"}],
59
+ "no-return-assign": "error",
60
+ "padding-line-between-statements": [
61
+ "error",
62
+ { "blankLine": "always", "prev": "*", "next": ["function", "if", "for", "while", "switch", "try" ] },
63
+ { "blankLine": "always", "prev": ["const", "let", "var"], "next": ["block", "block-like", "multiline-expression"] },
64
+ { "blankLine": "always", "prev": ["block", "block-like", "multiline-expression"] , "next":["const", "let", "var"]}
65
+ ],
66
+ "padded-blocks": ["error", "never"],
67
+ "no-unused-expressions": "error",
68
+ "func-names":"off",
69
+ "no-underscore-dangle": "off",
70
+ "consistent-return": "off",
71
+ "radix": "off",
72
+ "guard-for-in": "off",
73
+ "no-mixed-operators": "off",
74
+ "eqeqeq": "off",
75
+ "jsdoc/require-returns-type": "warn",
76
+ "jsdoc/valid-types": "warn"
77
+ },
78
+ "settings": {}
79
+ }
package/.gitattributes ADDED
@@ -0,0 +1,2 @@
1
+ * text=auto
2
+ *.zip binary
@@ -0,0 +1,18 @@
1
+ module.exports = {
2
+ 'assumptions': {
3
+ 'noDocumentAll': true,
4
+ 'pureGetters': true,
5
+ 'iterableIsArray': true,
6
+ 'ignoreToPrimitiveHint': true,
7
+ },
8
+ 'presets': [
9
+ [
10
+ '@babel/preset-env',
11
+ {
12
+ 'targets': { 'esmodules': true },
13
+ 'useBuiltIns': 'entry',
14
+ 'corejs': '3.25.1',
15
+ },
16
+ ],
17
+ ],
18
+ };
@@ -0,0 +1 @@
1
+ theme: jekyll-theme-minimal
package/docs/index.md ADDED
@@ -0,0 +1,3 @@
1
+ # PROSKOMMA
2
+
3
+ Work in progress...
Binary file
Binary file
Binary file
Binary file
Binary file
@@ -0,0 +1,451 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <!-- Created with Inkscape (http://www.inkscape.org/) -->
3
+
4
+ <svg
5
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
6
+ xmlns:cc="http://creativecommons.org/ns#"
7
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
8
+ xmlns:svg="http://www.w3.org/2000/svg"
9
+ xmlns="http://www.w3.org/2000/svg"
10
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
11
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
12
+ width="210mm"
13
+ height="297mm"
14
+ viewBox="0 0 210 297"
15
+ version="1.1"
16
+ id="svg8"
17
+ inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)"
18
+ sodipodi:docname="proskomma_edit_html.svg"
19
+ inkscape:export-filename="/home/mark/repos/proskomma-js/docs/proskomma_edit_html.png"
20
+ inkscape:export-xdpi="205.25253"
21
+ inkscape:export-ydpi="205.25253">
22
+ <defs
23
+ id="defs2">
24
+ <marker
25
+ inkscape:stockid="Arrow2Send"
26
+ orient="auto"
27
+ refY="0.0"
28
+ refX="0.0"
29
+ id="Arrow2Send"
30
+ style="overflow:visible;"
31
+ inkscape:isstock="true">
32
+ <path
33
+ id="path1006"
34
+ style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1"
35
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
36
+ transform="scale(0.3) rotate(180) translate(-2.3,0)" />
37
+ </marker>
38
+ <marker
39
+ inkscape:stockid="Arrow2Send"
40
+ orient="auto"
41
+ refY="0"
42
+ refX="0"
43
+ id="Arrow2Send-3"
44
+ style="overflow:visible"
45
+ inkscape:isstock="true">
46
+ <path
47
+ inkscape:connector-curvature="0"
48
+ id="path1006-5"
49
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
50
+ d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
51
+ transform="matrix(-0.3,0,0,-0.3,0.69,0)" />
52
+ </marker>
53
+ <marker
54
+ inkscape:stockid="Arrow2Send"
55
+ orient="auto"
56
+ refY="0"
57
+ refX="0"
58
+ id="Arrow2Send-2"
59
+ style="overflow:visible"
60
+ inkscape:isstock="true">
61
+ <path
62
+ inkscape:connector-curvature="0"
63
+ id="path1006-9"
64
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
65
+ d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
66
+ transform="matrix(-0.3,0,0,-0.3,0.69,0)" />
67
+ </marker>
68
+ <marker
69
+ inkscape:stockid="Arrow2Send"
70
+ orient="auto"
71
+ refY="0"
72
+ refX="0"
73
+ id="Arrow2Send-27"
74
+ style="overflow:visible"
75
+ inkscape:isstock="true">
76
+ <path
77
+ inkscape:connector-curvature="0"
78
+ id="path1006-0"
79
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
80
+ d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
81
+ transform="matrix(-0.3,0,0,-0.3,0.69,0)" />
82
+ </marker>
83
+ <marker
84
+ inkscape:stockid="Arrow2Send"
85
+ orient="auto"
86
+ refY="0"
87
+ refX="0"
88
+ id="Arrow2Send-3-9"
89
+ style="overflow:visible"
90
+ inkscape:isstock="true">
91
+ <path
92
+ inkscape:connector-curvature="0"
93
+ id="path1006-5-3"
94
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
95
+ d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
96
+ transform="matrix(-0.3,0,0,-0.3,0.69,0)" />
97
+ </marker>
98
+ <marker
99
+ inkscape:stockid="Arrow2Send"
100
+ orient="auto"
101
+ refY="0"
102
+ refX="0"
103
+ id="Arrow2Send-9"
104
+ style="overflow:visible"
105
+ inkscape:isstock="true">
106
+ <path
107
+ inkscape:connector-curvature="0"
108
+ id="path1006-2"
109
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
110
+ d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
111
+ transform="matrix(-0.3,0,0,-0.3,0.69,0)" />
112
+ </marker>
113
+ <marker
114
+ inkscape:stockid="Arrow2Send"
115
+ orient="auto"
116
+ refY="0"
117
+ refX="0"
118
+ id="Arrow2Send-3-0"
119
+ style="overflow:visible"
120
+ inkscape:isstock="true">
121
+ <path
122
+ inkscape:connector-curvature="0"
123
+ id="path1006-5-2"
124
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
125
+ d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
126
+ transform="matrix(-0.3,0,0,-0.3,0.69,0)" />
127
+ </marker>
128
+ </defs>
129
+ <sodipodi:namedview
130
+ id="base"
131
+ pagecolor="#ffffff"
132
+ bordercolor="#666666"
133
+ borderopacity="1.0"
134
+ inkscape:pageopacity="0.0"
135
+ inkscape:pageshadow="2"
136
+ inkscape:zoom="0.71539352"
137
+ inkscape:cx="164.89565"
138
+ inkscape:cy="554.28571"
139
+ inkscape:document-units="mm"
140
+ inkscape:current-layer="layer1"
141
+ showgrid="true"
142
+ inkscape:window-width="1200"
143
+ inkscape:window-height="1788"
144
+ inkscape:window-x="0"
145
+ inkscape:window-y="27"
146
+ inkscape:window-maximized="1"
147
+ showguides="false">
148
+ <inkscape:grid
149
+ type="xygrid"
150
+ id="grid815" />
151
+ </sodipodi:namedview>
152
+ <metadata
153
+ id="metadata5">
154
+ <rdf:RDF>
155
+ <cc:Work
156
+ rdf:about="">
157
+ <dc:format>image/svg+xml</dc:format>
158
+ <dc:type
159
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
160
+ <dc:title />
161
+ </cc:Work>
162
+ </rdf:RDF>
163
+ </metadata>
164
+ <g
165
+ inkscape:label="Layer 1"
166
+ inkscape:groupmode="layer"
167
+ id="layer1">
168
+ <text
169
+ xml:space="preserve"
170
+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:4.23333311px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
171
+ x="104.30371"
172
+ y="11.25"
173
+ id="text842"><tspan
174
+ sodipodi:role="line"
175
+ id="tspan840"
176
+ x="104.30371"
177
+ y="11.25"
178
+ style="font-size:9.87777805px;text-align:center;text-anchor:middle;stroke-width:0.26458332">Proskomma Edit</tspan><tspan
179
+ sodipodi:role="line"
180
+ x="104.30371"
181
+ y="23.597223"
182
+ style="font-style:italic;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:9.87777805px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Italic';text-align:center;text-anchor:middle;stroke-width:0.26458332"
183
+ id="tspan945">(Possible HTML Implementation)</tspan></text>
184
+ <g
185
+ id="g1845"
186
+ transform="translate(-2.1166667)">
187
+ <g
188
+ transform="translate(2.2373291)"
189
+ id="g1793">
190
+ <rect
191
+ style="opacity:1;fill:#2affd5;fill-opacity:1;stroke:#000000;stroke-width:0.3818813;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
192
+ id="rect817-6"
193
+ width="201.08333"
194
+ height="37.041668"
195
+ x="5.2916775"
196
+ y="103.88313" />
197
+ <text
198
+ xml:space="preserve"
199
+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:12.69999981px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
200
+ x="9.630393"
201
+ y="126.94321"
202
+ id="text846"><tspan
203
+ sodipodi:role="line"
204
+ x="9.630393"
205
+ y="126.94321"
206
+ style="font-size:12.69999981px;stroke-width:0.26458332"
207
+ id="tspan947">PERF-to-HTML</tspan></text>
208
+ <text
209
+ xml:space="preserve"
210
+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:8.46666622px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';letter-spacing:0px;word-spacing:0px;fill:#dee3db;fill-opacity:1;stroke:#1f241c;stroke-width:0.26458332"
211
+ x="142.54701"
212
+ y="125.48594"
213
+ id="text868"><tspan
214
+ sodipodi:role="line"
215
+ id="tspan866"
216
+ x="142.54701"
217
+ y="125.48594"
218
+ style="font-size:8.46666622px;fill:#dee3db;stroke:#1f241c;stroke-width:0.26458332">VIEWMODEL</tspan></text>
219
+ </g>
220
+ <g
221
+ transform="translate(2.23734,26.271051)"
222
+ id="g962">
223
+ <rect
224
+ style="opacity:1;fill:#80b3ff;fill-opacity:1;stroke:#000000;stroke-width:0.3818813;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
225
+ id="rect817-6-7"
226
+ width="201.08333"
227
+ height="37.041668"
228
+ x="5.2916665"
229
+ y="153.31183" />
230
+ <text
231
+ xml:space="preserve"
232
+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:8.46666622px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';letter-spacing:0px;word-spacing:0px;fill:#dee3db;fill-opacity:1;stroke:#1f241c;stroke-width:0.26458332"
233
+ x="142.3914"
234
+ y="174.91466"
235
+ id="text893"><tspan
236
+ sodipodi:role="line"
237
+ id="tspan891"
238
+ x="142.3914"
239
+ y="174.91466"
240
+ style="font-size:8.46666622px;fill:#dee3db;stroke:#1f241c;stroke-width:0.26458332">VIEWMODEL</tspan></text>
241
+ <text
242
+ xml:space="preserve"
243
+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:12.69999981px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
244
+ x="9.5311642"
245
+ y="176.65718"
246
+ id="text901"><tspan
247
+ sodipodi:role="line"
248
+ id="tspan899"
249
+ x="9.5311642"
250
+ y="176.65718"
251
+ style="font-size:12.69999981px;stroke-width:0.26458332">MkPERF</tspan></text>
252
+ </g>
253
+ <g
254
+ transform="translate(2.2373348,1.3392556)"
255
+ id="g969">
256
+ <rect
257
+ style="opacity:1;fill:#2a7fff;fill-opacity:1;stroke:#000000;stroke-width:0.3818813;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
258
+ id="rect817-6-5"
259
+ width="201.08333"
260
+ height="37.041668"
261
+ x="5.2916718"
262
+ y="253.94339" />
263
+ <text
264
+ xml:space="preserve"
265
+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:8.46666622px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';letter-spacing:0px;word-spacing:0px;fill:#dee3db;fill-opacity:1;stroke:#1f241c;stroke-width:0.26458332"
266
+ x="167.21677"
267
+ y="275.5462"
268
+ id="text897"><tspan
269
+ sodipodi:role="line"
270
+ id="tspan895"
271
+ x="167.21677"
272
+ y="275.5462"
273
+ style="font-size:8.46666622px;fill:#dee3db;stroke:#1f241c;stroke-width:0.26458332">MODEL</tspan></text>
274
+ <text
275
+ xml:space="preserve"
276
+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:12.69999981px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
277
+ x="9.5311642"
278
+ y="277.19882"
279
+ id="text943"><tspan
280
+ sodipodi:role="line"
281
+ id="tspan941"
282
+ x="9.5311642"
283
+ y="277.19882"
284
+ style="font-size:12.69999981px;stroke-width:0.26458332">Proskomma Core</tspan></text>
285
+ </g>
286
+ <g
287
+ transform="translate(-5.7525335,-2.8895907)"
288
+ id="g1769">
289
+ <text
290
+ xml:space="preserve"
291
+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:5.64444447px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:end;letter-spacing:0px;word-spacing:0px;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
292
+ x="99.059998"
293
+ y="162.66852"
294
+ id="text919"><tspan
295
+ sodipodi:role="line"
296
+ x="99.059998"
297
+ y="162.66852"
298
+ style="font-size:5.64444447px;text-align:end;text-anchor:end;stroke-width:0.26458332"
299
+ id="tspan923">readSequence()</tspan></text>
300
+ <text
301
+ xml:space="preserve"
302
+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:5.64444447px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
303
+ x="120.62411"
304
+ y="162.82791"
305
+ id="text927"><tspan
306
+ sodipodi:role="line"
307
+ id="tspan925"
308
+ x="120.62411"
309
+ y="162.82791"
310
+ style="font-size:5.64444447px;stroke-width:0.26458332">updateSequence()</tspan></text>
311
+ <g
312
+ id="g1396"
313
+ transform="translate(27.177438,28.985175)">
314
+ <path
315
+ inkscape:connector-curvature="0"
316
+ id="path971"
317
+ d="M 79.374999,148.83333 V 122.375"
318
+ style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow2Send)" />
319
+ <path
320
+ inkscape:connector-curvature="0"
321
+ id="path971-6"
322
+ d="m 85.725002,119.48316 v 26.45833"
323
+ style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow2Send-3)" />
324
+ </g>
325
+ </g>
326
+ <g
327
+ transform="translate(1.9205555,8.5300794)"
328
+ id="g1619">
329
+ <text
330
+ xml:space="preserve"
331
+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:5.64444447px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
332
+ x="138.34756"
333
+ y="221.4373"
334
+ id="text931"><tspan
335
+ sodipodi:role="line"
336
+ id="tspan929"
337
+ x="138.34756"
338
+ y="221.4373"
339
+ style="font-size:5.64444447px;text-align:center;text-anchor:middle;stroke-width:0.26458332">submitToPk()</tspan><tspan
340
+ sodipodi:role="line"
341
+ x="138.34756"
342
+ y="228.49286"
343
+ style="font-size:5.64444447px;text-align:center;text-anchor:middle;stroke-width:0.26458332"
344
+ id="tspan933">(GQL Mutation)</tspan></text>
345
+ <text
346
+ xml:space="preserve"
347
+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:5.64444447px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
348
+ x="72.635262"
349
+ y="221.32343"
350
+ id="text937"><tspan
351
+ sodipodi:role="line"
352
+ id="tspan935"
353
+ x="72.635262"
354
+ y="221.32343"
355
+ style="font-size:5.64444447px;text-align:center;text-anchor:middle;stroke-width:0.26458332">fetchFromPk()</tspan><tspan
356
+ sodipodi:role="line"
357
+ x="72.635262"
358
+ y="228.37898"
359
+ style="font-size:5.64444447px;text-align:center;text-anchor:middle;stroke-width:0.26458332"
360
+ id="tspan939">(GQL Query)</tspan></text>
361
+ <g
362
+ transform="translate(23.283335,93.265273)"
363
+ id="g1396-6">
364
+ <path
365
+ inkscape:connector-curvature="0"
366
+ id="path971-0"
367
+ d="M 79.374999,148.83333 V 122.375"
368
+ style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow2Send-27)" />
369
+ <path
370
+ inkscape:connector-curvature="0"
371
+ id="path971-6-6"
372
+ d="m 85.725002,119.48316 v 26.45833"
373
+ style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow2Send-3-9)" />
374
+ </g>
375
+ </g>
376
+ <g
377
+ transform="translate(2.2373286)"
378
+ id="g1781">
379
+ <rect
380
+ style="opacity:1;fill:#aaffee;fill-opacity:1;stroke:#000000;stroke-width:0.3818813;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
381
+ id="rect817-6-2"
382
+ width="201.08333"
383
+ height="37.041668"
384
+ x="5.291678"
385
+ y="28.183369" />
386
+ <text
387
+ xml:space="preserve"
388
+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:12.69999981px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
389
+ x="9.6303921"
390
+ y="51.438797"
391
+ id="text846-6"><tspan
392
+ sodipodi:role="line"
393
+ x="9.6303921"
394
+ y="51.438797"
395
+ style="font-size:12.69999981px;stroke-width:0.26458332"
396
+ id="tspan947-1">HTML Editor</tspan></text>
397
+ <text
398
+ xml:space="preserve"
399
+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:8.46666622px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';letter-spacing:0px;word-spacing:0px;fill:#dee3db;fill-opacity:1;stroke:#1f241c;stroke-width:0.26458332"
400
+ x="176.94238"
401
+ y="49.790318"
402
+ id="text868-8"><tspan
403
+ sodipodi:role="line"
404
+ id="tspan866-7"
405
+ x="176.94238"
406
+ y="49.790318"
407
+ style="font-size:8.46666622px;fill:#dee3db;stroke:#1f241c;stroke-width:0.26458332">VIEW</tspan></text>
408
+ </g>
409
+ <g
410
+ transform="translate(0,-7.2708387)"
411
+ id="g1760">
412
+ <g
413
+ id="g1396-3"
414
+ transform="translate(21.166668,-42.333333)">
415
+ <path
416
+ inkscape:connector-curvature="0"
417
+ id="path971-7"
418
+ d="M 79.374999,148.83333 V 122.375"
419
+ style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow2Send-9)" />
420
+ <path
421
+ inkscape:connector-curvature="0"
422
+ id="path971-6-5"
423
+ d="m 85.725002,119.48316 v 26.45833"
424
+ style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow2Send-3-0)" />
425
+ </g>
426
+ <text
427
+ xml:space="preserve"
428
+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:5.64444447px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:end;letter-spacing:0px;word-spacing:0px;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
429
+ x="94.229111"
430
+ y="92.403214"
431
+ id="text919-9"><tspan
432
+ sodipodi:role="line"
433
+ x="94.229111"
434
+ y="92.403214"
435
+ style="font-size:5.64444447px;text-align:end;text-anchor:end;stroke-width:0.26458332"
436
+ id="tspan923-2">readHTMLElement()</tspan></text>
437
+ <text
438
+ xml:space="preserve"
439
+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:5.64444447px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:end;letter-spacing:0px;word-spacing:0px;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
440
+ x="185.3764"
441
+ y="92.511345"
442
+ id="text919-9-2"><tspan
443
+ sodipodi:role="line"
444
+ x="185.3764"
445
+ y="92.511345"
446
+ style="font-size:5.64444447px;text-align:end;text-anchor:end;stroke-width:0.26458332"
447
+ id="tspan923-2-8">updateHTMLElement()</tspan></text>
448
+ </g>
449
+ </g>
450
+ </g>
451
+ </svg>