Skip to content

Commit 8148ced

Browse files
ta
1 parent d8e74e7 commit 8148ced

File tree

5 files changed

+61
-53
lines changed

5 files changed

+61
-53
lines changed

README.md

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,8 @@
33
CWebFirmware is a CLI to be used in conjunction with CWebStudio, designed to make updates to the server generating 0 downtime, where instead of running an executable directly, you import a dynamic library, which allows you to install the .so/.dll on the server without disabling the server that is running.
44

55
## Operation
6-
![User point of view](/assets/operation.jpg)
6+
![User point of view](/assets/operation.png)
77

8-
## Uplpad
9-
![Upload process](/assets/upload.jpg)
108

119
## Docs
1210
|Item | Description |

assets/firmware.drawio

Lines changed: 60 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -1,94 +1,104 @@
1-
<mxfile host="app.diagrams.net" agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/135.0.0.0 Safari/537.36" version="26.0.6" pages="2">
1+
<mxfile host="app.diagrams.net" agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/135.0.0.0 Safari/537.36" version="26.2.12">
22
<diagram name="User Point of view" id="pW7hHVVPVdVcbDhEcFnb">
3-
<mxGraphModel dx="2514" dy="2469" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
3+
<mxGraphModel dx="2497" dy="2483" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
44
<root>
55
<mxCell id="0" />
66
<mxCell id="1" parent="0" />
7-
<mxCell id="8NdC7l0lDa2l5-dlI2pK-6" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="8NdC7l0lDa2l5-dlI2pK-1" target="8NdC7l0lDa2l5-dlI2pK-2">
7+
<mxCell id="CquVaC-Cp741IVRutNJS-5" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#f5f5f5;strokeColor=#666666;fontColor=#333333;" vertex="1" parent="1">
8+
<mxGeometry x="640" y="-250" width="470" height="1200" as="geometry" />
9+
</mxCell>
10+
<mxCell id="CquVaC-Cp741IVRutNJS-3" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#f5f5f5;strokeColor=#666666;fontColor=#333333;" vertex="1" parent="1">
11+
<mxGeometry x="40" y="-250" width="470" height="1200" as="geometry" />
12+
</mxCell>
13+
<mxCell id="8NdC7l0lDa2l5-dlI2pK-6" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="8NdC7l0lDa2l5-dlI2pK-1" target="8NdC7l0lDa2l5-dlI2pK-2" edge="1">
814
<mxGeometry relative="1" as="geometry" />
915
</mxCell>
10-
<mxCell id="8NdC7l0lDa2l5-dlI2pK-1" value="NGNIX (80)" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="1">
11-
<mxGeometry x="370" y="40" width="120" height="60" as="geometry" />
16+
<mxCell id="8NdC7l0lDa2l5-dlI2pK-1" value="NGNIX (80)" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
17+
<mxGeometry x="280" y="40" width="120" height="60" as="geometry" />
1218
</mxCell>
13-
<mxCell id="8NdC7l0lDa2l5-dlI2pK-12" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="8NdC7l0lDa2l5-dlI2pK-2" target="8NdC7l0lDa2l5-dlI2pK-10">
19+
<mxCell id="8NdC7l0lDa2l5-dlI2pK-12" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="8NdC7l0lDa2l5-dlI2pK-2" target="8NdC7l0lDa2l5-dlI2pK-10" edge="1">
1420
<mxGeometry relative="1" as="geometry" />
1521
</mxCell>
16-
<mxCell id="8NdC7l0lDa2l5-dlI2pK-2" value="CWebFirmware(5000)" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="1">
17-
<mxGeometry x="370" y="220" width="120" height="60" as="geometry" />
22+
<mxCell id="8NdC7l0lDa2l5-dlI2pK-2" value="CWebFirmware(5000)" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
23+
<mxGeometry x="280" y="220" width="120" height="60" as="geometry" />
1824
</mxCell>
19-
<mxCell id="8NdC7l0lDa2l5-dlI2pK-5" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="8NdC7l0lDa2l5-dlI2pK-4" target="8NdC7l0lDa2l5-dlI2pK-1">
25+
<mxCell id="8NdC7l0lDa2l5-dlI2pK-5" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="8NdC7l0lDa2l5-dlI2pK-4" target="8NdC7l0lDa2l5-dlI2pK-1" edge="1">
2026
<mxGeometry relative="1" as="geometry" />
2127
</mxCell>
22-
<mxCell id="8NdC7l0lDa2l5-dlI2pK-4" value="User Requisition" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="1">
23-
<mxGeometry x="370" y="-140" width="120" height="60" as="geometry" />
28+
<mxCell id="8NdC7l0lDa2l5-dlI2pK-4" value="User Requisition" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
29+
<mxGeometry x="280" y="-140" width="120" height="60" as="geometry" />
2430
</mxCell>
25-
<mxCell id="8NdC7l0lDa2l5-dlI2pK-11" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="8NdC7l0lDa2l5-dlI2pK-9" target="8NdC7l0lDa2l5-dlI2pK-10">
31+
<mxCell id="8NdC7l0lDa2l5-dlI2pK-11" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="8NdC7l0lDa2l5-dlI2pK-9" target="8NdC7l0lDa2l5-dlI2pK-10" edge="1">
2632
<mxGeometry relative="1" as="geometry" />
2733
</mxCell>
28-
<mxCell id="8NdC7l0lDa2l5-dlI2pK-9" value="lib.so" style="whiteSpace=wrap;html=1;shape=mxgraph.basic.document;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
29-
<mxGeometry x="690" y="330" width="100" height="100" as="geometry" />
34+
<mxCell id="8NdC7l0lDa2l5-dlI2pK-9" value="lib.so" style="whiteSpace=wrap;html=1;shape=mxgraph.basic.document;fillColor=#e1d5e7;strokeColor=#9673a6;" parent="1" vertex="1">
35+
<mxGeometry x="70" y="330" width="100" height="100" as="geometry" />
3036
</mxCell>
31-
<mxCell id="8NdC7l0lDa2l5-dlI2pK-14" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="8NdC7l0lDa2l5-dlI2pK-10" target="8NdC7l0lDa2l5-dlI2pK-13">
37+
<mxCell id="8NdC7l0lDa2l5-dlI2pK-14" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="8NdC7l0lDa2l5-dlI2pK-10" target="8NdC7l0lDa2l5-dlI2pK-13" edge="1">
3238
<mxGeometry relative="1" as="geometry" />
3339
</mxCell>
34-
<mxCell id="8NdC7l0lDa2l5-dlI2pK-10" value="Loads the .so" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
35-
<mxGeometry x="370" y="350" width="120" height="60" as="geometry" />
40+
<mxCell id="8NdC7l0lDa2l5-dlI2pK-10" value="Loads the .so" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" parent="1" vertex="1">
41+
<mxGeometry x="280" y="350" width="120" height="60" as="geometry" />
3642
</mxCell>
37-
<mxCell id="8NdC7l0lDa2l5-dlI2pK-18" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="8NdC7l0lDa2l5-dlI2pK-13" target="8NdC7l0lDa2l5-dlI2pK-17">
43+
<mxCell id="8NdC7l0lDa2l5-dlI2pK-18" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="8NdC7l0lDa2l5-dlI2pK-13" target="8NdC7l0lDa2l5-dlI2pK-17" edge="1">
3844
<mxGeometry relative="1" as="geometry" />
3945
</mxCell>
40-
<mxCell id="8NdC7l0lDa2l5-dlI2pK-20" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="8NdC7l0lDa2l5-dlI2pK-13" target="8NdC7l0lDa2l5-dlI2pK-19">
46+
<mxCell id="8NdC7l0lDa2l5-dlI2pK-20" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="8NdC7l0lDa2l5-dlI2pK-13" target="8NdC7l0lDa2l5-dlI2pK-19" edge="1">
4147
<mxGeometry relative="1" as="geometry" />
4248
</mxCell>
43-
<mxCell id="8NdC7l0lDa2l5-dlI2pK-13" value="Fail ?" style="rhombus;whiteSpace=wrap;html=1;fillColor=#fff2cc;strokeColor=#d6b656;" vertex="1" parent="1">
44-
<mxGeometry x="390" y="505" width="80" height="80" as="geometry" />
49+
<mxCell id="8NdC7l0lDa2l5-dlI2pK-13" value="Fail ?" style="rhombus;whiteSpace=wrap;html=1;fillColor=#fff2cc;strokeColor=#d6b656;" parent="1" vertex="1">
50+
<mxGeometry x="300" y="505" width="80" height="80" as="geometry" />
4551
</mxCell>
46-
<mxCell id="8NdC7l0lDa2l5-dlI2pK-17" value="500 Error" style="ellipse;whiteSpace=wrap;html=1;fillColor=#f8cecc;strokeColor=#b85450;" vertex="1" parent="1">
47-
<mxGeometry x="170" y="505" width="100" height="80" as="geometry" />
52+
<mxCell id="8NdC7l0lDa2l5-dlI2pK-17" value="500 Error" style="ellipse;whiteSpace=wrap;html=1;fillColor=#f8cecc;strokeColor=#b85450;" parent="1" vertex="1">
53+
<mxGeometry x="80" y="505" width="100" height="80" as="geometry" />
4854
</mxCell>
49-
<mxCell id="8NdC7l0lDa2l5-dlI2pK-22" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="8NdC7l0lDa2l5-dlI2pK-19" target="8NdC7l0lDa2l5-dlI2pK-21">
55+
<mxCell id="8NdC7l0lDa2l5-dlI2pK-22" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="8NdC7l0lDa2l5-dlI2pK-19" target="8NdC7l0lDa2l5-dlI2pK-21" edge="1">
5056
<mxGeometry relative="1" as="geometry" />
5157
</mxCell>
52-
<mxCell id="8NdC7l0lDa2l5-dlI2pK-19" value="Calls the callback function inside lib.so" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="1">
53-
<mxGeometry x="370" y="690" width="120" height="60" as="geometry" />
58+
<mxCell id="8NdC7l0lDa2l5-dlI2pK-19" value="Calls the callback function inside lib.so" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
59+
<mxGeometry x="280" y="690" width="120" height="60" as="geometry" />
5460
</mxCell>
55-
<mxCell id="8NdC7l0lDa2l5-dlI2pK-21" value="Send the callback to user" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=#6a00ff;fontColor=#ffffff;strokeColor=#3700CC;" vertex="1" parent="1">
56-
<mxGeometry x="390" y="860" width="80" height="80" as="geometry" />
61+
<mxCell id="8NdC7l0lDa2l5-dlI2pK-21" value="Send the callback to user" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=#6a00ff;fontColor=#ffffff;strokeColor=#3700CC;" parent="1" vertex="1">
62+
<mxGeometry x="300" y="860" width="80" height="80" as="geometry" />
5763
</mxCell>
58-
</root>
59-
</mxGraphModel>
60-
</diagram>
61-
<diagram name="Developer point of view" id="8XhwZxVj_l52ERcuP_RE">
62-
<mxGraphModel dx="53" dy="1624" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
63-
<root>
64-
<mxCell id="fcH8Qn2qbGhYnDqsY3vy-0" />
65-
<mxCell id="fcH8Qn2qbGhYnDqsY3vy-1" parent="fcH8Qn2qbGhYnDqsY3vy-0" />
66-
<mxCell id="fcH8Qn2qbGhYnDqsY3vy-19" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="fcH8Qn2qbGhYnDqsY3vy-1" source="fcH8Qn2qbGhYnDqsY3vy-20" target="fcH8Qn2qbGhYnDqsY3vy-22">
64+
<mxCell id="je4MbTYOw-YWx8tlqvyY-1" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="je4MbTYOw-YWx8tlqvyY-2" target="je4MbTYOw-YWx8tlqvyY-4">
6765
<mxGeometry relative="1" as="geometry" />
6866
</mxCell>
69-
<mxCell id="fcH8Qn2qbGhYnDqsY3vy-20" value="Devops calls to&amp;nbsp; upload lib.so" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="fcH8Qn2qbGhYnDqsY3vy-1">
70-
<mxGeometry x="1090" y="-140" width="120" height="60" as="geometry" />
67+
<mxCell id="je4MbTYOw-YWx8tlqvyY-2" value="Devops calls to&amp;nbsp; upload lib.so" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="1">
68+
<mxGeometry x="770" y="-130" width="120" height="60" as="geometry" />
7169
</mxCell>
72-
<mxCell id="fcH8Qn2qbGhYnDqsY3vy-21" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="fcH8Qn2qbGhYnDqsY3vy-1" source="fcH8Qn2qbGhYnDqsY3vy-22" target="fcH8Qn2qbGhYnDqsY3vy-24">
70+
<mxCell id="je4MbTYOw-YWx8tlqvyY-3" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="je4MbTYOw-YWx8tlqvyY-4" target="je4MbTYOw-YWx8tlqvyY-6">
7371
<mxGeometry relative="1" as="geometry" />
7472
</mxCell>
75-
<mxCell id="fcH8Qn2qbGhYnDqsY3vy-22" value="NGNIX (80)" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="fcH8Qn2qbGhYnDqsY3vy-1">
76-
<mxGeometry x="1090" y="30" width="120" height="60" as="geometry" />
73+
<mxCell id="je4MbTYOw-YWx8tlqvyY-4" value="NGNIX (80)" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="1">
74+
<mxGeometry x="770" y="40" width="120" height="60" as="geometry" />
7775
</mxCell>
78-
<mxCell id="fcH8Qn2qbGhYnDqsY3vy-23" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="fcH8Qn2qbGhYnDqsY3vy-1" source="fcH8Qn2qbGhYnDqsY3vy-24" target="fcH8Qn2qbGhYnDqsY3vy-26">
76+
<mxCell id="je4MbTYOw-YWx8tlqvyY-5" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="je4MbTYOw-YWx8tlqvyY-6" target="je4MbTYOw-YWx8tlqvyY-8">
7977
<mxGeometry relative="1" as="geometry" />
8078
</mxCell>
81-
<mxCell id="fcH8Qn2qbGhYnDqsY3vy-24" value="CWebFirmware(5000)" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="fcH8Qn2qbGhYnDqsY3vy-1">
82-
<mxGeometry x="1090" y="200" width="120" height="60" as="geometry" />
79+
<mxCell id="je4MbTYOw-YWx8tlqvyY-6" value="CWebFirmware(5000)" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="1">
80+
<mxGeometry x="770" y="210" width="120" height="60" as="geometry" />
8381
</mxCell>
84-
<mxCell id="fcH8Qn2qbGhYnDqsY3vy-25" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="fcH8Qn2qbGhYnDqsY3vy-1" source="fcH8Qn2qbGhYnDqsY3vy-26" target="fcH8Qn2qbGhYnDqsY3vy-27">
82+
<mxCell id="je4MbTYOw-YWx8tlqvyY-7" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="je4MbTYOw-YWx8tlqvyY-8" target="je4MbTYOw-YWx8tlqvyY-9">
8583
<mxGeometry relative="1" as="geometry" />
8684
</mxCell>
87-
<mxCell id="fcH8Qn2qbGhYnDqsY3vy-26" value="Replaces the lib.so" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;" vertex="1" parent="fcH8Qn2qbGhYnDqsY3vy-1">
88-
<mxGeometry x="1090" y="360" width="120" height="60" as="geometry" />
85+
<mxCell id="je4MbTYOw-YWx8tlqvyY-8" value="Replaces the lib.so" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;" vertex="1" parent="1">
86+
<mxGeometry x="770" y="370" width="120" height="60" as="geometry" />
8987
</mxCell>
90-
<mxCell id="fcH8Qn2qbGhYnDqsY3vy-27" value="Send the 200 menssage" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=#6a00ff;fontColor=#ffffff;strokeColor=#3700CC;" vertex="1" parent="fcH8Qn2qbGhYnDqsY3vy-1">
91-
<mxGeometry x="1110" y="505" width="80" height="80" as="geometry" />
88+
<mxCell id="je4MbTYOw-YWx8tlqvyY-9" value="Send the 200 menssage" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=#6a00ff;fontColor=#ffffff;strokeColor=#3700CC;" vertex="1" parent="1">
89+
<mxGeometry x="790" y="515" width="80" height="80" as="geometry" />
90+
</mxCell>
91+
<mxCell id="CquVaC-Cp741IVRutNJS-4" value="&lt;b&gt;&lt;font style=&quot;font-size: 50px;&quot;&gt;Operation&lt;/font&gt;&lt;/b&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
92+
<mxGeometry x="245" y="-220" width="60" height="30" as="geometry" />
93+
</mxCell>
94+
<mxCell id="CquVaC-Cp741IVRutNJS-6" value="&lt;b&gt;&lt;font style=&quot;font-size: 50px;&quot;&gt;Update&amp;nbsp;&lt;/font&gt;&lt;/b&gt;&lt;div&gt;&lt;b&gt;&lt;font style=&quot;font-size: 50px;&quot;&gt;&lt;br&gt;&lt;/font&gt;&lt;/b&gt;&lt;/div&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
95+
<mxGeometry x="810" y="-190" width="60" height="30" as="geometry" />
96+
</mxCell>
97+
<mxCell id="CquVaC-Cp741IVRutNJS-7" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0;exitDx=0;exitDy=0;entryX=0.25;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="1" source="CquVaC-Cp741IVRutNJS-6" target="CquVaC-Cp741IVRutNJS-6">
98+
<mxGeometry relative="1" as="geometry" />
99+
</mxCell>
100+
<mxCell id="CquVaC-Cp741IVRutNJS-8" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" edge="1" parent="1" source="CquVaC-Cp741IVRutNJS-3" target="CquVaC-Cp741IVRutNJS-3">
101+
<mxGeometry relative="1" as="geometry" />
92102
</mxCell>
93103
</root>
94104
</mxGraphModel>

assets/operation.jpg

-29.2 KB
Binary file not shown.

assets/operation.png

109 KB
Loading

assets/upload.jpg

-14.9 KB
Binary file not shown.

0 commit comments

Comments
 (0)