fix request_pcd_keys_role_confidential_list_enc_by_shared_secret for diagrams (doc)

This commit is contained in:
NicolasCantu 2024-03-08 11:10:10 +01:00
parent 44ee03d1a2
commit 6e074da97b
10 changed files with 2991 additions and 48 deletions

20
.gitignore vendored
View File

@ -6,18 +6,8 @@ target/
# Remove Cargo.lock from gitignore if creating an executable, leave it for libraries
# More information here https://doc.rust-lang.org/cargo/guide/cargo-toml-vs-cargo-lock.html
Cargo.lock
# These are backup files generated by rustfmt
**/*.rs.bk
# MSVC Windows builds of rustc generate these, which store debugging information
*.pdb
doc/diagrams/.$WalletCreate.drawio.bkp
doc/diagrams/.$WalletRecover.drawio.bkp
doc/diagrams/.$Messages.drawio.bkp
doc/diagrams/.$PRD.drawio.bkp
doc/diagrams/.$PRDKeyBackup.drawio.bkp
doc/diagrams/.$PRDConfirm.drawio.bkp
doc/diagrams/.$PRDKeyHello.drawio.bkp
doc/diagrams/.$Login-Wireframes.drawio.dtmp
doc/diagrams/.$Login-Wireframes.drawio.bkp
**/*.bk
**/*.pdb
**/*.pkp
**/*.tmp
**/*.dtmp

View File

