{"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"no-ambiguous-paths","__idx":0},"children":["no-ambiguous-paths"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Ensures there are no ambiguous paths in your API descriptions."," ","When this rule is enabled, templated paths that support the same HTTP methods should not have ambiguous resolution."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["According to the OpenAPI specification:"]},{"$$mdtype":"Tag","name":"blockquote","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The following paths are considered identical and invalid:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"text","header":{"controls":{"copy":{}}},"source":"/pets/{petId}\n/pets/{name}\n","lang":"text"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The following may lead to ambiguous resolution:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"text","header":{"controls":{"copy":{}}},"source":"/{entity}/me\n/books/{id}\n","lang":"text"},"children":[]}]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"OAS"},"children":["OAS"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Compatibility"},"children":["Compatibility"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["2.0"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["✅"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["3.0"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["✅"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["3.1"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["✅"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["3.2"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["✅"]}]}]}]}]},{"$$mdtype":"Tag","name":"Diagram","attributes":{"data-language":"mermaid","diagramType":"mermaid","diagramSource":"flowchart TD\n\nRoot ==> Paths\n\nRoot ==> components\n\nstyle Paths fill:#codaf9,stroke:#0044d4,stroke-width:5px\n","diagramHtml":"<svg id=\"diagram-b40fa0982336e538ea564e5ec7f5b4c9776204f5654fb91c1855d4d5e8086f52\" width=\"100%\" xmlns=\"http://www.w3.org/2000/svg\" class=\"flowchart\" style=\"max-width: 314.09375px;\" viewBox=\"0 0 314.09375 174\" role=\"graphics-document document\" aria-roledescription=\"flowchart-v2\"><style>\n    #diagram-b40fa0982336e538ea564e5ec7f5b4c9776204f5654fb91c1855d4d5e8086f52 foreignObject {\n      overflow: visible;\n    }\n  </style><style>#diagram-b40fa0982336e538ea564e5ec7f5b4c9776204f5654fb91c1855d4d5e8086f52{font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#diagram-b40fa0982336e538ea564e5ec7f5b4c9776204f5654fb91c1855d4d5e8086f52 .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#diagram-b40fa0982336e538ea564e5ec7f5b4c9776204f5654fb91c1855d4d5e8086f52 .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#diagram-b40fa0982336e538ea564e5ec7f5b4c9776204f5654fb91c1855d4d5e8086f52 .error-icon{fill:#552222;}#diagram-b40fa0982336e538ea564e5ec7f5b4c9776204f5654fb91c1855d4d5e8086f52 .error-text{fill:#552222;stroke:#552222;}#diagram-b40fa0982336e538ea564e5ec7f5b4c9776204f5654fb91c1855d4d5e8086f52 .edge-thickness-normal{stroke-width:1px;}#diagram-b40fa0982336e538ea564e5ec7f5b4c9776204f5654fb91c1855d4d5e8086f52 .edge-thickness-thick{stroke-width:3.5px;}#diagram-b40fa0982336e538ea564e5ec7f5b4c9776204f5654fb91c1855d4d5e8086f52 .edge-pattern-solid{stroke-dasharray:0;}#diagram-b40fa0982336e538ea564e5ec7f5b4c9776204f5654fb91c1855d4d5e8086f52 .edge-thickness-invisible{stroke-width:0;fill:none;}#diagram-b40fa0982336e538ea564e5ec7f5b4c9776204f5654fb91c1855d4d5e8086f52 .edge-pattern-dashed{stroke-dasharray:3;}#diagram-b40fa0982336e538ea564e5ec7f5b4c9776204f5654fb91c1855d4d5e8086f52 .edge-pattern-dotted{stroke-dasharray:2;}#diagram-b40fa0982336e538ea564e5ec7f5b4c9776204f5654fb91c1855d4d5e8086f52 .marker{fill:#333333;stroke:#333333;}#diagram-b40fa0982336e538ea564e5ec7f5b4c9776204f5654fb91c1855d4d5e8086f52 .marker.cross{stroke:#333333;}#diagram-b40fa0982336e538ea564e5ec7f5b4c9776204f5654fb91c1855d4d5e8086f52 svg{font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;font-size:16px;}#diagram-b40fa0982336e538ea564e5ec7f5b4c9776204f5654fb91c1855d4d5e8086f52 p{margin:0;}#diagram-b40fa0982336e538ea564e5ec7f5b4c9776204f5654fb91c1855d4d5e8086f52 .label{font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;color:#333;}#diagram-b40fa0982336e538ea564e5ec7f5b4c9776204f5654fb91c1855d4d5e8086f52 .cluster-label text{fill:#333;}#diagram-b40fa0982336e538ea564e5ec7f5b4c9776204f5654fb91c1855d4d5e8086f52 .cluster-label span{color:#333;}#diagram-b40fa0982336e538ea564e5ec7f5b4c9776204f5654fb91c1855d4d5e8086f52 .cluster-label span p{background-color:transparent;}#diagram-b40fa0982336e538ea564e5ec7f5b4c9776204f5654fb91c1855d4d5e8086f52 .label text,#diagram-b40fa0982336e538ea564e5ec7f5b4c9776204f5654fb91c1855d4d5e8086f52 span{fill:#333;color:#333;}#diagram-b40fa0982336e538ea564e5ec7f5b4c9776204f5654fb91c1855d4d5e8086f52 .node rect,#diagram-b40fa0982336e538ea564e5ec7f5b4c9776204f5654fb91c1855d4d5e8086f52 .node circle,#diagram-b40fa0982336e538ea564e5ec7f5b4c9776204f5654fb91c1855d4d5e8086f52 .node ellipse,#diagram-b40fa0982336e538ea564e5ec7f5b4c9776204f5654fb91c1855d4d5e8086f52 .node polygon,#diagram-b40fa0982336e538ea564e5ec7f5b4c9776204f5654fb91c1855d4d5e8086f52 .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#diagram-b40fa0982336e538ea564e5ec7f5b4c9776204f5654fb91c1855d4d5e8086f52 .rough-node .label text,#diagram-b40fa0982336e538ea564e5ec7f5b4c9776204f5654fb91c1855d4d5e8086f52 .node .label text,#diagram-b40fa0982336e538ea564e5ec7f5b4c9776204f5654fb91c1855d4d5e8086f52 .image-shape .label,#diagram-b40fa0982336e538ea564e5ec7f5b4c9776204f5654fb91c1855d4d5e8086f52 .icon-shape .label{text-anchor:middle;}#diagram-b40fa0982336e538ea564e5ec7f5b4c9776204f5654fb91c1855d4d5e8086f52 .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#diagram-b40fa0982336e538ea564e5ec7f5b4c9776204f5654fb91c1855d4d5e8086f52 .rough-node .label,#diagram-b40fa0982336e538ea564e5ec7f5b4c9776204f5654fb91c1855d4d5e8086f52 .node .label,#diagram-b40fa0982336e538ea564e5ec7f5b4c9776204f5654fb91c1855d4d5e8086f52 .image-shape .label,#diagram-b40fa0982336e538ea564e5ec7f5b4c9776204f5654fb91c1855d4d5e8086f52 .icon-shape .label{text-align:center;}#diagram-b40fa0982336e538ea564e5ec7f5b4c9776204f5654fb91c1855d4d5e8086f52 .node.clickable{cursor:pointer;}#diagram-b40fa0982336e538ea564e5ec7f5b4c9776204f5654fb91c1855d4d5e8086f52 .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#diagram-b40fa0982336e538ea564e5ec7f5b4c9776204f5654fb91c1855d4d5e8086f52 .arrowheadPath{fill:#333333;}#diagram-b40fa0982336e538ea564e5ec7f5b4c9776204f5654fb91c1855d4d5e8086f52 .edgePath .path{stroke:#333333;stroke-width:1px;}#diagram-b40fa0982336e538ea564e5ec7f5b4c9776204f5654fb91c1855d4d5e8086f52 .flowchart-link{stroke:#333333;fill:none;}#diagram-b40fa0982336e538ea564e5ec7f5b4c9776204f5654fb91c1855d4d5e8086f52 .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#diagram-b40fa0982336e538ea564e5ec7f5b4c9776204f5654fb91c1855d4d5e8086f52 .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#diagram-b40fa0982336e538ea564e5ec7f5b4c9776204f5654fb91c1855d4d5e8086f52 .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#diagram-b40fa0982336e538ea564e5ec7f5b4c9776204f5654fb91c1855d4d5e8086f52 .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#diagram-b40fa0982336e538ea564e5ec7f5b4c9776204f5654fb91c1855d4d5e8086f52 .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#diagram-b40fa0982336e538ea564e5ec7f5b4c9776204f5654fb91c1855d4d5e8086f52 .cluster text{fill:#333;}#diagram-b40fa0982336e538ea564e5ec7f5b4c9776204f5654fb91c1855d4d5e8086f52 .cluster span{color:#333;}#diagram-b40fa0982336e538ea564e5ec7f5b4c9776204f5654fb91c1855d4d5e8086f52 div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#diagram-b40fa0982336e538ea564e5ec7f5b4c9776204f5654fb91c1855d4d5e8086f52 .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#diagram-b40fa0982336e538ea564e5ec7f5b4c9776204f5654fb91c1855d4d5e8086f52 rect.text{fill:none;stroke-width:0;}#diagram-b40fa0982336e538ea564e5ec7f5b4c9776204f5654fb91c1855d4d5e8086f52 .icon-shape,#diagram-b40fa0982336e538ea564e5ec7f5b4c9776204f5654fb91c1855d4d5e8086f52 .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#diagram-b40fa0982336e538ea564e5ec7f5b4c9776204f5654fb91c1855d4d5e8086f52 .icon-shape p,#diagram-b40fa0982336e538ea564e5ec7f5b4c9776204f5654fb91c1855d4d5e8086f52 .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#diagram-b40fa0982336e538ea564e5ec7f5b4c9776204f5654fb91c1855d4d5e8086f52 .icon-shape .label rect,#diagram-b40fa0982336e538ea564e5ec7f5b4c9776204f5654fb91c1855d4d5e8086f52 .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#diagram-b40fa0982336e538ea564e5ec7f5b4c9776204f5654fb91c1855d4d5e8086f52 .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#diagram-b40fa0982336e538ea564e5ec7f5b4c9776204f5654fb91c1855d4d5e8086f52 .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#diagram-b40fa0982336e538ea564e5ec7f5b4c9776204f5654fb91c1855d4d5e8086f52 .node .neo-node{stroke:#9370DB;}#diagram-b40fa0982336e538ea564e5ec7f5b4c9776204f5654fb91c1855d4d5e8086f52 [data-look=\"neo\"].node rect,#diagram-b40fa0982336e538ea564e5ec7f5b4c9776204f5654fb91c1855d4d5e8086f52 [data-look=\"neo\"].cluster rect,#diagram-b40fa0982336e538ea564e5ec7f5b4c9776204f5654fb91c1855d4d5e8086f52 [data-look=\"neo\"].node polygon{stroke:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-b40fa0982336e538ea564e5ec7f5b4c9776204f5654fb91c1855d4d5e8086f52 [data-look=\"neo\"].swimlane.cluster rect{filter:none;}#diagram-b40fa0982336e538ea564e5ec7f5b4c9776204f5654fb91c1855d4d5e8086f52 [data-look=\"neo\"].node path{stroke:#9370DB;stroke-width:1px;}#diagram-b40fa0982336e538ea564e5ec7f5b4c9776204f5654fb91c1855d4d5e8086f52 [data-look=\"neo\"].node .outer-path{filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-b40fa0982336e538ea564e5ec7f5b4c9776204f5654fb91c1855d4d5e8086f52 [data-look=\"neo\"].node .neo-line path{stroke:#9370DB;filter:none;}#diagram-b40fa0982336e538ea564e5ec7f5b4c9776204f5654fb91c1855d4d5e8086f52 [data-look=\"neo\"].node circle{stroke:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-b40fa0982336e538ea564e5ec7f5b4c9776204f5654fb91c1855d4d5e8086f52 [data-look=\"neo\"].node circle .state-start{fill:#000000;}#diagram-b40fa0982336e538ea564e5ec7f5b4c9776204f5654fb91c1855d4d5e8086f52 [data-look=\"neo\"].icon-shape .icon{fill:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-b40fa0982336e538ea564e5ec7f5b4c9776204f5654fb91c1855d4d5e8086f52 [data-look=\"neo\"].icon-shape .icon-neo path{stroke:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-b40fa0982336e538ea564e5ec7f5b4c9776204f5654fb91c1855d4d5e8086f52 :root{--mermaid-font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;}</style><g><marker id=\"diagram-b40fa0982336e538ea564e5ec7f5b4c9776204f5654fb91c1855d4d5e8086f52_flowchart-v2-pointEnd\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"5\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"8\" markerHeight=\"8\" orient=\"auto\"><path d=\"M 0 0 L 10 5 L 0 10 z\" class=\"arrowMarkerPath\" style=\"stroke-width: 1; stroke-dasharray: 1, 0;\"></path></marker><marker id=\"diagram-b40fa0982336e538ea564e5ec7f5b4c9776204f5654fb91c1855d4d5e8086f52_flowchart-v2-pointStart\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"4.5\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"8\" markerHeight=\"8\" orient=\"auto\"><path d=\"M 0 5 L 10 10 L 10 0 z\" class=\"arrowMarkerPath\" style=\"stroke-width: 1; stroke-dasharray: 1, 0;\"></path></marker><marker id=\"diagram-b40fa0982336e538ea564e5ec7f5b4c9776204f5654fb91c1855d4d5e8086f52_flowchart-v2-pointEnd-margin\" class=\"marker flowchart-v2\" viewBox=\"0 0 11.5 14\" refX=\"11.5\" refY=\"7\" markerUnits=\"userSpaceOnUse\" markerWidth=\"10.5\" markerHeight=\"14\" orient=\"auto\"><path d=\"M 0 0 L 11.5 7 L 0 14 z\" class=\"arrowMarkerPath\" style=\"stroke-width: 0; stroke-dasharray: 1, 0;\"></path></marker><marker id=\"diagram-b40fa0982336e538ea564e5ec7f5b4c9776204f5654fb91c1855d4d5e8086f52_flowchart-v2-pointStart-margin\" class=\"marker flowchart-v2\" viewBox=\"0 0 11.5 14\" refX=\"1\" refY=\"7\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11.5\" markerHeight=\"14\" orient=\"auto\"><polygon points=\"0,7 11.5,14 11.5,0\" class=\"arrowMarkerPath\" style=\"stroke-width: 0; stroke-dasharray: 1, 0;\"></polygon></marker><marker id=\"diagram-b40fa0982336e538ea564e5ec7f5b4c9776204f5654fb91c1855d4d5e8086f52_flowchart-v2-circleEnd\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"11\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11\" markerHeight=\"11\" orient=\"auto\"><circle cx=\"5\" cy=\"5\" r=\"5\" class=\"arrowMarkerPath\" style=\"stroke-width: 1; stroke-dasharray: 1, 0;\"></circle></marker><marker id=\"diagram-b40fa0982336e538ea564e5ec7f5b4c9776204f5654fb91c1855d4d5e8086f52_flowchart-v2-circleStart\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"-1\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11\" markerHeight=\"11\" orient=\"auto\"><circle cx=\"5\" cy=\"5\" r=\"5\" class=\"arrowMarkerPath\" style=\"stroke-width: 1; stroke-dasharray: 1, 0;\"></circle></marker><marker id=\"diagram-b40fa0982336e538ea564e5ec7f5b4c9776204f5654fb91c1855d4d5e8086f52_flowchart-v2-circleEnd-margin\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refY=\"5\" refX=\"12.25\" markerUnits=\"userSpaceOnUse\" markerWidth=\"14\" markerHeight=\"14\" orient=\"auto\"><circle cx=\"5\" cy=\"5\" r=\"5\" class=\"arrowMarkerPath\" style=\"stroke-width: 0; stroke-dasharray: 1, 0;\"></circle></marker><marker id=\"diagram-b40fa0982336e538ea564e5ec7f5b4c9776204f5654fb91c1855d4d5e8086f52_flowchart-v2-circleStart-margin\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"-2\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"14\" markerHeight=\"14\" orient=\"auto\"><circle cx=\"5\" cy=\"5\" r=\"5\" class=\"arrowMarkerPath\" style=\"stroke-width: 0; stroke-dasharray: 1, 0;\"></circle></marker><marker id=\"diagram-b40fa0982336e538ea564e5ec7f5b4c9776204f5654fb91c1855d4d5e8086f52_flowchart-v2-crossEnd\" class=\"marker cross flowchart-v2\" viewBox=\"0 0 11 11\" refX=\"12\" refY=\"5.2\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11\" markerHeight=\"11\" orient=\"auto\"><path d=\"M 1,1 l 9,9 M 10,1 l -9,9\" class=\"arrowMarkerPath\" style=\"stroke-width: 2; stroke-dasharray: 1, 0;\"></path></marker><marker id=\"diagram-b40fa0982336e538ea564e5ec7f5b4c9776204f5654fb91c1855d4d5e8086f52_flowchart-v2-crossStart\" class=\"marker cross flowchart-v2\" viewBox=\"0 0 11 11\" refX=\"-1\" refY=\"5.2\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11\" markerHeight=\"11\" orient=\"auto\"><path d=\"M 1,1 l 9,9 M 10,1 l -9,9\" class=\"arrowMarkerPath\" style=\"stroke-width: 2; stroke-dasharray: 1, 0;\"></path></marker><marker id=\"diagram-b40fa0982336e538ea564e5ec7f5b4c9776204f5654fb91c1855d4d5e8086f52_flowchart-v2-crossEnd-margin\" class=\"marker cross flowchart-v2\" viewBox=\"0 0 15 15\" refX=\"17.7\" refY=\"7.5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"12\" markerHeight=\"12\" orient=\"auto\"><path d=\"M 1,1 L 14,14 M 1,14 L 14,1\" class=\"arrowMarkerPath\" style=\"stroke-width: 2.5;\"></path></marker><marker id=\"diagram-b40fa0982336e538ea564e5ec7f5b4c9776204f5654fb91c1855d4d5e8086f52_flowchart-v2-crossStart-margin\" class=\"marker cross flowchart-v2\" viewBox=\"0 0 15 15\" refX=\"-3.5\" refY=\"7.5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"12\" markerHeight=\"12\" orient=\"auto\"><path d=\"M 1,1 L 14,14 M 1,14 L 14,1\" class=\"arrowMarkerPath\" style=\"stroke-width: 2.5; stroke-dasharray: 1, 0;\"></path></marker><g class=\"root\"><g class=\"clusters\"></g><g class=\"edgePaths\"><path d=\"M100.299,62L93.326,66.167C86.353,70.333,72.407,78.667,65.434,86.333C58.461,94,58.461,101,58.461,104.5L58.461,108\" id=\"diagram-b40fa0982336e538ea564e5ec7f5b4c9776204f5654fb91c1855d4d5e8086f52-L_Root_Paths_0\" class=\"edge-thickness-thick edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_Root_Paths_0\" data-points=\"W3sieCI6MTAwLjI5OTEyODYwNTc2OTIzLCJ5Ijo2Mn0seyJ4Ijo1OC40NjA5Mzc1LCJ5Ijo4N30seyJ4Ijo1OC40NjA5Mzc1LCJ5IjoxMTJ9XQ==\" data-look=\"classic\" marker-end=\"url(#diagram-b40fa0982336e538ea564e5ec7f5b4c9776204f5654fb91c1855d4d5e8086f52_flowchart-v2-pointEnd)\"></path><path d=\"M190.67,62L197.643,66.167C204.616,70.333,218.562,78.667,225.535,86.333C232.508,94,232.508,101,232.508,104.5L232.508,108\" id=\"diagram-b40fa0982336e538ea564e5ec7f5b4c9776204f5654fb91c1855d4d5e8086f52-L_Root_components_0\" class=\"edge-thickness-thick edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_Root_components_0\" data-points=\"W3sieCI6MTkwLjY2OTYyMTM5NDIzMDc3LCJ5Ijo2Mn0seyJ4IjoyMzIuNTA3ODEyNSwieSI6ODd9LHsieCI6MjMyLjUwNzgxMjUsInkiOjExMn1d\" data-look=\"classic\" marker-end=\"url(#diagram-b40fa0982336e538ea564e5ec7f5b4c9776204f5654fb91c1855d4d5e8086f52_flowchart-v2-pointEnd)\"></path></g><g class=\"edgeLabels\"><g class=\"edgeLabel\"><g class=\"label\" data-id=\"L_Root_Paths_0\" transform=\"translate(0, 0)\"><foreignObject width=\"0\" height=\"0\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"></span></div></foreignObject></g></g><g class=\"edgeLabel\"><g class=\"label\" data-id=\"L_Root_components_0\" transform=\"translate(0, 0)\"><foreignObject width=\"0\" height=\"0\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"></span></div></foreignObject></g></g></g><g class=\"nodes\"><g class=\"node default\" id=\"diagram-b40fa0982336e538ea564e5ec7f5b4c9776204f5654fb91c1855d4d5e8086f52-flowchart-Root-0\" data-look=\"classic\" transform=\"translate(145.484375, 35)\"><rect class=\"basic label-container\" style=\"\" x=\"-46.8984375\" y=\"-27\" width=\"93.796875\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-16.8984375, -12)\"><rect></rect><foreignObject width=\"33.796875\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>Root</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-b40fa0982336e538ea564e5ec7f5b4c9776204f5654fb91c1855d4d5e8086f52-flowchart-Paths-1\" data-look=\"classic\" transform=\"translate(58.4609375, 139)\"><rect class=\"basic label-container\" style=\"fill:#codaf9 !important;stroke:#0044d4 !important;stroke-width:5px !important\" x=\"-50.4609375\" y=\"-27\" width=\"100.921875\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-20.4609375, -12)\"><rect></rect><foreignObject width=\"40.921875\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>Paths</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-b40fa0982336e538ea564e5ec7f5b4c9776204f5654fb91c1855d4d5e8086f52-flowchart-components-3\" data-look=\"classic\" transform=\"translate(232.5078125, 139)\"><rect class=\"basic label-container\" style=\"\" x=\"-73.5859375\" y=\"-27\" width=\"147.171875\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-43.5859375, -12)\"><rect></rect><foreignObject width=\"87.171875\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>components</p></span></div></foreignObject></g></g></g></g></g><defs><filter id=\"diagram-b40fa0982336e538ea564e5ec7f5b4c9776204f5654fb91c1855d4d5e8086f52-drop-shadow\" height=\"130%\" width=\"130%\"><feDropShadow dx=\"4\" dy=\"4\" stdDeviation=\"0\" flood-opacity=\"0.06\" flood-color=\"#000000\"></feDropShadow></filter></defs><defs><filter id=\"diagram-b40fa0982336e538ea564e5ec7f5b4c9776204f5654fb91c1855d4d5e8086f52-drop-shadow-small\" height=\"150%\" width=\"150%\"><feDropShadow dx=\"2\" dy=\"2\" stdDeviation=\"0\" flood-opacity=\"0.06\" flood-color=\"#000000\"></feDropShadow></filter></defs></svg>","diagramHtmlDark":"<svg id=\"diagram-05c83cacd7cd16d4878cc2a6d8cb2d36a896b288ddb018c8d68cf9f07b0d9231\" width=\"100%\" xmlns=\"http://www.w3.org/2000/svg\" class=\"flowchart\" style=\"max-width: 314.09375px;\" viewBox=\"0 0 314.09375 174\" role=\"graphics-document document\" aria-roledescription=\"flowchart-v2\"><style>\n    #diagram-05c83cacd7cd16d4878cc2a6d8cb2d36a896b288ddb018c8d68cf9f07b0d9231 foreignObject {\n      overflow: visible;\n    }\n  </style><style>#diagram-05c83cacd7cd16d4878cc2a6d8cb2d36a896b288ddb018c8d68cf9f07b0d9231{font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;font-size:16px;fill:#ccc;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#diagram-05c83cacd7cd16d4878cc2a6d8cb2d36a896b288ddb018c8d68cf9f07b0d9231 .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#diagram-05c83cacd7cd16d4878cc2a6d8cb2d36a896b288ddb018c8d68cf9f07b0d9231 .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#diagram-05c83cacd7cd16d4878cc2a6d8cb2d36a896b288ddb018c8d68cf9f07b0d9231 .error-icon{fill:#a44141;}#diagram-05c83cacd7cd16d4878cc2a6d8cb2d36a896b288ddb018c8d68cf9f07b0d9231 .error-text{fill:#ddd;stroke:#ddd;}#diagram-05c83cacd7cd16d4878cc2a6d8cb2d36a896b288ddb018c8d68cf9f07b0d9231 .edge-thickness-normal{stroke-width:1px;}#diagram-05c83cacd7cd16d4878cc2a6d8cb2d36a896b288ddb018c8d68cf9f07b0d9231 .edge-thickness-thick{stroke-width:3.5px;}#diagram-05c83cacd7cd16d4878cc2a6d8cb2d36a896b288ddb018c8d68cf9f07b0d9231 .edge-pattern-solid{stroke-dasharray:0;}#diagram-05c83cacd7cd16d4878cc2a6d8cb2d36a896b288ddb018c8d68cf9f07b0d9231 .edge-thickness-invisible{stroke-width:0;fill:none;}#diagram-05c83cacd7cd16d4878cc2a6d8cb2d36a896b288ddb018c8d68cf9f07b0d9231 .edge-pattern-dashed{stroke-dasharray:3;}#diagram-05c83cacd7cd16d4878cc2a6d8cb2d36a896b288ddb018c8d68cf9f07b0d9231 .edge-pattern-dotted{stroke-dasharray:2;}#diagram-05c83cacd7cd16d4878cc2a6d8cb2d36a896b288ddb018c8d68cf9f07b0d9231 .marker{fill:lightgrey;stroke:lightgrey;}#diagram-05c83cacd7cd16d4878cc2a6d8cb2d36a896b288ddb018c8d68cf9f07b0d9231 .marker.cross{stroke:lightgrey;}#diagram-05c83cacd7cd16d4878cc2a6d8cb2d36a896b288ddb018c8d68cf9f07b0d9231 svg{font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;font-size:16px;}#diagram-05c83cacd7cd16d4878cc2a6d8cb2d36a896b288ddb018c8d68cf9f07b0d9231 p{margin:0;}#diagram-05c83cacd7cd16d4878cc2a6d8cb2d36a896b288ddb018c8d68cf9f07b0d9231 .label{font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;color:#ccc;}#diagram-05c83cacd7cd16d4878cc2a6d8cb2d36a896b288ddb018c8d68cf9f07b0d9231 .cluster-label text{fill:#F9FFFE;}#diagram-05c83cacd7cd16d4878cc2a6d8cb2d36a896b288ddb018c8d68cf9f07b0d9231 .cluster-label span{color:#F9FFFE;}#diagram-05c83cacd7cd16d4878cc2a6d8cb2d36a896b288ddb018c8d68cf9f07b0d9231 .cluster-label span p{background-color:transparent;}#diagram-05c83cacd7cd16d4878cc2a6d8cb2d36a896b288ddb018c8d68cf9f07b0d9231 .label text,#diagram-05c83cacd7cd16d4878cc2a6d8cb2d36a896b288ddb018c8d68cf9f07b0d9231 span{fill:#ccc;color:#ccc;}#diagram-05c83cacd7cd16d4878cc2a6d8cb2d36a896b288ddb018c8d68cf9f07b0d9231 .node rect,#diagram-05c83cacd7cd16d4878cc2a6d8cb2d36a896b288ddb018c8d68cf9f07b0d9231 .node circle,#diagram-05c83cacd7cd16d4878cc2a6d8cb2d36a896b288ddb018c8d68cf9f07b0d9231 .node ellipse,#diagram-05c83cacd7cd16d4878cc2a6d8cb2d36a896b288ddb018c8d68cf9f07b0d9231 .node polygon,#diagram-05c83cacd7cd16d4878cc2a6d8cb2d36a896b288ddb018c8d68cf9f07b0d9231 .node path{fill:#1f2020;stroke:#ccc;stroke-width:1px;}#diagram-05c83cacd7cd16d4878cc2a6d8cb2d36a896b288ddb018c8d68cf9f07b0d9231 .rough-node .label text,#diagram-05c83cacd7cd16d4878cc2a6d8cb2d36a896b288ddb018c8d68cf9f07b0d9231 .node .label text,#diagram-05c83cacd7cd16d4878cc2a6d8cb2d36a896b288ddb018c8d68cf9f07b0d9231 .image-shape .label,#diagram-05c83cacd7cd16d4878cc2a6d8cb2d36a896b288ddb018c8d68cf9f07b0d9231 .icon-shape .label{text-anchor:middle;}#diagram-05c83cacd7cd16d4878cc2a6d8cb2d36a896b288ddb018c8d68cf9f07b0d9231 .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#diagram-05c83cacd7cd16d4878cc2a6d8cb2d36a896b288ddb018c8d68cf9f07b0d9231 .rough-node .label,#diagram-05c83cacd7cd16d4878cc2a6d8cb2d36a896b288ddb018c8d68cf9f07b0d9231 .node .label,#diagram-05c83cacd7cd16d4878cc2a6d8cb2d36a896b288ddb018c8d68cf9f07b0d9231 .image-shape .label,#diagram-05c83cacd7cd16d4878cc2a6d8cb2d36a896b288ddb018c8d68cf9f07b0d9231 .icon-shape .label{text-align:center;}#diagram-05c83cacd7cd16d4878cc2a6d8cb2d36a896b288ddb018c8d68cf9f07b0d9231 .node.clickable{cursor:pointer;}#diagram-05c83cacd7cd16d4878cc2a6d8cb2d36a896b288ddb018c8d68cf9f07b0d9231 .root .anchor path{fill:lightgrey!important;stroke-width:0;stroke:lightgrey;}#diagram-05c83cacd7cd16d4878cc2a6d8cb2d36a896b288ddb018c8d68cf9f07b0d9231 .arrowheadPath{fill:lightgrey;}#diagram-05c83cacd7cd16d4878cc2a6d8cb2d36a896b288ddb018c8d68cf9f07b0d9231 .edgePath .path{stroke:lightgrey;stroke-width:1px;}#diagram-05c83cacd7cd16d4878cc2a6d8cb2d36a896b288ddb018c8d68cf9f07b0d9231 .flowchart-link{stroke:lightgrey;fill:none;}#diagram-05c83cacd7cd16d4878cc2a6d8cb2d36a896b288ddb018c8d68cf9f07b0d9231 .edgeLabel{background-color:hsl(0, 0%, 34.4117647059%);text-align:center;}#diagram-05c83cacd7cd16d4878cc2a6d8cb2d36a896b288ddb018c8d68cf9f07b0d9231 .edgeLabel p{background-color:hsl(0, 0%, 34.4117647059%);}#diagram-05c83cacd7cd16d4878cc2a6d8cb2d36a896b288ddb018c8d68cf9f07b0d9231 .edgeLabel rect{opacity:0.5;background-color:hsl(0, 0%, 34.4117647059%);fill:hsl(0, 0%, 34.4117647059%);}#diagram-05c83cacd7cd16d4878cc2a6d8cb2d36a896b288ddb018c8d68cf9f07b0d9231 .labelBkg{background-color:rgba(87.75, 87.75, 87.75, 0.5);}#diagram-05c83cacd7cd16d4878cc2a6d8cb2d36a896b288ddb018c8d68cf9f07b0d9231 .cluster rect{fill:hsl(180, 1.5873015873%, 28.3529411765%);stroke:rgba(255, 255, 255, 0.25);stroke-width:1px;}#diagram-05c83cacd7cd16d4878cc2a6d8cb2d36a896b288ddb018c8d68cf9f07b0d9231 .cluster text{fill:#F9FFFE;}#diagram-05c83cacd7cd16d4878cc2a6d8cb2d36a896b288ddb018c8d68cf9f07b0d9231 .cluster span{color:#F9FFFE;}#diagram-05c83cacd7cd16d4878cc2a6d8cb2d36a896b288ddb018c8d68cf9f07b0d9231 div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;font-size:12px;background:hsl(20, 1.5873015873%, 12.3529411765%);border:1px solid rgba(255, 255, 255, 0.25);border-radius:2px;pointer-events:none;z-index:100;}#diagram-05c83cacd7cd16d4878cc2a6d8cb2d36a896b288ddb018c8d68cf9f07b0d9231 .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#ccc;}#diagram-05c83cacd7cd16d4878cc2a6d8cb2d36a896b288ddb018c8d68cf9f07b0d9231 rect.text{fill:none;stroke-width:0;}#diagram-05c83cacd7cd16d4878cc2a6d8cb2d36a896b288ddb018c8d68cf9f07b0d9231 .icon-shape,#diagram-05c83cacd7cd16d4878cc2a6d8cb2d36a896b288ddb018c8d68cf9f07b0d9231 .image-shape{background-color:hsl(0, 0%, 34.4117647059%);text-align:center;}#diagram-05c83cacd7cd16d4878cc2a6d8cb2d36a896b288ddb018c8d68cf9f07b0d9231 .icon-shape p,#diagram-05c83cacd7cd16d4878cc2a6d8cb2d36a896b288ddb018c8d68cf9f07b0d9231 .image-shape p{background-color:hsl(0, 0%, 34.4117647059%);padding:2px;}#diagram-05c83cacd7cd16d4878cc2a6d8cb2d36a896b288ddb018c8d68cf9f07b0d9231 .icon-shape .label rect,#diagram-05c83cacd7cd16d4878cc2a6d8cb2d36a896b288ddb018c8d68cf9f07b0d9231 .image-shape .label rect{opacity:0.5;background-color:hsl(0, 0%, 34.4117647059%);fill:hsl(0, 0%, 34.4117647059%);}#diagram-05c83cacd7cd16d4878cc2a6d8cb2d36a896b288ddb018c8d68cf9f07b0d9231 .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#diagram-05c83cacd7cd16d4878cc2a6d8cb2d36a896b288ddb018c8d68cf9f07b0d9231 .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#diagram-05c83cacd7cd16d4878cc2a6d8cb2d36a896b288ddb018c8d68cf9f07b0d9231 .node .neo-node{stroke:#ccc;}#diagram-05c83cacd7cd16d4878cc2a6d8cb2d36a896b288ddb018c8d68cf9f07b0d9231 [data-look=\"neo\"].node rect,#diagram-05c83cacd7cd16d4878cc2a6d8cb2d36a896b288ddb018c8d68cf9f07b0d9231 [data-look=\"neo\"].cluster rect,#diagram-05c83cacd7cd16d4878cc2a6d8cb2d36a896b288ddb018c8d68cf9f07b0d9231 [data-look=\"neo\"].node polygon{stroke:url(#diagram-05c83cacd7cd16d4878cc2a6d8cb2d36a896b288ddb018c8d68cf9f07b0d9231-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#diagram-05c83cacd7cd16d4878cc2a6d8cb2d36a896b288ddb018c8d68cf9f07b0d9231 [data-look=\"neo\"].swimlane.cluster rect{filter:none;}#diagram-05c83cacd7cd16d4878cc2a6d8cb2d36a896b288ddb018c8d68cf9f07b0d9231 [data-look=\"neo\"].node path{stroke:url(#diagram-05c83cacd7cd16d4878cc2a6d8cb2d36a896b288ddb018c8d68cf9f07b0d9231-gradient);stroke-width:1px;}#diagram-05c83cacd7cd16d4878cc2a6d8cb2d36a896b288ddb018c8d68cf9f07b0d9231 [data-look=\"neo\"].node .outer-path{filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#diagram-05c83cacd7cd16d4878cc2a6d8cb2d36a896b288ddb018c8d68cf9f07b0d9231 [data-look=\"neo\"].node .neo-line path{stroke:#ccc;filter:none;}#diagram-05c83cacd7cd16d4878cc2a6d8cb2d36a896b288ddb018c8d68cf9f07b0d9231 [data-look=\"neo\"].node circle{stroke:url(#diagram-05c83cacd7cd16d4878cc2a6d8cb2d36a896b288ddb018c8d68cf9f07b0d9231-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#diagram-05c83cacd7cd16d4878cc2a6d8cb2d36a896b288ddb018c8d68cf9f07b0d9231 [data-look=\"neo\"].node circle .state-start{fill:#000000;}#diagram-05c83cacd7cd16d4878cc2a6d8cb2d36a896b288ddb018c8d68cf9f07b0d9231 [data-look=\"neo\"].icon-shape .icon{fill:url(#diagram-05c83cacd7cd16d4878cc2a6d8cb2d36a896b288ddb018c8d68cf9f07b0d9231-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#diagram-05c83cacd7cd16d4878cc2a6d8cb2d36a896b288ddb018c8d68cf9f07b0d9231 [data-look=\"neo\"].icon-shape .icon-neo path{stroke:url(#diagram-05c83cacd7cd16d4878cc2a6d8cb2d36a896b288ddb018c8d68cf9f07b0d9231-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#diagram-05c83cacd7cd16d4878cc2a6d8cb2d36a896b288ddb018c8d68cf9f07b0d9231 :root{--mermaid-font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;}</style><g><marker id=\"diagram-05c83cacd7cd16d4878cc2a6d8cb2d36a896b288ddb018c8d68cf9f07b0d9231_flowchart-v2-pointEnd\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"5\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"8\" markerHeight=\"8\" orient=\"auto\"><path d=\"M 0 0 L 10 5 L 0 10 z\" class=\"arrowMarkerPath\" style=\"stroke-width: 1; stroke-dasharray: 1, 0;\"></path></marker><marker id=\"diagram-05c83cacd7cd16d4878cc2a6d8cb2d36a896b288ddb018c8d68cf9f07b0d9231_flowchart-v2-pointStart\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"4.5\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"8\" markerHeight=\"8\" orient=\"auto\"><path d=\"M 0 5 L 10 10 L 10 0 z\" class=\"arrowMarkerPath\" style=\"stroke-width: 1; stroke-dasharray: 1, 0;\"></path></marker><marker id=\"diagram-05c83cacd7cd16d4878cc2a6d8cb2d36a896b288ddb018c8d68cf9f07b0d9231_flowchart-v2-pointEnd-margin\" class=\"marker flowchart-v2\" viewBox=\"0 0 11.5 14\" refX=\"11.5\" refY=\"7\" markerUnits=\"userSpaceOnUse\" markerWidth=\"10.5\" markerHeight=\"14\" orient=\"auto\"><path d=\"M 0 0 L 11.5 7 L 0 14 z\" class=\"arrowMarkerPath\" style=\"stroke-width: 0; stroke-dasharray: 1, 0;\"></path></marker><marker id=\"diagram-05c83cacd7cd16d4878cc2a6d8cb2d36a896b288ddb018c8d68cf9f07b0d9231_flowchart-v2-pointStart-margin\" class=\"marker flowchart-v2\" viewBox=\"0 0 11.5 14\" refX=\"1\" refY=\"7\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11.5\" markerHeight=\"14\" orient=\"auto\"><polygon points=\"0,7 11.5,14 11.5,0\" class=\"arrowMarkerPath\" style=\"stroke-width: 0; stroke-dasharray: 1, 0;\"></polygon></marker><marker id=\"diagram-05c83cacd7cd16d4878cc2a6d8cb2d36a896b288ddb018c8d68cf9f07b0d9231_flowchart-v2-circleEnd\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"11\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11\" markerHeight=\"11\" orient=\"auto\"><circle cx=\"5\" cy=\"5\" r=\"5\" class=\"arrowMarkerPath\" style=\"stroke-width: 1; stroke-dasharray: 1, 0;\"></circle></marker><marker id=\"diagram-05c83cacd7cd16d4878cc2a6d8cb2d36a896b288ddb018c8d68cf9f07b0d9231_flowchart-v2-circleStart\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"-1\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11\" markerHeight=\"11\" orient=\"auto\"><circle cx=\"5\" cy=\"5\" r=\"5\" class=\"arrowMarkerPath\" style=\"stroke-width: 1; stroke-dasharray: 1, 0;\"></circle></marker><marker id=\"diagram-05c83cacd7cd16d4878cc2a6d8cb2d36a896b288ddb018c8d68cf9f07b0d9231_flowchart-v2-circleEnd-margin\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refY=\"5\" refX=\"12.25\" markerUnits=\"userSpaceOnUse\" markerWidth=\"14\" markerHeight=\"14\" orient=\"auto\"><circle cx=\"5\" cy=\"5\" r=\"5\" class=\"arrowMarkerPath\" style=\"stroke-width: 0; stroke-dasharray: 1, 0;\"></circle></marker><marker id=\"diagram-05c83cacd7cd16d4878cc2a6d8cb2d36a896b288ddb018c8d68cf9f07b0d9231_flowchart-v2-circleStart-margin\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"-2\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"14\" markerHeight=\"14\" orient=\"auto\"><circle cx=\"5\" cy=\"5\" r=\"5\" class=\"arrowMarkerPath\" style=\"stroke-width: 0; stroke-dasharray: 1, 0;\"></circle></marker><marker id=\"diagram-05c83cacd7cd16d4878cc2a6d8cb2d36a896b288ddb018c8d68cf9f07b0d9231_flowchart-v2-crossEnd\" class=\"marker cross flowchart-v2\" viewBox=\"0 0 11 11\" refX=\"12\" refY=\"5.2\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11\" markerHeight=\"11\" orient=\"auto\"><path d=\"M 1,1 l 9,9 M 10,1 l -9,9\" class=\"arrowMarkerPath\" style=\"stroke-width: 2; stroke-dasharray: 1, 0;\"></path></marker><marker id=\"diagram-05c83cacd7cd16d4878cc2a6d8cb2d36a896b288ddb018c8d68cf9f07b0d9231_flowchart-v2-crossStart\" class=\"marker cross flowchart-v2\" viewBox=\"0 0 11 11\" refX=\"-1\" refY=\"5.2\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11\" markerHeight=\"11\" orient=\"auto\"><path d=\"M 1,1 l 9,9 M 10,1 l -9,9\" class=\"arrowMarkerPath\" style=\"stroke-width: 2; stroke-dasharray: 1, 0;\"></path></marker><marker id=\"diagram-05c83cacd7cd16d4878cc2a6d8cb2d36a896b288ddb018c8d68cf9f07b0d9231_flowchart-v2-crossEnd-margin\" class=\"marker cross flowchart-v2\" viewBox=\"0 0 15 15\" refX=\"17.7\" refY=\"7.5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"12\" markerHeight=\"12\" orient=\"auto\"><path d=\"M 1,1 L 14,14 M 1,14 L 14,1\" class=\"arrowMarkerPath\" style=\"stroke-width: 2.5;\"></path></marker><marker id=\"diagram-05c83cacd7cd16d4878cc2a6d8cb2d36a896b288ddb018c8d68cf9f07b0d9231_flowchart-v2-crossStart-margin\" class=\"marker cross flowchart-v2\" viewBox=\"0 0 15 15\" refX=\"-3.5\" refY=\"7.5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"12\" markerHeight=\"12\" orient=\"auto\"><path d=\"M 1,1 L 14,14 M 1,14 L 14,1\" class=\"arrowMarkerPath\" style=\"stroke-width: 2.5; stroke-dasharray: 1, 0;\"></path></marker><g class=\"root\"><g class=\"clusters\"></g><g class=\"edgePaths\"><path d=\"M100.299,62L93.326,66.167C86.353,70.333,72.407,78.667,65.434,86.333C58.461,94,58.461,101,58.461,104.5L58.461,108\" id=\"diagram-05c83cacd7cd16d4878cc2a6d8cb2d36a896b288ddb018c8d68cf9f07b0d9231-L_Root_Paths_0\" class=\"edge-thickness-thick edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_Root_Paths_0\" data-points=\"W3sieCI6MTAwLjI5OTEyODYwNTc2OTIzLCJ5Ijo2Mn0seyJ4Ijo1OC40NjA5Mzc1LCJ5Ijo4N30seyJ4Ijo1OC40NjA5Mzc1LCJ5IjoxMTJ9XQ==\" data-look=\"classic\" marker-end=\"url(#diagram-05c83cacd7cd16d4878cc2a6d8cb2d36a896b288ddb018c8d68cf9f07b0d9231_flowchart-v2-pointEnd)\"></path><path d=\"M190.67,62L197.643,66.167C204.616,70.333,218.562,78.667,225.535,86.333C232.508,94,232.508,101,232.508,104.5L232.508,108\" id=\"diagram-05c83cacd7cd16d4878cc2a6d8cb2d36a896b288ddb018c8d68cf9f07b0d9231-L_Root_components_0\" class=\"edge-thickness-thick edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_Root_components_0\" data-points=\"W3sieCI6MTkwLjY2OTYyMTM5NDIzMDc3LCJ5Ijo2Mn0seyJ4IjoyMzIuNTA3ODEyNSwieSI6ODd9LHsieCI6MjMyLjUwNzgxMjUsInkiOjExMn1d\" data-look=\"classic\" marker-end=\"url(#diagram-05c83cacd7cd16d4878cc2a6d8cb2d36a896b288ddb018c8d68cf9f07b0d9231_flowchart-v2-pointEnd)\"></path></g><g class=\"edgeLabels\"><g class=\"edgeLabel\"><g class=\"label\" data-id=\"L_Root_Paths_0\" transform=\"translate(0, 0)\"><foreignObject width=\"0\" height=\"0\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"></span></div></foreignObject></g></g><g class=\"edgeLabel\"><g class=\"label\" data-id=\"L_Root_components_0\" transform=\"translate(0, 0)\"><foreignObject width=\"0\" height=\"0\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"></span></div></foreignObject></g></g></g><g class=\"nodes\"><g class=\"node default\" id=\"diagram-05c83cacd7cd16d4878cc2a6d8cb2d36a896b288ddb018c8d68cf9f07b0d9231-flowchart-Root-0\" data-look=\"classic\" transform=\"translate(145.484375, 35)\"><rect class=\"basic label-container\" style=\"\" x=\"-46.8984375\" y=\"-27\" width=\"93.796875\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-16.8984375, -12)\"><rect></rect><foreignObject width=\"33.796875\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>Root</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-05c83cacd7cd16d4878cc2a6d8cb2d36a896b288ddb018c8d68cf9f07b0d9231-flowchart-Paths-1\" data-look=\"classic\" transform=\"translate(58.4609375, 139)\"><rect class=\"basic label-container\" style=\"fill:#codaf9 !important;stroke:#0044d4 !important;stroke-width:5px !important\" x=\"-50.4609375\" y=\"-27\" width=\"100.921875\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-20.4609375, -12)\"><rect></rect><foreignObject width=\"40.921875\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>Paths</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-05c83cacd7cd16d4878cc2a6d8cb2d36a896b288ddb018c8d68cf9f07b0d9231-flowchart-components-3\" data-look=\"classic\" transform=\"translate(232.5078125, 139)\"><rect class=\"basic label-container\" style=\"\" x=\"-73.5859375\" y=\"-27\" width=\"147.171875\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-43.5859375, -12)\"><rect></rect><foreignObject width=\"87.171875\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>components</p></span></div></foreignObject></g></g></g></g></g><defs><filter id=\"diagram-05c83cacd7cd16d4878cc2a6d8cb2d36a896b288ddb018c8d68cf9f07b0d9231-drop-shadow\" height=\"130%\" width=\"130%\"><feDropShadow dx=\"4\" dy=\"4\" stdDeviation=\"0\" flood-opacity=\"0.06\" flood-color=\"#FFFFFF\"></feDropShadow></filter></defs><defs><filter id=\"diagram-05c83cacd7cd16d4878cc2a6d8cb2d36a896b288ddb018c8d68cf9f07b0d9231-drop-shadow-small\" height=\"150%\" width=\"150%\"><feDropShadow dx=\"2\" dy=\"2\" stdDeviation=\"0\" flood-opacity=\"0.06\" flood-color=\"#FFFFFF\"></feDropShadow></filter></defs><linearGradient id=\"diagram-05c83cacd7cd16d4878cc2a6d8cb2d36a896b288ddb018c8d68cf9f07b0d9231-gradient\" gradientUnits=\"objectBoundingBox\" x1=\"0%\" y1=\"0%\" x2=\"100%\" y2=\"0%\"><stop offset=\"0%\" stop-color=\"#cccccc\" stop-opacity=\"1\"></stop><stop offset=\"100%\" stop-color=\"hsl(180, 0%, 18.3529411765%)\" stop-opacity=\"1\"></stop></linearGradient></svg>"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"api-design-principles","__idx":1},"children":["API design principles"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Ambiguity is all around us."," ","We need to minimize ambiguity in our API designs to avoid surprises."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Consistent and predictable behavior is desirable for APIs, because it speeds up the onboarding process for API consumers and doesn't cause \"surprises\" in the developer experience."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Ambiguity can creep in when a single path can satisfy two different path items."," ","Such paths are considered ambiguous and should be avoided, because API users and tools have no way of knowing which path is actually used."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"configuration","__idx":2},"children":["Configuration"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Option"},"children":["Option"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Type"},"children":["Type"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["severity"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["string"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Possible values: ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["off"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["warn"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["error"]},". Default ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["warn"]}," (in ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["recommended"]}," configuration)."]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["An example configuration:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"yaml","header":{"controls":{"copy":{}}},"source":"rules:\n  no-ambiguous-paths: error\n","lang":"yaml"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"examples","__idx":3},"children":["Examples"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Given this configuration:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"yaml","header":{"controls":{"copy":{}}},"source":"rules:\n  no-ambiguous-paths: error\n","lang":"yaml"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Example of ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["incorrect"]}," ambiguous paths:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"yaml","header":{"controls":{"copy":{}}},"source":"paths:\n  '/{entity}/me':\n    $ref: ./paths/example.yaml\n  '/books/{id}':\n    $ref: ./paths/example.yaml\n","lang":"yaml"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Example of ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["correct"]}," paths:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"yaml","header":{"controls":{"copy":{}}},"source":"paths:\n  '/electronics/{id}':\n    $ref: ./paths/example.yaml\n  '/books/{id}':\n    $ref: ./paths/example.yaml\n","lang":"yaml"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"related-rules","__idx":4},"children":["Related rules"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"Link","attributes":{"href":"/docs/cli/rules/oas/no-identical-paths"},"children":["no-identical-paths"]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"resources","__idx":5},"children":["Resources"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"Link","attributes":{"href":"https://github.com/Redocly/redocly-cli/blob/main/packages/core/src/rules/common/no-ambiguous-paths.ts"},"children":["Rule source"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"Link","attributes":{"href":"https://redocly.com/docs/openapi-visual-reference/paths/"},"children":["Paths object docs"]}]}]}]},"frontmatter":{"slug":"/docs/cli/rules/oas/no-ambiguous-paths"},"tagList":[],"title":"no-ambiguous-paths","lastModified":"2026-10-05T04:46:46.000Z"}