semillero-INVIMA/diagramas/svg/despliegue.svg

1 line
20 KiB
XML

<svg id="my-svg" width="100%" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="flowchart" style="max-width: 1426.27px; background-color: white;" viewBox="0 0 1426.265625 820" role="graphics-document document" aria-roledescription="flowchart-v2"><style>#my-svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#my-svg .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#my-svg .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#my-svg .error-icon{fill:#552222;}#my-svg .error-text{fill:#552222;stroke:#552222;}#my-svg .edge-thickness-normal{stroke-width:1px;}#my-svg .edge-thickness-thick{stroke-width:3.5px;}#my-svg .edge-pattern-solid{stroke-dasharray:0;}#my-svg .edge-thickness-invisible{stroke-width:0;fill:none;}#my-svg .edge-pattern-dashed{stroke-dasharray:3;}#my-svg .edge-pattern-dotted{stroke-dasharray:2;}#my-svg .marker{fill:#333333;stroke:#333333;}#my-svg .marker.cross{stroke:#333333;}#my-svg svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#my-svg p{margin:0;}#my-svg .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#my-svg .cluster-label text{fill:#333;}#my-svg .cluster-label span{color:#333;}#my-svg .cluster-label span p{background-color:transparent;}#my-svg .label text,#my-svg span{fill:#333;color:#333;}#my-svg .node rect,#my-svg .node circle,#my-svg .node ellipse,#my-svg .node polygon,#my-svg .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#my-svg .rough-node .label text,#my-svg .node .label text,#my-svg .image-shape .label,#my-svg .icon-shape .label{text-anchor:middle;}#my-svg .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#my-svg .rough-node .label,#my-svg .node .label,#my-svg .image-shape .label,#my-svg .icon-shape .label{text-align:center;}#my-svg .node.clickable{cursor:pointer;}#my-svg .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#my-svg .arrowheadPath{fill:#333333;}#my-svg .edgePath .path{stroke:#333333;stroke-width:1px;}#my-svg .flowchart-link{stroke:#333333;fill:none;}#my-svg .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#my-svg .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#my-svg .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#my-svg .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#my-svg .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#my-svg .cluster text{fill:#333;}#my-svg .cluster span{color:#333;}#my-svg div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#my-svg .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#my-svg rect.text{fill:none;stroke-width:0;}#my-svg .icon-shape,#my-svg .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#my-svg .icon-shape p,#my-svg .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#my-svg .icon-shape .label rect,#my-svg .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#my-svg .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#my-svg .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#my-svg .node .neo-node{stroke:#9370DB;}#my-svg [data-look="neo"].node rect,#my-svg [data-look="neo"].cluster rect,#my-svg [data-look="neo"].node polygon{stroke:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#my-svg [data-look="neo"].swimlane.cluster rect{filter:none;}#my-svg [data-look="neo"].node path{stroke:#9370DB;stroke-width:1px;}#my-svg [data-look="neo"].node .outer-path{filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#my-svg [data-look="neo"].node .neo-line path{stroke:#9370DB;filter:none;}#my-svg [data-look="neo"].node circle{stroke:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#my-svg [data-look="neo"].node circle .state-start{fill:#000000;}#my-svg [data-look="neo"].icon-shape .icon{fill:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#my-svg [data-look="neo"].icon-shape .icon-neo path{stroke:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#my-svg :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}</style><g><marker id="my-svg_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;"/></marker><marker id="my-svg_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;"/></marker><marker id="my-svg_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;"/></marker><marker id="my-svg_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;"/></marker><marker id="my-svg_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;"/></marker><marker id="my-svg_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;"/></marker><marker id="my-svg_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;"/></marker><marker id="my-svg_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;"/></marker><marker id="my-svg_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;"/></marker><marker id="my-svg_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;"/></marker><marker id="my-svg_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;"/></marker><marker id="my-svg_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;"/></marker><g class="root"><g class="clusters"><g class="cluster" id="my-svg-Backend" data-look="classic"><rect style="" x="277.078125" y="352" width="647.359375" height="460"/><g class="cluster-label" transform="translate(570.8359375, 352)"><foreignObject width="59.84375" height="24"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5;"><span class="nodeLabel"><p>Backend</p></span></div></foreignObject></g></g><g class="cluster" id="my-svg-Frontend" data-look="classic"><rect style="" x="277.078125" y="8" width="310" height="324"/><g class="cluster-label" transform="translate(399.7421875, 8)"><foreignObject width="64.671875" height="24"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5;"><span class="nodeLabel"><p>Frontend</p></span></div></foreignObject></g></g></g><g class="edgePaths"><path d="M227.078,94L231.245,94C235.411,94,243.745,94,252.078,94C260.411,94,268.745,94,281.943,94C295.141,94,313.203,94,322.234,94L331.266,94" id="my-svg-L_browser_angularDev_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_browser_angularDev_0" data-points="W3sieCI6MjI3LjA3ODEyNSwieSI6OTR9LHsieCI6MjUyLjA3ODEyNSwieSI6OTR9LHsieCI6Mjc3LjA3ODEyNSwieSI6OTR9LHsieCI6MzM1LjI2NTYyNSwieSI6OTR9XQ==" data-look="classic" marker-end="url(#my-svg_flowchart-v2-pointEnd)"/><path d="M528.891,94L538.589,94C548.286,94,567.682,94,587.712,154.5C607.742,215,628.406,336,650.56,403.865C672.713,471.731,696.356,486.461,708.177,493.826L719.999,501.192" id="my-svg-L_angularDev_node_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_angularDev_node_0" data-points="W3sieCI6NTI4Ljg5MDYyNSwieSI6OTR9LHsieCI6NTg3LjA3ODEyNSwieSI6OTR9LHsieCI6NjQ5LjA3MDMxMjUsInkiOjQ1N30seyJ4Ijo3MjMuMzkzODk1Nzc0NjU0MiwieSI6NTAzLjMwNjkwMzgzOTExMTN9XQ==" data-look="classic" marker-end="url(#my-svg_flowchart-v2-pointEnd)"/><path d="M866.46,503.307L876.123,495.256C885.786,487.205,905.112,471.102,930.176,463.051C955.24,455,986.042,455,1026.957,455C1067.872,455,1118.901,455,1144.415,455L1169.93,455" id="my-svg-L_node_postgres_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_node_postgres_0" data-points="W3sieCI6ODY2LjQ1OTg2ODI0NjkwNDMsInkiOjUwMy4zMDY5MDM4MzkxMTEzfSx7IngiOjkyNC40Mzc1LCJ5Ijo0NTV9LHsieCI6MTAxNi44NDM3NSwieSI6NDU1fSx7IngiOjExNzMuOTI5Njg3NSwieSI6NDU1fV0=" data-look="classic" marker-end="url(#my-svg_flowchart-v2-pointEnd)"/><path d="M851.059,605.307L863.289,618.922C875.519,632.538,899.978,659.769,927.609,673.384C955.24,687,986.042,687,1016.177,687C1046.313,687,1075.781,687,1090.516,687L1105.25,687" id="my-svg-L_node_socrata_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_node_socrata_0" data-points="W3sieCI6ODUxLjA1OTE4NDMxOTgwNjgsInkiOjYwNS4zMDY5MDM4MzkxMTEzfSx7IngiOjkyNC40Mzc1LCJ5Ijo2ODd9LHsieCI6MTAxNi44NDM3NSwieSI6Njg3fSx7IngiOjExMDkuMjUsInkiOjY4N31d" data-look="classic" marker-end="url(#my-svg_flowchart-v2-pointEnd)"/><path d="M562.078,246L566.245,246C570.411,246,578.745,246,593.243,297.384C607.742,348.769,628.406,451.538,648.404,502.922C668.401,554.307,687.732,554.307,697.397,554.307L707.063,554.307" id="my-svg-L_proxy_node_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_proxy_node_0" data-points="W3sieCI6NTYyLjA3ODEyNSwieSI6MjQ2fSx7IngiOjU4Ny4wNzgxMjUsInkiOjI0Nn0seyJ4Ijo2NDkuMDcwMzEyNSwieSI6NTU0LjMwNjkwMzgzOTExMTN9LHsieCI6NzExLjA2MjUsInkiOjU1NC4zMDY5MDM4MzkxMTEzfV0=" data-look="classic" marker-end="url(#my-svg_flowchart-v2-pointEnd)"/><path d="M562.078,582L566.245,582C570.411,582,578.745,582,593.243,582C607.742,582,628.406,582,648.414,580.284C668.422,578.569,687.773,575.137,697.448,573.422L707.124,571.706" id="my-svg-L_env_node_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_env_node_0" data-points="W3sieCI6NTYyLjA3ODEyNSwieSI6NTgyfSx7IngiOjU4Ny4wNzgxMjUsInkiOjU4Mn0seyJ4Ijo2NDkuMDcwMzEyNSwieSI6NTgyfSx7IngiOjcxMS4wNjI1LCJ5Ijo1NzEuMDA3ODE3NjE2MDk0N31d" data-look="classic" marker-end="url(#my-svg_flowchart-v2-pointEnd)"/></g><g class="edgeLabels"><g class="edgeLabel"><g class="label" data-id="L_browser_angularDev_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" transform="translate(620.54726, 289.98108)"><g class="label" data-id="L_angularDev_node_0" transform="translate(-36.9921875, -24)"><foreignObject width="73.984375" height="48"><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"><p>Proxy /api<br />HTTP</p></span></div></foreignObject></g></g><g class="edgeLabel" transform="translate(1016.84375, 455)"><g class="label" data-id="L_node_postgres_0" transform="translate(-24.6328125, -12)"><foreignObject width="49.265625" height="24"><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"><p>pg TCP</p></span></div></foreignObject></g></g><g class="edgeLabel" transform="translate(1016.84375, 687)"><g class="label" data-id="L_node_socrata_0" transform="translate(-67.40625, -24)"><foreignObject width="134.8125" height="48"><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"><p>HTTPS fetch<br />solo sincronizacion</p></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_proxy_node_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_env_node_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="my-svg-flowchart-browser-0" data-look="classic" transform="translate(117.5390625, 94)"><rect class="basic label-container" style="" x="-109.5390625" y="-39" width="219.078125" height="78"/><g class="label" style="" transform="translate(-79.5390625, -24)"><rect/><foreignObject width="159.078125" height="48"><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>Navegador del usuario<br />HTTP</p></span></div></foreignObject></g></g><g class="node default" id="my-svg-flowchart-angularDev-1" data-look="classic" transform="translate(432.078125, 94)"><rect class="basic label-container" style="" x="-96.8125" y="-51" width="193.625" height="102"/><g class="label" style="" transform="translate(-66.8125, -36)"><rect/><foreignObject width="133.625" height="72"><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>Angular dev server<br />ng serve<br />localhost:4200</p></span></div></foreignObject></g></g><g class="node default" id="my-svg-flowchart-node-3" data-look="classic" transform="translate(805.25, 554.3069038391113)"><rect class="basic label-container" style="" x="-94.1875" y="-51" width="188.375" height="102"/><g class="label" style="" transform="translate(-64.1875, -36)"><rect/><foreignObject width="128.375" height="72"><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>Node.js + Express<br />backend/server.js<br />localhost:3000</p></span></div></foreignObject></g></g><g class="node default" id="my-svg-flowchart-postgres-5" data-look="classic" transform="translate(1263.7578125, 455)"><path d="M0,14.742537696173965 a89.828125,14.742537696173965 0,0,0 179.65625,0 a89.828125,14.742537696173965 0,0,0 -179.65625,0 l0,101.74253769617397 a89.828125,14.742537696173965 0,0,0 179.65625,0 l0,-101.74253769617397" class="basic label-container outer-path" style="" transform="translate(-89.828125, -65.61380654426095)"/><g class="label" style="" transform="translate(-82.328125, -26)"><rect/><foreignObject width="164.65625" height="72"><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>PostgreSQL<br />localhost:5432<br />database: PGDATABASE</p></span></div></foreignObject></g></g><g class="node default" id="my-svg-flowchart-socrata-7" data-look="classic" transform="translate(1263.7578125, 687)"><rect class="basic label-container" style="" x="-154.5078125" y="-39" width="309.015625" height="78"/><g class="label" style="" transform="translate(-124.5078125, -24)"><rect/><foreignObject width="249.015625" height="48"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table; white-space: break-spaces; line-height: 1.5; max-width: 200px; text-align: center; width: 200px;"><span class="nodeLabel"><p>datos.gov.co Socrata API<br />www.datos.gov.co/resource/*.json</p></span></div></foreignObject></g></g><g class="node default" id="my-svg-flowchart-proxy-9" data-look="classic" transform="translate(432.078125, 246)"><rect class="basic label-container" style="" x="-130" y="-51" width="260" height="102"/><g class="label" style="" transform="translate(-100, -36)"><rect/><foreignObject width="200" height="72"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table; white-space: break-spaces; line-height: 1.5; max-width: 200px; text-align: center; width: 200px;"><span class="nodeLabel"><p>proxy.conf.json<br />/api -&gt; http://localhost:3000</p></span></div></foreignObject></g></g><g class="node default" id="my-svg-flowchart-env-11" data-look="classic" transform="translate(432.078125, 582)"><rect class="basic label-container" style="" x="-130" y="-195" width="260" height="390"/><g class="label" style="" transform="translate(-100, -180)"><rect/><foreignObject width="200" height="360"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table; white-space: break-spaces; line-height: 1.5; max-width: 200px; text-align: center; width: 200px;"><span class="nodeLabel"><p>Variables de entorno<br />NODE_ENV, PORT, CORS_ORIGINS<br />PGHOST, PGUSER, PGDATABASE, PGPORT, PGPOOL_MAX<br />PGPASSWORD secreto<br />SOCRATA_APP_TOKEN secreto opcional<br />AUTH_TOKEN_SECRET secreto<br />AUTH_SESSION_HOURS<br />ADMIN_USERNAME, ADMIN_FULL_NAME<br />ADMIN_PASSWORD secreto</p></span></div></foreignObject></g></g></g></g></g><defs><filter id="my-svg-drop-shadow" height="130%" width="130%"><feDropShadow dx="4" dy="4" stdDeviation="0" flood-opacity="0.06" flood-color="#000000"/></filter></defs><defs><filter id="my-svg-drop-shadow-small" height="150%" width="150%"><feDropShadow dx="2" dy="2" stdDeviation="0" flood-opacity="0.06" flood-color="#000000"/></filter></defs></svg>