@ -623,7 +623,12 @@ pseudo-code:
### 4.4. <a name='Messages'></a>Messages
pseudo-code:
```json
```
### 4.5. <a name='RequestPrd'></a>RequestPrd
@ -644,7 +649,7 @@ pseudo-code:
"keyrecoverSpend": {
"seed_rand_1": "",
"seed_rand_2": "",
"part_enc": ""
"part1_enc": ""
},
"key_recover_scan": "",
"process_shards_backup_list": [

View File

@ -57,6 +57,10 @@ Voir [_Doc_references.md](_Doc_references.md).
## 4. <a name='CommunauxRequestPcdetRequestPrd'></a>Commun aux `RequestPcd` et RequestPrd
Encryption :
![PCD_PRD_encryption](diagrams/PCD_PRD_encryption.png "PCD_PRD_encryption")
### 4.1. <a name='Crationetenvoi'></a>Création et envoi
Les `RequestPcd` et les `RequestPrd` sont envoyés sous forme de `message` (JSON) depuis les websockets des relais.

View File

@ -735,10 +735,10 @@ The `request_pcdItemEnc` struct encapsulates encrypted RequestPcd items, detaili
Encapsulates a detailed request within the system, focusing on the interaction with Portable Request Documents ( RequestPrd) and specifying various levels of message confidentiality and intended service provider (SP) communication details.
| Attribute Name | Type | Option | Description |
|-------------------------------------------------------------|-------------------|--------|-----------------------------------------------------------------------------------------------|
|----------------------------------------------------------------|-------------------|--------|-----------------------------------------------------------------------------------------------|
| `request` | ```Request``` | | A predefined struct representing the basic request information. |
| `sig_value` | ```String``` | | Valeur associée à la signature |
| RequestPcd_keys_role_confidential_list_enc_by_shared_secret | ```String``` | | Encrypted list of RequestPcd keys for role-confidential data, encrypted with a shared secret. |
| `request_pcd_keys_role_confidential_list_enc_by_shared_secret` | ```String``` | | Encrypted list of RequestPcd keys for role-confidential data, encrypted with a shared secret. |
| `message_public` | ```String``` | Yes | Optionally specifies a public message associated with the request. |
| `message_confidential` | ```String``` | Yes | Optionally specifies a confidential message associated with the request. |
| `message_private` | ```String``` | Yes | Optionally specifies a private message associated with the request. |
@ -766,10 +766,10 @@ Encapsulates a detailed request within the system, focusing on the interaction w
`request_prd` and its variations represent different aspects and actions related to Portable Request Documents ( RequestPrd), covering everything from confirmation to updates, key management, and messaging, essential for managing and processing RequestPrds securely and efficiently.
| Attribute Name | Type | Option | Description |
|---------------------------------|--------------------|--------|------------------------------------------------------------|
|---------------------------------------------|-------------------|--------|------------------------------------------------------------|
| `request_prd` | ```request_prd``` | | Represents a Request. |
| `sig_value` | ```String``` | | The signature value for the response. |
| `shared_secret_key` | ```eyEncryption``` | Yes | Optional encryption key used for shared secrets. |
| `shared_secret_key_enc_by_sp_shared_secret` | ```Encryption``` | Yes | Optional encryption key used for shared secrets. |
| `shard_enc_by_sp_shared_secret` | ```String``` | Yes | The shard encrypted by a service provider's shared secret. |
### 11.2. <a name='RequestPrdConfirm'></a>RequestPrdConfirm

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,155 @@
<mxfile host="Electron" modified="2024-03-08T10:09:10.941Z" agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/23.1.5 Chrome/120.0.6099.109 Electron/28.1.0 Safari/537.36" etag="dEOXcQHUTxQ7Pi8NSHj9" version="23.1.5" type="device">
<diagram name="Page-1" id="Ay0TpeaQuVh3P3g7hVAg">
<mxGraphModel dx="2122" dy="791" 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">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="EWl4Vt8T4nABZOOH1jeO-55" value="" style="rounded=0;whiteSpace=wrap;html=1;strokeWidth=3;" vertex="1" parent="1">
<mxGeometry x="1009" y="20" width="186" height="250" as="geometry" />
</mxCell>
<mxCell id="EWl4Vt8T4nABZOOH1jeO-91" value="KeyConfidential" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="1021" y="70" width="164" height="80" as="geometry" />
</mxCell>
<mxCell id="EWl4Vt8T4nABZOOH1jeO-29" value="AES:&amp;nbsp;Random" style="label;whiteSpace=wrap;html=1;image=img/clipart/Gear_128x128.png" vertex="1" parent="1">
<mxGeometry x="170" y="102.26" width="170" height="30" as="geometry" />
</mxCell>
<mxCell id="EWl4Vt8T4nABZOOH1jeO-63" value="AES:&amp;nbsp;KeyConfidential" style="label;whiteSpace=wrap;html=1;image=img/clipart/Gear_128x128.png" vertex="1" parent="1">
<mxGeometry x="784" y="102.25999999999999" width="190" height="30" as="geometry" />
</mxCell>
<mxCell id="EWl4Vt8T4nABZOOH1jeO-58" value="KeyConfidential" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="1029" y="104.24" width="136" height="26.05" as="geometry" />
</mxCell>
<mxCell id="EWl4Vt8T4nABZOOH1jeO-61" value="Tx Silent Payment" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontStyle=1" vertex="1" parent="1">
<mxGeometry x="1019" y="20" width="140" height="39.07" as="geometry" />
</mxCell>
<mxCell id="EWl4Vt8T4nABZOOH1jeO-27" value="AES:&amp;nbsp;ProcessKey" style="label;whiteSpace=wrap;html=1;image=img/clipart/Gear_128x128.png" vertex="1" parent="1">
<mxGeometry x="170" y="182.37" width="170" height="30" as="geometry" />
</mxCell>
<mxCell id="EWl4Vt8T4nABZOOH1jeO-31" value="AES:&amp;nbsp;KeyRecover" style="label;whiteSpace=wrap;html=1;image=img/clipart/Gear_128x128.png" vertex="1" parent="1">
<mxGeometry x="170" y="224" width="170" height="30" as="geometry" />
</mxCell>
<mxCell id="EWl4Vt8T4nABZOOH1jeO-71" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="EWl4Vt8T4nABZOOH1jeO-58" target="EWl4Vt8T4nABZOOH1jeO-63">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="EWl4Vt8T4nABZOOH1jeO-81" value="export" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="EWl4Vt8T4nABZOOH1jeO-71">
<mxGeometry x="-0.0741" y="2" relative="1" as="geometry">
<mxPoint x="-1" y="-13" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="EWl4Vt8T4nABZOOH1jeO-92" value="&lt;span style=&quot;color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: center; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(251, 251, 251); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;&quot;&gt;&lt;i&gt;Diffie-Hellman&lt;/i&gt;&lt;/span&gt;" style="text;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="1029" y="69.86" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="EWl4Vt8T4nABZOOH1jeO-93" value="" style="group" vertex="1" connectable="0" parent="1">
<mxGeometry x="-110" y="20" width="260" height="250" as="geometry" />
</mxCell>
<mxCell id="EWl4Vt8T4nABZOOH1jeO-1" value="" style="rounded=0;whiteSpace=wrap;html=1;strokeWidth=3;" vertex="1" parent="EWl4Vt8T4nABZOOH1jeO-93">
<mxGeometry width="260" height="250" as="geometry" />
</mxCell>
<mxCell id="EWl4Vt8T4nABZOOH1jeO-2" value="" style="rounded=0;whiteSpace=wrap;html=1;strokeWidth=2;" vertex="1" parent="EWl4Vt8T4nABZOOH1jeO-93">
<mxGeometry x="7.878787878787878" y="52.09" width="244.24242424242425" height="187.91" as="geometry" />
</mxCell>
<mxCell id="EWl4Vt8T4nABZOOH1jeO-4" value="role confidential metadatas&amp;nbsp;encrypted" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="EWl4Vt8T4nABZOOH1jeO-93">
<mxGeometry x="15.757575757575756" y="84.23255813953486" width="228.4848484848485" height="26.046511627906977" as="geometry" />
</mxCell>
<mxCell id="EWl4Vt8T4nABZOOH1jeO-14" value="Item" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="EWl4Vt8T4nABZOOH1jeO-93">
<mxGeometry x="7.878787878787878" y="50.790697674418595" width="47.27272727272727" height="39.06976744186046" as="geometry" />
</mxCell>
<mxCell id="EWl4Vt8T4nABZOOH1jeO-25" value="PCD" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontStyle=1" vertex="1" parent="EWl4Vt8T4nABZOOH1jeO-93">
<mxGeometry x="7.878787878787878" width="47.27272727272727" height="39.06976744186046" as="geometry" />
</mxCell>
<mxCell id="EWl4Vt8T4nABZOOH1jeO-3" value="public metadatas encrypted" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="EWl4Vt8T4nABZOOH1jeO-93">
<mxGeometry x="15.757575757575756" y="163.53279069767441" width="228.4848484848485" height="26.046511627906977" as="geometry" />
</mxCell>
<mxCell id="EWl4Vt8T4nABZOOH1jeO-5" value="private metadatas&amp;nbsp;encrypted" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="EWl4Vt8T4nABZOOH1jeO-93">
<mxGeometry x="15.757575757575756" y="205.9723255813953" width="228.4848484848485" height="26.046511627906977" as="geometry" />
</mxCell>
<mxCell id="EWl4Vt8T4nABZOOH1jeO-32" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="EWl4Vt8T4nABZOOH1jeO-27" target="EWl4Vt8T4nABZOOH1jeO-3">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="EWl4Vt8T4nABZOOH1jeO-34" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="EWl4Vt8T4nABZOOH1jeO-31" target="EWl4Vt8T4nABZOOH1jeO-5">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="EWl4Vt8T4nABZOOH1jeO-77" value="&lt;b style=&quot;font-size: 12px;&quot;&gt;&lt;font style=&quot;font-size: 12px;&quot;&gt;Enc&lt;/font&gt;&lt;/b&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=12;fontColor=#999999;" vertex="1" parent="1">
<mxGeometry x="143" y="225.67000000000002" width="20" height="9" as="geometry" />
</mxCell>
<mxCell id="EWl4Vt8T4nABZOOH1jeO-90" value="&lt;b style=&quot;font-size: 12px;&quot;&gt;&lt;font style=&quot;font-size: 12px;&quot;&gt;Enc&lt;/font&gt;&lt;/b&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=12;fontColor=#999999;" vertex="1" parent="1">
<mxGeometry x="143" y="186" width="20" height="9" as="geometry" />
</mxCell>
<mxCell id="EWl4Vt8T4nABZOOH1jeO-33" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="EWl4Vt8T4nABZOOH1jeO-29" target="EWl4Vt8T4nABZOOH1jeO-4">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="EWl4Vt8T4nABZOOH1jeO-76" value="&lt;b style=&quot;font-size: 12px;&quot;&gt;&lt;font style=&quot;font-size: 12px;&quot;&gt;Enc&lt;/font&gt;&lt;/b&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=12;fontColor=#999999;" vertex="1" parent="1">
<mxGeometry x="144" y="105" width="20" height="9" as="geometry" />
</mxCell>
<mxCell id="EWl4Vt8T4nABZOOH1jeO-36" value="" style="rounded=0;whiteSpace=wrap;html=1;strokeWidth=3;" vertex="1" parent="1">
<mxGeometry x="359.91" y="20" width="400.09" height="250" as="geometry" />
</mxCell>
<mxCell id="EWl4Vt8T4nABZOOH1jeO-95" value="" style="group" vertex="1" connectable="0" parent="1">
<mxGeometry x="374.46" y="65.16" width="364.54" height="186.86" as="geometry" />
</mxCell>
<mxCell id="EWl4Vt8T4nABZOOH1jeO-38" value="*_enc_by_shared_secret&lt;span style=&quot;background-color: initial;&quot;&gt;&amp;nbsp;encrypted&lt;/span&gt;" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="EWl4Vt8T4nABZOOH1jeO-95">
<mxGeometry width="364.54" height="26.04641437907359" as="geometry" />
</mxCell>
<mxCell id="EWl4Vt8T4nABZOOH1jeO-39" value="request_pcd_keys_role_confidential_list_enc_by_shared_secret" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="EWl4Vt8T4nABZOOH1jeO-95">
<mxGeometry y="39.069621568610366" width="364.54" height="26.04641437907359" as="geometry" />
</mxCell>
<mxCell id="EWl4Vt8T4nABZOOH1jeO-43" value="public message encrypted" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="EWl4Vt8T4nABZOOH1jeO-95">
<mxGeometry y="118.83420747453961" width="364.54" height="26.04641437907359" as="geometry" />
</mxCell>
<mxCell id="EWl4Vt8T4nABZOOH1jeO-44" value="role confidential message&amp;nbsp;encrypted" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="EWl4Vt8T4nABZOOH1jeO-95">
<mxGeometry y="78.83412426369104" width="364.54" height="26.04641437907359" as="geometry" />
</mxCell>
<mxCell id="EWl4Vt8T4nABZOOH1jeO-45" value="private message&amp;nbsp;encrypted" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="EWl4Vt8T4nABZOOH1jeO-95">
<mxGeometry y="160.81358562092643" width="364.54" height="26.04641437907359" as="geometry" />
</mxCell>
<mxCell id="EWl4Vt8T4nABZOOH1jeO-64" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="EWl4Vt8T4nABZOOH1jeO-63">
<mxGeometry relative="1" as="geometry">
<mxPoint x="739.449275362319" y="78.18604651162786" as="targetPoint" />
<Array as="points">
<mxPoint x="764" y="117" />
<mxPoint x="764" y="78" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="EWl4Vt8T4nABZOOH1jeO-65" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="EWl4Vt8T4nABZOOH1jeO-63">
<mxGeometry relative="1" as="geometry">
<mxPoint x="739.449275362319" y="117.25581395348843" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="EWl4Vt8T4nABZOOH1jeO-66" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="EWl4Vt8T4nABZOOH1jeO-63">
<mxGeometry relative="1" as="geometry">
<mxPoint x="739.449275362319" y="157.02046511627907" as="targetPoint" />
<Array as="points">
<mxPoint x="764" y="117" />
<mxPoint x="764" y="157" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="EWl4Vt8T4nABZOOH1jeO-78" value="&lt;b style=&quot;font-size: 12px;&quot;&gt;&lt;font style=&quot;font-size: 12px;&quot;&gt;Enc&lt;/font&gt;&lt;/b&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=12;fontColor=#999999;" vertex="1" parent="1">
<mxGeometry x="760" y="106" width="20" height="9" as="geometry" />
</mxCell>
<mxCell id="EWl4Vt8T4nABZOOH1jeO-83" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="EWl4Vt8T4nABZOOH1jeO-27" target="EWl4Vt8T4nABZOOH1jeO-43">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="EWl4Vt8T4nABZOOH1jeO-84" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="EWl4Vt8T4nABZOOH1jeO-31" target="EWl4Vt8T4nABZOOH1jeO-45">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="EWl4Vt8T4nABZOOH1jeO-53" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" edge="1" parent="1" source="EWl4Vt8T4nABZOOH1jeO-29" target="EWl4Vt8T4nABZOOH1jeO-39">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="EWl4Vt8T4nABZOOH1jeO-52" value="PRD Response" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontStyle=1" vertex="1" parent="1">
<mxGeometry x="367.18840579710144" y="20" width="72.7536231884058" height="39.07" as="geometry" />
</mxCell>
<mxCell id="EWl4Vt8T4nABZOOH1jeO-86" value="&lt;b style=&quot;font-size: 12px;&quot;&gt;&lt;font style=&quot;font-size: 12px;&quot;&gt;Enc&lt;/font&gt;&lt;/b&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=12;fontColor=#999999;" vertex="1" parent="1">
<mxGeometry x="349" y="186" width="14.55072463768116" height="9" as="geometry" />
</mxCell>
<mxCell id="EWl4Vt8T4nABZOOH1jeO-87" value="&lt;b style=&quot;font-size: 12px;&quot;&gt;&lt;font style=&quot;font-size: 12px;&quot;&gt;Enc&lt;/font&gt;&lt;/b&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=12;fontColor=#999999;" vertex="1" parent="1">
<mxGeometry x="349.7275362318841" y="226" width="14.55072463768116" height="9" as="geometry" />
</mxCell>
<mxCell id="EWl4Vt8T4nABZOOH1jeO-89" value="export" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="1">
<mxGeometry x="356.2722852334374" y="105.99805506002437" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>

View File

@ -0,0 +1,776 @@
<mxfile host="Electron" modified="2024-03-06T14:00:38.224Z" agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/23.1.5 Chrome/120.0.6099.109 Electron/28.1.0 Safari/537.36" etag="qL1fVQsuK1z3YtfG2JJh" version="23.1.5" type="device">
<diagram id="bWoO5ACGZIaXrIiKNTKd" name="Page-1">
<mxGraphModel dx="3676" dy="1894" 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">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="NZOLWawKIEO-KyV3UFa8-299" value="" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="-2199" y="-197.96" width="782.04" height="234" as="geometry" />
</mxCell>
<mxCell id="274" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="2" target="4" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="275" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="2" target="5" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="2" value="&lt;b&gt;KeyRecover&lt;/b&gt;" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fontColor=#000000;" parent="1" vertex="1">
<mxGeometry x="-761.7619217081851" y="-2" width="88.8134519572954" height="28.999999999999993" as="geometry" />
</mxCell>
<mxCell id="4" value="Part2&lt;br&gt;128 bits" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fontColor=#000000;" parent="1" vertex="1">
<mxGeometry x="-524.36" y="37.92" width="103.81" height="29" as="geometry" />
</mxCell>
<mxCell id="5" value="Part1&lt;br&gt;128 bits" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fontColor=#000000;" parent="1" vertex="1">
<mxGeometry x="-1089" y="38" width="88.8134519572954" height="28.999999999999993" as="geometry" />
</mxCell>
<mxCell id="HEAZNrv7IqFEUBU4v7G9-285" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" parent="1" target="258" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="-1090" y="235" as="sourcePoint" />
</mxGeometry>
</mxCell>
<mxCell id="HEAZNrv7IqFEUBU4v7G9-287" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="6" target="282" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="6" value="Part2Enc" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fontColor=#000000;" parent="1" vertex="1">
<mxGeometry x="-524.3599999999999" y="219" width="103.81" height="29" as="geometry" />
</mxCell>
<mxCell id="8" value="Part1Enc" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fontColor=#000000;" parent="1" vertex="1">
<mxGeometry x="-1089" y="217.29" width="88.8134519572954" height="30.709999999999994" as="geometry" />
</mxCell>
<mxCell id="20" value="" style="endArrow=none;html=1;rounded=1;entryX=0.5;entryY=1;entryDx=0;entryDy=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;startArrow=classic;startFill=1;endFill=0;labelBackgroundColor=none;fontColor=#000000;" parent="1" source="276" target="5" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="-1017.308192620023" y="60" as="sourcePoint" />
<mxPoint x="-985.593274021352" y="28" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="21" value="" style="endArrow=none;html=1;rounded=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;startArrow=classic;startFill=1;endFill=0;labelBackgroundColor=none;fontColor=#000000;" parent="1" target="4" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="-473.30499999999984" y="188" as="sourcePoint" />
<mxPoint x="-594.905" y="31.210000000000264" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="32" value="Shard" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fontColor=#000000;" parent="1" vertex="1">
<mxGeometry x="-516.4195321963339" y="323" width="88.8134519572954" height="30.709999999999994" as="geometry" />
</mxCell>
<mxCell id="281" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" target="278" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="-717" y="67" as="sourcePoint" />
</mxGeometry>
</mxCell>
<mxCell id="77" value="ImageRevoke" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fontColor=#000000;fontStyle=1" parent="1" vertex="1">
<mxGeometry x="-770.93" y="37.92" width="110" height="29" as="geometry" />
</mxCell>
<mxCell id="154" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;labelBackgroundColor=none;fontColor=#000000;" parent="1" source="155" target="2" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="155" value="WalletCreate" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#dae8fc;strokeColor=#6c8ebf;fontStyle=1" parent="1" vertex="1">
<mxGeometry x="-761.76" y="-72" width="88.81" height="33" as="geometry" />
</mxCell>
<mxCell id="HEAZNrv7IqFEUBU4v7G9-294" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="160" target="HEAZNrv7IqFEUBU4v7G9-289" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="HEAZNrv7IqFEUBU4v7G9-295" value="KO" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="HEAZNrv7IqFEUBU4v7G9-294" vertex="1" connectable="0">
<mxGeometry x="-0.4499" relative="1" as="geometry">
<mxPoint x="-26" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="HEAZNrv7IqFEUBU4v7G9-296" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="160" target="167" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="HEAZNrv7IqFEUBU4v7G9-297" value="OK" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="HEAZNrv7IqFEUBU4v7G9-296" vertex="1" connectable="0">
<mxGeometry x="-0.8623" y="1" relative="1" as="geometry">
<mxPoint x="10" y="-1" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="160" value="ImageRecover in cache ?" style="rhombus;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#fff2cc;strokeColor=#d6b656;" parent="1" vertex="1">
<mxGeometry x="-1244.5500000000002" y="-171" width="170" height="49" as="geometry" />
</mxCell>
<mxCell id="161" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;labelBackgroundColor=none;fontColor=#000000;entryX=0.501;entryY=0.044;entryDx=0;entryDy=0;entryPerimeter=0;" parent="1" source="162" target="164" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="-1374.98" y="12" as="sourcePoint" />
<mxPoint x="-1280" y="-35" as="targetPoint" />
<Array as="points" />
</mxGeometry>
</mxCell>
<mxCell id="162" value="NewDevice" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fontColor=#000000;" parent="1" vertex="1">
<mxGeometry x="-1354.98" y="-78" width="120" height="33" as="geometry" />
</mxCell>
<mxCell id="163" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;labelBackgroundColor=none;fontColor=#000000;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" parent="1" source="164" target="HEAZNrv7IqFEUBU4v7G9-305" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="-1264.98" y="23" as="sourcePoint" />
<mxPoint x="-1295.03" y="41" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="164" value="ImageRecoverUpload" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
<mxGeometry x="-1352.89" y="-30.210000000000008" width="115.48" height="29" as="geometry" />
</mxCell>
<mxCell id="165" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;labelBackgroundColor=none;fontColor=#000000;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" parent="1" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="-1294.28" y="87" as="sourcePoint" />
<mxPoint x="-1294.73" y="103" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="166" value="Cache" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#d5e8d4;strokeColor=#82b366;" parent="1" vertex="1">
<mxGeometry x="-1351.59" y="57" width="114.62" height="29" as="geometry" />
</mxCell>
<mxCell id="167" value="WalletRecover" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#dae8fc;strokeColor=#6c8ebf;fontStyle=1" parent="1" vertex="1">
<mxGeometry x="-1350" y="102" width="110.54" height="33" as="geometry" />
</mxCell>
<mxCell id="280" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="181" target="279" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="181" value="ImageRecover" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fontColor=#000000;fontStyle=1" parent="1" vertex="1">
<mxGeometry x="-772" y="252.71000000000004" width="110" height="29" as="geometry" />
</mxCell>
<mxCell id="259" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="189" target="202" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="-1178" y="333" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="189" value="PreId" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fontColor=#000000;" parent="1" vertex="1">
<mxGeometry x="-1220.891944604848" y="307" width="88.8134519572954" height="28.999999999999993" as="geometry" />
</mxCell>
<mxCell id="190" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.56;exitY=1.01;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitPerimeter=0;" parent="1" source="258" target="189" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="-367.91" y="256.15" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="192" value="Shard" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fontColor=#000000;" parent="1" vertex="1">
<mxGeometry x="-506.4195321963339" y="333" width="88.8134519572954" height="30.709999999999994" as="geometry" />
</mxCell>
<mxCell id="206" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="193" target="202" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="-1184" y="426" as="targetPoint" />
<Array as="points">
<mxPoint x="-449" y="392" />
<mxPoint x="-1178" y="392" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="193" value="Shard" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fontColor=#000000;" parent="1" vertex="1">
<mxGeometry x="-493.4195321963339" y="346" width="88.8134519572954" height="30.709999999999994" as="geometry" />
</mxCell>
<mxCell id="200" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="196" target="197" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="KGCLxLdSfCaxDo2TsfCf-286" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.75;entryDx=0;entryDy=0;" parent="1" source="196" target="202" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="-80" y="186" />
<mxPoint x="-80" y="680" />
<mxPoint x="-1274" y="680" />
<mxPoint x="-1274" y="513" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="196" value="SharedProcessSelected" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#d5e8d4;strokeColor=#82b366;" parent="1" vertex="1">
<mxGeometry x="-269.55999999999995" y="171.00000000000006" width="170" height="30.71" as="geometry" />
</mxCell>
<mxCell id="197" value="SpAddress" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
<mxGeometry x="-230.55953219633375" y="233.29000000000002" width="88.8134519572954" height="30.709999999999994" as="geometry" />
</mxCell>
<mxCell id="198" value="SpAddress" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
<mxGeometry x="-220.55953219633375" y="243.29000000000002" width="88.8134519572954" height="30.709999999999994" as="geometry" />
</mxCell>
<mxCell id="205" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" parent="1" source="199" target="202" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="-166" y="392" />
<mxPoint x="-1178" y="392" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="HEAZNrv7IqFEUBU4v7G9-288" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="199" target="282" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="-211" y="280" />
<mxPoint x="-360" y="280" />
<mxPoint x="-360" y="279" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="199" value="SpAddress" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
<mxGeometry x="-210.55953219633375" y="253.29000000000002" width="88.8134519572954" height="30.709999999999994" as="geometry" />
</mxCell>
<mxCell id="202" value="PRDKeyBackip" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
<mxGeometry x="-1254" y="491" width="152.39494830511973" height="28.99999999999996" as="geometry" />
</mxCell>
<mxCell id="203" value="PRDKeyBackip" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
<mxGeometry x="-1235.7457165981" y="501" width="152.39494830511973" height="28.99999999999996" as="geometry" />
</mxCell>
<mxCell id="233" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="204" target="228" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="-1140" y="540" />
<mxPoint x="-1140" y="558" />
<mxPoint x="-1199" y="558" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="234" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="204" target="230" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="-1140" y="540" />
<mxPoint x="-1140" y="558" />
<mxPoint x="-1158" y="558" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="235" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="204" target="231" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="-1140" y="540" />
<mxPoint x="-1140" y="558" />
<mxPoint x="-1119" y="558" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="236" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" parent="1" source="204" target="232" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="-1140" y="540" />
<mxPoint x="-1140" y="558" />
<mxPoint x="-1080" y="558" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="U1iS4aTrDNJz4kT7s3QN-287" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;fillColor=#f5f5f5;strokeColor=#666666;" parent="1" source="204" target="U1iS4aTrDNJz4kT7s3QN-288" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="-780" y="525.8333333333335" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="204" value="RequestPrdList" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
<mxGeometry x="-1217.49" y="511" width="197.49" height="29" as="geometry" />
</mxCell>
<mxCell id="228" value="1" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;container=0;rounded=1;labelBackgroundColor=none;fontColor=#333333;fillColor=#f5f5f5;strokeColor=#666666;" parent="1" vertex="1">
<mxGeometry x="-1213.97" y="597.78" width="28.93" height="28.93" as="geometry" />
</mxCell>
<mxCell id="230" value="2" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;container=0;rounded=1;labelBackgroundColor=none;fontColor=#333333;fillColor=#f5f5f5;strokeColor=#666666;" parent="1" vertex="1">
<mxGeometry x="-1172.9" y="597.78" width="28.93" height="28.93" as="geometry" />
</mxCell>
<mxCell id="231" value="3" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;container=0;rounded=1;labelBackgroundColor=none;fontColor=#333333;fillColor=#f5f5f5;strokeColor=#666666;" parent="1" vertex="1">
<mxGeometry x="-1133.97" y="597.78" width="28.93" height="28.93" as="geometry" />
</mxCell>
<mxCell id="232" value="4" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;container=0;rounded=1;labelBackgroundColor=none;fontColor=#333333;fillColor=#f5f5f5;strokeColor=#666666;" parent="1" vertex="1">
<mxGeometry x="-1094.03" y="597.78" width="28.93" height="28.93" as="geometry" />
</mxCell>
<mxCell id="245" value="Relay WS" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="-1172.9" y="628.71" width="60" height="30" as="geometry" />
</mxCell>
<mxCell id="258" value="&lt;b style=&quot;border-color: var(--border-color); text-align: center;&quot;&gt;PwdHash&lt;/b&gt;" style="label;whiteSpace=wrap;html=1;image=img/clipart/Gear_128x128.png" parent="1" vertex="1">
<mxGeometry x="-1246.55" y="219.71" width="125" height="30" as="geometry" />
</mxCell>
<mxCell id="261" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="260" target="2" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="-717" y="-21" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="260" value="SeedRand0-Spend&lt;br&gt;512 bits" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#f8cecc;strokeColor=#b85450;" parent="1" vertex="1">
<mxGeometry x="-540" y="-28" width="130" height="26" as="geometry" />
</mxCell>
<mxCell id="269" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" target="6" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="-473.30499999999984" y="195" as="sourcePoint" />
</mxGeometry>
</mxCell>
<mxCell id="277" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="276" target="8" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="XqTc7s29-gL46L3V4mSs-302" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="276" target="181" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="-821.8800000000001" y="179.5" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="XqTc7s29-gL46L3V4mSs-307" value="SeedRand1" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="XqTc7s29-gL46L3V4mSs-302" vertex="1" connectable="0">
<mxGeometry x="-0.1098" y="1" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="276" value="&lt;b style=&quot;border-color: var(--border-color); text-align: center;&quot;&gt;PartEncryption&lt;/b&gt;" style="label;whiteSpace=wrap;html=1;image=img/clipart/Gear_128x128.png" parent="1" vertex="1">
<mxGeometry x="-1113.29" y="165" width="137.39" height="30" as="geometry" />
</mxCell>
<mxCell id="278" value="Download" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#d5e8d4;strokeColor=#82b366;" parent="1" vertex="1">
<mxGeometry x="-772.45" y="82" width="110" height="28" as="geometry" />
</mxCell>
<mxCell id="279" value="Cache" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#d5e8d4;strokeColor=#82b366;" parent="1" vertex="1">
<mxGeometry x="-769.8" y="299" width="110" height="29" as="geometry" />
</mxCell>
<mxCell id="284" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="282" target="32" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="282" value="Shamir Secret Sharing" style="label;whiteSpace=wrap;html=1;image=img/clipart/Gear_128x128.png" parent="1" vertex="1">
<mxGeometry x="-567.45" y="263.86" width="190" height="30" as="geometry" />
</mxCell>
<mxCell id="HEAZNrv7IqFEUBU4v7G9-290" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="HEAZNrv7IqFEUBU4v7G9-289" target="155" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="HEAZNrv7IqFEUBU4v7G9-292" value="KO" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="HEAZNrv7IqFEUBU4v7G9-290" vertex="1" connectable="0">
<mxGeometry x="-0.7216" y="-1" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="HEAZNrv7IqFEUBU4v7G9-303" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="HEAZNrv7IqFEUBU4v7G9-289" target="162" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="-1071" y="-98" />
<mxPoint x="-1295" y="-98" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="HEAZNrv7IqFEUBU4v7G9-304" value="KO" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="HEAZNrv7IqFEUBU4v7G9-303" vertex="1" connectable="0">
<mxGeometry x="-0.4442" y="4" relative="1" as="geometry">
<mxPoint x="48" y="-2" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="HEAZNrv7IqFEUBU4v7G9-289" value="new device ?" style="rhombus;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#fff2cc;strokeColor=#d6b656;" parent="1" vertex="1">
<mxGeometry x="-1070.68" y="-121" width="170" height="49" as="geometry" />
</mxCell>
<mxCell id="HEAZNrv7IqFEUBU4v7G9-301" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="HEAZNrv7IqFEUBU4v7G9-299" target="160" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="HEAZNrv7IqFEUBU4v7G9-299" value="" style="strokeWidth=2;html=1;shape=mxgraph.flowchart.start_2;whiteSpace=wrap;" parent="1" vertex="1">
<mxGeometry x="-1169.55" y="-209" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="HEAZNrv7IqFEUBU4v7G9-306" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="HEAZNrv7IqFEUBU4v7G9-305" target="166" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="HEAZNrv7IqFEUBU4v7G9-305" value="ImageRecover" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fontColor=#000000;fontStyle=1" parent="1" vertex="1">
<mxGeometry x="-1349.98" y="13.920000000000016" width="110" height="29" as="geometry" />
</mxCell>
<mxCell id="HEAZNrv7IqFEUBU4v7G9-314" value="5" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;container=0;rounded=1;labelBackgroundColor=none;fillColor=#fff2cc;strokeColor=#d6b656;" parent="1" vertex="1">
<mxGeometry x="-762" y="597.78" width="28.93" height="28.93" as="geometry" />
</mxCell>
<mxCell id="HEAZNrv7IqFEUBU4v7G9-315" value="6" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;container=0;rounded=1;labelBackgroundColor=none;fillColor=#fff2cc;strokeColor=#d6b656;" parent="1" vertex="1">
<mxGeometry x="-720.9300000000001" y="597.78" width="28.93" height="28.93" as="geometry" />
</mxCell>
<mxCell id="HEAZNrv7IqFEUBU4v7G9-316" value="7" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;container=0;rounded=1;labelBackgroundColor=none;fillColor=#fff2cc;strokeColor=#d6b656;" parent="1" vertex="1">
<mxGeometry x="-682" y="597.78" width="28.93" height="28.93" as="geometry" />
</mxCell>
<mxCell id="HEAZNrv7IqFEUBU4v7G9-317" value="8" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;container=0;rounded=1;labelBackgroundColor=none;fillColor=#fff2cc;strokeColor=#d6b656;" parent="1" vertex="1">
<mxGeometry x="-642.06" y="597.78" width="28.93" height="28.93" as="geometry" />
</mxCell>
<mxCell id="HEAZNrv7IqFEUBU4v7G9-318" value="Relay WS" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="-720.9300000000001" y="628.71" width="60" height="30" as="geometry" />
</mxCell>
<mxCell id="HEAZNrv7IqFEUBU4v7G9-329" value="Cache" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#d5e8d4;strokeColor=#82b366;" parent="1" vertex="1">
<mxGeometry x="-759.8" y="309" width="110" height="29" as="geometry" />
</mxCell>
<mxCell id="HEAZNrv7IqFEUBU4v7G9-334" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" parent="1" source="HEAZNrv7IqFEUBU4v7G9-333" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="-184.55999999999995" y="127.57999999999997" as="targetPoint" />
<Array as="points">
<mxPoint x="-185" y="104.29" />
<mxPoint x="-185" y="112.29" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="HEAZNrv7IqFEUBU4v7G9-333" value="SDK" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#d5e8d4;strokeColor=#82b366;" parent="1" vertex="1">
<mxGeometry x="-241.16" y="76.29" width="114.62" height="29" as="geometry" />
</mxCell>
<mxCell id="HEAZNrv7IqFEUBU4v7G9-337" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" target="196" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="-184.83999999999992" y="158.29000000000002" as="sourcePoint" />
</mxGeometry>
</mxCell>
<mxCell id="HEAZNrv7IqFEUBU4v7G9-336" value="SharedProcessList" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
<mxGeometry x="-277.55999999999995" y="127.57999999999997" width="180" height="30.71" as="geometry" />
</mxCell>
<mxCell id="HEAZNrv7IqFEUBU4v7G9-341" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="HEAZNrv7IqFEUBU4v7G9-338" target="HEAZNrv7IqFEUBU4v7G9-340" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="-853" y="442" />
<mxPoint x="-911" y="442" />
<mxPoint x="-911" y="462" />
<mxPoint x="-907" y="462" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="HEAZNrv7IqFEUBU4v7G9-338" value="Cache" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#d5e8d4;strokeColor=#82b366;" parent="1" vertex="1">
<mxGeometry x="-910.42" y="402" width="114.62" height="29" as="geometry" />
</mxCell>
<mxCell id="HEAZNrv7IqFEUBU4v7G9-342" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" parent="1" source="HEAZNrv7IqFEUBU4v7G9-339" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="-910" y="462" as="targetPoint" />
<Array as="points">
<mxPoint x="-981" y="442" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="HEAZNrv7IqFEUBU4v7G9-339" value="SDK" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#d5e8d4;strokeColor=#82b366;" parent="1" vertex="1">
<mxGeometry x="-1038.8300000000002" y="402" width="114.62" height="29" as="geometry" />
</mxCell>
<mxCell id="HEAZNrv7IqFEUBU4v7G9-343" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" parent="1" source="HEAZNrv7IqFEUBU4v7G9-340" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="-1040" y="582" as="targetPoint" />
<Array as="points">
<mxPoint x="-916" y="582" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="HEAZNrv7IqFEUBU4v7G9-344" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" parent="1" source="HEAZNrv7IqFEUBU4v7G9-340" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="-790" y="582" as="targetPoint" />
<Array as="points">
<mxPoint x="-916" y="582" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="HEAZNrv7IqFEUBU4v7G9-340" value="SharedPeerListMerged" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
<mxGeometry x="-1005.8499999999999" y="460.29" width="180" height="30.71" as="geometry" />
</mxCell>
<mxCell id="HEAZNrv7IqFEUBU4v7G9-371" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="XqTc7s29-gL46L3V4mSs-309" target="77" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="-800" y="52" />
</Array>
<mxPoint x="-827.2399999999998" y="96.5" as="sourcePoint" />
</mxGeometry>
</mxCell>
<mxCell id="HEAZNrv7IqFEUBU4v7G9-372" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="XqTc7s29-gL46L3V4mSs-310" target="77" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="-810" y="35" as="targetPoint" />
<Array as="points">
<mxPoint x="-808" y="100" />
<mxPoint x="-800" y="100" />
<mxPoint x="-800" y="52" />
</Array>
<mxPoint x="-828.2399999999998" y="139.5" as="sourcePoint" />
</mxGeometry>
</mxCell>
<mxCell id="NZOLWawKIEO-KyV3UFa8-291" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="NZOLWawKIEO-KyV3UFa8-284" target="NZOLWawKIEO-KyV3UFa8-285" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="NZOLWawKIEO-KyV3UFa8-284" value="SeedRandomInital&lt;br&gt;512 bits" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#f8cecc;strokeColor=#b85450;" parent="1" vertex="1">
<mxGeometry x="-2175.55" y="-23.960000000000008" width="161.76" height="40" as="geometry" />
</mxCell>
<mxCell id="NZOLWawKIEO-KyV3UFa8-292" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="NZOLWawKIEO-KyV3UFa8-285" target="NZOLWawKIEO-KyV3UFa8-290" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="NZOLWawKIEO-KyV3UFa8-285" value="&lt;b&gt;privKey&lt;/b&gt;&lt;b&gt;&lt;br&gt;&lt;/b&gt;" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fontColor=#000000;" parent="1" vertex="1">
<mxGeometry x="-1940.5300000000002" y="-23.960000000000008" width="124.36" height="39" as="geometry" />
</mxCell>
<mxCell id="NZOLWawKIEO-KyV3UFa8-293" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" parent="1" source="NZOLWawKIEO-KyV3UFa8-287" target="NZOLWawKIEO-KyV3UFa8-290" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="-1706.17" y="16.039999999999992" as="targetPoint" />
<Array as="points">
<mxPoint x="-1776.17" y="-123.96000000000001" />
<mxPoint x="-1776.17" y="-63.96000000000001" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="NZOLWawKIEO-KyV3UFa8-287" value="&lt;b style=&quot;border-color: var(--border-color); text-align: center;&quot;&gt;PwdHash&lt;/b&gt;" style="label;whiteSpace=wrap;html=1;image=img/clipart/Gear_128x128.png" parent="1" vertex="1">
<mxGeometry x="-1935.88" y="-143.96" width="125" height="40" as="geometry" />
</mxCell>
<mxCell id="NZOLWawKIEO-KyV3UFa8-296" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" parent="1" source="NZOLWawKIEO-KyV3UFa8-290" target="NZOLWawKIEO-KyV3UFa8-294" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="NZOLWawKIEO-KyV3UFa8-290" value="AES-GCM-256" style="label;whiteSpace=wrap;html=1;image=img/clipart/Gear_128x128.png" parent="1" vertex="1">
<mxGeometry x="-1736.17" y="-83.96000000000001" width="137.39" height="40" as="geometry" />
</mxCell>
<mxCell id="NZOLWawKIEO-KyV3UFa8-294" value="&lt;b&gt;privKey_enc&lt;/b&gt;&lt;b&gt;&lt;br&gt;&lt;/b&gt;" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fontColor=#000000;" parent="1" vertex="1">
<mxGeometry x="-1557.92" y="-82.96000000000001" width="124.36" height="39" as="geometry" />
</mxCell>
<mxCell id="NZOLWawKIEO-KyV3UFa8-300" value="&lt;b&gt;KeyEncryption&lt;/b&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="-2188.3199999999997" y="-187.96" width="110" height="30" as="geometry" />
</mxCell>
<mxCell id="XqTc7s29-gL46L3V4mSs-284" value="" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="-2199" y="46.03999999999999" width="780.36" height="233" as="geometry" />
</mxCell>
<mxCell id="XqTc7s29-gL46L3V4mSs-288" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="XqTc7s29-gL46L3V4mSs-289" target="XqTc7s29-gL46L3V4mSs-295" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="XqTc7s29-gL46L3V4mSs-289" value="&lt;b&gt;part&lt;br&gt;&lt;/b&gt;" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fontColor=#000000;" parent="1" vertex="1">
<mxGeometry x="-1940.5300000000004" y="225.04" width="124.36" height="39" as="geometry" />
</mxCell>
<mxCell id="XqTc7s29-gL46L3V4mSs-292" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" parent="1" source="XqTc7s29-gL46L3V4mSs-293" target="XqTc7s29-gL46L3V4mSs-295" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="-1706.17" y="265.03999999999996" as="targetPoint" />
<Array as="points">
<mxPoint x="-1776.17" y="125.03999999999999" />
<mxPoint x="-1776.17" y="185.04" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="XqTc7s29-gL46L3V4mSs-293" value="&lt;b style=&quot;border-color: var(--border-color); text-align: center;&quot;&gt;PwdHash&lt;/b&gt;" style="label;whiteSpace=wrap;html=1;image=img/clipart/Gear_128x128.png" parent="1" vertex="1">
<mxGeometry x="-1941.1699999999998" y="102.03999999999999" width="125" height="40" as="geometry" />
</mxCell>
<mxCell id="XqTc7s29-gL46L3V4mSs-294" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" parent="1" source="XqTc7s29-gL46L3V4mSs-295" target="XqTc7s29-gL46L3V4mSs-296" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="XqTc7s29-gL46L3V4mSs-295" value="AES-GCM-256" style="label;whiteSpace=wrap;html=1;image=img/clipart/Gear_128x128.png" parent="1" vertex="1">
<mxGeometry x="-1736.17" y="165.04" width="137.39" height="40" as="geometry" />
</mxCell>
<mxCell id="XqTc7s29-gL46L3V4mSs-296" value="&lt;b&gt;part_enc&lt;/b&gt;&lt;b&gt;&lt;br&gt;&lt;/b&gt;" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fontColor=#000000;" parent="1" vertex="1">
<mxGeometry x="-1557.92" y="166.04" width="124.36" height="39" as="geometry" />
</mxCell>
<mxCell id="XqTc7s29-gL46L3V4mSs-300" value="&lt;b&gt;PartEncryption&lt;/b&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="-2188.3199999999997" y="56.03999999999999" width="110" height="30" as="geometry" />
</mxCell>
<mxCell id="AH83P5LbfY0wmGR11IUw-284" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=0.75;entryY=0;entryDx=0;entryDy=0;" parent="1" source="XqTc7s29-gL46L3V4mSs-304" target="181" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="-730" y="250" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="AH83P5LbfY0wmGR11IUw-285" value="SeedRand2" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="AH83P5LbfY0wmGR11IUw-284" vertex="1" connectable="0">
<mxGeometry x="0.0577" y="3" relative="1" as="geometry">
<mxPoint x="48" y="-3" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="XqTc7s29-gL46L3V4mSs-304" value="&lt;b style=&quot;border-color: var(--border-color); text-align: center;&quot;&gt;PartEncryption&lt;/b&gt;" style="label;whiteSpace=wrap;html=1;image=img/clipart/Gear_128x128.png" parent="1" vertex="1">
<mxGeometry x="-542" y="165" width="137.39" height="30" as="geometry" />
</mxCell>
<mxCell id="XqTc7s29-gL46L3V4mSs-309" value="&lt;b style=&quot;border-color: var(--border-color); text-align: center;&quot;&gt;KeyRevokeSpend&lt;br style=&quot;border-color: var(--border-color);&quot;&gt;&lt;/b&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;KeyEncryption&lt;/span&gt;" style="label;whiteSpace=wrap;html=1;image=img/clipart/Gear_128x128.png" parent="1" vertex="1">
<mxGeometry x="-971.1" y="37" width="163.42" height="30" as="geometry" />
</mxCell>
<mxCell id="XqTc7s29-gL46L3V4mSs-310" value="&lt;b style=&quot;border-color: var(--border-color); text-align: center;&quot;&gt;&lt;b style=&quot;border-color: var(--border-color);&quot;&gt;KeyRevokeScan&lt;/b&gt;&lt;br style=&quot;border-color: var(--border-color);&quot;&gt;&lt;/b&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;KeyEncryption&lt;/span&gt;" style="label;whiteSpace=wrap;html=1;image=img/clipart/Gear_128x128.png" parent="1" vertex="1">
<mxGeometry x="-971.0000000000001" y="82" width="163.42" height="30" as="geometry" />
</mxCell>
<mxCell id="U1iS4aTrDNJz4kT7s3QN-286" value="Message" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="-722.0000000000001" y="643" width="60" height="30" as="geometry" />
</mxCell>
<mxCell id="U1iS4aTrDNJz4kT7s3QN-288" value="PRDKeyBackip" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
<mxGeometry x="-795.8000000000001" y="511" width="152.39494830511973" height="28.99999999999996" as="geometry" />
</mxCell>
<mxCell id="U1iS4aTrDNJz4kT7s3QN-289" value="PRDKeyBackip" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
<mxGeometry x="-777.5457165981001" y="521" width="152.39494830511973" height="28.99999999999996" as="geometry" />
</mxCell>
<mxCell id="U1iS4aTrDNJz4kT7s3QN-291" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="U1iS4aTrDNJz4kT7s3QN-290" target="HEAZNrv7IqFEUBU4v7G9-314" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="U1iS4aTrDNJz4kT7s3QN-292" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="U1iS4aTrDNJz4kT7s3QN-290" target="HEAZNrv7IqFEUBU4v7G9-315" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="U1iS4aTrDNJz4kT7s3QN-293" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="U1iS4aTrDNJz4kT7s3QN-290" target="HEAZNrv7IqFEUBU4v7G9-316" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="U1iS4aTrDNJz4kT7s3QN-294" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="U1iS4aTrDNJz4kT7s3QN-290" target="HEAZNrv7IqFEUBU4v7G9-317" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="U1iS4aTrDNJz4kT7s3QN-290" value="RequestPrdMessage&lt;br&gt;(+ TxSp)" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
<mxGeometry x="-759.2914331962005" y="531" width="152.39494830511973" height="28.99999999999996" as="geometry" />
</mxCell>
<mxCell id="U1iS4aTrDNJz4kT7s3QN-295" value="To all roles" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontStyle=1" parent="1" vertex="1">
<mxGeometry x="-1320" y="517" width="60" height="33" as="geometry" />
</mxCell>
<mxCell id="U1iS4aTrDNJz4kT7s3QN-296" value="" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="-2199" y="-422.96" width="780.36" height="212.96" as="geometry" />
</mxCell>
<mxCell id="U1iS4aTrDNJz4kT7s3QN-297" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="U1iS4aTrDNJz4kT7s3QN-302" target="U1iS4aTrDNJz4kT7s3QN-301" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="-1935.0700000000002" y="-212.96" as="targetPoint" />
<Array as="points">
<mxPoint x="-1969.87" y="-266.96000000000004" />
<mxPoint x="-1969.87" y="-302.96000000000004" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="U1iS4aTrDNJz4kT7s3QN-298" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="U1iS4aTrDNJz4kT7s3QN-299" target="U1iS4aTrDNJz4kT7s3QN-301" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="-1969.87" y="-342.96000000000004" />
<mxPoint x="-1969.87" y="-302.96000000000004" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="U1iS4aTrDNJz4kT7s3QN-299" value="Password&lt;br&gt;18 characters" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
<mxGeometry x="-2179.67" y="-362.96000000000004" width="164.6" height="40" as="geometry" />
</mxCell>
<mxCell id="U1iS4aTrDNJz4kT7s3QN-301" value="SCRYPT" style="label;whiteSpace=wrap;html=1;image=img/clipart/Gear_128x128.png" parent="1" vertex="1">
<mxGeometry x="-1939.58" y="-322.96000000000004" width="125" height="40" as="geometry" />
</mxCell>
<mxCell id="U1iS4aTrDNJz4kT7s3QN-302" value="SeedRandom&lt;br&gt;256 bits" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#f8cecc;strokeColor=#b85450;" parent="1" vertex="1">
<mxGeometry x="-2179.67" y="-286.96000000000004" width="161.76" height="44" as="geometry" />
</mxCell>
<mxCell id="U1iS4aTrDNJz4kT7s3QN-303" value="&lt;b&gt;PwdHash&lt;/b&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="-2193" y="-412.96000000000004" width="110" height="30" as="geometry" />
</mxCell>
<mxCell id="U1iS4aTrDNJz4kT7s3QN-305" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;container=0;rounded=1;labelBackgroundColor=none;fontColor=#333333;fillColor=#f5f5f5;strokeColor=#666666;" parent="1" vertex="1">
<mxGeometry x="-2199" y="313.03999999999996" width="28.93" height="28.93" as="geometry" />
</mxCell>
<mxCell id="U1iS4aTrDNJz4kT7s3QN-307" value="Relay - side chain node not required" style="text;html=1;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="-2163.32" y="311.97" width="214.32" height="30" as="geometry" />
</mxCell>
<mxCell id="U1iS4aTrDNJz4kT7s3QN-310" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;container=0;rounded=1;labelBackgroundColor=none;fillColor=#fff2cc;strokeColor=#d6b656;" parent="1" vertex="1">
<mxGeometry x="-2200" y="348.0400000000001" width="28.93" height="28.93" as="geometry" />
</mxCell>
<mxCell id="U1iS4aTrDNJz4kT7s3QN-311" value="Relay - side chain node required" style="text;html=1;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="-2164.32" y="346.97000000000014" width="214.32" height="30" as="geometry" />
</mxCell>
<mxCell id="KGCLxLdSfCaxDo2TsfCf-284" value="&lt;b&gt;`item_member_enc_by_sp_shared_secret`&lt;/b&gt;&lt;br&gt;(only for member managers)" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fontColor=#000000;" parent="1" vertex="1">
<mxGeometry x="-1320" y="423" width="260" height="29" as="geometry" />
</mxCell>
<mxCell id="KGCLxLdSfCaxDo2TsfCf-285" value="Members" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontStyle=1" parent="1" vertex="1">
<mxGeometry x="-300" y="243.29000000000002" width="60" height="30" as="geometry" />
</mxCell>
<mxCell id="KGCLxLdSfCaxDo2TsfCf-288" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" parent="1" source="KGCLxLdSfCaxDo2TsfCf-284" target="KGCLxLdSfCaxDo2TsfCf-284" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="KGCLxLdSfCaxDo2TsfCf-289" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" parent="1" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="-1320" y="440" as="targetPoint" />
<Array as="points">
<mxPoint x="-1360" y="440" />
<mxPoint x="-1320" y="440" />
</Array>
<mxPoint x="-1360" y="441.8600000000001" as="sourcePoint" />
</mxGeometry>
</mxCell>
<mxCell id="KGCLxLdSfCaxDo2TsfCf-290" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.591;entryDx=0;entryDy=0;entryPerimeter=0;" parent="1" target="KGCLxLdSfCaxDo2TsfCf-284" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="-1322" y="438" as="targetPoint" />
<Array as="points">
<mxPoint x="-1340" y="486" />
<mxPoint x="-1340" y="440" />
<mxPoint x="-1322" y="440" />
</Array>
<mxPoint x="-1360" y="485.5" as="sourcePoint" />
</mxGeometry>
</mxCell>
<mxCell id="KGCLxLdSfCaxDo2TsfCf-291" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=-0.001;entryY=0.587;entryDx=0;entryDy=0;entryPerimeter=0;" parent="1" target="KGCLxLdSfCaxDo2TsfCf-284" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="-1340" y="523" />
<mxPoint x="-1340" y="440" />
</Array>
<mxPoint x="-1360" y="523.21" as="sourcePoint" />
<mxPoint x="-1322" y="438" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="KGCLxLdSfCaxDo2TsfCf-292" value="&lt;b style=&quot;border-color: var(--border-color); text-align: center;&quot;&gt;KeyRecoverScan&lt;br style=&quot;border-color: var(--border-color);&quot;&gt;&lt;/b&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;privEncrypt&lt;/span&gt;" style="label;whiteSpace=wrap;html=1;image=img/clipart/Gear_128x128.png" parent="1" vertex="1">
<mxGeometry x="-1524.1" y="426.07" width="163.42" height="30" as="geometry" />
</mxCell>
<mxCell id="KGCLxLdSfCaxDo2TsfCf-293" value="&lt;b style=&quot;border-color: var(--border-color); text-align: center;&quot;&gt;&lt;b style=&quot;border-color: var(--border-color);&quot;&gt;KeyMainSpend&lt;/b&gt;&lt;br style=&quot;border-color: var(--border-color);&quot;&gt;&lt;/b&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;privEncrypt&lt;/span&gt;" style="label;whiteSpace=wrap;html=1;image=img/clipart/Gear_128x128.png" parent="1" vertex="1">
<mxGeometry x="-1524" y="467.07" width="163.42" height="30" as="geometry" />
</mxCell>
<mxCell id="KGCLxLdSfCaxDo2TsfCf-294" value="&lt;div style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;background-color: initial;&quot;&gt;KeyMainScan&lt;br&gt;&lt;/span&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;privEncrypt&lt;/span&gt;&lt;br&gt;&lt;/div&gt;" style="label;whiteSpace=wrap;html=1;image=img/clipart/Gear_128x128.png" parent="1" vertex="1">
<mxGeometry x="-1524" y="505.78" width="163.42" height="30" as="geometry" />
</mxCell>
<mxCell id="KGCLxLdSfCaxDo2TsfCf-295" value="RequestPrdResponse" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
<mxGeometry x="-1044.27" y="741" width="197.49" height="29" as="geometry" />
</mxCell>
<mxCell id="KGCLxLdSfCaxDo2TsfCf-316" value="RequestPcd" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
<mxGeometry x="-1249.3899999999999" y="741" width="197.49" height="29" as="geometry" />
</mxCell>
<mxCell id="KGCLxLdSfCaxDo2TsfCf-317" value="RequestPrdMessage" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
<mxGeometry x="-834.4399999999999" y="741" width="197.49" height="29" as="geometry" />
</mxCell>
<mxCell id="KGCLxLdSfCaxDo2TsfCf-318" value="RequestPrdResponse" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
<mxGeometry x="-1034.27" y="751" width="197.49" height="29" as="geometry" />
</mxCell>
<mxCell id="KGCLxLdSfCaxDo2TsfCf-319" value="RequestPcd" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
<mxGeometry x="-1239.3899999999999" y="751" width="197.49" height="29" as="geometry" />
</mxCell>
<mxCell id="KGCLxLdSfCaxDo2TsfCf-320" value="RequestPrdMessage" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
<mxGeometry x="-824.4399999999999" y="751" width="197.49" height="29" as="geometry" />
</mxCell>
<mxCell id="KGCLxLdSfCaxDo2TsfCf-321" value="RequestPrdResponse" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
<mxGeometry x="-1024.27" y="761" width="197.49" height="29" as="geometry" />
</mxCell>
<mxCell id="KGCLxLdSfCaxDo2TsfCf-322" value="RequestPcd" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
<mxGeometry x="-1229.3899999999999" y="761" width="197.49" height="29" as="geometry" />
</mxCell>
<mxCell id="KGCLxLdSfCaxDo2TsfCf-323" value="RequestPrdMessage" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
<mxGeometry x="-814.4399999999999" y="761" width="197.49" height="29" as="geometry" />
</mxCell>
<mxCell id="KGCLxLdSfCaxDo2TsfCf-324" value="RequestPrdResponse" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
<mxGeometry x="-1014.27" y="771" width="197.49" height="29" as="geometry" />
</mxCell>
<mxCell id="KGCLxLdSfCaxDo2TsfCf-325" value="RequestPcd" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
<mxGeometry x="-1219.3899999999999" y="771" width="197.49" height="29" as="geometry" />
</mxCell>
<mxCell id="KGCLxLdSfCaxDo2TsfCf-326" value="RequestPrdMessage" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
<mxGeometry x="-804.4399999999999" y="771" width="197.49" height="29" as="geometry" />
</mxCell>
<mxCell id="KGCLxLdSfCaxDo2TsfCf-327" value="RequestPrdResponse" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
<mxGeometry x="-1004.27" y="781" width="197.49" height="29" as="geometry" />
</mxCell>
<mxCell id="KGCLxLdSfCaxDo2TsfCf-328" value="RequestPcd" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
<mxGeometry x="-1209.3899999999999" y="781" width="197.49" height="29" as="geometry" />
</mxCell>
<mxCell id="KGCLxLdSfCaxDo2TsfCf-329" value="RequestPrdMessage" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
<mxGeometry x="-794.4399999999999" y="781" width="197.49" height="29" as="geometry" />
</mxCell>
<mxCell id="KGCLxLdSfCaxDo2TsfCf-330" value="RequestPrdResponse" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
<mxGeometry x="-994.27" y="791" width="197.49" height="29" as="geometry" />
</mxCell>
<mxCell id="KGCLxLdSfCaxDo2TsfCf-331" value="RequestPcd" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
<mxGeometry x="-1199.3899999999999" y="791" width="197.49" height="29" as="geometry" />
</mxCell>
<mxCell id="KGCLxLdSfCaxDo2TsfCf-332" value="RequestPrdMessage" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
<mxGeometry x="-784.4399999999999" y="791" width="197.49" height="29" as="geometry" />
</mxCell>
<mxCell id="KGCLxLdSfCaxDo2TsfCf-333" value="RequestPrdResponse" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
<mxGeometry x="-984.27" y="801" width="197.49" height="29" as="geometry" />
</mxCell>
<mxCell id="KGCLxLdSfCaxDo2TsfCf-334" value="RequestPcd" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
<mxGeometry x="-1189.3899999999999" y="801" width="197.49" height="29" as="geometry" />
</mxCell>
<mxCell id="KGCLxLdSfCaxDo2TsfCf-335" value="RequestPrdMessage" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
<mxGeometry x="-774.4399999999999" y="801" width="197.49" height="29" as="geometry" />
</mxCell>
<mxCell id="KGCLxLdSfCaxDo2TsfCf-336" value="RequestPrdResponse" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
<mxGeometry x="-974.27" y="811" width="197.49" height="29" as="geometry" />
</mxCell>
<mxCell id="KGCLxLdSfCaxDo2TsfCf-337" value="RequestPcd" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
<mxGeometry x="-1179.3899999999999" y="811" width="197.49" height="29" as="geometry" />
</mxCell>
<mxCell id="KGCLxLdSfCaxDo2TsfCf-338" value="RequestPrdMessage" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
<mxGeometry x="-764.4399999999999" y="811" width="197.49" height="29" as="geometry" />
</mxCell>
<mxCell id="KGCLxLdSfCaxDo2TsfCf-339" value="RequestPrdResponse" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
<mxGeometry x="-964.27" y="821" width="197.49" height="29" as="geometry" />
</mxCell>
<mxCell id="KGCLxLdSfCaxDo2TsfCf-340" value="RequestPcd" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
<mxGeometry x="-1169.3899999999999" y="821" width="197.49" height="29" as="geometry" />
</mxCell>
<mxCell id="KGCLxLdSfCaxDo2TsfCf-341" value="RequestPrdMessage" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
<mxGeometry x="-754.4399999999999" y="821" width="197.49" height="29" as="geometry" />
</mxCell>
<mxCell id="KGCLxLdSfCaxDo2TsfCf-342" value="" style="shape=flexArrow;endArrow=classic;html=1;rounded=0;" parent="1" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="-930" y="690" as="sourcePoint" />
<mxPoint x="-930" y="730" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="KGCLxLdSfCaxDo2TsfCf-344" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.25;exitDx=0;exitDy=0;" parent="1" source="XqTc7s29-gL46L3V4mSs-304" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="-1320" y="440" as="targetPoint" />
<Array as="points">
<mxPoint x="-405" y="180" />
<mxPoint x="-380" y="180" />
<mxPoint x="-380" y="50" />
<mxPoint x="-60" y="50" />
<mxPoint x="-60" y="870" />
<mxPoint x="-1340" y="870" />
<mxPoint x="-1340" y="440" />
<mxPoint x="-1320" y="440" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="KGCLxLdSfCaxDo2TsfCf-345" value="SeedRand2&lt;br style=&quot;border-color: var(--border-color); font-weight: 400; text-align: center;&quot;&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;privEncrypt&lt;/span&gt;" style="label;whiteSpace=wrap;html=1;image=img/clipart/Gear_128x128.png" parent="1" vertex="1">
<mxGeometry x="-450" y="112" width="137.39" height="30" as="geometry" />
</mxCell>
<mxCell id="YAJWOaMnfQJNXjO860FT-284" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.468;entryY=0.025;entryDx=0;entryDy=0;entryPerimeter=0;" parent="1" source="YAJWOaMnfQJNXjO860FT-287" target="YAJWOaMnfQJNXjO860FT-286" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="YAJWOaMnfQJNXjO860FT-285" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" parent="1" target="YAJWOaMnfQJNXjO860FT-287" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="-1814.88" y="-302.96" as="sourcePoint" />
</mxGeometry>
</mxCell>
<mxCell id="YAJWOaMnfQJNXjO860FT-286" value="hash" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fontStyle=1" parent="1" vertex="1">
<mxGeometry x="-1774.5" y="-258.96000000000004" width="123.1" height="40" as="geometry" />
</mxCell>
<mxCell id="YAJWOaMnfQJNXjO860FT-287" value="SHA256" style="label;whiteSpace=wrap;html=1;image=img/clipart/Gear_128x128.png" parent="1" vertex="1">
<mxGeometry x="-1785.88" y="-322.96" width="137.39" height="40" as="geometry" />
</mxCell>
<mxCell id="mM1gybHHXk3-ZNENjHdL-284" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0.224;entryY=0.065;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="8" target="181">
<mxGeometry relative="1" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>

View File

@ -0,0 +1,840 @@
<mxfile host="Electron" modified="2024-03-06T13:58:36.708Z" agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/23.1.5 Chrome/120.0.6099.109 Electron/28.1.0 Safari/537.36" etag="EtSM1SvPoL9HlnmjQTVs" version="23.1.5" type="device">
<diagram name="Page-1" id="nezTab6434Mr3TNqJTht">
<mxGraphModel dx="3300" dy="1666" 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">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="sHT8GTnQFrlxJ-m2nGzn-6" value="WalletCreate" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#dae8fc;strokeColor=#6c8ebf;fontStyle=1" parent="1" vertex="1">
<mxGeometry x="-855.97" y="-328" width="88.81" height="33" as="geometry" />
</mxCell>
<mxCell id="sHT8GTnQFrlxJ-m2nGzn-7" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="sHT8GTnQFrlxJ-m2nGzn-11" target="sHT8GTnQFrlxJ-m2nGzn-23" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="sHT8GTnQFrlxJ-m2nGzn-8" value="KO" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="sHT8GTnQFrlxJ-m2nGzn-7" vertex="1" connectable="0">
<mxGeometry x="-0.4499" relative="1" as="geometry">
<mxPoint x="-26" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="sHT8GTnQFrlxJ-m2nGzn-9" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="sHT8GTnQFrlxJ-m2nGzn-11" target="sHT8GTnQFrlxJ-m2nGzn-34" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="-1353.9" y="0.5000000000002274" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="sHT8GTnQFrlxJ-m2nGzn-10" value="OK" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="sHT8GTnQFrlxJ-m2nGzn-9" vertex="1" connectable="0">
<mxGeometry x="-0.8623" y="1" relative="1" as="geometry">
<mxPoint x="10" y="-1" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="sHT8GTnQFrlxJ-m2nGzn-11" value="ImageRecover in cache ?" style="rhombus;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#fff2cc;strokeColor=#d6b656;" parent="1" vertex="1">
<mxGeometry x="-1244.5500000000002" y="-386" width="170" height="49" as="geometry" />
</mxCell>
<mxCell id="sHT8GTnQFrlxJ-m2nGzn-19" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="sHT8GTnQFrlxJ-m2nGzn-23" target="sHT8GTnQFrlxJ-m2nGzn-6" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="sHT8GTnQFrlxJ-m2nGzn-20" value="KO" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="sHT8GTnQFrlxJ-m2nGzn-19" vertex="1" connectable="0">
<mxGeometry x="-0.7216" y="-1" relative="1" as="geometry">
<mxPoint x="12" y="-1" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="sHT8GTnQFrlxJ-m2nGzn-21" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="sHT8GTnQFrlxJ-m2nGzn-23" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="-1071" y="-313" />
<mxPoint x="-1295" y="-313" />
</Array>
<mxPoint x="-1294.98" y="-293" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="sHT8GTnQFrlxJ-m2nGzn-22" value="OK" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="sHT8GTnQFrlxJ-m2nGzn-21" vertex="1" connectable="0">
<mxGeometry x="-0.4442" y="4" relative="1" as="geometry">
<mxPoint x="48" y="-2" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="sHT8GTnQFrlxJ-m2nGzn-23" value="new device ?" style="rhombus;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#fff2cc;strokeColor=#d6b656;" parent="1" vertex="1">
<mxGeometry x="-1070.68" y="-336" width="170" height="49" as="geometry" />
</mxCell>
<mxCell id="sHT8GTnQFrlxJ-m2nGzn-24" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="sHT8GTnQFrlxJ-m2nGzn-25" target="sHT8GTnQFrlxJ-m2nGzn-11" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="sHT8GTnQFrlxJ-m2nGzn-25" value="" style="strokeWidth=2;html=1;shape=mxgraph.flowchart.start_2;whiteSpace=wrap;" parent="1" vertex="1">
<mxGeometry x="-1169.55" y="-424" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="sHT8GTnQFrlxJ-m2nGzn-28" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;labelBackgroundColor=none;fontColor=#000000;entryX=0.501;entryY=0.044;entryDx=0;entryDy=0;entryPerimeter=0;" parent="1" source="sHT8GTnQFrlxJ-m2nGzn-29" target="sHT8GTnQFrlxJ-m2nGzn-31" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="-1374.98" y="-200" as="sourcePoint" />
<mxPoint x="-1280" y="-247" as="targetPoint" />
<Array as="points" />
</mxGeometry>
</mxCell>
<mxCell id="sHT8GTnQFrlxJ-m2nGzn-29" value="NewDevice" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fontColor=#000000;" parent="1" vertex="1">
<mxGeometry x="-1354.98" y="-290" width="120" height="33" as="geometry" />
</mxCell>
<mxCell id="sHT8GTnQFrlxJ-m2nGzn-30" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;labelBackgroundColor=none;fontColor=#000000;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" parent="1" source="sHT8GTnQFrlxJ-m2nGzn-31" target="sHT8GTnQFrlxJ-m2nGzn-36" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="-1264.98" y="-189" as="sourcePoint" />
<mxPoint x="-1295.03" y="-171" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="sHT8GTnQFrlxJ-m2nGzn-31" value="ImageRecoverUpload" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
<mxGeometry x="-1352.89" y="-242.21" width="115.48" height="29" as="geometry" />
</mxCell>
<mxCell id="sHT8GTnQFrlxJ-m2nGzn-32" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;labelBackgroundColor=none;fontColor=#000000;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" parent="1" source="sHT8GTnQFrlxJ-m2nGzn-33" target="sHT8GTnQFrlxJ-m2nGzn-34" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="-1354.98" y="-109.21000000000001" as="sourcePoint" />
<mxPoint x="-1294.85" y="-86.99999999999997" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="sHT8GTnQFrlxJ-m2nGzn-33" value="Cache" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#d5e8d4;strokeColor=#82b366;" parent="1" vertex="1">
<mxGeometry x="-1351.59" y="-155" width="114.62" height="29" as="geometry" />
</mxCell>
<mxCell id="sHT8GTnQFrlxJ-m2nGzn-306" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="sHT8GTnQFrlxJ-m2nGzn-34" target="sHT8GTnQFrlxJ-m2nGzn-301" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="-1220" y="-90" />
<mxPoint x="-1220" y="-205" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="sHT8GTnQFrlxJ-m2nGzn-34" value="WalletRecover" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#dae8fc;strokeColor=#6c8ebf;fontStyle=1" parent="1" vertex="1">
<mxGeometry x="-1349.98" y="-107" width="114.44" height="33" as="geometry" />
</mxCell>
<mxCell id="sHT8GTnQFrlxJ-m2nGzn-35" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="sHT8GTnQFrlxJ-m2nGzn-36" target="sHT8GTnQFrlxJ-m2nGzn-33" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="sHT8GTnQFrlxJ-m2nGzn-36" value="ImageRecover" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fontColor=#000000;fontStyle=1" parent="1" vertex="1">
<mxGeometry x="-1349.98" y="-198.07999999999998" width="110" height="29" as="geometry" />
</mxCell>
<mxCell id="sHT8GTnQFrlxJ-m2nGzn-37" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="sHT8GTnQFrlxJ-m2nGzn-38" target="sHT8GTnQFrlxJ-m2nGzn-39" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="sHT8GTnQFrlxJ-m2nGzn-38" value="SharedProcessSelected" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#d5e8d4;strokeColor=#82b366;" parent="1" vertex="1">
<mxGeometry x="-1409" y="114.71" width="170" height="30.71" as="geometry" />
</mxCell>
<mxCell id="sHT8GTnQFrlxJ-m2nGzn-39" value="SpAddress" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
<mxGeometry x="-1369.9995321963338" y="177" width="88.8134519572954" height="30.709999999999994" as="geometry" />
</mxCell>
<mxCell id="sHT8GTnQFrlxJ-m2nGzn-40" value="SpAddress" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
<mxGeometry x="-1359.9995321963338" y="187" width="88.8134519572954" height="30.709999999999994" as="geometry" />
</mxCell>
<mxCell id="sHT8GTnQFrlxJ-m2nGzn-41" value="SpAddress" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
<mxGeometry x="-1349.9995321963338" y="197" width="88.8134519572954" height="30.709999999999994" as="geometry" />
</mxCell>
<mxCell id="sHT8GTnQFrlxJ-m2nGzn-42" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="sHT8GTnQFrlxJ-m2nGzn-43" target="sHT8GTnQFrlxJ-m2nGzn-47" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="-1279" y="60" />
<mxPoint x="-1324" y="60" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="sHT8GTnQFrlxJ-m2nGzn-43" value="Cache" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#d5e8d4;strokeColor=#82b366;" parent="1" vertex="1">
<mxGeometry x="-1320" y="21" width="83.03" height="29" as="geometry" />
</mxCell>
<mxCell id="sHT8GTnQFrlxJ-m2nGzn-44" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" parent="1" source="sHT8GTnQFrlxJ-m2nGzn-45" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="-1379" y="48" />
<mxPoint x="-1380" y="48" />
<mxPoint x="-1380" y="60" />
<mxPoint x="-1324" y="60" />
</Array>
<mxPoint x="-1324" y="70" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="sHT8GTnQFrlxJ-m2nGzn-45" value="SDK" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#d5e8d4;strokeColor=#82b366;" parent="1" vertex="1">
<mxGeometry x="-1414.28" y="21" width="70.44" height="29" as="geometry" />
</mxCell>
<mxCell id="sHT8GTnQFrlxJ-m2nGzn-46" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="sHT8GTnQFrlxJ-m2nGzn-47" target="sHT8GTnQFrlxJ-m2nGzn-38" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="sHT8GTnQFrlxJ-m2nGzn-47" value="SharedProcessListMerged" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
<mxGeometry x="-1414.28" y="71.28999999999999" width="180" height="30.71" as="geometry" />
</mxCell>
<mxCell id="sHT8GTnQFrlxJ-m2nGzn-49" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" parent="1" source="sHT8GTnQFrlxJ-m2nGzn-41" target="sHT8GTnQFrlxJ-m2nGzn-50" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="-1306" y="330" />
<mxPoint x="-1201" y="330" />
</Array>
<mxPoint x="-1279.612463584234" y="322.04781" as="sourcePoint" />
</mxGeometry>
</mxCell>
<mxCell id="sHT8GTnQFrlxJ-m2nGzn-50" value="PRDKeyBackip" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
<mxGeometry x="-1275.89" y="352" width="152.39494830511973" height="28.99999999999996" as="geometry" />
</mxCell>
<mxCell id="sHT8GTnQFrlxJ-m2nGzn-51" value="PRDKeyBackip" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
<mxGeometry x="-1257.6357165981" y="362.00000000000006" width="152.39494830511973" height="28.99999999999996" as="geometry" />
</mxCell>
<mxCell id="sHT8GTnQFrlxJ-m2nGzn-53" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" target="sHT8GTnQFrlxJ-m2nGzn-58" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="-1170" y="429" />
<mxPoint x="-1181" y="429" />
</Array>
<mxPoint x="-1170.0439590436406" y="418" as="sourcePoint" />
</mxGeometry>
</mxCell>
<mxCell id="sHT8GTnQFrlxJ-m2nGzn-54" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" target="sHT8GTnQFrlxJ-m2nGzn-59" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="-1170" y="429" />
<mxPoint x="-1142" y="429" />
</Array>
<mxPoint x="-1170.0439590436406" y="418" as="sourcePoint" />
</mxGeometry>
</mxCell>
<mxCell id="sHT8GTnQFrlxJ-m2nGzn-55" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" parent="1" target="sHT8GTnQFrlxJ-m2nGzn-60" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="-1170" y="429" />
<mxPoint x="-1103" y="429" />
</Array>
<mxPoint x="-1170.0439590436406" y="418" as="sourcePoint" />
</mxGeometry>
</mxCell>
<mxCell id="sHT8GTnQFrlxJ-m2nGzn-365" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" parent="1" target="sHT8GTnQFrlxJ-m2nGzn-57" edge="1" source="sHT8GTnQFrlxJ-m2nGzn-56">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="-1170" y="429" />
<mxPoint x="-1222" y="429" />
</Array>
<mxPoint x="-1170" y="418" as="sourcePoint" />
</mxGeometry>
</mxCell>
<mxCell id="sHT8GTnQFrlxJ-m2nGzn-56" value="RequestPrdList" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
<mxGeometry x="-1246.2414331962004" y="373.00000000000006" width="152.39494830511973" height="28.99999999999996" as="geometry" />
</mxCell>
<mxCell id="sHT8GTnQFrlxJ-m2nGzn-57" value="1" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;container=0;rounded=1;labelBackgroundColor=none;fontColor=#333333;fillColor=#f5f5f5;strokeColor=#666666;" parent="1" vertex="1">
<mxGeometry x="-1236.97" y="444.78" width="28.93" height="28.93" as="geometry" />
</mxCell>
<mxCell id="sHT8GTnQFrlxJ-m2nGzn-58" value="2" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;container=0;rounded=1;labelBackgroundColor=none;fontColor=#333333;fillColor=#f5f5f5;strokeColor=#666666;" parent="1" vertex="1">
<mxGeometry x="-1195.9" y="444.78" width="28.93" height="28.93" as="geometry" />
</mxCell>
<mxCell id="sHT8GTnQFrlxJ-m2nGzn-59" value="3" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;container=0;rounded=1;labelBackgroundColor=none;fontColor=#333333;fillColor=#f5f5f5;strokeColor=#666666;" parent="1" vertex="1">
<mxGeometry x="-1156.97" y="444.78" width="28.93" height="28.93" as="geometry" />
</mxCell>
<mxCell id="sHT8GTnQFrlxJ-m2nGzn-60" value="4" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;container=0;rounded=1;labelBackgroundColor=none;fontColor=#333333;fillColor=#f5f5f5;strokeColor=#666666;" parent="1" vertex="1">
<mxGeometry x="-1117.03" y="444.78" width="28.93" height="28.93" as="geometry" />
</mxCell>
<mxCell id="sHT8GTnQFrlxJ-m2nGzn-62" value="Relay WS" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="-1195.9" y="475.71000000000004" width="60" height="30" as="geometry" />
</mxCell>
<mxCell id="sHT8GTnQFrlxJ-m2nGzn-71" value="5" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;container=0;rounded=1;labelBackgroundColor=none;fillColor=#fff2cc;strokeColor=#d6b656;" parent="1" vertex="1">
<mxGeometry x="-791" y="444.78" width="28.93" height="28.93" as="geometry" />
</mxCell>
<mxCell id="sHT8GTnQFrlxJ-m2nGzn-72" value="6" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;container=0;rounded=1;labelBackgroundColor=none;fillColor=#fff2cc;strokeColor=#d6b656;" parent="1" vertex="1">
<mxGeometry x="-749.9300000000001" y="444.78" width="28.93" height="28.93" as="geometry" />
</mxCell>
<mxCell id="sHT8GTnQFrlxJ-m2nGzn-73" value="7" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;container=0;rounded=1;labelBackgroundColor=none;fillColor=#fff2cc;strokeColor=#d6b656;" parent="1" vertex="1">
<mxGeometry x="-711" y="444.78" width="28.93" height="28.93" as="geometry" />
</mxCell>
<mxCell id="sHT8GTnQFrlxJ-m2nGzn-74" value="8" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;container=0;rounded=1;labelBackgroundColor=none;fillColor=#fff2cc;strokeColor=#d6b656;" parent="1" vertex="1">
<mxGeometry x="-671.06" y="444.78" width="28.93" height="28.93" as="geometry" />
</mxCell>
<mxCell id="sHT8GTnQFrlxJ-m2nGzn-77" value="Relay WS" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="-749.9300000000001" y="475.71000000000004" width="60" height="30" as="geometry" />
</mxCell>
<mxCell id="sHT8GTnQFrlxJ-m2nGzn-85" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="sHT8GTnQFrlxJ-m2nGzn-86" target="sHT8GTnQFrlxJ-m2nGzn-91" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="-878.94" y="298" />
<mxPoint x="-936.94" y="298" />
<mxPoint x="-936.94" y="318" />
<mxPoint x="-932.94" y="318" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="sHT8GTnQFrlxJ-m2nGzn-86" value="Cache" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#d5e8d4;strokeColor=#82b366;" parent="1" vertex="1">
<mxGeometry x="-936.36" y="258" width="114.62" height="29" as="geometry" />
</mxCell>
<mxCell id="sHT8GTnQFrlxJ-m2nGzn-87" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" parent="1" source="sHT8GTnQFrlxJ-m2nGzn-88" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="-935.94" y="318" as="targetPoint" />
<Array as="points">
<mxPoint x="-1006.94" y="298" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="sHT8GTnQFrlxJ-m2nGzn-88" value="SDK" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#d5e8d4;strokeColor=#82b366;" parent="1" vertex="1">
<mxGeometry x="-1064.7700000000002" y="258" width="114.62" height="29" as="geometry" />
</mxCell>
<mxCell id="sHT8GTnQFrlxJ-m2nGzn-89" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" parent="1" source="sHT8GTnQFrlxJ-m2nGzn-91" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="-1060" y="438" as="targetPoint" />
<Array as="points">
<mxPoint x="-942" y="414" />
<mxPoint x="-942" y="436" />
<mxPoint x="-942" y="438" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="sHT8GTnQFrlxJ-m2nGzn-90" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" parent="1" source="sHT8GTnQFrlxJ-m2nGzn-91" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="-830" y="438" as="targetPoint" />
<Array as="points">
<mxPoint x="-942" y="414" />
<mxPoint x="-942" y="438" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="sHT8GTnQFrlxJ-m2nGzn-91" value="SharedPeerListMerged" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
<mxGeometry x="-1031.79" y="316.29" width="180" height="30.71" as="geometry" />
</mxCell>
<mxCell id="sHT8GTnQFrlxJ-m2nGzn-314" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" parent="1" source="sHT8GTnQFrlxJ-m2nGzn-284" target="sHT8GTnQFrlxJ-m2nGzn-313" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="-949.56" y="714" as="sourcePoint" />
<Array as="points" />
</mxGeometry>
</mxCell>
<mxCell id="sHT8GTnQFrlxJ-m2nGzn-284" value="Controls" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fontColor=#000000;" parent="1" vertex="1">
<mxGeometry x="-1031.7914331962004" y="681" width="152.39494830511973" height="28.99999999999996" as="geometry" />
</mxCell>
<mxCell id="sHT8GTnQFrlxJ-m2nGzn-337" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="sHT8GTnQFrlxJ-m2nGzn-297" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="-989.8649999999998" y="69.99999999999977" as="targetPoint" />
<Array as="points">
<mxPoint x="-1009" y="40" />
<mxPoint x="-990" y="40" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="Y_iTnzTvrgFW2w7x7B82-33" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="sHT8GTnQFrlxJ-m2nGzn-297" target="sHT8GTnQFrlxJ-m2nGzn-317" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="sHT8GTnQFrlxJ-m2nGzn-297" value="Part1Enc" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fontColor=#000000;" parent="1" vertex="1">
<mxGeometry x="-1036.07" y="-115.5" width="60" height="30.71" as="geometry" />
</mxCell>
<mxCell id="sHT8GTnQFrlxJ-m2nGzn-336" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="sHT8GTnQFrlxJ-m2nGzn-298" target="sHT8GTnQFrlxJ-m2nGzn-339" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="-871.2999999999997" y="-30" as="targetPoint" />
<Array as="points">
<mxPoint x="-921" y="40" />
<mxPoint x="-990" y="40" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="sHT8GTnQFrlxJ-m2nGzn-298" value="SeedRand1&lt;br&gt;256 bits" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#f8cecc;strokeColor=#b85450;" parent="1" vertex="1">
<mxGeometry x="-961.73" y="-115.5" width="81.73" height="29" as="geometry" />
</mxCell>
<mxCell id="sHT8GTnQFrlxJ-m2nGzn-351" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" target="sHT8GTnQFrlxJ-m2nGzn-341" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="-717.0899999999997" y="-30" as="targetPoint" />
<Array as="points">
<mxPoint x="-717" y="40" />
<mxPoint x="-641" y="40" />
</Array>
<mxPoint x="-717.2532740213524" y="-82.78999999999974" as="sourcePoint" />
</mxGeometry>
</mxCell>
<mxCell id="sHT8GTnQFrlxJ-m2nGzn-308" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="sHT8GTnQFrlxJ-m2nGzn-300" target="sHT8GTnQFrlxJ-m2nGzn-297" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="-1007" y="-130" />
<mxPoint x="-1006" y="-130" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="sHT8GTnQFrlxJ-m2nGzn-309" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="sHT8GTnQFrlxJ-m2nGzn-300" target="sHT8GTnQFrlxJ-m2nGzn-298" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="-1007" y="-130" />
<mxPoint x="-921" y="-130" />
</Array>
<mxPoint x="-930" y="-161" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="sHT8GTnQFrlxJ-m2nGzn-359" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="sHT8GTnQFrlxJ-m2nGzn-325" target="5Ne0HzyGfQl-3uoNr5Rs-33" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="-305.4199999999996" y="171.13999999999987" as="targetPoint" />
<mxPoint x="-340" y="171.6300000000001" as="sourcePoint" />
<Array as="points">
<mxPoint x="-423" y="150" />
<mxPoint x="-330" y="150" />
<mxPoint x="-330" y="57" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="sHT8GTnQFrlxJ-m2nGzn-360" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="sHT8GTnQFrlxJ-m2nGzn-325" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="-423" y="150" />
<mxPoint x="-330" y="150" />
<mxPoint x="-330" y="133" />
</Array>
<mxPoint x="-305.4199999999996" y="133.43000000000006" as="targetPoint" />
<mxPoint x="-340" y="171.6300000000001" as="sourcePoint" />
</mxGeometry>
</mxCell>
<mxCell id="Q8MjV8EZblA_sCvqo5JG-4" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" parent="1" source="sHT8GTnQFrlxJ-m2nGzn-325" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="-423" y="150" />
<mxPoint x="-330" y="150" />
<mxPoint x="-330" y="91" />
</Array>
<mxPoint x="-420" y="170" as="sourcePoint" />
<mxPoint x="-306" y="91" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="I9sp5S672SgGMplcR-zX-7" 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="sHT8GTnQFrlxJ-m2nGzn-300" target="I9sp5S672SgGMplcR-zX-5">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="-1007" y="-130" />
<mxPoint x="-834" y="-130" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="sHT8GTnQFrlxJ-m2nGzn-300" value="ImageRecover" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fontColor=#000000;fontStyle=1" parent="1" vertex="1">
<mxGeometry x="-1066.07" y="-175.87" width="118.1" height="29" as="geometry" />
</mxCell>
<mxCell id="sHT8GTnQFrlxJ-m2nGzn-312" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="sHT8GTnQFrlxJ-m2nGzn-301" target="sHT8GTnQFrlxJ-m2nGzn-300" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="sHT8GTnQFrlxJ-m2nGzn-301" value="Cache" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#d5e8d4;strokeColor=#82b366;" parent="1" vertex="1">
<mxGeometry x="-1066.8899999999999" y="-220" width="118.85" height="29" as="geometry" />
</mxCell>
<mxCell id="sHT8GTnQFrlxJ-m2nGzn-327" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" parent="1" source="sHT8GTnQFrlxJ-m2nGzn-284" target="sHT8GTnQFrlxJ-m2nGzn-325" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="-218.0564848910808" y="1001.5" as="sourcePoint" />
<Array as="points">
<mxPoint x="-423" y="696" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="sHT8GTnQFrlxJ-m2nGzn-313" value="Rendering" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fontColor=#000000;" parent="1" vertex="1">
<mxGeometry x="-1031.7914331962004" y="733" width="152.39494830511973" height="28.99999999999996" as="geometry" />
</mxCell>
<mxCell id="sHT8GTnQFrlxJ-m2nGzn-321" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" parent="1" source="sHT8GTnQFrlxJ-m2nGzn-316" target="sHT8GTnQFrlxJ-m2nGzn-50" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="-1152" y="330" />
<mxPoint x="-1200" y="330" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="sHT8GTnQFrlxJ-m2nGzn-316" value="PreId" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fontColor=#000000;" parent="1" vertex="1">
<mxGeometry x="-1196.1919446048478" y="119.99999999999999" width="88.8134519572954" height="28.999999999999993" as="geometry" />
</mxCell>
<mxCell id="sHT8GTnQFrlxJ-m2nGzn-320" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="sHT8GTnQFrlxJ-m2nGzn-317" target="sHT8GTnQFrlxJ-m2nGzn-316" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="sHT8GTnQFrlxJ-m2nGzn-317" value="&lt;b style=&quot;border-color: var(--border-color); text-align: center;&quot;&gt;PwdHash&lt;/b&gt;" style="label;whiteSpace=wrap;html=1;image=img/clipart/Gear_128x128.png" parent="1" vertex="1">
<mxGeometry x="-1218.8500000000001" y="72.21" width="125" height="30" as="geometry" />
</mxCell>
<mxCell id="sHT8GTnQFrlxJ-m2nGzn-349" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="sHT8GTnQFrlxJ-m2nGzn-322" target="sHT8GTnQFrlxJ-m2nGzn-341" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="-496.9999999999998" y="-18.62999999999974" as="sourcePoint" />
<mxPoint x="-556.1442857142856" y="148.66" as="targetPoint" />
<Array as="points">
<mxPoint x="-497" y="-100" />
<mxPoint x="-570" y="-100" />
<mxPoint x="-570" y="40" />
<mxPoint x="-641" y="40" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="sHT8GTnQFrlxJ-m2nGzn-322" value="Part2Enc" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fontColor=#000000;" parent="1" vertex="1">
<mxGeometry x="-497.5299999999999" y="-115.50000000000001" width="103.81" height="29" as="geometry" />
</mxCell>
<mxCell id="sHT8GTnQFrlxJ-m2nGzn-328" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" parent="1" source="sHT8GTnQFrlxJ-m2nGzn-323" target="sHT8GTnQFrlxJ-m2nGzn-326" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="sHT8GTnQFrlxJ-m2nGzn-323" value="Shard" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fontColor=#000000;" parent="1" vertex="1">
<mxGeometry x="-490.0295321963339" y="72.21" width="88.8134519572954" height="30.709999999999994" as="geometry" />
</mxCell>
<mxCell id="sHT8GTnQFrlxJ-m2nGzn-324" value="Shard" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fontColor=#000000;" parent="1" vertex="1">
<mxGeometry x="-480.0295321963339" y="82.21" width="88.8134519572954" height="30.709999999999994" as="geometry" />
</mxCell>
<mxCell id="sHT8GTnQFrlxJ-m2nGzn-325" value="Shard" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fontColor=#000000;" parent="1" vertex="1">
<mxGeometry x="-467.0295321963339" y="95.21" width="88.8134519572954" height="30.709999999999994" as="geometry" />
</mxCell>
<mxCell id="sHT8GTnQFrlxJ-m2nGzn-329" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" parent="1" source="sHT8GTnQFrlxJ-m2nGzn-326" target="sHT8GTnQFrlxJ-m2nGzn-322" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="sHT8GTnQFrlxJ-m2nGzn-326" value="Shamir Secret Sharing" style="label;whiteSpace=wrap;html=1;image=img/clipart/Gear_128x128.png" parent="1" vertex="1">
<mxGeometry x="-541.0600000000001" y="13.070000000000007" width="190" height="30" as="geometry" />
</mxCell>
<mxCell id="sHT8GTnQFrlxJ-m2nGzn-331" value="" style="strokeWidth=2;html=1;shape=mxgraph.flowchart.start_2;whiteSpace=wrap;fillColor=#f5f5f5;fontColor=#333333;strokeColor=#666666;" parent="1" vertex="1">
<mxGeometry x="-965.5899999999999" y="775" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="sHT8GTnQFrlxJ-m2nGzn-332" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" parent="1" source="sHT8GTnQFrlxJ-m2nGzn-313" target="sHT8GTnQFrlxJ-m2nGzn-331" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="sHT8GTnQFrlxJ-m2nGzn-345" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="sHT8GTnQFrlxJ-m2nGzn-333" target="sHT8GTnQFrlxJ-m2nGzn-343" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="-830" y="170" as="targetPoint" />
<Array as="points">
<mxPoint x="-991" y="160" />
<mxPoint x="-832" y="160" />
<mxPoint x="-832" y="169" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="sHT8GTnQFrlxJ-m2nGzn-333" value="Part1" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fontColor=#000000;" parent="1" vertex="1">
<mxGeometry x="-1048.1" y="120.00000000000004" width="117.85" height="30.71" as="geometry" />
</mxCell>
<mxCell id="sHT8GTnQFrlxJ-m2nGzn-340" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" target="sHT8GTnQFrlxJ-m2nGzn-333" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="-989.8649999999998" y="99.99999999999977" as="sourcePoint" />
</mxGeometry>
</mxCell>
<mxCell id="sHT8GTnQFrlxJ-m2nGzn-339" value="&lt;b style=&quot;border-color: var(--border-color); text-align: center;&quot;&gt;PartDecrypt&lt;/b&gt;" style="label;whiteSpace=wrap;html=1;image=img/clipart/Gear_128x128.png" parent="1" vertex="1">
<mxGeometry x="-1058.56" y="70.00000000000001" width="137.39" height="30" as="geometry" />
</mxCell>
<mxCell id="sHT8GTnQFrlxJ-m2nGzn-352" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="sHT8GTnQFrlxJ-m2nGzn-341" target="sHT8GTnQFrlxJ-m2nGzn-342" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="-557.1149999999998" y="180" as="sourcePoint" />
<mxPoint x="-554.5150000000003" y="200" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="sHT8GTnQFrlxJ-m2nGzn-341" value="&lt;b style=&quot;border-color: var(--border-color); text-align: center;&quot;&gt;PartDecrypt&lt;/b&gt;" style="label;whiteSpace=wrap;html=1;image=img/clipart/Gear_128x128.png" parent="1" vertex="1">
<mxGeometry x="-709.81" y="70.00000000000001" width="137.39" height="30" as="geometry" />
</mxCell>
<mxCell id="sHT8GTnQFrlxJ-m2nGzn-344" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="sHT8GTnQFrlxJ-m2nGzn-342" target="sHT8GTnQFrlxJ-m2nGzn-343" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="-638" y="160" />
<mxPoint x="-832" y="160" />
<mxPoint x="-832" y="169" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="sHT8GTnQFrlxJ-m2nGzn-342" value="Part2" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fontColor=#000000;" parent="1" vertex="1">
<mxGeometry x="-697.4399999999999" y="120.00000000000003" width="117.85" height="30.71" as="geometry" />
</mxCell>
<mxCell id="sHT8GTnQFrlxJ-m2nGzn-364" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;strokeColor=#999999;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="sHT8GTnQFrlxJ-m2nGzn-343" target="sHT8GTnQFrlxJ-m2nGzn-313" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="-790.7984697508899" y="170.5" as="sourcePoint" />
<mxPoint x="-970" y="1050" as="targetPoint" />
<Array as="points">
<mxPoint x="-771" y="194" />
<mxPoint x="-414" y="194" />
<mxPoint x="-414" y="1065" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="sHT8GTnQFrlxJ-m2nGzn-343" value="&lt;b&gt;KeyRecover&lt;/b&gt;&lt;b&gt;&lt;br&gt;&lt;/b&gt;" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fontColor=#000000;" parent="1" vertex="1">
<mxGeometry x="-876.0019217081851" y="179" width="88.8134519572954" height="28.999999999999993" as="geometry" />
</mxCell>
<mxCell id="nZ-weh7uSchBR4PQQtC6-1" value="" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="-2067" y="97" width="563.23" height="230" as="geometry" />
</mxCell>
<mxCell id="nZ-weh7uSchBR4PQQtC6-5" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" target="nZ-weh7uSchBR4PQQtC6-12" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="-1922.97" y="286.5" as="sourcePoint" />
</mxGeometry>
</mxCell>
<mxCell id="nZ-weh7uSchBR4PQQtC6-9" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" parent="1" source="nZ-weh7uSchBR4PQQtC6-10" target="nZ-weh7uSchBR4PQQtC6-12" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="-1812.97" y="307" as="targetPoint" />
<Array as="points">
<mxPoint x="-1882.97" y="167" />
<mxPoint x="-1882.97" y="227" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="nZ-weh7uSchBR4PQQtC6-10" value="&lt;b style=&quot;border-color: var(--border-color); text-align: center;&quot;&gt;PwdHash&lt;/b&gt;" style="label;whiteSpace=wrap;html=1;image=img/clipart/Gear_128x128.png" parent="1" vertex="1">
<mxGeometry x="-2042.6799999999998" y="147" width="125" height="40" as="geometry" />
</mxCell>
<mxCell id="nZ-weh7uSchBR4PQQtC6-11" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" parent="1" source="nZ-weh7uSchBR4PQQtC6-12" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="-1664.72" y="227.5" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="nZ-weh7uSchBR4PQQtC6-12" value="AES-GCM-256" style="label;whiteSpace=wrap;html=1;image=img/clipart/Gear_128x128.png" parent="1" vertex="1">
<mxGeometry x="-1842.97" y="207" width="137.39" height="40" as="geometry" />
</mxCell>
<mxCell id="nZ-weh7uSchBR4PQQtC6-17" value="&lt;b&gt;KeyDecrypt&lt;/b&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="-2056.3199999999997" y="107" width="110" height="30" as="geometry" />
</mxCell>
<mxCell id="nZ-weh7uSchBR4PQQtC6-18" value="&lt;b style=&quot;border-color: var(--border-color);&quot;&gt;privKey_enc&lt;/b&gt;&lt;b&gt;&lt;br&gt;&lt;/b&gt;" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fontColor=#000000;" parent="1" vertex="1">
<mxGeometry x="-2041.6799999999998" y="267" width="124.36" height="39" as="geometry" />
</mxCell>
<mxCell id="nZ-weh7uSchBR4PQQtC6-19" value="&lt;b&gt;privKey&lt;/b&gt;&lt;b&gt;&lt;br&gt;&lt;/b&gt;" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fontColor=#000000;" parent="1" vertex="1">
<mxGeometry x="-1664.2399999999998" y="207.5" width="124.36" height="39" as="geometry" />
</mxCell>
<mxCell id="HDdD4gt86U7q7j0RBcuD-1" value="" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="-2067" y="-164" width="563.23" height="240" as="geometry" />
</mxCell>
<mxCell id="HDdD4gt86U7q7j0RBcuD-3" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" target="HDdD4gt86U7q7j0RBcuD-9" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="-1929.1" y="35.5" as="sourcePoint" />
</mxGeometry>
</mxCell>
<mxCell id="HDdD4gt86U7q7j0RBcuD-6" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" parent="1" source="HDdD4gt86U7q7j0RBcuD-7" target="HDdD4gt86U7q7j0RBcuD-9" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="-1819.1" y="56" as="targetPoint" />
<Array as="points">
<mxPoint x="-1889.1" y="-84" />
<mxPoint x="-1889.1" y="-24" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="HDdD4gt86U7q7j0RBcuD-7" value="&lt;b style=&quot;border-color: var(--border-color); text-align: center;&quot;&gt;PwdHash&lt;/b&gt;" style="label;whiteSpace=wrap;html=1;image=img/clipart/Gear_128x128.png" parent="1" vertex="1">
<mxGeometry x="-2048.81" y="-104" width="125" height="40" as="geometry" />
</mxCell>
<mxCell id="HDdD4gt86U7q7j0RBcuD-8" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" parent="1" source="HDdD4gt86U7q7j0RBcuD-9" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="-1670.85" y="-23.5" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="HDdD4gt86U7q7j0RBcuD-9" value="AES-GCM-256" style="label;whiteSpace=wrap;html=1;image=img/clipart/Gear_128x128.png" parent="1" vertex="1">
<mxGeometry x="-1849.1" y="-44" width="137.39" height="40" as="geometry" />
</mxCell>
<mxCell id="HDdD4gt86U7q7j0RBcuD-13" value="&lt;b&gt;PartDecrypt&lt;/b&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="-2056.3199999999997" y="-154" width="110" height="30" as="geometry" />
</mxCell>
<mxCell id="HDdD4gt86U7q7j0RBcuD-14" value="&lt;b&gt;part_enc&lt;/b&gt;&lt;b&gt;&lt;br&gt;&lt;/b&gt;" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fontColor=#000000;" parent="1" vertex="1">
<mxGeometry x="-2043.81" y="16" width="124.36" height="39" as="geometry" />
</mxCell>
<mxCell id="HDdD4gt86U7q7j0RBcuD-15" value="&lt;b&gt;part&lt;br&gt;&lt;/b&gt;" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fontColor=#000000;" parent="1" vertex="1">
<mxGeometry x="-1670.37" y="-43.5" width="124.36" height="39" as="geometry" />
</mxCell>
<mxCell id="Y_iTnzTvrgFW2w7x7B82-5" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.003;entryY=0.621;entryDx=0;entryDy=0;fillColor=#dae8fc;strokeColor=#6c8ebf;entryPerimeter=0;" parent="1" target="Y_iTnzTvrgFW2w7x7B82-6" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="-681.17" y="388.98333333333346" as="targetPoint" />
<mxPoint x="-1090" y="378" as="sourcePoint" />
<Array as="points">
<mxPoint x="-832" y="378" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="Y_iTnzTvrgFW2w7x7B82-6" value="PRDKeyBackip" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
<mxGeometry x="-832.19" y="363" width="152.39494830511973" height="28.99999999999996" as="geometry" />
</mxCell>
<mxCell id="Y_iTnzTvrgFW2w7x7B82-7" value="PRDKeyBackip" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
<mxGeometry x="-813.9357165981" y="373" width="152.39494830511973" height="28.99999999999996" as="geometry" />
</mxCell>
<mxCell id="Y_iTnzTvrgFW2w7x7B82-8" value="RequestPrdMessage&lt;br&gt;(+ TxSp)" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
<mxGeometry x="-795.6814331962005" y="383" width="152.39494830511973" height="28.99999999999996" as="geometry" />
</mxCell>
<mxCell id="Y_iTnzTvrgFW2w7x7B82-9" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="-724.25" y="433" />
<mxPoint x="-735.25" y="433" />
</Array>
<mxPoint x="-724.25" y="422" as="sourcePoint" />
<mxPoint x="-735.25" y="449" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="Y_iTnzTvrgFW2w7x7B82-10" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="-724.25" y="433" />
<mxPoint x="-696.25" y="433" />
</Array>
<mxPoint x="-724.25" y="422" as="sourcePoint" />
<mxPoint x="-697.25" y="449" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="Y_iTnzTvrgFW2w7x7B82-11" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" parent="1" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="-724.25" y="433" />
<mxPoint x="-657.25" y="433" />
</Array>
<mxPoint x="-724.25" y="422" as="sourcePoint" />
<mxPoint x="-657.25" y="449" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="Y_iTnzTvrgFW2w7x7B82-12" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="Y_iTnzTvrgFW2w7x7B82-8" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="-724" y="412" />
<mxPoint x="-724" y="433" />
<mxPoint x="-777" y="433" />
</Array>
<mxPoint x="-724.25" y="422" as="sourcePoint" />
<mxPoint x="-777.25" y="449" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="Y_iTnzTvrgFW2w7x7B82-13" value="" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="-2067" y="-424" width="563.23" height="240" as="geometry" />
</mxCell>
<mxCell id="Y_iTnzTvrgFW2w7x7B82-14" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="Y_iTnzTvrgFW2w7x7B82-22" target="Y_iTnzTvrgFW2w7x7B82-19" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="-1803.07" y="-214" as="targetPoint" />
<Array as="points">
<mxPoint x="-1837.87" y="-268" />
<mxPoint x="-1837.87" y="-304" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="Y_iTnzTvrgFW2w7x7B82-16" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="Y_iTnzTvrgFW2w7x7B82-17" target="Y_iTnzTvrgFW2w7x7B82-19" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="-1837.87" y="-344" />
<mxPoint x="-1837.87" y="-304" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="Y_iTnzTvrgFW2w7x7B82-17" value="Password&lt;br&gt;18 characters" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
<mxGeometry x="-2047.67" y="-364" width="164.6" height="40" as="geometry" />
</mxCell>
<mxCell id="Y_iTnzTvrgFW2w7x7B82-27" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.468;entryY=0.025;entryDx=0;entryDy=0;entryPerimeter=0;" parent="1" source="_sUySUgutdZOfC_v2Y1--1" target="Y_iTnzTvrgFW2w7x7B82-26" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="_sUySUgutdZOfC_v2Y1--2" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" parent="1" source="Y_iTnzTvrgFW2w7x7B82-19" target="_sUySUgutdZOfC_v2Y1--1" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="Y_iTnzTvrgFW2w7x7B82-19" value="SCRYPT" style="label;whiteSpace=wrap;html=1;image=img/clipart/Gear_128x128.png" parent="1" vertex="1">
<mxGeometry x="-1807.58" y="-324" width="125" height="40" as="geometry" />
</mxCell>
<mxCell id="Y_iTnzTvrgFW2w7x7B82-22" value="SeedRandom&lt;br&gt;256 bits" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#f8cecc;strokeColor=#b85450;" parent="1" vertex="1">
<mxGeometry x="-2047.67" y="-288" width="161.76" height="44" as="geometry" />
</mxCell>
<mxCell id="Y_iTnzTvrgFW2w7x7B82-23" value="&lt;b&gt;PwdHash&lt;/b&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="-2061" y="-414" width="110" height="30" as="geometry" />
</mxCell>
<mxCell id="Y_iTnzTvrgFW2w7x7B82-26" value="hash" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fontStyle=1" parent="1" vertex="1">
<mxGeometry x="-1642.62" y="-260" width="123.1" height="40" as="geometry" />
</mxCell>
<mxCell id="5Ne0HzyGfQl-3uoNr5Rs-1" value="&lt;b&gt;`pre_id_sp_enc_by_shared_secret`&lt;/b&gt;&lt;br style=&quot;border-color: var(--border-color);&quot;&gt;(only for member managers)&lt;b&gt;&lt;br&gt;&lt;/b&gt;" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fontColor=#000000;" parent="1" vertex="1">
<mxGeometry x="-1246.24" y="188.71" width="236.19" height="29" as="geometry" />
</mxCell>
<mxCell id="5Ne0HzyGfQl-3uoNr5Rs-2" value="To all roles" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontStyle=1" parent="1" vertex="1">
<mxGeometry x="-1341.19" y="346" width="60" height="33" as="geometry" />
</mxCell>
<mxCell id="5Ne0HzyGfQl-3uoNr5Rs-3" value="RequestPrdResponse" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
<mxGeometry x="-1066.07" y="540" width="197.49" height="29" as="geometry" />
</mxCell>
<mxCell id="5Ne0HzyGfQl-3uoNr5Rs-4" value="RequestPcd" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
<mxGeometry x="-1271.1899999999998" y="540" width="197.49" height="29" as="geometry" />
</mxCell>
<mxCell id="5Ne0HzyGfQl-3uoNr5Rs-5" value="RequestPrdMessage" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
<mxGeometry x="-856.2399999999999" y="540" width="197.49" height="29" as="geometry" />
</mxCell>
<mxCell id="5Ne0HzyGfQl-3uoNr5Rs-6" value="RequestPrdResponse" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
<mxGeometry x="-1056.07" y="550" width="197.49" height="29" as="geometry" />
</mxCell>
<mxCell id="5Ne0HzyGfQl-3uoNr5Rs-7" value="RequestPcd" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
<mxGeometry x="-1261.1899999999998" y="550" width="197.49" height="29" as="geometry" />
</mxCell>
<mxCell id="5Ne0HzyGfQl-3uoNr5Rs-8" value="RequestPrdMessage" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
<mxGeometry x="-846.2399999999999" y="550" width="197.49" height="29" as="geometry" />
</mxCell>
<mxCell id="5Ne0HzyGfQl-3uoNr5Rs-9" value="RequestPrdResponse" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
<mxGeometry x="-1046.07" y="560" width="197.49" height="29" as="geometry" />
</mxCell>
<mxCell id="5Ne0HzyGfQl-3uoNr5Rs-10" value="RequestPcd" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
<mxGeometry x="-1251.1899999999998" y="560" width="197.49" height="29" as="geometry" />
</mxCell>
<mxCell id="5Ne0HzyGfQl-3uoNr5Rs-11" value="RequestPrdMessage" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
<mxGeometry x="-836.2399999999999" y="560" width="197.49" height="29" as="geometry" />
</mxCell>
<mxCell id="5Ne0HzyGfQl-3uoNr5Rs-12" value="RequestPrdResponse" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
<mxGeometry x="-1036.07" y="570" width="197.49" height="29" as="geometry" />
</mxCell>
<mxCell id="5Ne0HzyGfQl-3uoNr5Rs-13" value="RequestPcd" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
<mxGeometry x="-1241.1899999999998" y="570" width="197.49" height="29" as="geometry" />
</mxCell>
<mxCell id="5Ne0HzyGfQl-3uoNr5Rs-14" value="RequestPrdMessage" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
<mxGeometry x="-826.2399999999999" y="570" width="197.49" height="29" as="geometry" />
</mxCell>
<mxCell id="5Ne0HzyGfQl-3uoNr5Rs-15" value="RequestPrdResponse" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
<mxGeometry x="-1026.07" y="580" width="197.49" height="29" as="geometry" />
</mxCell>
<mxCell id="5Ne0HzyGfQl-3uoNr5Rs-16" value="RequestPcd" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
<mxGeometry x="-1231.1899999999998" y="580" width="197.49" height="29" as="geometry" />
</mxCell>
<mxCell id="5Ne0HzyGfQl-3uoNr5Rs-17" value="RequestPrdMessage" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
<mxGeometry x="-816.2399999999999" y="580" width="197.49" height="29" as="geometry" />
</mxCell>
<mxCell id="5Ne0HzyGfQl-3uoNr5Rs-18" value="RequestPrdResponse" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
<mxGeometry x="-1016.0699999999999" y="590" width="197.49" height="29" as="geometry" />
</mxCell>
<mxCell id="5Ne0HzyGfQl-3uoNr5Rs-19" value="RequestPcd" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
<mxGeometry x="-1221.1899999999998" y="590" width="197.49" height="29" as="geometry" />
</mxCell>
<mxCell id="5Ne0HzyGfQl-3uoNr5Rs-20" value="RequestPrdMessage" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
<mxGeometry x="-806.2399999999999" y="590" width="197.49" height="29" as="geometry" />
</mxCell>
<mxCell id="5Ne0HzyGfQl-3uoNr5Rs-21" value="RequestPrdResponse" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
<mxGeometry x="-1006.0699999999999" y="600" width="197.49" height="29" as="geometry" />
</mxCell>
<mxCell id="5Ne0HzyGfQl-3uoNr5Rs-22" value="RequestPcd" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
<mxGeometry x="-1211.1899999999998" y="600" width="197.49" height="29" as="geometry" />
</mxCell>
<mxCell id="5Ne0HzyGfQl-3uoNr5Rs-23" value="RequestPrdMessage" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
<mxGeometry x="-796.2399999999999" y="600" width="197.49" height="29" as="geometry" />
</mxCell>
<mxCell id="5Ne0HzyGfQl-3uoNr5Rs-24" value="RequestPrdResponse" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
<mxGeometry x="-996.0699999999999" y="610" width="197.49" height="29" as="geometry" />
</mxCell>
<mxCell id="5Ne0HzyGfQl-3uoNr5Rs-25" value="RequestPcd" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
<mxGeometry x="-1201.1899999999998" y="610" width="197.49" height="29" as="geometry" />
</mxCell>
<mxCell id="5Ne0HzyGfQl-3uoNr5Rs-26" value="RequestPrdMessage" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
<mxGeometry x="-786.2399999999999" y="610" width="197.49" height="29" as="geometry" />
</mxCell>
<mxCell id="5Ne0HzyGfQl-3uoNr5Rs-27" value="RequestPrdResponse" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
<mxGeometry x="-986.0699999999999" y="620" width="197.49" height="29" as="geometry" />
</mxCell>
<mxCell id="5Ne0HzyGfQl-3uoNr5Rs-28" value="RequestPcd" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
<mxGeometry x="-1191.1899999999998" y="620" width="197.49" height="29" as="geometry" />
</mxCell>
<mxCell id="5Ne0HzyGfQl-3uoNr5Rs-29" value="RequestPrdMessage" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
<mxGeometry x="-776.2399999999999" y="620" width="197.49" height="29" as="geometry" />
</mxCell>
<mxCell id="5Ne0HzyGfQl-3uoNr5Rs-30" value="" style="shape=flexArrow;endArrow=classic;html=1;rounded=0;" parent="1" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="-930" y="485" as="sourcePoint" />
<mxPoint x="-930" y="525" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="5Ne0HzyGfQl-3uoNr5Rs-31" value="&lt;b style=&quot;border-color: var(--border-color); text-align: center;&quot;&gt;KeyMainSpend&lt;/b&gt;&lt;br style=&quot;border-color: var(--border-color); font-weight: 400; text-align: center;&quot;&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;privDecrypt&lt;/span&gt;" style="label;whiteSpace=wrap;html=1;image=img/clipart/Gear_128x128.png" parent="1" vertex="1">
<mxGeometry x="-306" y="85.19" width="149.75" height="30" as="geometry" />
</mxCell>
<mxCell id="5Ne0HzyGfQl-3uoNr5Rs-32" value="&lt;b style=&quot;border-color: var(--border-color); text-align: center;&quot;&gt;KeyMainScan&lt;/b&gt;&lt;br style=&quot;border-color: var(--border-color); font-weight: 400; text-align: center;&quot;&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;privDecrypt&lt;/span&gt;" style="label;whiteSpace=wrap;html=1;image=img/clipart/Gear_128x128.png" parent="1" vertex="1">
<mxGeometry x="-305.14999999999986" y="123.38999999999999" width="148.9" height="30" as="geometry" />
</mxCell>
<mxCell id="5Ne0HzyGfQl-3uoNr5Rs-33" value="&lt;b style=&quot;border-color: var(--border-color); text-align: center;&quot;&gt;KeyRecoverScan&lt;/b&gt;&lt;br style=&quot;border-color: var(--border-color); font-weight: 400; text-align: center;&quot;&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;privDecrypt&lt;/span&gt;" style="label;whiteSpace=wrap;html=1;image=img/clipart/Gear_128x128.png" parent="1" vertex="1">
<mxGeometry x="-305.9999999999999" y="42" width="149.75" height="30" as="geometry" />
</mxCell>
<mxCell id="5Ne0HzyGfQl-3uoNr5Rs-36" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="5Ne0HzyGfQl-3uoNr5Rs-35" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="-717.2532740213524" y="-111.78999999999974" as="targetPoint" />
<Array as="points">
<mxPoint x="-140" y="173" />
<mxPoint x="-140" y="-132" />
<mxPoint x="-717" y="-132" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="5Ne0HzyGfQl-3uoNr5Rs-35" value="PCD item_name=member&lt;br&gt;-&amp;gt; ItemMember (sp addess of the user)" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fontColor=#000000;fontStyle=1" parent="1" vertex="1">
<mxGeometry x="-550" y="158" width="250" height="30.71" as="geometry" />
</mxCell>
<mxCell id="5Ne0HzyGfQl-3uoNr5Rs-37" value="SeedRand2&lt;br style=&quot;border-color: var(--border-color); font-weight: 400; text-align: center;&quot;&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;privDecrypt&lt;/span&gt;" style="label;whiteSpace=wrap;html=1;image=img/clipart/Gear_128x128.png" parent="1" vertex="1">
<mxGeometry x="-790.9999999999999" y="-112.79" width="149.75" height="30" as="geometry" />
</mxCell>
<mxCell id="_sUySUgutdZOfC_v2Y1--1" value="SHA256" style="label;whiteSpace=wrap;html=1;image=img/clipart/Gear_128x128.png" parent="1" vertex="1">
<mxGeometry x="-1654" y="-324" width="137.39" height="40" as="geometry" />
</mxCell>
<mxCell id="I9sp5S672SgGMplcR-zX-1" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;container=0;rounded=1;labelBackgroundColor=none;fontColor=#333333;fillColor=#f5f5f5;strokeColor=#666666;" vertex="1" parent="1">
<mxGeometry x="-2066" y="338.06999999999994" width="28.93" height="28.93" as="geometry" />
</mxCell>
<mxCell id="I9sp5S672SgGMplcR-zX-2" value="Relay - side chain node not required" style="text;html=1;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="-2030.3200000000002" y="337" width="214.32" height="30" as="geometry" />
</mxCell>
<mxCell id="I9sp5S672SgGMplcR-zX-3" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;container=0;rounded=1;labelBackgroundColor=none;fillColor=#fff2cc;strokeColor=#d6b656;" vertex="1" parent="1">
<mxGeometry x="-2067" y="373.07000000000005" width="28.93" height="28.93" as="geometry" />
</mxCell>
<mxCell id="I9sp5S672SgGMplcR-zX-4" value="Relay - side chain node required" style="text;html=1;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="-2031.3200000000002" y="372.0000000000001" width="214.32" height="30" as="geometry" />
</mxCell>
<mxCell id="I9sp5S672SgGMplcR-zX-6" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="I9sp5S672SgGMplcR-zX-5" target="sHT8GTnQFrlxJ-m2nGzn-339">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="-834" y="40" />
<mxPoint x="-990" y="40" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="I9sp5S672SgGMplcR-zX-5" value="SeedRand2&lt;br&gt;256 bits" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#f8cecc;strokeColor=#b85450;" vertex="1" parent="1">
<mxGeometry x="-868.58" y="-113.79" width="70" height="29" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>

View File

@ -0,0 +1,155 @@
<mxfile host="Electron" modified="2024-03-08T10:09:22.221Z" agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/23.1.5 Chrome/120.0.6099.109 Electron/28.1.0 Safari/537.36" etag="ecCgPgKGWN3bEI8n3iy-" version="23.1.5" type="device">
<diagram name="Page-1" id="Ay0TpeaQuVh3P3g7hVAg">
<mxGraphModel dx="2122" dy="791" 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">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="EWl4Vt8T4nABZOOH1jeO-55" value="" style="rounded=0;whiteSpace=wrap;html=1;strokeWidth=3;" vertex="1" parent="1">
<mxGeometry x="1000" y="20" width="186" height="250" as="geometry" />
</mxCell>
<mxCell id="EWl4Vt8T4nABZOOH1jeO-91" value="KeyConfidential" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="1012" y="70" width="164" height="80" as="geometry" />
</mxCell>
<mxCell id="EWl4Vt8T4nABZOOH1jeO-29" value="AES:&amp;nbsp;Random" style="label;whiteSpace=wrap;html=1;image=img/clipart/Gear_128x128.png" vertex="1" parent="1">
<mxGeometry x="170" y="102.26" width="170" height="30" as="geometry" />
</mxCell>
<mxCell id="EWl4Vt8T4nABZOOH1jeO-63" value="AES:&amp;nbsp;KeyConfidential" style="label;whiteSpace=wrap;html=1;image=img/clipart/Gear_128x128.png" vertex="1" parent="1">
<mxGeometry x="784" y="102.25999999999999" width="190" height="30" as="geometry" />
</mxCell>
<mxCell id="EWl4Vt8T4nABZOOH1jeO-58" value="KeyConfidential" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="1020" y="104.24" width="136" height="26.05" as="geometry" />
</mxCell>
<mxCell id="EWl4Vt8T4nABZOOH1jeO-61" value="Tx Silent Payment" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontStyle=1" vertex="1" parent="1">
<mxGeometry x="1010" y="20" width="140" height="39.07" as="geometry" />
</mxCell>
<mxCell id="EWl4Vt8T4nABZOOH1jeO-27" value="AES:&amp;nbsp;ProcessKey" style="label;whiteSpace=wrap;html=1;image=img/clipart/Gear_128x128.png" vertex="1" parent="1">
<mxGeometry x="170" y="182.37" width="170" height="30" as="geometry" />
</mxCell>
<mxCell id="EWl4Vt8T4nABZOOH1jeO-31" value="AES:&amp;nbsp;KeyRecover" style="label;whiteSpace=wrap;html=1;image=img/clipart/Gear_128x128.png" vertex="1" parent="1">
<mxGeometry x="170" y="224" width="170" height="30" as="geometry" />
</mxCell>
<mxCell id="EWl4Vt8T4nABZOOH1jeO-71" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="EWl4Vt8T4nABZOOH1jeO-58" target="EWl4Vt8T4nABZOOH1jeO-63">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="EWl4Vt8T4nABZOOH1jeO-81" value="export" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="EWl4Vt8T4nABZOOH1jeO-71">
<mxGeometry x="-0.0741" y="2" relative="1" as="geometry">
<mxPoint x="-1" y="-13" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="EWl4Vt8T4nABZOOH1jeO-92" value="&lt;span style=&quot;color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: center; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(251, 251, 251); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;&quot;&gt;&lt;i&gt;Diffie-Hellman&lt;/i&gt;&lt;/span&gt;" style="text;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="1020" y="69.86" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="EWl4Vt8T4nABZOOH1jeO-93" value="" style="group" vertex="1" connectable="0" parent="1">
<mxGeometry x="-110" y="20" width="260" height="250" as="geometry" />
</mxCell>
<mxCell id="EWl4Vt8T4nABZOOH1jeO-1" value="" style="rounded=0;whiteSpace=wrap;html=1;strokeWidth=3;" vertex="1" parent="EWl4Vt8T4nABZOOH1jeO-93">
<mxGeometry width="260" height="250" as="geometry" />
</mxCell>
<mxCell id="EWl4Vt8T4nABZOOH1jeO-2" value="" style="rounded=0;whiteSpace=wrap;html=1;strokeWidth=2;" vertex="1" parent="EWl4Vt8T4nABZOOH1jeO-93">
<mxGeometry x="7.878787878787878" y="52.09" width="244.24242424242425" height="187.91" as="geometry" />
</mxCell>
<mxCell id="EWl4Vt8T4nABZOOH1jeO-4" value="role confidential metadatas&amp;nbsp;encrypted" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="EWl4Vt8T4nABZOOH1jeO-93">
<mxGeometry x="15.757575757575756" y="84.23255813953486" width="228.4848484848485" height="26.046511627906977" as="geometry" />
</mxCell>
<mxCell id="EWl4Vt8T4nABZOOH1jeO-14" value="Item" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="EWl4Vt8T4nABZOOH1jeO-93">
<mxGeometry x="7.878787878787878" y="50.790697674418595" width="47.27272727272727" height="39.06976744186046" as="geometry" />
</mxCell>
<mxCell id="EWl4Vt8T4nABZOOH1jeO-25" value="PCD" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontStyle=1" vertex="1" parent="EWl4Vt8T4nABZOOH1jeO-93">
<mxGeometry x="7.878787878787878" width="47.27272727272727" height="39.06976744186046" as="geometry" />
</mxCell>
<mxCell id="EWl4Vt8T4nABZOOH1jeO-3" value="public metadatas encrypted" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="EWl4Vt8T4nABZOOH1jeO-93">
<mxGeometry x="15.757575757575756" y="163.53279069767441" width="228.4848484848485" height="26.046511627906977" as="geometry" />
</mxCell>
<mxCell id="EWl4Vt8T4nABZOOH1jeO-5" value="private metadatas&amp;nbsp;encrypted" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="EWl4Vt8T4nABZOOH1jeO-93">
<mxGeometry x="15.757575757575756" y="205.9723255813953" width="228.4848484848485" height="26.046511627906977" as="geometry" />
</mxCell>
<mxCell id="EWl4Vt8T4nABZOOH1jeO-32" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="EWl4Vt8T4nABZOOH1jeO-27" target="EWl4Vt8T4nABZOOH1jeO-3">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="EWl4Vt8T4nABZOOH1jeO-34" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="EWl4Vt8T4nABZOOH1jeO-31" target="EWl4Vt8T4nABZOOH1jeO-5">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="EWl4Vt8T4nABZOOH1jeO-77" value="&lt;b style=&quot;font-size: 12px;&quot;&gt;&lt;font style=&quot;font-size: 12px;&quot;&gt;Enc&lt;/font&gt;&lt;/b&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=12;fontColor=#999999;" vertex="1" parent="1">
<mxGeometry x="143" y="225.67000000000002" width="20" height="9" as="geometry" />
</mxCell>
<mxCell id="EWl4Vt8T4nABZOOH1jeO-90" value="&lt;b style=&quot;font-size: 12px;&quot;&gt;&lt;font style=&quot;font-size: 12px;&quot;&gt;Enc&lt;/font&gt;&lt;/b&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=12;fontColor=#999999;" vertex="1" parent="1">
<mxGeometry x="143" y="186" width="20" height="9" as="geometry" />
</mxCell>
<mxCell id="EWl4Vt8T4nABZOOH1jeO-33" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="EWl4Vt8T4nABZOOH1jeO-29" target="EWl4Vt8T4nABZOOH1jeO-4">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="EWl4Vt8T4nABZOOH1jeO-76" value="&lt;b style=&quot;font-size: 12px;&quot;&gt;&lt;font style=&quot;font-size: 12px;&quot;&gt;Enc&lt;/font&gt;&lt;/b&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=12;fontColor=#999999;" vertex="1" parent="1">
<mxGeometry x="144" y="105" width="20" height="9" as="geometry" />
</mxCell>
<mxCell id="EWl4Vt8T4nABZOOH1jeO-36" value="" style="rounded=0;whiteSpace=wrap;html=1;strokeWidth=3;" vertex="1" parent="1">
<mxGeometry x="359.91" y="20" width="400.09" height="250" as="geometry" />
</mxCell>
<mxCell id="EWl4Vt8T4nABZOOH1jeO-95" value="" style="group" vertex="1" connectable="0" parent="1">
<mxGeometry x="374.46" y="65.16" width="364.54" height="186.86" as="geometry" />
</mxCell>
<mxCell id="EWl4Vt8T4nABZOOH1jeO-38" value="*_enc_by_shared_secret&lt;span style=&quot;background-color: initial;&quot;&gt;&amp;nbsp;encrypted&lt;/span&gt;" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="EWl4Vt8T4nABZOOH1jeO-95">
<mxGeometry width="364.54" height="26.04641437907359" as="geometry" />
</mxCell>
<mxCell id="EWl4Vt8T4nABZOOH1jeO-39" value="request_pcd_keys_role_confidential_list_enc_by_shared_secret" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="EWl4Vt8T4nABZOOH1jeO-95">
<mxGeometry y="39.069621568610366" width="364.54" height="26.04641437907359" as="geometry" />
</mxCell>
<mxCell id="EWl4Vt8T4nABZOOH1jeO-43" value="public message encrypted" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="EWl4Vt8T4nABZOOH1jeO-95">
<mxGeometry y="118.83420747453961" width="364.54" height="26.04641437907359" as="geometry" />
</mxCell>
<mxCell id="EWl4Vt8T4nABZOOH1jeO-44" value="role confidential message&amp;nbsp;encrypted" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="EWl4Vt8T4nABZOOH1jeO-95">
<mxGeometry y="78.83412426369104" width="364.54" height="26.04641437907359" as="geometry" />
</mxCell>
<mxCell id="EWl4Vt8T4nABZOOH1jeO-45" value="private message&amp;nbsp;encrypted" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="EWl4Vt8T4nABZOOH1jeO-95">
<mxGeometry y="160.81358562092643" width="364.54" height="26.04641437907359" as="geometry" />
</mxCell>
<mxCell id="EWl4Vt8T4nABZOOH1jeO-64" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="EWl4Vt8T4nABZOOH1jeO-63">
<mxGeometry relative="1" as="geometry">
<mxPoint x="739.449275362319" y="78.18604651162786" as="targetPoint" />
<Array as="points">
<mxPoint x="764" y="117" />
<mxPoint x="764" y="78" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="EWl4Vt8T4nABZOOH1jeO-65" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="EWl4Vt8T4nABZOOH1jeO-63">
<mxGeometry relative="1" as="geometry">
<mxPoint x="739.449275362319" y="117.25581395348843" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="EWl4Vt8T4nABZOOH1jeO-66" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="EWl4Vt8T4nABZOOH1jeO-63">
<mxGeometry relative="1" as="geometry">
<mxPoint x="739.449275362319" y="157.02046511627907" as="targetPoint" />
<Array as="points">
<mxPoint x="764" y="117" />
<mxPoint x="764" y="157" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="EWl4Vt8T4nABZOOH1jeO-78" value="&lt;b style=&quot;font-size: 12px;&quot;&gt;&lt;font style=&quot;font-size: 12px;&quot;&gt;Enc&lt;/font&gt;&lt;/b&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=12;fontColor=#999999;" vertex="1" parent="1">
<mxGeometry x="760" y="106" width="20" height="9" as="geometry" />
</mxCell>
<mxCell id="EWl4Vt8T4nABZOOH1jeO-83" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="EWl4Vt8T4nABZOOH1jeO-27" target="EWl4Vt8T4nABZOOH1jeO-43">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="EWl4Vt8T4nABZOOH1jeO-84" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="EWl4Vt8T4nABZOOH1jeO-31" target="EWl4Vt8T4nABZOOH1jeO-45">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="EWl4Vt8T4nABZOOH1jeO-53" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" edge="1" parent="1" source="EWl4Vt8T4nABZOOH1jeO-29" target="EWl4Vt8T4nABZOOH1jeO-39">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="EWl4Vt8T4nABZOOH1jeO-52" value="PRD Response" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontStyle=1" vertex="1" parent="1">
<mxGeometry x="367.18840579710144" y="20" width="72.7536231884058" height="39.07" as="geometry" />
</mxCell>
<mxCell id="EWl4Vt8T4nABZOOH1jeO-86" value="&lt;b style=&quot;font-size: 12px;&quot;&gt;&lt;font style=&quot;font-size: 12px;&quot;&gt;Enc&lt;/font&gt;&lt;/b&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=12;fontColor=#999999;" vertex="1" parent="1">
<mxGeometry x="349" y="186" width="14.55072463768116" height="9" as="geometry" />
</mxCell>
<mxCell id="EWl4Vt8T4nABZOOH1jeO-87" value="&lt;b style=&quot;font-size: 12px;&quot;&gt;&lt;font style=&quot;font-size: 12px;&quot;&gt;Enc&lt;/font&gt;&lt;/b&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=12;fontColor=#999999;" vertex="1" parent="1">
<mxGeometry x="349.7275362318841" y="226" width="14.55072463768116" height="9" as="geometry" />
</mxCell>
<mxCell id="EWl4Vt8T4nABZOOH1jeO-89" value="export" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="1">
<mxGeometry x="356.2722852334374" y="105.99805506002437" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>

Binary file not shown.

After

Width:  |  Height:  |  Size: 80 KiB