Fix link paths in nested imports

This commit is contained in:
Alexander Wang 2023-09-14 07:22:34 -07:00
parent b7852299cd
commit 0c230f6eb5
No known key found for this signature in database
GPG key ID: D89FA31966BDBECE
6 changed files with 1425 additions and 157 deletions

View file

@ -4,6 +4,7 @@
#### Improvements 🧹
- Globs are lazily-evaluated [#1552](https://github.com/terrastruct/d2/pull/1552)
- Latex now includes Mathjax's ASM extension for more powerful Latex functionality [#1544](https://github.com/terrastruct/d2/pull/1544)
- `font-color` works on Markdown [#1546](https://github.com/terrastruct/d2/pull/1546)
- `font-color` works on arrowheads [#1582](https://github.com/terrastruct/d2/pull/1582)

View file

@ -833,8 +833,35 @@ func (c *compiler) updateLinks(m *Map) {
aida := IDA(f)
if len(bida) != len(aida) {
prependIDA := aida[:len(aida)-len(bida)]
kp := d2ast.MakeKeyPath(prependIDA)
s := d2format.Format(kp) + strings.TrimPrefix(f.Primary_.Value.ScalarString(), "root")
fullIDA := []string{"root"}
// With nested imports, a value may already have been updated with part of the absolute path
// E.g.,
// The import prepends path a b c
// The existing path is b c d
// So the new path is
// a b c
// b c d
// -------
// a b c d
OUTER:
for i := 1; i < len(prependIDA); i += 2 {
for j := 0; i+j < len(prependIDA); j++ {
if prependIDA[i+j] != linkIDA[1+j] {
break
}
// Reached the end and all common
if i+j == len(prependIDA)-1 {
break OUTER
}
}
fullIDA = append(fullIDA, prependIDA[i])
fullIDA = append(fullIDA, prependIDA[i+1])
}
// Chop off "root"
fullIDA = append(fullIDA, linkIDA[1:]...)
kp := d2ast.MakeKeyPath(fullIDA)
s := d2format.Format(kp)
f.Primary_.Value = d2ast.MakeValueBox(d2ast.FlatUnquotedString(s)).ScalarBox().Unbox()
}
}

View file

@ -84,6 +84,19 @@ label: meow`,
assertQuery(t, m, 0, 0, "root.layers.x.layers.y", "layers.x.y.link")
},
},
{
name: "boards-deep",
run: func(t testing.TB) {
m, err := compileFS(t, "index.d2", map[string]string{
"index.d2": `a.link: layers.b; layers: { b: @b }`,
"b.d2": `b.link: layers.c; layers: { c: @c }`,
"c.d2": `c.link: layers.d; layers: { d: @d }`,
"d.d2": `d`,
})
assert.Success(t, err)
assertQuery(t, m, 0, 0, "root.layers.b.layers.c.layers.d", "layers.b.layers.c.c.link")
},
},
{
name: "steps-inheritence",
run: func(t testing.TB) {

View file

@ -1,9 +1,9 @@
<?xml version="1.0" encoding="utf-8"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" d2Version="v0.6.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 256 434"><svg id="d2-svg" class="d2-66779799" width="256" height="434" viewBox="-101 -101 256 434"><rect x="-101.000000" y="-101.000000" width="256.000000" height="434.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-66779799 .text-bold {
font-family: "d2-66779799-font-bold";
<?xml version="1.0" encoding="utf-8"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" d2Version="v0.6.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 256 434"><svg id="d2-svg" class="d2-196331130" width="256" height="434" viewBox="-101 -101 256 434"><rect x="-101.000000" y="-101.000000" width="256.000000" height="434.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-196331130 .text-bold {
font-family: "d2-196331130-font-bold";
}
@font-face {
font-family: d2-66779799-font-bold;
font-family: d2-196331130-font-bold;
src: url("data:application/font-woff;base64,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");
}]]></style><style type="text/css"><![CDATA[.shape {
shape-rendering: geometricPrecision;
@ -18,78 +18,78 @@
opacity: 0.5;
}
.d2-66779799 .fill-N1{fill:#0A0F25;}
.d2-66779799 .fill-N2{fill:#676C7E;}
.d2-66779799 .fill-N3{fill:#9499AB;}
.d2-66779799 .fill-N4{fill:#CFD2DD;}
.d2-66779799 .fill-N5{fill:#DEE1EB;}
.d2-66779799 .fill-N6{fill:#EEF1F8;}
.d2-66779799 .fill-N7{fill:#FFFFFF;}
.d2-66779799 .fill-B1{fill:#0D32B2;}
.d2-66779799 .fill-B2{fill:#0D32B2;}
.d2-66779799 .fill-B3{fill:#E3E9FD;}
.d2-66779799 .fill-B4{fill:#E3E9FD;}
.d2-66779799 .fill-B5{fill:#EDF0FD;}
.d2-66779799 .fill-B6{fill:#F7F8FE;}
.d2-66779799 .fill-AA2{fill:#4A6FF3;}
.d2-66779799 .fill-AA4{fill:#EDF0FD;}
.d2-66779799 .fill-AA5{fill:#F7F8FE;}
.d2-66779799 .fill-AB4{fill:#EDF0FD;}
.d2-66779799 .fill-AB5{fill:#F7F8FE;}
.d2-66779799 .stroke-N1{stroke:#0A0F25;}
.d2-66779799 .stroke-N2{stroke:#676C7E;}
.d2-66779799 .stroke-N3{stroke:#9499AB;}
.d2-66779799 .stroke-N4{stroke:#CFD2DD;}
.d2-66779799 .stroke-N5{stroke:#DEE1EB;}
.d2-66779799 .stroke-N6{stroke:#EEF1F8;}
.d2-66779799 .stroke-N7{stroke:#FFFFFF;}
.d2-66779799 .stroke-B1{stroke:#0D32B2;}
.d2-66779799 .stroke-B2{stroke:#0D32B2;}
.d2-66779799 .stroke-B3{stroke:#E3E9FD;}
.d2-66779799 .stroke-B4{stroke:#E3E9FD;}
.d2-66779799 .stroke-B5{stroke:#EDF0FD;}
.d2-66779799 .stroke-B6{stroke:#F7F8FE;}
.d2-66779799 .stroke-AA2{stroke:#4A6FF3;}
.d2-66779799 .stroke-AA4{stroke:#EDF0FD;}
.d2-66779799 .stroke-AA5{stroke:#F7F8FE;}
.d2-66779799 .stroke-AB4{stroke:#EDF0FD;}
.d2-66779799 .stroke-AB5{stroke:#F7F8FE;}
.d2-66779799 .background-color-N1{background-color:#0A0F25;}
.d2-66779799 .background-color-N2{background-color:#676C7E;}
.d2-66779799 .background-color-N3{background-color:#9499AB;}
.d2-66779799 .background-color-N4{background-color:#CFD2DD;}
.d2-66779799 .background-color-N5{background-color:#DEE1EB;}
.d2-66779799 .background-color-N6{background-color:#EEF1F8;}
.d2-66779799 .background-color-N7{background-color:#FFFFFF;}
.d2-66779799 .background-color-B1{background-color:#0D32B2;}
.d2-66779799 .background-color-B2{background-color:#0D32B2;}
.d2-66779799 .background-color-B3{background-color:#E3E9FD;}
.d2-66779799 .background-color-B4{background-color:#E3E9FD;}
.d2-66779799 .background-color-B5{background-color:#EDF0FD;}
.d2-66779799 .background-color-B6{background-color:#F7F8FE;}
.d2-66779799 .background-color-AA2{background-color:#4A6FF3;}
.d2-66779799 .background-color-AA4{background-color:#EDF0FD;}
.d2-66779799 .background-color-AA5{background-color:#F7F8FE;}
.d2-66779799 .background-color-AB4{background-color:#EDF0FD;}
.d2-66779799 .background-color-AB5{background-color:#F7F8FE;}
.d2-66779799 .color-N1{color:#0A0F25;}
.d2-66779799 .color-N2{color:#676C7E;}
.d2-66779799 .color-N3{color:#9499AB;}
.d2-66779799 .color-N4{color:#CFD2DD;}
.d2-66779799 .color-N5{color:#DEE1EB;}
.d2-66779799 .color-N6{color:#EEF1F8;}
.d2-66779799 .color-N7{color:#FFFFFF;}
.d2-66779799 .color-B1{color:#0D32B2;}
.d2-66779799 .color-B2{color:#0D32B2;}
.d2-66779799 .color-B3{color:#E3E9FD;}
.d2-66779799 .color-B4{color:#E3E9FD;}
.d2-66779799 .color-B5{color:#EDF0FD;}
.d2-66779799 .color-B6{color:#F7F8FE;}
.d2-66779799 .color-AA2{color:#4A6FF3;}
.d2-66779799 .color-AA4{color:#EDF0FD;}
.d2-66779799 .color-AA5{color:#F7F8FE;}
.d2-66779799 .color-AB4{color:#EDF0FD;}
.d2-66779799 .color-AB5{color:#F7F8FE;}.appendix text.text{fill:#0A0F25}.md{--color-fg-default:#0A0F25;--color-fg-muted:#676C7E;--color-fg-subtle:#9499AB;--color-canvas-default:#FFFFFF;--color-canvas-subtle:#EEF1F8;--color-border-default:#0D32B2;--color-border-muted:#0D32B2;--color-neutral-muted:#EEF1F8;--color-accent-fg:#0D32B2;--color-accent-emphasis:#0D32B2;--color-attention-subtle:#676C7E;--color-danger-fg:red;}.sketch-overlay-B1{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-B2{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-B3{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B6{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AA2{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-AA4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AA5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AB4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AB5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N1{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-N2{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-N3{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N4{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N6{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N7{fill:url(#streaks-bright);mix-blend-mode:darken}.light-code{display: block}.dark-code{display: none}]]></style><g id="x"><g class="shape" ><rect x="1.000000" y="0.000000" width="53.000000" height="66.000000" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="27.500000" y="38.500000" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">x</text></g><g id="y"><g class="shape" ><rect x="0.000000" y="166.000000" width="54.000000" height="66.000000" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="27.000000" y="204.500000" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">y</text></g><g id="(x -&gt; y)[0]"><marker id="mk-3488378134" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" class="connection fill-B1" stroke-width="2" /> </marker><path d="M 27.000000 68.000000 C 27.000000 106.000000 27.000000 126.000000 27.000000 162.000000" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-3488378134)" mask="url(#d2-66779799)" /></g><mask id="d2-66779799" maskUnits="userSpaceOnUse" x="-101" y="-101" width="256" height="434">
.d2-196331130 .fill-N1{fill:#0A0F25;}
.d2-196331130 .fill-N2{fill:#676C7E;}
.d2-196331130 .fill-N3{fill:#9499AB;}
.d2-196331130 .fill-N4{fill:#CFD2DD;}
.d2-196331130 .fill-N5{fill:#DEE1EB;}
.d2-196331130 .fill-N6{fill:#EEF1F8;}
.d2-196331130 .fill-N7{fill:#FFFFFF;}
.d2-196331130 .fill-B1{fill:#0D32B2;}
.d2-196331130 .fill-B2{fill:#0D32B2;}
.d2-196331130 .fill-B3{fill:#E3E9FD;}
.d2-196331130 .fill-B4{fill:#E3E9FD;}
.d2-196331130 .fill-B5{fill:#EDF0FD;}
.d2-196331130 .fill-B6{fill:#F7F8FE;}
.d2-196331130 .fill-AA2{fill:#4A6FF3;}
.d2-196331130 .fill-AA4{fill:#EDF0FD;}
.d2-196331130 .fill-AA5{fill:#F7F8FE;}
.d2-196331130 .fill-AB4{fill:#EDF0FD;}
.d2-196331130 .fill-AB5{fill:#F7F8FE;}
.d2-196331130 .stroke-N1{stroke:#0A0F25;}
.d2-196331130 .stroke-N2{stroke:#676C7E;}
.d2-196331130 .stroke-N3{stroke:#9499AB;}
.d2-196331130 .stroke-N4{stroke:#CFD2DD;}
.d2-196331130 .stroke-N5{stroke:#DEE1EB;}
.d2-196331130 .stroke-N6{stroke:#EEF1F8;}
.d2-196331130 .stroke-N7{stroke:#FFFFFF;}
.d2-196331130 .stroke-B1{stroke:#0D32B2;}
.d2-196331130 .stroke-B2{stroke:#0D32B2;}
.d2-196331130 .stroke-B3{stroke:#E3E9FD;}
.d2-196331130 .stroke-B4{stroke:#E3E9FD;}
.d2-196331130 .stroke-B5{stroke:#EDF0FD;}
.d2-196331130 .stroke-B6{stroke:#F7F8FE;}
.d2-196331130 .stroke-AA2{stroke:#4A6FF3;}
.d2-196331130 .stroke-AA4{stroke:#EDF0FD;}
.d2-196331130 .stroke-AA5{stroke:#F7F8FE;}
.d2-196331130 .stroke-AB4{stroke:#EDF0FD;}
.d2-196331130 .stroke-AB5{stroke:#F7F8FE;}
.d2-196331130 .background-color-N1{background-color:#0A0F25;}
.d2-196331130 .background-color-N2{background-color:#676C7E;}
.d2-196331130 .background-color-N3{background-color:#9499AB;}
.d2-196331130 .background-color-N4{background-color:#CFD2DD;}
.d2-196331130 .background-color-N5{background-color:#DEE1EB;}
.d2-196331130 .background-color-N6{background-color:#EEF1F8;}
.d2-196331130 .background-color-N7{background-color:#FFFFFF;}
.d2-196331130 .background-color-B1{background-color:#0D32B2;}
.d2-196331130 .background-color-B2{background-color:#0D32B2;}
.d2-196331130 .background-color-B3{background-color:#E3E9FD;}
.d2-196331130 .background-color-B4{background-color:#E3E9FD;}
.d2-196331130 .background-color-B5{background-color:#EDF0FD;}
.d2-196331130 .background-color-B6{background-color:#F7F8FE;}
.d2-196331130 .background-color-AA2{background-color:#4A6FF3;}
.d2-196331130 .background-color-AA4{background-color:#EDF0FD;}
.d2-196331130 .background-color-AA5{background-color:#F7F8FE;}
.d2-196331130 .background-color-AB4{background-color:#EDF0FD;}
.d2-196331130 .background-color-AB5{background-color:#F7F8FE;}
.d2-196331130 .color-N1{color:#0A0F25;}
.d2-196331130 .color-N2{color:#676C7E;}
.d2-196331130 .color-N3{color:#9499AB;}
.d2-196331130 .color-N4{color:#CFD2DD;}
.d2-196331130 .color-N5{color:#DEE1EB;}
.d2-196331130 .color-N6{color:#EEF1F8;}
.d2-196331130 .color-N7{color:#FFFFFF;}
.d2-196331130 .color-B1{color:#0D32B2;}
.d2-196331130 .color-B2{color:#0D32B2;}
.d2-196331130 .color-B3{color:#E3E9FD;}
.d2-196331130 .color-B4{color:#E3E9FD;}
.d2-196331130 .color-B5{color:#EDF0FD;}
.d2-196331130 .color-B6{color:#F7F8FE;}
.d2-196331130 .color-AA2{color:#4A6FF3;}
.d2-196331130 .color-AA4{color:#EDF0FD;}
.d2-196331130 .color-AA5{color:#F7F8FE;}
.d2-196331130 .color-AB4{color:#EDF0FD;}
.d2-196331130 .color-AB5{color:#F7F8FE;}.appendix text.text{fill:#0A0F25}.md{--color-fg-default:#0A0F25;--color-fg-muted:#676C7E;--color-fg-subtle:#9499AB;--color-canvas-default:#FFFFFF;--color-canvas-subtle:#EEF1F8;--color-border-default:#0D32B2;--color-border-muted:#0D32B2;--color-neutral-muted:#EEF1F8;--color-accent-fg:#0D32B2;--color-accent-emphasis:#0D32B2;--color-attention-subtle:#676C7E;--color-danger-fg:red;}.sketch-overlay-B1{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-B2{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-B3{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B6{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AA2{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-AA4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AA5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AB4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AB5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N1{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-N2{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-N3{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N4{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N6{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N7{fill:url(#streaks-bright);mix-blend-mode:darken}.light-code{display: block}.dark-code{display: none}]]></style><g id="x"><g class="shape" ><rect x="1.000000" y="0.000000" width="53.000000" height="66.000000" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="27.500000" y="38.500000" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">x</text></g><g id="y"><g class="shape" ><rect x="0.000000" y="166.000000" width="54.000000" height="66.000000" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="27.000000" y="204.500000" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">y</text></g><g id="(x -&gt; y)[0]"><marker id="mk-3488378134" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" class="connection fill-B1" stroke-width="2" /> </marker><path d="M 27.000000 68.000000 C 27.000000 106.000000 27.000000 126.000000 27.000000 162.000000" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-3488378134)" mask="url(#d2-196331130)" /></g><mask id="d2-196331130" maskUnits="userSpaceOnUse" x="-101" y="-101" width="256" height="434">
<rect x="-101" y="-101" width="256" height="434" fill="white"></rect>
<rect x="23.500000" y="22.500000" width="8" height="21" fill="rgba(0,0,0,0.75)"></rect>
<rect x="22.500000" y="188.500000" width="9" height="21" fill="rgba(0,0,0,0.75)"></rect>

Before

Width:  |  Height:  |  Size: 9.3 KiB

After

Width:  |  Height:  |  Size: 9.4 KiB

View file

@ -1,9 +1,9 @@
<?xml version="1.0" encoding="utf-8"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" d2Version="v0.6.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 578 268"><svg id="d2-svg" class="d2-3935287890" width="578" height="268" viewBox="-101 -101 578 268"><rect x="-101.000000" y="-101.000000" width="578.000000" height="268.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-3935287890 .text-bold {
font-family: "d2-3935287890-font-bold";
<?xml version="1.0" encoding="utf-8"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" d2Version="v0.6.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 558 268"><svg id="d2-svg" class="d2-1207751185" width="558" height="268" viewBox="-101 -101 558 268"><rect x="-101.000000" y="-101.000000" width="558.000000" height="268.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-1207751185 .text-bold {
font-family: "d2-1207751185-font-bold";
}
@font-face {
font-family: d2-3935287890-font-bold;
font-family: d2-1207751185-font-bold;
src: url("data:application/font-woff;base64,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");
}]]></style><style type="text/css"><![CDATA[.shape {
shape-rendering: geometricPrecision;
@ -18,80 +18,80 @@
opacity: 0.5;
}
.d2-3935287890 .fill-N1{fill:#0A0F25;}
.d2-3935287890 .fill-N2{fill:#676C7E;}
.d2-3935287890 .fill-N3{fill:#9499AB;}
.d2-3935287890 .fill-N4{fill:#CFD2DD;}
.d2-3935287890 .fill-N5{fill:#DEE1EB;}
.d2-3935287890 .fill-N6{fill:#EEF1F8;}
.d2-3935287890 .fill-N7{fill:#FFFFFF;}
.d2-3935287890 .fill-B1{fill:#0D32B2;}
.d2-3935287890 .fill-B2{fill:#0D32B2;}
.d2-3935287890 .fill-B3{fill:#E3E9FD;}
.d2-3935287890 .fill-B4{fill:#E3E9FD;}
.d2-3935287890 .fill-B5{fill:#EDF0FD;}
.d2-3935287890 .fill-B6{fill:#F7F8FE;}
.d2-3935287890 .fill-AA2{fill:#4A6FF3;}
.d2-3935287890 .fill-AA4{fill:#EDF0FD;}
.d2-3935287890 .fill-AA5{fill:#F7F8FE;}
.d2-3935287890 .fill-AB4{fill:#EDF0FD;}
.d2-3935287890 .fill-AB5{fill:#F7F8FE;}
.d2-3935287890 .stroke-N1{stroke:#0A0F25;}
.d2-3935287890 .stroke-N2{stroke:#676C7E;}
.d2-3935287890 .stroke-N3{stroke:#9499AB;}
.d2-3935287890 .stroke-N4{stroke:#CFD2DD;}
.d2-3935287890 .stroke-N5{stroke:#DEE1EB;}
.d2-3935287890 .stroke-N6{stroke:#EEF1F8;}
.d2-3935287890 .stroke-N7{stroke:#FFFFFF;}
.d2-3935287890 .stroke-B1{stroke:#0D32B2;}
.d2-3935287890 .stroke-B2{stroke:#0D32B2;}
.d2-3935287890 .stroke-B3{stroke:#E3E9FD;}
.d2-3935287890 .stroke-B4{stroke:#E3E9FD;}
.d2-3935287890 .stroke-B5{stroke:#EDF0FD;}
.d2-3935287890 .stroke-B6{stroke:#F7F8FE;}
.d2-3935287890 .stroke-AA2{stroke:#4A6FF3;}
.d2-3935287890 .stroke-AA4{stroke:#EDF0FD;}
.d2-3935287890 .stroke-AA5{stroke:#F7F8FE;}
.d2-3935287890 .stroke-AB4{stroke:#EDF0FD;}
.d2-3935287890 .stroke-AB5{stroke:#F7F8FE;}
.d2-3935287890 .background-color-N1{background-color:#0A0F25;}
.d2-3935287890 .background-color-N2{background-color:#676C7E;}
.d2-3935287890 .background-color-N3{background-color:#9499AB;}
.d2-3935287890 .background-color-N4{background-color:#CFD2DD;}
.d2-3935287890 .background-color-N5{background-color:#DEE1EB;}
.d2-3935287890 .background-color-N6{background-color:#EEF1F8;}
.d2-3935287890 .background-color-N7{background-color:#FFFFFF;}
.d2-3935287890 .background-color-B1{background-color:#0D32B2;}
.d2-3935287890 .background-color-B2{background-color:#0D32B2;}
.d2-3935287890 .background-color-B3{background-color:#E3E9FD;}
.d2-3935287890 .background-color-B4{background-color:#E3E9FD;}
.d2-3935287890 .background-color-B5{background-color:#EDF0FD;}
.d2-3935287890 .background-color-B6{background-color:#F7F8FE;}
.d2-3935287890 .background-color-AA2{background-color:#4A6FF3;}
.d2-3935287890 .background-color-AA4{background-color:#EDF0FD;}
.d2-3935287890 .background-color-AA5{background-color:#F7F8FE;}
.d2-3935287890 .background-color-AB4{background-color:#EDF0FD;}
.d2-3935287890 .background-color-AB5{background-color:#F7F8FE;}
.d2-3935287890 .color-N1{color:#0A0F25;}
.d2-3935287890 .color-N2{color:#676C7E;}
.d2-3935287890 .color-N3{color:#9499AB;}
.d2-3935287890 .color-N4{color:#CFD2DD;}
.d2-3935287890 .color-N5{color:#DEE1EB;}
.d2-3935287890 .color-N6{color:#EEF1F8;}
.d2-3935287890 .color-N7{color:#FFFFFF;}
.d2-3935287890 .color-B1{color:#0D32B2;}
.d2-3935287890 .color-B2{color:#0D32B2;}
.d2-3935287890 .color-B3{color:#E3E9FD;}
.d2-3935287890 .color-B4{color:#E3E9FD;}
.d2-3935287890 .color-B5{color:#EDF0FD;}
.d2-3935287890 .color-B6{color:#F7F8FE;}
.d2-3935287890 .color-AA2{color:#4A6FF3;}
.d2-3935287890 .color-AA4{color:#EDF0FD;}
.d2-3935287890 .color-AA5{color:#F7F8FE;}
.d2-3935287890 .color-AB4{color:#EDF0FD;}
.d2-3935287890 .color-AB5{color:#F7F8FE;}.appendix text.text{fill:#0A0F25}.md{--color-fg-default:#0A0F25;--color-fg-muted:#676C7E;--color-fg-subtle:#9499AB;--color-canvas-default:#FFFFFF;--color-canvas-subtle:#EEF1F8;--color-border-default:#0D32B2;--color-border-muted:#0D32B2;--color-neutral-muted:#EEF1F8;--color-accent-fg:#0D32B2;--color-accent-emphasis:#0D32B2;--color-attention-subtle:#676C7E;--color-danger-fg:red;}.sketch-overlay-B1{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-B2{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-B3{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B6{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AA2{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-AA4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AA5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AB4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AB5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N1{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-N2{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-N3{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N4{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N6{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N7{fill:url(#streaks-bright);mix-blend-mode:darken}.light-code{display: block}.dark-code{display: none}]]></style><g id="TSX"><g class="shape" ><rect x="0.000000" y="0.000000" width="72.000000" height="66.000000" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="36.000000" y="38.500000" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">TSX</text></g><g id="NYSE"><g class="shape" ><rect x="132.000000" y="0.000000" width="80.000000" height="66.000000" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="172.000000" y="38.500000" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">NYSE</text></g><g id="NASDAQ"><g class="shape" ><rect x="272.000000" y="0.000000" width="104.000000" height="66.000000" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="324.000000" y="38.500000" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">NASDAQ</text></g><mask id="d2-3935287890" maskUnits="userSpaceOnUse" x="-101" y="-101" width="578" height="268">
<rect x="-101" y="-101" width="578" height="268" fill="white"></rect>
.d2-1207751185 .fill-N1{fill:#0A0F25;}
.d2-1207751185 .fill-N2{fill:#676C7E;}
.d2-1207751185 .fill-N3{fill:#9499AB;}
.d2-1207751185 .fill-N4{fill:#CFD2DD;}
.d2-1207751185 .fill-N5{fill:#DEE1EB;}
.d2-1207751185 .fill-N6{fill:#EEF1F8;}
.d2-1207751185 .fill-N7{fill:#FFFFFF;}
.d2-1207751185 .fill-B1{fill:#0D32B2;}
.d2-1207751185 .fill-B2{fill:#0D32B2;}
.d2-1207751185 .fill-B3{fill:#E3E9FD;}
.d2-1207751185 .fill-B4{fill:#E3E9FD;}
.d2-1207751185 .fill-B5{fill:#EDF0FD;}
.d2-1207751185 .fill-B6{fill:#F7F8FE;}
.d2-1207751185 .fill-AA2{fill:#4A6FF3;}
.d2-1207751185 .fill-AA4{fill:#EDF0FD;}
.d2-1207751185 .fill-AA5{fill:#F7F8FE;}
.d2-1207751185 .fill-AB4{fill:#EDF0FD;}
.d2-1207751185 .fill-AB5{fill:#F7F8FE;}
.d2-1207751185 .stroke-N1{stroke:#0A0F25;}
.d2-1207751185 .stroke-N2{stroke:#676C7E;}
.d2-1207751185 .stroke-N3{stroke:#9499AB;}
.d2-1207751185 .stroke-N4{stroke:#CFD2DD;}
.d2-1207751185 .stroke-N5{stroke:#DEE1EB;}
.d2-1207751185 .stroke-N6{stroke:#EEF1F8;}
.d2-1207751185 .stroke-N7{stroke:#FFFFFF;}
.d2-1207751185 .stroke-B1{stroke:#0D32B2;}
.d2-1207751185 .stroke-B2{stroke:#0D32B2;}
.d2-1207751185 .stroke-B3{stroke:#E3E9FD;}
.d2-1207751185 .stroke-B4{stroke:#E3E9FD;}
.d2-1207751185 .stroke-B5{stroke:#EDF0FD;}
.d2-1207751185 .stroke-B6{stroke:#F7F8FE;}
.d2-1207751185 .stroke-AA2{stroke:#4A6FF3;}
.d2-1207751185 .stroke-AA4{stroke:#EDF0FD;}
.d2-1207751185 .stroke-AA5{stroke:#F7F8FE;}
.d2-1207751185 .stroke-AB4{stroke:#EDF0FD;}
.d2-1207751185 .stroke-AB5{stroke:#F7F8FE;}
.d2-1207751185 .background-color-N1{background-color:#0A0F25;}
.d2-1207751185 .background-color-N2{background-color:#676C7E;}
.d2-1207751185 .background-color-N3{background-color:#9499AB;}
.d2-1207751185 .background-color-N4{background-color:#CFD2DD;}
.d2-1207751185 .background-color-N5{background-color:#DEE1EB;}
.d2-1207751185 .background-color-N6{background-color:#EEF1F8;}
.d2-1207751185 .background-color-N7{background-color:#FFFFFF;}
.d2-1207751185 .background-color-B1{background-color:#0D32B2;}
.d2-1207751185 .background-color-B2{background-color:#0D32B2;}
.d2-1207751185 .background-color-B3{background-color:#E3E9FD;}
.d2-1207751185 .background-color-B4{background-color:#E3E9FD;}
.d2-1207751185 .background-color-B5{background-color:#EDF0FD;}
.d2-1207751185 .background-color-B6{background-color:#F7F8FE;}
.d2-1207751185 .background-color-AA2{background-color:#4A6FF3;}
.d2-1207751185 .background-color-AA4{background-color:#EDF0FD;}
.d2-1207751185 .background-color-AA5{background-color:#F7F8FE;}
.d2-1207751185 .background-color-AB4{background-color:#EDF0FD;}
.d2-1207751185 .background-color-AB5{background-color:#F7F8FE;}
.d2-1207751185 .color-N1{color:#0A0F25;}
.d2-1207751185 .color-N2{color:#676C7E;}
.d2-1207751185 .color-N3{color:#9499AB;}
.d2-1207751185 .color-N4{color:#CFD2DD;}
.d2-1207751185 .color-N5{color:#DEE1EB;}
.d2-1207751185 .color-N6{color:#EEF1F8;}
.d2-1207751185 .color-N7{color:#FFFFFF;}
.d2-1207751185 .color-B1{color:#0D32B2;}
.d2-1207751185 .color-B2{color:#0D32B2;}
.d2-1207751185 .color-B3{color:#E3E9FD;}
.d2-1207751185 .color-B4{color:#E3E9FD;}
.d2-1207751185 .color-B5{color:#EDF0FD;}
.d2-1207751185 .color-B6{color:#F7F8FE;}
.d2-1207751185 .color-AA2{color:#4A6FF3;}
.d2-1207751185 .color-AA4{color:#EDF0FD;}
.d2-1207751185 .color-AA5{color:#F7F8FE;}
.d2-1207751185 .color-AB4{color:#EDF0FD;}
.d2-1207751185 .color-AB5{color:#F7F8FE;}.appendix text.text{fill:#0A0F25}.md{--color-fg-default:#0A0F25;--color-fg-muted:#676C7E;--color-fg-subtle:#9499AB;--color-canvas-default:#FFFFFF;--color-canvas-subtle:#EEF1F8;--color-border-default:#0D32B2;--color-border-muted:#0D32B2;--color-neutral-muted:#EEF1F8;--color-accent-fg:#0D32B2;--color-accent-emphasis:#0D32B2;--color-attention-subtle:#676C7E;--color-danger-fg:red;}.sketch-overlay-B1{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-B2{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-B3{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B6{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AA2{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-AA4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AA5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AB4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AB5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N1{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-N2{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-N3{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N4{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N6{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N7{fill:url(#streaks-bright);mix-blend-mode:darken}.light-code{display: block}.dark-code{display: none}]]></style><g id="TSX"><g class="shape" ><rect x="0.000000" y="0.000000" width="72.000000" height="66.000000" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="36.000000" y="38.500000" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">TSX</text></g><g id="NYSE"><g class="shape" ><rect x="122.000000" y="0.000000" width="80.000000" height="66.000000" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="162.000000" y="38.500000" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">NYSE</text></g><g id="NASDAQ"><g class="shape" ><rect x="252.000000" y="0.000000" width="104.000000" height="66.000000" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="304.000000" y="38.500000" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">NASDAQ</text></g><mask id="d2-1207751185" maskUnits="userSpaceOnUse" x="-101" y="-101" width="558" height="268">
<rect x="-101" y="-101" width="558" height="268" fill="white"></rect>
<rect x="22.500000" y="22.500000" width="27" height="21" fill="rgba(0,0,0,0.75)"></rect>
<rect x="154.500000" y="22.500000" width="35" height="21" fill="rgba(0,0,0,0.75)"></rect>
<rect x="294.500000" y="22.500000" width="59" height="21" fill="rgba(0,0,0,0.75)"></rect>
<rect x="144.500000" y="22.500000" width="35" height="21" fill="rgba(0,0,0,0.75)"></rect>
<rect x="274.500000" y="22.500000" width="59" height="21" fill="rgba(0,0,0,0.75)"></rect>
</mask></svg></svg>

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 10 KiB

1227
testdata/d2ir/TestCompile/imports/boards-deep.exp.json generated vendored Normal file

File diff suppressed because it is too large Load diff