# Step 1
```mermaid
flowchart TD
T ==> binding
binding([T, target\@target.example])
N6@{ shape: rounded, label: "N6(t:120)" }
N5 -->|t:40 d:2| N6
N1 -->|t:80 d:3| N6
S2@{ shape: diamond, label: "S2(t:120)" }
S1@{ shape: diamond, label: "S1(t:120)" }
N5@{ shape: rounded, label: "N5(t:120)" }
N4 -->|t:40 d:3| N5
N1@{ shape: rounded, label: "N1(t:120)" }
S1 -->|t:80 d:4| N1
T@{ shape: rounded, label: "T(t:120)" }
N3 -->|t:40 d:1| T
N6 -->|t:80 d:1| T
N2@{ shape: rounded, label: "N2(t:120)" }
N1 -->|t:40 d:3| N2
N3@{ shape: rounded, label: "N3(t:120)" }
N2 -->|t:40 d:2| N3
N4@{ shape: rounded, label: "N4(t:120)" }
S2 -->|t:40 d:4| N4
```
## Path for 1
Path: `S1 → N1 → N6 → T ⇒ (T, <target@target.example>)`
```mermaid
flowchart TD
T ==> binding
binding([T, target\@target.example])
N6@{ shape: rounded, label: "N6(t:120)" }
N5 -->|t:40 d:2| N6
N1 -->|t:80 d:3| N6
S2@{ shape: diamond, label: "S2(t:120)" }
S1@{ shape: diamond, label: "S1(t:120)" }
N5@{ shape: rounded, label: "N5(t:120)" }
N4 -->|t:40 d:3| N5
N1@{ shape: rounded, label: "N1(t:120)" }
S1 -->|t:80 d:4| N1
T@{ shape: rounded, label: "T(t:120)" }
N3 -->|t:40 d:1| T
N6 -->|t:80 d:1| T
N2@{ shape: rounded, label: "N2(t:120)" }
N1 -->|t:40 d:3| N2
N3@{ shape: rounded, label: "N3(t:120)" }
N2 -->|t:40 d:2| N3
N4@{ shape: rounded, label: "N4(t:120)" }
S2 -->|t:40 d:4| N4
linkStyle 0 stroke:#e74c3c,stroke-width:1px;
linkStyle 2 stroke:#e74c3c,stroke-width:1px;
linkStyle 4 stroke:#e74c3c,stroke-width:1px;
linkStyle 6 stroke:#e74c3c,stroke-width:1px;
```
# Step 2
```mermaid
flowchart TD
T ==> binding
binding([T, target\@target.example])
N6@{ shape: rounded, label: "N6(t:40)" }
N5 -->|t:40 d:2| N6
N1 -->|t:0 d:3| N6
T -.->|t:80 d:3| N6
S2@{ shape: diamond, label: "S2(t:120)" }
S1@{ shape: diamond, label: "S1(t:40)" }
N1 -.->|t:80 d:255| S1
N5@{ shape: rounded, label: "N5(t:120)" }
N4 -->|t:40 d:3| N5
N1@{ shape: rounded, label: "N1(t:40)" }
S1 -->|t:0 d:4| N1
N6 -.->|t:80 d:4| N1
T@{ shape: rounded, label: "T(t:40)" }
N3 -->|t:40 d:1| T
N6 -->|t:0 d:1| T
N2@{ shape: rounded, label: "N2(t:120)" }
N1 -->|t:40 d:3| N2
N3@{ shape: rounded, label: "N3(t:120)" }
N2 -->|t:40 d:2| N3
N4@{ shape: rounded, label: "N4(t:120)" }
S2 -->|t:40 d:4| N4
```
## Path for 2
Path: `S2 → N4 → N5 → N6 ┄⇢ N1 → N2 → N3 → T ⇒ (T, <target@target.example>)`
```mermaid
flowchart TD
T ==> binding
binding([T, target\@target.example])
N6@{ shape: rounded, label: "N6(t:40)" }
N5 -->|t:40 d:2| N6
N1 -->|t:0 d:3| N6
T -.->|t:80 d:3| N6
S2@{ shape: diamond, label: "S2(t:120)" }
S1@{ shape: diamond, label: "S1(t:40)" }
N1 -.->|t:80 d:255| S1
N5@{ shape: rounded, label: "N5(t:120)" }
N4 -->|t:40 d:3| N5
N1@{ shape: rounded, label: "N1(t:40)" }
S1 -->|t:0 d:4| N1
N6 -.->|t:80 d:4| N1
T@{ shape: rounded, label: "T(t:40)" }
N3 -->|t:40 d:1| T
N6 -->|t:0 d:1| T
N2@{ shape: rounded, label: "N2(t:120)" }
N1 -->|t:40 d:3| N2
N3@{ shape: rounded, label: "N3(t:120)" }
N2 -->|t:40 d:2| N3
N4@{ shape: rounded, label: "N4(t:120)" }
S2 -->|t:40 d:4| N4
linkStyle 0 stroke:#e74c3c,stroke-width:1px;
linkStyle 1 stroke:#e74c3c,stroke-width:1px;
linkStyle 5 stroke:#e74c3c,stroke-width:1px;
linkStyle 7 stroke:#e74c3c,stroke-width:1px;
linkStyle 8 stroke:#e74c3c,stroke-width:1px;
linkStyle 10 stroke:#e74c3c,stroke-width:1px;
linkStyle 11 stroke:#e74c3c,stroke-width:1px;
linkStyle 12 stroke:#e74c3c,stroke-width:1px;
```
# Step 3
```mermaid
flowchart TD
T ==> binding
binding([T, target\@target.example])
N6@{ shape: rounded, label: "N6(t:0)" }
N5 -->|t:0 d:2| N6
N1 -->|t:40 d:3| N6
T -.->|t:80 d:3| N6
S2@{ shape: diamond, label: "S2(t:80)" }
N4 -.->|t:40 d:255| S2
S1@{ shape: diamond, label: "S1(t:40)" }
N1 -.->|t:80 d:255| S1
N5@{ shape: rounded, label: "N5(t:80)" }
N4 -->|t:0 d:3| N5
N6 -.->|t:40 d:3| N5
N1@{ shape: rounded, label: "N1(t:0)" }
S1 -->|t:0 d:4| N1
N6 -.->|t:40 d:4| N1
N2 -.->|t:40 d:4| N1
T@{ shape: rounded, label: "T(t:0)" }
N3 -->|t:0 d:1| T
N6 -->|t:0 d:1| T
N2@{ shape: rounded, label: "N2(t:80)" }
N1 -->|t:0 d:3| N2
N3 -.->|t:40 d:3| N2
N3@{ shape: rounded, label: "N3(t:80)" }
N2 -->|t:0 d:2| N3
T -.->|t:40 d:2| N3
N4@{ shape: rounded, label: "N4(t:80)" }
S2 -->|t:0 d:4| N4
N5 -.->|t:40 d:4| N4
```
# Path Consolidation
```
Checking Path: S2 → N4 → N5 → N6 ┄⇢ N1 → N2 → N3 → T ⇒ (T, <target@target.example>)
→ Found segments with indices: [3]
→ Looking for matching segment in associated path: S1 → N1 → N6 → T ⇒ (T, <target@target.example>)
→ Found matching segment at index 1
→ Trust of forward path (80) exceeds reverse path (40)
→ Pushing copy of forward path with remaining trust 40
→ Splicing start of reverse path
S2 → N4 → N5 → N6
with end of forward path
N6 → T ⇒ (T, <target@target.example>)
→ Splicing start of forward path
S1 → N1
with end of reverse path
N1 → N2 → N3 → T ⇒ (T, <target@target.example>)
→ Resulting reverse path: S2 → N4 → N5 → N6 → T ⇒ (T, <target@target.example>)
→ Resulting forward path: S1 → N1 → N2 → N3 → T ⇒ (T, <target@target.example>)
Checking Path: S1 → N1 → N6 → T ⇒ (T, <target@target.example>)
Checking Path: S1 → N1 → N2 → N3 → T ⇒ (T, <target@target.example>)
```