@kong/markdown 1.3.1 → 1.3.2

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 (82) hide show
  1. package/dist/{arc-CRNu716j.js → arc-8cjaq9av.js} +2 -2
  2. package/dist/{arc-CRNu716j.js.map → arc-8cjaq9av.js.map} +1 -1
  3. package/dist/{blockDiagram-6b2b5046-D2MkRD_j.js → blockDiagram-6b2b5046-CXMFsTaq.js} +6 -6
  4. package/dist/{blockDiagram-6b2b5046-D2MkRD_j.js.map → blockDiagram-6b2b5046-CXMFsTaq.js.map} +1 -1
  5. package/dist/{c4Diagram-b947cdbb-DCrk3XXk.js → c4Diagram-b947cdbb-vwALH1WH.js} +3 -3
  6. package/dist/{c4Diagram-b947cdbb-DCrk3XXk.js.map → c4Diagram-b947cdbb-vwALH1WH.js.map} +1 -1
  7. package/dist/channel-CiebjdPJ.js +6 -0
  8. package/dist/{channel-AStNV-TO.js.map → channel-CiebjdPJ.js.map} +1 -1
  9. package/dist/{classDiagram-35230388-xHVnplkU.js → classDiagram-35230388-CTxUL5uA.js} +6 -6
  10. package/dist/{classDiagram-35230388-xHVnplkU.js.map → classDiagram-35230388-CTxUL5uA.js.map} +1 -1
  11. package/dist/{classDiagram-v2-412acd34-Df3TOSJO.js → classDiagram-v2-412acd34-BQSUu5Vr.js} +6 -6
  12. package/dist/{classDiagram-v2-412acd34-Df3TOSJO.js.map → classDiagram-v2-412acd34-BQSUu5Vr.js.map} +1 -1
  13. package/dist/clone-AVwa-Pmf.js +9 -0
  14. package/dist/{clone-BEwR0ae8.js.map → clone-AVwa-Pmf.js.map} +1 -1
  15. package/dist/{createText-423428c9-CQXqrQGV.js → createText-423428c9-C_xMZUNE.js} +2 -2
  16. package/dist/{createText-423428c9-CQXqrQGV.js.map → createText-423428c9-C_xMZUNE.js.map} +1 -1
  17. package/dist/{edges-d417c7a0-D2l0zXjx.js → edges-d417c7a0-9M_sA3AX.js} +4 -4
  18. package/dist/{edges-d417c7a0-D2l0zXjx.js.map → edges-d417c7a0-9M_sA3AX.js.map} +1 -1
  19. package/dist/{erDiagram-0ea73325-CGortXf-.js → erDiagram-0ea73325-LCVGPMbf.js} +5 -5
  20. package/dist/{erDiagram-0ea73325-CGortXf-.js.map → erDiagram-0ea73325-LCVGPMbf.js.map} +1 -1
  21. package/dist/{flowDb-d35e309a-B37o2qfF.js → flowDb-d35e309a-EwD5UOTn.js} +2 -2
  22. package/dist/{flowDb-d35e309a-B37o2qfF.js.map → flowDb-d35e309a-EwD5UOTn.js.map} +1 -1
  23. package/dist/{flowDiagram-d949d7c1-CZWR-qRX.js → flowDiagram-d949d7c1-B8fV1Bgb.js} +7 -7
  24. package/dist/{flowDiagram-d949d7c1-CZWR-qRX.js.map → flowDiagram-d949d7c1-B8fV1Bgb.js.map} +1 -1
  25. package/dist/{flowDiagram-v2-49332944-OmkAsRSo.js → flowDiagram-v2-49332944-B1NmgnBY.js} +6 -6
  26. package/dist/{flowDiagram-v2-49332944-OmkAsRSo.js.map → flowDiagram-v2-49332944-B1NmgnBY.js.map} +1 -1
  27. package/dist/{flowchart-elk-definition-27cc417a-DvRAXt5Q.js → flowchart-elk-definition-27cc417a-uJBgGb6w.js} +5 -5
  28. package/dist/{flowchart-elk-definition-27cc417a-DvRAXt5Q.js.map → flowchart-elk-definition-27cc417a-uJBgGb6w.js.map} +1 -1
  29. package/dist/{ganttDiagram-5c869e3b-CFIXQjia.js → ganttDiagram-5c869e3b-CP3jCxVz.js} +3 -3
  30. package/dist/{ganttDiagram-5c869e3b-CFIXQjia.js.map → ganttDiagram-5c869e3b-CP3jCxVz.js.map} +1 -1
  31. package/dist/{gitGraphDiagram-b9d81de9-dYIPtz9A.js → gitGraphDiagram-b9d81de9-C0mDyUJG.js} +2 -2
  32. package/dist/{gitGraphDiagram-b9d81de9-dYIPtz9A.js.map → gitGraphDiagram-b9d81de9-C0mDyUJG.js.map} +1 -1
  33. package/dist/{graph-DnI6iIW-.js → graph-D8osM22K.js} +2 -2
  34. package/dist/{graph-DnI6iIW-.js.map → graph-D8osM22K.js.map} +1 -1
  35. package/dist/{index-8fae9850-BrJpYy1U.js → index-8fae9850-LWne7Y_5.js} +7 -7
  36. package/dist/{index-8fae9850-BrJpYy1U.js.map → index-8fae9850-LWne7Y_5.js.map} +1 -1
  37. package/dist/{index-BdQ-n4gH.js → index-H0_TiiZ2.js} +24 -24
  38. package/dist/{index-BdQ-n4gH.js.map → index-H0_TiiZ2.js.map} +1 -1
  39. package/dist/{infoDiagram-db7b18fc-D02OQKc3.js → infoDiagram-db7b18fc-BUwIw4xq.js} +2 -2
  40. package/dist/{infoDiagram-db7b18fc-D02OQKc3.js.map → infoDiagram-db7b18fc-BUwIw4xq.js.map} +1 -1
  41. package/dist/{journeyDiagram-d5636530-DthrqUFi.js → journeyDiagram-d5636530-BcAzfkwS.js} +4 -4
  42. package/dist/{journeyDiagram-d5636530-DthrqUFi.js.map → journeyDiagram-d5636530-BcAzfkwS.js.map} +1 -1
  43. package/dist/kong-markdown.es.js +1 -1
  44. package/dist/kong-markdown.umd.js +1 -1
  45. package/dist/{layout-OFztbzEY.js → layout-ZVjoo1C9.js} +3 -3
  46. package/dist/{layout-OFztbzEY.js.map → layout-ZVjoo1C9.js.map} +1 -1
  47. package/dist/{line-BSAYYjII.js → line-Cw7WGRye.js} +2 -2
  48. package/dist/{line-BSAYYjII.js.map → line-Cw7WGRye.js.map} +1 -1
  49. package/dist/{linear-D6IIV3ES.js → linear-CM8CQPYx.js} +2 -2
  50. package/dist/{linear-D6IIV3ES.js.map → linear-CM8CQPYx.js.map} +1 -1
  51. package/dist/{mindmap-definition-377f8f1f-CP5Ij5zq.js → mindmap-definition-377f8f1f-CZ-84IMz.js} +3 -3
  52. package/dist/{mindmap-definition-377f8f1f-CP5Ij5zq.js.map → mindmap-definition-377f8f1f-CZ-84IMz.js.map} +1 -1
  53. package/dist/{pieDiagram-b0208e96-CEy_a3qY.js → pieDiagram-b0208e96-DWGdunAA.js} +3 -3
  54. package/dist/{pieDiagram-b0208e96-CEy_a3qY.js.map → pieDiagram-b0208e96-DWGdunAA.js.map} +1 -1
  55. package/dist/{quadrantDiagram-0332be45-D1m3bfLE.js → quadrantDiagram-0332be45-CcjioNyx.js} +3 -3
  56. package/dist/{quadrantDiagram-0332be45-D1m3bfLE.js.map → quadrantDiagram-0332be45-CcjioNyx.js.map} +1 -1
  57. package/dist/{requirementDiagram-bf7890df-BXOuPT18.js → requirementDiagram-bf7890df-Bhse_3cX.js} +5 -5
  58. package/dist/{requirementDiagram-bf7890df-BXOuPT18.js.map → requirementDiagram-bf7890df-Bhse_3cX.js.map} +1 -1
  59. package/dist/{sankeyDiagram-0acdec17-C_WfLS-d.js → sankeyDiagram-0acdec17-mp2WREQF.js} +2 -2
  60. package/dist/{sankeyDiagram-0acdec17-C_WfLS-d.js.map → sankeyDiagram-0acdec17-mp2WREQF.js.map} +1 -1
  61. package/dist/{sequenceDiagram-c18d009d-xoFAj6ID.js → sequenceDiagram-c18d009d-C2BOoE0J.js} +3 -3
  62. package/dist/{sequenceDiagram-c18d009d-xoFAj6ID.js.map → sequenceDiagram-c18d009d-C2BOoE0J.js.map} +1 -1
  63. package/dist/{stateDiagram-43596fc0-Dm1AkWdr.js → stateDiagram-43596fc0-DcFmBqVD.js} +6 -6
  64. package/dist/{stateDiagram-43596fc0-Dm1AkWdr.js.map → stateDiagram-43596fc0-DcFmBqVD.js.map} +1 -1
  65. package/dist/{stateDiagram-v2-2ead4f9c-X0XO1e_0.js → stateDiagram-v2-2ead4f9c-B0kAUaOw.js} +6 -6
  66. package/dist/{stateDiagram-v2-2ead4f9c-X0XO1e_0.js.map → stateDiagram-v2-2ead4f9c-B0kAUaOw.js.map} +1 -1
  67. package/dist/style.css +1 -1
  68. package/dist/{styles-6860f46c-g9ltY6y9.js → styles-6860f46c-CCfIsYmF.js} +2 -2
  69. package/dist/{styles-6860f46c-g9ltY6y9.js.map → styles-6860f46c-CCfIsYmF.js.map} +1 -1
  70. package/dist/{styles-7383a064-D9pZsmll.js → styles-7383a064-Z66HBsPQ.js} +5 -5
  71. package/dist/{styles-7383a064-D9pZsmll.js.map → styles-7383a064-Z66HBsPQ.js.map} +1 -1
  72. package/dist/{styles-b2c874b6-2MSTrrjT.js → styles-b2c874b6-vUP-zip8.js} +2 -2
  73. package/dist/{styles-b2c874b6-2MSTrrjT.js.map → styles-b2c874b6-vUP-zip8.js.map} +1 -1
  74. package/dist/{svgDrawCommon-0ee1b4e9-BiqdHuRv.js → svgDrawCommon-0ee1b4e9-BN89CkAa.js} +2 -2
  75. package/dist/{svgDrawCommon-0ee1b4e9-BiqdHuRv.js.map → svgDrawCommon-0ee1b4e9-BN89CkAa.js.map} +1 -1
  76. package/dist/{timeline-definition-d977decf-J4adcb4f.js → timeline-definition-d977decf-hPFfx-Ol.js} +3 -3
  77. package/dist/{timeline-definition-d977decf-J4adcb4f.js.map → timeline-definition-d977decf-hPFfx-Ol.js.map} +1 -1
  78. package/dist/{xychartDiagram-e50adddc-COrJQ_9O.js → xychartDiagram-e50adddc-rKOcwKj9.js} +5 -5
  79. package/dist/{xychartDiagram-e50adddc-COrJQ_9O.js.map → xychartDiagram-e50adddc-rKOcwKj9.js.map} +1 -1
  80. package/package.json +1 -1
  81. package/dist/channel-AStNV-TO.js +0 -6
  82. package/dist/clone-BEwR0ae8.js +0 -9
