Merge branch 'master' into gh-821-ppt

This commit is contained in:
Júlio César Batista 2023-04-10 11:05:24 -03:00
commit 38cafc9d40
No known key found for this signature in database
GPG key ID: 10C4B861BF314878
447 changed files with 20452 additions and 17867 deletions

View file

@ -209,7 +209,7 @@ let us know and we'll be happy to include it here!
### Community plugins ### Community plugins
- **Tree-sitter grammar**: [https://github.com/pleshevskiy/tree-sitter-d2](https://github.com/pleshevskiy/tree-sitter-d2) - **Tree-sitter grammar**: [https://git.pleshevski.ru/pleshevskiy/tree-sitter-d2](https://git.pleshevski.ru/pleshevskiy/tree-sitter-d2)
- **Emacs major mode**: [https://github.com/andorsk/d2-mode](https://github.com/andorsk/d2-mode) - **Emacs major mode**: [https://github.com/andorsk/d2-mode](https://github.com/andorsk/d2-mode)
- **Goldmark extension**: [https://github.com/FurqanSoftware/goldmark-d2](https://github.com/FurqanSoftware/goldmark-d2) - **Goldmark extension**: [https://github.com/FurqanSoftware/goldmark-d2](https://github.com/FurqanSoftware/goldmark-d2)
- **Telegram bot**: [https://github.com/meinside/telegram-d2-bot](https://github.com/meinside/telegram-d2-bot) - **Telegram bot**: [https://github.com/meinside/telegram-d2-bot](https://github.com/meinside/telegram-d2-bot)

View file

@ -1,25 +1,5 @@
#### Features 🚀 #### Features 🚀
- Container with constant key near attribute now can have descendant objects and connections [#1071](https://github.com/terrastruct/d2/pull/1071)
- Classes are implemented. See [docs](https://d2lang.com/todo). [#772](https://github.com/terrastruct/d2/pull/772)
- Multi-board SVG outputs with internal links go to their output paths [#1116](https://github.com/terrastruct/d2/pull/1116)
- New grid layout to place nodes in rows and columns [#1122](https://github.com/terrastruct/d2/pull/1122)
#### Improvements 🧹 #### Improvements 🧹
- Labels on parallel `dagre` connections include a gap between them [#1134](https://github.com/terrastruct/d2/pull/1134)
- Sequence Diagram `Lifelines` now inherit the Actor `stroke` and `stroke-dash` [#1140](https://github.com/terrastruct/d2/pull/1140)
#### Bugfixes ⛑️ #### Bugfixes ⛑️
- Fix inheritence in scenarios/steps [#1090](https://github.com/terrastruct/d2/pull/1090)
- Fix a bug in 32bit builds [#1115](https://github.com/terrastruct/d2/issues/1115)
- Fix a bug in ID parsing [#322](https://github.com/terrastruct/d2/issues/322)
- Fix a bug in watch mode parsing SVG [#1119](https://github.com/terrastruct/d2/issues/1119)
- Namespace transitions so that multiple animated D2 diagrams can exist on the same page [#1123](https://github.com/terrastruct/d2/issues/1123)
- Fix a bug in vertical alignment of appendix lines [#1104](https://github.com/terrastruct/d2/issues/1104)
- Fix precision difference for sketch mode running on different architectures [#921](https://github.com/terrastruct/d2/issues/921)
#### Breaking changes
- `class` and `classes` are now reserved keywords.

View file

@ -0,0 +1,41 @@
Major updates in 0.4.0:
- `classes` and `class` are finally here. No more repeating styles!
- Introducing Grid diagrams. A very popular form of diagramming software architecture.
To showcase both of these, here's a demo with a link to the source code below:
<img width="671" alt="Screen Shot 2023-04-08 at 7 20 04 PM" src="https://user-images.githubusercontent.com/3120367/230750853-5925f8a1-98bc-4f51-b6f7-26ada4534a58.png">
- [Playground link to source code](https://play.d2lang.com/?script=nJRPbvMgEMX3nGIU6Vt-zp82bcoBeg-Mpw4yBhdD0qjK3SvAJMENatWFF8zDjx9vRlwyo7Al4bjKt4FCLRnvCJk6TuGTABz3wiKM744ZjBWAkCqFxSKsgieF9WYVlsEw7QSIzsFlqsQbU-DaqDepj2hq6XLxf_KMlmcSv1pq3iXr2Tl5BhTcMKDhbEzG14HKaSJfw0zHT0zNEGMgV4QzIZ54XYWIaBZOUDZF5aGoPBaVbVF5KirPRWVXVF7uKqRhbYsGULVCTUlPfdmtfGOmn0JXyKwh00ChaJHcJpoFfduTywzkE7BLuTN1gkbzDg1w3Q_MiloiGKes6P8GJ_2DcWH5BWCahXuEAP7pobC3dhjpculXY2XRGDZa47ituO6XDR7-bV7jNarx0KaLcRHRfoZutWwy3p4Zrb_T3pTvB3oUyr9qVXakFMp95KWecT3b1bkajUKLs_pXAAAA__8%3D&sketch=1&)
Bunch of other features, improvements, and bug fixes too. Make sure to check out the updated docs for how to use these new features!
#### Features 🚀
- Classes are implemented. See [docs](https://d2lang.com/tour/classes). [#772](https://github.com/terrastruct/d2/pull/772)
- Grid diagrams are implemented. See [docs](https://d2lang.com/tour/grid-diagrams). [#1122](https://github.com/terrastruct/d2/pull/1122)
- Container with constant key near attribute now can have descendant objects and connections (thank you @donglixiaoche) [#1071](https://github.com/terrastruct/d2/pull/1071)
- Multi-board SVG outputs with internal links go to their output paths [#1116](https://github.com/terrastruct/d2/pull/1116)
#### Improvements 🧹
- Labels on parallel `dagre` connections include a gap between them [#1134](https://github.com/terrastruct/d2/pull/1134)
- Sequence diagram lifelines inherit the actor's `stroke` and `stroke-dash` [#1140](https://github.com/terrastruct/d2/pull/1140)
- Add `text-transform` styling option (thank you @alexstoick for these 2) [#1118](https://github.com/terrastruct/d2/pull/1118)
#### Bugfixes ⛑️
- Fix inheritence in scenarios/steps [#1090](https://github.com/terrastruct/d2/pull/1090)
- Fix a bug in 32bit builds [#1115](https://github.com/terrastruct/d2/issues/1115)
- Fix a bug in ID parsing [#322](https://github.com/terrastruct/d2/issues/322)
- Fix a bug in watch mode parsing SVG [#1119](https://github.com/terrastruct/d2/issues/1119)
- Namespace transitions so that multiple animated D2 diagrams can exist on the same page [#1123](https://github.com/terrastruct/d2/issues/1123)
- Fix a bug in vertical alignment of appendix lines [#1104](https://github.com/terrastruct/d2/issues/1104)
- Fix precision difference for sketch mode running on different architectures [#921](https://github.com/terrastruct/d2/issues/921)
- Fix an issue where markdown fonts weren't being applied correctly [#1132](https://github.com/terrastruct/d2/issues/1132)
#### Breaking changes
- `class` and `classes` are now reserved keywords.
- `text-transform` is now a reserved keyword.

View file

@ -395,7 +395,7 @@ func compile(ctx context.Context, ms *xmain.State, plugin d2plugin.Plugin, rende
} }
var out []byte var out []byte
if len(boards) > 0 { if len(boards) > 0 {
out := boards[0] out = boards[0]
if animateInterval > 0 { if animateInterval > 0 {
out, err = d2animate.Wrap(diagram, boards, renderOpts, int(animateInterval)) out, err = d2animate.Wrap(diagram, boards, renderOpts, int(animateInterval))
if err != nil { if err != nil {

View file

@ -500,6 +500,8 @@ func compileStyleFieldInit(attrs *d2graph.Attributes, f *d2ir.Field) {
attrs.Left = &d2graph.Scalar{MapKey: f.LastPrimaryKey()} attrs.Left = &d2graph.Scalar{MapKey: f.LastPrimaryKey()}
case "double-border": case "double-border":
attrs.Style.DoubleBorder = &d2graph.Scalar{MapKey: f.LastPrimaryKey()} attrs.Style.DoubleBorder = &d2graph.Scalar{MapKey: f.LastPrimaryKey()}
case "text-transform":
attrs.Style.TextTransform = &d2graph.Scalar{MapKey: f.LastPrimaryKey()}
} }
} }

View file

@ -2257,6 +2257,17 @@ layers: {
}`, }`,
expErr: `d2/testdata/d2compiler/TestCompile/link-board-underscore-not-found.d2:7:9: invalid underscore usage`, expErr: `d2/testdata/d2compiler/TestCompile/link-board-underscore-not-found.d2:7:9: invalid underscore usage`,
}, },
{
name: "text-transform",
text: `direction: right
x -> y: hi {
style: {
text-transform: capitalize
}
}
x.style.text-transform: uppercase
y.style.text-transform: lowercase`,
},
{ {
name: "near_near_const", name: "near_near_const",
text: ` text: `

View file

@ -10,6 +10,9 @@ import (
"strconv" "strconv"
"strings" "strings"
"golang.org/x/text/cases"
"golang.org/x/text/language"
"oss.terrastruct.com/util-go/go2" "oss.terrastruct.com/util-go/go2"
"oss.terrastruct.com/d2/d2ast" "oss.terrastruct.com/d2/d2ast"
@ -141,6 +144,25 @@ type Attributes struct {
Classes []string `json:"classes,omitempty"` Classes []string `json:"classes,omitempty"`
} }
// ApplyTextTransform will alter the `Label.Value` of the current object based
// on the specification of the `text-transform` styling option. This function
// has side-effects!
func (a *Attributes) ApplyTextTransform() {
if a.Style.NoneTextTransform() {
return
}
if a.Style.TextTransform != nil && a.Style.TextTransform.Value == "uppercase" {
a.Label.Value = strings.ToUpper(a.Label.Value)
}
if a.Style.TextTransform != nil && a.Style.TextTransform.Value == "lowercase" {
a.Label.Value = strings.ToLower(a.Label.Value)
}
if a.Style.TextTransform != nil && a.Style.TextTransform.Value == "capitalize" {
a.Label.Value = cases.Title(language.Und).String(a.Label.Value)
}
}
// TODO references at the root scope should have their Scope set to root graph AST // TODO references at the root scope should have their Scope set to root graph AST
type Reference struct { type Reference struct {
Key *d2ast.KeyPath `json:"key"` Key *d2ast.KeyPath `json:"key"`
@ -161,25 +183,33 @@ func (r Reference) InEdge() bool {
} }
type Style struct { type Style struct {
Opacity *Scalar `json:"opacity,omitempty"` Opacity *Scalar `json:"opacity,omitempty"`
Stroke *Scalar `json:"stroke,omitempty"` Stroke *Scalar `json:"stroke,omitempty"`
Fill *Scalar `json:"fill,omitempty"` Fill *Scalar `json:"fill,omitempty"`
FillPattern *Scalar `json:"fillPattern,omitempty"` FillPattern *Scalar `json:"fillPattern,omitempty"`
StrokeWidth *Scalar `json:"strokeWidth,omitempty"` StrokeWidth *Scalar `json:"strokeWidth,omitempty"`
StrokeDash *Scalar `json:"strokeDash,omitempty"` StrokeDash *Scalar `json:"strokeDash,omitempty"`
BorderRadius *Scalar `json:"borderRadius,omitempty"` BorderRadius *Scalar `json:"borderRadius,omitempty"`
Shadow *Scalar `json:"shadow,omitempty"` Shadow *Scalar `json:"shadow,omitempty"`
ThreeDee *Scalar `json:"3d,omitempty"` ThreeDee *Scalar `json:"3d,omitempty"`
Multiple *Scalar `json:"multiple,omitempty"` Multiple *Scalar `json:"multiple,omitempty"`
Font *Scalar `json:"font,omitempty"` Font *Scalar `json:"font,omitempty"`
FontSize *Scalar `json:"fontSize,omitempty"` FontSize *Scalar `json:"fontSize,omitempty"`
FontColor *Scalar `json:"fontColor,omitempty"` FontColor *Scalar `json:"fontColor,omitempty"`
Animated *Scalar `json:"animated,omitempty"` Animated *Scalar `json:"animated,omitempty"`
Bold *Scalar `json:"bold,omitempty"` Bold *Scalar `json:"bold,omitempty"`
Italic *Scalar `json:"italic,omitempty"` Italic *Scalar `json:"italic,omitempty"`
Underline *Scalar `json:"underline,omitempty"` Underline *Scalar `json:"underline,omitempty"`
Filled *Scalar `json:"filled,omitempty"` Filled *Scalar `json:"filled,omitempty"`
DoubleBorder *Scalar `json:"doubleBorder,omitempty"` DoubleBorder *Scalar `json:"doubleBorder,omitempty"`
TextTransform *Scalar `json:"textTransform,omitempty"`
}
// NoneTextTransform will return a boolean if the text should not have any
// transformation applied. This should overwrite theme specific transformations
// like `CapsLock` from the `terminal` theme.
func (s Style) NoneTextTransform() bool {
return s.TextTransform != nil && s.TextTransform.Value == "none"
} }
func (s *Style) Apply(key, value string) error { func (s *Style) Apply(key, value string) error {
@ -350,6 +380,14 @@ func (s *Style) Apply(key, value string) error {
return errors.New(`expected "double-border" to be true or false`) return errors.New(`expected "double-border" to be true or false`)
} }
s.DoubleBorder.Value = value s.DoubleBorder.Value = value
case "text-transform":
if s.TextTransform == nil {
break
}
if !go2.Contains(textTransforms, strings.ToLower(value)) {
return fmt.Errorf(`expected "text-transform" to be one of (%s)`, strings.Join(textTransforms, ", "))
}
s.TextTransform.Value = value
default: default:
return fmt.Errorf("unknown style key: %s", key) return fmt.Errorf("unknown style key: %s", key)
} }
@ -1329,10 +1367,11 @@ func (g *Graph) SetDimensions(mtexts []*d2target.MText, ruler *textmeasure.Ruler
} }
if g.Theme != nil && g.Theme.SpecialRules.CapsLock && !strings.EqualFold(obj.Attributes.Shape.Value, d2target.ShapeCode) { if g.Theme != nil && g.Theme.SpecialRules.CapsLock && !strings.EqualFold(obj.Attributes.Shape.Value, d2target.ShapeCode) {
if obj.Attributes.Language != "latex" { if obj.Attributes.Language != "latex" && !obj.Attributes.Style.NoneTextTransform() {
obj.Attributes.Label.Value = strings.ToUpper(obj.Attributes.Label.Value) obj.Attributes.Label.Value = strings.ToUpper(obj.Attributes.Label.Value)
} }
} }
obj.Attributes.ApplyTextTransform()
labelDims, err := obj.GetLabelSize(mtexts, ruler, fontFamily) labelDims, err := obj.GetLabelSize(mtexts, ruler, fontFamily)
if err != nil { if err != nil {
@ -1451,9 +1490,11 @@ func (g *Graph) SetDimensions(mtexts []*d2target.MText, ruler *textmeasure.Ruler
continue continue
} }
if g.Theme != nil && g.Theme.SpecialRules.CapsLock { if g.Theme != nil && g.Theme.SpecialRules.CapsLock && !edge.Attributes.Style.NoneTextTransform() {
edge.Attributes.Label.Value = strings.ToUpper(edge.Attributes.Label.Value) edge.Attributes.Label.Value = strings.ToUpper(edge.Attributes.Label.Value)
} }
edge.Attributes.ApplyTextTransform()
usedFont := fontFamily usedFont := fontFamily
if edge.Attributes.Style.Font != nil { if edge.Attributes.Style.Font != nil {
f := d2fonts.D2_FONT_TO_FAMILY[edge.Attributes.Style.Font.Value] f := d2fonts.D2_FONT_TO_FAMILY[edge.Attributes.Style.Font.Value]
@ -1479,9 +1520,10 @@ func (g *Graph) Texts() []*d2target.MText {
for _, obj := range g.Objects { for _, obj := range g.Objects {
if obj.Attributes.Label.Value != "" { if obj.Attributes.Label.Value != "" {
obj.Attributes.ApplyTextTransform()
text := obj.Text() text := obj.Text()
if capsLock && !strings.EqualFold(obj.Attributes.Shape.Value, d2target.ShapeCode) { if capsLock && !strings.EqualFold(obj.Attributes.Shape.Value, d2target.ShapeCode) {
if obj.Attributes.Language != "latex" { if obj.Attributes.Language != "latex" && !obj.Attributes.Style.NoneTextTransform() {
text.Text = strings.ToUpper(text.Text) text.Text = strings.ToUpper(text.Text)
} }
} }
@ -1512,8 +1554,9 @@ func (g *Graph) Texts() []*d2target.MText {
} }
for _, edge := range g.Edges { for _, edge := range g.Edges {
if edge.Attributes.Label.Value != "" { if edge.Attributes.Label.Value != "" {
edge.Attributes.ApplyTextTransform()
text := edge.Text() text := edge.Text()
if capsLock { if capsLock && !edge.Attributes.Style.NoneTextTransform() {
text.Text = strings.ToUpper(text.Text) text.Text = strings.ToUpper(text.Text)
} }
texts = appendTextDedup(texts, text) texts = appendTextDedup(texts, text)
@ -1582,12 +1625,13 @@ var StyleKeywords = map[string]struct{}{
"border-radius": {}, "border-radius": {},
// Only for text // Only for text
"font": {}, "font": {},
"font-size": {}, "font-size": {},
"font-color": {}, "font-color": {},
"bold": {}, "bold": {},
"italic": {}, "italic": {},
"underline": {}, "underline": {},
"text-transform": {},
// Only for shapes // Only for shapes
"shadow": {}, "shadow": {},
@ -1625,6 +1669,8 @@ var FillPatterns = []string{
"paper", "paper",
} }
var textTransforms = []string{"none", "uppercase", "lowercase", "capitalize"}
// BoardKeywords contains the keywords that create new boards. // BoardKeywords contains the keywords that create new boards.
var BoardKeywords = map[string]struct{}{ var BoardKeywords = map[string]struct{}{
"layers": {}, "layers": {},

View file

@ -59,6 +59,9 @@ func Layout(ctx context.Context, g *d2graph.Graph, constantNearGraphs []*d2graph
if processCenters == strings.Contains(d2graph.Key(obj.Attributes.NearKey)[0], "-center") { if processCenters == strings.Contains(d2graph.Key(obj.Attributes.NearKey)[0], "-center") {
// The z-index for constant nears does not matter, as it will not collide // The z-index for constant nears does not matter, as it will not collide
g.Objects = append(g.Objects, tempGraph.Objects...) g.Objects = append(g.Objects, tempGraph.Objects...)
if obj.Parent.Children == nil {
obj.Parent.Children = make(map[string]*d2graph.Object)
}
obj.Parent.Children[strings.ToLower(obj.ID)] = obj obj.Parent.Children[strings.ToLower(obj.ID)] = obj
obj.Parent.ChildrenArray = append(obj.Parent.ChildrenArray, obj) obj.Parent.ChildrenArray = append(obj.Parent.ChildrenArray, obj)
g.Edges = append(g.Edges, tempGraph.Edges...) g.Edges = append(g.Edges, tempGraph.Edges...)

View file

@ -1,4 +1,4 @@
<?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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 1400 710"><svg id="d2-svg" class="d2-1976235645" width="1400" height="710" viewBox="-101 -101 1400 710"><rect x="-101.000000" y="-101.000000" width="1400.000000" height="710.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[ <?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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 1400 710"><svg id="d2-svg" class="d2-1976235645" width="1400" height="710" viewBox="-101 -101 1400 710"><rect x="-101.000000" y="-101.000000" width="1400.000000" height="710.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-1976235645 .text-bold { .d2-1976235645 .text-bold {
font-family: "d2-1976235645-font-bold"; font-family: "d2-1976235645-font-bold";
} }

Before

Width:  |  Height:  |  Size: 127 KiB

After

Width:  |  Height:  |  Size: 127 KiB

View file

@ -1,4 +1,4 @@
<?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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 1400 710"><svg id="d2-svg" class="d2-1976235645" width="1400" height="710" viewBox="-101 -101 1400 710"><rect x="-101.000000" y="-101.000000" width="1400.000000" height="710.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[ <?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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 1400 710"><svg id="d2-svg" class="d2-1976235645" width="1400" height="710" viewBox="-101 -101 1400 710"><rect x="-101.000000" y="-101.000000" width="1400.000000" height="710.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-1976235645 .text-bold { .d2-1976235645 .text-bold {
font-family: "d2-1976235645-font-bold"; font-family: "d2-1976235645-font-bold";
} }

Before

Width:  |  Height:  |  Size: 118 KiB

After

Width:  |  Height:  |  Size: 118 KiB

View file

@ -1,4 +1,4 @@
<?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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 429 799"><svg id="d2-svg" class="d2-1762467727" width="429" height="799" viewBox="-101 -100 429 799"><rect x="-101.000000" y="-100.000000" width="429.000000" height="799.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[ <?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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 429 799"><svg id="d2-svg" class="d2-1762467727" width="429" height="799" viewBox="-101 -100 429 799"><rect x="-101.000000" y="-100.000000" width="429.000000" height="799.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-1762467727 .text { .d2-1762467727 .text {
font-family: "d2-1762467727-font-regular"; font-family: "d2-1762467727-font-regular";
} }

Before

Width:  |  Height:  |  Size: 67 KiB

After

Width:  |  Height:  |  Size: 67 KiB

View file

@ -1,4 +1,4 @@
<?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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 429 799"><svg id="d2-svg" class="d2-1762467727" width="429" height="799" viewBox="-101 -100 429 799"><rect x="-101.000000" y="-100.000000" width="429.000000" height="799.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[ <?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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 429 799"><svg id="d2-svg" class="d2-1762467727" width="429" height="799" viewBox="-101 -100 429 799"><rect x="-101.000000" y="-100.000000" width="429.000000" height="799.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-1762467727 .text { .d2-1762467727 .text {
font-family: "d2-1762467727-font-regular"; font-family: "d2-1762467727-font-regular";
} }

Before

Width:  |  Height:  |  Size: 58 KiB

After

Width:  |  Height:  |  Size: 58 KiB

View file

@ -1,4 +1,4 @@
<?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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 1249 657"><svg id="d2-svg" class="d2-981471403" width="1249" height="657" viewBox="-101 -101 1249 657"><rect x="-101.000000" y="-101.000000" width="1249.000000" height="657.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[ <?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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 1249 657"><svg id="d2-svg" class="d2-981471403" width="1249" height="657" viewBox="-101 -101 1249 657"><rect x="-101.000000" y="-101.000000" width="1249.000000" height="657.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-981471403 .text-bold { .d2-981471403 .text-bold {
font-family: "d2-981471403-font-bold"; font-family: "d2-981471403-font-bold";
} }

Before

Width:  |  Height:  |  Size: 125 KiB

After

Width:  |  Height:  |  Size: 125 KiB

View file

@ -1,4 +1,4 @@
<?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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 1249 657"><svg id="d2-svg" class="d2-981471403" width="1249" height="657" viewBox="-101 -101 1249 657"><rect x="-101.000000" y="-101.000000" width="1249.000000" height="657.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[ <?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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 1249 657"><svg id="d2-svg" class="d2-981471403" width="1249" height="657" viewBox="-101 -101 1249 657"><rect x="-101.000000" y="-101.000000" width="1249.000000" height="657.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-981471403 .text-bold { .d2-981471403 .text-bold {
font-family: "d2-981471403-font-bold"; font-family: "d2-981471403-font-bold";
} }

Before

Width:  |  Height:  |  Size: 115 KiB

After

Width:  |  Height:  |  Size: 115 KiB

View file

@ -1,4 +1,4 @@
<?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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 257 434"><svg id="d2-svg" class="d2-3092019906" width="257" height="434" viewBox="-101 -101 257 434"><rect x="-101.000000" y="-101.000000" width="257.000000" height="434.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[ <?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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 257 434"><svg id="d2-svg" class="d2-3092019906" width="257" height="434" viewBox="-101 -101 257 434"><rect x="-101.000000" y="-101.000000" width="257.000000" height="434.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-3092019906 .text-bold { .d2-3092019906 .text-bold {
font-family: "d2-3092019906-font-bold"; font-family: "d2-3092019906-font-bold";
} }

Before

Width:  |  Height:  |  Size: 52 KiB

After

Width:  |  Height:  |  Size: 52 KiB

View file

@ -1,4 +1,4 @@
<?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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 257 434"><svg id="d2-svg" class="d2-3092019906" width="257" height="434" viewBox="-101 -101 257 434"><rect x="-101.000000" y="-101.000000" width="257.000000" height="434.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[ <?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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 257 434"><svg id="d2-svg" class="d2-3092019906" width="257" height="434" viewBox="-101 -101 257 434"><rect x="-101.000000" y="-101.000000" width="257.000000" height="434.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-3092019906 .text-bold { .d2-3092019906 .text-bold {
font-family: "d2-3092019906-font-bold"; font-family: "d2-3092019906-font-bold";
} }

Before

Width:  |  Height:  |  Size: 42 KiB

After

Width:  |  Height:  |  Size: 42 KiB

View file

@ -1,4 +1,4 @@
<?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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 370 633"><svg id="d2-svg" class="d2-916383956" width="370" height="633" viewBox="-101 -100 370 633"><rect x="-101.000000" y="-100.000000" width="370.000000" height="633.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[ <?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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 370 633"><svg id="d2-svg" class="d2-916383956" width="370" height="633" viewBox="-101 -100 370 633"><rect x="-101.000000" y="-100.000000" width="370.000000" height="633.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-916383956 .text { .d2-916383956 .text {
font-family: "d2-916383956-font-regular"; font-family: "d2-916383956-font-regular";
} }

Before

Width:  |  Height:  |  Size: 62 KiB

After

Width:  |  Height:  |  Size: 62 KiB

View file

@ -1,4 +1,4 @@
<?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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 370 633"><svg id="d2-svg" class="d2-916383956" width="370" height="633" viewBox="-101 -100 370 633"><rect x="-101.000000" y="-100.000000" width="370.000000" height="633.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[ <?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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 370 633"><svg id="d2-svg" class="d2-916383956" width="370" height="633" viewBox="-101 -100 370 633"><rect x="-101.000000" y="-100.000000" width="370.000000" height="633.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-916383956 .text { .d2-916383956 .text {
font-family: "d2-916383956-font-regular"; font-family: "d2-916383956-font-regular";
} }

Before

Width:  |  Height:  |  Size: 53 KiB

After

Width:  |  Height:  |  Size: 53 KiB

View file

@ -1,4 +1,4 @@
<?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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 624 570"><svg id="d2-svg" class="d2-3945613123" width="624" height="570" viewBox="-101 -101 624 570"><rect x="-101.000000" y="-101.000000" width="624.000000" height="570.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[ <?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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 624 570"><svg id="d2-svg" class="d2-3945613123" width="624" height="570" viewBox="-101 -101 624 570"><rect x="-101.000000" y="-101.000000" width="624.000000" height="570.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-3945613123 .text-mono { .d2-3945613123 .text-mono {
font-family: "d2-3945613123-font-mono"; font-family: "d2-3945613123-font-mono";
} }

Before

Width:  |  Height:  |  Size: 53 KiB

After

Width:  |  Height:  |  Size: 53 KiB

View file

@ -1,4 +1,4 @@
<?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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 1416 386"><svg id="d2-svg" class="d2-2363156786" width="1416" height="386" viewBox="-101 -101 1416 386"><rect x="-101.000000" y="-101.000000" width="1416.000000" height="386.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[ <?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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 1416 386"><svg id="d2-svg" class="d2-2363156786" width="1416" height="386" viewBox="-101 -101 1416 386"><rect x="-101.000000" y="-101.000000" width="1416.000000" height="386.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-2363156786 .text { .d2-2363156786 .text {
font-family: "d2-2363156786-font-regular"; font-family: "d2-2363156786-font-regular";
} }

Before

Width:  |  Height:  |  Size: 71 KiB

After

Width:  |  Height:  |  Size: 71 KiB

View file

@ -1,4 +1,4 @@
<?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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 624 570"><svg id="d2-svg" class="d2-3945613123" width="624" height="570" viewBox="-101 -101 624 570"><rect x="-101.000000" y="-101.000000" width="624.000000" height="570.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[ <?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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 624 570"><svg id="d2-svg" class="d2-3945613123" width="624" height="570" viewBox="-101 -101 624 570"><rect x="-101.000000" y="-101.000000" width="624.000000" height="570.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-3945613123 .text-mono { .d2-3945613123 .text-mono {
font-family: "d2-3945613123-font-mono"; font-family: "d2-3945613123-font-mono";
} }

Before

Width:  |  Height:  |  Size: 44 KiB

After

Width:  |  Height:  |  Size: 44 KiB

View file

@ -1,4 +1,4 @@
<?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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 257 457"><svg id="d2-svg" class="d2-4211261339" width="257" height="457" viewBox="-101 -101 257 457"><rect x="-101.000000" y="-101.000000" width="257.000000" height="457.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[ <?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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 257 457"><svg id="d2-svg" class="d2-4211261339" width="257" height="457" viewBox="-101 -101 257 457"><rect x="-101.000000" y="-101.000000" width="257.000000" height="457.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-4211261339 .text-bold { .d2-4211261339 .text-bold {
font-family: "d2-4211261339-font-bold"; font-family: "d2-4211261339-font-bold";
} }

Before

Width:  |  Height:  |  Size: 58 KiB

After

Width:  |  Height:  |  Size: 58 KiB

View file

@ -1,4 +1,4 @@
<?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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 257 457"><svg id="d2-svg" class="d2-4211261339" width="257" height="457" viewBox="-101 -101 257 457"><rect x="-101.000000" y="-101.000000" width="257.000000" height="457.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[ <?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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 257 457"><svg id="d2-svg" class="d2-4211261339" width="257" height="457" viewBox="-101 -101 257 457"><rect x="-101.000000" y="-101.000000" width="257.000000" height="457.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-4211261339 .text-bold { .d2-4211261339 .text-bold {
font-family: "d2-4211261339-font-bold"; font-family: "d2-4211261339-font-bold";
} }

Before

Width:  |  Height:  |  Size: 49 KiB

After

Width:  |  Height:  |  Size: 49 KiB

View file

@ -1,4 +1,4 @@
<?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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 1740 600"><svg id="d2-svg" class="d2-3026542546" width="1740" height="600" viewBox="-101 -101 1740 600"><rect x="-101.000000" y="-101.000000" width="1740.000000" height="600.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[ <?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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 1740 600"><svg id="d2-svg" class="d2-3026542546" width="1740" height="600" viewBox="-101 -101 1740 600"><rect x="-101.000000" y="-101.000000" width="1740.000000" height="600.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-3026542546 .text-bold { .d2-3026542546 .text-bold {
font-family: "d2-3026542546-font-bold"; font-family: "d2-3026542546-font-bold";
} }

Before

Width:  |  Height:  |  Size: 161 KiB

After

Width:  |  Height:  |  Size: 161 KiB

View file

@ -1,4 +1,4 @@
<?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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 1740 600"><svg id="d2-svg" class="d2-3026542546" width="1740" height="600" viewBox="-101 -101 1740 600"><rect x="-101.000000" y="-101.000000" width="1740.000000" height="600.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[ <?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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 1740 600"><svg id="d2-svg" class="d2-3026542546" width="1740" height="600" viewBox="-101 -101 1740 600"><rect x="-101.000000" y="-101.000000" width="1740.000000" height="600.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-3026542546 .text-bold { .d2-3026542546 .text-bold {
font-family: "d2-3026542546-font-bold"; font-family: "d2-3026542546-font-bold";
} }

Before

Width:  |  Height:  |  Size: 152 KiB

After

Width:  |  Height:  |  Size: 152 KiB

View file

@ -1,4 +1,4 @@
<?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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 383 287"><svg id="d2-svg" class="d2-1134711225" width="383" height="287" viewBox="-101 -117 383 287"><rect x="-101.000000" y="-117.000000" width="383.000000" height="287.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[ <?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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 383 287"><svg id="d2-svg" class="d2-1134711225" width="383" height="287" viewBox="-101 -117 383 287"><rect x="-101.000000" y="-117.000000" width="383.000000" height="287.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-1134711225 .text-bold { .d2-1134711225 .text-bold {
font-family: "d2-1134711225-font-bold"; font-family: "d2-1134711225-font-bold";
} }

Before

Width:  |  Height:  |  Size: 51 KiB

After

Width:  |  Height:  |  Size: 51 KiB

View file

@ -1,4 +1,4 @@
<?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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 1400 710"><svg id="d2-svg" class="d2-2992813030" width="1400" height="710" viewBox="-101 -101 1400 710"><rect x="-101.000000" y="-101.000000" width="1400.000000" height="710.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[ <?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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 1400 710"><svg id="d2-svg" class="d2-2992813030" width="1400" height="710" viewBox="-101 -101 1400 710"><rect x="-101.000000" y="-101.000000" width="1400.000000" height="710.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-2992813030 .text-bold { .d2-2992813030 .text-bold {
font-family: "d2-2992813030-font-bold"; font-family: "d2-2992813030-font-bold";
} }

Before

Width:  |  Height:  |  Size: 162 KiB

After

Width:  |  Height:  |  Size: 162 KiB

View file

@ -1,4 +1,4 @@
<?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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 1411 721"><svg id="d2-svg" class="d2-3127969509" width="1411" height="721" viewBox="-101 -112 1411 721"><rect x="-101.000000" y="-112.000000" width="1411.000000" height="721.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[ <?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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 1411 721"><svg id="d2-svg" class="d2-3127969509" width="1411" height="721" viewBox="-101 -112 1411 721"><rect x="-101.000000" y="-112.000000" width="1411.000000" height="721.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-3127969509 .text-bold { .d2-3127969509 .text-bold {
font-family: "d2-3127969509-font-bold"; font-family: "d2-3127969509-font-bold";
} }

Before

Width:  |  Height:  |  Size: 165 KiB

After

Width:  |  Height:  |  Size: 165 KiB

View file

@ -1,4 +1,4 @@
<?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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 1082 1002"><svg id="d2-svg" class="d2-1107823994" width="1082" height="1002" viewBox="-101 -100 1082 1002"><rect x="-101.000000" y="-100.000000" width="1082.000000" height="1002.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[ <?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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 1082 1002"><svg id="d2-svg" class="d2-1107823994" width="1082" height="1002" viewBox="-101 -100 1082 1002"><rect x="-101.000000" y="-100.000000" width="1082.000000" height="1002.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-1107823994 .text-mono { .d2-1107823994 .text-mono {
font-family: "d2-1107823994-font-mono"; font-family: "d2-1107823994-font-mono";
} }

Before

Width:  |  Height:  |  Size: 108 KiB

After

Width:  |  Height:  |  Size: 108 KiB

View file

@ -1,4 +1,4 @@
<?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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 942 367"><svg id="d2-svg" class="d2-3223990890" width="942" height="367" viewBox="-101 -100 942 367"><rect x="-101.000000" y="-100.000000" width="942.000000" height="367.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[ <?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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 942 367"><svg id="d2-svg" class="d2-3223990890" width="942" height="367" viewBox="-101 -100 942 367"><rect x="-101.000000" y="-100.000000" width="942.000000" height="367.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-3223990890 .text { .d2-3223990890 .text {
font-family: "d2-3223990890-font-regular"; font-family: "d2-3223990890-font-regular";
} }

Before

Width:  |  Height:  |  Size: 74 KiB

After

Width:  |  Height:  |  Size: 74 KiB

View file

@ -1,4 +1,4 @@
<?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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 337 560"><svg id="d2-svg" class="d2-1972917360" width="337" height="560" viewBox="-89 -89 337 560"><rect x="-89.000000" y="-89.000000" width="337.000000" height="560.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[ <?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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 337 560"><svg id="d2-svg" class="d2-1972917360" width="337" height="560" viewBox="-89 -89 337 560"><rect x="-89.000000" y="-89.000000" width="337.000000" height="560.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-1972917360 .text-bold { .d2-1972917360 .text-bold {
font-family: "d2-1972917360-font-bold"; font-family: "d2-1972917360-font-bold";
} }

Before

Width:  |  Height:  |  Size: 59 KiB

After

Width:  |  Height:  |  Size: 59 KiB

View file

@ -1,4 +1,4 @@
<?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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 1095 479"><svg id="d2-svg" class="d2-710463437" width="1095" height="479" viewBox="-100 -101 1095 479"><rect x="-100.000000" y="-101.000000" width="1095.000000" height="479.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[ <?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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 1095 479"><svg id="d2-svg" class="d2-710463437" width="1095" height="479" viewBox="-100 -101 1095 479"><rect x="-100.000000" y="-101.000000" width="1095.000000" height="479.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-710463437 .text { .d2-710463437 .text {
font-family: "d2-710463437-font-regular"; font-family: "d2-710463437-font-regular";
} }
@ -103,31 +103,31 @@
.d2-710463437 .color-AA4{color:#EDF0FD;} .d2-710463437 .color-AA4{color:#EDF0FD;}
.d2-710463437 .color-AA5{color:#F7F8FE;} .d2-710463437 .color-AA5{color:#F7F8FE;}
.d2-710463437 .color-AB4{color:#EDF0FD;} .d2-710463437 .color-AB4{color:#EDF0FD;}
.d2-710463437 .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><style type="text/css">.md em, .d2-710463437 .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><style type="text/css">.d2-710463437 .md em,
.md dfn { .d2-710463437 .md dfn {
font-family: "d2-710463437-font-italic"; font-family: "d2-710463437-font-italic";
} }
.md b, .d2-710463437 .md b,
.md strong { .d2-710463437 .md strong {
font-family: "d2-710463437-font-bold"; font-family: "d2-710463437-font-bold";
} }
.md code, .d2-710463437 .md code,
.md kbd, .d2-710463437 .md kbd,
.md pre, .d2-710463437 .md pre,
.md samp { .d2-710463437 .md samp {
font-family: "d2-710463437-font-mono"; font-family: "d2-710463437-font-mono";
font-size: 1em; font-size: 1em;
} }
.md { .d2-710463437 .md {
tab-size: 4; tab-size: 4;
} }
/* variables are provided in d2renderers/d2svg/d2svg.go */ /* variables are provided in d2renderers/d2svg/d2svg.go */
.md { .d2-710463437 .md {
-ms-text-size-adjust: 100%; -ms-text-size-adjust: 100%;
-webkit-text-size-adjust: 100%; -webkit-text-size-adjust: 100%;
margin: 0; margin: 0;
@ -139,41 +139,41 @@
word-wrap: break-word; word-wrap: break-word;
} }
.md details, .d2-710463437 .md details,
.md figcaption, .d2-710463437 .md figcaption,
.md figure { .d2-710463437 .md figure {
display: block; display: block;
} }
.md summary { .d2-710463437 .md summary {
display: list-item; display: list-item;
} }
.md [hidden] { .d2-710463437 .md [hidden] {
display: none !important; display: none !important;
} }
.md a { .d2-710463437 .md a {
background-color: transparent; background-color: transparent;
color: var(--color-accent-fg); color: var(--color-accent-fg);
text-decoration: none; text-decoration: none;
} }
.md a:active, .d2-710463437 .md a:active,
.md a:hover { .d2-710463437 .md a:hover {
outline-width: 0; outline-width: 0;
} }
.md abbr[title] { .d2-710463437 .md abbr[title] {
border-bottom: none; border-bottom: none;
text-decoration: underline dotted; text-decoration: underline dotted;
} }
.md dfn { .d2-710463437 .md dfn {
font-style: italic; font-style: italic;
} }
.md h1 { .d2-710463437 .md h1 {
margin: 0.67em 0; margin: 0.67em 0;
font-weight: 600; font-weight: 600;
padding-bottom: 0.3em; padding-bottom: 0.3em;
@ -181,43 +181,43 @@
border-bottom: 1px solid var(--color-border-muted); border-bottom: 1px solid var(--color-border-muted);
} }
.md mark { .d2-710463437 .md mark {
background-color: var(--color-attention-subtle); background-color: var(--color-attention-subtle);
color: var(--color-text-primary); color: var(--color-text-primary);
} }
.md small { .d2-710463437 .md small {
font-size: 90%; font-size: 90%;
} }
.md sub, .d2-710463437 .md sub,
.md sup { .d2-710463437 .md sup {
font-size: 75%; font-size: 75%;
line-height: 0; line-height: 0;
position: relative; position: relative;
vertical-align: baseline; vertical-align: baseline;
} }
.md sub { .d2-710463437 .md sub {
bottom: -0.25em; bottom: -0.25em;
} }
.md sup { .d2-710463437 .md sup {
top: -0.5em; top: -0.5em;
} }
.md img { .d2-710463437 .md img {
border-style: none; border-style: none;
max-width: 100%; max-width: 100%;
box-sizing: content-box; box-sizing: content-box;
background-color: var(--color-canvas-default); background-color: var(--color-canvas-default);
} }
.md figure { .d2-710463437 .md figure {
margin: 1em 40px; margin: 1em 40px;
} }
.md hr { .d2-710463437 .md hr {
box-sizing: content-box; box-sizing: content-box;
overflow: hidden; overflow: hidden;
background: transparent; background: transparent;
@ -229,7 +229,7 @@
border: 0; border: 0;
} }
.md input { .d2-710463437 .md input {
font: inherit; font: inherit;
margin: 0; margin: 0;
overflow: visible; overflow: visible;
@ -238,72 +238,72 @@
line-height: inherit; line-height: inherit;
} }
.md [type="button"], .d2-710463437 .md [type="button"],
.md [type="reset"], .d2-710463437 .md [type="reset"],
.md [type="submit"] { .d2-710463437 .md [type="submit"] {
-webkit-appearance: button; -webkit-appearance: button;
} }
.md [type="button"]::-moz-focus-inner, .d2-710463437 .md [type="button"]::-moz-focus-inner,
.md [type="reset"]::-moz-focus-inner, .d2-710463437 .md [type="reset"]::-moz-focus-inner,
.md [type="submit"]::-moz-focus-inner { .d2-710463437 .md [type="submit"]::-moz-focus-inner {
border-style: none; border-style: none;
padding: 0; padding: 0;
} }
.md [type="button"]:-moz-focusring, .d2-710463437 .md [type="button"]:-moz-focusring,
.md [type="reset"]:-moz-focusring, .d2-710463437 .md [type="reset"]:-moz-focusring,
.md [type="submit"]:-moz-focusring { .d2-710463437 .md [type="submit"]:-moz-focusring {
outline: 1px dotted ButtonText; outline: 1px dotted ButtonText;
} }
.md [type="checkbox"], .d2-710463437 .md [type="checkbox"],
.md [type="radio"] { .d2-710463437 .md [type="radio"] {
box-sizing: border-box; box-sizing: border-box;
padding: 0; padding: 0;
} }
.md [type="number"]::-webkit-inner-spin-button, .d2-710463437 .md [type="number"]::-webkit-inner-spin-button,
.md [type="number"]::-webkit-outer-spin-button { .d2-710463437 .md [type="number"]::-webkit-outer-spin-button {
height: auto; height: auto;
} }
.md [type="search"] { .d2-710463437 .md [type="search"] {
-webkit-appearance: textfield; -webkit-appearance: textfield;
outline-offset: -2px; outline-offset: -2px;
} }
.md [type="search"]::-webkit-search-cancel-button, .d2-710463437 .md [type="search"]::-webkit-search-cancel-button,
.md [type="search"]::-webkit-search-decoration { .d2-710463437 .md [type="search"]::-webkit-search-decoration {
-webkit-appearance: none; -webkit-appearance: none;
} }
.md ::-webkit-input-placeholder { .d2-710463437 .md ::-webkit-input-placeholder {
color: inherit; color: inherit;
opacity: 0.54; opacity: 0.54;
} }
.md ::-webkit-file-upload-button { .d2-710463437 .md ::-webkit-file-upload-button {
-webkit-appearance: button; -webkit-appearance: button;
font: inherit; font: inherit;
} }
.md a:hover { .d2-710463437 .md a:hover {
text-decoration: underline; text-decoration: underline;
} }
.md hr::before { .d2-710463437 .md hr::before {
display: table; display: table;
content: ""; content: "";
} }
.md hr::after { .d2-710463437 .md hr::after {
display: table; display: table;
clear: both; clear: both;
content: ""; content: "";
} }
.md table { .d2-710463437 .md table {
border-spacing: 0; border-spacing: 0;
border-collapse: collapse; border-collapse: collapse;
display: block; display: block;
@ -312,20 +312,20 @@
overflow: auto; overflow: auto;
} }
.md td, .d2-710463437 .md td,
.md th { .d2-710463437 .md th {
padding: 0; padding: 0;
} }
.md details summary { .d2-710463437 .md details summary {
cursor: pointer; cursor: pointer;
} }
.md details:not([open]) > *:not(summary) { .d2-710463437 .md details:not([open]) > *:not(summary) {
display: none !important; display: none !important;
} }
.md kbd { .d2-710463437 .md kbd {
display: inline-block; display: inline-block;
padding: 3px 5px; padding: 3px 5px;
color: var(--color-fg-default); color: var(--color-fg-default);
@ -337,12 +337,12 @@
box-shadow: inset 0 -1px 0 var(--color-neutral-muted); box-shadow: inset 0 -1px 0 var(--color-neutral-muted);
} }
.md h1, .d2-710463437 .md h1,
.md h2, .d2-710463437 .md h2,
.md h3, .d2-710463437 .md h3,
.md h4, .d2-710463437 .md h4,
.md h5, .d2-710463437 .md h5,
.md h6 { .d2-710463437 .md h6 {
margin-top: 24px; margin-top: 24px;
margin-bottom: 16px; margin-bottom: 16px;
font-weight: 600; font-weight: 600;
@ -350,222 +350,222 @@
font-family: "d2-710463437-font-regular"; font-family: "d2-710463437-font-regular";
} }
.md h2 { .d2-710463437 .md h2 {
font-weight: 600; font-weight: 600;
padding-bottom: 0.3em; padding-bottom: 0.3em;
font-size: 1.5em; font-size: 1.5em;
border-bottom: 1px solid var(--color-border-muted); border-bottom: 1px solid var(--color-border-muted);
} }
.md h3 { .d2-710463437 .md h3 {
font-weight: 600; font-weight: 600;
font-size: 1.25em; font-size: 1.25em;
} }
.md h4 { .d2-710463437 .md h4 {
font-weight: 600; font-weight: 600;
font-size: 1em; font-size: 1em;
} }
.md h5 { .d2-710463437 .md h5 {
font-weight: 600; font-weight: 600;
font-size: 0.875em; font-size: 0.875em;
} }
.md h6 { .d2-710463437 .md h6 {
font-weight: 600; font-weight: 600;
font-size: 0.85em; font-size: 0.85em;
color: var(--color-fg-muted); color: var(--color-fg-muted);
} }
.md p { .d2-710463437 .md p {
margin-top: 0; margin-top: 0;
margin-bottom: 10px; margin-bottom: 10px;
} }
.md blockquote { .d2-710463437 .md blockquote {
margin: 0; margin: 0;
padding: 0 1em; padding: 0 1em;
color: var(--color-fg-muted); color: var(--color-fg-muted);
border-left: 0.25em solid var(--color-border-default); border-left: 0.25em solid var(--color-border-default);
} }
.md ul, .d2-710463437 .md ul,
.md ol { .d2-710463437 .md ol {
margin-top: 0; margin-top: 0;
margin-bottom: 0; margin-bottom: 0;
padding-left: 2em; padding-left: 2em;
} }
.md ol ol, .d2-710463437 .md ol ol,
.md ul ol { .d2-710463437 .md ul ol {
list-style-type: lower-roman; list-style-type: lower-roman;
} }
.md ul ul ol, .d2-710463437 .md ul ul ol,
.md ul ol ol, .d2-710463437 .md ul ol ol,
.md ol ul ol, .d2-710463437 .md ol ul ol,
.md ol ol ol { .d2-710463437 .md ol ol ol {
list-style-type: lower-alpha; list-style-type: lower-alpha;
} }
.md dd { .d2-710463437 .md dd {
margin-left: 0; margin-left: 0;
} }
.md pre { .d2-710463437 .md pre {
margin-top: 0; margin-top: 0;
margin-bottom: 0; margin-bottom: 0;
word-wrap: normal; word-wrap: normal;
} }
.md ::placeholder { .d2-710463437 .md ::placeholder {
color: var(--color-fg-subtle); color: var(--color-fg-subtle);
opacity: 1; opacity: 1;
} }
.md input::-webkit-outer-spin-button, .d2-710463437 .md input::-webkit-outer-spin-button,
.md input::-webkit-inner-spin-button { .d2-710463437 .md input::-webkit-inner-spin-button {
margin: 0; margin: 0;
-webkit-appearance: none; -webkit-appearance: none;
appearance: none; appearance: none;
} }
.md::before { .d2-710463437 .md::before {
display: table; display: table;
content: ""; content: "";
} }
.md::after { .d2-710463437 .md::after {
display: table; display: table;
clear: both; clear: both;
content: ""; content: "";
} }
.md > *:first-child { .d2-710463437 .md > *:first-child {
margin-top: 0 !important; margin-top: 0 !important;
} }
.md > *:last-child { .d2-710463437 .md > *:last-child {
margin-bottom: 0 !important; margin-bottom: 0 !important;
} }
.md a:not([href]) { .d2-710463437 .md a:not([href]) {
color: inherit; color: inherit;
text-decoration: none; text-decoration: none;
} }
.md .absent { .d2-710463437 .md .absent {
color: var(--color-danger-fg); color: var(--color-danger-fg);
} }
.md .anchor { .d2-710463437 .md .anchor {
float: left; float: left;
padding-right: 4px; padding-right: 4px;
margin-left: -20px; margin-left: -20px;
line-height: 1; line-height: 1;
} }
.md .anchor:focus { .d2-710463437 .md .anchor:focus {
outline: none; outline: none;
} }
.md p, .d2-710463437 .md p,
.md blockquote, .d2-710463437 .md blockquote,
.md ul, .d2-710463437 .md ul,
.md ol, .d2-710463437 .md ol,
.md dl, .d2-710463437 .md dl,
.md table, .d2-710463437 .md table,
.md pre, .d2-710463437 .md pre,
.md details { .d2-710463437 .md details {
margin-top: 0; margin-top: 0;
margin-bottom: 16px; margin-bottom: 16px;
} }
.md blockquote > :first-child { .d2-710463437 .md blockquote > :first-child {
margin-top: 0; margin-top: 0;
} }
.md blockquote > :last-child { .d2-710463437 .md blockquote > :last-child {
margin-bottom: 0; margin-bottom: 0;
} }
.md sup > a::before { .d2-710463437 .md sup > a::before {
content: "["; content: "[";
} }
.md sup > a::after { .d2-710463437 .md sup > a::after {
content: "]"; content: "]";
} }
.md h1:hover .anchor, .d2-710463437 .md h1:hover .anchor,
.md h2:hover .anchor, .d2-710463437 .md h2:hover .anchor,
.md h3:hover .anchor, .d2-710463437 .md h3:hover .anchor,
.md h4:hover .anchor, .d2-710463437 .md h4:hover .anchor,
.md h5:hover .anchor, .d2-710463437 .md h5:hover .anchor,
.md h6:hover .anchor { .d2-710463437 .md h6:hover .anchor {
text-decoration: none; text-decoration: none;
} }
.md h1 tt, .d2-710463437 .md h1 tt,
.md h1 code, .d2-710463437 .md h1 code,
.md h2 tt, .d2-710463437 .md h2 tt,
.md h2 code, .d2-710463437 .md h2 code,
.md h3 tt, .d2-710463437 .md h3 tt,
.md h3 code, .d2-710463437 .md h3 code,
.md h4 tt, .d2-710463437 .md h4 tt,
.md h4 code, .d2-710463437 .md h4 code,
.md h5 tt, .d2-710463437 .md h5 tt,
.md h5 code, .d2-710463437 .md h5 code,
.md h6 tt, .d2-710463437 .md h6 tt,
.md h6 code { .d2-710463437 .md h6 code {
padding: 0 0.2em; padding: 0 0.2em;
font-size: inherit; font-size: inherit;
} }
.md ul.no-list, .d2-710463437 .md ul.no-list,
.md ol.no-list { .d2-710463437 .md ol.no-list {
padding: 0; padding: 0;
list-style-type: none; list-style-type: none;
} }
.md ol[type="1"] { .d2-710463437 .md ol[type="1"] {
list-style-type: decimal; list-style-type: decimal;
} }
.md ol[type="a"] { .d2-710463437 .md ol[type="a"] {
list-style-type: lower-alpha; list-style-type: lower-alpha;
} }
.md ol[type="i"] { .d2-710463437 .md ol[type="i"] {
list-style-type: lower-roman; list-style-type: lower-roman;
} }
.md div > ol:not([type]) { .d2-710463437 .md div > ol:not([type]) {
list-style-type: decimal; list-style-type: decimal;
} }
.md ul ul, .d2-710463437 .md ul ul,
.md ul ol, .d2-710463437 .md ul ol,
.md ol ol, .d2-710463437 .md ol ol,
.md ol ul { .d2-710463437 .md ol ul {
margin-top: 0; margin-top: 0;
margin-bottom: 0; margin-bottom: 0;
} }
.md li > p { .d2-710463437 .md li > p {
margin-top: 16px; margin-top: 16px;
} }
.md li + li { .d2-710463437 .md li + li {
margin-top: 0.25em; margin-top: 0.25em;
} }
.md dl { .d2-710463437 .md dl {
padding: 0; padding: 0;
} }
.md dl dt { .d2-710463437 .md dl dt {
padding: 0; padding: 0;
margin-top: 16px; margin-top: 16px;
font-size: 1em; font-size: 1em;
@ -573,48 +573,48 @@
font-weight: 600; font-weight: 600;
} }
.md dl dd { .d2-710463437 .md dl dd {
padding: 0 16px; padding: 0 16px;
margin-bottom: 16px; margin-bottom: 16px;
} }
.md table th { .d2-710463437 .md table th {
font-weight: 600; font-weight: 600;
} }
.md table th, .d2-710463437 .md table th,
.md table td { .d2-710463437 .md table td {
padding: 6px 13px; padding: 6px 13px;
border: 1px solid var(--color-border-default); border: 1px solid var(--color-border-default);
} }
.md table tr { .d2-710463437 .md table tr {
background-color: var(--color-canvas-default); background-color: var(--color-canvas-default);
border-top: 1px solid var(--color-border-muted); border-top: 1px solid var(--color-border-muted);
} }
.md table tr:nth-child(2n) { .d2-710463437 .md table tr:nth-child(2n) {
background-color: var(--color-canvas-subtle); background-color: var(--color-canvas-subtle);
} }
.md table img { .d2-710463437 .md table img {
background-color: transparent; background-color: transparent;
} }
.md img[align="right"] { .d2-710463437 .md img[align="right"] {
padding-left: 20px; padding-left: 20px;
} }
.md img[align="left"] { .d2-710463437 .md img[align="left"] {
padding-right: 20px; padding-right: 20px;
} }
.md span.frame { .d2-710463437 .md span.frame {
display: block; display: block;
overflow: hidden; overflow: hidden;
} }
.md span.frame > span { .d2-710463437 .md span.frame > span {
display: block; display: block;
float: left; float: left;
width: auto; width: auto;
@ -624,81 +624,81 @@
border: 1px solid var(--color-border-default); border: 1px solid var(--color-border-default);
} }
.md span.frame span img { .d2-710463437 .md span.frame span img {
display: block; display: block;
float: left; float: left;
} }
.md span.frame span span { .d2-710463437 .md span.frame span span {
display: block; display: block;
padding: 5px 0 0; padding: 5px 0 0;
clear: both; clear: both;
color: var(--color-fg-default); color: var(--color-fg-default);
} }
.md span.align-center { .d2-710463437 .md span.align-center {
display: block; display: block;
overflow: hidden; overflow: hidden;
clear: both; clear: both;
} }
.md span.align-center > span { .d2-710463437 .md span.align-center > span {
display: block; display: block;
margin: 13px auto 0; margin: 13px auto 0;
overflow: hidden; overflow: hidden;
text-align: center; text-align: center;
} }
.md span.align-center span img { .d2-710463437 .md span.align-center span img {
margin: 0 auto; margin: 0 auto;
text-align: center; text-align: center;
} }
.md span.align-right { .d2-710463437 .md span.align-right {
display: block; display: block;
overflow: hidden; overflow: hidden;
clear: both; clear: both;
} }
.md span.align-right > span { .d2-710463437 .md span.align-right > span {
display: block; display: block;
margin: 13px 0 0; margin: 13px 0 0;
overflow: hidden; overflow: hidden;
text-align: right; text-align: right;
} }
.md span.align-right span img { .d2-710463437 .md span.align-right span img {
margin: 0; margin: 0;
text-align: right; text-align: right;
} }
.md span.float-left { .d2-710463437 .md span.float-left {
display: block; display: block;
float: left; float: left;
margin-right: 13px; margin-right: 13px;
overflow: hidden; overflow: hidden;
} }
.md span.float-left span { .d2-710463437 .md span.float-left span {
margin: 13px 0 0; margin: 13px 0 0;
} }
.md span.float-right { .d2-710463437 .md span.float-right {
display: block; display: block;
float: right; float: right;
margin-left: 13px; margin-left: 13px;
overflow: hidden; overflow: hidden;
} }
.md span.float-right > span { .d2-710463437 .md span.float-right > span {
display: block; display: block;
margin: 13px auto 0; margin: 13px auto 0;
overflow: hidden; overflow: hidden;
text-align: right; text-align: right;
} }
.md code, .d2-710463437 .md code,
.md tt { .d2-710463437 .md tt {
padding: 0.2em 0.4em; padding: 0.2em 0.4em;
margin: 0; margin: 0;
font-size: 85%; font-size: 85%;
@ -706,20 +706,20 @@
border-radius: 6px; border-radius: 6px;
} }
.md code br, .d2-710463437 .md code br,
.md tt br { .d2-710463437 .md tt br {
display: none; display: none;
} }
.md del code { .d2-710463437 .md del code {
text-decoration: inherit; text-decoration: inherit;
} }
.md pre code { .d2-710463437 .md pre code {
font-size: 100%; font-size: 100%;
} }
.md pre > code { .d2-710463437 .md pre > code {
padding: 0; padding: 0;
margin: 0; margin: 0;
word-break: normal; word-break: normal;
@ -728,17 +728,17 @@
border: 0; border: 0;
} }
.md .highlight { .d2-710463437 .md .highlight {
margin-bottom: 16px; margin-bottom: 16px;
} }
.md .highlight pre { .d2-710463437 .md .highlight pre {
margin-bottom: 0; margin-bottom: 0;
word-break: normal; word-break: normal;
} }
.md .highlight pre, .d2-710463437 .md .highlight pre,
.md pre { .d2-710463437 .md pre {
padding: 16px; padding: 16px;
overflow: auto; overflow: auto;
font-size: 85%; font-size: 85%;
@ -747,8 +747,8 @@
border-radius: 6px; border-radius: 6px;
} }
.md pre code, .d2-710463437 .md pre code,
.md pre tt { .d2-710463437 .md pre tt {
display: inline; display: inline;
max-width: auto; max-width: auto;
padding: 0; padding: 0;
@ -760,8 +760,8 @@
border: 0; border: 0;
} }
.md .csv-data td, .d2-710463437 .md .csv-data td,
.md .csv-data th { .d2-710463437 .md .csv-data th {
padding: 5px; padding: 5px;
overflow: hidden; overflow: hidden;
font-size: 12px; font-size: 12px;
@ -770,38 +770,38 @@
white-space: nowrap; white-space: nowrap;
} }
.md .csv-data .blob-num { .d2-710463437 .md .csv-data .blob-num {
padding: 10px 8px 9px; padding: 10px 8px 9px;
text-align: right; text-align: right;
background: var(--color-canvas-default); background: var(--color-canvas-default);
border: 0; border: 0;
} }
.md .csv-data tr { .d2-710463437 .md .csv-data tr {
border-top: 0; border-top: 0;
} }
.md .csv-data th { .d2-710463437 .md .csv-data th {
font-weight: 600; font-weight: 600;
background: var(--color-canvas-subtle); background: var(--color-canvas-subtle);
border-top: 0; border-top: 0;
} }
.md .footnotes { .d2-710463437 .md .footnotes {
font-size: 12px; font-size: 12px;
color: var(--color-fg-muted); color: var(--color-fg-muted);
border-top: 1px solid var(--color-border-default); border-top: 1px solid var(--color-border-default);
} }
.md .footnotes ol { .d2-710463437 .md .footnotes ol {
padding-left: 16px; padding-left: 16px;
} }
.md .footnotes li { .d2-710463437 .md .footnotes li {
position: relative; position: relative;
} }
.md .footnotes li:target::before { .d2-710463437 .md .footnotes li:target::before {
position: absolute; position: absolute;
top: -8px; top: -8px;
right: -8px; right: -8px;
@ -813,36 +813,36 @@
border-radius: 6px; border-radius: 6px;
} }
.md .footnotes li:target { .d2-710463437 .md .footnotes li:target {
color: var(--color-fg-default); color: var(--color-fg-default);
} }
.md .task-list-item { .d2-710463437 .md .task-list-item {
list-style-type: none; list-style-type: none;
} }
.md .task-list-item label { .d2-710463437 .md .task-list-item label {
font-weight: 400; font-weight: 400;
} }
.md .task-list-item.enabled label { .d2-710463437 .md .task-list-item.enabled label {
cursor: pointer; cursor: pointer;
} }
.md .task-list-item + .task-list-item { .d2-710463437 .md .task-list-item + .task-list-item {
margin-top: 3px; margin-top: 3px;
} }
.md .task-list-item .handle { .d2-710463437 .md .task-list-item .handle {
display: none; display: none;
} }
.md .task-list-item-checkbox { .d2-710463437 .md .task-list-item-checkbox {
margin: 0 0.2em 0.25em -1.6em; margin: 0 0.2em 0.25em -1.6em;
vertical-align: middle; vertical-align: middle;
} }
.md .contains-task-list:dir(rtl) .task-list-item-checkbox { .d2-710463437 .md .contains-task-list:dir(rtl) .task-list-item-checkbox {
margin: 0 -1.6em 0.25em 0.2em; margin: 0 -1.6em 0.25em 0.2em;
} }
</style><defs><pattern id="streaks-bright" x="0" y="0" width="100" height="100" patternUnits="userSpaceOnUse"> </style><defs><pattern id="streaks-bright" x="0" y="0" width="100" height="100" patternUnits="userSpaceOnUse">

Before

Width:  |  Height:  |  Size: 89 KiB

After

Width:  |  Height:  |  Size: 91 KiB

View file

@ -1,4 +1,4 @@
<?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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 1095 479"><svg id="d2-svg" class="d2-710463437" width="1095" height="479" viewBox="-100 -101 1095 479"><rect x="-100.000000" y="-101.000000" width="1095.000000" height="479.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[ <?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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 1095 479"><svg id="d2-svg" class="d2-710463437" width="1095" height="479" viewBox="-100 -101 1095 479"><rect x="-100.000000" y="-101.000000" width="1095.000000" height="479.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-710463437 .text { .d2-710463437 .text {
font-family: "d2-710463437-font-regular"; font-family: "d2-710463437-font-regular";
} }
@ -103,31 +103,31 @@
.d2-710463437 .color-AA4{color:#45475A;} .d2-710463437 .color-AA4{color:#45475A;}
.d2-710463437 .color-AA5{color:#313244;} .d2-710463437 .color-AA5{color:#313244;}
.d2-710463437 .color-AB4{color:#45475A;} .d2-710463437 .color-AB4{color:#45475A;}
.d2-710463437 .color-AB5{color:#313244;}.appendix text.text{fill:#CDD6F4}.md{--color-fg-default:#CDD6F4;--color-fg-muted:#BAC2DE;--color-fg-subtle:#A6ADC8;--color-canvas-default:#1E1E2E;--color-canvas-subtle:#313244;--color-border-default:#CBA6f7;--color-border-muted:#CBA6f7;--color-neutral-muted:#313244;--color-accent-fg:#CBA6f7;--color-accent-emphasis:#CBA6f7;--color-attention-subtle:#BAC2DE;--color-danger-fg:red;}.sketch-overlay-B1{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-B2{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-B3{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-B4{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-B5{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-B6{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-AA2{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-AA4{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-AA5{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-AB4{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-AB5{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-N1{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N2{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N3{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N4{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-N5{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-N6{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-N7{fill:url(#streaks-darker);mix-blend-mode:lighten}.light-code{display: none}.dark-code{display: block}]]></style><style type="text/css">.md em, .d2-710463437 .color-AB5{color:#313244;}.appendix text.text{fill:#CDD6F4}.md{--color-fg-default:#CDD6F4;--color-fg-muted:#BAC2DE;--color-fg-subtle:#A6ADC8;--color-canvas-default:#1E1E2E;--color-canvas-subtle:#313244;--color-border-default:#CBA6f7;--color-border-muted:#CBA6f7;--color-neutral-muted:#313244;--color-accent-fg:#CBA6f7;--color-accent-emphasis:#CBA6f7;--color-attention-subtle:#BAC2DE;--color-danger-fg:red;}.sketch-overlay-B1{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-B2{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-B3{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-B4{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-B5{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-B6{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-AA2{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-AA4{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-AA5{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-AB4{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-AB5{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-N1{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N2{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N3{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N4{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-N5{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-N6{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-N7{fill:url(#streaks-darker);mix-blend-mode:lighten}.light-code{display: none}.dark-code{display: block}]]></style><style type="text/css">.d2-710463437 .md em,
.md dfn { .d2-710463437 .md dfn {
font-family: "d2-710463437-font-italic"; font-family: "d2-710463437-font-italic";
} }
.md b, .d2-710463437 .md b,
.md strong { .d2-710463437 .md strong {
font-family: "d2-710463437-font-bold"; font-family: "d2-710463437-font-bold";
} }
.md code, .d2-710463437 .md code,
.md kbd, .d2-710463437 .md kbd,
.md pre, .d2-710463437 .md pre,
.md samp { .d2-710463437 .md samp {
font-family: "d2-710463437-font-mono"; font-family: "d2-710463437-font-mono";
font-size: 1em; font-size: 1em;
} }
.md { .d2-710463437 .md {
tab-size: 4; tab-size: 4;
} }
/* variables are provided in d2renderers/d2svg/d2svg.go */ /* variables are provided in d2renderers/d2svg/d2svg.go */
.md { .d2-710463437 .md {
-ms-text-size-adjust: 100%; -ms-text-size-adjust: 100%;
-webkit-text-size-adjust: 100%; -webkit-text-size-adjust: 100%;
margin: 0; margin: 0;
@ -139,41 +139,41 @@
word-wrap: break-word; word-wrap: break-word;
} }
.md details, .d2-710463437 .md details,
.md figcaption, .d2-710463437 .md figcaption,
.md figure { .d2-710463437 .md figure {
display: block; display: block;
} }
.md summary { .d2-710463437 .md summary {
display: list-item; display: list-item;
} }
.md [hidden] { .d2-710463437 .md [hidden] {
display: none !important; display: none !important;
} }
.md a { .d2-710463437 .md a {
background-color: transparent; background-color: transparent;
color: var(--color-accent-fg); color: var(--color-accent-fg);
text-decoration: none; text-decoration: none;
} }
.md a:active, .d2-710463437 .md a:active,
.md a:hover { .d2-710463437 .md a:hover {
outline-width: 0; outline-width: 0;
} }
.md abbr[title] { .d2-710463437 .md abbr[title] {
border-bottom: none; border-bottom: none;
text-decoration: underline dotted; text-decoration: underline dotted;
} }
.md dfn { .d2-710463437 .md dfn {
font-style: italic; font-style: italic;
} }
.md h1 { .d2-710463437 .md h1 {
margin: 0.67em 0; margin: 0.67em 0;
font-weight: 600; font-weight: 600;
padding-bottom: 0.3em; padding-bottom: 0.3em;
@ -181,43 +181,43 @@
border-bottom: 1px solid var(--color-border-muted); border-bottom: 1px solid var(--color-border-muted);
} }
.md mark { .d2-710463437 .md mark {
background-color: var(--color-attention-subtle); background-color: var(--color-attention-subtle);
color: var(--color-text-primary); color: var(--color-text-primary);
} }
.md small { .d2-710463437 .md small {
font-size: 90%; font-size: 90%;
} }
.md sub, .d2-710463437 .md sub,
.md sup { .d2-710463437 .md sup {
font-size: 75%; font-size: 75%;
line-height: 0; line-height: 0;
position: relative; position: relative;
vertical-align: baseline; vertical-align: baseline;
} }
.md sub { .d2-710463437 .md sub {
bottom: -0.25em; bottom: -0.25em;
} }
.md sup { .d2-710463437 .md sup {
top: -0.5em; top: -0.5em;
} }
.md img { .d2-710463437 .md img {
border-style: none; border-style: none;
max-width: 100%; max-width: 100%;
box-sizing: content-box; box-sizing: content-box;
background-color: var(--color-canvas-default); background-color: var(--color-canvas-default);
} }
.md figure { .d2-710463437 .md figure {
margin: 1em 40px; margin: 1em 40px;
} }
.md hr { .d2-710463437 .md hr {
box-sizing: content-box; box-sizing: content-box;
overflow: hidden; overflow: hidden;
background: transparent; background: transparent;
@ -229,7 +229,7 @@
border: 0; border: 0;
} }
.md input { .d2-710463437 .md input {
font: inherit; font: inherit;
margin: 0; margin: 0;
overflow: visible; overflow: visible;
@ -238,72 +238,72 @@
line-height: inherit; line-height: inherit;
} }
.md [type="button"], .d2-710463437 .md [type="button"],
.md [type="reset"], .d2-710463437 .md [type="reset"],
.md [type="submit"] { .d2-710463437 .md [type="submit"] {
-webkit-appearance: button; -webkit-appearance: button;
} }
.md [type="button"]::-moz-focus-inner, .d2-710463437 .md [type="button"]::-moz-focus-inner,
.md [type="reset"]::-moz-focus-inner, .d2-710463437 .md [type="reset"]::-moz-focus-inner,
.md [type="submit"]::-moz-focus-inner { .d2-710463437 .md [type="submit"]::-moz-focus-inner {
border-style: none; border-style: none;
padding: 0; padding: 0;
} }
.md [type="button"]:-moz-focusring, .d2-710463437 .md [type="button"]:-moz-focusring,
.md [type="reset"]:-moz-focusring, .d2-710463437 .md [type="reset"]:-moz-focusring,
.md [type="submit"]:-moz-focusring { .d2-710463437 .md [type="submit"]:-moz-focusring {
outline: 1px dotted ButtonText; outline: 1px dotted ButtonText;
} }
.md [type="checkbox"], .d2-710463437 .md [type="checkbox"],
.md [type="radio"] { .d2-710463437 .md [type="radio"] {
box-sizing: border-box; box-sizing: border-box;
padding: 0; padding: 0;
} }
.md [type="number"]::-webkit-inner-spin-button, .d2-710463437 .md [type="number"]::-webkit-inner-spin-button,
.md [type="number"]::-webkit-outer-spin-button { .d2-710463437 .md [type="number"]::-webkit-outer-spin-button {
height: auto; height: auto;
} }
.md [type="search"] { .d2-710463437 .md [type="search"] {
-webkit-appearance: textfield; -webkit-appearance: textfield;
outline-offset: -2px; outline-offset: -2px;
} }
.md [type="search"]::-webkit-search-cancel-button, .d2-710463437 .md [type="search"]::-webkit-search-cancel-button,
.md [type="search"]::-webkit-search-decoration { .d2-710463437 .md [type="search"]::-webkit-search-decoration {
-webkit-appearance: none; -webkit-appearance: none;
} }
.md ::-webkit-input-placeholder { .d2-710463437 .md ::-webkit-input-placeholder {
color: inherit; color: inherit;
opacity: 0.54; opacity: 0.54;
} }
.md ::-webkit-file-upload-button { .d2-710463437 .md ::-webkit-file-upload-button {
-webkit-appearance: button; -webkit-appearance: button;
font: inherit; font: inherit;
} }
.md a:hover { .d2-710463437 .md a:hover {
text-decoration: underline; text-decoration: underline;
} }
.md hr::before { .d2-710463437 .md hr::before {
display: table; display: table;
content: ""; content: "";
} }
.md hr::after { .d2-710463437 .md hr::after {
display: table; display: table;
clear: both; clear: both;
content: ""; content: "";
} }
.md table { .d2-710463437 .md table {
border-spacing: 0; border-spacing: 0;
border-collapse: collapse; border-collapse: collapse;
display: block; display: block;
@ -312,20 +312,20 @@
overflow: auto; overflow: auto;
} }
.md td, .d2-710463437 .md td,
.md th { .d2-710463437 .md th {
padding: 0; padding: 0;
} }
.md details summary { .d2-710463437 .md details summary {
cursor: pointer; cursor: pointer;
} }
.md details:not([open]) > *:not(summary) { .d2-710463437 .md details:not([open]) > *:not(summary) {
display: none !important; display: none !important;
} }
.md kbd { .d2-710463437 .md kbd {
display: inline-block; display: inline-block;
padding: 3px 5px; padding: 3px 5px;
color: var(--color-fg-default); color: var(--color-fg-default);
@ -337,12 +337,12 @@
box-shadow: inset 0 -1px 0 var(--color-neutral-muted); box-shadow: inset 0 -1px 0 var(--color-neutral-muted);
} }
.md h1, .d2-710463437 .md h1,
.md h2, .d2-710463437 .md h2,
.md h3, .d2-710463437 .md h3,
.md h4, .d2-710463437 .md h4,
.md h5, .d2-710463437 .md h5,
.md h6 { .d2-710463437 .md h6 {
margin-top: 24px; margin-top: 24px;
margin-bottom: 16px; margin-bottom: 16px;
font-weight: 600; font-weight: 600;
@ -350,222 +350,222 @@
font-family: "d2-710463437-font-regular"; font-family: "d2-710463437-font-regular";
} }
.md h2 { .d2-710463437 .md h2 {
font-weight: 600; font-weight: 600;
padding-bottom: 0.3em; padding-bottom: 0.3em;
font-size: 1.5em; font-size: 1.5em;
border-bottom: 1px solid var(--color-border-muted); border-bottom: 1px solid var(--color-border-muted);
} }
.md h3 { .d2-710463437 .md h3 {
font-weight: 600; font-weight: 600;
font-size: 1.25em; font-size: 1.25em;
} }
.md h4 { .d2-710463437 .md h4 {
font-weight: 600; font-weight: 600;
font-size: 1em; font-size: 1em;
} }
.md h5 { .d2-710463437 .md h5 {
font-weight: 600; font-weight: 600;
font-size: 0.875em; font-size: 0.875em;
} }
.md h6 { .d2-710463437 .md h6 {
font-weight: 600; font-weight: 600;
font-size: 0.85em; font-size: 0.85em;
color: var(--color-fg-muted); color: var(--color-fg-muted);
} }
.md p { .d2-710463437 .md p {
margin-top: 0; margin-top: 0;
margin-bottom: 10px; margin-bottom: 10px;
} }
.md blockquote { .d2-710463437 .md blockquote {
margin: 0; margin: 0;
padding: 0 1em; padding: 0 1em;
color: var(--color-fg-muted); color: var(--color-fg-muted);
border-left: 0.25em solid var(--color-border-default); border-left: 0.25em solid var(--color-border-default);
} }
.md ul, .d2-710463437 .md ul,
.md ol { .d2-710463437 .md ol {
margin-top: 0; margin-top: 0;
margin-bottom: 0; margin-bottom: 0;
padding-left: 2em; padding-left: 2em;
} }
.md ol ol, .d2-710463437 .md ol ol,
.md ul ol { .d2-710463437 .md ul ol {
list-style-type: lower-roman; list-style-type: lower-roman;
} }
.md ul ul ol, .d2-710463437 .md ul ul ol,
.md ul ol ol, .d2-710463437 .md ul ol ol,
.md ol ul ol, .d2-710463437 .md ol ul ol,
.md ol ol ol { .d2-710463437 .md ol ol ol {
list-style-type: lower-alpha; list-style-type: lower-alpha;
} }
.md dd { .d2-710463437 .md dd {
margin-left: 0; margin-left: 0;
} }
.md pre { .d2-710463437 .md pre {
margin-top: 0; margin-top: 0;
margin-bottom: 0; margin-bottom: 0;
word-wrap: normal; word-wrap: normal;
} }
.md ::placeholder { .d2-710463437 .md ::placeholder {
color: var(--color-fg-subtle); color: var(--color-fg-subtle);
opacity: 1; opacity: 1;
} }
.md input::-webkit-outer-spin-button, .d2-710463437 .md input::-webkit-outer-spin-button,
.md input::-webkit-inner-spin-button { .d2-710463437 .md input::-webkit-inner-spin-button {
margin: 0; margin: 0;
-webkit-appearance: none; -webkit-appearance: none;
appearance: none; appearance: none;
} }
.md::before { .d2-710463437 .md::before {
display: table; display: table;
content: ""; content: "";
} }
.md::after { .d2-710463437 .md::after {
display: table; display: table;
clear: both; clear: both;
content: ""; content: "";
} }
.md > *:first-child { .d2-710463437 .md > *:first-child {
margin-top: 0 !important; margin-top: 0 !important;
} }
.md > *:last-child { .d2-710463437 .md > *:last-child {
margin-bottom: 0 !important; margin-bottom: 0 !important;
} }
.md a:not([href]) { .d2-710463437 .md a:not([href]) {
color: inherit; color: inherit;
text-decoration: none; text-decoration: none;
} }
.md .absent { .d2-710463437 .md .absent {
color: var(--color-danger-fg); color: var(--color-danger-fg);
} }
.md .anchor { .d2-710463437 .md .anchor {
float: left; float: left;
padding-right: 4px; padding-right: 4px;
margin-left: -20px; margin-left: -20px;
line-height: 1; line-height: 1;
} }
.md .anchor:focus { .d2-710463437 .md .anchor:focus {
outline: none; outline: none;
} }
.md p, .d2-710463437 .md p,
.md blockquote, .d2-710463437 .md blockquote,
.md ul, .d2-710463437 .md ul,
.md ol, .d2-710463437 .md ol,
.md dl, .d2-710463437 .md dl,
.md table, .d2-710463437 .md table,
.md pre, .d2-710463437 .md pre,
.md details { .d2-710463437 .md details {
margin-top: 0; margin-top: 0;
margin-bottom: 16px; margin-bottom: 16px;
} }
.md blockquote > :first-child { .d2-710463437 .md blockquote > :first-child {
margin-top: 0; margin-top: 0;
} }
.md blockquote > :last-child { .d2-710463437 .md blockquote > :last-child {
margin-bottom: 0; margin-bottom: 0;
} }
.md sup > a::before { .d2-710463437 .md sup > a::before {
content: "["; content: "[";
} }
.md sup > a::after { .d2-710463437 .md sup > a::after {
content: "]"; content: "]";
} }
.md h1:hover .anchor, .d2-710463437 .md h1:hover .anchor,
.md h2:hover .anchor, .d2-710463437 .md h2:hover .anchor,
.md h3:hover .anchor, .d2-710463437 .md h3:hover .anchor,
.md h4:hover .anchor, .d2-710463437 .md h4:hover .anchor,
.md h5:hover .anchor, .d2-710463437 .md h5:hover .anchor,
.md h6:hover .anchor { .d2-710463437 .md h6:hover .anchor {
text-decoration: none; text-decoration: none;
} }
.md h1 tt, .d2-710463437 .md h1 tt,
.md h1 code, .d2-710463437 .md h1 code,
.md h2 tt, .d2-710463437 .md h2 tt,
.md h2 code, .d2-710463437 .md h2 code,
.md h3 tt, .d2-710463437 .md h3 tt,
.md h3 code, .d2-710463437 .md h3 code,
.md h4 tt, .d2-710463437 .md h4 tt,
.md h4 code, .d2-710463437 .md h4 code,
.md h5 tt, .d2-710463437 .md h5 tt,
.md h5 code, .d2-710463437 .md h5 code,
.md h6 tt, .d2-710463437 .md h6 tt,
.md h6 code { .d2-710463437 .md h6 code {
padding: 0 0.2em; padding: 0 0.2em;
font-size: inherit; font-size: inherit;
} }
.md ul.no-list, .d2-710463437 .md ul.no-list,
.md ol.no-list { .d2-710463437 .md ol.no-list {
padding: 0; padding: 0;
list-style-type: none; list-style-type: none;
} }
.md ol[type="1"] { .d2-710463437 .md ol[type="1"] {
list-style-type: decimal; list-style-type: decimal;
} }
.md ol[type="a"] { .d2-710463437 .md ol[type="a"] {
list-style-type: lower-alpha; list-style-type: lower-alpha;
} }
.md ol[type="i"] { .d2-710463437 .md ol[type="i"] {
list-style-type: lower-roman; list-style-type: lower-roman;
} }
.md div > ol:not([type]) { .d2-710463437 .md div > ol:not([type]) {
list-style-type: decimal; list-style-type: decimal;
} }
.md ul ul, .d2-710463437 .md ul ul,
.md ul ol, .d2-710463437 .md ul ol,
.md ol ol, .d2-710463437 .md ol ol,
.md ol ul { .d2-710463437 .md ol ul {
margin-top: 0; margin-top: 0;
margin-bottom: 0; margin-bottom: 0;
} }
.md li > p { .d2-710463437 .md li > p {
margin-top: 16px; margin-top: 16px;
} }
.md li + li { .d2-710463437 .md li + li {
margin-top: 0.25em; margin-top: 0.25em;
} }
.md dl { .d2-710463437 .md dl {
padding: 0; padding: 0;
} }
.md dl dt { .d2-710463437 .md dl dt {
padding: 0; padding: 0;
margin-top: 16px; margin-top: 16px;
font-size: 1em; font-size: 1em;
@ -573,48 +573,48 @@
font-weight: 600; font-weight: 600;
} }
.md dl dd { .d2-710463437 .md dl dd {
padding: 0 16px; padding: 0 16px;
margin-bottom: 16px; margin-bottom: 16px;
} }
.md table th { .d2-710463437 .md table th {
font-weight: 600; font-weight: 600;
} }
.md table th, .d2-710463437 .md table th,
.md table td { .d2-710463437 .md table td {
padding: 6px 13px; padding: 6px 13px;
border: 1px solid var(--color-border-default); border: 1px solid var(--color-border-default);
} }
.md table tr { .d2-710463437 .md table tr {
background-color: var(--color-canvas-default); background-color: var(--color-canvas-default);
border-top: 1px solid var(--color-border-muted); border-top: 1px solid var(--color-border-muted);
} }
.md table tr:nth-child(2n) { .d2-710463437 .md table tr:nth-child(2n) {
background-color: var(--color-canvas-subtle); background-color: var(--color-canvas-subtle);
} }
.md table img { .d2-710463437 .md table img {
background-color: transparent; background-color: transparent;
} }
.md img[align="right"] { .d2-710463437 .md img[align="right"] {
padding-left: 20px; padding-left: 20px;
} }
.md img[align="left"] { .d2-710463437 .md img[align="left"] {
padding-right: 20px; padding-right: 20px;
} }
.md span.frame { .d2-710463437 .md span.frame {
display: block; display: block;
overflow: hidden; overflow: hidden;
} }
.md span.frame > span { .d2-710463437 .md span.frame > span {
display: block; display: block;
float: left; float: left;
width: auto; width: auto;
@ -624,81 +624,81 @@
border: 1px solid var(--color-border-default); border: 1px solid var(--color-border-default);
} }
.md span.frame span img { .d2-710463437 .md span.frame span img {
display: block; display: block;
float: left; float: left;
} }
.md span.frame span span { .d2-710463437 .md span.frame span span {
display: block; display: block;
padding: 5px 0 0; padding: 5px 0 0;
clear: both; clear: both;
color: var(--color-fg-default); color: var(--color-fg-default);
} }
.md span.align-center { .d2-710463437 .md span.align-center {
display: block; display: block;
overflow: hidden; overflow: hidden;
clear: both; clear: both;
} }
.md span.align-center > span { .d2-710463437 .md span.align-center > span {
display: block; display: block;
margin: 13px auto 0; margin: 13px auto 0;
overflow: hidden; overflow: hidden;
text-align: center; text-align: center;
} }
.md span.align-center span img { .d2-710463437 .md span.align-center span img {
margin: 0 auto; margin: 0 auto;
text-align: center; text-align: center;
} }
.md span.align-right { .d2-710463437 .md span.align-right {
display: block; display: block;
overflow: hidden; overflow: hidden;
clear: both; clear: both;
} }
.md span.align-right > span { .d2-710463437 .md span.align-right > span {
display: block; display: block;
margin: 13px 0 0; margin: 13px 0 0;
overflow: hidden; overflow: hidden;
text-align: right; text-align: right;
} }
.md span.align-right span img { .d2-710463437 .md span.align-right span img {
margin: 0; margin: 0;
text-align: right; text-align: right;
} }
.md span.float-left { .d2-710463437 .md span.float-left {
display: block; display: block;
float: left; float: left;
margin-right: 13px; margin-right: 13px;
overflow: hidden; overflow: hidden;
} }
.md span.float-left span { .d2-710463437 .md span.float-left span {
margin: 13px 0 0; margin: 13px 0 0;
} }
.md span.float-right { .d2-710463437 .md span.float-right {
display: block; display: block;
float: right; float: right;
margin-left: 13px; margin-left: 13px;
overflow: hidden; overflow: hidden;
} }
.md span.float-right > span { .d2-710463437 .md span.float-right > span {
display: block; display: block;
margin: 13px auto 0; margin: 13px auto 0;
overflow: hidden; overflow: hidden;
text-align: right; text-align: right;
} }
.md code, .d2-710463437 .md code,
.md tt { .d2-710463437 .md tt {
padding: 0.2em 0.4em; padding: 0.2em 0.4em;
margin: 0; margin: 0;
font-size: 85%; font-size: 85%;
@ -706,20 +706,20 @@
border-radius: 6px; border-radius: 6px;
} }
.md code br, .d2-710463437 .md code br,
.md tt br { .d2-710463437 .md tt br {
display: none; display: none;
} }
.md del code { .d2-710463437 .md del code {
text-decoration: inherit; text-decoration: inherit;
} }
.md pre code { .d2-710463437 .md pre code {
font-size: 100%; font-size: 100%;
} }
.md pre > code { .d2-710463437 .md pre > code {
padding: 0; padding: 0;
margin: 0; margin: 0;
word-break: normal; word-break: normal;
@ -728,17 +728,17 @@
border: 0; border: 0;
} }
.md .highlight { .d2-710463437 .md .highlight {
margin-bottom: 16px; margin-bottom: 16px;
} }
.md .highlight pre { .d2-710463437 .md .highlight pre {
margin-bottom: 0; margin-bottom: 0;
word-break: normal; word-break: normal;
} }
.md .highlight pre, .d2-710463437 .md .highlight pre,
.md pre { .d2-710463437 .md pre {
padding: 16px; padding: 16px;
overflow: auto; overflow: auto;
font-size: 85%; font-size: 85%;
@ -747,8 +747,8 @@
border-radius: 6px; border-radius: 6px;
} }
.md pre code, .d2-710463437 .md pre code,
.md pre tt { .d2-710463437 .md pre tt {
display: inline; display: inline;
max-width: auto; max-width: auto;
padding: 0; padding: 0;
@ -760,8 +760,8 @@
border: 0; border: 0;
} }
.md .csv-data td, .d2-710463437 .md .csv-data td,
.md .csv-data th { .d2-710463437 .md .csv-data th {
padding: 5px; padding: 5px;
overflow: hidden; overflow: hidden;
font-size: 12px; font-size: 12px;
@ -770,38 +770,38 @@
white-space: nowrap; white-space: nowrap;
} }
.md .csv-data .blob-num { .d2-710463437 .md .csv-data .blob-num {
padding: 10px 8px 9px; padding: 10px 8px 9px;
text-align: right; text-align: right;
background: var(--color-canvas-default); background: var(--color-canvas-default);
border: 0; border: 0;
} }
.md .csv-data tr { .d2-710463437 .md .csv-data tr {
border-top: 0; border-top: 0;
} }
.md .csv-data th { .d2-710463437 .md .csv-data th {
font-weight: 600; font-weight: 600;
background: var(--color-canvas-subtle); background: var(--color-canvas-subtle);
border-top: 0; border-top: 0;
} }
.md .footnotes { .d2-710463437 .md .footnotes {
font-size: 12px; font-size: 12px;
color: var(--color-fg-muted); color: var(--color-fg-muted);
border-top: 1px solid var(--color-border-default); border-top: 1px solid var(--color-border-default);
} }
.md .footnotes ol { .d2-710463437 .md .footnotes ol {
padding-left: 16px; padding-left: 16px;
} }
.md .footnotes li { .d2-710463437 .md .footnotes li {
position: relative; position: relative;
} }
.md .footnotes li:target::before { .d2-710463437 .md .footnotes li:target::before {
position: absolute; position: absolute;
top: -8px; top: -8px;
right: -8px; right: -8px;
@ -813,36 +813,36 @@
border-radius: 6px; border-radius: 6px;
} }
.md .footnotes li:target { .d2-710463437 .md .footnotes li:target {
color: var(--color-fg-default); color: var(--color-fg-default);
} }
.md .task-list-item { .d2-710463437 .md .task-list-item {
list-style-type: none; list-style-type: none;
} }
.md .task-list-item label { .d2-710463437 .md .task-list-item label {
font-weight: 400; font-weight: 400;
} }
.md .task-list-item.enabled label { .d2-710463437 .md .task-list-item.enabled label {
cursor: pointer; cursor: pointer;
} }
.md .task-list-item + .task-list-item { .d2-710463437 .md .task-list-item + .task-list-item {
margin-top: 3px; margin-top: 3px;
} }
.md .task-list-item .handle { .d2-710463437 .md .task-list-item .handle {
display: none; display: none;
} }
.md .task-list-item-checkbox { .d2-710463437 .md .task-list-item-checkbox {
margin: 0 0.2em 0.25em -1.6em; margin: 0 0.2em 0.25em -1.6em;
vertical-align: middle; vertical-align: middle;
} }
.md .contains-task-list:dir(rtl) .task-list-item-checkbox { .d2-710463437 .md .contains-task-list:dir(rtl) .task-list-item-checkbox {
margin: 0 -1.6em 0.25em 0.2em; margin: 0 -1.6em 0.25em 0.2em;
} }
</style><defs><pattern id="streaks-normal" x="0" y="0" width="100" height="100" patternUnits="userSpaceOnUse"> </style><defs><pattern id="streaks-normal" x="0" y="0" width="100" height="100" patternUnits="userSpaceOnUse">

Before

Width:  |  Height:  |  Size: 80 KiB

After

Width:  |  Height:  |  Size: 82 KiB

View file

@ -1,4 +1,4 @@
<?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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 758 268"><svg id="d2-svg" class="d2-2779170942" width="758" height="268" viewBox="-101 -101 758 268"><rect x="-101.000000" y="-101.000000" width="758.000000" height="268.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[ <?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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 758 268"><svg id="d2-svg" class="d2-2779170942" width="758" height="268" viewBox="-101 -101 758 268"><rect x="-101.000000" y="-101.000000" width="758.000000" height="268.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-2779170942 .text-bold { .d2-2779170942 .text-bold {
font-family: "d2-2779170942-font-bold"; font-family: "d2-2779170942-font-bold";
} }

Before

Width:  |  Height:  |  Size: 56 KiB

After

Width:  |  Height:  |  Size: 56 KiB

View file

@ -1,4 +1,4 @@
<?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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 562 654"><svg id="d2-svg" class="d2-3084549463" width="562" height="654" viewBox="-101 -100 562 654"><rect x="-101.000000" y="-100.000000" width="562.000000" height="654.000000" rx="0.000000" fill="#947A6D" stroke-width="0" /><rect x="-101.000000" y="-100.000000" width="562.000000" height="654.000000" rx="0.000000" class="paper-overlay" stroke-width="0" /><style type="text/css"><![CDATA[ <?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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 562 654"><svg id="d2-svg" class="d2-3084549463" width="562" height="654" viewBox="-101 -100 562 654"><rect x="-101.000000" y="-100.000000" width="562.000000" height="654.000000" rx="0.000000" fill="#947A6D" stroke-width="0" /><rect x="-101.000000" y="-100.000000" width="562.000000" height="654.000000" rx="0.000000" class="paper-overlay" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-3084549463 .text-mono { .d2-3084549463 .text-mono {
font-family: "d2-3084549463-font-mono"; font-family: "d2-3084549463-font-mono";
} }

Before

Width:  |  Height:  |  Size: 493 KiB

After

Width:  |  Height:  |  Size: 493 KiB

View file

@ -1,4 +1,4 @@
<?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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 1201 1179"><svg id="d2-svg" class="d2-2692925945" width="1201" height="1179" viewBox="-106 -160 1201 1179"><rect x="-106.000000" y="-160.000000" width="1201.000000" height="1179.000000" rx="0.000000" stroke="LightSteelBlue" fill="honeydew" stroke-width="0" /><rect x="-101.000000" y="-155.000000" width="1191.000000" height="1169.000000" rx="0.000000" stroke="LightSteelBlue" fill="transparent" stroke-width="0" /><style type="text/css"><![CDATA[ <?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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 1201 1179"><svg id="d2-svg" class="d2-2692925945" width="1201" height="1179" viewBox="-106 -160 1201 1179"><rect x="-106.000000" y="-160.000000" width="1201.000000" height="1179.000000" rx="0.000000" stroke="LightSteelBlue" fill="honeydew" stroke-width="0" /><rect x="-101.000000" y="-155.000000" width="1191.000000" height="1169.000000" rx="0.000000" stroke="LightSteelBlue" fill="transparent" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-2692925945 .text { .d2-2692925945 .text {
font-family: "d2-2692925945-font-regular"; font-family: "d2-2692925945-font-regular";
} }
@ -96,31 +96,31 @@
.d2-2692925945 .color-AA4{color:#EDF0FD;} .d2-2692925945 .color-AA4{color:#EDF0FD;}
.d2-2692925945 .color-AA5{color:#F7F8FE;} .d2-2692925945 .color-AA5{color:#F7F8FE;}
.d2-2692925945 .color-AB4{color:#EDF0FD;} .d2-2692925945 .color-AB4{color:#EDF0FD;}
.d2-2692925945 .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><style type="text/css">.md em, .d2-2692925945 .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><style type="text/css">.d2-2692925945 .md em,
.md dfn { .d2-2692925945 .md dfn {
font-family: "d2-2692925945-font-italic"; font-family: "d2-2692925945-font-italic";
} }
.md b, .d2-2692925945 .md b,
.md strong { .d2-2692925945 .md strong {
font-family: "d2-2692925945-font-bold"; font-family: "d2-2692925945-font-bold";
} }
.md code, .d2-2692925945 .md code,
.md kbd, .d2-2692925945 .md kbd,
.md pre, .d2-2692925945 .md pre,
.md samp { .d2-2692925945 .md samp {
font-family: "d2-2692925945-font-mono"; font-family: "d2-2692925945-font-mono";
font-size: 1em; font-size: 1em;
} }
.md { .d2-2692925945 .md {
tab-size: 4; tab-size: 4;
} }
/* variables are provided in d2renderers/d2svg/d2svg.go */ /* variables are provided in d2renderers/d2svg/d2svg.go */
.md { .d2-2692925945 .md {
-ms-text-size-adjust: 100%; -ms-text-size-adjust: 100%;
-webkit-text-size-adjust: 100%; -webkit-text-size-adjust: 100%;
margin: 0; margin: 0;
@ -132,41 +132,41 @@
word-wrap: break-word; word-wrap: break-word;
} }
.md details, .d2-2692925945 .md details,
.md figcaption, .d2-2692925945 .md figcaption,
.md figure { .d2-2692925945 .md figure {
display: block; display: block;
} }
.md summary { .d2-2692925945 .md summary {
display: list-item; display: list-item;
} }
.md [hidden] { .d2-2692925945 .md [hidden] {
display: none !important; display: none !important;
} }
.md a { .d2-2692925945 .md a {
background-color: transparent; background-color: transparent;
color: var(--color-accent-fg); color: var(--color-accent-fg);
text-decoration: none; text-decoration: none;
} }
.md a:active, .d2-2692925945 .md a:active,
.md a:hover { .d2-2692925945 .md a:hover {
outline-width: 0; outline-width: 0;
} }
.md abbr[title] { .d2-2692925945 .md abbr[title] {
border-bottom: none; border-bottom: none;
text-decoration: underline dotted; text-decoration: underline dotted;
} }
.md dfn { .d2-2692925945 .md dfn {
font-style: italic; font-style: italic;
} }
.md h1 { .d2-2692925945 .md h1 {
margin: 0.67em 0; margin: 0.67em 0;
font-weight: 600; font-weight: 600;
padding-bottom: 0.3em; padding-bottom: 0.3em;
@ -174,43 +174,43 @@
border-bottom: 1px solid var(--color-border-muted); border-bottom: 1px solid var(--color-border-muted);
} }
.md mark { .d2-2692925945 .md mark {
background-color: var(--color-attention-subtle); background-color: var(--color-attention-subtle);
color: var(--color-text-primary); color: var(--color-text-primary);
} }
.md small { .d2-2692925945 .md small {
font-size: 90%; font-size: 90%;
} }
.md sub, .d2-2692925945 .md sub,
.md sup { .d2-2692925945 .md sup {
font-size: 75%; font-size: 75%;
line-height: 0; line-height: 0;
position: relative; position: relative;
vertical-align: baseline; vertical-align: baseline;
} }
.md sub { .d2-2692925945 .md sub {
bottom: -0.25em; bottom: -0.25em;
} }
.md sup { .d2-2692925945 .md sup {
top: -0.5em; top: -0.5em;
} }
.md img { .d2-2692925945 .md img {
border-style: none; border-style: none;
max-width: 100%; max-width: 100%;
box-sizing: content-box; box-sizing: content-box;
background-color: var(--color-canvas-default); background-color: var(--color-canvas-default);
} }
.md figure { .d2-2692925945 .md figure {
margin: 1em 40px; margin: 1em 40px;
} }
.md hr { .d2-2692925945 .md hr {
box-sizing: content-box; box-sizing: content-box;
overflow: hidden; overflow: hidden;
background: transparent; background: transparent;
@ -222,7 +222,7 @@
border: 0; border: 0;
} }
.md input { .d2-2692925945 .md input {
font: inherit; font: inherit;
margin: 0; margin: 0;
overflow: visible; overflow: visible;
@ -231,72 +231,72 @@
line-height: inherit; line-height: inherit;
} }
.md [type="button"], .d2-2692925945 .md [type="button"],
.md [type="reset"], .d2-2692925945 .md [type="reset"],
.md [type="submit"] { .d2-2692925945 .md [type="submit"] {
-webkit-appearance: button; -webkit-appearance: button;
} }
.md [type="button"]::-moz-focus-inner, .d2-2692925945 .md [type="button"]::-moz-focus-inner,
.md [type="reset"]::-moz-focus-inner, .d2-2692925945 .md [type="reset"]::-moz-focus-inner,
.md [type="submit"]::-moz-focus-inner { .d2-2692925945 .md [type="submit"]::-moz-focus-inner {
border-style: none; border-style: none;
padding: 0; padding: 0;
} }
.md [type="button"]:-moz-focusring, .d2-2692925945 .md [type="button"]:-moz-focusring,
.md [type="reset"]:-moz-focusring, .d2-2692925945 .md [type="reset"]:-moz-focusring,
.md [type="submit"]:-moz-focusring { .d2-2692925945 .md [type="submit"]:-moz-focusring {
outline: 1px dotted ButtonText; outline: 1px dotted ButtonText;
} }
.md [type="checkbox"], .d2-2692925945 .md [type="checkbox"],
.md [type="radio"] { .d2-2692925945 .md [type="radio"] {
box-sizing: border-box; box-sizing: border-box;
padding: 0; padding: 0;
} }
.md [type="number"]::-webkit-inner-spin-button, .d2-2692925945 .md [type="number"]::-webkit-inner-spin-button,
.md [type="number"]::-webkit-outer-spin-button { .d2-2692925945 .md [type="number"]::-webkit-outer-spin-button {
height: auto; height: auto;
} }
.md [type="search"] { .d2-2692925945 .md [type="search"] {
-webkit-appearance: textfield; -webkit-appearance: textfield;
outline-offset: -2px; outline-offset: -2px;
} }
.md [type="search"]::-webkit-search-cancel-button, .d2-2692925945 .md [type="search"]::-webkit-search-cancel-button,
.md [type="search"]::-webkit-search-decoration { .d2-2692925945 .md [type="search"]::-webkit-search-decoration {
-webkit-appearance: none; -webkit-appearance: none;
} }
.md ::-webkit-input-placeholder { .d2-2692925945 .md ::-webkit-input-placeholder {
color: inherit; color: inherit;
opacity: 0.54; opacity: 0.54;
} }
.md ::-webkit-file-upload-button { .d2-2692925945 .md ::-webkit-file-upload-button {
-webkit-appearance: button; -webkit-appearance: button;
font: inherit; font: inherit;
} }
.md a:hover { .d2-2692925945 .md a:hover {
text-decoration: underline; text-decoration: underline;
} }
.md hr::before { .d2-2692925945 .md hr::before {
display: table; display: table;
content: ""; content: "";
} }
.md hr::after { .d2-2692925945 .md hr::after {
display: table; display: table;
clear: both; clear: both;
content: ""; content: "";
} }
.md table { .d2-2692925945 .md table {
border-spacing: 0; border-spacing: 0;
border-collapse: collapse; border-collapse: collapse;
display: block; display: block;
@ -305,20 +305,20 @@
overflow: auto; overflow: auto;
} }
.md td, .d2-2692925945 .md td,
.md th { .d2-2692925945 .md th {
padding: 0; padding: 0;
} }
.md details summary { .d2-2692925945 .md details summary {
cursor: pointer; cursor: pointer;
} }
.md details:not([open]) > *:not(summary) { .d2-2692925945 .md details:not([open]) > *:not(summary) {
display: none !important; display: none !important;
} }
.md kbd { .d2-2692925945 .md kbd {
display: inline-block; display: inline-block;
padding: 3px 5px; padding: 3px 5px;
color: var(--color-fg-default); color: var(--color-fg-default);
@ -330,12 +330,12 @@
box-shadow: inset 0 -1px 0 var(--color-neutral-muted); box-shadow: inset 0 -1px 0 var(--color-neutral-muted);
} }
.md h1, .d2-2692925945 .md h1,
.md h2, .d2-2692925945 .md h2,
.md h3, .d2-2692925945 .md h3,
.md h4, .d2-2692925945 .md h4,
.md h5, .d2-2692925945 .md h5,
.md h6 { .d2-2692925945 .md h6 {
margin-top: 24px; margin-top: 24px;
margin-bottom: 16px; margin-bottom: 16px;
font-weight: 600; font-weight: 600;
@ -343,222 +343,222 @@
font-family: "d2-2692925945-font-regular"; font-family: "d2-2692925945-font-regular";
} }
.md h2 { .d2-2692925945 .md h2 {
font-weight: 600; font-weight: 600;
padding-bottom: 0.3em; padding-bottom: 0.3em;
font-size: 1.5em; font-size: 1.5em;
border-bottom: 1px solid var(--color-border-muted); border-bottom: 1px solid var(--color-border-muted);
} }
.md h3 { .d2-2692925945 .md h3 {
font-weight: 600; font-weight: 600;
font-size: 1.25em; font-size: 1.25em;
} }
.md h4 { .d2-2692925945 .md h4 {
font-weight: 600; font-weight: 600;
font-size: 1em; font-size: 1em;
} }
.md h5 { .d2-2692925945 .md h5 {
font-weight: 600; font-weight: 600;
font-size: 0.875em; font-size: 0.875em;
} }
.md h6 { .d2-2692925945 .md h6 {
font-weight: 600; font-weight: 600;
font-size: 0.85em; font-size: 0.85em;
color: var(--color-fg-muted); color: var(--color-fg-muted);
} }
.md p { .d2-2692925945 .md p {
margin-top: 0; margin-top: 0;
margin-bottom: 10px; margin-bottom: 10px;
} }
.md blockquote { .d2-2692925945 .md blockquote {
margin: 0; margin: 0;
padding: 0 1em; padding: 0 1em;
color: var(--color-fg-muted); color: var(--color-fg-muted);
border-left: 0.25em solid var(--color-border-default); border-left: 0.25em solid var(--color-border-default);
} }
.md ul, .d2-2692925945 .md ul,
.md ol { .d2-2692925945 .md ol {
margin-top: 0; margin-top: 0;
margin-bottom: 0; margin-bottom: 0;
padding-left: 2em; padding-left: 2em;
} }
.md ol ol, .d2-2692925945 .md ol ol,
.md ul ol { .d2-2692925945 .md ul ol {
list-style-type: lower-roman; list-style-type: lower-roman;
} }
.md ul ul ol, .d2-2692925945 .md ul ul ol,
.md ul ol ol, .d2-2692925945 .md ul ol ol,
.md ol ul ol, .d2-2692925945 .md ol ul ol,
.md ol ol ol { .d2-2692925945 .md ol ol ol {
list-style-type: lower-alpha; list-style-type: lower-alpha;
} }
.md dd { .d2-2692925945 .md dd {
margin-left: 0; margin-left: 0;
} }
.md pre { .d2-2692925945 .md pre {
margin-top: 0; margin-top: 0;
margin-bottom: 0; margin-bottom: 0;
word-wrap: normal; word-wrap: normal;
} }
.md ::placeholder { .d2-2692925945 .md ::placeholder {
color: var(--color-fg-subtle); color: var(--color-fg-subtle);
opacity: 1; opacity: 1;
} }
.md input::-webkit-outer-spin-button, .d2-2692925945 .md input::-webkit-outer-spin-button,
.md input::-webkit-inner-spin-button { .d2-2692925945 .md input::-webkit-inner-spin-button {
margin: 0; margin: 0;
-webkit-appearance: none; -webkit-appearance: none;
appearance: none; appearance: none;
} }
.md::before { .d2-2692925945 .md::before {
display: table; display: table;
content: ""; content: "";
} }
.md::after { .d2-2692925945 .md::after {
display: table; display: table;
clear: both; clear: both;
content: ""; content: "";
} }
.md > *:first-child { .d2-2692925945 .md > *:first-child {
margin-top: 0 !important; margin-top: 0 !important;
} }
.md > *:last-child { .d2-2692925945 .md > *:last-child {
margin-bottom: 0 !important; margin-bottom: 0 !important;
} }
.md a:not([href]) { .d2-2692925945 .md a:not([href]) {
color: inherit; color: inherit;
text-decoration: none; text-decoration: none;
} }
.md .absent { .d2-2692925945 .md .absent {
color: var(--color-danger-fg); color: var(--color-danger-fg);
} }
.md .anchor { .d2-2692925945 .md .anchor {
float: left; float: left;
padding-right: 4px; padding-right: 4px;
margin-left: -20px; margin-left: -20px;
line-height: 1; line-height: 1;
} }
.md .anchor:focus { .d2-2692925945 .md .anchor:focus {
outline: none; outline: none;
} }
.md p, .d2-2692925945 .md p,
.md blockquote, .d2-2692925945 .md blockquote,
.md ul, .d2-2692925945 .md ul,
.md ol, .d2-2692925945 .md ol,
.md dl, .d2-2692925945 .md dl,
.md table, .d2-2692925945 .md table,
.md pre, .d2-2692925945 .md pre,
.md details { .d2-2692925945 .md details {
margin-top: 0; margin-top: 0;
margin-bottom: 16px; margin-bottom: 16px;
} }
.md blockquote > :first-child { .d2-2692925945 .md blockquote > :first-child {
margin-top: 0; margin-top: 0;
} }
.md blockquote > :last-child { .d2-2692925945 .md blockquote > :last-child {
margin-bottom: 0; margin-bottom: 0;
} }
.md sup > a::before { .d2-2692925945 .md sup > a::before {
content: "["; content: "[";
} }
.md sup > a::after { .d2-2692925945 .md sup > a::after {
content: "]"; content: "]";
} }
.md h1:hover .anchor, .d2-2692925945 .md h1:hover .anchor,
.md h2:hover .anchor, .d2-2692925945 .md h2:hover .anchor,
.md h3:hover .anchor, .d2-2692925945 .md h3:hover .anchor,
.md h4:hover .anchor, .d2-2692925945 .md h4:hover .anchor,
.md h5:hover .anchor, .d2-2692925945 .md h5:hover .anchor,
.md h6:hover .anchor { .d2-2692925945 .md h6:hover .anchor {
text-decoration: none; text-decoration: none;
} }
.md h1 tt, .d2-2692925945 .md h1 tt,
.md h1 code, .d2-2692925945 .md h1 code,
.md h2 tt, .d2-2692925945 .md h2 tt,
.md h2 code, .d2-2692925945 .md h2 code,
.md h3 tt, .d2-2692925945 .md h3 tt,
.md h3 code, .d2-2692925945 .md h3 code,
.md h4 tt, .d2-2692925945 .md h4 tt,
.md h4 code, .d2-2692925945 .md h4 code,
.md h5 tt, .d2-2692925945 .md h5 tt,
.md h5 code, .d2-2692925945 .md h5 code,
.md h6 tt, .d2-2692925945 .md h6 tt,
.md h6 code { .d2-2692925945 .md h6 code {
padding: 0 0.2em; padding: 0 0.2em;
font-size: inherit; font-size: inherit;
} }
.md ul.no-list, .d2-2692925945 .md ul.no-list,
.md ol.no-list { .d2-2692925945 .md ol.no-list {
padding: 0; padding: 0;
list-style-type: none; list-style-type: none;
} }
.md ol[type="1"] { .d2-2692925945 .md ol[type="1"] {
list-style-type: decimal; list-style-type: decimal;
} }
.md ol[type="a"] { .d2-2692925945 .md ol[type="a"] {
list-style-type: lower-alpha; list-style-type: lower-alpha;
} }
.md ol[type="i"] { .d2-2692925945 .md ol[type="i"] {
list-style-type: lower-roman; list-style-type: lower-roman;
} }
.md div > ol:not([type]) { .d2-2692925945 .md div > ol:not([type]) {
list-style-type: decimal; list-style-type: decimal;
} }
.md ul ul, .d2-2692925945 .md ul ul,
.md ul ol, .d2-2692925945 .md ul ol,
.md ol ol, .d2-2692925945 .md ol ol,
.md ol ul { .d2-2692925945 .md ol ul {
margin-top: 0; margin-top: 0;
margin-bottom: 0; margin-bottom: 0;
} }
.md li > p { .d2-2692925945 .md li > p {
margin-top: 16px; margin-top: 16px;
} }
.md li + li { .d2-2692925945 .md li + li {
margin-top: 0.25em; margin-top: 0.25em;
} }
.md dl { .d2-2692925945 .md dl {
padding: 0; padding: 0;
} }
.md dl dt { .d2-2692925945 .md dl dt {
padding: 0; padding: 0;
margin-top: 16px; margin-top: 16px;
font-size: 1em; font-size: 1em;
@ -566,48 +566,48 @@
font-weight: 600; font-weight: 600;
} }
.md dl dd { .d2-2692925945 .md dl dd {
padding: 0 16px; padding: 0 16px;
margin-bottom: 16px; margin-bottom: 16px;
} }
.md table th { .d2-2692925945 .md table th {
font-weight: 600; font-weight: 600;
} }
.md table th, .d2-2692925945 .md table th,
.md table td { .d2-2692925945 .md table td {
padding: 6px 13px; padding: 6px 13px;
border: 1px solid var(--color-border-default); border: 1px solid var(--color-border-default);
} }
.md table tr { .d2-2692925945 .md table tr {
background-color: var(--color-canvas-default); background-color: var(--color-canvas-default);
border-top: 1px solid var(--color-border-muted); border-top: 1px solid var(--color-border-muted);
} }
.md table tr:nth-child(2n) { .d2-2692925945 .md table tr:nth-child(2n) {
background-color: var(--color-canvas-subtle); background-color: var(--color-canvas-subtle);
} }
.md table img { .d2-2692925945 .md table img {
background-color: transparent; background-color: transparent;
} }
.md img[align="right"] { .d2-2692925945 .md img[align="right"] {
padding-left: 20px; padding-left: 20px;
} }
.md img[align="left"] { .d2-2692925945 .md img[align="left"] {
padding-right: 20px; padding-right: 20px;
} }
.md span.frame { .d2-2692925945 .md span.frame {
display: block; display: block;
overflow: hidden; overflow: hidden;
} }
.md span.frame > span { .d2-2692925945 .md span.frame > span {
display: block; display: block;
float: left; float: left;
width: auto; width: auto;
@ -617,81 +617,81 @@
border: 1px solid var(--color-border-default); border: 1px solid var(--color-border-default);
} }
.md span.frame span img { .d2-2692925945 .md span.frame span img {
display: block; display: block;
float: left; float: left;
} }
.md span.frame span span { .d2-2692925945 .md span.frame span span {
display: block; display: block;
padding: 5px 0 0; padding: 5px 0 0;
clear: both; clear: both;
color: var(--color-fg-default); color: var(--color-fg-default);
} }
.md span.align-center { .d2-2692925945 .md span.align-center {
display: block; display: block;
overflow: hidden; overflow: hidden;
clear: both; clear: both;
} }
.md span.align-center > span { .d2-2692925945 .md span.align-center > span {
display: block; display: block;
margin: 13px auto 0; margin: 13px auto 0;
overflow: hidden; overflow: hidden;
text-align: center; text-align: center;
} }
.md span.align-center span img { .d2-2692925945 .md span.align-center span img {
margin: 0 auto; margin: 0 auto;
text-align: center; text-align: center;
} }
.md span.align-right { .d2-2692925945 .md span.align-right {
display: block; display: block;
overflow: hidden; overflow: hidden;
clear: both; clear: both;
} }
.md span.align-right > span { .d2-2692925945 .md span.align-right > span {
display: block; display: block;
margin: 13px 0 0; margin: 13px 0 0;
overflow: hidden; overflow: hidden;
text-align: right; text-align: right;
} }
.md span.align-right span img { .d2-2692925945 .md span.align-right span img {
margin: 0; margin: 0;
text-align: right; text-align: right;
} }
.md span.float-left { .d2-2692925945 .md span.float-left {
display: block; display: block;
float: left; float: left;
margin-right: 13px; margin-right: 13px;
overflow: hidden; overflow: hidden;
} }
.md span.float-left span { .d2-2692925945 .md span.float-left span {
margin: 13px 0 0; margin: 13px 0 0;
} }
.md span.float-right { .d2-2692925945 .md span.float-right {
display: block; display: block;
float: right; float: right;
margin-left: 13px; margin-left: 13px;
overflow: hidden; overflow: hidden;
} }
.md span.float-right > span { .d2-2692925945 .md span.float-right > span {
display: block; display: block;
margin: 13px auto 0; margin: 13px auto 0;
overflow: hidden; overflow: hidden;
text-align: right; text-align: right;
} }
.md code, .d2-2692925945 .md code,
.md tt { .d2-2692925945 .md tt {
padding: 0.2em 0.4em; padding: 0.2em 0.4em;
margin: 0; margin: 0;
font-size: 85%; font-size: 85%;
@ -699,20 +699,20 @@
border-radius: 6px; border-radius: 6px;
} }
.md code br, .d2-2692925945 .md code br,
.md tt br { .d2-2692925945 .md tt br {
display: none; display: none;
} }
.md del code { .d2-2692925945 .md del code {
text-decoration: inherit; text-decoration: inherit;
} }
.md pre code { .d2-2692925945 .md pre code {
font-size: 100%; font-size: 100%;
} }
.md pre > code { .d2-2692925945 .md pre > code {
padding: 0; padding: 0;
margin: 0; margin: 0;
word-break: normal; word-break: normal;
@ -721,17 +721,17 @@
border: 0; border: 0;
} }
.md .highlight { .d2-2692925945 .md .highlight {
margin-bottom: 16px; margin-bottom: 16px;
} }
.md .highlight pre { .d2-2692925945 .md .highlight pre {
margin-bottom: 0; margin-bottom: 0;
word-break: normal; word-break: normal;
} }
.md .highlight pre, .d2-2692925945 .md .highlight pre,
.md pre { .d2-2692925945 .md pre {
padding: 16px; padding: 16px;
overflow: auto; overflow: auto;
font-size: 85%; font-size: 85%;
@ -740,8 +740,8 @@
border-radius: 6px; border-radius: 6px;
} }
.md pre code, .d2-2692925945 .md pre code,
.md pre tt { .d2-2692925945 .md pre tt {
display: inline; display: inline;
max-width: auto; max-width: auto;
padding: 0; padding: 0;
@ -753,8 +753,8 @@
border: 0; border: 0;
} }
.md .csv-data td, .d2-2692925945 .md .csv-data td,
.md .csv-data th { .d2-2692925945 .md .csv-data th {
padding: 5px; padding: 5px;
overflow: hidden; overflow: hidden;
font-size: 12px; font-size: 12px;
@ -763,38 +763,38 @@
white-space: nowrap; white-space: nowrap;
} }
.md .csv-data .blob-num { .d2-2692925945 .md .csv-data .blob-num {
padding: 10px 8px 9px; padding: 10px 8px 9px;
text-align: right; text-align: right;
background: var(--color-canvas-default); background: var(--color-canvas-default);
border: 0; border: 0;
} }
.md .csv-data tr { .d2-2692925945 .md .csv-data tr {
border-top: 0; border-top: 0;
} }
.md .csv-data th { .d2-2692925945 .md .csv-data th {
font-weight: 600; font-weight: 600;
background: var(--color-canvas-subtle); background: var(--color-canvas-subtle);
border-top: 0; border-top: 0;
} }
.md .footnotes { .d2-2692925945 .md .footnotes {
font-size: 12px; font-size: 12px;
color: var(--color-fg-muted); color: var(--color-fg-muted);
border-top: 1px solid var(--color-border-default); border-top: 1px solid var(--color-border-default);
} }
.md .footnotes ol { .d2-2692925945 .md .footnotes ol {
padding-left: 16px; padding-left: 16px;
} }
.md .footnotes li { .d2-2692925945 .md .footnotes li {
position: relative; position: relative;
} }
.md .footnotes li:target::before { .d2-2692925945 .md .footnotes li:target::before {
position: absolute; position: absolute;
top: -8px; top: -8px;
right: -8px; right: -8px;
@ -806,36 +806,36 @@
border-radius: 6px; border-radius: 6px;
} }
.md .footnotes li:target { .d2-2692925945 .md .footnotes li:target {
color: var(--color-fg-default); color: var(--color-fg-default);
} }
.md .task-list-item { .d2-2692925945 .md .task-list-item {
list-style-type: none; list-style-type: none;
} }
.md .task-list-item label { .d2-2692925945 .md .task-list-item label {
font-weight: 400; font-weight: 400;
} }
.md .task-list-item.enabled label { .d2-2692925945 .md .task-list-item.enabled label {
cursor: pointer; cursor: pointer;
} }
.md .task-list-item + .task-list-item { .d2-2692925945 .md .task-list-item + .task-list-item {
margin-top: 3px; margin-top: 3px;
} }
.md .task-list-item .handle { .d2-2692925945 .md .task-list-item .handle {
display: none; display: none;
} }
.md .task-list-item-checkbox { .d2-2692925945 .md .task-list-item-checkbox {
margin: 0 0.2em 0.25em -1.6em; margin: 0 0.2em 0.25em -1.6em;
vertical-align: middle; vertical-align: middle;
} }
.md .contains-task-list:dir(rtl) .task-list-item-checkbox { .d2-2692925945 .md .contains-task-list:dir(rtl) .task-list-item-checkbox {
margin: 0 -1.6em 0.25em 0.2em; margin: 0 -1.6em 0.25em 0.2em;
} }
</style><defs><pattern id="streaks-bright" x="0" y="0" width="100" height="100" patternUnits="userSpaceOnUse"> </style><defs><pattern id="streaks-bright" x="0" y="0" width="100" height="100" patternUnits="userSpaceOnUse">

Before

Width:  |  Height:  |  Size: 100 KiB

After

Width:  |  Height:  |  Size: 103 KiB

View file

@ -1,4 +1,4 @@
<?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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 1027 662"><svg id="d2-svg" class="d2-2258688787" width="1027" height="662" viewBox="-101 -101 1027 662"><rect x="-101.000000" y="-101.000000" width="1027.000000" height="662.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[ <?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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 1027 662"><svg id="d2-svg" class="d2-2258688787" width="1027" height="662" viewBox="-101 -101 1027 662"><rect x="-101.000000" y="-101.000000" width="1027.000000" height="662.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-2258688787 .text { .d2-2258688787 .text {
font-family: "d2-2258688787-font-regular"; font-family: "d2-2258688787-font-regular";
} }

Before

Width:  |  Height:  |  Size: 74 KiB

After

Width:  |  Height:  |  Size: 74 KiB

View file

@ -1,4 +1,4 @@
<?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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 1027 662"><svg id="d2-svg" class="d2-2258688787" width="1027" height="662" viewBox="-101 -101 1027 662"><rect x="-101.000000" y="-101.000000" width="1027.000000" height="662.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[ <?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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 1027 662"><svg id="d2-svg" class="d2-2258688787" width="1027" height="662" viewBox="-101 -101 1027 662"><rect x="-101.000000" y="-101.000000" width="1027.000000" height="662.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-2258688787 .text { .d2-2258688787 .text {
font-family: "d2-2258688787-font-regular"; font-family: "d2-2258688787-font-regular";
} }

Before

Width:  |  Height:  |  Size: 65 KiB

After

Width:  |  Height:  |  Size: 65 KiB

View file

@ -1,4 +1,4 @@
<?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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 821 1702"><svg id="d2-svg" class="d2-457017616" width="821" height="1702" viewBox="-101 -101 821 1702"><rect x="-101.000000" y="-101.000000" width="821.000000" height="1702.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[ <?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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 821 1702"><svg id="d2-svg" class="d2-457017616" width="821" height="1702" viewBox="-101 -101 821 1702"><rect x="-101.000000" y="-101.000000" width="821.000000" height="1702.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-457017616 .text-mono { .d2-457017616 .text-mono {
font-family: "d2-457017616-font-mono"; font-family: "d2-457017616-font-mono";
} }

Before

Width:  |  Height:  |  Size: 108 KiB

After

Width:  |  Height:  |  Size: 108 KiB

View file

@ -1,4 +1,4 @@
<?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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 2789 2472"><svg id="d2-svg" class="d2-1289122894" width="2789" height="2472" viewBox="-101 -101 2789 2472"><rect x="-101.000000" y="-101.000000" width="2789.000000" height="2472.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[ <?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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 2789 2472"><svg id="d2-svg" class="d2-1289122894" width="2789" height="2472" viewBox="-101 -101 2789 2472"><rect x="-101.000000" y="-101.000000" width="2789.000000" height="2472.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-1289122894 .text { .d2-1289122894 .text {
font-family: "d2-1289122894-font-regular"; font-family: "d2-1289122894-font-regular";
} }
@ -111,31 +111,31 @@
.d2-1289122894 .color-AA4{color:#EDF0FD;} .d2-1289122894 .color-AA4{color:#EDF0FD;}
.d2-1289122894 .color-AA5{color:#F7F8FE;} .d2-1289122894 .color-AA5{color:#F7F8FE;}
.d2-1289122894 .color-AB4{color:#EDF0FD;} .d2-1289122894 .color-AB4{color:#EDF0FD;}
.d2-1289122894 .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><style type="text/css">.md em, .d2-1289122894 .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><style type="text/css">.d2-1289122894 .md em,
.md dfn { .d2-1289122894 .md dfn {
font-family: "d2-1289122894-font-italic"; font-family: "d2-1289122894-font-italic";
} }
.md b, .d2-1289122894 .md b,
.md strong { .d2-1289122894 .md strong {
font-family: "d2-1289122894-font-bold"; font-family: "d2-1289122894-font-bold";
} }
.md code, .d2-1289122894 .md code,
.md kbd, .d2-1289122894 .md kbd,
.md pre, .d2-1289122894 .md pre,
.md samp { .d2-1289122894 .md samp {
font-family: "d2-1289122894-font-mono"; font-family: "d2-1289122894-font-mono";
font-size: 1em; font-size: 1em;
} }
.md { .d2-1289122894 .md {
tab-size: 4; tab-size: 4;
} }
/* variables are provided in d2renderers/d2svg/d2svg.go */ /* variables are provided in d2renderers/d2svg/d2svg.go */
.md { .d2-1289122894 .md {
-ms-text-size-adjust: 100%; -ms-text-size-adjust: 100%;
-webkit-text-size-adjust: 100%; -webkit-text-size-adjust: 100%;
margin: 0; margin: 0;
@ -147,41 +147,41 @@
word-wrap: break-word; word-wrap: break-word;
} }
.md details, .d2-1289122894 .md details,
.md figcaption, .d2-1289122894 .md figcaption,
.md figure { .d2-1289122894 .md figure {
display: block; display: block;
} }
.md summary { .d2-1289122894 .md summary {
display: list-item; display: list-item;
} }
.md [hidden] { .d2-1289122894 .md [hidden] {
display: none !important; display: none !important;
} }
.md a { .d2-1289122894 .md a {
background-color: transparent; background-color: transparent;
color: var(--color-accent-fg); color: var(--color-accent-fg);
text-decoration: none; text-decoration: none;
} }
.md a:active, .d2-1289122894 .md a:active,
.md a:hover { .d2-1289122894 .md a:hover {
outline-width: 0; outline-width: 0;
} }
.md abbr[title] { .d2-1289122894 .md abbr[title] {
border-bottom: none; border-bottom: none;
text-decoration: underline dotted; text-decoration: underline dotted;
} }
.md dfn { .d2-1289122894 .md dfn {
font-style: italic; font-style: italic;
} }
.md h1 { .d2-1289122894 .md h1 {
margin: 0.67em 0; margin: 0.67em 0;
font-weight: 600; font-weight: 600;
padding-bottom: 0.3em; padding-bottom: 0.3em;
@ -189,43 +189,43 @@
border-bottom: 1px solid var(--color-border-muted); border-bottom: 1px solid var(--color-border-muted);
} }
.md mark { .d2-1289122894 .md mark {
background-color: var(--color-attention-subtle); background-color: var(--color-attention-subtle);
color: var(--color-text-primary); color: var(--color-text-primary);
} }
.md small { .d2-1289122894 .md small {
font-size: 90%; font-size: 90%;
} }
.md sub, .d2-1289122894 .md sub,
.md sup { .d2-1289122894 .md sup {
font-size: 75%; font-size: 75%;
line-height: 0; line-height: 0;
position: relative; position: relative;
vertical-align: baseline; vertical-align: baseline;
} }
.md sub { .d2-1289122894 .md sub {
bottom: -0.25em; bottom: -0.25em;
} }
.md sup { .d2-1289122894 .md sup {
top: -0.5em; top: -0.5em;
} }
.md img { .d2-1289122894 .md img {
border-style: none; border-style: none;
max-width: 100%; max-width: 100%;
box-sizing: content-box; box-sizing: content-box;
background-color: var(--color-canvas-default); background-color: var(--color-canvas-default);
} }
.md figure { .d2-1289122894 .md figure {
margin: 1em 40px; margin: 1em 40px;
} }
.md hr { .d2-1289122894 .md hr {
box-sizing: content-box; box-sizing: content-box;
overflow: hidden; overflow: hidden;
background: transparent; background: transparent;
@ -237,7 +237,7 @@
border: 0; border: 0;
} }
.md input { .d2-1289122894 .md input {
font: inherit; font: inherit;
margin: 0; margin: 0;
overflow: visible; overflow: visible;
@ -246,72 +246,72 @@
line-height: inherit; line-height: inherit;
} }
.md [type="button"], .d2-1289122894 .md [type="button"],
.md [type="reset"], .d2-1289122894 .md [type="reset"],
.md [type="submit"] { .d2-1289122894 .md [type="submit"] {
-webkit-appearance: button; -webkit-appearance: button;
} }
.md [type="button"]::-moz-focus-inner, .d2-1289122894 .md [type="button"]::-moz-focus-inner,
.md [type="reset"]::-moz-focus-inner, .d2-1289122894 .md [type="reset"]::-moz-focus-inner,
.md [type="submit"]::-moz-focus-inner { .d2-1289122894 .md [type="submit"]::-moz-focus-inner {
border-style: none; border-style: none;
padding: 0; padding: 0;
} }
.md [type="button"]:-moz-focusring, .d2-1289122894 .md [type="button"]:-moz-focusring,
.md [type="reset"]:-moz-focusring, .d2-1289122894 .md [type="reset"]:-moz-focusring,
.md [type="submit"]:-moz-focusring { .d2-1289122894 .md [type="submit"]:-moz-focusring {
outline: 1px dotted ButtonText; outline: 1px dotted ButtonText;
} }
.md [type="checkbox"], .d2-1289122894 .md [type="checkbox"],
.md [type="radio"] { .d2-1289122894 .md [type="radio"] {
box-sizing: border-box; box-sizing: border-box;
padding: 0; padding: 0;
} }
.md [type="number"]::-webkit-inner-spin-button, .d2-1289122894 .md [type="number"]::-webkit-inner-spin-button,
.md [type="number"]::-webkit-outer-spin-button { .d2-1289122894 .md [type="number"]::-webkit-outer-spin-button {
height: auto; height: auto;
} }
.md [type="search"] { .d2-1289122894 .md [type="search"] {
-webkit-appearance: textfield; -webkit-appearance: textfield;
outline-offset: -2px; outline-offset: -2px;
} }
.md [type="search"]::-webkit-search-cancel-button, .d2-1289122894 .md [type="search"]::-webkit-search-cancel-button,
.md [type="search"]::-webkit-search-decoration { .d2-1289122894 .md [type="search"]::-webkit-search-decoration {
-webkit-appearance: none; -webkit-appearance: none;
} }
.md ::-webkit-input-placeholder { .d2-1289122894 .md ::-webkit-input-placeholder {
color: inherit; color: inherit;
opacity: 0.54; opacity: 0.54;
} }
.md ::-webkit-file-upload-button { .d2-1289122894 .md ::-webkit-file-upload-button {
-webkit-appearance: button; -webkit-appearance: button;
font: inherit; font: inherit;
} }
.md a:hover { .d2-1289122894 .md a:hover {
text-decoration: underline; text-decoration: underline;
} }
.md hr::before { .d2-1289122894 .md hr::before {
display: table; display: table;
content: ""; content: "";
} }
.md hr::after { .d2-1289122894 .md hr::after {
display: table; display: table;
clear: both; clear: both;
content: ""; content: "";
} }
.md table { .d2-1289122894 .md table {
border-spacing: 0; border-spacing: 0;
border-collapse: collapse; border-collapse: collapse;
display: block; display: block;
@ -320,20 +320,20 @@
overflow: auto; overflow: auto;
} }
.md td, .d2-1289122894 .md td,
.md th { .d2-1289122894 .md th {
padding: 0; padding: 0;
} }
.md details summary { .d2-1289122894 .md details summary {
cursor: pointer; cursor: pointer;
} }
.md details:not([open]) > *:not(summary) { .d2-1289122894 .md details:not([open]) > *:not(summary) {
display: none !important; display: none !important;
} }
.md kbd { .d2-1289122894 .md kbd {
display: inline-block; display: inline-block;
padding: 3px 5px; padding: 3px 5px;
color: var(--color-fg-default); color: var(--color-fg-default);
@ -345,12 +345,12 @@
box-shadow: inset 0 -1px 0 var(--color-neutral-muted); box-shadow: inset 0 -1px 0 var(--color-neutral-muted);
} }
.md h1, .d2-1289122894 .md h1,
.md h2, .d2-1289122894 .md h2,
.md h3, .d2-1289122894 .md h3,
.md h4, .d2-1289122894 .md h4,
.md h5, .d2-1289122894 .md h5,
.md h6 { .d2-1289122894 .md h6 {
margin-top: 24px; margin-top: 24px;
margin-bottom: 16px; margin-bottom: 16px;
font-weight: 600; font-weight: 600;
@ -358,222 +358,222 @@
font-family: "d2-1289122894-font-regular"; font-family: "d2-1289122894-font-regular";
} }
.md h2 { .d2-1289122894 .md h2 {
font-weight: 600; font-weight: 600;
padding-bottom: 0.3em; padding-bottom: 0.3em;
font-size: 1.5em; font-size: 1.5em;
border-bottom: 1px solid var(--color-border-muted); border-bottom: 1px solid var(--color-border-muted);
} }
.md h3 { .d2-1289122894 .md h3 {
font-weight: 600; font-weight: 600;
font-size: 1.25em; font-size: 1.25em;
} }
.md h4 { .d2-1289122894 .md h4 {
font-weight: 600; font-weight: 600;
font-size: 1em; font-size: 1em;
} }
.md h5 { .d2-1289122894 .md h5 {
font-weight: 600; font-weight: 600;
font-size: 0.875em; font-size: 0.875em;
} }
.md h6 { .d2-1289122894 .md h6 {
font-weight: 600; font-weight: 600;
font-size: 0.85em; font-size: 0.85em;
color: var(--color-fg-muted); color: var(--color-fg-muted);
} }
.md p { .d2-1289122894 .md p {
margin-top: 0; margin-top: 0;
margin-bottom: 10px; margin-bottom: 10px;
} }
.md blockquote { .d2-1289122894 .md blockquote {
margin: 0; margin: 0;
padding: 0 1em; padding: 0 1em;
color: var(--color-fg-muted); color: var(--color-fg-muted);
border-left: 0.25em solid var(--color-border-default); border-left: 0.25em solid var(--color-border-default);
} }
.md ul, .d2-1289122894 .md ul,
.md ol { .d2-1289122894 .md ol {
margin-top: 0; margin-top: 0;
margin-bottom: 0; margin-bottom: 0;
padding-left: 2em; padding-left: 2em;
} }
.md ol ol, .d2-1289122894 .md ol ol,
.md ul ol { .d2-1289122894 .md ul ol {
list-style-type: lower-roman; list-style-type: lower-roman;
} }
.md ul ul ol, .d2-1289122894 .md ul ul ol,
.md ul ol ol, .d2-1289122894 .md ul ol ol,
.md ol ul ol, .d2-1289122894 .md ol ul ol,
.md ol ol ol { .d2-1289122894 .md ol ol ol {
list-style-type: lower-alpha; list-style-type: lower-alpha;
} }
.md dd { .d2-1289122894 .md dd {
margin-left: 0; margin-left: 0;
} }
.md pre { .d2-1289122894 .md pre {
margin-top: 0; margin-top: 0;
margin-bottom: 0; margin-bottom: 0;
word-wrap: normal; word-wrap: normal;
} }
.md ::placeholder { .d2-1289122894 .md ::placeholder {
color: var(--color-fg-subtle); color: var(--color-fg-subtle);
opacity: 1; opacity: 1;
} }
.md input::-webkit-outer-spin-button, .d2-1289122894 .md input::-webkit-outer-spin-button,
.md input::-webkit-inner-spin-button { .d2-1289122894 .md input::-webkit-inner-spin-button {
margin: 0; margin: 0;
-webkit-appearance: none; -webkit-appearance: none;
appearance: none; appearance: none;
} }
.md::before { .d2-1289122894 .md::before {
display: table; display: table;
content: ""; content: "";
} }
.md::after { .d2-1289122894 .md::after {
display: table; display: table;
clear: both; clear: both;
content: ""; content: "";
} }
.md > *:first-child { .d2-1289122894 .md > *:first-child {
margin-top: 0 !important; margin-top: 0 !important;
} }
.md > *:last-child { .d2-1289122894 .md > *:last-child {
margin-bottom: 0 !important; margin-bottom: 0 !important;
} }
.md a:not([href]) { .d2-1289122894 .md a:not([href]) {
color: inherit; color: inherit;
text-decoration: none; text-decoration: none;
} }
.md .absent { .d2-1289122894 .md .absent {
color: var(--color-danger-fg); color: var(--color-danger-fg);
} }
.md .anchor { .d2-1289122894 .md .anchor {
float: left; float: left;
padding-right: 4px; padding-right: 4px;
margin-left: -20px; margin-left: -20px;
line-height: 1; line-height: 1;
} }
.md .anchor:focus { .d2-1289122894 .md .anchor:focus {
outline: none; outline: none;
} }
.md p, .d2-1289122894 .md p,
.md blockquote, .d2-1289122894 .md blockquote,
.md ul, .d2-1289122894 .md ul,
.md ol, .d2-1289122894 .md ol,
.md dl, .d2-1289122894 .md dl,
.md table, .d2-1289122894 .md table,
.md pre, .d2-1289122894 .md pre,
.md details { .d2-1289122894 .md details {
margin-top: 0; margin-top: 0;
margin-bottom: 16px; margin-bottom: 16px;
} }
.md blockquote > :first-child { .d2-1289122894 .md blockquote > :first-child {
margin-top: 0; margin-top: 0;
} }
.md blockquote > :last-child { .d2-1289122894 .md blockquote > :last-child {
margin-bottom: 0; margin-bottom: 0;
} }
.md sup > a::before { .d2-1289122894 .md sup > a::before {
content: "["; content: "[";
} }
.md sup > a::after { .d2-1289122894 .md sup > a::after {
content: "]"; content: "]";
} }
.md h1:hover .anchor, .d2-1289122894 .md h1:hover .anchor,
.md h2:hover .anchor, .d2-1289122894 .md h2:hover .anchor,
.md h3:hover .anchor, .d2-1289122894 .md h3:hover .anchor,
.md h4:hover .anchor, .d2-1289122894 .md h4:hover .anchor,
.md h5:hover .anchor, .d2-1289122894 .md h5:hover .anchor,
.md h6:hover .anchor { .d2-1289122894 .md h6:hover .anchor {
text-decoration: none; text-decoration: none;
} }
.md h1 tt, .d2-1289122894 .md h1 tt,
.md h1 code, .d2-1289122894 .md h1 code,
.md h2 tt, .d2-1289122894 .md h2 tt,
.md h2 code, .d2-1289122894 .md h2 code,
.md h3 tt, .d2-1289122894 .md h3 tt,
.md h3 code, .d2-1289122894 .md h3 code,
.md h4 tt, .d2-1289122894 .md h4 tt,
.md h4 code, .d2-1289122894 .md h4 code,
.md h5 tt, .d2-1289122894 .md h5 tt,
.md h5 code, .d2-1289122894 .md h5 code,
.md h6 tt, .d2-1289122894 .md h6 tt,
.md h6 code { .d2-1289122894 .md h6 code {
padding: 0 0.2em; padding: 0 0.2em;
font-size: inherit; font-size: inherit;
} }
.md ul.no-list, .d2-1289122894 .md ul.no-list,
.md ol.no-list { .d2-1289122894 .md ol.no-list {
padding: 0; padding: 0;
list-style-type: none; list-style-type: none;
} }
.md ol[type="1"] { .d2-1289122894 .md ol[type="1"] {
list-style-type: decimal; list-style-type: decimal;
} }
.md ol[type="a"] { .d2-1289122894 .md ol[type="a"] {
list-style-type: lower-alpha; list-style-type: lower-alpha;
} }
.md ol[type="i"] { .d2-1289122894 .md ol[type="i"] {
list-style-type: lower-roman; list-style-type: lower-roman;
} }
.md div > ol:not([type]) { .d2-1289122894 .md div > ol:not([type]) {
list-style-type: decimal; list-style-type: decimal;
} }
.md ul ul, .d2-1289122894 .md ul ul,
.md ul ol, .d2-1289122894 .md ul ol,
.md ol ol, .d2-1289122894 .md ol ol,
.md ol ul { .d2-1289122894 .md ol ul {
margin-top: 0; margin-top: 0;
margin-bottom: 0; margin-bottom: 0;
} }
.md li > p { .d2-1289122894 .md li > p {
margin-top: 16px; margin-top: 16px;
} }
.md li + li { .d2-1289122894 .md li + li {
margin-top: 0.25em; margin-top: 0.25em;
} }
.md dl { .d2-1289122894 .md dl {
padding: 0; padding: 0;
} }
.md dl dt { .d2-1289122894 .md dl dt {
padding: 0; padding: 0;
margin-top: 16px; margin-top: 16px;
font-size: 1em; font-size: 1em;
@ -581,48 +581,48 @@
font-weight: 600; font-weight: 600;
} }
.md dl dd { .d2-1289122894 .md dl dd {
padding: 0 16px; padding: 0 16px;
margin-bottom: 16px; margin-bottom: 16px;
} }
.md table th { .d2-1289122894 .md table th {
font-weight: 600; font-weight: 600;
} }
.md table th, .d2-1289122894 .md table th,
.md table td { .d2-1289122894 .md table td {
padding: 6px 13px; padding: 6px 13px;
border: 1px solid var(--color-border-default); border: 1px solid var(--color-border-default);
} }
.md table tr { .d2-1289122894 .md table tr {
background-color: var(--color-canvas-default); background-color: var(--color-canvas-default);
border-top: 1px solid var(--color-border-muted); border-top: 1px solid var(--color-border-muted);
} }
.md table tr:nth-child(2n) { .d2-1289122894 .md table tr:nth-child(2n) {
background-color: var(--color-canvas-subtle); background-color: var(--color-canvas-subtle);
} }
.md table img { .d2-1289122894 .md table img {
background-color: transparent; background-color: transparent;
} }
.md img[align="right"] { .d2-1289122894 .md img[align="right"] {
padding-left: 20px; padding-left: 20px;
} }
.md img[align="left"] { .d2-1289122894 .md img[align="left"] {
padding-right: 20px; padding-right: 20px;
} }
.md span.frame { .d2-1289122894 .md span.frame {
display: block; display: block;
overflow: hidden; overflow: hidden;
} }
.md span.frame > span { .d2-1289122894 .md span.frame > span {
display: block; display: block;
float: left; float: left;
width: auto; width: auto;
@ -632,81 +632,81 @@
border: 1px solid var(--color-border-default); border: 1px solid var(--color-border-default);
} }
.md span.frame span img { .d2-1289122894 .md span.frame span img {
display: block; display: block;
float: left; float: left;
} }
.md span.frame span span { .d2-1289122894 .md span.frame span span {
display: block; display: block;
padding: 5px 0 0; padding: 5px 0 0;
clear: both; clear: both;
color: var(--color-fg-default); color: var(--color-fg-default);
} }
.md span.align-center { .d2-1289122894 .md span.align-center {
display: block; display: block;
overflow: hidden; overflow: hidden;
clear: both; clear: both;
} }
.md span.align-center > span { .d2-1289122894 .md span.align-center > span {
display: block; display: block;
margin: 13px auto 0; margin: 13px auto 0;
overflow: hidden; overflow: hidden;
text-align: center; text-align: center;
} }
.md span.align-center span img { .d2-1289122894 .md span.align-center span img {
margin: 0 auto; margin: 0 auto;
text-align: center; text-align: center;
} }
.md span.align-right { .d2-1289122894 .md span.align-right {
display: block; display: block;
overflow: hidden; overflow: hidden;
clear: both; clear: both;
} }
.md span.align-right > span { .d2-1289122894 .md span.align-right > span {
display: block; display: block;
margin: 13px 0 0; margin: 13px 0 0;
overflow: hidden; overflow: hidden;
text-align: right; text-align: right;
} }
.md span.align-right span img { .d2-1289122894 .md span.align-right span img {
margin: 0; margin: 0;
text-align: right; text-align: right;
} }
.md span.float-left { .d2-1289122894 .md span.float-left {
display: block; display: block;
float: left; float: left;
margin-right: 13px; margin-right: 13px;
overflow: hidden; overflow: hidden;
} }
.md span.float-left span { .d2-1289122894 .md span.float-left span {
margin: 13px 0 0; margin: 13px 0 0;
} }
.md span.float-right { .d2-1289122894 .md span.float-right {
display: block; display: block;
float: right; float: right;
margin-left: 13px; margin-left: 13px;
overflow: hidden; overflow: hidden;
} }
.md span.float-right > span { .d2-1289122894 .md span.float-right > span {
display: block; display: block;
margin: 13px auto 0; margin: 13px auto 0;
overflow: hidden; overflow: hidden;
text-align: right; text-align: right;
} }
.md code, .d2-1289122894 .md code,
.md tt { .d2-1289122894 .md tt {
padding: 0.2em 0.4em; padding: 0.2em 0.4em;
margin: 0; margin: 0;
font-size: 85%; font-size: 85%;
@ -714,20 +714,20 @@
border-radius: 6px; border-radius: 6px;
} }
.md code br, .d2-1289122894 .md code br,
.md tt br { .d2-1289122894 .md tt br {
display: none; display: none;
} }
.md del code { .d2-1289122894 .md del code {
text-decoration: inherit; text-decoration: inherit;
} }
.md pre code { .d2-1289122894 .md pre code {
font-size: 100%; font-size: 100%;
} }
.md pre > code { .d2-1289122894 .md pre > code {
padding: 0; padding: 0;
margin: 0; margin: 0;
word-break: normal; word-break: normal;
@ -736,17 +736,17 @@
border: 0; border: 0;
} }
.md .highlight { .d2-1289122894 .md .highlight {
margin-bottom: 16px; margin-bottom: 16px;
} }
.md .highlight pre { .d2-1289122894 .md .highlight pre {
margin-bottom: 0; margin-bottom: 0;
word-break: normal; word-break: normal;
} }
.md .highlight pre, .d2-1289122894 .md .highlight pre,
.md pre { .d2-1289122894 .md pre {
padding: 16px; padding: 16px;
overflow: auto; overflow: auto;
font-size: 85%; font-size: 85%;
@ -755,8 +755,8 @@
border-radius: 6px; border-radius: 6px;
} }
.md pre code, .d2-1289122894 .md pre code,
.md pre tt { .d2-1289122894 .md pre tt {
display: inline; display: inline;
max-width: auto; max-width: auto;
padding: 0; padding: 0;
@ -768,8 +768,8 @@
border: 0; border: 0;
} }
.md .csv-data td, .d2-1289122894 .md .csv-data td,
.md .csv-data th { .d2-1289122894 .md .csv-data th {
padding: 5px; padding: 5px;
overflow: hidden; overflow: hidden;
font-size: 12px; font-size: 12px;
@ -778,38 +778,38 @@
white-space: nowrap; white-space: nowrap;
} }
.md .csv-data .blob-num { .d2-1289122894 .md .csv-data .blob-num {
padding: 10px 8px 9px; padding: 10px 8px 9px;
text-align: right; text-align: right;
background: var(--color-canvas-default); background: var(--color-canvas-default);
border: 0; border: 0;
} }
.md .csv-data tr { .d2-1289122894 .md .csv-data tr {
border-top: 0; border-top: 0;
} }
.md .csv-data th { .d2-1289122894 .md .csv-data th {
font-weight: 600; font-weight: 600;
background: var(--color-canvas-subtle); background: var(--color-canvas-subtle);
border-top: 0; border-top: 0;
} }
.md .footnotes { .d2-1289122894 .md .footnotes {
font-size: 12px; font-size: 12px;
color: var(--color-fg-muted); color: var(--color-fg-muted);
border-top: 1px solid var(--color-border-default); border-top: 1px solid var(--color-border-default);
} }
.md .footnotes ol { .d2-1289122894 .md .footnotes ol {
padding-left: 16px; padding-left: 16px;
} }
.md .footnotes li { .d2-1289122894 .md .footnotes li {
position: relative; position: relative;
} }
.md .footnotes li:target::before { .d2-1289122894 .md .footnotes li:target::before {
position: absolute; position: absolute;
top: -8px; top: -8px;
right: -8px; right: -8px;
@ -821,36 +821,36 @@
border-radius: 6px; border-radius: 6px;
} }
.md .footnotes li:target { .d2-1289122894 .md .footnotes li:target {
color: var(--color-fg-default); color: var(--color-fg-default);
} }
.md .task-list-item { .d2-1289122894 .md .task-list-item {
list-style-type: none; list-style-type: none;
} }
.md .task-list-item label { .d2-1289122894 .md .task-list-item label {
font-weight: 400; font-weight: 400;
} }
.md .task-list-item.enabled label { .d2-1289122894 .md .task-list-item.enabled label {
cursor: pointer; cursor: pointer;
} }
.md .task-list-item + .task-list-item { .d2-1289122894 .md .task-list-item + .task-list-item {
margin-top: 3px; margin-top: 3px;
} }
.md .task-list-item .handle { .d2-1289122894 .md .task-list-item .handle {
display: none; display: none;
} }
.md .task-list-item-checkbox { .d2-1289122894 .md .task-list-item-checkbox {
margin: 0 0.2em 0.25em -1.6em; margin: 0 0.2em 0.25em -1.6em;
vertical-align: middle; vertical-align: middle;
} }
.md .contains-task-list:dir(rtl) .task-list-item-checkbox { .d2-1289122894 .md .contains-task-list:dir(rtl) .task-list-item-checkbox {
margin: 0 -1.6em 0.25em 0.2em; margin: 0 -1.6em 0.25em 0.2em;
} }
</style><defs><pattern id="streaks-bright" x="0" y="0" width="100" height="100" patternUnits="userSpaceOnUse"> </style><defs><pattern id="streaks-bright" x="0" y="0" width="100" height="100" patternUnits="userSpaceOnUse">

Before

Width:  |  Height:  |  Size: 181 KiB

After

Width:  |  Height:  |  Size: 183 KiB

View file

@ -1,4 +1,4 @@
<?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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 2789 2472"><svg id="d2-svg" class="d2-1289122894" width="2789" height="2472" viewBox="-101 -101 2789 2472"><rect x="-101.000000" y="-101.000000" width="2789.000000" height="2472.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[ <?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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 2789 2472"><svg id="d2-svg" class="d2-1289122894" width="2789" height="2472" viewBox="-101 -101 2789 2472"><rect x="-101.000000" y="-101.000000" width="2789.000000" height="2472.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-1289122894 .text { .d2-1289122894 .text {
font-family: "d2-1289122894-font-regular"; font-family: "d2-1289122894-font-regular";
} }
@ -111,31 +111,31 @@
.d2-1289122894 .color-AA4{color:#45475A;} .d2-1289122894 .color-AA4{color:#45475A;}
.d2-1289122894 .color-AA5{color:#313244;} .d2-1289122894 .color-AA5{color:#313244;}
.d2-1289122894 .color-AB4{color:#45475A;} .d2-1289122894 .color-AB4{color:#45475A;}
.d2-1289122894 .color-AB5{color:#313244;}.appendix text.text{fill:#CDD6F4}.md{--color-fg-default:#CDD6F4;--color-fg-muted:#BAC2DE;--color-fg-subtle:#A6ADC8;--color-canvas-default:#1E1E2E;--color-canvas-subtle:#313244;--color-border-default:#CBA6f7;--color-border-muted:#CBA6f7;--color-neutral-muted:#313244;--color-accent-fg:#CBA6f7;--color-accent-emphasis:#CBA6f7;--color-attention-subtle:#BAC2DE;--color-danger-fg:red;}.sketch-overlay-B1{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-B2{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-B3{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-B4{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-B5{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-B6{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-AA2{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-AA4{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-AA5{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-AB4{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-AB5{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-N1{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N2{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N3{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N4{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-N5{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-N6{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-N7{fill:url(#streaks-darker);mix-blend-mode:lighten}.light-code{display: none}.dark-code{display: block}]]></style><style type="text/css">.md em, .d2-1289122894 .color-AB5{color:#313244;}.appendix text.text{fill:#CDD6F4}.md{--color-fg-default:#CDD6F4;--color-fg-muted:#BAC2DE;--color-fg-subtle:#A6ADC8;--color-canvas-default:#1E1E2E;--color-canvas-subtle:#313244;--color-border-default:#CBA6f7;--color-border-muted:#CBA6f7;--color-neutral-muted:#313244;--color-accent-fg:#CBA6f7;--color-accent-emphasis:#CBA6f7;--color-attention-subtle:#BAC2DE;--color-danger-fg:red;}.sketch-overlay-B1{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-B2{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-B3{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-B4{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-B5{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-B6{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-AA2{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-AA4{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-AA5{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-AB4{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-AB5{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-N1{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N2{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N3{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N4{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-N5{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-N6{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-N7{fill:url(#streaks-darker);mix-blend-mode:lighten}.light-code{display: none}.dark-code{display: block}]]></style><style type="text/css">.d2-1289122894 .md em,
.md dfn { .d2-1289122894 .md dfn {
font-family: "d2-1289122894-font-italic"; font-family: "d2-1289122894-font-italic";
} }
.md b, .d2-1289122894 .md b,
.md strong { .d2-1289122894 .md strong {
font-family: "d2-1289122894-font-bold"; font-family: "d2-1289122894-font-bold";
} }
.md code, .d2-1289122894 .md code,
.md kbd, .d2-1289122894 .md kbd,
.md pre, .d2-1289122894 .md pre,
.md samp { .d2-1289122894 .md samp {
font-family: "d2-1289122894-font-mono"; font-family: "d2-1289122894-font-mono";
font-size: 1em; font-size: 1em;
} }
.md { .d2-1289122894 .md {
tab-size: 4; tab-size: 4;
} }
/* variables are provided in d2renderers/d2svg/d2svg.go */ /* variables are provided in d2renderers/d2svg/d2svg.go */
.md { .d2-1289122894 .md {
-ms-text-size-adjust: 100%; -ms-text-size-adjust: 100%;
-webkit-text-size-adjust: 100%; -webkit-text-size-adjust: 100%;
margin: 0; margin: 0;
@ -147,41 +147,41 @@
word-wrap: break-word; word-wrap: break-word;
} }
.md details, .d2-1289122894 .md details,
.md figcaption, .d2-1289122894 .md figcaption,
.md figure { .d2-1289122894 .md figure {
display: block; display: block;
} }
.md summary { .d2-1289122894 .md summary {
display: list-item; display: list-item;
} }
.md [hidden] { .d2-1289122894 .md [hidden] {
display: none !important; display: none !important;
} }
.md a { .d2-1289122894 .md a {
background-color: transparent; background-color: transparent;
color: var(--color-accent-fg); color: var(--color-accent-fg);
text-decoration: none; text-decoration: none;
} }
.md a:active, .d2-1289122894 .md a:active,
.md a:hover { .d2-1289122894 .md a:hover {
outline-width: 0; outline-width: 0;
} }
.md abbr[title] { .d2-1289122894 .md abbr[title] {
border-bottom: none; border-bottom: none;
text-decoration: underline dotted; text-decoration: underline dotted;
} }
.md dfn { .d2-1289122894 .md dfn {
font-style: italic; font-style: italic;
} }
.md h1 { .d2-1289122894 .md h1 {
margin: 0.67em 0; margin: 0.67em 0;
font-weight: 600; font-weight: 600;
padding-bottom: 0.3em; padding-bottom: 0.3em;
@ -189,43 +189,43 @@
border-bottom: 1px solid var(--color-border-muted); border-bottom: 1px solid var(--color-border-muted);
} }
.md mark { .d2-1289122894 .md mark {
background-color: var(--color-attention-subtle); background-color: var(--color-attention-subtle);
color: var(--color-text-primary); color: var(--color-text-primary);
} }
.md small { .d2-1289122894 .md small {
font-size: 90%; font-size: 90%;
} }
.md sub, .d2-1289122894 .md sub,
.md sup { .d2-1289122894 .md sup {
font-size: 75%; font-size: 75%;
line-height: 0; line-height: 0;
position: relative; position: relative;
vertical-align: baseline; vertical-align: baseline;
} }
.md sub { .d2-1289122894 .md sub {
bottom: -0.25em; bottom: -0.25em;
} }
.md sup { .d2-1289122894 .md sup {
top: -0.5em; top: -0.5em;
} }
.md img { .d2-1289122894 .md img {
border-style: none; border-style: none;
max-width: 100%; max-width: 100%;
box-sizing: content-box; box-sizing: content-box;
background-color: var(--color-canvas-default); background-color: var(--color-canvas-default);
} }
.md figure { .d2-1289122894 .md figure {
margin: 1em 40px; margin: 1em 40px;
} }
.md hr { .d2-1289122894 .md hr {
box-sizing: content-box; box-sizing: content-box;
overflow: hidden; overflow: hidden;
background: transparent; background: transparent;
@ -237,7 +237,7 @@
border: 0; border: 0;
} }
.md input { .d2-1289122894 .md input {
font: inherit; font: inherit;
margin: 0; margin: 0;
overflow: visible; overflow: visible;
@ -246,72 +246,72 @@
line-height: inherit; line-height: inherit;
} }
.md [type="button"], .d2-1289122894 .md [type="button"],
.md [type="reset"], .d2-1289122894 .md [type="reset"],
.md [type="submit"] { .d2-1289122894 .md [type="submit"] {
-webkit-appearance: button; -webkit-appearance: button;
} }
.md [type="button"]::-moz-focus-inner, .d2-1289122894 .md [type="button"]::-moz-focus-inner,
.md [type="reset"]::-moz-focus-inner, .d2-1289122894 .md [type="reset"]::-moz-focus-inner,
.md [type="submit"]::-moz-focus-inner { .d2-1289122894 .md [type="submit"]::-moz-focus-inner {
border-style: none; border-style: none;
padding: 0; padding: 0;
} }
.md [type="button"]:-moz-focusring, .d2-1289122894 .md [type="button"]:-moz-focusring,
.md [type="reset"]:-moz-focusring, .d2-1289122894 .md [type="reset"]:-moz-focusring,
.md [type="submit"]:-moz-focusring { .d2-1289122894 .md [type="submit"]:-moz-focusring {
outline: 1px dotted ButtonText; outline: 1px dotted ButtonText;
} }
.md [type="checkbox"], .d2-1289122894 .md [type="checkbox"],
.md [type="radio"] { .d2-1289122894 .md [type="radio"] {
box-sizing: border-box; box-sizing: border-box;
padding: 0; padding: 0;
} }
.md [type="number"]::-webkit-inner-spin-button, .d2-1289122894 .md [type="number"]::-webkit-inner-spin-button,
.md [type="number"]::-webkit-outer-spin-button { .d2-1289122894 .md [type="number"]::-webkit-outer-spin-button {
height: auto; height: auto;
} }
.md [type="search"] { .d2-1289122894 .md [type="search"] {
-webkit-appearance: textfield; -webkit-appearance: textfield;
outline-offset: -2px; outline-offset: -2px;
} }
.md [type="search"]::-webkit-search-cancel-button, .d2-1289122894 .md [type="search"]::-webkit-search-cancel-button,
.md [type="search"]::-webkit-search-decoration { .d2-1289122894 .md [type="search"]::-webkit-search-decoration {
-webkit-appearance: none; -webkit-appearance: none;
} }
.md ::-webkit-input-placeholder { .d2-1289122894 .md ::-webkit-input-placeholder {
color: inherit; color: inherit;
opacity: 0.54; opacity: 0.54;
} }
.md ::-webkit-file-upload-button { .d2-1289122894 .md ::-webkit-file-upload-button {
-webkit-appearance: button; -webkit-appearance: button;
font: inherit; font: inherit;
} }
.md a:hover { .d2-1289122894 .md a:hover {
text-decoration: underline; text-decoration: underline;
} }
.md hr::before { .d2-1289122894 .md hr::before {
display: table; display: table;
content: ""; content: "";
} }
.md hr::after { .d2-1289122894 .md hr::after {
display: table; display: table;
clear: both; clear: both;
content: ""; content: "";
} }
.md table { .d2-1289122894 .md table {
border-spacing: 0; border-spacing: 0;
border-collapse: collapse; border-collapse: collapse;
display: block; display: block;
@ -320,20 +320,20 @@
overflow: auto; overflow: auto;
} }
.md td, .d2-1289122894 .md td,
.md th { .d2-1289122894 .md th {
padding: 0; padding: 0;
} }
.md details summary { .d2-1289122894 .md details summary {
cursor: pointer; cursor: pointer;
} }
.md details:not([open]) > *:not(summary) { .d2-1289122894 .md details:not([open]) > *:not(summary) {
display: none !important; display: none !important;
} }
.md kbd { .d2-1289122894 .md kbd {
display: inline-block; display: inline-block;
padding: 3px 5px; padding: 3px 5px;
color: var(--color-fg-default); color: var(--color-fg-default);
@ -345,12 +345,12 @@
box-shadow: inset 0 -1px 0 var(--color-neutral-muted); box-shadow: inset 0 -1px 0 var(--color-neutral-muted);
} }
.md h1, .d2-1289122894 .md h1,
.md h2, .d2-1289122894 .md h2,
.md h3, .d2-1289122894 .md h3,
.md h4, .d2-1289122894 .md h4,
.md h5, .d2-1289122894 .md h5,
.md h6 { .d2-1289122894 .md h6 {
margin-top: 24px; margin-top: 24px;
margin-bottom: 16px; margin-bottom: 16px;
font-weight: 600; font-weight: 600;
@ -358,222 +358,222 @@
font-family: "d2-1289122894-font-regular"; font-family: "d2-1289122894-font-regular";
} }
.md h2 { .d2-1289122894 .md h2 {
font-weight: 600; font-weight: 600;
padding-bottom: 0.3em; padding-bottom: 0.3em;
font-size: 1.5em; font-size: 1.5em;
border-bottom: 1px solid var(--color-border-muted); border-bottom: 1px solid var(--color-border-muted);
} }
.md h3 { .d2-1289122894 .md h3 {
font-weight: 600; font-weight: 600;
font-size: 1.25em; font-size: 1.25em;
} }
.md h4 { .d2-1289122894 .md h4 {
font-weight: 600; font-weight: 600;
font-size: 1em; font-size: 1em;
} }
.md h5 { .d2-1289122894 .md h5 {
font-weight: 600; font-weight: 600;
font-size: 0.875em; font-size: 0.875em;
} }
.md h6 { .d2-1289122894 .md h6 {
font-weight: 600; font-weight: 600;
font-size: 0.85em; font-size: 0.85em;
color: var(--color-fg-muted); color: var(--color-fg-muted);
} }
.md p { .d2-1289122894 .md p {
margin-top: 0; margin-top: 0;
margin-bottom: 10px; margin-bottom: 10px;
} }
.md blockquote { .d2-1289122894 .md blockquote {
margin: 0; margin: 0;
padding: 0 1em; padding: 0 1em;
color: var(--color-fg-muted); color: var(--color-fg-muted);
border-left: 0.25em solid var(--color-border-default); border-left: 0.25em solid var(--color-border-default);
} }
.md ul, .d2-1289122894 .md ul,
.md ol { .d2-1289122894 .md ol {
margin-top: 0; margin-top: 0;
margin-bottom: 0; margin-bottom: 0;
padding-left: 2em; padding-left: 2em;
} }
.md ol ol, .d2-1289122894 .md ol ol,
.md ul ol { .d2-1289122894 .md ul ol {
list-style-type: lower-roman; list-style-type: lower-roman;
} }
.md ul ul ol, .d2-1289122894 .md ul ul ol,
.md ul ol ol, .d2-1289122894 .md ul ol ol,
.md ol ul ol, .d2-1289122894 .md ol ul ol,
.md ol ol ol { .d2-1289122894 .md ol ol ol {
list-style-type: lower-alpha; list-style-type: lower-alpha;
} }
.md dd { .d2-1289122894 .md dd {
margin-left: 0; margin-left: 0;
} }
.md pre { .d2-1289122894 .md pre {
margin-top: 0; margin-top: 0;
margin-bottom: 0; margin-bottom: 0;
word-wrap: normal; word-wrap: normal;
} }
.md ::placeholder { .d2-1289122894 .md ::placeholder {
color: var(--color-fg-subtle); color: var(--color-fg-subtle);
opacity: 1; opacity: 1;
} }
.md input::-webkit-outer-spin-button, .d2-1289122894 .md input::-webkit-outer-spin-button,
.md input::-webkit-inner-spin-button { .d2-1289122894 .md input::-webkit-inner-spin-button {
margin: 0; margin: 0;
-webkit-appearance: none; -webkit-appearance: none;
appearance: none; appearance: none;
} }
.md::before { .d2-1289122894 .md::before {
display: table; display: table;
content: ""; content: "";
} }
.md::after { .d2-1289122894 .md::after {
display: table; display: table;
clear: both; clear: both;
content: ""; content: "";
} }
.md > *:first-child { .d2-1289122894 .md > *:first-child {
margin-top: 0 !important; margin-top: 0 !important;
} }
.md > *:last-child { .d2-1289122894 .md > *:last-child {
margin-bottom: 0 !important; margin-bottom: 0 !important;
} }
.md a:not([href]) { .d2-1289122894 .md a:not([href]) {
color: inherit; color: inherit;
text-decoration: none; text-decoration: none;
} }
.md .absent { .d2-1289122894 .md .absent {
color: var(--color-danger-fg); color: var(--color-danger-fg);
} }
.md .anchor { .d2-1289122894 .md .anchor {
float: left; float: left;
padding-right: 4px; padding-right: 4px;
margin-left: -20px; margin-left: -20px;
line-height: 1; line-height: 1;
} }
.md .anchor:focus { .d2-1289122894 .md .anchor:focus {
outline: none; outline: none;
} }
.md p, .d2-1289122894 .md p,
.md blockquote, .d2-1289122894 .md blockquote,
.md ul, .d2-1289122894 .md ul,
.md ol, .d2-1289122894 .md ol,
.md dl, .d2-1289122894 .md dl,
.md table, .d2-1289122894 .md table,
.md pre, .d2-1289122894 .md pre,
.md details { .d2-1289122894 .md details {
margin-top: 0; margin-top: 0;
margin-bottom: 16px; margin-bottom: 16px;
} }
.md blockquote > :first-child { .d2-1289122894 .md blockquote > :first-child {
margin-top: 0; margin-top: 0;
} }
.md blockquote > :last-child { .d2-1289122894 .md blockquote > :last-child {
margin-bottom: 0; margin-bottom: 0;
} }
.md sup > a::before { .d2-1289122894 .md sup > a::before {
content: "["; content: "[";
} }
.md sup > a::after { .d2-1289122894 .md sup > a::after {
content: "]"; content: "]";
} }
.md h1:hover .anchor, .d2-1289122894 .md h1:hover .anchor,
.md h2:hover .anchor, .d2-1289122894 .md h2:hover .anchor,
.md h3:hover .anchor, .d2-1289122894 .md h3:hover .anchor,
.md h4:hover .anchor, .d2-1289122894 .md h4:hover .anchor,
.md h5:hover .anchor, .d2-1289122894 .md h5:hover .anchor,
.md h6:hover .anchor { .d2-1289122894 .md h6:hover .anchor {
text-decoration: none; text-decoration: none;
} }
.md h1 tt, .d2-1289122894 .md h1 tt,
.md h1 code, .d2-1289122894 .md h1 code,
.md h2 tt, .d2-1289122894 .md h2 tt,
.md h2 code, .d2-1289122894 .md h2 code,
.md h3 tt, .d2-1289122894 .md h3 tt,
.md h3 code, .d2-1289122894 .md h3 code,
.md h4 tt, .d2-1289122894 .md h4 tt,
.md h4 code, .d2-1289122894 .md h4 code,
.md h5 tt, .d2-1289122894 .md h5 tt,
.md h5 code, .d2-1289122894 .md h5 code,
.md h6 tt, .d2-1289122894 .md h6 tt,
.md h6 code { .d2-1289122894 .md h6 code {
padding: 0 0.2em; padding: 0 0.2em;
font-size: inherit; font-size: inherit;
} }
.md ul.no-list, .d2-1289122894 .md ul.no-list,
.md ol.no-list { .d2-1289122894 .md ol.no-list {
padding: 0; padding: 0;
list-style-type: none; list-style-type: none;
} }
.md ol[type="1"] { .d2-1289122894 .md ol[type="1"] {
list-style-type: decimal; list-style-type: decimal;
} }
.md ol[type="a"] { .d2-1289122894 .md ol[type="a"] {
list-style-type: lower-alpha; list-style-type: lower-alpha;
} }
.md ol[type="i"] { .d2-1289122894 .md ol[type="i"] {
list-style-type: lower-roman; list-style-type: lower-roman;
} }
.md div > ol:not([type]) { .d2-1289122894 .md div > ol:not([type]) {
list-style-type: decimal; list-style-type: decimal;
} }
.md ul ul, .d2-1289122894 .md ul ul,
.md ul ol, .d2-1289122894 .md ul ol,
.md ol ol, .d2-1289122894 .md ol ol,
.md ol ul { .d2-1289122894 .md ol ul {
margin-top: 0; margin-top: 0;
margin-bottom: 0; margin-bottom: 0;
} }
.md li > p { .d2-1289122894 .md li > p {
margin-top: 16px; margin-top: 16px;
} }
.md li + li { .d2-1289122894 .md li + li {
margin-top: 0.25em; margin-top: 0.25em;
} }
.md dl { .d2-1289122894 .md dl {
padding: 0; padding: 0;
} }
.md dl dt { .d2-1289122894 .md dl dt {
padding: 0; padding: 0;
margin-top: 16px; margin-top: 16px;
font-size: 1em; font-size: 1em;
@ -581,48 +581,48 @@
font-weight: 600; font-weight: 600;
} }
.md dl dd { .d2-1289122894 .md dl dd {
padding: 0 16px; padding: 0 16px;
margin-bottom: 16px; margin-bottom: 16px;
} }
.md table th { .d2-1289122894 .md table th {
font-weight: 600; font-weight: 600;
} }
.md table th, .d2-1289122894 .md table th,
.md table td { .d2-1289122894 .md table td {
padding: 6px 13px; padding: 6px 13px;
border: 1px solid var(--color-border-default); border: 1px solid var(--color-border-default);
} }
.md table tr { .d2-1289122894 .md table tr {
background-color: var(--color-canvas-default); background-color: var(--color-canvas-default);
border-top: 1px solid var(--color-border-muted); border-top: 1px solid var(--color-border-muted);
} }
.md table tr:nth-child(2n) { .d2-1289122894 .md table tr:nth-child(2n) {
background-color: var(--color-canvas-subtle); background-color: var(--color-canvas-subtle);
} }
.md table img { .d2-1289122894 .md table img {
background-color: transparent; background-color: transparent;
} }
.md img[align="right"] { .d2-1289122894 .md img[align="right"] {
padding-left: 20px; padding-left: 20px;
} }
.md img[align="left"] { .d2-1289122894 .md img[align="left"] {
padding-right: 20px; padding-right: 20px;
} }
.md span.frame { .d2-1289122894 .md span.frame {
display: block; display: block;
overflow: hidden; overflow: hidden;
} }
.md span.frame > span { .d2-1289122894 .md span.frame > span {
display: block; display: block;
float: left; float: left;
width: auto; width: auto;
@ -632,81 +632,81 @@
border: 1px solid var(--color-border-default); border: 1px solid var(--color-border-default);
} }
.md span.frame span img { .d2-1289122894 .md span.frame span img {
display: block; display: block;
float: left; float: left;
} }
.md span.frame span span { .d2-1289122894 .md span.frame span span {
display: block; display: block;
padding: 5px 0 0; padding: 5px 0 0;
clear: both; clear: both;
color: var(--color-fg-default); color: var(--color-fg-default);
} }
.md span.align-center { .d2-1289122894 .md span.align-center {
display: block; display: block;
overflow: hidden; overflow: hidden;
clear: both; clear: both;
} }
.md span.align-center > span { .d2-1289122894 .md span.align-center > span {
display: block; display: block;
margin: 13px auto 0; margin: 13px auto 0;
overflow: hidden; overflow: hidden;
text-align: center; text-align: center;
} }
.md span.align-center span img { .d2-1289122894 .md span.align-center span img {
margin: 0 auto; margin: 0 auto;
text-align: center; text-align: center;
} }
.md span.align-right { .d2-1289122894 .md span.align-right {
display: block; display: block;
overflow: hidden; overflow: hidden;
clear: both; clear: both;
} }
.md span.align-right > span { .d2-1289122894 .md span.align-right > span {
display: block; display: block;
margin: 13px 0 0; margin: 13px 0 0;
overflow: hidden; overflow: hidden;
text-align: right; text-align: right;
} }
.md span.align-right span img { .d2-1289122894 .md span.align-right span img {
margin: 0; margin: 0;
text-align: right; text-align: right;
} }
.md span.float-left { .d2-1289122894 .md span.float-left {
display: block; display: block;
float: left; float: left;
margin-right: 13px; margin-right: 13px;
overflow: hidden; overflow: hidden;
} }
.md span.float-left span { .d2-1289122894 .md span.float-left span {
margin: 13px 0 0; margin: 13px 0 0;
} }
.md span.float-right { .d2-1289122894 .md span.float-right {
display: block; display: block;
float: right; float: right;
margin-left: 13px; margin-left: 13px;
overflow: hidden; overflow: hidden;
} }
.md span.float-right > span { .d2-1289122894 .md span.float-right > span {
display: block; display: block;
margin: 13px auto 0; margin: 13px auto 0;
overflow: hidden; overflow: hidden;
text-align: right; text-align: right;
} }
.md code, .d2-1289122894 .md code,
.md tt { .d2-1289122894 .md tt {
padding: 0.2em 0.4em; padding: 0.2em 0.4em;
margin: 0; margin: 0;
font-size: 85%; font-size: 85%;
@ -714,20 +714,20 @@
border-radius: 6px; border-radius: 6px;
} }
.md code br, .d2-1289122894 .md code br,
.md tt br { .d2-1289122894 .md tt br {
display: none; display: none;
} }
.md del code { .d2-1289122894 .md del code {
text-decoration: inherit; text-decoration: inherit;
} }
.md pre code { .d2-1289122894 .md pre code {
font-size: 100%; font-size: 100%;
} }
.md pre > code { .d2-1289122894 .md pre > code {
padding: 0; padding: 0;
margin: 0; margin: 0;
word-break: normal; word-break: normal;
@ -736,17 +736,17 @@
border: 0; border: 0;
} }
.md .highlight { .d2-1289122894 .md .highlight {
margin-bottom: 16px; margin-bottom: 16px;
} }
.md .highlight pre { .d2-1289122894 .md .highlight pre {
margin-bottom: 0; margin-bottom: 0;
word-break: normal; word-break: normal;
} }
.md .highlight pre, .d2-1289122894 .md .highlight pre,
.md pre { .d2-1289122894 .md pre {
padding: 16px; padding: 16px;
overflow: auto; overflow: auto;
font-size: 85%; font-size: 85%;
@ -755,8 +755,8 @@
border-radius: 6px; border-radius: 6px;
} }
.md pre code, .d2-1289122894 .md pre code,
.md pre tt { .d2-1289122894 .md pre tt {
display: inline; display: inline;
max-width: auto; max-width: auto;
padding: 0; padding: 0;
@ -768,8 +768,8 @@
border: 0; border: 0;
} }
.md .csv-data td, .d2-1289122894 .md .csv-data td,
.md .csv-data th { .d2-1289122894 .md .csv-data th {
padding: 5px; padding: 5px;
overflow: hidden; overflow: hidden;
font-size: 12px; font-size: 12px;
@ -778,38 +778,38 @@
white-space: nowrap; white-space: nowrap;
} }
.md .csv-data .blob-num { .d2-1289122894 .md .csv-data .blob-num {
padding: 10px 8px 9px; padding: 10px 8px 9px;
text-align: right; text-align: right;
background: var(--color-canvas-default); background: var(--color-canvas-default);
border: 0; border: 0;
} }
.md .csv-data tr { .d2-1289122894 .md .csv-data tr {
border-top: 0; border-top: 0;
} }
.md .csv-data th { .d2-1289122894 .md .csv-data th {
font-weight: 600; font-weight: 600;
background: var(--color-canvas-subtle); background: var(--color-canvas-subtle);
border-top: 0; border-top: 0;
} }
.md .footnotes { .d2-1289122894 .md .footnotes {
font-size: 12px; font-size: 12px;
color: var(--color-fg-muted); color: var(--color-fg-muted);
border-top: 1px solid var(--color-border-default); border-top: 1px solid var(--color-border-default);
} }
.md .footnotes ol { .d2-1289122894 .md .footnotes ol {
padding-left: 16px; padding-left: 16px;
} }
.md .footnotes li { .d2-1289122894 .md .footnotes li {
position: relative; position: relative;
} }
.md .footnotes li:target::before { .d2-1289122894 .md .footnotes li:target::before {
position: absolute; position: absolute;
top: -8px; top: -8px;
right: -8px; right: -8px;
@ -821,36 +821,36 @@
border-radius: 6px; border-radius: 6px;
} }
.md .footnotes li:target { .d2-1289122894 .md .footnotes li:target {
color: var(--color-fg-default); color: var(--color-fg-default);
} }
.md .task-list-item { .d2-1289122894 .md .task-list-item {
list-style-type: none; list-style-type: none;
} }
.md .task-list-item label { .d2-1289122894 .md .task-list-item label {
font-weight: 400; font-weight: 400;
} }
.md .task-list-item.enabled label { .d2-1289122894 .md .task-list-item.enabled label {
cursor: pointer; cursor: pointer;
} }
.md .task-list-item + .task-list-item { .d2-1289122894 .md .task-list-item + .task-list-item {
margin-top: 3px; margin-top: 3px;
} }
.md .task-list-item .handle { .d2-1289122894 .md .task-list-item .handle {
display: none; display: none;
} }
.md .task-list-item-checkbox { .d2-1289122894 .md .task-list-item-checkbox {
margin: 0 0.2em 0.25em -1.6em; margin: 0 0.2em 0.25em -1.6em;
vertical-align: middle; vertical-align: middle;
} }
.md .contains-task-list:dir(rtl) .task-list-item-checkbox { .d2-1289122894 .md .contains-task-list:dir(rtl) .task-list-item-checkbox {
margin: 0 -1.6em 0.25em 0.2em; margin: 0 -1.6em 0.25em 0.2em;
} }
</style><defs><pattern id="streaks-bright" x="0" y="0" width="100" height="100" patternUnits="userSpaceOnUse"> </style><defs><pattern id="streaks-bright" x="0" y="0" width="100" height="100" patternUnits="userSpaceOnUse">

Before

Width:  |  Height:  |  Size: 181 KiB

After

Width:  |  Height:  |  Size: 183 KiB

View file

@ -1,4 +1,4 @@
<?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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 1431 1588"><svg id="d2-svg" class="d2-110554586" width="1431" height="1588" viewBox="-192 -70 1431 1588"><rect x="-192.000000" y="-70.000000" width="1431" height="1588" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[ <?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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 1431 1588"><svg id="d2-svg" class="d2-110554586" width="1431" height="1588" viewBox="-192 -70 1431 1588"><rect x="-192.000000" y="-70.000000" width="1431" height="1588" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-110554586 .text { .d2-110554586 .text {
font-family: "d2-110554586-font-regular"; font-family: "d2-110554586-font-regular";
} }

Before

Width:  |  Height:  |  Size: 676 KiB

After

Width:  |  Height:  |  Size: 676 KiB

View file

@ -1,4 +1,4 @@
<?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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 304 407"><svg id="d2-svg" class="d2-916646398" width="304" height="407" viewBox="-101 -118 304 407"><rect x="-101.000000" y="-118.000000" width="304" height="407" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[ <?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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 304 407"><svg id="d2-svg" class="d2-916646398" width="304" height="407" viewBox="-101 -118 304 407"><rect x="-101.000000" y="-118.000000" width="304" height="407" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.appendix-icon { .appendix-icon {
filter: drop-shadow(0px 0px 32px rgba(31, 36, 58, 0.1)); filter: drop-shadow(0px 0px 32px rgba(31, 36, 58, 0.1));
} }

Before

Width:  |  Height:  |  Size: 657 KiB

After

Width:  |  Height:  |  Size: 657 KiB

View file

@ -1,4 +1,4 @@
<?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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 564 682"><svg id="d2-svg" class="d2-109718516" width="564" height="682" viewBox="-101 -118 564 682"><rect x="-101.000000" y="-118.000000" width="564" height="682" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[ <?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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 564 682"><svg id="d2-svg" class="d2-109718516" width="564" height="682" viewBox="-101 -118 564 682"><rect x="-101.000000" y="-118.000000" width="564" height="682" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.appendix-icon { .appendix-icon {
filter: drop-shadow(0px 0px 32px rgba(31, 36, 58, 0.1)); filter: drop-shadow(0px 0px 32px rgba(31, 36, 58, 0.1));
} }

Before

Width:  |  Height:  |  Size: 661 KiB

After

Width:  |  Height:  |  Size: 661 KiB

View file

@ -1,4 +1,4 @@
<?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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 564 682"><svg id="d2-svg" class="d2-1293182475" width="564" height="682" viewBox="-101 -118 564 682"><rect x="-101.000000" y="-118.000000" width="564" height="682" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[ <?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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 564 682"><svg id="d2-svg" class="d2-1293182475" width="564" height="682" viewBox="-101 -118 564 682"><rect x="-101.000000" y="-118.000000" width="564" height="682" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.appendix-icon { .appendix-icon {
filter: drop-shadow(0px 0px 32px rgba(31, 36, 58, 0.1)); filter: drop-shadow(0px 0px 32px rgba(31, 36, 58, 0.1));
} }

Before

Width:  |  Height:  |  Size: 661 KiB

After

Width:  |  Height:  |  Size: 661 KiB

View file

@ -1,4 +1,4 @@
<?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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 565 630"><svg id="d2-svg" class="d2-1773020175" width="565" height="630" viewBox="-101 -118 565 630"><rect x="-101.000000" y="-118.000000" width="565" height="630" rx="0.000000" fill="PaleVioletRed" stroke-width="0" /><style type="text/css"><![CDATA[ <?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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 565 630"><svg id="d2-svg" class="d2-1773020175" width="565" height="630" viewBox="-101 -118 565 630"><rect x="-101.000000" y="-118.000000" width="565" height="630" rx="0.000000" fill="PaleVioletRed" stroke-width="0" /><style type="text/css"><![CDATA[
.appendix-icon { .appendix-icon {
filter: drop-shadow(0px 0px 32px rgba(31, 36, 58, 0.1)); filter: drop-shadow(0px 0px 32px rgba(31, 36, 58, 0.1));
} }

Before

Width:  |  Height:  |  Size: 661 KiB

After

Width:  |  Height:  |  Size: 661 KiB

View file

@ -1,4 +1,4 @@
<?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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 565 630"><svg id="d2-svg" class="d2-1773020175" width="565" height="630" viewBox="-101 -118 565 630"><rect x="-101.000000" y="-118.000000" width="565" height="630" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[ <?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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 565 630"><svg id="d2-svg" class="d2-1773020175" width="565" height="630" viewBox="-101 -118 565 630"><rect x="-101.000000" y="-118.000000" width="565" height="630" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.appendix-icon { .appendix-icon {
filter: drop-shadow(0px 0px 32px rgba(31, 36, 58, 0.1)); filter: drop-shadow(0px 0px 32px rgba(31, 36, 58, 0.1));
} }

Before

Width:  |  Height:  |  Size: 661 KiB

After

Width:  |  Height:  |  Size: 661 KiB

View file

@ -1764,6 +1764,7 @@ func Render(diagram *d2target.Diagram, opts *RenderOpts) ([]byte, error) {
} }
if hasMarkdown { if hasMarkdown {
css := MarkdownCSS css := MarkdownCSS
css = strings.ReplaceAll(css, ".md", fmt.Sprintf(".%s .md", diagramHash))
css = strings.ReplaceAll(css, "font-italic", fmt.Sprintf("%s-font-italic", diagramHash)) css = strings.ReplaceAll(css, "font-italic", fmt.Sprintf("%s-font-italic", diagramHash))
css = strings.ReplaceAll(css, "font-bold", fmt.Sprintf("%s-font-bold", diagramHash)) css = strings.ReplaceAll(css, "font-bold", fmt.Sprintf("%s-font-bold", diagramHash))
css = strings.ReplaceAll(css, "font-mono", fmt.Sprintf("%s-font-mono", diagramHash)) css = strings.ReplaceAll(css, "font-mono", fmt.Sprintf("%s-font-mono", diagramHash))

View file

@ -1,4 +1,4 @@
<?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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 1400 710"><svg id="d2-svg" class="d2-1976235645" width="1400" height="710" viewBox="-101 -101 1400 710"><rect x="-101.000000" y="-101.000000" width="1400.000000" height="710.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[ <?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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 1400 710"><svg id="d2-svg" class="d2-1976235645" width="1400" height="710" viewBox="-101 -101 1400 710"><rect x="-101.000000" y="-101.000000" width="1400.000000" height="710.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-1976235645 .text-bold { .d2-1976235645 .text-bold {
font-family: "d2-1976235645-font-bold"; font-family: "d2-1976235645-font-bold";
} }

Before

Width:  |  Height:  |  Size: 25 KiB

After

Width:  |  Height:  |  Size: 25 KiB

View file

@ -1,4 +1,4 @@
<?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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 429 799"><svg id="d2-svg" class="d2-1762467727" width="429" height="799" viewBox="-101 -100 429 799"><rect x="-101.000000" y="-100.000000" width="429.000000" height="799.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[ <?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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 429 799"><svg id="d2-svg" class="d2-1762467727" width="429" height="799" viewBox="-101 -100 429 799"><rect x="-101.000000" y="-100.000000" width="429.000000" height="799.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-1762467727 .text { .d2-1762467727 .text {
font-family: "d2-1762467727-font-regular"; font-family: "d2-1762467727-font-regular";
} }

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 22 KiB

View file

@ -1,4 +1,4 @@
<?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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 1249 657"><svg id="d2-svg" class="d2-981471403" width="1249" height="657" viewBox="-101 -101 1249 657"><rect x="-101.000000" y="-101.000000" width="1249.000000" height="657.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[ <?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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 1249 657"><svg id="d2-svg" class="d2-981471403" width="1249" height="657" viewBox="-101 -101 1249 657"><rect x="-101.000000" y="-101.000000" width="1249.000000" height="657.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-981471403 .text-bold { .d2-981471403 .text-bold {
font-family: "d2-981471403-font-bold"; font-family: "d2-981471403-font-bold";
} }

Before

Width:  |  Height:  |  Size: 42 KiB

After

Width:  |  Height:  |  Size: 42 KiB

View file

@ -1,4 +1,4 @@
<?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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 257 434"><svg id="d2-svg" class="d2-3092019906" width="257" height="434" viewBox="-101 -101 257 434"><rect x="-101.000000" y="-101.000000" width="257.000000" height="434.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[ <?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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 257 434"><svg id="d2-svg" class="d2-3092019906" width="257" height="434" viewBox="-101 -101 257 434"><rect x="-101.000000" y="-101.000000" width="257.000000" height="434.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-3092019906 .text-bold { .d2-3092019906 .text-bold {
font-family: "d2-3092019906-font-bold"; font-family: "d2-3092019906-font-bold";
} }

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB

View file

@ -1,4 +1,4 @@
<?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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 370 633"><svg id="d2-svg" class="d2-916383956" width="370" height="633" viewBox="-101 -100 370 633"><rect x="-101.000000" y="-100.000000" width="370.000000" height="633.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[ <?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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 370 633"><svg id="d2-svg" class="d2-916383956" width="370" height="633" viewBox="-101 -100 370 633"><rect x="-101.000000" y="-100.000000" width="370.000000" height="633.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-916383956 .text { .d2-916383956 .text {
font-family: "d2-916383956-font-regular"; font-family: "d2-916383956-font-regular";
} }

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

View file

@ -1,4 +1,4 @@
<?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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 624 570"><svg id="d2-svg" class="d2-3945613123" width="624" height="570" viewBox="-101 -101 624 570"><rect x="-101.000000" y="-101.000000" width="624.000000" height="570.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[ <?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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 624 570"><svg id="d2-svg" class="d2-3945613123" width="624" height="570" viewBox="-101 -101 624 570"><rect x="-101.000000" y="-101.000000" width="624.000000" height="570.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-3945613123 .text-mono { .d2-3945613123 .text-mono {
font-family: "d2-3945613123-font-mono"; font-family: "d2-3945613123-font-mono";
} }

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 14 KiB

View file

@ -1,4 +1,4 @@
<?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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 937 410"><svg id="d2-svg" class="d2-2744436118" width="937" height="410" viewBox="-101 -101 937 410"><rect x="-101.000000" y="-101.000000" width="937.000000" height="410.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[ <?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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 937 410"><svg id="d2-svg" class="d2-2744436118" width="937" height="410" viewBox="-101 -101 937 410"><rect x="-101.000000" y="-101.000000" width="937.000000" height="410.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-2744436118 .text { .d2-2744436118 .text {
font-family: "d2-2744436118-font-regular"; font-family: "d2-2744436118-font-regular";
} }
@ -110,31 +110,31 @@
.d2-2744436118 .color-AA4{color:#45475A;} .d2-2744436118 .color-AA4{color:#45475A;}
.d2-2744436118 .color-AA5{color:#313244;} .d2-2744436118 .color-AA5{color:#313244;}
.d2-2744436118 .color-AB4{color:#45475A;} .d2-2744436118 .color-AB4{color:#45475A;}
.d2-2744436118 .color-AB5{color:#313244;}.appendix text.text{fill:#CDD6F4}.md{--color-fg-default:#CDD6F4;--color-fg-muted:#BAC2DE;--color-fg-subtle:#A6ADC8;--color-canvas-default:#1E1E2E;--color-canvas-subtle:#313244;--color-border-default:#CBA6f7;--color-border-muted:#CBA6f7;--color-neutral-muted:#313244;--color-accent-fg:#CBA6f7;--color-accent-emphasis:#CBA6f7;--color-attention-subtle:#BAC2DE;--color-danger-fg:red;}.sketch-overlay-B1{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-B2{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-B3{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-B4{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-B5{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-B6{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-AA2{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-AA4{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-AA5{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-AB4{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-AB5{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-N1{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N2{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N3{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N4{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-N5{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-N6{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-N7{fill:url(#streaks-darker);mix-blend-mode:lighten}.light-code{display: none}.dark-code{display: block}]]></style><style type="text/css">.md em, .d2-2744436118 .color-AB5{color:#313244;}.appendix text.text{fill:#CDD6F4}.md{--color-fg-default:#CDD6F4;--color-fg-muted:#BAC2DE;--color-fg-subtle:#A6ADC8;--color-canvas-default:#1E1E2E;--color-canvas-subtle:#313244;--color-border-default:#CBA6f7;--color-border-muted:#CBA6f7;--color-neutral-muted:#313244;--color-accent-fg:#CBA6f7;--color-accent-emphasis:#CBA6f7;--color-attention-subtle:#BAC2DE;--color-danger-fg:red;}.sketch-overlay-B1{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-B2{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-B3{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-B4{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-B5{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-B6{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-AA2{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-AA4{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-AA5{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-AB4{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-AB5{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-N1{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N2{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N3{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N4{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-N5{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-N6{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-N7{fill:url(#streaks-darker);mix-blend-mode:lighten}.light-code{display: none}.dark-code{display: block}]]></style><style type="text/css">.d2-2744436118 .md em,
.md dfn { .d2-2744436118 .md dfn {
font-family: "d2-2744436118-font-italic"; font-family: "d2-2744436118-font-italic";
} }
.md b, .d2-2744436118 .md b,
.md strong { .d2-2744436118 .md strong {
font-family: "d2-2744436118-font-bold"; font-family: "d2-2744436118-font-bold";
} }
.md code, .d2-2744436118 .md code,
.md kbd, .d2-2744436118 .md kbd,
.md pre, .d2-2744436118 .md pre,
.md samp { .d2-2744436118 .md samp {
font-family: "d2-2744436118-font-mono"; font-family: "d2-2744436118-font-mono";
font-size: 1em; font-size: 1em;
} }
.md { .d2-2744436118 .md {
tab-size: 4; tab-size: 4;
} }
/* variables are provided in d2renderers/d2svg/d2svg.go */ /* variables are provided in d2renderers/d2svg/d2svg.go */
.md { .d2-2744436118 .md {
-ms-text-size-adjust: 100%; -ms-text-size-adjust: 100%;
-webkit-text-size-adjust: 100%; -webkit-text-size-adjust: 100%;
margin: 0; margin: 0;
@ -146,41 +146,41 @@
word-wrap: break-word; word-wrap: break-word;
} }
.md details, .d2-2744436118 .md details,
.md figcaption, .d2-2744436118 .md figcaption,
.md figure { .d2-2744436118 .md figure {
display: block; display: block;
} }
.md summary { .d2-2744436118 .md summary {
display: list-item; display: list-item;
} }
.md [hidden] { .d2-2744436118 .md [hidden] {
display: none !important; display: none !important;
} }
.md a { .d2-2744436118 .md a {
background-color: transparent; background-color: transparent;
color: var(--color-accent-fg); color: var(--color-accent-fg);
text-decoration: none; text-decoration: none;
} }
.md a:active, .d2-2744436118 .md a:active,
.md a:hover { .d2-2744436118 .md a:hover {
outline-width: 0; outline-width: 0;
} }
.md abbr[title] { .d2-2744436118 .md abbr[title] {
border-bottom: none; border-bottom: none;
text-decoration: underline dotted; text-decoration: underline dotted;
} }
.md dfn { .d2-2744436118 .md dfn {
font-style: italic; font-style: italic;
} }
.md h1 { .d2-2744436118 .md h1 {
margin: 0.67em 0; margin: 0.67em 0;
font-weight: 600; font-weight: 600;
padding-bottom: 0.3em; padding-bottom: 0.3em;
@ -188,43 +188,43 @@
border-bottom: 1px solid var(--color-border-muted); border-bottom: 1px solid var(--color-border-muted);
} }
.md mark { .d2-2744436118 .md mark {
background-color: var(--color-attention-subtle); background-color: var(--color-attention-subtle);
color: var(--color-text-primary); color: var(--color-text-primary);
} }
.md small { .d2-2744436118 .md small {
font-size: 90%; font-size: 90%;
} }
.md sub, .d2-2744436118 .md sub,
.md sup { .d2-2744436118 .md sup {
font-size: 75%; font-size: 75%;
line-height: 0; line-height: 0;
position: relative; position: relative;
vertical-align: baseline; vertical-align: baseline;
} }
.md sub { .d2-2744436118 .md sub {
bottom: -0.25em; bottom: -0.25em;
} }
.md sup { .d2-2744436118 .md sup {
top: -0.5em; top: -0.5em;
} }
.md img { .d2-2744436118 .md img {
border-style: none; border-style: none;
max-width: 100%; max-width: 100%;
box-sizing: content-box; box-sizing: content-box;
background-color: var(--color-canvas-default); background-color: var(--color-canvas-default);
} }
.md figure { .d2-2744436118 .md figure {
margin: 1em 40px; margin: 1em 40px;
} }
.md hr { .d2-2744436118 .md hr {
box-sizing: content-box; box-sizing: content-box;
overflow: hidden; overflow: hidden;
background: transparent; background: transparent;
@ -236,7 +236,7 @@
border: 0; border: 0;
} }
.md input { .d2-2744436118 .md input {
font: inherit; font: inherit;
margin: 0; margin: 0;
overflow: visible; overflow: visible;
@ -245,72 +245,72 @@
line-height: inherit; line-height: inherit;
} }
.md [type="button"], .d2-2744436118 .md [type="button"],
.md [type="reset"], .d2-2744436118 .md [type="reset"],
.md [type="submit"] { .d2-2744436118 .md [type="submit"] {
-webkit-appearance: button; -webkit-appearance: button;
} }
.md [type="button"]::-moz-focus-inner, .d2-2744436118 .md [type="button"]::-moz-focus-inner,
.md [type="reset"]::-moz-focus-inner, .d2-2744436118 .md [type="reset"]::-moz-focus-inner,
.md [type="submit"]::-moz-focus-inner { .d2-2744436118 .md [type="submit"]::-moz-focus-inner {
border-style: none; border-style: none;
padding: 0; padding: 0;
} }
.md [type="button"]:-moz-focusring, .d2-2744436118 .md [type="button"]:-moz-focusring,
.md [type="reset"]:-moz-focusring, .d2-2744436118 .md [type="reset"]:-moz-focusring,
.md [type="submit"]:-moz-focusring { .d2-2744436118 .md [type="submit"]:-moz-focusring {
outline: 1px dotted ButtonText; outline: 1px dotted ButtonText;
} }
.md [type="checkbox"], .d2-2744436118 .md [type="checkbox"],
.md [type="radio"] { .d2-2744436118 .md [type="radio"] {
box-sizing: border-box; box-sizing: border-box;
padding: 0; padding: 0;
} }
.md [type="number"]::-webkit-inner-spin-button, .d2-2744436118 .md [type="number"]::-webkit-inner-spin-button,
.md [type="number"]::-webkit-outer-spin-button { .d2-2744436118 .md [type="number"]::-webkit-outer-spin-button {
height: auto; height: auto;
} }
.md [type="search"] { .d2-2744436118 .md [type="search"] {
-webkit-appearance: textfield; -webkit-appearance: textfield;
outline-offset: -2px; outline-offset: -2px;
} }
.md [type="search"]::-webkit-search-cancel-button, .d2-2744436118 .md [type="search"]::-webkit-search-cancel-button,
.md [type="search"]::-webkit-search-decoration { .d2-2744436118 .md [type="search"]::-webkit-search-decoration {
-webkit-appearance: none; -webkit-appearance: none;
} }
.md ::-webkit-input-placeholder { .d2-2744436118 .md ::-webkit-input-placeholder {
color: inherit; color: inherit;
opacity: 0.54; opacity: 0.54;
} }
.md ::-webkit-file-upload-button { .d2-2744436118 .md ::-webkit-file-upload-button {
-webkit-appearance: button; -webkit-appearance: button;
font: inherit; font: inherit;
} }
.md a:hover { .d2-2744436118 .md a:hover {
text-decoration: underline; text-decoration: underline;
} }
.md hr::before { .d2-2744436118 .md hr::before {
display: table; display: table;
content: ""; content: "";
} }
.md hr::after { .d2-2744436118 .md hr::after {
display: table; display: table;
clear: both; clear: both;
content: ""; content: "";
} }
.md table { .d2-2744436118 .md table {
border-spacing: 0; border-spacing: 0;
border-collapse: collapse; border-collapse: collapse;
display: block; display: block;
@ -319,20 +319,20 @@
overflow: auto; overflow: auto;
} }
.md td, .d2-2744436118 .md td,
.md th { .d2-2744436118 .md th {
padding: 0; padding: 0;
} }
.md details summary { .d2-2744436118 .md details summary {
cursor: pointer; cursor: pointer;
} }
.md details:not([open]) > *:not(summary) { .d2-2744436118 .md details:not([open]) > *:not(summary) {
display: none !important; display: none !important;
} }
.md kbd { .d2-2744436118 .md kbd {
display: inline-block; display: inline-block;
padding: 3px 5px; padding: 3px 5px;
color: var(--color-fg-default); color: var(--color-fg-default);
@ -344,12 +344,12 @@
box-shadow: inset 0 -1px 0 var(--color-neutral-muted); box-shadow: inset 0 -1px 0 var(--color-neutral-muted);
} }
.md h1, .d2-2744436118 .md h1,
.md h2, .d2-2744436118 .md h2,
.md h3, .d2-2744436118 .md h3,
.md h4, .d2-2744436118 .md h4,
.md h5, .d2-2744436118 .md h5,
.md h6 { .d2-2744436118 .md h6 {
margin-top: 24px; margin-top: 24px;
margin-bottom: 16px; margin-bottom: 16px;
font-weight: 600; font-weight: 600;
@ -357,222 +357,222 @@
font-family: "d2-2744436118-font-regular"; font-family: "d2-2744436118-font-regular";
} }
.md h2 { .d2-2744436118 .md h2 {
font-weight: 600; font-weight: 600;
padding-bottom: 0.3em; padding-bottom: 0.3em;
font-size: 1.5em; font-size: 1.5em;
border-bottom: 1px solid var(--color-border-muted); border-bottom: 1px solid var(--color-border-muted);
} }
.md h3 { .d2-2744436118 .md h3 {
font-weight: 600; font-weight: 600;
font-size: 1.25em; font-size: 1.25em;
} }
.md h4 { .d2-2744436118 .md h4 {
font-weight: 600; font-weight: 600;
font-size: 1em; font-size: 1em;
} }
.md h5 { .d2-2744436118 .md h5 {
font-weight: 600; font-weight: 600;
font-size: 0.875em; font-size: 0.875em;
} }
.md h6 { .d2-2744436118 .md h6 {
font-weight: 600; font-weight: 600;
font-size: 0.85em; font-size: 0.85em;
color: var(--color-fg-muted); color: var(--color-fg-muted);
} }
.md p { .d2-2744436118 .md p {
margin-top: 0; margin-top: 0;
margin-bottom: 10px; margin-bottom: 10px;
} }
.md blockquote { .d2-2744436118 .md blockquote {
margin: 0; margin: 0;
padding: 0 1em; padding: 0 1em;
color: var(--color-fg-muted); color: var(--color-fg-muted);
border-left: 0.25em solid var(--color-border-default); border-left: 0.25em solid var(--color-border-default);
} }
.md ul, .d2-2744436118 .md ul,
.md ol { .d2-2744436118 .md ol {
margin-top: 0; margin-top: 0;
margin-bottom: 0; margin-bottom: 0;
padding-left: 2em; padding-left: 2em;
} }
.md ol ol, .d2-2744436118 .md ol ol,
.md ul ol { .d2-2744436118 .md ul ol {
list-style-type: lower-roman; list-style-type: lower-roman;
} }
.md ul ul ol, .d2-2744436118 .md ul ul ol,
.md ul ol ol, .d2-2744436118 .md ul ol ol,
.md ol ul ol, .d2-2744436118 .md ol ul ol,
.md ol ol ol { .d2-2744436118 .md ol ol ol {
list-style-type: lower-alpha; list-style-type: lower-alpha;
} }
.md dd { .d2-2744436118 .md dd {
margin-left: 0; margin-left: 0;
} }
.md pre { .d2-2744436118 .md pre {
margin-top: 0; margin-top: 0;
margin-bottom: 0; margin-bottom: 0;
word-wrap: normal; word-wrap: normal;
} }
.md ::placeholder { .d2-2744436118 .md ::placeholder {
color: var(--color-fg-subtle); color: var(--color-fg-subtle);
opacity: 1; opacity: 1;
} }
.md input::-webkit-outer-spin-button, .d2-2744436118 .md input::-webkit-outer-spin-button,
.md input::-webkit-inner-spin-button { .d2-2744436118 .md input::-webkit-inner-spin-button {
margin: 0; margin: 0;
-webkit-appearance: none; -webkit-appearance: none;
appearance: none; appearance: none;
} }
.md::before { .d2-2744436118 .md::before {
display: table; display: table;
content: ""; content: "";
} }
.md::after { .d2-2744436118 .md::after {
display: table; display: table;
clear: both; clear: both;
content: ""; content: "";
} }
.md > *:first-child { .d2-2744436118 .md > *:first-child {
margin-top: 0 !important; margin-top: 0 !important;
} }
.md > *:last-child { .d2-2744436118 .md > *:last-child {
margin-bottom: 0 !important; margin-bottom: 0 !important;
} }
.md a:not([href]) { .d2-2744436118 .md a:not([href]) {
color: inherit; color: inherit;
text-decoration: none; text-decoration: none;
} }
.md .absent { .d2-2744436118 .md .absent {
color: var(--color-danger-fg); color: var(--color-danger-fg);
} }
.md .anchor { .d2-2744436118 .md .anchor {
float: left; float: left;
padding-right: 4px; padding-right: 4px;
margin-left: -20px; margin-left: -20px;
line-height: 1; line-height: 1;
} }
.md .anchor:focus { .d2-2744436118 .md .anchor:focus {
outline: none; outline: none;
} }
.md p, .d2-2744436118 .md p,
.md blockquote, .d2-2744436118 .md blockquote,
.md ul, .d2-2744436118 .md ul,
.md ol, .d2-2744436118 .md ol,
.md dl, .d2-2744436118 .md dl,
.md table, .d2-2744436118 .md table,
.md pre, .d2-2744436118 .md pre,
.md details { .d2-2744436118 .md details {
margin-top: 0; margin-top: 0;
margin-bottom: 16px; margin-bottom: 16px;
} }
.md blockquote > :first-child { .d2-2744436118 .md blockquote > :first-child {
margin-top: 0; margin-top: 0;
} }
.md blockquote > :last-child { .d2-2744436118 .md blockquote > :last-child {
margin-bottom: 0; margin-bottom: 0;
} }
.md sup > a::before { .d2-2744436118 .md sup > a::before {
content: "["; content: "[";
} }
.md sup > a::after { .d2-2744436118 .md sup > a::after {
content: "]"; content: "]";
} }
.md h1:hover .anchor, .d2-2744436118 .md h1:hover .anchor,
.md h2:hover .anchor, .d2-2744436118 .md h2:hover .anchor,
.md h3:hover .anchor, .d2-2744436118 .md h3:hover .anchor,
.md h4:hover .anchor, .d2-2744436118 .md h4:hover .anchor,
.md h5:hover .anchor, .d2-2744436118 .md h5:hover .anchor,
.md h6:hover .anchor { .d2-2744436118 .md h6:hover .anchor {
text-decoration: none; text-decoration: none;
} }
.md h1 tt, .d2-2744436118 .md h1 tt,
.md h1 code, .d2-2744436118 .md h1 code,
.md h2 tt, .d2-2744436118 .md h2 tt,
.md h2 code, .d2-2744436118 .md h2 code,
.md h3 tt, .d2-2744436118 .md h3 tt,
.md h3 code, .d2-2744436118 .md h3 code,
.md h4 tt, .d2-2744436118 .md h4 tt,
.md h4 code, .d2-2744436118 .md h4 code,
.md h5 tt, .d2-2744436118 .md h5 tt,
.md h5 code, .d2-2744436118 .md h5 code,
.md h6 tt, .d2-2744436118 .md h6 tt,
.md h6 code { .d2-2744436118 .md h6 code {
padding: 0 0.2em; padding: 0 0.2em;
font-size: inherit; font-size: inherit;
} }
.md ul.no-list, .d2-2744436118 .md ul.no-list,
.md ol.no-list { .d2-2744436118 .md ol.no-list {
padding: 0; padding: 0;
list-style-type: none; list-style-type: none;
} }
.md ol[type="1"] { .d2-2744436118 .md ol[type="1"] {
list-style-type: decimal; list-style-type: decimal;
} }
.md ol[type="a"] { .d2-2744436118 .md ol[type="a"] {
list-style-type: lower-alpha; list-style-type: lower-alpha;
} }
.md ol[type="i"] { .d2-2744436118 .md ol[type="i"] {
list-style-type: lower-roman; list-style-type: lower-roman;
} }
.md div > ol:not([type]) { .d2-2744436118 .md div > ol:not([type]) {
list-style-type: decimal; list-style-type: decimal;
} }
.md ul ul, .d2-2744436118 .md ul ul,
.md ul ol, .d2-2744436118 .md ul ol,
.md ol ol, .d2-2744436118 .md ol ol,
.md ol ul { .d2-2744436118 .md ol ul {
margin-top: 0; margin-top: 0;
margin-bottom: 0; margin-bottom: 0;
} }
.md li > p { .d2-2744436118 .md li > p {
margin-top: 16px; margin-top: 16px;
} }
.md li + li { .d2-2744436118 .md li + li {
margin-top: 0.25em; margin-top: 0.25em;
} }
.md dl { .d2-2744436118 .md dl {
padding: 0; padding: 0;
} }
.md dl dt { .d2-2744436118 .md dl dt {
padding: 0; padding: 0;
margin-top: 16px; margin-top: 16px;
font-size: 1em; font-size: 1em;
@ -580,48 +580,48 @@
font-weight: 600; font-weight: 600;
} }
.md dl dd { .d2-2744436118 .md dl dd {
padding: 0 16px; padding: 0 16px;
margin-bottom: 16px; margin-bottom: 16px;
} }
.md table th { .d2-2744436118 .md table th {
font-weight: 600; font-weight: 600;
} }
.md table th, .d2-2744436118 .md table th,
.md table td { .d2-2744436118 .md table td {
padding: 6px 13px; padding: 6px 13px;
border: 1px solid var(--color-border-default); border: 1px solid var(--color-border-default);
} }
.md table tr { .d2-2744436118 .md table tr {
background-color: var(--color-canvas-default); background-color: var(--color-canvas-default);
border-top: 1px solid var(--color-border-muted); border-top: 1px solid var(--color-border-muted);
} }
.md table tr:nth-child(2n) { .d2-2744436118 .md table tr:nth-child(2n) {
background-color: var(--color-canvas-subtle); background-color: var(--color-canvas-subtle);
} }
.md table img { .d2-2744436118 .md table img {
background-color: transparent; background-color: transparent;
} }
.md img[align="right"] { .d2-2744436118 .md img[align="right"] {
padding-left: 20px; padding-left: 20px;
} }
.md img[align="left"] { .d2-2744436118 .md img[align="left"] {
padding-right: 20px; padding-right: 20px;
} }
.md span.frame { .d2-2744436118 .md span.frame {
display: block; display: block;
overflow: hidden; overflow: hidden;
} }
.md span.frame > span { .d2-2744436118 .md span.frame > span {
display: block; display: block;
float: left; float: left;
width: auto; width: auto;
@ -631,81 +631,81 @@
border: 1px solid var(--color-border-default); border: 1px solid var(--color-border-default);
} }
.md span.frame span img { .d2-2744436118 .md span.frame span img {
display: block; display: block;
float: left; float: left;
} }
.md span.frame span span { .d2-2744436118 .md span.frame span span {
display: block; display: block;
padding: 5px 0 0; padding: 5px 0 0;
clear: both; clear: both;
color: var(--color-fg-default); color: var(--color-fg-default);
} }
.md span.align-center { .d2-2744436118 .md span.align-center {
display: block; display: block;
overflow: hidden; overflow: hidden;
clear: both; clear: both;
} }
.md span.align-center > span { .d2-2744436118 .md span.align-center > span {
display: block; display: block;
margin: 13px auto 0; margin: 13px auto 0;
overflow: hidden; overflow: hidden;
text-align: center; text-align: center;
} }
.md span.align-center span img { .d2-2744436118 .md span.align-center span img {
margin: 0 auto; margin: 0 auto;
text-align: center; text-align: center;
} }
.md span.align-right { .d2-2744436118 .md span.align-right {
display: block; display: block;
overflow: hidden; overflow: hidden;
clear: both; clear: both;
} }
.md span.align-right > span { .d2-2744436118 .md span.align-right > span {
display: block; display: block;
margin: 13px 0 0; margin: 13px 0 0;
overflow: hidden; overflow: hidden;
text-align: right; text-align: right;
} }
.md span.align-right span img { .d2-2744436118 .md span.align-right span img {
margin: 0; margin: 0;
text-align: right; text-align: right;
} }
.md span.float-left { .d2-2744436118 .md span.float-left {
display: block; display: block;
float: left; float: left;
margin-right: 13px; margin-right: 13px;
overflow: hidden; overflow: hidden;
} }
.md span.float-left span { .d2-2744436118 .md span.float-left span {
margin: 13px 0 0; margin: 13px 0 0;
} }
.md span.float-right { .d2-2744436118 .md span.float-right {
display: block; display: block;
float: right; float: right;
margin-left: 13px; margin-left: 13px;
overflow: hidden; overflow: hidden;
} }
.md span.float-right > span { .d2-2744436118 .md span.float-right > span {
display: block; display: block;
margin: 13px auto 0; margin: 13px auto 0;
overflow: hidden; overflow: hidden;
text-align: right; text-align: right;
} }
.md code, .d2-2744436118 .md code,
.md tt { .d2-2744436118 .md tt {
padding: 0.2em 0.4em; padding: 0.2em 0.4em;
margin: 0; margin: 0;
font-size: 85%; font-size: 85%;
@ -713,20 +713,20 @@
border-radius: 6px; border-radius: 6px;
} }
.md code br, .d2-2744436118 .md code br,
.md tt br { .d2-2744436118 .md tt br {
display: none; display: none;
} }
.md del code { .d2-2744436118 .md del code {
text-decoration: inherit; text-decoration: inherit;
} }
.md pre code { .d2-2744436118 .md pre code {
font-size: 100%; font-size: 100%;
} }
.md pre > code { .d2-2744436118 .md pre > code {
padding: 0; padding: 0;
margin: 0; margin: 0;
word-break: normal; word-break: normal;
@ -735,17 +735,17 @@
border: 0; border: 0;
} }
.md .highlight { .d2-2744436118 .md .highlight {
margin-bottom: 16px; margin-bottom: 16px;
} }
.md .highlight pre { .d2-2744436118 .md .highlight pre {
margin-bottom: 0; margin-bottom: 0;
word-break: normal; word-break: normal;
} }
.md .highlight pre, .d2-2744436118 .md .highlight pre,
.md pre { .d2-2744436118 .md pre {
padding: 16px; padding: 16px;
overflow: auto; overflow: auto;
font-size: 85%; font-size: 85%;
@ -754,8 +754,8 @@
border-radius: 6px; border-radius: 6px;
} }
.md pre code, .d2-2744436118 .md pre code,
.md pre tt { .d2-2744436118 .md pre tt {
display: inline; display: inline;
max-width: auto; max-width: auto;
padding: 0; padding: 0;
@ -767,8 +767,8 @@
border: 0; border: 0;
} }
.md .csv-data td, .d2-2744436118 .md .csv-data td,
.md .csv-data th { .d2-2744436118 .md .csv-data th {
padding: 5px; padding: 5px;
overflow: hidden; overflow: hidden;
font-size: 12px; font-size: 12px;
@ -777,38 +777,38 @@
white-space: nowrap; white-space: nowrap;
} }
.md .csv-data .blob-num { .d2-2744436118 .md .csv-data .blob-num {
padding: 10px 8px 9px; padding: 10px 8px 9px;
text-align: right; text-align: right;
background: var(--color-canvas-default); background: var(--color-canvas-default);
border: 0; border: 0;
} }
.md .csv-data tr { .d2-2744436118 .md .csv-data tr {
border-top: 0; border-top: 0;
} }
.md .csv-data th { .d2-2744436118 .md .csv-data th {
font-weight: 600; font-weight: 600;
background: var(--color-canvas-subtle); background: var(--color-canvas-subtle);
border-top: 0; border-top: 0;
} }
.md .footnotes { .d2-2744436118 .md .footnotes {
font-size: 12px; font-size: 12px;
color: var(--color-fg-muted); color: var(--color-fg-muted);
border-top: 1px solid var(--color-border-default); border-top: 1px solid var(--color-border-default);
} }
.md .footnotes ol { .d2-2744436118 .md .footnotes ol {
padding-left: 16px; padding-left: 16px;
} }
.md .footnotes li { .d2-2744436118 .md .footnotes li {
position: relative; position: relative;
} }
.md .footnotes li:target::before { .d2-2744436118 .md .footnotes li:target::before {
position: absolute; position: absolute;
top: -8px; top: -8px;
right: -8px; right: -8px;
@ -820,36 +820,36 @@
border-radius: 6px; border-radius: 6px;
} }
.md .footnotes li:target { .d2-2744436118 .md .footnotes li:target {
color: var(--color-fg-default); color: var(--color-fg-default);
} }
.md .task-list-item { .d2-2744436118 .md .task-list-item {
list-style-type: none; list-style-type: none;
} }
.md .task-list-item label { .d2-2744436118 .md .task-list-item label {
font-weight: 400; font-weight: 400;
} }
.md .task-list-item.enabled label { .d2-2744436118 .md .task-list-item.enabled label {
cursor: pointer; cursor: pointer;
} }
.md .task-list-item + .task-list-item { .d2-2744436118 .md .task-list-item + .task-list-item {
margin-top: 3px; margin-top: 3px;
} }
.md .task-list-item .handle { .d2-2744436118 .md .task-list-item .handle {
display: none; display: none;
} }
.md .task-list-item-checkbox { .d2-2744436118 .md .task-list-item-checkbox {
margin: 0 0.2em 0.25em -1.6em; margin: 0 0.2em 0.25em -1.6em;
vertical-align: middle; vertical-align: middle;
} }
.md .contains-task-list:dir(rtl) .task-list-item-checkbox { .d2-2744436118 .md .contains-task-list:dir(rtl) .task-list-item-checkbox {
margin: 0 -1.6em 0.25em 0.2em; margin: 0 -1.6em 0.25em 0.2em;
} }
</style><g id="code"><g class="shape" ></g><g transform="translate(133.000000 0.000000)" class="light-code"><rect width="159.000000" height="70.000000" class="shape stroke-N1" style="fill:#ffffff" /><g transform="translate(6 6)"><text class="text-mono" x="0" y="1.000000em" xml:space="preserve"><tspan fill="#000000" class="text-mono-bold">func</tspan>&#160;<tspan fill="#990000" class="text-mono-bold">main</tspan>()&#160;{ </style><g id="code"><g class="shape" ></g><g transform="translate(133.000000 0.000000)" class="light-code"><rect width="159.000000" height="70.000000" class="shape stroke-N1" style="fill:#ffffff" /><g transform="translate(6 6)"><text class="text-mono" x="0" y="1.000000em" xml:space="preserve"><tspan fill="#000000" class="text-mono-bold">func</tspan>&#160;<tspan fill="#990000" class="text-mono-bold">main</tspan>()&#160;{

Before

Width:  |  Height:  |  Size: 47 KiB

After

Width:  |  Height:  |  Size: 49 KiB

View file

@ -1,4 +1,4 @@
<?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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 257 457"><svg id="d2-svg" class="d2-4211261339" width="257" height="457" viewBox="-101 -101 257 457"><rect x="-101.000000" y="-101.000000" width="257.000000" height="457.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[ <?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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 257 457"><svg id="d2-svg" class="d2-4211261339" width="257" height="457" viewBox="-101 -101 257 457"><rect x="-101.000000" y="-101.000000" width="257.000000" height="457.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-4211261339 .text-bold { .d2-4211261339 .text-bold {
font-family: "d2-4211261339-font-bold"; font-family: "d2-4211261339-font-bold";
} }

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

View file

@ -1,4 +1,4 @@
<?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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 1095 479"><svg id="d2-svg" class="d2-710463437" width="1095" height="479" viewBox="-100 -101 1095 479"><rect x="-100.000000" y="-101.000000" width="1095.000000" height="479.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[ <?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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 1095 479"><svg id="d2-svg" class="d2-710463437" width="1095" height="479" viewBox="-100 -101 1095 479"><rect x="-100.000000" y="-101.000000" width="1095.000000" height="479.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-710463437 .text { .d2-710463437 .text {
font-family: "d2-710463437-font-regular"; font-family: "d2-710463437-font-regular";
} }
@ -103,31 +103,31 @@
.d2-710463437 .color-AA4{color:#45475A;} .d2-710463437 .color-AA4{color:#45475A;}
.d2-710463437 .color-AA5{color:#313244;} .d2-710463437 .color-AA5{color:#313244;}
.d2-710463437 .color-AB4{color:#45475A;} .d2-710463437 .color-AB4{color:#45475A;}
.d2-710463437 .color-AB5{color:#313244;}.appendix text.text{fill:#CDD6F4}.md{--color-fg-default:#CDD6F4;--color-fg-muted:#BAC2DE;--color-fg-subtle:#A6ADC8;--color-canvas-default:#1E1E2E;--color-canvas-subtle:#313244;--color-border-default:#CBA6f7;--color-border-muted:#CBA6f7;--color-neutral-muted:#313244;--color-accent-fg:#CBA6f7;--color-accent-emphasis:#CBA6f7;--color-attention-subtle:#BAC2DE;--color-danger-fg:red;}.sketch-overlay-B1{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-B2{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-B3{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-B4{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-B5{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-B6{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-AA2{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-AA4{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-AA5{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-AB4{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-AB5{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-N1{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N2{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N3{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N4{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-N5{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-N6{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-N7{fill:url(#streaks-darker);mix-blend-mode:lighten}.light-code{display: none}.dark-code{display: block}]]></style><style type="text/css">.md em, .d2-710463437 .color-AB5{color:#313244;}.appendix text.text{fill:#CDD6F4}.md{--color-fg-default:#CDD6F4;--color-fg-muted:#BAC2DE;--color-fg-subtle:#A6ADC8;--color-canvas-default:#1E1E2E;--color-canvas-subtle:#313244;--color-border-default:#CBA6f7;--color-border-muted:#CBA6f7;--color-neutral-muted:#313244;--color-accent-fg:#CBA6f7;--color-accent-emphasis:#CBA6f7;--color-attention-subtle:#BAC2DE;--color-danger-fg:red;}.sketch-overlay-B1{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-B2{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-B3{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-B4{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-B5{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-B6{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-AA2{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-AA4{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-AA5{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-AB4{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-AB5{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-N1{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N2{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N3{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N4{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-N5{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-N6{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-N7{fill:url(#streaks-darker);mix-blend-mode:lighten}.light-code{display: none}.dark-code{display: block}]]></style><style type="text/css">.d2-710463437 .md em,
.md dfn { .d2-710463437 .md dfn {
font-family: "d2-710463437-font-italic"; font-family: "d2-710463437-font-italic";
} }
.md b, .d2-710463437 .md b,
.md strong { .d2-710463437 .md strong {
font-family: "d2-710463437-font-bold"; font-family: "d2-710463437-font-bold";
} }
.md code, .d2-710463437 .md code,
.md kbd, .d2-710463437 .md kbd,
.md pre, .d2-710463437 .md pre,
.md samp { .d2-710463437 .md samp {
font-family: "d2-710463437-font-mono"; font-family: "d2-710463437-font-mono";
font-size: 1em; font-size: 1em;
} }
.md { .d2-710463437 .md {
tab-size: 4; tab-size: 4;
} }
/* variables are provided in d2renderers/d2svg/d2svg.go */ /* variables are provided in d2renderers/d2svg/d2svg.go */
.md { .d2-710463437 .md {
-ms-text-size-adjust: 100%; -ms-text-size-adjust: 100%;
-webkit-text-size-adjust: 100%; -webkit-text-size-adjust: 100%;
margin: 0; margin: 0;
@ -139,41 +139,41 @@
word-wrap: break-word; word-wrap: break-word;
} }
.md details, .d2-710463437 .md details,
.md figcaption, .d2-710463437 .md figcaption,
.md figure { .d2-710463437 .md figure {
display: block; display: block;
} }
.md summary { .d2-710463437 .md summary {
display: list-item; display: list-item;
} }
.md [hidden] { .d2-710463437 .md [hidden] {
display: none !important; display: none !important;
} }
.md a { .d2-710463437 .md a {
background-color: transparent; background-color: transparent;
color: var(--color-accent-fg); color: var(--color-accent-fg);
text-decoration: none; text-decoration: none;
} }
.md a:active, .d2-710463437 .md a:active,
.md a:hover { .d2-710463437 .md a:hover {
outline-width: 0; outline-width: 0;
} }
.md abbr[title] { .d2-710463437 .md abbr[title] {
border-bottom: none; border-bottom: none;
text-decoration: underline dotted; text-decoration: underline dotted;
} }
.md dfn { .d2-710463437 .md dfn {
font-style: italic; font-style: italic;
} }
.md h1 { .d2-710463437 .md h1 {
margin: 0.67em 0; margin: 0.67em 0;
font-weight: 600; font-weight: 600;
padding-bottom: 0.3em; padding-bottom: 0.3em;
@ -181,43 +181,43 @@
border-bottom: 1px solid var(--color-border-muted); border-bottom: 1px solid var(--color-border-muted);
} }
.md mark { .d2-710463437 .md mark {
background-color: var(--color-attention-subtle); background-color: var(--color-attention-subtle);
color: var(--color-text-primary); color: var(--color-text-primary);
} }
.md small { .d2-710463437 .md small {
font-size: 90%; font-size: 90%;
} }
.md sub, .d2-710463437 .md sub,
.md sup { .d2-710463437 .md sup {
font-size: 75%; font-size: 75%;
line-height: 0; line-height: 0;
position: relative; position: relative;
vertical-align: baseline; vertical-align: baseline;
} }
.md sub { .d2-710463437 .md sub {
bottom: -0.25em; bottom: -0.25em;
} }
.md sup { .d2-710463437 .md sup {
top: -0.5em; top: -0.5em;
} }
.md img { .d2-710463437 .md img {
border-style: none; border-style: none;
max-width: 100%; max-width: 100%;
box-sizing: content-box; box-sizing: content-box;
background-color: var(--color-canvas-default); background-color: var(--color-canvas-default);
} }
.md figure { .d2-710463437 .md figure {
margin: 1em 40px; margin: 1em 40px;
} }
.md hr { .d2-710463437 .md hr {
box-sizing: content-box; box-sizing: content-box;
overflow: hidden; overflow: hidden;
background: transparent; background: transparent;
@ -229,7 +229,7 @@
border: 0; border: 0;
} }
.md input { .d2-710463437 .md input {
font: inherit; font: inherit;
margin: 0; margin: 0;
overflow: visible; overflow: visible;
@ -238,72 +238,72 @@
line-height: inherit; line-height: inherit;
} }
.md [type="button"], .d2-710463437 .md [type="button"],
.md [type="reset"], .d2-710463437 .md [type="reset"],
.md [type="submit"] { .d2-710463437 .md [type="submit"] {
-webkit-appearance: button; -webkit-appearance: button;
} }
.md [type="button"]::-moz-focus-inner, .d2-710463437 .md [type="button"]::-moz-focus-inner,
.md [type="reset"]::-moz-focus-inner, .d2-710463437 .md [type="reset"]::-moz-focus-inner,
.md [type="submit"]::-moz-focus-inner { .d2-710463437 .md [type="submit"]::-moz-focus-inner {
border-style: none; border-style: none;
padding: 0; padding: 0;
} }
.md [type="button"]:-moz-focusring, .d2-710463437 .md [type="button"]:-moz-focusring,
.md [type="reset"]:-moz-focusring, .d2-710463437 .md [type="reset"]:-moz-focusring,
.md [type="submit"]:-moz-focusring { .d2-710463437 .md [type="submit"]:-moz-focusring {
outline: 1px dotted ButtonText; outline: 1px dotted ButtonText;
} }
.md [type="checkbox"], .d2-710463437 .md [type="checkbox"],
.md [type="radio"] { .d2-710463437 .md [type="radio"] {
box-sizing: border-box; box-sizing: border-box;
padding: 0; padding: 0;
} }
.md [type="number"]::-webkit-inner-spin-button, .d2-710463437 .md [type="number"]::-webkit-inner-spin-button,
.md [type="number"]::-webkit-outer-spin-button { .d2-710463437 .md [type="number"]::-webkit-outer-spin-button {
height: auto; height: auto;
} }
.md [type="search"] { .d2-710463437 .md [type="search"] {
-webkit-appearance: textfield; -webkit-appearance: textfield;
outline-offset: -2px; outline-offset: -2px;
} }
.md [type="search"]::-webkit-search-cancel-button, .d2-710463437 .md [type="search"]::-webkit-search-cancel-button,
.md [type="search"]::-webkit-search-decoration { .d2-710463437 .md [type="search"]::-webkit-search-decoration {
-webkit-appearance: none; -webkit-appearance: none;
} }
.md ::-webkit-input-placeholder { .d2-710463437 .md ::-webkit-input-placeholder {
color: inherit; color: inherit;
opacity: 0.54; opacity: 0.54;
} }
.md ::-webkit-file-upload-button { .d2-710463437 .md ::-webkit-file-upload-button {
-webkit-appearance: button; -webkit-appearance: button;
font: inherit; font: inherit;
} }
.md a:hover { .d2-710463437 .md a:hover {
text-decoration: underline; text-decoration: underline;
} }
.md hr::before { .d2-710463437 .md hr::before {
display: table; display: table;
content: ""; content: "";
} }
.md hr::after { .d2-710463437 .md hr::after {
display: table; display: table;
clear: both; clear: both;
content: ""; content: "";
} }
.md table { .d2-710463437 .md table {
border-spacing: 0; border-spacing: 0;
border-collapse: collapse; border-collapse: collapse;
display: block; display: block;
@ -312,20 +312,20 @@
overflow: auto; overflow: auto;
} }
.md td, .d2-710463437 .md td,
.md th { .d2-710463437 .md th {
padding: 0; padding: 0;
} }
.md details summary { .d2-710463437 .md details summary {
cursor: pointer; cursor: pointer;
} }
.md details:not([open]) > *:not(summary) { .d2-710463437 .md details:not([open]) > *:not(summary) {
display: none !important; display: none !important;
} }
.md kbd { .d2-710463437 .md kbd {
display: inline-block; display: inline-block;
padding: 3px 5px; padding: 3px 5px;
color: var(--color-fg-default); color: var(--color-fg-default);
@ -337,12 +337,12 @@
box-shadow: inset 0 -1px 0 var(--color-neutral-muted); box-shadow: inset 0 -1px 0 var(--color-neutral-muted);
} }
.md h1, .d2-710463437 .md h1,
.md h2, .d2-710463437 .md h2,
.md h3, .d2-710463437 .md h3,
.md h4, .d2-710463437 .md h4,
.md h5, .d2-710463437 .md h5,
.md h6 { .d2-710463437 .md h6 {
margin-top: 24px; margin-top: 24px;
margin-bottom: 16px; margin-bottom: 16px;
font-weight: 600; font-weight: 600;
@ -350,222 +350,222 @@
font-family: "d2-710463437-font-regular"; font-family: "d2-710463437-font-regular";
} }
.md h2 { .d2-710463437 .md h2 {
font-weight: 600; font-weight: 600;
padding-bottom: 0.3em; padding-bottom: 0.3em;
font-size: 1.5em; font-size: 1.5em;
border-bottom: 1px solid var(--color-border-muted); border-bottom: 1px solid var(--color-border-muted);
} }
.md h3 { .d2-710463437 .md h3 {
font-weight: 600; font-weight: 600;
font-size: 1.25em; font-size: 1.25em;
} }
.md h4 { .d2-710463437 .md h4 {
font-weight: 600; font-weight: 600;
font-size: 1em; font-size: 1em;
} }
.md h5 { .d2-710463437 .md h5 {
font-weight: 600; font-weight: 600;
font-size: 0.875em; font-size: 0.875em;
} }
.md h6 { .d2-710463437 .md h6 {
font-weight: 600; font-weight: 600;
font-size: 0.85em; font-size: 0.85em;
color: var(--color-fg-muted); color: var(--color-fg-muted);
} }
.md p { .d2-710463437 .md p {
margin-top: 0; margin-top: 0;
margin-bottom: 10px; margin-bottom: 10px;
} }
.md blockquote { .d2-710463437 .md blockquote {
margin: 0; margin: 0;
padding: 0 1em; padding: 0 1em;
color: var(--color-fg-muted); color: var(--color-fg-muted);
border-left: 0.25em solid var(--color-border-default); border-left: 0.25em solid var(--color-border-default);
} }
.md ul, .d2-710463437 .md ul,
.md ol { .d2-710463437 .md ol {
margin-top: 0; margin-top: 0;
margin-bottom: 0; margin-bottom: 0;
padding-left: 2em; padding-left: 2em;
} }
.md ol ol, .d2-710463437 .md ol ol,
.md ul ol { .d2-710463437 .md ul ol {
list-style-type: lower-roman; list-style-type: lower-roman;
} }
.md ul ul ol, .d2-710463437 .md ul ul ol,
.md ul ol ol, .d2-710463437 .md ul ol ol,
.md ol ul ol, .d2-710463437 .md ol ul ol,
.md ol ol ol { .d2-710463437 .md ol ol ol {
list-style-type: lower-alpha; list-style-type: lower-alpha;
} }
.md dd { .d2-710463437 .md dd {
margin-left: 0; margin-left: 0;
} }
.md pre { .d2-710463437 .md pre {
margin-top: 0; margin-top: 0;
margin-bottom: 0; margin-bottom: 0;
word-wrap: normal; word-wrap: normal;
} }
.md ::placeholder { .d2-710463437 .md ::placeholder {
color: var(--color-fg-subtle); color: var(--color-fg-subtle);
opacity: 1; opacity: 1;
} }
.md input::-webkit-outer-spin-button, .d2-710463437 .md input::-webkit-outer-spin-button,
.md input::-webkit-inner-spin-button { .d2-710463437 .md input::-webkit-inner-spin-button {
margin: 0; margin: 0;
-webkit-appearance: none; -webkit-appearance: none;
appearance: none; appearance: none;
} }
.md::before { .d2-710463437 .md::before {
display: table; display: table;
content: ""; content: "";
} }
.md::after { .d2-710463437 .md::after {
display: table; display: table;
clear: both; clear: both;
content: ""; content: "";
} }
.md > *:first-child { .d2-710463437 .md > *:first-child {
margin-top: 0 !important; margin-top: 0 !important;
} }
.md > *:last-child { .d2-710463437 .md > *:last-child {
margin-bottom: 0 !important; margin-bottom: 0 !important;
} }
.md a:not([href]) { .d2-710463437 .md a:not([href]) {
color: inherit; color: inherit;
text-decoration: none; text-decoration: none;
} }
.md .absent { .d2-710463437 .md .absent {
color: var(--color-danger-fg); color: var(--color-danger-fg);
} }
.md .anchor { .d2-710463437 .md .anchor {
float: left; float: left;
padding-right: 4px; padding-right: 4px;
margin-left: -20px; margin-left: -20px;
line-height: 1; line-height: 1;
} }
.md .anchor:focus { .d2-710463437 .md .anchor:focus {
outline: none; outline: none;
} }
.md p, .d2-710463437 .md p,
.md blockquote, .d2-710463437 .md blockquote,
.md ul, .d2-710463437 .md ul,
.md ol, .d2-710463437 .md ol,
.md dl, .d2-710463437 .md dl,
.md table, .d2-710463437 .md table,
.md pre, .d2-710463437 .md pre,
.md details { .d2-710463437 .md details {
margin-top: 0; margin-top: 0;
margin-bottom: 16px; margin-bottom: 16px;
} }
.md blockquote > :first-child { .d2-710463437 .md blockquote > :first-child {
margin-top: 0; margin-top: 0;
} }
.md blockquote > :last-child { .d2-710463437 .md blockquote > :last-child {
margin-bottom: 0; margin-bottom: 0;
} }
.md sup > a::before { .d2-710463437 .md sup > a::before {
content: "["; content: "[";
} }
.md sup > a::after { .d2-710463437 .md sup > a::after {
content: "]"; content: "]";
} }
.md h1:hover .anchor, .d2-710463437 .md h1:hover .anchor,
.md h2:hover .anchor, .d2-710463437 .md h2:hover .anchor,
.md h3:hover .anchor, .d2-710463437 .md h3:hover .anchor,
.md h4:hover .anchor, .d2-710463437 .md h4:hover .anchor,
.md h5:hover .anchor, .d2-710463437 .md h5:hover .anchor,
.md h6:hover .anchor { .d2-710463437 .md h6:hover .anchor {
text-decoration: none; text-decoration: none;
} }
.md h1 tt, .d2-710463437 .md h1 tt,
.md h1 code, .d2-710463437 .md h1 code,
.md h2 tt, .d2-710463437 .md h2 tt,
.md h2 code, .d2-710463437 .md h2 code,
.md h3 tt, .d2-710463437 .md h3 tt,
.md h3 code, .d2-710463437 .md h3 code,
.md h4 tt, .d2-710463437 .md h4 tt,
.md h4 code, .d2-710463437 .md h4 code,
.md h5 tt, .d2-710463437 .md h5 tt,
.md h5 code, .d2-710463437 .md h5 code,
.md h6 tt, .d2-710463437 .md h6 tt,
.md h6 code { .d2-710463437 .md h6 code {
padding: 0 0.2em; padding: 0 0.2em;
font-size: inherit; font-size: inherit;
} }
.md ul.no-list, .d2-710463437 .md ul.no-list,
.md ol.no-list { .d2-710463437 .md ol.no-list {
padding: 0; padding: 0;
list-style-type: none; list-style-type: none;
} }
.md ol[type="1"] { .d2-710463437 .md ol[type="1"] {
list-style-type: decimal; list-style-type: decimal;
} }
.md ol[type="a"] { .d2-710463437 .md ol[type="a"] {
list-style-type: lower-alpha; list-style-type: lower-alpha;
} }
.md ol[type="i"] { .d2-710463437 .md ol[type="i"] {
list-style-type: lower-roman; list-style-type: lower-roman;
} }
.md div > ol:not([type]) { .d2-710463437 .md div > ol:not([type]) {
list-style-type: decimal; list-style-type: decimal;
} }
.md ul ul, .d2-710463437 .md ul ul,
.md ul ol, .d2-710463437 .md ul ol,
.md ol ol, .d2-710463437 .md ol ol,
.md ol ul { .d2-710463437 .md ol ul {
margin-top: 0; margin-top: 0;
margin-bottom: 0; margin-bottom: 0;
} }
.md li > p { .d2-710463437 .md li > p {
margin-top: 16px; margin-top: 16px;
} }
.md li + li { .d2-710463437 .md li + li {
margin-top: 0.25em; margin-top: 0.25em;
} }
.md dl { .d2-710463437 .md dl {
padding: 0; padding: 0;
} }
.md dl dt { .d2-710463437 .md dl dt {
padding: 0; padding: 0;
margin-top: 16px; margin-top: 16px;
font-size: 1em; font-size: 1em;
@ -573,48 +573,48 @@
font-weight: 600; font-weight: 600;
} }
.md dl dd { .d2-710463437 .md dl dd {
padding: 0 16px; padding: 0 16px;
margin-bottom: 16px; margin-bottom: 16px;
} }
.md table th { .d2-710463437 .md table th {
font-weight: 600; font-weight: 600;
} }
.md table th, .d2-710463437 .md table th,
.md table td { .d2-710463437 .md table td {
padding: 6px 13px; padding: 6px 13px;
border: 1px solid var(--color-border-default); border: 1px solid var(--color-border-default);
} }
.md table tr { .d2-710463437 .md table tr {
background-color: var(--color-canvas-default); background-color: var(--color-canvas-default);
border-top: 1px solid var(--color-border-muted); border-top: 1px solid var(--color-border-muted);
} }
.md table tr:nth-child(2n) { .d2-710463437 .md table tr:nth-child(2n) {
background-color: var(--color-canvas-subtle); background-color: var(--color-canvas-subtle);
} }
.md table img { .d2-710463437 .md table img {
background-color: transparent; background-color: transparent;
} }
.md img[align="right"] { .d2-710463437 .md img[align="right"] {
padding-left: 20px; padding-left: 20px;
} }
.md img[align="left"] { .d2-710463437 .md img[align="left"] {
padding-right: 20px; padding-right: 20px;
} }
.md span.frame { .d2-710463437 .md span.frame {
display: block; display: block;
overflow: hidden; overflow: hidden;
} }
.md span.frame > span { .d2-710463437 .md span.frame > span {
display: block; display: block;
float: left; float: left;
width: auto; width: auto;
@ -624,81 +624,81 @@
border: 1px solid var(--color-border-default); border: 1px solid var(--color-border-default);
} }
.md span.frame span img { .d2-710463437 .md span.frame span img {
display: block; display: block;
float: left; float: left;
} }
.md span.frame span span { .d2-710463437 .md span.frame span span {
display: block; display: block;
padding: 5px 0 0; padding: 5px 0 0;
clear: both; clear: both;
color: var(--color-fg-default); color: var(--color-fg-default);
} }
.md span.align-center { .d2-710463437 .md span.align-center {
display: block; display: block;
overflow: hidden; overflow: hidden;
clear: both; clear: both;
} }
.md span.align-center > span { .d2-710463437 .md span.align-center > span {
display: block; display: block;
margin: 13px auto 0; margin: 13px auto 0;
overflow: hidden; overflow: hidden;
text-align: center; text-align: center;
} }
.md span.align-center span img { .d2-710463437 .md span.align-center span img {
margin: 0 auto; margin: 0 auto;
text-align: center; text-align: center;
} }
.md span.align-right { .d2-710463437 .md span.align-right {
display: block; display: block;
overflow: hidden; overflow: hidden;
clear: both; clear: both;
} }
.md span.align-right > span { .d2-710463437 .md span.align-right > span {
display: block; display: block;
margin: 13px 0 0; margin: 13px 0 0;
overflow: hidden; overflow: hidden;
text-align: right; text-align: right;
} }
.md span.align-right span img { .d2-710463437 .md span.align-right span img {
margin: 0; margin: 0;
text-align: right; text-align: right;
} }
.md span.float-left { .d2-710463437 .md span.float-left {
display: block; display: block;
float: left; float: left;
margin-right: 13px; margin-right: 13px;
overflow: hidden; overflow: hidden;
} }
.md span.float-left span { .d2-710463437 .md span.float-left span {
margin: 13px 0 0; margin: 13px 0 0;
} }
.md span.float-right { .d2-710463437 .md span.float-right {
display: block; display: block;
float: right; float: right;
margin-left: 13px; margin-left: 13px;
overflow: hidden; overflow: hidden;
} }
.md span.float-right > span { .d2-710463437 .md span.float-right > span {
display: block; display: block;
margin: 13px auto 0; margin: 13px auto 0;
overflow: hidden; overflow: hidden;
text-align: right; text-align: right;
} }
.md code, .d2-710463437 .md code,
.md tt { .d2-710463437 .md tt {
padding: 0.2em 0.4em; padding: 0.2em 0.4em;
margin: 0; margin: 0;
font-size: 85%; font-size: 85%;
@ -706,20 +706,20 @@
border-radius: 6px; border-radius: 6px;
} }
.md code br, .d2-710463437 .md code br,
.md tt br { .d2-710463437 .md tt br {
display: none; display: none;
} }
.md del code { .d2-710463437 .md del code {
text-decoration: inherit; text-decoration: inherit;
} }
.md pre code { .d2-710463437 .md pre code {
font-size: 100%; font-size: 100%;
} }
.md pre > code { .d2-710463437 .md pre > code {
padding: 0; padding: 0;
margin: 0; margin: 0;
word-break: normal; word-break: normal;
@ -728,17 +728,17 @@
border: 0; border: 0;
} }
.md .highlight { .d2-710463437 .md .highlight {
margin-bottom: 16px; margin-bottom: 16px;
} }
.md .highlight pre { .d2-710463437 .md .highlight pre {
margin-bottom: 0; margin-bottom: 0;
word-break: normal; word-break: normal;
} }
.md .highlight pre, .d2-710463437 .md .highlight pre,
.md pre { .d2-710463437 .md pre {
padding: 16px; padding: 16px;
overflow: auto; overflow: auto;
font-size: 85%; font-size: 85%;
@ -747,8 +747,8 @@
border-radius: 6px; border-radius: 6px;
} }
.md pre code, .d2-710463437 .md pre code,
.md pre tt { .d2-710463437 .md pre tt {
display: inline; display: inline;
max-width: auto; max-width: auto;
padding: 0; padding: 0;
@ -760,8 +760,8 @@
border: 0; border: 0;
} }
.md .csv-data td, .d2-710463437 .md .csv-data td,
.md .csv-data th { .d2-710463437 .md .csv-data th {
padding: 5px; padding: 5px;
overflow: hidden; overflow: hidden;
font-size: 12px; font-size: 12px;
@ -770,38 +770,38 @@
white-space: nowrap; white-space: nowrap;
} }
.md .csv-data .blob-num { .d2-710463437 .md .csv-data .blob-num {
padding: 10px 8px 9px; padding: 10px 8px 9px;
text-align: right; text-align: right;
background: var(--color-canvas-default); background: var(--color-canvas-default);
border: 0; border: 0;
} }
.md .csv-data tr { .d2-710463437 .md .csv-data tr {
border-top: 0; border-top: 0;
} }
.md .csv-data th { .d2-710463437 .md .csv-data th {
font-weight: 600; font-weight: 600;
background: var(--color-canvas-subtle); background: var(--color-canvas-subtle);
border-top: 0; border-top: 0;
} }
.md .footnotes { .d2-710463437 .md .footnotes {
font-size: 12px; font-size: 12px;
color: var(--color-fg-muted); color: var(--color-fg-muted);
border-top: 1px solid var(--color-border-default); border-top: 1px solid var(--color-border-default);
} }
.md .footnotes ol { .d2-710463437 .md .footnotes ol {
padding-left: 16px; padding-left: 16px;
} }
.md .footnotes li { .d2-710463437 .md .footnotes li {
position: relative; position: relative;
} }
.md .footnotes li:target::before { .d2-710463437 .md .footnotes li:target::before {
position: absolute; position: absolute;
top: -8px; top: -8px;
right: -8px; right: -8px;
@ -813,36 +813,36 @@
border-radius: 6px; border-radius: 6px;
} }
.md .footnotes li:target { .d2-710463437 .md .footnotes li:target {
color: var(--color-fg-default); color: var(--color-fg-default);
} }
.md .task-list-item { .d2-710463437 .md .task-list-item {
list-style-type: none; list-style-type: none;
} }
.md .task-list-item label { .d2-710463437 .md .task-list-item label {
font-weight: 400; font-weight: 400;
} }
.md .task-list-item.enabled label { .d2-710463437 .md .task-list-item.enabled label {
cursor: pointer; cursor: pointer;
} }
.md .task-list-item + .task-list-item { .d2-710463437 .md .task-list-item + .task-list-item {
margin-top: 3px; margin-top: 3px;
} }
.md .task-list-item .handle { .d2-710463437 .md .task-list-item .handle {
display: none; display: none;
} }
.md .task-list-item-checkbox { .d2-710463437 .md .task-list-item-checkbox {
margin: 0 0.2em 0.25em -1.6em; margin: 0 0.2em 0.25em -1.6em;
vertical-align: middle; vertical-align: middle;
} }
.md .contains-task-list:dir(rtl) .task-list-item-checkbox { .d2-710463437 .md .contains-task-list:dir(rtl) .task-list-item-checkbox {
margin: 0 -1.6em 0.25em 0.2em; margin: 0 -1.6em 0.25em 0.2em;
} }
</style><g id="x" style='opacity:0.400000'><g class="shape" ><rect x="162.000000" y="3.000000" width="54.000000" height="66.000000" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="189.000000" y="41.500000" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">x</text></g><g id="y" style='opacity:0.400000'><g class="shape" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="276.000000" y="24.000000" width="347" height="24"><div xmlns="http://www.w3.org/1999/xhtml" class="md"><p>linux: because a PC is a terrible thing to waste</p> </style><g id="x" style='opacity:0.400000'><g class="shape" ><rect x="162.000000" y="3.000000" width="54.000000" height="66.000000" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="189.000000" y="41.500000" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">x</text></g><g id="y" style='opacity:0.400000'><g class="shape" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="276.000000" y="24.000000" width="347" height="24"><div xmlns="http://www.w3.org/1999/xhtml" class="md"><p>linux: because a PC is a terrible thing to waste</p>

Before

Width:  |  Height:  |  Size: 47 KiB

After

Width:  |  Height:  |  Size: 50 KiB

View file

@ -1,4 +1,4 @@
<?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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 758 268"><svg id="d2-svg" class="d2-2779170942" width="758" height="268" viewBox="-101 -101 758 268"><rect x="-101.000000" y="-101.000000" width="758.000000" height="268.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[ <?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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 758 268"><svg id="d2-svg" class="d2-2779170942" width="758" height="268" viewBox="-101 -101 758 268"><rect x="-101.000000" y="-101.000000" width="758.000000" height="268.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-2779170942 .text-bold { .d2-2779170942 .text-bold {
font-family: "d2-2779170942-font-bold"; font-family: "d2-2779170942-font-bold";
} }

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 15 KiB

View file

@ -1,4 +1,4 @@
<?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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 1027 662"><svg id="d2-svg" class="d2-2258688787" width="1027" height="662" viewBox="-101 -101 1027 662"><rect x="-101.000000" y="-101.000000" width="1027.000000" height="662.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[ <?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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 1027 662"><svg id="d2-svg" class="d2-2258688787" width="1027" height="662" viewBox="-101 -101 1027 662"><rect x="-101.000000" y="-101.000000" width="1027.000000" height="662.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-2258688787 .text { .d2-2258688787 .text {
font-family: "d2-2258688787-font-regular"; font-family: "d2-2258688787-font-regular";
} }

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 24 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 81 KiB

After

Width:  |  Height:  |  Size: 84 KiB

View file

@ -28,10 +28,12 @@ only have to be in the form of pull requests. Your bug reports, plugins, example
discussions of new ideas, help a great deal. discussions of new ideas, help a great deal.
If you'd like to get involved, we're also committed to helping you merge that first pull If you'd like to get involved, we're also committed to helping you merge that first pull
request. You should be able to freely pick up Issues tagged as "good first issue". If you request. You should be able to freely pick up Issues tagged as "good first issue". Those
need help getting started, please don't hesitate to pop into Discord -- as long as you will usually include notes on getting started, but if they're missing or insufficient,
want to help, we'll find the perfect task (complexity matches your appetite and just leave a comment and we'll add more detail. If you need help getting started, please
programming experience, in an area you're interested in, etc). don't hesitate to pop into Discord -- as long as you want to help, we'll find the perfect
task (complexity matches your appetite and programming experience, in an area you're
interested in, etc).
## CI ## CI

View file

@ -1,4 +1,4 @@
<?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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 256 434"><svg id="d2-svg" class="d2-2448830429" 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[ <?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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 256 434"><svg id="d2-svg" class="d2-2448830429" 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-2448830429 .text-bold { .d2-2448830429 .text-bold {
font-family: "d2-2448830429-font-bold"; font-family: "d2-2448830429-font-bold";
} }

Before

Width:  |  Height:  |  Size: 9.3 KiB

After

Width:  |  Height:  |  Size: 9.3 KiB

View file

@ -1,4 +1,4 @@
<?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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 514 665"><svg id="d2-svg" width="514" height="665" viewBox="-206 -166 514 665"><style type="text/css"><![CDATA[ <?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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 514 665"><svg id="d2-svg" width="514" height="665" viewBox="-206 -166 514 665"><style type="text/css"><![CDATA[
.d2-3751819762 .text { .d2-3751819762 .text {
font-family: "d2-3751819762-font-regular"; font-family: "d2-3751819762-font-regular";
} }

Before

Width:  |  Height:  |  Size: 31 KiB

After

Width:  |  Height:  |  Size: 31 KiB

View file

@ -1,4 +1,4 @@
<?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.3.0-HEAD" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 434"><svg id="d2-svg" class="d2-2448830429" 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[ <?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.4.0-HEAD" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 434"><svg id="d2-svg" class="d2-2448830429" 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-2448830429 .text-bold { .d2-2448830429 .text-bold {
font-family: "d2-2448830429-font-bold"; font-family: "d2-2448830429-font-bold";
} }

Before

Width:  |  Height:  |  Size: 9.3 KiB

After

Width:  |  Height:  |  Size: 9.3 KiB

View file

@ -1,4 +1,4 @@
<?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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 200 200"><svg id="d2-svg" class="d2-121760133" width="200" height="200" viewBox="-100 -100 200 200"><rect x="-100.000000" y="-100.000000" width="200.000000" height="200.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[]]></style><style type="text/css"><![CDATA[.shape { <?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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 200 200"><svg id="d2-svg" class="d2-121760133" width="200" height="200" viewBox="-100 -100 200 200"><rect x="-100.000000" y="-100.000000" width="200.000000" height="200.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[]]></style><style type="text/css"><![CDATA[.shape {
shape-rendering: geometricPrecision; shape-rendering: geometricPrecision;
stroke-linejoin: round; stroke-linejoin: round;
} }

Before

Width:  |  Height:  |  Size: 5.8 KiB

After

Width:  |  Height:  |  Size: 5.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 72 KiB

After

Width:  |  Height:  |  Size: 72 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

After

Width:  |  Height:  |  Size: 28 KiB

View file

@ -1,4 +1,4 @@
<?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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 256 434"><svg id="d2-svg" class="d2-524372316" 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[ <?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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 256 434"><svg id="d2-svg" class="d2-524372316" 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-524372316 .text-bold { .d2-524372316 .text-bold {
font-family: "d2-524372316-font-bold"; font-family: "d2-524372316-font-bold";
} }

Before

Width:  |  Height:  |  Size: 9.3 KiB

After

Width:  |  Height:  |  Size: 9.3 KiB

View file

@ -1,4 +1,4 @@
<?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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 469 268"><svg id="d2-svg" class="d2-1194982555" width="469" height="268" viewBox="-101 -101 469 268"><rect x="-101.000000" y="-101.000000" width="469.000000" height="268.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[ <?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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 469 268"><svg id="d2-svg" class="d2-1194982555" width="469" height="268" viewBox="-101 -101 469 268"><rect x="-101.000000" y="-101.000000" width="469.000000" height="268.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-1194982555 .text-bold { .d2-1194982555 .text-bold {
font-family: "d2-1194982555-font-bold"; font-family: "d2-1194982555-font-bold";
} }

Before

Width:  |  Height:  |  Size: 9.5 KiB

After

Width:  |  Height:  |  Size: 9.5 KiB

View file

@ -1,4 +1,4 @@
<?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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 558 268"><svg id="d2-svg" class="d2-4059799029" 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[ <?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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 558 268"><svg id="d2-svg" class="d2-4059799029" 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-4059799029 .text-bold { .d2-4059799029 .text-bold {
font-family: "d2-4059799029-font-bold"; font-family: "d2-4059799029-font-bold";
} }

Before

Width:  |  Height:  |  Size: 9.7 KiB

After

Width:  |  Height:  |  Size: 9.7 KiB

View file

@ -1,4 +1,4 @@
<?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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 578 268"><svg id="d2-svg" class="d2-1066622782" 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[ <?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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 578 268"><svg id="d2-svg" class="d2-1066622782" 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-1066622782 .text-bold { .d2-1066622782 .text-bold {
font-family: "d2-1066622782-font-bold"; font-family: "d2-1066622782-font-bold";
} }

Before

Width:  |  Height:  |  Size: 9.7 KiB

After

Width:  |  Height:  |  Size: 9.7 KiB

View file

@ -1,4 +1,4 @@
<?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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 256 434"><svg id="d2-svg" class="d2-118346165" 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[ <?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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 256 434"><svg id="d2-svg" class="d2-118346165" 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-118346165 .text-bold { .d2-118346165 .text-bold {
font-family: "d2-118346165-font-bold"; font-family: "d2-118346165-font-bold";
} }

Before

Width:  |  Height:  |  Size: 9.5 KiB

After

Width:  |  Height:  |  Size: 9.5 KiB

View file

@ -1,4 +1,4 @@
<?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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 256 434"><svg id="d2-svg" class="d2-524372316" 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[ <?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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 256 434"><svg id="d2-svg" class="d2-524372316" 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-524372316 .text-bold { .d2-524372316 .text-bold {
font-family: "d2-524372316-font-bold"; font-family: "d2-524372316-font-bold";
} }

Before

Width:  |  Height:  |  Size: 9.3 KiB

After

Width:  |  Height:  |  Size: 9.3 KiB

View file

@ -1,4 +1,4 @@
<?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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 469 268"><svg id="d2-svg" class="d2-1194982555" width="469" height="268" viewBox="-101 -101 469 268"><rect x="-101.000000" y="-101.000000" width="469.000000" height="268.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[ <?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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 469 268"><svg id="d2-svg" class="d2-1194982555" width="469" height="268" viewBox="-101 -101 469 268"><rect x="-101.000000" y="-101.000000" width="469.000000" height="268.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-1194982555 .text-bold { .d2-1194982555 .text-bold {
font-family: "d2-1194982555-font-bold"; font-family: "d2-1194982555-font-bold";
} }

Before

Width:  |  Height:  |  Size: 9.5 KiB

After

Width:  |  Height:  |  Size: 9.5 KiB

View file

@ -1,4 +1,4 @@
<?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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 558 268"><svg id="d2-svg" class="d2-4059799029" 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[ <?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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 558 268"><svg id="d2-svg" class="d2-4059799029" 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-4059799029 .text-bold { .d2-4059799029 .text-bold {
font-family: "d2-4059799029-font-bold"; font-family: "d2-4059799029-font-bold";
} }

Before

Width:  |  Height:  |  Size: 9.7 KiB

After

Width:  |  Height:  |  Size: 9.7 KiB

View file

@ -1,4 +1,4 @@
<?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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 578 268"><svg id="d2-svg" class="d2-1066622782" 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[ <?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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 578 268"><svg id="d2-svg" class="d2-1066622782" 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-1066622782 .text-bold { .d2-1066622782 .text-bold {
font-family: "d2-1066622782-font-bold"; font-family: "d2-1066622782-font-bold";
} }

Before

Width:  |  Height:  |  Size: 9.7 KiB

After

Width:  |  Height:  |  Size: 9.7 KiB

View file

@ -1,4 +1,4 @@
<?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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 256 434"><svg id="d2-svg" class="d2-118346165" 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[ <?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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 256 434"><svg id="d2-svg" class="d2-118346165" 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-118346165 .text-bold { .d2-118346165 .text-bold {
font-family: "d2-118346165-font-bold"; font-family: "d2-118346165-font-bold";
} }

Before

Width:  |  Height:  |  Size: 9.5 KiB

After

Width:  |  Height:  |  Size: 9.5 KiB

View file

@ -1,4 +1,4 @@
<?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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 256 434"><svg id="d2-svg" class="d2-2448830429" 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[ <?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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 256 434"><svg id="d2-svg" class="d2-2448830429" 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-2448830429 .text-bold { .d2-2448830429 .text-bold {
font-family: "d2-2448830429-font-bold"; font-family: "d2-2448830429-font-bold";
} }

Before

Width:  |  Height:  |  Size: 9.3 KiB

After

Width:  |  Height:  |  Size: 9.3 KiB

View file

@ -1,4 +1,4 @@
<?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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 641 489"><svg id="d2-svg" class="d2-2459756577" width="641" height="489" viewBox="-101 -101 641 489"><rect x="-101.000000" y="-101.000000" width="641.000000" height="489.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[ <?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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 641 489"><svg id="d2-svg" class="d2-2459756577" width="641" height="489" viewBox="-101 -101 641 489"><rect x="-101.000000" y="-101.000000" width="641.000000" height="489.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-2459756577 .text-bold { .d2-2459756577 .text-bold {
font-family: "d2-2459756577-font-bold"; font-family: "d2-2459756577-font-bold";
} }

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 26 KiB

View file

@ -39,6 +39,12 @@ func testStable(t *testing.T) {
} }
`, `,
}, },
{
name: "near_keys_for_container",
script: `title: |md
# Service-Cluster Provisioning ("Outside view")
| {near: top-center}`,
},
{ {
name: "near_keys_for_container", name: "near_keys_for_container",
script: ` script: `

View file

@ -1,4 +1,4 @@
<?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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 114 46"><svg id="d2-svg" class="d2-148127623" width="114" height="46" viewBox="-1 -1 114 46"><rect x="-1.000000" y="-1.000000" width="114.000000" height="46.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[]]></style><style type="text/css"><![CDATA[.shape { <?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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 114 46"><svg id="d2-svg" class="d2-148127623" width="114" height="46" viewBox="-1 -1 114 46"><rect x="-1.000000" y="-1.000000" width="114.000000" height="46.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[]]></style><style type="text/css"><![CDATA[.shape {
shape-rendering: geometricPrecision; shape-rendering: geometricPrecision;
stroke-linejoin: round; stroke-linejoin: round;
} }

Before

Width:  |  Height:  |  Size: 6.2 KiB

After

Width:  |  Height:  |  Size: 6.2 KiB

View file

@ -1,4 +1,4 @@
<?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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 3 3"><svg id="d2-svg" class="d2-3318021269" width="3" height="3" viewBox="-1 -1 3 3"><rect x="-1.000000" y="-1.000000" width="3.000000" height="3.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[ <?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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 3 3"><svg id="d2-svg" class="d2-3318021269" width="3" height="3" viewBox="-1 -1 3 3"><rect x="-1.000000" y="-1.000000" width="3.000000" height="3.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-3318021269 .text { .d2-3318021269 .text {
font-family: "d2-3318021269-font-regular"; font-family: "d2-3318021269-font-regular";
} }
@ -89,31 +89,31 @@
.d2-3318021269 .color-AA4{color:#EDF0FD;} .d2-3318021269 .color-AA4{color:#EDF0FD;}
.d2-3318021269 .color-AA5{color:#F7F8FE;} .d2-3318021269 .color-AA5{color:#F7F8FE;}
.d2-3318021269 .color-AB4{color:#EDF0FD;} .d2-3318021269 .color-AB4{color:#EDF0FD;}
.d2-3318021269 .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><style type="text/css">.md em, .d2-3318021269 .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><style type="text/css">.d2-3318021269 .md em,
.md dfn { .d2-3318021269 .md dfn {
font-family: "d2-3318021269-font-italic"; font-family: "d2-3318021269-font-italic";
} }
.md b, .d2-3318021269 .md b,
.md strong { .d2-3318021269 .md strong {
font-family: "d2-3318021269-font-bold"; font-family: "d2-3318021269-font-bold";
} }
.md code, .d2-3318021269 .md code,
.md kbd, .d2-3318021269 .md kbd,
.md pre, .d2-3318021269 .md pre,
.md samp { .d2-3318021269 .md samp {
font-family: "d2-3318021269-font-mono"; font-family: "d2-3318021269-font-mono";
font-size: 1em; font-size: 1em;
} }
.md { .d2-3318021269 .md {
tab-size: 4; tab-size: 4;
} }
/* variables are provided in d2renderers/d2svg/d2svg.go */ /* variables are provided in d2renderers/d2svg/d2svg.go */
.md { .d2-3318021269 .md {
-ms-text-size-adjust: 100%; -ms-text-size-adjust: 100%;
-webkit-text-size-adjust: 100%; -webkit-text-size-adjust: 100%;
margin: 0; margin: 0;
@ -125,41 +125,41 @@
word-wrap: break-word; word-wrap: break-word;
} }
.md details, .d2-3318021269 .md details,
.md figcaption, .d2-3318021269 .md figcaption,
.md figure { .d2-3318021269 .md figure {
display: block; display: block;
} }
.md summary { .d2-3318021269 .md summary {
display: list-item; display: list-item;
} }
.md [hidden] { .d2-3318021269 .md [hidden] {
display: none !important; display: none !important;
} }
.md a { .d2-3318021269 .md a {
background-color: transparent; background-color: transparent;
color: var(--color-accent-fg); color: var(--color-accent-fg);
text-decoration: none; text-decoration: none;
} }
.md a:active, .d2-3318021269 .md a:active,
.md a:hover { .d2-3318021269 .md a:hover {
outline-width: 0; outline-width: 0;
} }
.md abbr[title] { .d2-3318021269 .md abbr[title] {
border-bottom: none; border-bottom: none;
text-decoration: underline dotted; text-decoration: underline dotted;
} }
.md dfn { .d2-3318021269 .md dfn {
font-style: italic; font-style: italic;
} }
.md h1 { .d2-3318021269 .md h1 {
margin: 0.67em 0; margin: 0.67em 0;
font-weight: 600; font-weight: 600;
padding-bottom: 0.3em; padding-bottom: 0.3em;
@ -167,43 +167,43 @@
border-bottom: 1px solid var(--color-border-muted); border-bottom: 1px solid var(--color-border-muted);
} }
.md mark { .d2-3318021269 .md mark {
background-color: var(--color-attention-subtle); background-color: var(--color-attention-subtle);
color: var(--color-text-primary); color: var(--color-text-primary);
} }
.md small { .d2-3318021269 .md small {
font-size: 90%; font-size: 90%;
} }
.md sub, .d2-3318021269 .md sub,
.md sup { .d2-3318021269 .md sup {
font-size: 75%; font-size: 75%;
line-height: 0; line-height: 0;
position: relative; position: relative;
vertical-align: baseline; vertical-align: baseline;
} }
.md sub { .d2-3318021269 .md sub {
bottom: -0.25em; bottom: -0.25em;
} }
.md sup { .d2-3318021269 .md sup {
top: -0.5em; top: -0.5em;
} }
.md img { .d2-3318021269 .md img {
border-style: none; border-style: none;
max-width: 100%; max-width: 100%;
box-sizing: content-box; box-sizing: content-box;
background-color: var(--color-canvas-default); background-color: var(--color-canvas-default);
} }
.md figure { .d2-3318021269 .md figure {
margin: 1em 40px; margin: 1em 40px;
} }
.md hr { .d2-3318021269 .md hr {
box-sizing: content-box; box-sizing: content-box;
overflow: hidden; overflow: hidden;
background: transparent; background: transparent;
@ -215,7 +215,7 @@
border: 0; border: 0;
} }
.md input { .d2-3318021269 .md input {
font: inherit; font: inherit;
margin: 0; margin: 0;
overflow: visible; overflow: visible;
@ -224,72 +224,72 @@
line-height: inherit; line-height: inherit;
} }
.md [type="button"], .d2-3318021269 .md [type="button"],
.md [type="reset"], .d2-3318021269 .md [type="reset"],
.md [type="submit"] { .d2-3318021269 .md [type="submit"] {
-webkit-appearance: button; -webkit-appearance: button;
} }
.md [type="button"]::-moz-focus-inner, .d2-3318021269 .md [type="button"]::-moz-focus-inner,
.md [type="reset"]::-moz-focus-inner, .d2-3318021269 .md [type="reset"]::-moz-focus-inner,
.md [type="submit"]::-moz-focus-inner { .d2-3318021269 .md [type="submit"]::-moz-focus-inner {
border-style: none; border-style: none;
padding: 0; padding: 0;
} }
.md [type="button"]:-moz-focusring, .d2-3318021269 .md [type="button"]:-moz-focusring,
.md [type="reset"]:-moz-focusring, .d2-3318021269 .md [type="reset"]:-moz-focusring,
.md [type="submit"]:-moz-focusring { .d2-3318021269 .md [type="submit"]:-moz-focusring {
outline: 1px dotted ButtonText; outline: 1px dotted ButtonText;
} }
.md [type="checkbox"], .d2-3318021269 .md [type="checkbox"],
.md [type="radio"] { .d2-3318021269 .md [type="radio"] {
box-sizing: border-box; box-sizing: border-box;
padding: 0; padding: 0;
} }
.md [type="number"]::-webkit-inner-spin-button, .d2-3318021269 .md [type="number"]::-webkit-inner-spin-button,
.md [type="number"]::-webkit-outer-spin-button { .d2-3318021269 .md [type="number"]::-webkit-outer-spin-button {
height: auto; height: auto;
} }
.md [type="search"] { .d2-3318021269 .md [type="search"] {
-webkit-appearance: textfield; -webkit-appearance: textfield;
outline-offset: -2px; outline-offset: -2px;
} }
.md [type="search"]::-webkit-search-cancel-button, .d2-3318021269 .md [type="search"]::-webkit-search-cancel-button,
.md [type="search"]::-webkit-search-decoration { .d2-3318021269 .md [type="search"]::-webkit-search-decoration {
-webkit-appearance: none; -webkit-appearance: none;
} }
.md ::-webkit-input-placeholder { .d2-3318021269 .md ::-webkit-input-placeholder {
color: inherit; color: inherit;
opacity: 0.54; opacity: 0.54;
} }
.md ::-webkit-file-upload-button { .d2-3318021269 .md ::-webkit-file-upload-button {
-webkit-appearance: button; -webkit-appearance: button;
font: inherit; font: inherit;
} }
.md a:hover { .d2-3318021269 .md a:hover {
text-decoration: underline; text-decoration: underline;
} }
.md hr::before { .d2-3318021269 .md hr::before {
display: table; display: table;
content: ""; content: "";
} }
.md hr::after { .d2-3318021269 .md hr::after {
display: table; display: table;
clear: both; clear: both;
content: ""; content: "";
} }
.md table { .d2-3318021269 .md table {
border-spacing: 0; border-spacing: 0;
border-collapse: collapse; border-collapse: collapse;
display: block; display: block;
@ -298,20 +298,20 @@
overflow: auto; overflow: auto;
} }
.md td, .d2-3318021269 .md td,
.md th { .d2-3318021269 .md th {
padding: 0; padding: 0;
} }
.md details summary { .d2-3318021269 .md details summary {
cursor: pointer; cursor: pointer;
} }
.md details:not([open]) > *:not(summary) { .d2-3318021269 .md details:not([open]) > *:not(summary) {
display: none !important; display: none !important;
} }
.md kbd { .d2-3318021269 .md kbd {
display: inline-block; display: inline-block;
padding: 3px 5px; padding: 3px 5px;
color: var(--color-fg-default); color: var(--color-fg-default);
@ -323,12 +323,12 @@
box-shadow: inset 0 -1px 0 var(--color-neutral-muted); box-shadow: inset 0 -1px 0 var(--color-neutral-muted);
} }
.md h1, .d2-3318021269 .md h1,
.md h2, .d2-3318021269 .md h2,
.md h3, .d2-3318021269 .md h3,
.md h4, .d2-3318021269 .md h4,
.md h5, .d2-3318021269 .md h5,
.md h6 { .d2-3318021269 .md h6 {
margin-top: 24px; margin-top: 24px;
margin-bottom: 16px; margin-bottom: 16px;
font-weight: 600; font-weight: 600;
@ -336,222 +336,222 @@
font-family: "d2-3318021269-font-regular"; font-family: "d2-3318021269-font-regular";
} }
.md h2 { .d2-3318021269 .md h2 {
font-weight: 600; font-weight: 600;
padding-bottom: 0.3em; padding-bottom: 0.3em;
font-size: 1.5em; font-size: 1.5em;
border-bottom: 1px solid var(--color-border-muted); border-bottom: 1px solid var(--color-border-muted);
} }
.md h3 { .d2-3318021269 .md h3 {
font-weight: 600; font-weight: 600;
font-size: 1.25em; font-size: 1.25em;
} }
.md h4 { .d2-3318021269 .md h4 {
font-weight: 600; font-weight: 600;
font-size: 1em; font-size: 1em;
} }
.md h5 { .d2-3318021269 .md h5 {
font-weight: 600; font-weight: 600;
font-size: 0.875em; font-size: 0.875em;
} }
.md h6 { .d2-3318021269 .md h6 {
font-weight: 600; font-weight: 600;
font-size: 0.85em; font-size: 0.85em;
color: var(--color-fg-muted); color: var(--color-fg-muted);
} }
.md p { .d2-3318021269 .md p {
margin-top: 0; margin-top: 0;
margin-bottom: 10px; margin-bottom: 10px;
} }
.md blockquote { .d2-3318021269 .md blockquote {
margin: 0; margin: 0;
padding: 0 1em; padding: 0 1em;
color: var(--color-fg-muted); color: var(--color-fg-muted);
border-left: 0.25em solid var(--color-border-default); border-left: 0.25em solid var(--color-border-default);
} }
.md ul, .d2-3318021269 .md ul,
.md ol { .d2-3318021269 .md ol {
margin-top: 0; margin-top: 0;
margin-bottom: 0; margin-bottom: 0;
padding-left: 2em; padding-left: 2em;
} }
.md ol ol, .d2-3318021269 .md ol ol,
.md ul ol { .d2-3318021269 .md ul ol {
list-style-type: lower-roman; list-style-type: lower-roman;
} }
.md ul ul ol, .d2-3318021269 .md ul ul ol,
.md ul ol ol, .d2-3318021269 .md ul ol ol,
.md ol ul ol, .d2-3318021269 .md ol ul ol,
.md ol ol ol { .d2-3318021269 .md ol ol ol {
list-style-type: lower-alpha; list-style-type: lower-alpha;
} }
.md dd { .d2-3318021269 .md dd {
margin-left: 0; margin-left: 0;
} }
.md pre { .d2-3318021269 .md pre {
margin-top: 0; margin-top: 0;
margin-bottom: 0; margin-bottom: 0;
word-wrap: normal; word-wrap: normal;
} }
.md ::placeholder { .d2-3318021269 .md ::placeholder {
color: var(--color-fg-subtle); color: var(--color-fg-subtle);
opacity: 1; opacity: 1;
} }
.md input::-webkit-outer-spin-button, .d2-3318021269 .md input::-webkit-outer-spin-button,
.md input::-webkit-inner-spin-button { .d2-3318021269 .md input::-webkit-inner-spin-button {
margin: 0; margin: 0;
-webkit-appearance: none; -webkit-appearance: none;
appearance: none; appearance: none;
} }
.md::before { .d2-3318021269 .md::before {
display: table; display: table;
content: ""; content: "";
} }
.md::after { .d2-3318021269 .md::after {
display: table; display: table;
clear: both; clear: both;
content: ""; content: "";
} }
.md > *:first-child { .d2-3318021269 .md > *:first-child {
margin-top: 0 !important; margin-top: 0 !important;
} }
.md > *:last-child { .d2-3318021269 .md > *:last-child {
margin-bottom: 0 !important; margin-bottom: 0 !important;
} }
.md a:not([href]) { .d2-3318021269 .md a:not([href]) {
color: inherit; color: inherit;
text-decoration: none; text-decoration: none;
} }
.md .absent { .d2-3318021269 .md .absent {
color: var(--color-danger-fg); color: var(--color-danger-fg);
} }
.md .anchor { .d2-3318021269 .md .anchor {
float: left; float: left;
padding-right: 4px; padding-right: 4px;
margin-left: -20px; margin-left: -20px;
line-height: 1; line-height: 1;
} }
.md .anchor:focus { .d2-3318021269 .md .anchor:focus {
outline: none; outline: none;
} }
.md p, .d2-3318021269 .md p,
.md blockquote, .d2-3318021269 .md blockquote,
.md ul, .d2-3318021269 .md ul,
.md ol, .d2-3318021269 .md ol,
.md dl, .d2-3318021269 .md dl,
.md table, .d2-3318021269 .md table,
.md pre, .d2-3318021269 .md pre,
.md details { .d2-3318021269 .md details {
margin-top: 0; margin-top: 0;
margin-bottom: 16px; margin-bottom: 16px;
} }
.md blockquote > :first-child { .d2-3318021269 .md blockquote > :first-child {
margin-top: 0; margin-top: 0;
} }
.md blockquote > :last-child { .d2-3318021269 .md blockquote > :last-child {
margin-bottom: 0; margin-bottom: 0;
} }
.md sup > a::before { .d2-3318021269 .md sup > a::before {
content: "["; content: "[";
} }
.md sup > a::after { .d2-3318021269 .md sup > a::after {
content: "]"; content: "]";
} }
.md h1:hover .anchor, .d2-3318021269 .md h1:hover .anchor,
.md h2:hover .anchor, .d2-3318021269 .md h2:hover .anchor,
.md h3:hover .anchor, .d2-3318021269 .md h3:hover .anchor,
.md h4:hover .anchor, .d2-3318021269 .md h4:hover .anchor,
.md h5:hover .anchor, .d2-3318021269 .md h5:hover .anchor,
.md h6:hover .anchor { .d2-3318021269 .md h6:hover .anchor {
text-decoration: none; text-decoration: none;
} }
.md h1 tt, .d2-3318021269 .md h1 tt,
.md h1 code, .d2-3318021269 .md h1 code,
.md h2 tt, .d2-3318021269 .md h2 tt,
.md h2 code, .d2-3318021269 .md h2 code,
.md h3 tt, .d2-3318021269 .md h3 tt,
.md h3 code, .d2-3318021269 .md h3 code,
.md h4 tt, .d2-3318021269 .md h4 tt,
.md h4 code, .d2-3318021269 .md h4 code,
.md h5 tt, .d2-3318021269 .md h5 tt,
.md h5 code, .d2-3318021269 .md h5 code,
.md h6 tt, .d2-3318021269 .md h6 tt,
.md h6 code { .d2-3318021269 .md h6 code {
padding: 0 0.2em; padding: 0 0.2em;
font-size: inherit; font-size: inherit;
} }
.md ul.no-list, .d2-3318021269 .md ul.no-list,
.md ol.no-list { .d2-3318021269 .md ol.no-list {
padding: 0; padding: 0;
list-style-type: none; list-style-type: none;
} }
.md ol[type="1"] { .d2-3318021269 .md ol[type="1"] {
list-style-type: decimal; list-style-type: decimal;
} }
.md ol[type="a"] { .d2-3318021269 .md ol[type="a"] {
list-style-type: lower-alpha; list-style-type: lower-alpha;
} }
.md ol[type="i"] { .d2-3318021269 .md ol[type="i"] {
list-style-type: lower-roman; list-style-type: lower-roman;
} }
.md div > ol:not([type]) { .d2-3318021269 .md div > ol:not([type]) {
list-style-type: decimal; list-style-type: decimal;
} }
.md ul ul, .d2-3318021269 .md ul ul,
.md ul ol, .d2-3318021269 .md ul ol,
.md ol ol, .d2-3318021269 .md ol ol,
.md ol ul { .d2-3318021269 .md ol ul {
margin-top: 0; margin-top: 0;
margin-bottom: 0; margin-bottom: 0;
} }
.md li > p { .d2-3318021269 .md li > p {
margin-top: 16px; margin-top: 16px;
} }
.md li + li { .d2-3318021269 .md li + li {
margin-top: 0.25em; margin-top: 0.25em;
} }
.md dl { .d2-3318021269 .md dl {
padding: 0; padding: 0;
} }
.md dl dt { .d2-3318021269 .md dl dt {
padding: 0; padding: 0;
margin-top: 16px; margin-top: 16px;
font-size: 1em; font-size: 1em;
@ -559,48 +559,48 @@
font-weight: 600; font-weight: 600;
} }
.md dl dd { .d2-3318021269 .md dl dd {
padding: 0 16px; padding: 0 16px;
margin-bottom: 16px; margin-bottom: 16px;
} }
.md table th { .d2-3318021269 .md table th {
font-weight: 600; font-weight: 600;
} }
.md table th, .d2-3318021269 .md table th,
.md table td { .d2-3318021269 .md table td {
padding: 6px 13px; padding: 6px 13px;
border: 1px solid var(--color-border-default); border: 1px solid var(--color-border-default);
} }
.md table tr { .d2-3318021269 .md table tr {
background-color: var(--color-canvas-default); background-color: var(--color-canvas-default);
border-top: 1px solid var(--color-border-muted); border-top: 1px solid var(--color-border-muted);
} }
.md table tr:nth-child(2n) { .d2-3318021269 .md table tr:nth-child(2n) {
background-color: var(--color-canvas-subtle); background-color: var(--color-canvas-subtle);
} }
.md table img { .d2-3318021269 .md table img {
background-color: transparent; background-color: transparent;
} }
.md img[align="right"] { .d2-3318021269 .md img[align="right"] {
padding-left: 20px; padding-left: 20px;
} }
.md img[align="left"] { .d2-3318021269 .md img[align="left"] {
padding-right: 20px; padding-right: 20px;
} }
.md span.frame { .d2-3318021269 .md span.frame {
display: block; display: block;
overflow: hidden; overflow: hidden;
} }
.md span.frame > span { .d2-3318021269 .md span.frame > span {
display: block; display: block;
float: left; float: left;
width: auto; width: auto;
@ -610,81 +610,81 @@
border: 1px solid var(--color-border-default); border: 1px solid var(--color-border-default);
} }
.md span.frame span img { .d2-3318021269 .md span.frame span img {
display: block; display: block;
float: left; float: left;
} }
.md span.frame span span { .d2-3318021269 .md span.frame span span {
display: block; display: block;
padding: 5px 0 0; padding: 5px 0 0;
clear: both; clear: both;
color: var(--color-fg-default); color: var(--color-fg-default);
} }
.md span.align-center { .d2-3318021269 .md span.align-center {
display: block; display: block;
overflow: hidden; overflow: hidden;
clear: both; clear: both;
} }
.md span.align-center > span { .d2-3318021269 .md span.align-center > span {
display: block; display: block;
margin: 13px auto 0; margin: 13px auto 0;
overflow: hidden; overflow: hidden;
text-align: center; text-align: center;
} }
.md span.align-center span img { .d2-3318021269 .md span.align-center span img {
margin: 0 auto; margin: 0 auto;
text-align: center; text-align: center;
} }
.md span.align-right { .d2-3318021269 .md span.align-right {
display: block; display: block;
overflow: hidden; overflow: hidden;
clear: both; clear: both;
} }
.md span.align-right > span { .d2-3318021269 .md span.align-right > span {
display: block; display: block;
margin: 13px 0 0; margin: 13px 0 0;
overflow: hidden; overflow: hidden;
text-align: right; text-align: right;
} }
.md span.align-right span img { .d2-3318021269 .md span.align-right span img {
margin: 0; margin: 0;
text-align: right; text-align: right;
} }
.md span.float-left { .d2-3318021269 .md span.float-left {
display: block; display: block;
float: left; float: left;
margin-right: 13px; margin-right: 13px;
overflow: hidden; overflow: hidden;
} }
.md span.float-left span { .d2-3318021269 .md span.float-left span {
margin: 13px 0 0; margin: 13px 0 0;
} }
.md span.float-right { .d2-3318021269 .md span.float-right {
display: block; display: block;
float: right; float: right;
margin-left: 13px; margin-left: 13px;
overflow: hidden; overflow: hidden;
} }
.md span.float-right > span { .d2-3318021269 .md span.float-right > span {
display: block; display: block;
margin: 13px auto 0; margin: 13px auto 0;
overflow: hidden; overflow: hidden;
text-align: right; text-align: right;
} }
.md code, .d2-3318021269 .md code,
.md tt { .d2-3318021269 .md tt {
padding: 0.2em 0.4em; padding: 0.2em 0.4em;
margin: 0; margin: 0;
font-size: 85%; font-size: 85%;
@ -692,20 +692,20 @@
border-radius: 6px; border-radius: 6px;
} }
.md code br, .d2-3318021269 .md code br,
.md tt br { .d2-3318021269 .md tt br {
display: none; display: none;
} }
.md del code { .d2-3318021269 .md del code {
text-decoration: inherit; text-decoration: inherit;
} }
.md pre code { .d2-3318021269 .md pre code {
font-size: 100%; font-size: 100%;
} }
.md pre > code { .d2-3318021269 .md pre > code {
padding: 0; padding: 0;
margin: 0; margin: 0;
word-break: normal; word-break: normal;
@ -714,17 +714,17 @@
border: 0; border: 0;
} }
.md .highlight { .d2-3318021269 .md .highlight {
margin-bottom: 16px; margin-bottom: 16px;
} }
.md .highlight pre { .d2-3318021269 .md .highlight pre {
margin-bottom: 0; margin-bottom: 0;
word-break: normal; word-break: normal;
} }
.md .highlight pre, .d2-3318021269 .md .highlight pre,
.md pre { .d2-3318021269 .md pre {
padding: 16px; padding: 16px;
overflow: auto; overflow: auto;
font-size: 85%; font-size: 85%;
@ -733,8 +733,8 @@
border-radius: 6px; border-radius: 6px;
} }
.md pre code, .d2-3318021269 .md pre code,
.md pre tt { .d2-3318021269 .md pre tt {
display: inline; display: inline;
max-width: auto; max-width: auto;
padding: 0; padding: 0;
@ -746,8 +746,8 @@
border: 0; border: 0;
} }
.md .csv-data td, .d2-3318021269 .md .csv-data td,
.md .csv-data th { .d2-3318021269 .md .csv-data th {
padding: 5px; padding: 5px;
overflow: hidden; overflow: hidden;
font-size: 12px; font-size: 12px;
@ -756,38 +756,38 @@
white-space: nowrap; white-space: nowrap;
} }
.md .csv-data .blob-num { .d2-3318021269 .md .csv-data .blob-num {
padding: 10px 8px 9px; padding: 10px 8px 9px;
text-align: right; text-align: right;
background: var(--color-canvas-default); background: var(--color-canvas-default);
border: 0; border: 0;
} }
.md .csv-data tr { .d2-3318021269 .md .csv-data tr {
border-top: 0; border-top: 0;
} }
.md .csv-data th { .d2-3318021269 .md .csv-data th {
font-weight: 600; font-weight: 600;
background: var(--color-canvas-subtle); background: var(--color-canvas-subtle);
border-top: 0; border-top: 0;
} }
.md .footnotes { .d2-3318021269 .md .footnotes {
font-size: 12px; font-size: 12px;
color: var(--color-fg-muted); color: var(--color-fg-muted);
border-top: 1px solid var(--color-border-default); border-top: 1px solid var(--color-border-default);
} }
.md .footnotes ol { .d2-3318021269 .md .footnotes ol {
padding-left: 16px; padding-left: 16px;
} }
.md .footnotes li { .d2-3318021269 .md .footnotes li {
position: relative; position: relative;
} }
.md .footnotes li:target::before { .d2-3318021269 .md .footnotes li:target::before {
position: absolute; position: absolute;
top: -8px; top: -8px;
right: -8px; right: -8px;
@ -799,36 +799,36 @@
border-radius: 6px; border-radius: 6px;
} }
.md .footnotes li:target { .d2-3318021269 .md .footnotes li:target {
color: var(--color-fg-default); color: var(--color-fg-default);
} }
.md .task-list-item { .d2-3318021269 .md .task-list-item {
list-style-type: none; list-style-type: none;
} }
.md .task-list-item label { .d2-3318021269 .md .task-list-item label {
font-weight: 400; font-weight: 400;
} }
.md .task-list-item.enabled label { .d2-3318021269 .md .task-list-item.enabled label {
cursor: pointer; cursor: pointer;
} }
.md .task-list-item + .task-list-item { .d2-3318021269 .md .task-list-item + .task-list-item {
margin-top: 3px; margin-top: 3px;
} }
.md .task-list-item .handle { .d2-3318021269 .md .task-list-item .handle {
display: none; display: none;
} }
.md .task-list-item-checkbox { .d2-3318021269 .md .task-list-item-checkbox {
margin: 0 0.2em 0.25em -1.6em; margin: 0 0.2em 0.25em -1.6em;
vertical-align: middle; vertical-align: middle;
} }
.md .contains-task-list:dir(rtl) .task-list-item-checkbox { .d2-3318021269 .md .contains-task-list:dir(rtl) .task-list-item-checkbox {
margin: 0 -1.6em 0.25em 0.2em; margin: 0 -1.6em 0.25em 0.2em;
} }
</style><g id="a"><g class="shape" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="0.000000" y="0.000000" width="1" height="1"><div xmlns="http://www.w3.org/1999/xhtml" class="md" /></foreignObject></g></g><mask id="d2-3318021269" maskUnits="userSpaceOnUse" x="-1" y="-1" width="3" height="3"> </style><g id="a"><g class="shape" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="0.000000" y="0.000000" width="1" height="1"><div xmlns="http://www.w3.org/1999/xhtml" class="md" /></foreignObject></g></g><mask id="d2-3318021269" maskUnits="userSpaceOnUse" x="-1" y="-1" width="3" height="3">

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 22 KiB

View file

@ -1,4 +1,4 @@
<?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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 102 102"><svg id="d2-svg" class="d2-198791073" width="102" height="102" viewBox="-1 -1 102 102"><rect x="-1.000000" y="-1.000000" width="102.000000" height="102.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[]]></style><style type="text/css"><![CDATA[.shape { <?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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 102 102"><svg id="d2-svg" class="d2-198791073" width="102" height="102" viewBox="-1 -1 102 102"><rect x="-1.000000" y="-1.000000" width="102.000000" height="102.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[]]></style><style type="text/css"><![CDATA[.shape {
shape-rendering: geometricPrecision; shape-rendering: geometricPrecision;
stroke-linejoin: round; stroke-linejoin: round;
} }

Before

Width:  |  Height:  |  Size: 6 KiB

After

Width:  |  Height:  |  Size: 6 KiB

View file

@ -1,4 +1,4 @@
<?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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 52 14"><svg id="d2-svg" class="d2-2388684491" width="52" height="14" viewBox="-1 -1 52 14"><rect x="-1.000000" y="-1.000000" width="52.000000" height="14.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[]]></style><style type="text/css"><![CDATA[.shape { <?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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 52 14"><svg id="d2-svg" class="d2-2388684491" width="52" height="14" viewBox="-1 -1 52 14"><rect x="-1.000000" y="-1.000000" width="52.000000" height="14.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[]]></style><style type="text/css"><![CDATA[.shape {
shape-rendering: geometricPrecision; shape-rendering: geometricPrecision;
stroke-linejoin: round; stroke-linejoin: round;
} }

Before

Width:  |  Height:  |  Size: 6.1 KiB

After

Width:  |  Height:  |  Size: 6.1 KiB

View file

@ -1,4 +1,4 @@
<?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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 182 87"><svg id="d2-svg" class="d2-776364968" width="182" height="87" viewBox="-1 -17 182 87"><rect x="-1.000000" y="-17.000000" width="182.000000" height="87.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[ <?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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 182 87"><svg id="d2-svg" class="d2-776364968" width="182" height="87" viewBox="-1 -17 182 87"><rect x="-1.000000" y="-17.000000" width="182.000000" height="87.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-776364968 .text-bold { .d2-776364968 .text-bold {
font-family: "d2-776364968-font-bold"; font-family: "d2-776364968-font-bold";
} }

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB

View file

@ -1,4 +1,4 @@
<?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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 1138 506"><svg id="d2-svg" class="d2-2973203817" width="1138" height="506" viewBox="-1 -1 1138 506"><rect x="-1.000000" y="-1.000000" width="1138.000000" height="506.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[ <?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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 1138 506"><svg id="d2-svg" class="d2-2973203817" width="1138" height="506" viewBox="-1 -1 1138 506"><rect x="-1.000000" y="-1.000000" width="1138.000000" height="506.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-2973203817 .text-bold { .d2-2973203817 .text-bold {
font-family: "d2-2973203817-font-bold"; font-family: "d2-2973203817-font-bold";
} }

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 24 KiB

View file

@ -1,4 +1,4 @@
<?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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 1149 517"><svg id="d2-svg" class="d2-838339516" width="1149" height="517" viewBox="-1 -12 1149 517"><rect x="-1.000000" y="-12.000000" width="1149.000000" height="517.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[ <?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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 1149 517"><svg id="d2-svg" class="d2-838339516" width="1149" height="517" viewBox="-1 -12 1149 517"><rect x="-1.000000" y="-12.000000" width="1149.000000" height="517.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-838339516 .text-bold { .d2-838339516 .text-bold {
font-family: "d2-838339516-font-bold"; font-family: "d2-838339516-font-bold";
} }

Before

Width:  |  Height:  |  Size: 27 KiB

After

Width:  |  Height:  |  Size: 27 KiB

View file

@ -1,4 +1,4 @@
<?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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 1138 506"><svg id="d2-svg" class="d2-3997763983" width="1138" height="506" viewBox="-1 -1 1138 506"><rect x="-1.000000" y="-1.000000" width="1138.000000" height="506.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[ <?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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 1138 506"><svg id="d2-svg" class="d2-3997763983" width="1138" height="506" viewBox="-1 -1 1138 506"><rect x="-1.000000" y="-1.000000" width="1138.000000" height="506.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-3997763983 .text-bold { .d2-3997763983 .text-bold {
font-family: "d2-3997763983-font-bold"; font-family: "d2-3997763983-font-bold";
} }

Before

Width:  |  Height:  |  Size: 448 KiB

After

Width:  |  Height:  |  Size: 448 KiB

View file

@ -1,4 +1,4 @@
<?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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 714 682"><svg id="d2-svg" class="d2-3187238367" width="714" height="682" viewBox="-1 0 714 682"><rect x="-1.000000" y="0.000000" width="714.000000" height="682.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[ <?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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 714 682"><svg id="d2-svg" class="d2-3187238367" width="714" height="682" viewBox="-1 0 714 682"><rect x="-1.000000" y="0.000000" width="714.000000" height="682.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-3187238367 .text { .d2-3187238367 .text {
font-family: "d2-3187238367-font-regular"; font-family: "d2-3187238367-font-regular";
} }

Before

Width:  |  Height:  |  Size: 61 KiB

After

Width:  |  Height:  |  Size: 61 KiB

View file

@ -1,4 +1,4 @@
<?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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 362 454"><svg id="d2-svg" class="d2-3084549463" width="362" height="454" viewBox="-1 0 362 454"><rect x="-1.000000" y="0.000000" width="362.000000" height="454.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[ <?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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 362 454"><svg id="d2-svg" class="d2-3084549463" width="362" height="454" viewBox="-1 0 362 454"><rect x="-1.000000" y="0.000000" width="362.000000" height="454.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-3084549463 .text-mono { .d2-3084549463 .text-mono {
font-family: "d2-3084549463-font-mono"; font-family: "d2-3084549463-font-mono";
} }

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 19 KiB

View file

@ -1,4 +1,4 @@
<?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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 350 400"><svg id="d2-svg" class="d2-70108891" width="350" height="400" viewBox="-1 -1 350 400"><rect x="-1.000000" y="-1.000000" width="350.000000" height="400.000000" rx="0.000000" fill="honeydew" stroke-width="0" /><rect x="-1.000000" y="-1.000000" width="350.000000" height="400.000000" rx="0.000000" class="dots-overlay" stroke-width="0" /><style type="text/css"><![CDATA[ <?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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 350 400"><svg id="d2-svg" class="d2-70108891" width="350" height="400" viewBox="-1 -1 350 400"><rect x="-1.000000" y="-1.000000" width="350.000000" height="400.000000" rx="0.000000" fill="honeydew" stroke-width="0" /><rect x="-1.000000" y="-1.000000" width="350.000000" height="400.000000" rx="0.000000" class="dots-overlay" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-70108891 .text-bold { .d2-70108891 .text-bold {
font-family: "d2-70108891-font-bold"; font-family: "d2-70108891-font-bold";
} }

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

View file

@ -1,4 +1,4 @@
<?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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 350 400"><svg id="d2-svg" class="d2-70108891" width="350" height="400" viewBox="-1 -1 350 400"><rect x="-1.000000" y="-1.000000" width="350.000000" height="400.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><rect x="-1.000000" y="-1.000000" width="350.000000" height="400.000000" rx="0.000000" class="dots-overlay" stroke-width="0" /><style type="text/css"><![CDATA[ <?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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 350 400"><svg id="d2-svg" class="d2-70108891" width="350" height="400" viewBox="-1 -1 350 400"><rect x="-1.000000" y="-1.000000" width="350.000000" height="400.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><rect x="-1.000000" y="-1.000000" width="350.000000" height="400.000000" rx="0.000000" class="dots-overlay" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-70108891 .text-bold { .d2-70108891 .text-bold {
font-family: "d2-70108891-font-bold"; font-family: "d2-70108891-font-bold";
} }

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

View file

@ -1,4 +1,4 @@
<?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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 350 400"><svg id="d2-svg" class="d2-2976898491" width="350" height="400" viewBox="-1 -1 350 400"><rect x="-1.000000" y="-1.000000" width="350.000000" height="400.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[ <?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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 350 400"><svg id="d2-svg" class="d2-2976898491" width="350" height="400" viewBox="-1 -1 350 400"><rect x="-1.000000" y="-1.000000" width="350.000000" height="400.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-2976898491 .text-bold { .d2-2976898491 .text-bold {
font-family: "d2-2976898491-font-bold"; font-family: "d2-2976898491-font-bold";
} }

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

View file

@ -1,4 +1,4 @@
<?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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 370 85"><svg id="d2-svg" class="d2-1813696622" width="370" height="85" viewBox="-1 -18 370 85"><rect x="-1.000000" y="-18.000000" width="370.000000" height="85.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[ <?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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 370 85"><svg id="d2-svg" class="d2-1813696622" width="370" height="85" viewBox="-1 -18 370 85"><rect x="-1.000000" y="-18.000000" width="370.000000" height="85.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.appendix-icon { .appendix-icon {
filter: drop-shadow(0px 0px 32px rgba(31, 36, 58, 0.1)); filter: drop-shadow(0px 0px 32px rgba(31, 36, 58, 0.1));
} }

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 11 KiB

View file

@ -1,4 +1,4 @@
<?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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 290 85"><svg id="d2-svg" class="d2-1299322987" width="290" height="85" viewBox="11 -6 290 85"><rect x="11.000000" y="-6.000000" width="290.000000" height="85.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[ <?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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 290 85"><svg id="d2-svg" class="d2-1299322987" width="290" height="85" viewBox="11 -6 290 85"><rect x="11.000000" y="-6.000000" width="290.000000" height="85.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.appendix-icon { .appendix-icon {
filter: drop-shadow(0px 0px 32px rgba(31, 36, 58, 0.1)); filter: drop-shadow(0px 0px 32px rgba(31, 36, 58, 0.1));
} }

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 11 KiB

View file

@ -1,4 +1,4 @@
<?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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 425 68"><svg id="d2-svg" class="d2-2734330532" width="425" height="68" viewBox="-1 -1 425 68"><rect x="-1.000000" y="-1.000000" width="425.000000" height="68.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[ <?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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 425 68"><svg id="d2-svg" class="d2-2734330532" width="425" height="68" viewBox="-1 -1 425 68"><rect x="-1.000000" y="-1.000000" width="425.000000" height="68.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-2734330532 .text-bold { .d2-2734330532 .text-bold {
font-family: "d2-2734330532-font-bold"; font-family: "d2-2734330532-font-bold";
} }

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

View file

@ -1,4 +1,4 @@
<?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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 505 68"><svg id="d2-svg" class="d2-2338416351" width="505" height="68" viewBox="11 11 505 68"><rect x="11.000000" y="11.000000" width="505.000000" height="68.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[ <?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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 505 68"><svg id="d2-svg" class="d2-2338416351" width="505" height="68" viewBox="11 11 505 68"><rect x="11.000000" y="11.000000" width="505.000000" height="68.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-2338416351 .text-bold { .d2-2338416351 .text-bold {
font-family: "d2-2338416351-font-bold"; font-family: "d2-2338416351-font-bold";
} }

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

View file

@ -1,4 +1,4 @@
<?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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 119 164"><svg id="d2-svg" class="d2-878916677" width="119" height="164" viewBox="11 51 119 164"><rect x="11.000000" y="51.000000" width="119.000000" height="164.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[ <?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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 119 164"><svg id="d2-svg" class="d2-878916677" width="119" height="164" viewBox="11 51 119 164"><rect x="11.000000" y="51.000000" width="119.000000" height="164.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-878916677 .text-mono { .d2-878916677 .text-mono {
font-family: "d2-878916677-font-mono"; font-family: "d2-878916677-font-mono";
} }

Before

Width:  |  Height:  |  Size: 9.9 KiB

After

Width:  |  Height:  |  Size: 9.9 KiB

Some files were not shown because too many files have changed in this diff Show more