@@ -1 +1 @@
1
- {"version":3,"file":"requirementDiagram-bf7890df-BXOuPT18.js","sources":["../node_modules/.pnpm/mermaid@10.8.0/node_modules/mermaid/dist/requirementDiagram-bf7890df.js"],"sourcesContent":["import { c as getConfig, s as setAccTitle, g as getAccTitle, b as setAccDescription, a as getAccDescription, l as log, t as clear$1, i as configureSvgSize, e as common } from \"./mermaid-0603ccf8.js\";\nimport { select, line } from \"d3\";\nimport { layout } from \"dagre-d3-es/src/dagre/index.js\";\nimport * as graphlib from \"dagre-d3-es/src/graphlib/index.js\";\nimport \"ts-dedent\";\nimport \"dayjs\";\nimport \"@braintree/sanitize-url\";\nimport \"dompurify\";\nimport \"khroma\";\nimport \"lodash-es/memoize.js\";\nimport \"lodash-es/merge.js\";\nimport \"stylis\";\nimport \"lodash-es/isEmpty.js\";\nvar parser = function() {\n var o = function(k, v, o2, l) {\n for (o2 = o2 || {}, l = k.length; l--; o2[k[l]] = v)\n ;\n return o2;\n }, $V0 = [1, 3], $V1 = [1, 4], $V2 = [1, 5], $V3 = [1, 6], $V4 = [5, 6, 8, 9, 11, 13, 31, 32, 33, 34, 35, 36, 44, 62, 63], $V5 = [1, 18], $V6 = [2, 7], $V7 = [1, 22], $V8 = [1, 23], $V9 = [1, 24], $Va = [1, 25], $Vb = [1, 26], $Vc = [1, 27], $Vd = [1, 20], $Ve = [1, 28], $Vf = [1, 29], $Vg = [62, 63], $Vh = [5, 8, 9, 11, 13, 31, 32, 33, 34, 35, 36, 44, 51, 53, 62, 63], $Vi = [1, 47], $Vj = [1, 48], $Vk = [1, 49], $Vl = [1, 50], $Vm = [1, 51], $Vn = [1, 52], $Vo = [1, 53], $Vp = [53, 54], $Vq = [1, 64], $Vr = [1, 60], $Vs = [1, 61], $Vt = [1, 62], $Vu = [1, 63], $Vv = [1, 65], $Vw = [1, 69], $Vx = [1, 70], $Vy = [1, 67], $Vz = [1, 68], $VA = [5, 8, 9, 11, 13, 31, 32, 33, 34, 35, 36, 44, 62, 63];\n var parser2 = {\n trace: function trace() {\n },\n yy: {},\n symbols_: { \"error\": 2, \"start\": 3, \"directive\": 4, \"NEWLINE\": 5, \"RD\": 6, \"diagram\": 7, \"EOF\": 8, \"acc_title\": 9, \"acc_title_value\": 10, \"acc_descr\": 11, \"acc_descr_value\": 12, \"acc_descr_multiline_value\": 13, \"requirementDef\": 14, \"elementDef\": 15, \"relationshipDef\": 16, \"requirementType\": 17, \"requirementName\": 18, \"STRUCT_START\": 19, \"requirementBody\": 20, \"ID\": 21, \"COLONSEP\": 22, \"id\": 23, \"TEXT\": 24, \"text\": 25, \"RISK\": 26, \"riskLevel\": 27, \"VERIFYMTHD\": 28, \"verifyType\": 29, \"STRUCT_STOP\": 30, \"REQUIREMENT\": 31, \"FUNCTIONAL_REQUIREMENT\": 32, \"INTERFACE_REQUIREMENT\": 33, \"PERFORMANCE_REQUIREMENT\": 34, \"PHYSICAL_REQUIREMENT\": 35, \"DESIGN_CONSTRAINT\": 36, \"LOW_RISK\": 37, \"MED_RISK\": 38, \"HIGH_RISK\": 39, \"VERIFY_ANALYSIS\": 40, \"VERIFY_DEMONSTRATION\": 41, \"VERIFY_INSPECTION\": 42, \"VERIFY_TEST\": 43, \"ELEMENT\": 44, \"elementName\": 45, \"elementBody\": 46, \"TYPE\": 47, \"type\": 48, \"DOCREF\": 49, \"ref\": 50, \"END_ARROW_L\": 51, \"relationship\": 52, \"LINE\": 53, \"END_ARROW_R\": 54, \"CONTAINS\": 55, \"COPIES\": 56, \"DERIVES\": 57, \"SATISFIES\": 58, \"VERIFIES\": 59, \"REFINES\": 60, \"TRACES\": 61, \"unqString\": 62, \"qString\": 63, \"$accept\": 0, \"$end\": 1 },\n terminals_: { 2: \"error\", 5: \"NEWLINE\", 6: \"RD\", 8: \"EOF\", 9: \"acc_title\", 10: \"acc_title_value\", 11: \"acc_descr\", 12: \"acc_descr_value\", 13: \"acc_descr_multiline_value\", 19: \"STRUCT_START\", 21: \"ID\", 22: \"COLONSEP\", 24: \"TEXT\", 26: \"RISK\", 28: \"VERIFYMTHD\", 30: \"STRUCT_STOP\", 31: \"REQUIREMENT\", 32: \"FUNCTIONAL_REQUIREMENT\", 33: \"INTERFACE_REQUIREMENT\", 34: \"PERFORMANCE_REQUIREMENT\", 35: \"PHYSICAL_REQUIREMENT\", 36: \"DESIGN_CONSTRAINT\", 37: \"LOW_RISK\", 38: \"MED_RISK\", 39: \"HIGH_RISK\", 40: \"VERIFY_ANALYSIS\", 41: \"VERIFY_DEMONSTRATION\", 42: \"VERIFY_INSPECTION\", 43: \"VERIFY_TEST\", 44: \"ELEMENT\", 47: \"TYPE\", 49: \"DOCREF\", 51: \"END_ARROW_L\", 53: \"LINE\", 54: \"END_ARROW_R\", 55: \"CONTAINS\", 56: \"COPIES\", 57: \"DERIVES\", 58: \"SATISFIES\", 59: \"VERIFIES\", 60: \"REFINES\", 61: \"TRACES\", 62: \"unqString\", 63: \"qString\" },\n productions_: [0, [3, 3], [3, 2], [3, 4], [4, 2], [4, 2], [4, 1], [7, 0], [7, 2], [7, 2], [7, 2], [7, 2], [7, 2], [14, 5], [20, 5], [20, 5], [20, 5], [20, 5], [20, 2], [20, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [27, 1], [27, 1], [27, 1], [29, 1], [29, 1], [29, 1], [29, 1], [15, 5], [46, 5], [46, 5], [46, 2], [46, 1], [16, 5], [16, 5], [52, 1], [52, 1], [52, 1], [52, 1], [52, 1], [52, 1], [52, 1], [18, 1], [18, 1], [23, 1], [23, 1], [25, 1], [25, 1], [45, 1], [45, 1], [48, 1], [48, 1], [50, 1], [50, 1]],\n performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$) {\n var $0 = $$.length - 1;\n switch (yystate) {\n case 4:\n this.$ = $$[$0].trim();\n yy.setAccTitle(this.$);\n break;\n case 5:\n case 6:\n this.$ = $$[$0].trim();\n yy.setAccDescription(this.$);\n break;\n case 7:\n this.$ = [];\n break;\n case 13:\n yy.addRequirement($$[$0 - 3], $$[$0 - 4]);\n break;\n case 14:\n yy.setNewReqId($$[$0 - 2]);\n break;\n case 15:\n yy.setNewReqText($$[$0 - 2]);\n break;\n case 16:\n yy.setNewReqRisk($$[$0 - 2]);\n break;\n case 17:\n yy.setNewReqVerifyMethod($$[$0 - 2]);\n break;\n case 20:\n this.$ = yy.RequirementType.REQUIREMENT;\n break;\n case 21:\n this.$ = yy.RequirementType.FUNCTIONAL_REQUIREMENT;\n break;\n case 22:\n this.$ = yy.RequirementType.INTERFACE_REQUIREMENT;\n break;\n case 23:\n this.$ = yy.RequirementType.PERFORMANCE_REQUIREMENT;\n break;\n case 24:\n this.$ = yy.RequirementType.PHYSICAL_REQUIREMENT;\n break;\n case 25:\n this.$ = yy.RequirementType.DESIGN_CONSTRAINT;\n break;\n case 26:\n this.$ = yy.RiskLevel.LOW_RISK;\n break;\n case 27:\n this.$ = yy.RiskLevel.MED_RISK;\n break;\n case 28:\n this.$ = yy.RiskLevel.HIGH_RISK;\n break;\n case 29:\n this.$ = yy.VerifyType.VERIFY_ANALYSIS;\n break;\n case 30:\n this.$ = yy.VerifyType.VERIFY_DEMONSTRATION;\n break;\n case 31:\n this.$ = yy.VerifyType.VERIFY_INSPECTION;\n break;\n case 32:\n this.$ = yy.VerifyType.VERIFY_TEST;\n break;\n case 33:\n yy.addElement($$[$0 - 3]);\n break;\n case 34:\n yy.setNewElementType($$[$0 - 2]);\n break;\n case 35:\n yy.setNewElementDocRef($$[$0 - 2]);\n break;\n case 38:\n yy.addRelationship($$[$0 - 2], $$[$0], $$[$0 - 4]);\n break;\n case 39:\n yy.addRelationship($$[$0 - 2], $$[$0 - 4], $$[$0]);\n break;\n case 40:\n this.$ = yy.Relationships.CONTAINS;\n break;\n case 41:\n this.$ = yy.Relationships.COPIES;\n break;\n case 42:\n this.$ = yy.Relationships.DERIVES;\n break;\n case 43:\n this.$ = yy.Relationships.SATISFIES;\n break;\n case 44:\n this.$ = yy.Relationships.VERIFIES;\n break;\n case 45:\n this.$ = yy.Relationships.REFINES;\n break;\n case 46:\n this.$ = yy.Relationships.TRACES;\n break;\n }\n },\n table: [{ 3: 1, 4: 2, 6: $V0, 9: $V1, 11: $V2, 13: $V3 }, { 1: [3] }, { 3: 8, 4: 2, 5: [1, 7], 6: $V0, 9: $V1, 11: $V2, 13: $V3 }, { 5: [1, 9] }, { 10: [1, 10] }, { 12: [1, 11] }, o($V4, [2, 6]), { 3: 12, 4: 2, 6: $V0, 9: $V1, 11: $V2, 13: $V3 }, { 1: [2, 2] }, { 4: 17, 5: $V5, 7: 13, 8: $V6, 9: $V1, 11: $V2, 13: $V3, 14: 14, 15: 15, 16: 16, 17: 19, 23: 21, 31: $V7, 32: $V8, 33: $V9, 34: $Va, 35: $Vb, 36: $Vc, 44: $Vd, 62: $Ve, 63: $Vf }, o($V4, [2, 4]), o($V4, [2, 5]), { 1: [2, 1] }, { 8: [1, 30] }, { 4: 17, 5: $V5, 7: 31, 8: $V6, 9: $V1, 11: $V2, 13: $V3, 14: 14, 15: 15, 16: 16, 17: 19, 23: 21, 31: $V7, 32: $V8, 33: $V9, 34: $Va, 35: $Vb, 36: $Vc, 44: $Vd, 62: $Ve, 63: $Vf }, { 4: 17, 5: $V5, 7: 32, 8: $V6, 9: $V1, 11: $V2, 13: $V3, 14: 14, 15: 15, 16: 16, 17: 19, 23: 21, 31: $V7, 32: $V8, 33: $V9, 34: $Va, 35: $Vb, 36: $Vc, 44: $Vd, 62: $Ve, 63: $Vf }, { 4: 17, 5: $V5, 7: 33, 8: $V6, 9: $V1, 11: $V2, 13: $V3, 14: 14, 15: 15, 16: 16, 17: 19, 23: 21, 31: $V7, 32: $V8, 33: $V9, 34: $Va, 35: $Vb, 36: $Vc, 44: $Vd, 62: $Ve, 63: $Vf }, { 4: 17, 5: $V5, 7: 34, 8: $V6, 9: $V1, 11: $V2, 13: $V3, 14: 14, 15: 15, 16: 16, 17: 19, 23: 21, 31: $V7, 32: $V8, 33: $V9, 34: $Va, 35: $Vb, 36: $Vc, 44: $Vd, 62: $Ve, 63: $Vf }, { 4: 17, 5: $V5, 7: 35, 8: $V6, 9: $V1, 11: $V2, 13: $V3, 14: 14, 15: 15, 16: 16, 17: 19, 23: 21, 31: $V7, 32: $V8, 33: $V9, 34: $Va, 35: $Vb, 36: $Vc, 44: $Vd, 62: $Ve, 63: $Vf }, { 18: 36, 62: [1, 37], 63: [1, 38] }, { 45: 39, 62: [1, 40], 63: [1, 41] }, { 51: [1, 42], 53: [1, 43] }, o($Vg, [2, 20]), o($Vg, [2, 21]), o($Vg, [2, 22]), o($Vg, [2, 23]), o($Vg, [2, 24]), o($Vg, [2, 25]), o($Vh, [2, 49]), o($Vh, [2, 50]), { 1: [2, 3] }, { 8: [2, 8] }, { 8: [2, 9] }, { 8: [2, 10] }, { 8: [2, 11] }, { 8: [2, 12] }, { 19: [1, 44] }, { 19: [2, 47] }, { 19: [2, 48] }, { 19: [1, 45] }, { 19: [2, 53] }, { 19: [2, 54] }, { 52: 46, 55: $Vi, 56: $Vj, 57: $Vk, 58: $Vl, 59: $Vm, 60: $Vn, 61: $Vo }, { 52: 54, 55: $Vi, 56: $Vj, 57: $Vk, 58: $Vl, 59: $Vm, 60: $Vn, 61: $Vo }, { 5: [1, 55] }, { 5: [1, 56] }, { 53: [1, 57] }, o($Vp, [2, 40]), o($Vp, [2, 41]), o($Vp, [2, 42]), o($Vp, [2, 43]), o($Vp, [2, 44]), o($Vp, [2, 45]), o($Vp, [2, 46]), { 54: [1, 58] }, { 5: $Vq, 20: 59, 21: $Vr, 24: $Vs, 26: $Vt, 28: $Vu, 30: $Vv }, { 5: $Vw, 30: $Vx, 46: 66, 47: $Vy, 49: $Vz }, { 23: 71, 62: $Ve, 63: $Vf }, { 23: 72, 62: $Ve, 63: $Vf }, o($VA, [2, 13]), { 22: [1, 73] }, { 22: [1, 74] }, { 22: [1, 75] }, { 22: [1, 76] }, { 5: $Vq, 20: 77, 21: $Vr, 24: $Vs, 26: $Vt, 28: $Vu, 30: $Vv }, o($VA, [2, 19]), o($VA, [2, 33]), { 22: [1, 78] }, { 22: [1, 79] }, { 5: $Vw, 30: $Vx, 46: 80, 47: $Vy, 49: $Vz }, o($VA, [2, 37]), o($VA, [2, 38]), o($VA, [2, 39]), { 23: 81, 62: $Ve, 63: $Vf }, { 25: 82, 62: [1, 83], 63: [1, 84] }, { 27: 85, 37: [1, 86], 38: [1, 87], 39: [1, 88] }, { 29: 89, 40: [1, 90], 41: [1, 91], 42: [1, 92], 43: [1, 93] }, o($VA, [2, 18]), { 48: 94, 62: [1, 95], 63: [1, 96] }, { 50: 97, 62: [1, 98], 63: [1, 99] }, o($VA, [2, 36]), { 5: [1, 100] }, { 5: [1, 101] }, { 5: [2, 51] }, { 5: [2, 52] }, { 5: [1, 102] }, { 5: [2, 26] }, { 5: [2, 27] }, { 5: [2, 28] }, { 5: [1, 103] }, { 5: [2, 29] }, { 5: [2, 30] }, { 5: [2, 31] }, { 5: [2, 32] }, { 5: [1, 104] }, { 5: [2, 55] }, { 5: [2, 56] }, { 5: [1, 105] }, { 5: [2, 57] }, { 5: [2, 58] }, { 5: $Vq, 20: 106, 21: $Vr, 24: $Vs, 26: $Vt, 28: $Vu, 30: $Vv }, { 5: $Vq, 20: 107, 21: $Vr, 24: $Vs, 26: $Vt, 28: $Vu, 30: $Vv }, { 5: $Vq, 20: 108, 21: $Vr, 24: $Vs, 26: $Vt, 28: $Vu, 30: $Vv }, { 5: $Vq, 20: 109, 21: $Vr, 24: $Vs, 26: $Vt, 28: $Vu, 30: $Vv }, { 5: $Vw, 30: $Vx, 46: 110, 47: $Vy, 49: $Vz }, { 5: $Vw, 30: $Vx, 46: 111, 47: $Vy, 49: $Vz }, o($VA, [2, 14]), o($VA, [2, 15]), o($VA, [2, 16]), o($VA, [2, 17]), o($VA, [2, 34]), o($VA, [2, 35])],\n defaultActions: { 8: [2, 2], 12: [2, 1], 30: [2, 3], 31: [2, 8], 32: [2, 9], 33: [2, 10], 34: [2, 11], 35: [2, 12], 37: [2, 47], 38: [2, 48], 40: [2, 53], 41: [2, 54], 83: [2, 51], 84: [2, 52], 86: [2, 26], 87: [2, 27], 88: [2, 28], 90: [2, 29], 91: [2, 30], 92: [2, 31], 93: [2, 32], 95: [2, 55], 96: [2, 56], 98: [2, 57], 99: [2, 58] },\n parseError: function parseError(str, hash) {\n if (hash.recoverable) {\n this.trace(str);\n } else {\n var error = new Error(str);\n error.hash = hash;\n throw error;\n }\n },\n parse: function parse(input) {\n var self = this, stack = [0], tstack = [], vstack = [null], lstack = [], table = this.table, yytext = \"\", yylineno = 0, yyleng = 0, TERROR = 2, EOF = 1;\n var args = lstack.slice.call(arguments, 1);\n var lexer2 = Object.create(this.lexer);\n var sharedState = { yy: {} };\n for (var k in this.yy) {\n if (Object.prototype.hasOwnProperty.call(this.yy, k)) {\n sharedState.yy[k] = this.yy[k];\n }\n }\n lexer2.setInput(input, sharedState.yy);\n sharedState.yy.lexer = lexer2;\n sharedState.yy.parser = this;\n if (typeof lexer2.yylloc == \"undefined\") {\n lexer2.yylloc = {};\n }\n var yyloc = lexer2.yylloc;\n lstack.push(yyloc);\n var ranges = lexer2.options && lexer2.options.ranges;\n if (typeof sharedState.yy.parseError === \"function\") {\n this.parseError = sharedState.yy.parseError;\n } else {\n this.parseError = Object.getPrototypeOf(this).parseError;\n }\n function lex() {\n var token;\n token = tstack.pop() || lexer2.lex() || EOF;\n if (typeof token !== \"number\") {\n if (token instanceof Array) {\n tstack = token;\n token = tstack.pop();\n }\n token = self.symbols_[token] || token;\n }\n return token;\n }\n var symbol, state, action, r, yyval = {}, p, len, newState, expected;\n while (true) {\n state = stack[stack.length - 1];\n if (this.defaultActions[state]) {\n action = this.defaultActions[state];\n } else {\n if (symbol === null || typeof symbol == \"undefined\") {\n symbol = lex();\n }\n action = table[state] && table[state][symbol];\n }\n if (typeof action === \"undefined\" || !action.length || !action[0]) {\n var errStr = \"\";\n expected = [];\n for (p in table[state]) {\n if (this.terminals_[p] && p > TERROR) {\n expected.push(\"'\" + this.terminals_[p] + \"'\");\n }\n }\n if (lexer2.showPosition) {\n errStr = \"Parse error on line \" + (yylineno + 1) + \":\\n\" + lexer2.showPosition() + \"\\nExpecting \" + expected.join(\", \") + \", got '\" + (this.terminals_[symbol] || symbol) + \"'\";\n } else {\n errStr = \"Parse error on line \" + (yylineno + 1) + \": Unexpected \" + (symbol == EOF ? \"end of input\" : \"'\" + (this.terminals_[symbol] || symbol) + \"'\");\n }\n this.parseError(errStr, {\n text: lexer2.match,\n token: this.terminals_[symbol] || symbol,\n line: lexer2.yylineno,\n loc: yyloc,\n expected\n });\n }\n if (action[0] instanceof Array && action.length > 1) {\n throw new Error(\"Parse Error: multiple actions possible at state: \" + state + \", token: \" + symbol);\n }\n switch (action[0]) {\n case 1:\n stack.push(symbol);\n vstack.push(lexer2.yytext);\n lstack.push(lexer2.yylloc);\n stack.push(action[1]);\n symbol = null;\n {\n yyleng = lexer2.yyleng;\n yytext = lexer2.yytext;\n yylineno = lexer2.yylineno;\n yyloc = lexer2.yylloc;\n }\n break;\n case 2:\n len = this.productions_[action[1]][1];\n yyval.$ = vstack[vstack.length - len];\n yyval._$ = {\n first_line: lstack[lstack.length - (len || 1)].first_line,\n last_line: lstack[lstack.length - 1].last_line,\n first_column: lstack[lstack.length - (len || 1)].first_column,\n last_column: lstack[lstack.length - 1].last_column\n };\n if (ranges) {\n yyval._$.range = [\n lstack[lstack.length - (len || 1)].range[0],\n lstack[lstack.length - 1].range[1]\n ];\n }\n r = this.performAction.apply(yyval, [\n yytext,\n yyleng,\n yylineno,\n sharedState.yy,\n action[1],\n vstack,\n lstack\n ].concat(args));\n if (typeof r !== \"undefined\") {\n return r;\n }\n if (len) {\n stack = stack.slice(0, -1 * len * 2);\n vstack = vstack.slice(0, -1 * len);\n lstack = lstack.slice(0, -1 * len);\n }\n stack.push(this.productions_[action[1]][0]);\n vstack.push(yyval.$);\n lstack.push(yyval._$);\n newState = table[stack[stack.length - 2]][stack[stack.length - 1]];\n stack.push(newState);\n break;\n case 3:\n return true;\n }\n }\n return true;\n }\n };\n var lexer = function() {\n var lexer2 = {\n EOF: 1,\n parseError: function parseError(str, hash) {\n if (this.yy.parser) {\n this.yy.parser.parseError(str, hash);\n } else {\n throw new Error(str);\n }\n },\n // resets the lexer, sets new input\n setInput: function(input, yy) {\n this.yy = yy || this.yy || {};\n this._input = input;\n this._more = this._backtrack = this.done = false;\n this.yylineno = this.yyleng = 0;\n this.yytext = this.matched = this.match = \"\";\n this.conditionStack = [\"INITIAL\"];\n this.yylloc = {\n first_line: 1,\n first_column: 0,\n last_line: 1,\n last_column: 0\n };\n if (this.options.ranges) {\n this.yylloc.range = [0, 0];\n }\n this.offset = 0;\n return this;\n },\n // consumes and returns one char from the input\n input: function() {\n var ch = this._input[0];\n this.yytext += ch;\n this.yyleng++;\n this.offset++;\n this.match += ch;\n this.matched += ch;\n var lines = ch.match(/(?:\\r\\n?|\\n).*/g);\n if (lines) {\n this.yylineno++;\n this.yylloc.last_line++;\n } else {\n this.yylloc.last_column++;\n }\n if (this.options.ranges) {\n this.yylloc.range[1]++;\n }\n this._input = this._input.slice(1);\n return ch;\n },\n // unshifts one char (or a string) into the input\n unput: function(ch) {\n var len = ch.length;\n var lines = ch.split(/(?:\\r\\n?|\\n)/g);\n this._input = ch + this._input;\n this.yytext = this.yytext.substr(0, this.yytext.length - len);\n this.offset -= len;\n var oldLines = this.match.split(/(?:\\r\\n?|\\n)/g);\n this.match = this.match.substr(0, this.match.length - 1);\n this.matched = this.matched.substr(0, this.matched.length - 1);\n if (lines.length - 1) {\n this.yylineno -= lines.length - 1;\n }\n var r = this.yylloc.range;\n this.yylloc = {\n first_line: this.yylloc.first_line,\n last_line: this.yylineno + 1,\n first_column: this.yylloc.first_column,\n last_column: lines ? (lines.length === oldLines.length ? this.yylloc.first_column : 0) + oldLines[oldLines.length - lines.length].length - lines[0].length : this.yylloc.first_column - len\n };\n if (this.options.ranges) {\n this.yylloc.range = [r[0], r[0] + this.yyleng - len];\n }\n this.yyleng = this.yytext.length;\n return this;\n },\n // When called from action, caches matched text and appends it on next action\n more: function() {\n this._more = true;\n return this;\n },\n // When called from action, signals the lexer that this rule fails to match the input, so the next matching rule (regex) should be tested instead.\n reject: function() {\n if (this.options.backtrack_lexer) {\n this._backtrack = true;\n } else {\n return this.parseError(\"Lexical error on line \" + (this.yylineno + 1) + \". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\\n\" + this.showPosition(), {\n text: \"\",\n token: null,\n line: this.yylineno\n });\n }\n return this;\n },\n // retain first n characters of the match\n less: function(n) {\n this.unput(this.match.slice(n));\n },\n // displays already matched input, i.e. for error messages\n pastInput: function() {\n var past = this.matched.substr(0, this.matched.length - this.match.length);\n return (past.length > 20 ? \"...\" : \"\") + past.substr(-20).replace(/\\n/g, \"\");\n },\n // displays upcoming input, i.e. for error messages\n upcomingInput: function() {\n var next = this.match;\n if (next.length < 20) {\n next += this._input.substr(0, 20 - next.length);\n }\n return (next.substr(0, 20) + (next.length > 20 ? \"...\" : \"\")).replace(/\\n/g, \"\");\n },\n // displays the character position where the lexing error occurred, i.e. for error messages\n showPosition: function() {\n var pre = this.pastInput();\n var c = new Array(pre.length + 1).join(\"-\");\n return pre + this.upcomingInput() + \"\\n\" + c + \"^\";\n },\n // test the lexed token: return FALSE when not a match, otherwise return token\n test_match: function(match, indexed_rule) {\n var token, lines, backup;\n if (this.options.backtrack_lexer) {\n backup = {\n yylineno: this.yylineno,\n yylloc: {\n first_line: this.yylloc.first_line,\n last_line: this.last_line,\n first_column: this.yylloc.first_column,\n last_column: this.yylloc.last_column\n },\n yytext: this.yytext,\n match: this.match,\n matches: this.matches,\n matched: this.matched,\n yyleng: this.yyleng,\n offset: this.offset,\n _more: this._more,\n _input: this._input,\n yy: this.yy,\n conditionStack: this.conditionStack.slice(0),\n done: this.done\n };\n if (this.options.ranges) {\n backup.yylloc.range = this.yylloc.range.slice(0);\n }\n }\n lines = match[0].match(/(?:\\r\\n?|\\n).*/g);\n if (lines) {\n this.yylineno += lines.length;\n }\n this.yylloc = {\n first_line: this.yylloc.last_line,\n last_line: this.yylineno + 1,\n first_column: this.yylloc.last_column,\n last_column: lines ? lines[lines.length - 1].length - lines[lines.length - 1].match(/\\r?\\n?/)[0].length : this.yylloc.last_column + match[0].length\n };\n this.yytext += match[0];\n this.match += match[0];\n this.matches = match;\n this.yyleng = this.yytext.length;\n if (this.options.ranges) {\n this.yylloc.range = [this.offset, this.offset += this.yyleng];\n }\n this._more = false;\n this._backtrack = false;\n this._input = this._input.slice(match[0].length);\n this.matched += match[0];\n token = this.performAction.call(this, this.yy, this, indexed_rule, this.conditionStack[this.conditionStack.length - 1]);\n if (this.done && this._input) {\n this.done = false;\n }\n if (token) {\n return token;\n } else if (this._backtrack) {\n for (var k in backup) {\n this[k] = backup[k];\n }\n return false;\n }\n return false;\n },\n // return next match in input\n next: function() {\n if (this.done) {\n return this.EOF;\n }\n if (!this._input) {\n this.done = true;\n }\n var token, match, tempMatch, index;\n if (!this._more) {\n this.yytext = \"\";\n this.match = \"\";\n }\n var rules = this._currentRules();\n for (var i = 0; i < rules.length; i++) {\n tempMatch = this._input.match(this.rules[rules[i]]);\n if (tempMatch && (!match || tempMatch[0].length > match[0].length)) {\n match = tempMatch;\n index = i;\n if (this.options.backtrack_lexer) {\n token = this.test_match(tempMatch, rules[i]);\n if (token !== false) {\n return token;\n } else if (this._backtrack) {\n match = false;\n continue;\n } else {\n return false;\n }\n } else if (!this.options.flex) {\n break;\n }\n }\n }\n if (match) {\n token = this.test_match(match, rules[index]);\n if (token !== false) {\n return token;\n }\n return false;\n }\n if (this._input === \"\") {\n return this.EOF;\n } else {\n return this.parseError(\"Lexical error on line \" + (this.yylineno + 1) + \". Unrecognized text.\\n\" + this.showPosition(), {\n text: \"\",\n token: null,\n line: this.yylineno\n });\n }\n },\n // return next match that has a token\n lex: function lex() {\n var r = this.next();\n if (r) {\n return r;\n } else {\n return this.lex();\n }\n },\n // activates a new lexer condition state (pushes the new lexer condition state onto the condition stack)\n begin: function begin(condition) {\n this.conditionStack.push(condition);\n },\n // pop the previously active lexer condition state off the condition stack\n popState: function popState() {\n var n = this.conditionStack.length - 1;\n if (n > 0) {\n return this.conditionStack.pop();\n } else {\n return this.conditionStack[0];\n }\n },\n // produce the lexer rule set which is active for the currently active lexer condition state\n _currentRules: function _currentRules() {\n if (this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]) {\n return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules;\n } else {\n return this.conditions[\"INITIAL\"].rules;\n }\n },\n // return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available\n topState: function topState(n) {\n n = this.conditionStack.length - 1 - Math.abs(n || 0);\n if (n >= 0) {\n return this.conditionStack[n];\n } else {\n return \"INITIAL\";\n }\n },\n // alias for begin(condition)\n pushState: function pushState(condition) {\n this.begin(condition);\n },\n // return the number of states currently on the stack\n stateStackSize: function stateStackSize() {\n return this.conditionStack.length;\n },\n options: { \"case-insensitive\": true },\n performAction: function anonymous(yy, yy_, $avoiding_name_collisions, YY_START) {\n switch ($avoiding_name_collisions) {\n case 0:\n return \"title\";\n case 1:\n this.begin(\"acc_title\");\n return 9;\n case 2:\n this.popState();\n return \"acc_title_value\";\n case 3:\n this.begin(\"acc_descr\");\n return 11;\n case 4:\n this.popState();\n return \"acc_descr_value\";\n case 5:\n this.begin(\"acc_descr_multiline\");\n break;\n case 6:\n this.popState();\n break;\n case 7:\n return \"acc_descr_multiline_value\";\n case 8:\n return 5;\n case 9:\n break;\n case 10:\n break;\n case 11:\n break;\n case 12:\n return 8;\n case 13:\n return 6;\n case 14:\n return 19;\n case 15:\n return 30;\n case 16:\n return 22;\n case 17:\n return 21;\n case 18:\n return 24;\n case 19:\n return 26;\n case 20:\n return 28;\n case 21:\n return 31;\n case 22:\n return 32;\n case 23:\n return 33;\n case 24:\n return 34;\n case 25:\n return 35;\n case 26:\n return 36;\n case 27:\n return 37;\n case 28:\n return 38;\n case 29:\n return 39;\n case 30:\n return 40;\n case 31:\n return 41;\n case 32:\n return 42;\n case 33:\n return 43;\n case 34:\n return 44;\n case 35:\n return 55;\n case 36:\n return 56;\n case 37:\n return 57;\n case 38:\n return 58;\n case 39:\n return 59;\n case 40:\n return 60;\n case 41:\n return 61;\n case 42:\n return 47;\n case 43:\n return 49;\n case 44:\n return 51;\n case 45:\n return 54;\n case 46:\n return 53;\n case 47:\n this.begin(\"string\");\n break;\n case 48:\n this.popState();\n break;\n case 49:\n return \"qString\";\n case 50:\n yy_.yytext = yy_.yytext.trim();\n return 62;\n }\n },\n rules: [/^(?:title\\s[^#\\n;]+)/i, /^(?:accTitle\\s*:\\s*)/i, /^(?:(?!\\n||)*[^\\n]*)/i, /^(?:accDescr\\s*:\\s*)/i, /^(?:(?!\\n||)*[^\\n]*)/i, /^(?:accDescr\\s*\\{\\s*)/i, /^(?:[\\}])/i, /^(?:[^\\}]*)/i, /^(?:(\\r?\\n)+)/i, /^(?:\\s+)/i, /^(?:#[^\\n]*)/i, /^(?:%[^\\n]*)/i, /^(?:$)/i, /^(?:requirementDiagram\\b)/i, /^(?:\\{)/i, /^(?:\\})/i, /^(?::)/i, /^(?:id\\b)/i, /^(?:text\\b)/i, /^(?:risk\\b)/i, /^(?:verifyMethod\\b)/i, /^(?:requirement\\b)/i, /^(?:functionalRequirement\\b)/i, /^(?:interfaceRequirement\\b)/i, /^(?:performanceRequirement\\b)/i, /^(?:physicalRequirement\\b)/i, /^(?:designConstraint\\b)/i, /^(?:low\\b)/i, /^(?:medium\\b)/i, /^(?:high\\b)/i, /^(?:analysis\\b)/i, /^(?:demonstration\\b)/i, /^(?:inspection\\b)/i, /^(?:test\\b)/i, /^(?:element\\b)/i, /^(?:contains\\b)/i, /^(?:copies\\b)/i, /^(?:derives\\b)/i, /^(?:satisfies\\b)/i, /^(?:verifies\\b)/i, /^(?:refines\\b)/i, /^(?:traces\\b)/i, /^(?:type\\b)/i, /^(?:docref\\b)/i, /^(?:<-)/i, /^(?:->)/i, /^(?:-)/i, /^(?:[\"])/i, /^(?:[\"])/i, /^(?:[^\"]*)/i, /^(?:[\\w][^\\r\\n\\{\\<\\>\\-\\=]*)/i],\n conditions: { \"acc_descr_multiline\": { \"rules\": [6, 7], \"inclusive\": false }, \"acc_descr\": { \"rules\": [4], \"inclusive\": false }, \"acc_title\": { \"rules\": [2], \"inclusive\": false }, \"unqString\": { \"rules\": [], \"inclusive\": false }, \"token\": { \"rules\": [], \"inclusive\": false }, \"string\": { \"rules\": [48, 49], \"inclusive\": false }, \"INITIAL\": { \"rules\": [0, 1, 3, 5, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 50], \"inclusive\": true } }\n };\n return lexer2;\n }();\n parser2.lexer = lexer;\n function Parser() {\n this.yy = {};\n }\n Parser.prototype = parser2;\n parser2.Parser = Parser;\n return new Parser();\n}();\nparser.parser = parser;\nconst parser$1 = parser;\nlet relations = [];\nlet latestRequirement = {};\nlet requirements = {};\nlet latestElement = {};\nlet elements = {};\nconst RequirementType = {\n REQUIREMENT: \"Requirement\",\n FUNCTIONAL_REQUIREMENT: \"Functional Requirement\",\n INTERFACE_REQUIREMENT: \"Interface Requirement\",\n PERFORMANCE_REQUIREMENT: \"Performance Requirement\",\n PHYSICAL_REQUIREMENT: \"Physical Requirement\",\n DESIGN_CONSTRAINT: \"Design Constraint\"\n};\nconst RiskLevel = {\n LOW_RISK: \"Low\",\n MED_RISK: \"Medium\",\n HIGH_RISK: \"High\"\n};\nconst VerifyType = {\n VERIFY_ANALYSIS: \"Analysis\",\n VERIFY_DEMONSTRATION: \"Demonstration\",\n VERIFY_INSPECTION: \"Inspection\",\n VERIFY_TEST: \"Test\"\n};\nconst Relationships = {\n CONTAINS: \"contains\",\n COPIES: \"copies\",\n DERIVES: \"derives\",\n SATISFIES: \"satisfies\",\n VERIFIES: \"verifies\",\n REFINES: \"refines\",\n TRACES: \"traces\"\n};\nconst addRequirement = (name, type) => {\n if (requirements[name] === void 0) {\n requirements[name] = {\n name,\n type,\n id: latestRequirement.id,\n text: latestRequirement.text,\n risk: latestRequirement.risk,\n verifyMethod: latestRequirement.verifyMethod\n };\n }\n latestRequirement = {};\n return requirements[name];\n};\nconst getRequirements = () => requirements;\nconst setNewReqId = (id) => {\n if (latestRequirement !== void 0) {\n latestRequirement.id = id;\n }\n};\nconst setNewReqText = (text) => {\n if (latestRequirement !== void 0) {\n latestRequirement.text = text;\n }\n};\nconst setNewReqRisk = (risk) => {\n if (latestRequirement !== void 0) {\n latestRequirement.risk = risk;\n }\n};\nconst setNewReqVerifyMethod = (verifyMethod) => {\n if (latestRequirement !== void 0) {\n latestRequirement.verifyMethod = verifyMethod;\n }\n};\nconst addElement = (name) => {\n if (elements[name] === void 0) {\n elements[name] = {\n name,\n type: latestElement.type,\n docRef: latestElement.docRef\n };\n log.info(\"Added new requirement: \", name);\n }\n latestElement = {};\n return elements[name];\n};\nconst getElements = () => elements;\nconst setNewElementType = (type) => {\n if (latestElement !== void 0) {\n latestElement.type = type;\n }\n};\nconst setNewElementDocRef = (docRef) => {\n if (latestElement !== void 0) {\n latestElement.docRef = docRef;\n }\n};\nconst addRelationship = (type, src, dst) => {\n relations.push({\n type,\n src,\n dst\n });\n};\nconst getRelationships = () => relations;\nconst clear = () => {\n relations = [];\n latestRequirement = {};\n requirements = {};\n latestElement = {};\n elements = {};\n clear$1();\n};\nconst db = {\n RequirementType,\n RiskLevel,\n VerifyType,\n Relationships,\n getConfig: () => getConfig().req,\n addRequirement,\n getRequirements,\n setNewReqId,\n setNewReqText,\n setNewReqRisk,\n setNewReqVerifyMethod,\n setAccTitle,\n getAccTitle,\n setAccDescription,\n getAccDescription,\n addElement,\n getElements,\n setNewElementType,\n setNewElementDocRef,\n addRelationship,\n getRelationships,\n clear\n};\nconst getStyles = (options) => `\n\n marker {\n fill: ${options.relationColor};\n stroke: ${options.relationColor};\n }\n\n marker.cross {\n stroke: ${options.lineColor};\n }\n\n svg {\n font-family: ${options.fontFamily};\n font-size: ${options.fontSize};\n }\n\n .reqBox {\n fill: ${options.requirementBackground};\n fill-opacity: 1.0;\n stroke: ${options.requirementBorderColor};\n stroke-width: ${options.requirementBorderSize};\n }\n \n .reqTitle, .reqLabel{\n fill: ${options.requirementTextColor};\n }\n .reqLabelBox {\n fill: ${options.relationLabelBackground};\n fill-opacity: 1.0;\n }\n\n .req-title-line {\n stroke: ${options.requirementBorderColor};\n stroke-width: ${options.requirementBorderSize};\n }\n .relationshipLine {\n stroke: ${options.relationColor};\n stroke-width: 1;\n }\n .relationshipLabel {\n fill: ${options.relationLabelColor};\n }\n\n`;\nconst styles = getStyles;\nconst ReqMarkers = {\n CONTAINS: \"contains\",\n ARROW: \"arrow\"\n};\nconst insertLineEndings = (parentNode, conf2) => {\n let containsNode = parentNode.append(\"defs\").append(\"marker\").attr(\"id\", ReqMarkers.CONTAINS + \"_line_ending\").attr(\"refX\", 0).attr(\"refY\", conf2.line_height / 2).attr(\"markerWidth\", conf2.line_height).attr(\"markerHeight\", conf2.line_height).attr(\"orient\", \"auto\").append(\"g\");\n containsNode.append(\"circle\").attr(\"cx\", conf2.line_height / 2).attr(\"cy\", conf2.line_height / 2).attr(\"r\", conf2.line_height / 2).attr(\"fill\", \"none\");\n containsNode.append(\"line\").attr(\"x1\", 0).attr(\"x2\", conf2.line_height).attr(\"y1\", conf2.line_height / 2).attr(\"y2\", conf2.line_height / 2).attr(\"stroke-width\", 1);\n containsNode.append(\"line\").attr(\"y1\", 0).attr(\"y2\", conf2.line_height).attr(\"x1\", conf2.line_height / 2).attr(\"x2\", conf2.line_height / 2).attr(\"stroke-width\", 1);\n parentNode.append(\"defs\").append(\"marker\").attr(\"id\", ReqMarkers.ARROW + \"_line_ending\").attr(\"refX\", conf2.line_height).attr(\"refY\", 0.5 * conf2.line_height).attr(\"markerWidth\", conf2.line_height).attr(\"markerHeight\", conf2.line_height).attr(\"orient\", \"auto\").append(\"path\").attr(\n \"d\",\n `M0,0\n L${conf2.line_height},${conf2.line_height / 2}\n M${conf2.line_height},${conf2.line_height / 2}\n L0,${conf2.line_height}`\n ).attr(\"stroke-width\", 1);\n};\nconst markers = {\n ReqMarkers,\n insertLineEndings\n};\nlet conf = {};\nlet relCnt = 0;\nconst newRectNode = (parentNode, id) => {\n return parentNode.insert(\"rect\", \"#\" + id).attr(\"class\", \"req reqBox\").attr(\"x\", 0).attr(\"y\", 0).attr(\"width\", conf.rect_min_width + \"px\").attr(\"height\", conf.rect_min_height + \"px\");\n};\nconst newTitleNode = (parentNode, id, txts) => {\n let x = conf.rect_min_width / 2;\n let title = parentNode.append(\"text\").attr(\"class\", \"req reqLabel reqTitle\").attr(\"id\", id).attr(\"x\", x).attr(\"y\", conf.rect_padding).attr(\"dominant-baseline\", \"hanging\");\n let i = 0;\n txts.forEach((textStr) => {\n if (i == 0) {\n title.append(\"tspan\").attr(\"text-anchor\", \"middle\").attr(\"x\", conf.rect_min_width / 2).attr(\"dy\", 0).text(textStr);\n } else {\n title.append(\"tspan\").attr(\"text-anchor\", \"middle\").attr(\"x\", conf.rect_min_width / 2).attr(\"dy\", conf.line_height * 0.75).text(textStr);\n }\n i++;\n });\n let yPadding = 1.5 * conf.rect_padding;\n let linePadding = i * conf.line_height * 0.75;\n let totalY = yPadding + linePadding;\n parentNode.append(\"line\").attr(\"class\", \"req-title-line\").attr(\"x1\", \"0\").attr(\"x2\", conf.rect_min_width).attr(\"y1\", totalY).attr(\"y2\", totalY);\n return {\n titleNode: title,\n y: totalY\n };\n};\nconst newBodyNode = (parentNode, id, txts, yStart) => {\n let body = parentNode.append(\"text\").attr(\"class\", \"req reqLabel\").attr(\"id\", id).attr(\"x\", conf.rect_padding).attr(\"y\", yStart).attr(\"dominant-baseline\", \"hanging\");\n let currentRow = 0;\n const charLimit = 30;\n let wrappedTxts = [];\n txts.forEach((textStr) => {\n let currentTextLen = textStr.length;\n while (currentTextLen > charLimit && currentRow < 3) {\n let firstPart = textStr.substring(0, charLimit);\n textStr = textStr.substring(charLimit, textStr.length);\n currentTextLen = textStr.length;\n wrappedTxts[wrappedTxts.length] = firstPart;\n currentRow++;\n }\n if (currentRow == 3) {\n let lastStr = wrappedTxts[wrappedTxts.length - 1];\n wrappedTxts[wrappedTxts.length - 1] = lastStr.substring(0, lastStr.length - 4) + \"...\";\n } else {\n wrappedTxts[wrappedTxts.length] = textStr;\n }\n currentRow = 0;\n });\n wrappedTxts.forEach((textStr) => {\n body.append(\"tspan\").attr(\"x\", conf.rect_padding).attr(\"dy\", conf.line_height).text(textStr);\n });\n return body;\n};\nconst addEdgeLabel = (parentNode, svgPath, conf2, txt) => {\n const len = svgPath.node().getTotalLength();\n const labelPoint = svgPath.node().getPointAtLength(len * 0.5);\n const labelId = \"rel\" + relCnt;\n relCnt++;\n const labelNode = parentNode.append(\"text\").attr(\"class\", \"req relationshipLabel\").attr(\"id\", labelId).attr(\"x\", labelPoint.x).attr(\"y\", labelPoint.y).attr(\"text-anchor\", \"middle\").attr(\"dominant-baseline\", \"middle\").text(txt);\n const labelBBox = labelNode.node().getBBox();\n parentNode.insert(\"rect\", \"#\" + labelId).attr(\"class\", \"req reqLabelBox\").attr(\"x\", labelPoint.x - labelBBox.width / 2).attr(\"y\", labelPoint.y - labelBBox.height / 2).attr(\"width\", labelBBox.width).attr(\"height\", labelBBox.height).attr(\"fill\", \"white\").attr(\"fill-opacity\", \"85%\");\n};\nconst drawRelationshipFromLayout = function(svg, rel, g, insert, diagObj) {\n const edge = g.edge(elementString(rel.src), elementString(rel.dst));\n const lineFunction = line().x(function(d) {\n return d.x;\n }).y(function(d) {\n return d.y;\n });\n const svgPath = svg.insert(\"path\", \"#\" + insert).attr(\"class\", \"er relationshipLine\").attr(\"d\", lineFunction(edge.points)).attr(\"fill\", \"none\");\n if (rel.type == diagObj.db.Relationships.CONTAINS) {\n svgPath.attr(\n \"marker-start\",\n \"url(\" + common.getUrl(conf.arrowMarkerAbsolute) + \"#\" + rel.type + \"_line_ending)\"\n );\n } else {\n svgPath.attr(\"stroke-dasharray\", \"10,7\");\n svgPath.attr(\n \"marker-end\",\n \"url(\" + common.getUrl(conf.arrowMarkerAbsolute) + \"#\" + markers.ReqMarkers.ARROW + \"_line_ending)\"\n );\n }\n addEdgeLabel(svg, svgPath, conf, `<<${rel.type}>>`);\n return;\n};\nconst drawReqs = (reqs, graph, svgNode) => {\n Object.keys(reqs).forEach((reqName) => {\n let req = reqs[reqName];\n reqName = elementString(reqName);\n log.info(\"Added new requirement: \", reqName);\n const groupNode = svgNode.append(\"g\").attr(\"id\", reqName);\n const textId = \"req-\" + reqName;\n const rectNode = newRectNode(groupNode, textId);\n let titleNodeInfo = newTitleNode(groupNode, reqName + \"_title\", [\n `<<${req.type}>>`,\n `${req.name}`\n ]);\n newBodyNode(\n groupNode,\n reqName + \"_body\",\n [\n `Id: ${req.id}`,\n `Text: ${req.text}`,\n `Risk: ${req.risk}`,\n `Verification: ${req.verifyMethod}`\n ],\n titleNodeInfo.y\n );\n const rectBBox = rectNode.node().getBBox();\n graph.setNode(reqName, {\n width: rectBBox.width,\n height: rectBBox.height,\n shape: \"rect\",\n id: reqName\n });\n });\n};\nconst drawElements = (els, graph, svgNode) => {\n Object.keys(els).forEach((elName) => {\n let el = els[elName];\n const id = elementString(elName);\n const groupNode = svgNode.append(\"g\").attr(\"id\", id);\n const textId = \"element-\" + id;\n const rectNode = newRectNode(groupNode, textId);\n let titleNodeInfo = newTitleNode(groupNode, textId + \"_title\", [`<<Element>>`, `${elName}`]);\n newBodyNode(\n groupNode,\n textId + \"_body\",\n [`Type: ${el.type || \"Not Specified\"}`, `Doc Ref: ${el.docRef || \"None\"}`],\n titleNodeInfo.y\n );\n const rectBBox = rectNode.node().getBBox();\n graph.setNode(id, {\n width: rectBBox.width,\n height: rectBBox.height,\n shape: \"rect\",\n id\n });\n });\n};\nconst addRelationships = (relationships, g) => {\n relationships.forEach(function(r) {\n let src = elementString(r.src);\n let dst = elementString(r.dst);\n g.setEdge(src, dst, { relationship: r });\n });\n return relationships;\n};\nconst adjustEntities = function(svgNode, graph) {\n graph.nodes().forEach(function(v) {\n if (v !== void 0 && graph.node(v) !== void 0) {\n svgNode.select(\"#\" + v);\n svgNode.select(\"#\" + v).attr(\n \"transform\",\n \"translate(\" + (graph.node(v).x - graph.node(v).width / 2) + \",\" + (graph.node(v).y - graph.node(v).height / 2) + \" )\"\n );\n }\n });\n return;\n};\nconst elementString = (str) => {\n return str.replace(/\\s/g, \"\").replace(/\\./g, \"_\");\n};\nconst draw = (text, id, _version, diagObj) => {\n conf = getConfig().requirement;\n const securityLevel = conf.securityLevel;\n let sandboxElement;\n if (securityLevel === \"sandbox\") {\n sandboxElement = select(\"#i\" + id);\n }\n const root = securityLevel === \"sandbox\" ? select(sandboxElement.nodes()[0].contentDocument.body) : select(\"body\");\n const svg = root.select(`[id='${id}']`);\n markers.insertLineEndings(svg, conf);\n const g = new graphlib.Graph({\n multigraph: false,\n compound: false,\n directed: true\n }).setGraph({\n rankdir: conf.layoutDirection,\n marginx: 20,\n marginy: 20,\n nodesep: 100,\n edgesep: 100,\n ranksep: 100\n }).setDefaultEdgeLabel(function() {\n return {};\n });\n let requirements2 = diagObj.db.getRequirements();\n let elements2 = diagObj.db.getElements();\n let relationships = diagObj.db.getRelationships();\n drawReqs(requirements2, g, svg);\n drawElements(elements2, g, svg);\n addRelationships(relationships, g);\n layout(g);\n adjustEntities(svg, g);\n relationships.forEach(function(rel) {\n drawRelationshipFromLayout(svg, rel, g, id, diagObj);\n });\n const padding = conf.rect_padding;\n const svgBounds = svg.node().getBBox();\n const width = svgBounds.width + padding * 2;\n const height = svgBounds.height + padding * 2;\n configureSvgSize(svg, height, width, conf.useMaxWidth);\n svg.attr(\"viewBox\", `${svgBounds.x - padding} ${svgBounds.y - padding} ${width} ${height}`);\n};\nconst renderer = {\n draw\n};\nconst diagram = {\n parser: parser$1,\n db,\n renderer,\n styles\n};\nexport {\n diagram\n};\n"],"names":["parser","o","k","v","o2","l","$V0","$V1","$V2","$V3","$V4","$V5","$V6","$V7","$V8","$V9","$Va","$Vb","$Vc","$Vd","$Ve","$Vf","$Vg","$Vh","$Vi","$Vj","$Vk","$Vl","$Vm","$Vn","$Vo","$Vp","$Vq","$Vr","$Vs","$Vt","$Vu","$Vv","$Vw","$Vx","$Vy","$Vz","$VA","parser2","yytext","yyleng","yylineno","yy","yystate","$$","_$","$0","str","hash","error","input","self","stack","tstack","vstack","lstack","table","TERROR","EOF","args","lexer2","sharedState","yyloc","ranges","lex","token","symbol","state","action","r","yyval","p","len","newState","expected","errStr","lexer","ch","lines","oldLines","n","past","next","pre","c","match","indexed_rule","backup","tempMatch","index","rules","i","condition","yy_","$avoiding_name_collisions","YY_START","Parser","parser$1","relations","latestRequirement","requirements","latestElement","elements","RequirementType","RiskLevel","VerifyType","Relationships","addRequirement","name","type","getRequirements","setNewReqId","id","setNewReqText","text","setNewReqRisk","risk","setNewReqVerifyMethod","verifyMethod","addElement","log","getElements","setNewElementType","setNewElementDocRef","docRef","addRelationship","src","dst","getRelationships","clear","clear$1","db","getConfig","setAccTitle","getAccTitle","setAccDescription","getAccDescription","getStyles","options","styles","ReqMarkers","insertLineEndings","parentNode","conf2","containsNode","markers","conf","relCnt","newRectNode","newTitleNode","txts","x","title","textStr","yPadding","linePadding","totalY","newBodyNode","yStart","body","currentRow","charLimit","wrappedTxts","currentTextLen","firstPart","lastStr","addEdgeLabel","svgPath","txt","labelPoint","labelId","labelBBox","drawRelationshipFromLayout","svg","rel","g","insert","diagObj","edge","elementString","lineFunction","line","d","common","drawReqs","reqs","graph","svgNode","reqName","req","groupNode","textId","rectNode","titleNodeInfo","rectBBox","drawElements","els","elName","el","addRelationships","relationships","adjustEntities","draw","_version","securityLevel","sandboxElement","select","graphlib.Graph","requirements2","elements2","layout","padding","svgBounds","width","height","configureSvgSize","renderer","diagram"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"requirementDiagram-bf7890df-Bhse_3cX.js","sources":["../node_modules/.pnpm/mermaid@10.8.0/node_modules/mermaid/dist/requirementDiagram-bf7890df.js"],"sourcesContent":["import { c as getConfig, s as setAccTitle, g as getAccTitle, b as setAccDescription, a as getAccDescription, l as log, t as clear$1, i as configureSvgSize, e as common } from \"./mermaid-0603ccf8.js\";\nimport { select, line } from \"d3\";\nimport { layout } from \"dagre-d3-es/src/dagre/index.js\";\nimport * as graphlib from \"dagre-d3-es/src/graphlib/index.js\";\nimport \"ts-dedent\";\nimport \"dayjs\";\nimport \"@braintree/sanitize-url\";\nimport \"dompurify\";\nimport \"khroma\";\nimport \"lodash-es/memoize.js\";\nimport \"lodash-es/merge.js\";\nimport \"stylis\";\nimport \"lodash-es/isEmpty.js\";\nvar parser = function() {\n var o = function(k, v, o2, l) {\n for (o2 = o2 || {}, l = k.length; l--; o2[k[l]] = v)\n ;\n return o2;\n }, $V0 = [1, 3], $V1 = [1, 4], $V2 = [1, 5], $V3 = [1, 6], $V4 = [5, 6, 8, 9, 11, 13, 31, 32, 33, 34, 35, 36, 44, 62, 63], $V5 = [1, 18], $V6 = [2, 7], $V7 = [1, 22], $V8 = [1, 23], $V9 = [1, 24], $Va = [1, 25], $Vb = [1, 26], $Vc = [1, 27], $Vd = [1, 20], $Ve = [1, 28], $Vf = [1, 29], $Vg = [62, 63], $Vh = [5, 8, 9, 11, 13, 31, 32, 33, 34, 35, 36, 44, 51, 53, 62, 63], $Vi = [1, 47], $Vj = [1, 48], $Vk = [1, 49], $Vl = [1, 50], $Vm = [1, 51], $Vn = [1, 52], $Vo = [1, 53], $Vp = [53, 54], $Vq = [1, 64], $Vr = [1, 60], $Vs = [1, 61], $Vt = [1, 62], $Vu = [1, 63], $Vv = [1, 65], $Vw = [1, 69], $Vx = [1, 70], $Vy = [1, 67], $Vz = [1, 68], $VA = [5, 8, 9, 11, 13, 31, 32, 33, 34, 35, 36, 44, 62, 63];\n var parser2 = {\n trace: function trace() {\n },\n yy: {},\n symbols_: { \"error\": 2, \"start\": 3, \"directive\": 4, \"NEWLINE\": 5, \"RD\": 6, \"diagram\": 7, \"EOF\": 8, \"acc_title\": 9, \"acc_title_value\": 10, \"acc_descr\": 11, \"acc_descr_value\": 12, \"acc_descr_multiline_value\": 13, \"requirementDef\": 14, \"elementDef\": 15, \"relationshipDef\": 16, \"requirementType\": 17, \"requirementName\": 18, \"STRUCT_START\": 19, \"requirementBody\": 20, \"ID\": 21, \"COLONSEP\": 22, \"id\": 23, \"TEXT\": 24, \"text\": 25, \"RISK\": 26, \"riskLevel\": 27, \"VERIFYMTHD\": 28, \"verifyType\": 29, \"STRUCT_STOP\": 30, \"REQUIREMENT\": 31, \"FUNCTIONAL_REQUIREMENT\": 32, \"INTERFACE_REQUIREMENT\": 33, \"PERFORMANCE_REQUIREMENT\": 34, \"PHYSICAL_REQUIREMENT\": 35, \"DESIGN_CONSTRAINT\": 36, \"LOW_RISK\": 37, \"MED_RISK\": 38, \"HIGH_RISK\": 39, \"VERIFY_ANALYSIS\": 40, \"VERIFY_DEMONSTRATION\": 41, \"VERIFY_INSPECTION\": 42, \"VERIFY_TEST\": 43, \"ELEMENT\": 44, \"elementName\": 45, \"elementBody\": 46, \"TYPE\": 47, \"type\": 48, \"DOCREF\": 49, \"ref\": 50, \"END_ARROW_L\": 51, \"relationship\": 52, \"LINE\": 53, \"END_ARROW_R\": 54, \"CONTAINS\": 55, \"COPIES\": 56, \"DERIVES\": 57, \"SATISFIES\": 58, \"VERIFIES\": 59, \"REFINES\": 60, \"TRACES\": 61, \"unqString\": 62, \"qString\": 63, \"$accept\": 0, \"$end\": 1 },\n terminals_: { 2: \"error\", 5: \"NEWLINE\", 6: \"RD\", 8: \"EOF\", 9: \"acc_title\", 10: \"acc_title_value\", 11: \"acc_descr\", 12: \"acc_descr_value\", 13: \"acc_descr_multiline_value\", 19: \"STRUCT_START\", 21: \"ID\", 22: \"COLONSEP\", 24: \"TEXT\", 26: \"RISK\", 28: \"VERIFYMTHD\", 30: \"STRUCT_STOP\", 31: \"REQUIREMENT\", 32: \"FUNCTIONAL_REQUIREMENT\", 33: \"INTERFACE_REQUIREMENT\", 34: \"PERFORMANCE_REQUIREMENT\", 35: \"PHYSICAL_REQUIREMENT\", 36: \"DESIGN_CONSTRAINT\", 37: \"LOW_RISK\", 38: \"MED_RISK\", 39: \"HIGH_RISK\", 40: \"VERIFY_ANALYSIS\", 41: \"VERIFY_DEMONSTRATION\", 42: \"VERIFY_INSPECTION\", 43: \"VERIFY_TEST\", 44: \"ELEMENT\", 47: \"TYPE\", 49: \"DOCREF\", 51: \"END_ARROW_L\", 53: \"LINE\", 54: \"END_ARROW_R\", 55: \"CONTAINS\", 56: \"COPIES\", 57: \"DERIVES\", 58: \"SATISFIES\", 59: \"VERIFIES\", 60: \"REFINES\", 61: \"TRACES\", 62: \"unqString\", 63: \"qString\" },\n productions_: [0, [3, 3], [3, 2], [3, 4], [4, 2], [4, 2], [4, 1], [7, 0], [7, 2], [7, 2], [7, 2], [7, 2], [7, 2], [14, 5], [20, 5], [20, 5], [20, 5], [20, 5], [20, 2], [20, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [27, 1], [27, 1], [27, 1], [29, 1], [29, 1], [29, 1], [29, 1], [15, 5], [46, 5], [46, 5], [46, 2], [46, 1], [16, 5], [16, 5], [52, 1], [52, 1], [52, 1], [52, 1], [52, 1], [52, 1], [52, 1], [18, 1], [18, 1], [23, 1], [23, 1], [25, 1], [25, 1], [45, 1], [45, 1], [48, 1], [48, 1], [50, 1], [50, 1]],\n performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$) {\n var $0 = $$.length - 1;\n switch (yystate) {\n case 4:\n this.$ = $$[$0].trim();\n yy.setAccTitle(this.$);\n break;\n case 5:\n case 6:\n this.$ = $$[$0].trim();\n yy.setAccDescription(this.$);\n break;\n case 7:\n this.$ = [];\n break;\n case 13:\n yy.addRequirement($$[$0 - 3], $$[$0 - 4]);\n break;\n case 14:\n yy.setNewReqId($$[$0 - 2]);\n break;\n case 15:\n yy.setNewReqText($$[$0 - 2]);\n break;\n case 16:\n yy.setNewReqRisk($$[$0 - 2]);\n break;\n case 17:\n yy.setNewReqVerifyMethod($$[$0 - 2]);\n break;\n case 20:\n this.$ = yy.RequirementType.REQUIREMENT;\n break;\n case 21:\n this.$ = yy.RequirementType.FUNCTIONAL_REQUIREMENT;\n break;\n case 22:\n this.$ = yy.RequirementType.INTERFACE_REQUIREMENT;\n break;\n case 23:\n this.$ = yy.RequirementType.PERFORMANCE_REQUIREMENT;\n break;\n case 24:\n this.$ = yy.RequirementType.PHYSICAL_REQUIREMENT;\n break;\n case 25:\n this.$ = yy.RequirementType.DESIGN_CONSTRAINT;\n break;\n case 26:\n this.$ = yy.RiskLevel.LOW_RISK;\n break;\n case 27:\n this.$ = yy.RiskLevel.MED_RISK;\n break;\n case 28:\n this.$ = yy.RiskLevel.HIGH_RISK;\n break;\n case 29:\n this.$ = yy.VerifyType.VERIFY_ANALYSIS;\n break;\n case 30:\n this.$ = yy.VerifyType.VERIFY_DEMONSTRATION;\n break;\n case 31:\n this.$ = yy.VerifyType.VERIFY_INSPECTION;\n break;\n case 32:\n this.$ = yy.VerifyType.VERIFY_TEST;\n break;\n case 33:\n yy.addElement($$[$0 - 3]);\n break;\n case 34:\n yy.setNewElementType($$[$0 - 2]);\n break;\n case 35:\n yy.setNewElementDocRef($$[$0 - 2]);\n break;\n case 38:\n yy.addRelationship($$[$0 - 2], $$[$0], $$[$0 - 4]);\n break;\n case 39:\n yy.addRelationship($$[$0 - 2], $$[$0 - 4], $$[$0]);\n break;\n case 40:\n this.$ = yy.Relationships.CONTAINS;\n break;\n case 41:\n this.$ = yy.Relationships.COPIES;\n break;\n case 42:\n this.$ = yy.Relationships.DERIVES;\n break;\n case 43:\n this.$ = yy.Relationships.SATISFIES;\n break;\n case 44:\n this.$ = yy.Relationships.VERIFIES;\n break;\n case 45:\n this.$ = yy.Relationships.REFINES;\n break;\n case 46:\n this.$ = yy.Relationships.TRACES;\n break;\n }\n },\n table: [{ 3: 1, 4: 2, 6: $V0, 9: $V1, 11: $V2, 13: $V3 }, { 1: [3] }, { 3: 8, 4: 2, 5: [1, 7], 6: $V0, 9: $V1, 11: $V2, 13: $V3 }, { 5: [1, 9] }, { 10: [1, 10] }, { 12: [1, 11] }, o($V4, [2, 6]), { 3: 12, 4: 2, 6: $V0, 9: $V1, 11: $V2, 13: $V3 }, { 1: [2, 2] }, { 4: 17, 5: $V5, 7: 13, 8: $V6, 9: $V1, 11: $V2, 13: $V3, 14: 14, 15: 15, 16: 16, 17: 19, 23: 21, 31: $V7, 32: $V8, 33: $V9, 34: $Va, 35: $Vb, 36: $Vc, 44: $Vd, 62: $Ve, 63: $Vf }, o($V4, [2, 4]), o($V4, [2, 5]), { 1: [2, 1] }, { 8: [1, 30] }, { 4: 17, 5: $V5, 7: 31, 8: $V6, 9: $V1, 11: $V2, 13: $V3, 14: 14, 15: 15, 16: 16, 17: 19, 23: 21, 31: $V7, 32: $V8, 33: $V9, 34: $Va, 35: $Vb, 36: $Vc, 44: $Vd, 62: $Ve, 63: $Vf }, { 4: 17, 5: $V5, 7: 32, 8: $V6, 9: $V1, 11: $V2, 13: $V3, 14: 14, 15: 15, 16: 16, 17: 19, 23: 21, 31: $V7, 32: $V8, 33: $V9, 34: $Va, 35: $Vb, 36: $Vc, 44: $Vd, 62: $Ve, 63: $Vf }, { 4: 17, 5: $V5, 7: 33, 8: $V6, 9: $V1, 11: $V2, 13: $V3, 14: 14, 15: 15, 16: 16, 17: 19, 23: 21, 31: $V7, 32: $V8, 33: $V9, 34: $Va, 35: $Vb, 36: $Vc, 44: $Vd, 62: $Ve, 63: $Vf }, { 4: 17, 5: $V5, 7: 34, 8: $V6, 9: $V1, 11: $V2, 13: $V3, 14: 14, 15: 15, 16: 16, 17: 19, 23: 21, 31: $V7, 32: $V8, 33: $V9, 34: $Va, 35: $Vb, 36: $Vc, 44: $Vd, 62: $Ve, 63: $Vf }, { 4: 17, 5: $V5, 7: 35, 8: $V6, 9: $V1, 11: $V2, 13: $V3, 14: 14, 15: 15, 16: 16, 17: 19, 23: 21, 31: $V7, 32: $V8, 33: $V9, 34: $Va, 35: $Vb, 36: $Vc, 44: $Vd, 62: $Ve, 63: $Vf }, { 18: 36, 62: [1, 37], 63: [1, 38] }, { 45: 39, 62: [1, 40], 63: [1, 41] }, { 51: [1, 42], 53: [1, 43] }, o($Vg, [2, 20]), o($Vg, [2, 21]), o($Vg, [2, 22]), o($Vg, [2, 23]), o($Vg, [2, 24]), o($Vg, [2, 25]), o($Vh, [2, 49]), o($Vh, [2, 50]), { 1: [2, 3] }, { 8: [2, 8] }, { 8: [2, 9] }, { 8: [2, 10] }, { 8: [2, 11] }, { 8: [2, 12] }, { 19: [1, 44] }, { 19: [2, 47] }, { 19: [2, 48] }, { 19: [1, 45] }, { 19: [2, 53] }, { 19: [2, 54] }, { 52: 46, 55: $Vi, 56: $Vj, 57: $Vk, 58: $Vl, 59: $Vm, 60: $Vn, 61: $Vo }, { 52: 54, 55: $Vi, 56: $Vj, 57: $Vk, 58: $Vl, 59: $Vm, 60: $Vn, 61: $Vo }, { 5: [1, 55] }, { 5: [1, 56] }, { 53: [1, 57] }, o($Vp, [2, 40]), o($Vp, [2, 41]), o($Vp, [2, 42]), o($Vp, [2, 43]), o($Vp, [2, 44]), o($Vp, [2, 45]), o($Vp, [2, 46]), { 54: [1, 58] }, { 5: $Vq, 20: 59, 21: $Vr, 24: $Vs, 26: $Vt, 28: $Vu, 30: $Vv }, { 5: $Vw, 30: $Vx, 46: 66, 47: $Vy, 49: $Vz }, { 23: 71, 62: $Ve, 63: $Vf }, { 23: 72, 62: $Ve, 63: $Vf }, o($VA, [2, 13]), { 22: [1, 73] }, { 22: [1, 74] }, { 22: [1, 75] }, { 22: [1, 76] }, { 5: $Vq, 20: 77, 21: $Vr, 24: $Vs, 26: $Vt, 28: $Vu, 30: $Vv }, o($VA, [2, 19]), o($VA, [2, 33]), { 22: [1, 78] }, { 22: [1, 79] }, { 5: $Vw, 30: $Vx, 46: 80, 47: $Vy, 49: $Vz }, o($VA, [2, 37]), o($VA, [2, 38]), o($VA, [2, 39]), { 23: 81, 62: $Ve, 63: $Vf }, { 25: 82, 62: [1, 83], 63: [1, 84] }, { 27: 85, 37: [1, 86], 38: [1, 87], 39: [1, 88] }, { 29: 89, 40: [1, 90], 41: [1, 91], 42: [1, 92], 43: [1, 93] }, o($VA, [2, 18]), { 48: 94, 62: [1, 95], 63: [1, 96] }, { 50: 97, 62: [1, 98], 63: [1, 99] }, o($VA, [2, 36]), { 5: [1, 100] }, { 5: [1, 101] }, { 5: [2, 51] }, { 5: [2, 52] }, { 5: [1, 102] }, { 5: [2, 26] }, { 5: [2, 27] }, { 5: [2, 28] }, { 5: [1, 103] }, { 5: [2, 29] }, { 5: [2, 30] }, { 5: [2, 31] }, { 5: [2, 32] }, { 5: [1, 104] }, { 5: [2, 55] }, { 5: [2, 56] }, { 5: [1, 105] }, { 5: [2, 57] }, { 5: [2, 58] }, { 5: $Vq, 20: 106, 21: $Vr, 24: $Vs, 26: $Vt, 28: $Vu, 30: $Vv }, { 5: $Vq, 20: 107, 21: $Vr, 24: $Vs, 26: $Vt, 28: $Vu, 30: $Vv }, { 5: $Vq, 20: 108, 21: $Vr, 24: $Vs, 26: $Vt, 28: $Vu, 30: $Vv }, { 5: $Vq, 20: 109, 21: $Vr, 24: $Vs, 26: $Vt, 28: $Vu, 30: $Vv }, { 5: $Vw, 30: $Vx, 46: 110, 47: $Vy, 49: $Vz }, { 5: $Vw, 30: $Vx, 46: 111, 47: $Vy, 49: $Vz }, o($VA, [2, 14]), o($VA, [2, 15]), o($VA, [2, 16]), o($VA, [2, 17]), o($VA, [2, 34]), o($VA, [2, 35])],\n defaultActions: { 8: [2, 2], 12: [2, 1], 30: [2, 3], 31: [2, 8], 32: [2, 9], 33: [2, 10], 34: [2, 11], 35: [2, 12], 37: [2, 47], 38: [2, 48], 40: [2, 53], 41: [2, 54], 83: [2, 51], 84: [2, 52], 86: [2, 26], 87: [2, 27], 88: [2, 28], 90: [2, 29], 91: [2, 30], 92: [2, 31], 93: [2, 32], 95: [2, 55], 96: [2, 56], 98: [2, 57], 99: [2, 58] },\n parseError: function parseError(str, hash) {\n if (hash.recoverable) {\n this.trace(str);\n } else {\n var error = new Error(str);\n error.hash = hash;\n throw error;\n }\n },\n parse: function parse(input) {\n var self = this, stack = [0], tstack = [], vstack = [null], lstack = [], table = this.table, yytext = \"\", yylineno = 0, yyleng = 0, TERROR = 2, EOF = 1;\n var args = lstack.slice.call(arguments, 1);\n var lexer2 = Object.create(this.lexer);\n var sharedState = { yy: {} };\n for (var k in this.yy) {\n if (Object.prototype.hasOwnProperty.call(this.yy, k)) {\n sharedState.yy[k] = this.yy[k];\n }\n }\n lexer2.setInput(input, sharedState.yy);\n sharedState.yy.lexer = lexer2;\n sharedState.yy.parser = this;\n if (typeof lexer2.yylloc == \"undefined\") {\n lexer2.yylloc = {};\n }\n var yyloc = lexer2.yylloc;\n lstack.push(yyloc);\n var ranges = lexer2.options && lexer2.options.ranges;\n if (typeof sharedState.yy.parseError === \"function\") {\n this.parseError = sharedState.yy.parseError;\n } else {\n this.parseError = Object.getPrototypeOf(this).parseError;\n }\n function lex() {\n var token;\n token = tstack.pop() || lexer2.lex() || EOF;\n if (typeof token !== \"number\") {\n if (token instanceof Array) {\n tstack = token;\n token = tstack.pop();\n }\n token = self.symbols_[token] || token;\n }\n return token;\n }\n var symbol, state, action, r, yyval = {}, p, len, newState, expected;\n while (true) {\n state = stack[stack.length - 1];\n if (this.defaultActions[state]) {\n action = this.defaultActions[state];\n } else {\n if (symbol === null || typeof symbol == \"undefined\") {\n symbol = lex();\n }\n action = table[state] && table[state][symbol];\n }\n if (typeof action === \"undefined\" || !action.length || !action[0]) {\n var errStr = \"\";\n expected = [];\n for (p in table[state]) {\n if (this.terminals_[p] && p > TERROR) {\n expected.push(\"'\" + this.terminals_[p] + \"'\");\n }\n }\n if (lexer2.showPosition) {\n errStr = \"Parse error on line \" + (yylineno + 1) + \":\\n\" + lexer2.showPosition() + \"\\nExpecting \" + expected.join(\", \") + \", got '\" + (this.terminals_[symbol] || symbol) + \"'\";\n } else {\n errStr = \"Parse error on line \" + (yylineno + 1) + \": Unexpected \" + (symbol == EOF ? \"end of input\" : \"'\" + (this.terminals_[symbol] || symbol) + \"'\");\n }\n this.parseError(errStr, {\n text: lexer2.match,\n token: this.terminals_[symbol] || symbol,\n line: lexer2.yylineno,\n loc: yyloc,\n expected\n });\n }\n if (action[0] instanceof Array && action.length > 1) {\n throw new Error(\"Parse Error: multiple actions possible at state: \" + state + \", token: \" + symbol);\n }\n switch (action[0]) {\n case 1:\n stack.push(symbol);\n vstack.push(lexer2.yytext);\n lstack.push(lexer2.yylloc);\n stack.push(action[1]);\n symbol = null;\n {\n yyleng = lexer2.yyleng;\n yytext = lexer2.yytext;\n yylineno = lexer2.yylineno;\n yyloc = lexer2.yylloc;\n }\n break;\n case 2:\n len = this.productions_[action[1]][1];\n yyval.$ = vstack[vstack.length - len];\n yyval._$ = {\n first_line: lstack[lstack.length - (len || 1)].first_line,\n last_line: lstack[lstack.length - 1].last_line,\n first_column: lstack[lstack.length - (len || 1)].first_column,\n last_column: lstack[lstack.length - 1].last_column\n };\n if (ranges) {\n yyval._$.range = [\n lstack[lstack.length - (len || 1)].range[0],\n lstack[lstack.length - 1].range[1]\n ];\n }\n r = this.performAction.apply(yyval, [\n yytext,\n yyleng,\n yylineno,\n sharedState.yy,\n action[1],\n vstack,\n lstack\n ].concat(args));\n if (typeof r !== \"undefined\") {\n return r;\n }\n if (len) {\n stack = stack.slice(0, -1 * len * 2);\n vstack = vstack.slice(0, -1 * len);\n lstack = lstack.slice(0, -1 * len);\n }\n stack.push(this.productions_[action[1]][0]);\n vstack.push(yyval.$);\n lstack.push(yyval._$);\n newState = table[stack[stack.length - 2]][stack[stack.length - 1]];\n stack.push(newState);\n break;\n case 3:\n return true;\n }\n }\n return true;\n }\n };\n var lexer = function() {\n var lexer2 = {\n EOF: 1,\n parseError: function parseError(str, hash) {\n if (this.yy.parser) {\n this.yy.parser.parseError(str, hash);\n } else {\n throw new Error(str);\n }\n },\n // resets the lexer, sets new input\n setInput: function(input, yy) {\n this.yy = yy || this.yy || {};\n this._input = input;\n this._more = this._backtrack = this.done = false;\n this.yylineno = this.yyleng = 0;\n this.yytext = this.matched = this.match = \"\";\n this.conditionStack = [\"INITIAL\"];\n this.yylloc = {\n first_line: 1,\n first_column: 0,\n last_line: 1,\n last_column: 0\n };\n if (this.options.ranges) {\n this.yylloc.range = [0, 0];\n }\n this.offset = 0;\n return this;\n },\n // consumes and returns one char from the input\n input: function() {\n var ch = this._input[0];\n this.yytext += ch;\n this.yyleng++;\n this.offset++;\n this.match += ch;\n this.matched += ch;\n var lines = ch.match(/(?:\\r\\n?|\\n).*/g);\n if (lines) {\n this.yylineno++;\n this.yylloc.last_line++;\n } else {\n this.yylloc.last_column++;\n }\n if (this.options.ranges) {\n this.yylloc.range[1]++;\n }\n this._input = this._input.slice(1);\n return ch;\n },\n // unshifts one char (or a string) into the input\n unput: function(ch) {\n var len = ch.length;\n var lines = ch.split(/(?:\\r\\n?|\\n)/g);\n this._input = ch + this._input;\n this.yytext = this.yytext.substr(0, this.yytext.length - len);\n this.offset -= len;\n var oldLines = this.match.split(/(?:\\r\\n?|\\n)/g);\n this.match = this.match.substr(0, this.match.length - 1);\n this.matched = this.matched.substr(0, this.matched.length - 1);\n if (lines.length - 1) {\n this.yylineno -= lines.length - 1;\n }\n var r = this.yylloc.range;\n this.yylloc = {\n first_line: this.yylloc.first_line,\n last_line: this.yylineno + 1,\n first_column: this.yylloc.first_column,\n last_column: lines ? (lines.length === oldLines.length ? this.yylloc.first_column : 0) + oldLines[oldLines.length - lines.length].length - lines[0].length : this.yylloc.first_column - len\n };\n if (this.options.ranges) {\n this.yylloc.range = [r[0], r[0] + this.yyleng - len];\n }\n this.yyleng = this.yytext.length;\n return this;\n },\n // When called from action, caches matched text and appends it on next action\n more: function() {\n this._more = true;\n return this;\n },\n // When called from action, signals the lexer that this rule fails to match the input, so the next matching rule (regex) should be tested instead.\n reject: function() {\n if (this.options.backtrack_lexer) {\n this._backtrack = true;\n } else {\n return this.parseError(\"Lexical error on line \" + (this.yylineno + 1) + \". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\\n\" + this.showPosition(), {\n text: \"\",\n token: null,\n line: this.yylineno\n });\n }\n return this;\n },\n // retain first n characters of the match\n less: function(n) {\n this.unput(this.match.slice(n));\n },\n // displays already matched input, i.e. for error messages\n pastInput: function() {\n var past = this.matched.substr(0, this.matched.length - this.match.length);\n return (past.length > 20 ? \"...\" : \"\") + past.substr(-20).replace(/\\n/g, \"\");\n },\n // displays upcoming input, i.e. for error messages\n upcomingInput: function() {\n var next = this.match;\n if (next.length < 20) {\n next += this._input.substr(0, 20 - next.length);\n }\n return (next.substr(0, 20) + (next.length > 20 ? \"...\" : \"\")).replace(/\\n/g, \"\");\n },\n // displays the character position where the lexing error occurred, i.e. for error messages\n showPosition: function() {\n var pre = this.pastInput();\n var c = new Array(pre.length + 1).join(\"-\");\n return pre + this.upcomingInput() + \"\\n\" + c + \"^\";\n },\n // test the lexed token: return FALSE when not a match, otherwise return token\n test_match: function(match, indexed_rule) {\n var token, lines, backup;\n if (this.options.backtrack_lexer) {\n backup = {\n yylineno: this.yylineno,\n yylloc: {\n first_line: this.yylloc.first_line,\n last_line: this.last_line,\n first_column: this.yylloc.first_column,\n last_column: this.yylloc.last_column\n },\n yytext: this.yytext,\n match: this.match,\n matches: this.matches,\n matched: this.matched,\n yyleng: this.yyleng,\n offset: this.offset,\n _more: this._more,\n _input: this._input,\n yy: this.yy,\n conditionStack: this.conditionStack.slice(0),\n done: this.done\n };\n if (this.options.ranges) {\n backup.yylloc.range = this.yylloc.range.slice(0);\n }\n }\n lines = match[0].match(/(?:\\r\\n?|\\n).*/g);\n if (lines) {\n this.yylineno += lines.length;\n }\n this.yylloc = {\n first_line: this.yylloc.last_line,\n last_line: this.yylineno + 1,\n first_column: this.yylloc.last_column,\n last_column: lines ? lines[lines.length - 1].length - lines[lines.length - 1].match(/\\r?\\n?/)[0].length : this.yylloc.last_column + match[0].length\n };\n this.yytext += match[0];\n this.match += match[0];\n this.matches = match;\n this.yyleng = this.yytext.length;\n if (this.options.ranges) {\n this.yylloc.range = [this.offset, this.offset += this.yyleng];\n }\n this._more = false;\n this._backtrack = false;\n this._input = this._input.slice(match[0].length);\n this.matched += match[0];\n token = this.performAction.call(this, this.yy, this, indexed_rule, this.conditionStack[this.conditionStack.length - 1]);\n if (this.done && this._input) {\n this.done = false;\n }\n if (token) {\n return token;\n } else if (this._backtrack) {\n for (var k in backup) {\n this[k] = backup[k];\n }\n return false;\n }\n return false;\n },\n // return next match in input\n next: function() {\n if (this.done) {\n return this.EOF;\n }\n if (!this._input) {\n this.done = true;\n }\n var token, match, tempMatch, index;\n if (!this._more) {\n this.yytext = \"\";\n this.match = \"\";\n }\n var rules = this._currentRules();\n for (var i = 0; i < rules.length; i++) {\n tempMatch = this._input.match(this.rules[rules[i]]);\n if (tempMatch && (!match || tempMatch[0].length > match[0].length)) {\n match = tempMatch;\n index = i;\n if (this.options.backtrack_lexer) {\n token = this.test_match(tempMatch, rules[i]);\n if (token !== false) {\n return token;\n } else if (this._backtrack) {\n match = false;\n continue;\n } else {\n return false;\n }\n } else if (!this.options.flex) {\n break;\n }\n }\n }\n if (match) {\n token = this.test_match(match, rules[index]);\n if (token !== false) {\n return token;\n }\n return false;\n }\n if (this._input === \"\") {\n return this.EOF;\n } else {\n return this.parseError(\"Lexical error on line \" + (this.yylineno + 1) + \". Unrecognized text.\\n\" + this.showPosition(), {\n text: \"\",\n token: null,\n line: this.yylineno\n });\n }\n },\n // return next match that has a token\n lex: function lex() {\n var r = this.next();\n if (r) {\n return r;\n } else {\n return this.lex();\n }\n },\n // activates a new lexer condition state (pushes the new lexer condition state onto the condition stack)\n begin: function begin(condition) {\n this.conditionStack.push(condition);\n },\n // pop the previously active lexer condition state off the condition stack\n popState: function popState() {\n var n = this.conditionStack.length - 1;\n if (n > 0) {\n return this.conditionStack.pop();\n } else {\n return this.conditionStack[0];\n }\n },\n // produce the lexer rule set which is active for the currently active lexer condition state\n _currentRules: function _currentRules() {\n if (this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]) {\n return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules;\n } else {\n return this.conditions[\"INITIAL\"].rules;\n }\n },\n // return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available\n topState: function topState(n) {\n n = this.conditionStack.length - 1 - Math.abs(n || 0);\n if (n >= 0) {\n return this.conditionStack[n];\n } else {\n return \"INITIAL\";\n }\n },\n // alias for begin(condition)\n pushState: function pushState(condition) {\n this.begin(condition);\n },\n // return the number of states currently on the stack\n stateStackSize: function stateStackSize() {\n return this.conditionStack.length;\n },\n options: { \"case-insensitive\": true },\n performAction: function anonymous(yy, yy_, $avoiding_name_collisions, YY_START) {\n switch ($avoiding_name_collisions) {\n case 0:\n return \"title\";\n case 1:\n this.begin(\"acc_title\");\n return 9;\n case 2:\n this.popState();\n return \"acc_title_value\";\n case 3:\n this.begin(\"acc_descr\");\n return 11;\n case 4:\n this.popState();\n return \"acc_descr_value\";\n case 5:\n this.begin(\"acc_descr_multiline\");\n break;\n case 6:\n this.popState();\n break;\n case 7:\n return \"acc_descr_multiline_value\";\n case 8:\n return 5;\n case 9:\n break;\n case 10:\n break;\n case 11:\n break;\n case 12:\n return 8;\n case 13:\n return 6;\n case 14:\n return 19;\n case 15:\n return 30;\n case 16:\n return 22;\n case 17:\n return 21;\n case 18:\n return 24;\n case 19:\n return 26;\n case 20:\n return 28;\n case 21:\n return 31;\n case 22:\n return 32;\n case 23:\n return 33;\n case 24:\n return 34;\n case 25:\n return 35;\n case 26:\n return 36;\n case 27:\n return 37;\n case 28:\n return 38;\n case 29:\n return 39;\n case 30:\n return 40;\n case 31:\n return 41;\n case 32:\n return 42;\n case 33:\n return 43;\n case 34:\n return 44;\n case 35:\n return 55;\n case 36:\n return 56;\n case 37:\n return 57;\n case 38:\n return 58;\n case 39:\n return 59;\n case 40:\n return 60;\n case 41:\n return 61;\n case 42:\n return 47;\n case 43:\n return 49;\n case 44:\n return 51;\n case 45:\n return 54;\n case 46:\n return 53;\n case 47:\n this.begin(\"string\");\n break;\n case 48:\n this.popState();\n break;\n case 49:\n return \"qString\";\n case 50:\n yy_.yytext = yy_.yytext.trim();\n return 62;\n }\n },\n rules: [/^(?:title\\s[^#\\n;]+)/i, /^(?:accTitle\\s*:\\s*)/i, /^(?:(?!\\n||)*[^\\n]*)/i, /^(?:accDescr\\s*:\\s*)/i, /^(?:(?!\\n||)*[^\\n]*)/i, /^(?:accDescr\\s*\\{\\s*)/i, /^(?:[\\}])/i, /^(?:[^\\}]*)/i, /^(?:(\\r?\\n)+)/i, /^(?:\\s+)/i, /^(?:#[^\\n]*)/i, /^(?:%[^\\n]*)/i, /^(?:$)/i, /^(?:requirementDiagram\\b)/i, /^(?:\\{)/i, /^(?:\\})/i, /^(?::)/i, /^(?:id\\b)/i, /^(?:text\\b)/i, /^(?:risk\\b)/i, /^(?:verifyMethod\\b)/i, /^(?:requirement\\b)/i, /^(?:functionalRequirement\\b)/i, /^(?:interfaceRequirement\\b)/i, /^(?:performanceRequirement\\b)/i, /^(?:physicalRequirement\\b)/i, /^(?:designConstraint\\b)/i, /^(?:low\\b)/i, /^(?:medium\\b)/i, /^(?:high\\b)/i, /^(?:analysis\\b)/i, /^(?:demonstration\\b)/i, /^(?:inspection\\b)/i, /^(?:test\\b)/i, /^(?:element\\b)/i, /^(?:contains\\b)/i, /^(?:copies\\b)/i, /^(?:derives\\b)/i, /^(?:satisfies\\b)/i, /^(?:verifies\\b)/i, /^(?:refines\\b)/i, /^(?:traces\\b)/i, /^(?:type\\b)/i, /^(?:docref\\b)/i, /^(?:<-)/i, /^(?:->)/i, /^(?:-)/i, /^(?:[\"])/i, /^(?:[\"])/i, /^(?:[^\"]*)/i, /^(?:[\\w][^\\r\\n\\{\\<\\>\\-\\=]*)/i],\n conditions: { \"acc_descr_multiline\": { \"rules\": [6, 7], \"inclusive\": false }, \"acc_descr\": { \"rules\": [4], \"inclusive\": false }, \"acc_title\": { \"rules\": [2], \"inclusive\": false }, \"unqString\": { \"rules\": [], \"inclusive\": false }, \"token\": { \"rules\": [], \"inclusive\": false }, \"string\": { \"rules\": [48, 49], \"inclusive\": false }, \"INITIAL\": { \"rules\": [0, 1, 3, 5, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 50], \"inclusive\": true } }\n };\n return lexer2;\n }();\n parser2.lexer = lexer;\n function Parser() {\n this.yy = {};\n }\n Parser.prototype = parser2;\n parser2.Parser = Parser;\n return new Parser();\n}();\nparser.parser = parser;\nconst parser$1 = parser;\nlet relations = [];\nlet latestRequirement = {};\nlet requirements = {};\nlet latestElement = {};\nlet elements = {};\nconst RequirementType = {\n REQUIREMENT: \"Requirement\",\n FUNCTIONAL_REQUIREMENT: \"Functional Requirement\",\n INTERFACE_REQUIREMENT: \"Interface Requirement\",\n PERFORMANCE_REQUIREMENT: \"Performance Requirement\",\n PHYSICAL_REQUIREMENT: \"Physical Requirement\",\n DESIGN_CONSTRAINT: \"Design Constraint\"\n};\nconst RiskLevel = {\n LOW_RISK: \"Low\",\n MED_RISK: \"Medium\",\n HIGH_RISK: \"High\"\n};\nconst VerifyType = {\n VERIFY_ANALYSIS: \"Analysis\",\n VERIFY_DEMONSTRATION: \"Demonstration\",\n VERIFY_INSPECTION: \"Inspection\",\n VERIFY_TEST: \"Test\"\n};\nconst Relationships = {\n CONTAINS: \"contains\",\n COPIES: \"copies\",\n DERIVES: \"derives\",\n SATISFIES: \"satisfies\",\n VERIFIES: \"verifies\",\n REFINES: \"refines\",\n TRACES: \"traces\"\n};\nconst addRequirement = (name, type) => {\n if (requirements[name] === void 0) {\n requirements[name] = {\n name,\n type,\n id: latestRequirement.id,\n text: latestRequirement.text,\n risk: latestRequirement.risk,\n verifyMethod: latestRequirement.verifyMethod\n };\n }\n latestRequirement = {};\n return requirements[name];\n};\nconst getRequirements = () => requirements;\nconst setNewReqId = (id) => {\n if (latestRequirement !== void 0) {\n latestRequirement.id = id;\n }\n};\nconst setNewReqText = (text) => {\n if (latestRequirement !== void 0) {\n latestRequirement.text = text;\n }\n};\nconst setNewReqRisk = (risk) => {\n if (latestRequirement !== void 0) {\n latestRequirement.risk = risk;\n }\n};\nconst setNewReqVerifyMethod = (verifyMethod) => {\n if (latestRequirement !== void 0) {\n latestRequirement.verifyMethod = verifyMethod;\n }\n};\nconst addElement = (name) => {\n if (elements[name] === void 0) {\n elements[name] = {\n name,\n type: latestElement.type,\n docRef: latestElement.docRef\n };\n log.info(\"Added new requirement: \", name);\n }\n latestElement = {};\n return elements[name];\n};\nconst getElements = () => elements;\nconst setNewElementType = (type) => {\n if (latestElement !== void 0) {\n latestElement.type = type;\n }\n};\nconst setNewElementDocRef = (docRef) => {\n if (latestElement !== void 0) {\n latestElement.docRef = docRef;\n }\n};\nconst addRelationship = (type, src, dst) => {\n relations.push({\n type,\n src,\n dst\n });\n};\nconst getRelationships = () => relations;\nconst clear = () => {\n relations = [];\n latestRequirement = {};\n requirements = {};\n latestElement = {};\n elements = {};\n clear$1();\n};\nconst db = {\n RequirementType,\n RiskLevel,\n VerifyType,\n Relationships,\n getConfig: () => getConfig().req,\n addRequirement,\n getRequirements,\n setNewReqId,\n setNewReqText,\n setNewReqRisk,\n setNewReqVerifyMethod,\n setAccTitle,\n getAccTitle,\n setAccDescription,\n getAccDescription,\n addElement,\n getElements,\n setNewElementType,\n setNewElementDocRef,\n addRelationship,\n getRelationships,\n clear\n};\nconst getStyles = (options) => `\n\n marker {\n fill: ${options.relationColor};\n stroke: ${options.relationColor};\n }\n\n marker.cross {\n stroke: ${options.lineColor};\n }\n\n svg {\n font-family: ${options.fontFamily};\n font-size: ${options.fontSize};\n }\n\n .reqBox {\n fill: ${options.requirementBackground};\n fill-opacity: 1.0;\n stroke: ${options.requirementBorderColor};\n stroke-width: ${options.requirementBorderSize};\n }\n \n .reqTitle, .reqLabel{\n fill: ${options.requirementTextColor};\n }\n .reqLabelBox {\n fill: ${options.relationLabelBackground};\n fill-opacity: 1.0;\n }\n\n .req-title-line {\n stroke: ${options.requirementBorderColor};\n stroke-width: ${options.requirementBorderSize};\n }\n .relationshipLine {\n stroke: ${options.relationColor};\n stroke-width: 1;\n }\n .relationshipLabel {\n fill: ${options.relationLabelColor};\n }\n\n`;\nconst styles = getStyles;\nconst ReqMarkers = {\n CONTAINS: \"contains\",\n ARROW: \"arrow\"\n};\nconst insertLineEndings = (parentNode, conf2) => {\n let containsNode = parentNode.append(\"defs\").append(\"marker\").attr(\"id\", ReqMarkers.CONTAINS + \"_line_ending\").attr(\"refX\", 0).attr(\"refY\", conf2.line_height / 2).attr(\"markerWidth\", conf2.line_height).attr(\"markerHeight\", conf2.line_height).attr(\"orient\", \"auto\").append(\"g\");\n containsNode.append(\"circle\").attr(\"cx\", conf2.line_height / 2).attr(\"cy\", conf2.line_height / 2).attr(\"r\", conf2.line_height / 2).attr(\"fill\", \"none\");\n containsNode.append(\"line\").attr(\"x1\", 0).attr(\"x2\", conf2.line_height).attr(\"y1\", conf2.line_height / 2).attr(\"y2\", conf2.line_height / 2).attr(\"stroke-width\", 1);\n containsNode.append(\"line\").attr(\"y1\", 0).attr(\"y2\", conf2.line_height).attr(\"x1\", conf2.line_height / 2).attr(\"x2\", conf2.line_height / 2).attr(\"stroke-width\", 1);\n parentNode.append(\"defs\").append(\"marker\").attr(\"id\", ReqMarkers.ARROW + \"_line_ending\").attr(\"refX\", conf2.line_height).attr(\"refY\", 0.5 * conf2.line_height).attr(\"markerWidth\", conf2.line_height).attr(\"markerHeight\", conf2.line_height).attr(\"orient\", \"auto\").append(\"path\").attr(\n \"d\",\n `M0,0\n L${conf2.line_height},${conf2.line_height / 2}\n M${conf2.line_height},${conf2.line_height / 2}\n L0,${conf2.line_height}`\n ).attr(\"stroke-width\", 1);\n};\nconst markers = {\n ReqMarkers,\n insertLineEndings\n};\nlet conf = {};\nlet relCnt = 0;\nconst newRectNode = (parentNode, id) => {\n return parentNode.insert(\"rect\", \"#\" + id).attr(\"class\", \"req reqBox\").attr(\"x\", 0).attr(\"y\", 0).attr(\"width\", conf.rect_min_width + \"px\").attr(\"height\", conf.rect_min_height + \"px\");\n};\nconst newTitleNode = (parentNode, id, txts) => {\n let x = conf.rect_min_width / 2;\n let title = parentNode.append(\"text\").attr(\"class\", \"req reqLabel reqTitle\").attr(\"id\", id).attr(\"x\", x).attr(\"y\", conf.rect_padding).attr(\"dominant-baseline\", \"hanging\");\n let i = 0;\n txts.forEach((textStr) => {\n if (i == 0) {\n title.append(\"tspan\").attr(\"text-anchor\", \"middle\").attr(\"x\", conf.rect_min_width / 2).attr(\"dy\", 0).text(textStr);\n } else {\n title.append(\"tspan\").attr(\"text-anchor\", \"middle\").attr(\"x\", conf.rect_min_width / 2).attr(\"dy\", conf.line_height * 0.75).text(textStr);\n }\n i++;\n });\n let yPadding = 1.5 * conf.rect_padding;\n let linePadding = i * conf.line_height * 0.75;\n let totalY = yPadding + linePadding;\n parentNode.append(\"line\").attr(\"class\", \"req-title-line\").attr(\"x1\", \"0\").attr(\"x2\", conf.rect_min_width).attr(\"y1\", totalY).attr(\"y2\", totalY);\n return {\n titleNode: title,\n y: totalY\n };\n};\nconst newBodyNode = (parentNode, id, txts, yStart) => {\n let body = parentNode.append(\"text\").attr(\"class\", \"req reqLabel\").attr(\"id\", id).attr(\"x\", conf.rect_padding).attr(\"y\", yStart).attr(\"dominant-baseline\", \"hanging\");\n let currentRow = 0;\n const charLimit = 30;\n let wrappedTxts = [];\n txts.forEach((textStr) => {\n let currentTextLen = textStr.length;\n while (currentTextLen > charLimit && currentRow < 3) {\n let firstPart = textStr.substring(0, charLimit);\n textStr = textStr.substring(charLimit, textStr.length);\n currentTextLen = textStr.length;\n wrappedTxts[wrappedTxts.length] = firstPart;\n currentRow++;\n }\n if (currentRow == 3) {\n let lastStr = wrappedTxts[wrappedTxts.length - 1];\n wrappedTxts[wrappedTxts.length - 1] = lastStr.substring(0, lastStr.length - 4) + \"...\";\n } else {\n wrappedTxts[wrappedTxts.length] = textStr;\n }\n currentRow = 0;\n });\n wrappedTxts.forEach((textStr) => {\n body.append(\"tspan\").attr(\"x\", conf.rect_padding).attr(\"dy\", conf.line_height).text(textStr);\n });\n return body;\n};\nconst addEdgeLabel = (parentNode, svgPath, conf2, txt) => {\n const len = svgPath.node().getTotalLength();\n const labelPoint = svgPath.node().getPointAtLength(len * 0.5);\n const labelId = \"rel\" + relCnt;\n relCnt++;\n const labelNode = parentNode.append(\"text\").attr(\"class\", \"req relationshipLabel\").attr(\"id\", labelId).attr(\"x\", labelPoint.x).attr(\"y\", labelPoint.y).attr(\"text-anchor\", \"middle\").attr(\"dominant-baseline\", \"middle\").text(txt);\n const labelBBox = labelNode.node().getBBox();\n parentNode.insert(\"rect\", \"#\" + labelId).attr(\"class\", \"req reqLabelBox\").attr(\"x\", labelPoint.x - labelBBox.width / 2).attr(\"y\", labelPoint.y - labelBBox.height / 2).attr(\"width\", labelBBox.width).attr(\"height\", labelBBox.height).attr(\"fill\", \"white\").attr(\"fill-opacity\", \"85%\");\n};\nconst drawRelationshipFromLayout = function(svg, rel, g, insert, diagObj) {\n const edge = g.edge(elementString(rel.src), elementString(rel.dst));\n const lineFunction = line().x(function(d) {\n return d.x;\n }).y(function(d) {\n return d.y;\n });\n const svgPath = svg.insert(\"path\", \"#\" + insert).attr(\"class\", \"er relationshipLine\").attr(\"d\", lineFunction(edge.points)).attr(\"fill\", \"none\");\n if (rel.type == diagObj.db.Relationships.CONTAINS) {\n svgPath.attr(\n \"marker-start\",\n \"url(\" + common.getUrl(conf.arrowMarkerAbsolute) + \"#\" + rel.type + \"_line_ending)\"\n );\n } else {\n svgPath.attr(\"stroke-dasharray\", \"10,7\");\n svgPath.attr(\n \"marker-end\",\n \"url(\" + common.getUrl(conf.arrowMarkerAbsolute) + \"#\" + markers.ReqMarkers.ARROW + \"_line_ending)\"\n );\n }\n addEdgeLabel(svg, svgPath, conf, `<<${rel.type}>>`);\n return;\n};\nconst drawReqs = (reqs, graph, svgNode) => {\n Object.keys(reqs).forEach((reqName) => {\n let req = reqs[reqName];\n reqName = elementString(reqName);\n log.info(\"Added new requirement: \", reqName);\n const groupNode = svgNode.append(\"g\").attr(\"id\", reqName);\n const textId = \"req-\" + reqName;\n const rectNode = newRectNode(groupNode, textId);\n let titleNodeInfo = newTitleNode(groupNode, reqName + \"_title\", [\n `<<${req.type}>>`,\n `${req.name}`\n ]);\n newBodyNode(\n groupNode,\n reqName + \"_body\",\n [\n `Id: ${req.id}`,\n `Text: ${req.text}`,\n `Risk: ${req.risk}`,\n `Verification: ${req.verifyMethod}`\n ],\n titleNodeInfo.y\n );\n const rectBBox = rectNode.node().getBBox();\n graph.setNode(reqName, {\n width: rectBBox.width,\n height: rectBBox.height,\n shape: \"rect\",\n id: reqName\n });\n });\n};\nconst drawElements = (els, graph, svgNode) => {\n Object.keys(els).forEach((elName) => {\n let el = els[elName];\n const id = elementString(elName);\n const groupNode = svgNode.append(\"g\").attr(\"id\", id);\n const textId = \"element-\" + id;\n const rectNode = newRectNode(groupNode, textId);\n let titleNodeInfo = newTitleNode(groupNode, textId + \"_title\", [`<<Element>>`, `${elName}`]);\n newBodyNode(\n groupNode,\n textId + \"_body\",\n [`Type: ${el.type || \"Not Specified\"}`, `Doc Ref: ${el.docRef || \"None\"}`],\n titleNodeInfo.y\n );\n const rectBBox = rectNode.node().getBBox();\n graph.setNode(id, {\n width: rectBBox.width,\n height: rectBBox.height,\n shape: \"rect\",\n id\n });\n });\n};\nconst addRelationships = (relationships, g) => {\n relationships.forEach(function(r) {\n let src = elementString(r.src);\n let dst = elementString(r.dst);\n g.setEdge(src, dst, { relationship: r });\n });\n return relationships;\n};\nconst adjustEntities = function(svgNode, graph) {\n graph.nodes().forEach(function(v) {\n if (v !== void 0 && graph.node(v) !== void 0) {\n svgNode.select(\"#\" + v);\n svgNode.select(\"#\" + v).attr(\n \"transform\",\n \"translate(\" + (graph.node(v).x - graph.node(v).width / 2) + \",\" + (graph.node(v).y - graph.node(v).height / 2) + \" )\"\n );\n }\n });\n return;\n};\nconst elementString = (str) => {\n return str.replace(/\\s/g, \"\").replace(/\\./g, \"_\");\n};\nconst draw = (text, id, _version, diagObj) => {\n conf = getConfig().requirement;\n const securityLevel = conf.securityLevel;\n let sandboxElement;\n if (securityLevel === \"sandbox\") {\n sandboxElement = select(\"#i\" + id);\n }\n const root = securityLevel === \"sandbox\" ? select(sandboxElement.nodes()[0].contentDocument.body) : select(\"body\");\n const svg = root.select(`[id='${id}']`);\n markers.insertLineEndings(svg, conf);\n const g = new graphlib.Graph({\n multigraph: false,\n compound: false,\n directed: true\n }).setGraph({\n rankdir: conf.layoutDirection,\n marginx: 20,\n marginy: 20,\n nodesep: 100,\n edgesep: 100,\n ranksep: 100\n }).setDefaultEdgeLabel(function() {\n return {};\n });\n let requirements2 = diagObj.db.getRequirements();\n let elements2 = diagObj.db.getElements();\n let relationships = diagObj.db.getRelationships();\n drawReqs(requirements2, g, svg);\n drawElements(elements2, g, svg);\n addRelationships(relationships, g);\n layout(g);\n adjustEntities(svg, g);\n relationships.forEach(function(rel) {\n drawRelationshipFromLayout(svg, rel, g, id, diagObj);\n });\n const padding = conf.rect_padding;\n const svgBounds = svg.node().getBBox();\n const width = svgBounds.width + padding * 2;\n const height = svgBounds.height + padding * 2;\n configureSvgSize(svg, height, width, conf.useMaxWidth);\n svg.attr(\"viewBox\", `${svgBounds.x - padding} ${svgBounds.y - padding} ${width} ${height}`);\n};\nconst renderer = {\n draw\n};\nconst diagram = {\n parser: parser$1,\n db,\n renderer,\n styles\n};\nexport {\n diagram\n};\n"],"names":["parser","o","k","v","o2","l","$V0","$V1","$V2","$V3","$V4","$V5","$V6","$V7","$V8","$V9","$Va","$Vb","$Vc","$Vd","$Ve","$Vf","$Vg","$Vh","$Vi","$Vj","$Vk","$Vl","$Vm","$Vn","$Vo","$Vp","$Vq","$Vr","$Vs","$Vt","$Vu","$Vv","$Vw","$Vx","$Vy","$Vz","$VA","parser2","yytext","yyleng","yylineno","yy","yystate","$$","_$","$0","str","hash","error","input","self","stack","tstack","vstack","lstack","table","TERROR","EOF","args","lexer2","sharedState","yyloc","ranges","lex","token","symbol","state","action","r","yyval","p","len","newState","expected","errStr","lexer","ch","lines","oldLines","n","past","next","pre","c","match","indexed_rule","backup","tempMatch","index","rules","i","condition","yy_","$avoiding_name_collisions","YY_START","Parser","parser$1","relations","latestRequirement","requirements","latestElement","elements","RequirementType","RiskLevel","VerifyType","Relationships","addRequirement","name","type","getRequirements","setNewReqId","id","setNewReqText","text","setNewReqRisk","risk","setNewReqVerifyMethod","verifyMethod","addElement","log","getElements","setNewElementType","setNewElementDocRef","docRef","addRelationship","src","dst","getRelationships","clear","clear$1","db","getConfig","setAccTitle","getAccTitle","setAccDescription","getAccDescription","getStyles","options","styles","ReqMarkers","insertLineEndings","parentNode","conf2","containsNode","markers","conf","relCnt","newRectNode","newTitleNode","txts","x","title","textStr","yPadding","linePadding","totalY","newBodyNode","yStart","body","currentRow","charLimit","wrappedTxts","currentTextLen","firstPart","lastStr","addEdgeLabel","svgPath","txt","labelPoint","labelId","labelBBox","drawRelationshipFromLayout","svg","rel","g","insert","diagObj","edge","elementString","lineFunction","line","d","common","drawReqs","reqs","graph","svgNode","reqName","req","groupNode","textId","rectNode","titleNodeInfo","rectBBox","drawElements","els","elName","el","addRelationships","relationships","adjustEntities","draw","_version","securityLevel","sandboxElement","select","graphlib.Graph","requirements2","elements2","layout","padding","svgBounds","width","height","configureSvgSize","renderer","diagram"],"mappings":"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","x_google_ignoreList":[0]}
@@ -1,4 +1,4 @@
1
- import { c as rt, g as mt, s as _t, a as kt, b as xt, D as vt, C as bt, E as wt, j as St, aq as Lt, h as G, r as Et } from "./index-BdQ-n4gH.js";
1
+ import { c as rt, g as mt, s as _t, a as kt, b as xt, D as vt, C as bt, E as wt, j as St, aq as Lt, h as G, r as Et } from "./index-H0_TiiZ2.js";
2
2
  import { o as At } from "./ordinal-MUacOSdK.js";
3
3
  import { s as Tt } from "./Tableau10-GLA_9iAD.js";
4
4
  function ot(t, n) {
@@ -814,4 +814,4 @@ const fe = {
814
814
  export {
815
815
  fe as diagram
816
816
  };
817
- //# sourceMappingURL=sankeyDiagram-0acdec17-C_WfLS-d.js.map
817
+ //# sourceMappingURL=sankeyDiagram-0acdec17-mp2WREQF.js.map