@postxl/generators 1.11.7 → 1.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/backend-view/model-view-service.generator.js +4 -1
- package/dist/backend-view/model-view-service.generator.js.map +1 -1
- package/dist/backend-view/template/query.utils.test.ts +34 -0
- package/dist/backend-view/template/query.utils.ts +12 -0
- package/dist/frontend-admin/admin.generator.d.ts +9 -0
- package/dist/frontend-admin/admin.generator.js +19 -0
- package/dist/frontend-admin/admin.generator.js.map +1 -1
- package/dist/frontend-admin/generators/admin-sidebar.generator.js +1 -1
- package/dist/frontend-admin/generators/audit-log-sidebar.generator.js +107 -113
- package/dist/frontend-admin/generators/audit-log-sidebar.generator.js.map +1 -1
- package/dist/frontend-admin/generators/comment-sidebar.generator.d.ts +9 -0
- package/dist/frontend-admin/generators/comment-sidebar.generator.js +246 -0
- package/dist/frontend-admin/generators/comment-sidebar.generator.js.map +1 -0
- package/dist/frontend-admin/generators/detail-sidebar.generator.d.ts +9 -0
- package/dist/frontend-admin/generators/detail-sidebar.generator.js +148 -0
- package/dist/frontend-admin/generators/detail-sidebar.generator.js.map +1 -0
- package/dist/frontend-admin/generators/model-admin-page.generator.js +40 -6
- package/dist/frontend-admin/generators/model-admin-page.generator.js.map +1 -1
- package/dist/frontend-core/frontend.generator.js +2 -1
- package/dist/frontend-core/frontend.generator.js.map +1 -1
- package/dist/frontend-core/template/docs/LOGIN_PROCESS.d2 +372 -0
- package/dist/frontend-core/template/docs/LOGIN_PROCESS.md +214 -0
- package/dist/frontend-core/template/docs/LOGIN_PROCESS.svg +914 -0
- package/dist/frontend-core/template/src/components/admin/table-filter.tsx +1 -1
- package/dist/frontend-core/template/src/components/admin/table-view-panel.tsx +159 -0
- package/dist/frontend-core/template/src/context-providers/auth-context-provider.tsx +54 -43
- package/dist/frontend-core/template/src/hooks/use-table-view-config.tsx +249 -0
- package/dist/frontend-core/template/src/pages/dashboard/dashboard.page.tsx +5 -5
- package/dist/frontend-core/template/src/pages/error/auth-error.page.tsx +37 -0
- package/dist/frontend-core/template/src/pages/error/default-error.page.tsx +24 -40
- package/dist/frontend-core/template/src/pages/error/not-found-error.page.tsx +8 -10
- package/dist/frontend-core/template/src/pages/login/login.page.tsx +39 -13
- package/dist/frontend-core/template/src/pages/unauthorized/unauthorized.page.tsx +2 -2
- package/dist/frontend-core/template/src/routes/_auth-routes.tsx +21 -8
- package/dist/frontend-core/template/src/routes/auth-error.tsx +19 -0
- package/dist/frontend-core/template/vite.config.ts +5 -0
- package/dist/frontend-core/types/hook.d.ts +1 -1
- package/dist/frontend-tables/generators/model-table.generator.js +30 -5
- package/dist/frontend-tables/generators/model-table.generator.js.map +1 -1
- package/package.json +5 -5
|
@@ -0,0 +1,914 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" data-d2-version="0.7.1" preserveAspectRatio="xMinYMin meet" viewBox="0 0 3025 4050"><svg class="d2-2476658007 d2-svg" width="3025" height="4050" viewBox="-91 -152 3025 4050"><rect x="-91.000000" y="-152.000000" width="3025.000000" height="4050.000000" rx="0.000000" fill="#FFFFFF" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
|
|
2
|
+
.d2-2476658007 .text {
|
|
3
|
+
font-family: "d2-2476658007-font-regular";
|
|
4
|
+
}
|
|
5
|
+
@font-face {
|
|
6
|
+
font-family: d2-2476658007-font-regular;
|
|
7
|
+
src: url("data:application/font-woff;base64,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");
|
|
8
|
+
}
|
|
9
|
+
@font-face {
|
|
10
|
+
font-family: d2-2476658007-font-semibold;
|
|
11
|
+
src: url("data:application/font-woff;base64,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");
|
|
12
|
+
}
|
|
13
|
+
.d2-2476658007 .text-bold {
|
|
14
|
+
font-family: "d2-2476658007-font-bold";
|
|
15
|
+
}
|
|
16
|
+
@font-face {
|
|
17
|
+
font-family: d2-2476658007-font-bold;
|
|
18
|
+
src: url("data:application/font-woff;base64,d09GRgABAAAAABNwAAoAAAAAHOAAAguFAAAAAAAAAAAAAAAAAAAAAAAAAABPUy8yAAAA9AAAAGAAAABgXxHXrmNtYXAAAAFUAAAA5QAAAUZKAufaZ2x5ZgAAAjwAAAwbAAAQWFlhqIxoZWFkAAAOWAAAADYAAAA2G38e1GhoZWEAAA6QAAAAJAAAACQKfwX7aG10eAAADrQAAADXAAAA8HYHCkhsb2NhAAAPjAAAAHoAAAB6gDJ8tm1heHAAABAIAAAAIAAAACAAVAD3bmFtZQAAECgAAAMoAAAIKgjwVkFwb3N0AAATUAAAAB0AAAAg/9EAMgADAioCvAAFAAACigJYAAAASwKKAlgAAAFeADIBKQAAAgsHAwMEAwICBGAAAvcAAAADAAAAAAAAAABBREJPACAAIP//Au7/BgAAA9gBESAAAZ8AAAAAAfAClAAAACAAA3iclNC7StsBFAbw37+5NG3TtE1b75dE490k3hVBRHARRcRBcBJHcRFHH8OHcFc38YKv4AMIPoG7y5EEcXDzzD843/chkZIgL50soqYkraCkYtCQEaOqauqWLFuxZsOWHbv2HDhyUj6N4N0Pf/Cr1m3abvp9h44bPp4UZeV890MqQiZe4jnu4y5u4yau4yoe4jIu4vzxrJnuM5eYM65uyrRZE6pmzKv5IiUtI+urnG/N33k/Ffzy2x9Ff036578Wrdq069CpS7cevUrK+vSrGHjr2VhmzAKvAAAA//8BAAD//2jXMeUAAAB4nIRXa3Ab13U+92KBFUHwASx2FwDxXmIXAEmQxHKxJEEKpAiQFAXwaVJUTL1YW1JEiWYsOmJcJuqMJU/TwJFjMIxsp3bq2tM246TjUTuTpGU6TSsrmuiHO3aqP4ljuxnFiWdk1GUyrk0uOnfBl9wf+UHcneW9557zne875ywYYRQAz+IVMEAF1IANWADZGrCGZEkSaFVWVYE3qBKy0qPYpr3yshShIhEq6r/me/z4cZQ7hlc2zz2Ym539w/FkUnvhhz/SnkIXfgSAS58A4D6chwqwAjC0LImiJJhMBkZmBEmg79Z+raaqroqyOD+5/drtb4dvhtFQV1frvNx2XruC85uLzz8PAIAhB4CzOA/msmdynONYu8kkSHI8kVDaRFEQcj946Jmx0asnmtztE7HYRLsb59NXFxaeGbgYnhkePhICAETsoA9xHir1+NgAK7MCG2Bz6Jr26dtvoxqcX37iT1eXd/a+r/u+Z28OPa99/N57OL/8reVN0PfFSus4ja+BD8AYFEWlLZGQ4xxPi6IQNLF2To4nVEVQZKvJhM4f+cbk4acPD5zy55zt0eyJmQftouXcveAXLNlvnj/37Fhb4BjnXZh9aMFsXljS3grEyn7gyW2fZVZWZKtgFay5wrsrK+/i/Kefbi6iWq247TO8g/Ng0PdacwUC4paNczgPlvJ7mZENjGCg2VyB+slLN377Vy9mcV77ParUNrQlxDz099vxv4fzYCyfCbC5AsI4v1lchu279Jww+v8ZXhZFhfhmkASOY9nct77bQ1HVebIYq3Be++en2/6s8+7mIsp8PbHc+Rs9rwS7r+BrUAN196GnZ1eKk9SWQURT01cOHboyXf7tGx7u6xsetow/e3bumyMjq2fPPjt+aXF2dn5+dnZxmy8terz2+/gisFY5TowKuXcGH+vvX8yMDS71dKVxXpoZyc42/xKNn5Gju5ybwHmoBn6PDZoQl1hJlM18kHk0nVJWXvnyWLazu7szi/Oh6eHBo7z26QcfoBOtLS0iwUoorWMzvgZRPUpJ5biyAUmK4f9HGJ4ve4vsPZfiDwhT4ViT3DAZ6BKTn0+3L0QP+Xsksakj+kCyv3Pe0hJ72CsGPT6Prb66ub85Md3WGD3qrPO5vV5r0PFAJjHTDgicAJjBeaBJJIISYAXr7evok+u4dnl5s1jO58HSOh7BeaJUY1BUrLJV567+YELDl55c6VTVrq8/YVl9GR3TCiey2RPovPbSy6uASv8LgGWchyoA2SAzHMfLiYTKyIYf3/j2cA1fQ1U7qnOr/47z2hvKqUTilIJaCC9LHwNgFuehBkBWDDK/dVCVDezajRc6q11VVLW7KvncjffRy6uhjChmQqvazPt6fqKldfQW2gAnCAB8kFBH1SGkJR1Q1iqQWqMS+ZkIrj9Oj14uYCHi66lXmuc6j59aMlO+gX3OEDPc5bMcTg1P1wQkB3vSUz//qPZr2S08yjOHzQ0eB6/f11taxxxeA/uW0iWBFqwyS3+GsEKQZjkOZQJ9HspyoUB50sGu6eau49NiYqoxYg9bAn4Fr72adXn2fyE7+aXUUn/2yaaf2ar1HNSX1tEa2gDXZ2vJbinhTSbkzDzSO/jFdGzAnRH8SirV4ogxnaEpS/dj4xOL3V7+uCfb25Nja07468pclkrraAOvAQP+bax0wxIR7A5K2wT8aOaR5PG2SLvTVFgyU65+7JBsTINdSDRbvvalscf2ux3Zv9vsa3UJS3bnz2zVfQMHM4B1399FG+D4TCXUVRMgjCe+G2Rd0sg38OiBvnPJgaPNFNbumPtblUSreOy561JjMGHZvzg+tphKzaWZUEVCDhxxeVFnRGku89QBgBbxLbISLquf0Q8p09bPHThQP9rna6utq3JZ6rxHjqAvnzfWKVNtFtM5ozEgei9oTwAYIFhqwjTagGZIwpCOjKi0ESAImZTtEHiZFbYKSFDS80DoZTeZDHsqFLNVEYKivuWjzmPtA0yd3+GKdB5TGgP/OEJXtE2rHp8tGBmdOZleHvJIkscjSZF4jxSSnQFLXfebrvbGrjBVFfbVxWspW7qhayRsmasM2juG6s01HGNL9sljMXQrGpEi4XAkqhXqnXytweBwuj1lbHpJsnWO6r2C3haCVfeStvYWaPeh+NjBgsfvDjvw2qtHnA1zR7XbKJAIO3ntNSiVQAWAX+I3sQgdAEBDJ/zFjm0vXtvpIapMaiHN9l6l/vI73/+nFxdSeE2bv3Fb+8W/DjxO9pfWkQ2vEW3ze+oJIcFPs8mCtcJIm2yWkOXBQ1jYvMPbEDpvpMv3GDxoAwL6PaQekOzeFwm9s/YSDfe3Kr1MYKh19FDB4w+1kJ9mVOzxNTWEg63b4bVor20t2zihjS2ctu7Yi9OSmfLndoBCxZS36T6cynzXufPHexeXeiSdfiSVmk+n51NNsVhTrKlpS6vdixPjj3VfzPX0Zolky3VmEHNoAxjwAvC73un0EyWeZXbLDPHTc1D63Jmu4wl/l8s4IiamGqL28A/w37a6hK9emFxK1TlHvoHqd4qMHju6ijbAdh++ZfWUI6/Liqzb7Khy1rq77ah4ON5qNF6iqEhcewcQsKV19CLaAEnP624vE8u9bMcY6WRezNpNb7aeFg8EU76A1xNzeZPhz092HPYdcLW5OjpEf3fkjEX0zTjreMbKMWZLfUckMyU5pu2c5HBWVwodsb6jZW5bS+toHi+Sbkz6kyIoqirrQ9luYYSZkXTW+vjFi4LH4jTzjGo5O3XrvOny5Qs3oyETNWeylG11ldbRx6hI8n8fN61b5fA/xw4WvH63yBWWKg2+IcvcUdSm/UqJuDxoUKvNhBoBER2gEipu9bw9rev636z0mBkzVcGYe596CRV/F8pJUi70O612u37hIirq/N57bo8FYWtOpumV5WdaTGYTRVdVqJfaK2poiq6gm//84qtNdBVN0ZV0IyreDQ2K4pBwV18HQ3e12teF/nC4X3hdv48kfR0VyQwgM9Kea2h+957qa1dfaDRzZmqfbV/w2tPPvtBi4S1Uhb1CQvjeKNvAsg3saOm/x9lGlm3gxoldS2k/2kRFwv5dHqjqfVBU4yUuUOOibftCYTP9LysDlTYztc9a0fXUq3z7yE9M1AIy1ntc6L9+HuwPCQPCz7XK/ZPRco7I4PQPqKjP3wpDhhaDzIpv/BAtvHFnBMUuDGv/cYHUcGdpHX8VX4NKaIMUAGMnxaIsPqasSnVHm0RENEc2qHL5iRZFyWSSSPpV/fHdSrPQwvHOoHXgZOtAC8M2jCaGpsL7g+6+eqdoedKmiL4OpxCejEZO5RMNkUgo42Gc6J4tbGdjAd4tbf5anoynJ31Cxtecax5NR/sU3t/t8g/HkvNyLUtd3Bd0+IR/C8VcvnS9VdRj7S6tw4fwPTLjl7tz2ddVUZZFUZYtihRWlLCkkPoQKa2jV/B3wUUQUsX9hnKsW1MPx9qrDTy9x8hzJk6KekJed4N9TJjtTEzGvY1RF9UrxuPE9m8ivUpTA+fzu+xDkXh9NhnqaGlW6/9n90pAkEWz8A7+PvkWYCRJpul5j3HF6EGzN69cuQkIGuAWCqBW8t2hKjLb8IdbZ86UObKI3i/dJO95JcBa0C/yExOAYLCUQ2H8K6IdvpwiXh/R+NupTCY1o8bj6vXTb1++/PZp8eSdubN3ZgFBSymHarfOSHqGCedYuyk/0x6Pt8+kMpnr4uyds3N3Tor6WUBQVTqBEvh1/X5GNlTdOnHrO4ZTG8/p/EJH0V/jnxJ9MJIqqbwq8ypP87S00p08xy9W5aouOM4lu0fR0cYzrYOOL150DraeaTxCzkqlZ9Bb+LfQSOISt8ivtMUofW6QWW53nPdSZP5h7zSeFHrETP2Y2JXuEsf7T7YMeobq4v56UX8xkpt/yCj5/8TtzbhC/mBjqmnoZPXph+lG3wNOpzfoCHj9sd6WwdPWM0B6dBBeQvfQR1iEJCyCCZKQ1/MULn2IJ3AF0YxRUgNKQFIRi7r7V7Xn0cOr/YizjlxevDyi/Z7amRfgLVTc/l7sLaCiVguo9D3cARP4TcJH6x4qhWKxUCgWwx1RQYiSP2IjiDh0D32F2GCUABtEtxFHsg//BwAA//8BAAD//3glf3YAAAEAAAACC4VWESQFXw889QABA+gAAAAA2F2ghAAAAADdZi82/jf+xAhtA/EAAQADAAIAAAAAAAAAAQAAA9j+7wAACJj+N/43CG0AAQAAAAAAAAAAAAAAAAAAADx4nBzKwSpEYRzG4d/7Tk3kDKOGZjYW4zSDOSY7ypzFt6PmXwo1LoByDYo7sD/ZWbOxdQOUsnArFtgcsXzq8RNHvIDL+sdXhHPCGeFrxr4ntE34gnCTcEX4gbFPCJ8TLlh3Qc8Vhy7qb7fqLy+x5ZKkD3KXDN0k1yldr9L3Pkkddp2TtEZqnJE8IXn0f5NuSXpmRTcse4+JF8gac3RtFj1PpjcGvqOnglLvbKpgqikjfZJpxoFm7OiYll4ZuM3Qbfq+ZEMdEtSPf/4FAAD//wEAAP//ZUIlqwAAAAAsACwAUAB0AIoAngDOAOQA8AEKARoBPAFoAYoBsAHwAgICIAI8AloCkgLEAvADIgNWA3wD5AQGBBIEKgRGBHgEmgTGBPYFFgVSBXgFmgW2Be4GGgZKBl4GwAbWBxAHIAcsBzgHUgdsB3oHmAfYB+QH/AgICB4ILAAAAAEAAAA8AJAADABjAAcAAQAAAAAAAAAAAAAAAAAEAAN4nJyUz24bVRTGf05s0wrBAkVVuonugkWR6NhUSdU2K4fUikUUB48LQkJIE8/4jzKeGXkmDuEJWPMWvEVXPATPgVij+Xzs2AXRJoqSfHfu+fOdc75zgR3+ZptK9SHwRz0xXGGvfm54iwf1E8PbtOtbhqs8qf1puEZYmxuu83mtZ/gj3lZ/M/yA/epPhh+yW20b/phn1R3Dn2w7/jL8Kfu8XeAKvOBXwxV2yQxvscOPhrd5hMWsVHlE03CNz9gzXGcP6DOhIGZCwgjHkAkjrpgRkeMTMWPCkIgQR4cWMYW+JgRCjtF/fg3wKZgRKOKYAkeMT0xAztgi/iKvlHNlHOo0s7sWBWMCLuRxSUCCI2VESkLEpeIUFGS8okGDnIH4ZhTkeORMiPFImTGiQZc2p/QZMyHH0VakkplPypCCawLld2ZRdmZAREJurK5ICMXTiV8k7w6nOLpksl2PfLoR4Usc38m75JbK9is8/bo1Zpt5l2wC5upnrK7EurnWBMe6LfO2+Fa44BXuXv3ZZPL+HoX6XyjyBVeaf6hJJWKS4NwuLXwpyHePcRzp3MFXR76nQ58Turyhr3OLHj1anNGnw2v5dunh+JouZxzLoyO8uGtLMWf8gOMbOrIpY0fWn8XEIn4mM3Xn4jhTHVMy9bxk7qnWSBXefcLlDqUb6sjlM9AelZZO80u0ZwEjU0UmhlP1cqmN3PoXmiKmqqWc7e19uQ1z273lFt+QaodLtS44lZNbMHrfVL13NHOtH4+AkJQLWQxImdKg4Ea8zwm4IsZxrO6daEsKWiufMs+NVBIxFYMOieLMyPQ3MN34xn2woXtnb0ko/5Lp5aqq+2Rx6tXtjN6oe8s737ocrU2gYVNN19Q0ENfEtB9pp9b5+/LN9bqlPOWIlJjwXy/AMzya7HPAIWNlGOhmbq9DUy9Ek5ccqvpLIlkNpefIIhzg8ZwDDnjJ83f6uGTijItbcVnP3eKYI7ocflAVC/suR7xeffv/rL+LaVO1OJ6uTi/uPcUnd1DrF9qz2/eyp4mVk5hbtNutOCNgWnJxu+s1ucd4/wAAAP//AQAA///0t09ReJxiYGYAg//nGIwYsAAAAAAA//8BAAD//y8BAgMAAAA=");
|
|
19
|
+
}
|
|
20
|
+
.d2-2476658007 .text-italic {
|
|
21
|
+
font-family: "d2-2476658007-font-italic";
|
|
22
|
+
}
|
|
23
|
+
@font-face {
|
|
24
|
+
font-family: d2-2476658007-font-italic;
|
|
25
|
+
src: url("data:application/font-woff;base64,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");
|
|
26
|
+
}]]></style><style type="text/css"><![CDATA[.shape {
|
|
27
|
+
shape-rendering: geometricPrecision;
|
|
28
|
+
stroke-linejoin: round;
|
|
29
|
+
}
|
|
30
|
+
.connection {
|
|
31
|
+
stroke-linecap: round;
|
|
32
|
+
stroke-linejoin: round;
|
|
33
|
+
}
|
|
34
|
+
.blend {
|
|
35
|
+
mix-blend-mode: multiply;
|
|
36
|
+
opacity: 0.5;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
.d2-2476658007 .fill-N1{fill:#0A0F25;}
|
|
40
|
+
.d2-2476658007 .fill-N2{fill:#676C7E;}
|
|
41
|
+
.d2-2476658007 .fill-N3{fill:#9499AB;}
|
|
42
|
+
.d2-2476658007 .fill-N4{fill:#CFD2DD;}
|
|
43
|
+
.d2-2476658007 .fill-N5{fill:#DEE1EB;}
|
|
44
|
+
.d2-2476658007 .fill-N6{fill:#EEF1F8;}
|
|
45
|
+
.d2-2476658007 .fill-N7{fill:#FFFFFF;}
|
|
46
|
+
.d2-2476658007 .fill-B1{fill:#0D32B2;}
|
|
47
|
+
.d2-2476658007 .fill-B2{fill:#0D32B2;}
|
|
48
|
+
.d2-2476658007 .fill-B3{fill:#E3E9FD;}
|
|
49
|
+
.d2-2476658007 .fill-B4{fill:#E3E9FD;}
|
|
50
|
+
.d2-2476658007 .fill-B5{fill:#EDF0FD;}
|
|
51
|
+
.d2-2476658007 .fill-B6{fill:#F7F8FE;}
|
|
52
|
+
.d2-2476658007 .fill-AA2{fill:#4A6FF3;}
|
|
53
|
+
.d2-2476658007 .fill-AA4{fill:#EDF0FD;}
|
|
54
|
+
.d2-2476658007 .fill-AA5{fill:#F7F8FE;}
|
|
55
|
+
.d2-2476658007 .fill-AB4{fill:#EDF0FD;}
|
|
56
|
+
.d2-2476658007 .fill-AB5{fill:#F7F8FE;}
|
|
57
|
+
.d2-2476658007 .stroke-N1{stroke:#0A0F25;}
|
|
58
|
+
.d2-2476658007 .stroke-N2{stroke:#676C7E;}
|
|
59
|
+
.d2-2476658007 .stroke-N3{stroke:#9499AB;}
|
|
60
|
+
.d2-2476658007 .stroke-N4{stroke:#CFD2DD;}
|
|
61
|
+
.d2-2476658007 .stroke-N5{stroke:#DEE1EB;}
|
|
62
|
+
.d2-2476658007 .stroke-N6{stroke:#EEF1F8;}
|
|
63
|
+
.d2-2476658007 .stroke-N7{stroke:#FFFFFF;}
|
|
64
|
+
.d2-2476658007 .stroke-B1{stroke:#0D32B2;}
|
|
65
|
+
.d2-2476658007 .stroke-B2{stroke:#0D32B2;}
|
|
66
|
+
.d2-2476658007 .stroke-B3{stroke:#E3E9FD;}
|
|
67
|
+
.d2-2476658007 .stroke-B4{stroke:#E3E9FD;}
|
|
68
|
+
.d2-2476658007 .stroke-B5{stroke:#EDF0FD;}
|
|
69
|
+
.d2-2476658007 .stroke-B6{stroke:#F7F8FE;}
|
|
70
|
+
.d2-2476658007 .stroke-AA2{stroke:#4A6FF3;}
|
|
71
|
+
.d2-2476658007 .stroke-AA4{stroke:#EDF0FD;}
|
|
72
|
+
.d2-2476658007 .stroke-AA5{stroke:#F7F8FE;}
|
|
73
|
+
.d2-2476658007 .stroke-AB4{stroke:#EDF0FD;}
|
|
74
|
+
.d2-2476658007 .stroke-AB5{stroke:#F7F8FE;}
|
|
75
|
+
.d2-2476658007 .background-color-N1{background-color:#0A0F25;}
|
|
76
|
+
.d2-2476658007 .background-color-N2{background-color:#676C7E;}
|
|
77
|
+
.d2-2476658007 .background-color-N3{background-color:#9499AB;}
|
|
78
|
+
.d2-2476658007 .background-color-N4{background-color:#CFD2DD;}
|
|
79
|
+
.d2-2476658007 .background-color-N5{background-color:#DEE1EB;}
|
|
80
|
+
.d2-2476658007 .background-color-N6{background-color:#EEF1F8;}
|
|
81
|
+
.d2-2476658007 .background-color-N7{background-color:#FFFFFF;}
|
|
82
|
+
.d2-2476658007 .background-color-B1{background-color:#0D32B2;}
|
|
83
|
+
.d2-2476658007 .background-color-B2{background-color:#0D32B2;}
|
|
84
|
+
.d2-2476658007 .background-color-B3{background-color:#E3E9FD;}
|
|
85
|
+
.d2-2476658007 .background-color-B4{background-color:#E3E9FD;}
|
|
86
|
+
.d2-2476658007 .background-color-B5{background-color:#EDF0FD;}
|
|
87
|
+
.d2-2476658007 .background-color-B6{background-color:#F7F8FE;}
|
|
88
|
+
.d2-2476658007 .background-color-AA2{background-color:#4A6FF3;}
|
|
89
|
+
.d2-2476658007 .background-color-AA4{background-color:#EDF0FD;}
|
|
90
|
+
.d2-2476658007 .background-color-AA5{background-color:#F7F8FE;}
|
|
91
|
+
.d2-2476658007 .background-color-AB4{background-color:#EDF0FD;}
|
|
92
|
+
.d2-2476658007 .background-color-AB5{background-color:#F7F8FE;}
|
|
93
|
+
.d2-2476658007 .color-N1{color:#0A0F25;}
|
|
94
|
+
.d2-2476658007 .color-N2{color:#676C7E;}
|
|
95
|
+
.d2-2476658007 .color-N3{color:#9499AB;}
|
|
96
|
+
.d2-2476658007 .color-N4{color:#CFD2DD;}
|
|
97
|
+
.d2-2476658007 .color-N5{color:#DEE1EB;}
|
|
98
|
+
.d2-2476658007 .color-N6{color:#EEF1F8;}
|
|
99
|
+
.d2-2476658007 .color-N7{color:#FFFFFF;}
|
|
100
|
+
.d2-2476658007 .color-B1{color:#0D32B2;}
|
|
101
|
+
.d2-2476658007 .color-B2{color:#0D32B2;}
|
|
102
|
+
.d2-2476658007 .color-B3{color:#E3E9FD;}
|
|
103
|
+
.d2-2476658007 .color-B4{color:#E3E9FD;}
|
|
104
|
+
.d2-2476658007 .color-B5{color:#EDF0FD;}
|
|
105
|
+
.d2-2476658007 .color-B6{color:#F7F8FE;}
|
|
106
|
+
.d2-2476658007 .color-AA2{color:#4A6FF3;}
|
|
107
|
+
.d2-2476658007 .color-AA4{color:#EDF0FD;}
|
|
108
|
+
.d2-2476658007 .color-AA5{color:#F7F8FE;}
|
|
109
|
+
.d2-2476658007 .color-AB4{color:#EDF0FD;}
|
|
110
|
+
.d2-2476658007 .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-d2-2476658007);mix-blend-mode:lighten}.sketch-overlay-B2{fill:url(#streaks-darker-d2-2476658007);mix-blend-mode:lighten}.sketch-overlay-B3{fill:url(#streaks-bright-d2-2476658007);mix-blend-mode:darken}.sketch-overlay-B4{fill:url(#streaks-bright-d2-2476658007);mix-blend-mode:darken}.sketch-overlay-B5{fill:url(#streaks-bright-d2-2476658007);mix-blend-mode:darken}.sketch-overlay-B6{fill:url(#streaks-bright-d2-2476658007);mix-blend-mode:darken}.sketch-overlay-AA2{fill:url(#streaks-dark-d2-2476658007);mix-blend-mode:overlay}.sketch-overlay-AA4{fill:url(#streaks-bright-d2-2476658007);mix-blend-mode:darken}.sketch-overlay-AA5{fill:url(#streaks-bright-d2-2476658007);mix-blend-mode:darken}.sketch-overlay-AB4{fill:url(#streaks-bright-d2-2476658007);mix-blend-mode:darken}.sketch-overlay-AB5{fill:url(#streaks-bright-d2-2476658007);mix-blend-mode:darken}.sketch-overlay-N1{fill:url(#streaks-darker-d2-2476658007);mix-blend-mode:lighten}.sketch-overlay-N2{fill:url(#streaks-dark-d2-2476658007);mix-blend-mode:overlay}.sketch-overlay-N3{fill:url(#streaks-normal-d2-2476658007);mix-blend-mode:color-burn}.sketch-overlay-N4{fill:url(#streaks-normal-d2-2476658007);mix-blend-mode:color-burn}.sketch-overlay-N5{fill:url(#streaks-bright-d2-2476658007);mix-blend-mode:darken}.sketch-overlay-N6{fill:url(#streaks-bright-d2-2476658007);mix-blend-mode:darken}.sketch-overlay-N7{fill:url(#streaks-bright-d2-2476658007);mix-blend-mode:darken}.light-code{display: block}.dark-code{display: none}]]></style><style type="text/css">.d2-2476658007 .md em,
|
|
111
|
+
.d2-2476658007 .md dfn {
|
|
112
|
+
font-family: "d2-2476658007-font-italic";
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
.d2-2476658007 .md b,
|
|
116
|
+
.d2-2476658007 .md strong {
|
|
117
|
+
font-family: "d2-2476658007-font-bold";
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
.d2-2476658007 .md code,
|
|
121
|
+
.d2-2476658007 .md kbd,
|
|
122
|
+
.d2-2476658007 .md pre,
|
|
123
|
+
.d2-2476658007 .md samp {
|
|
124
|
+
font-family: "d2-2476658007-font-mono";
|
|
125
|
+
font-size: 1em;
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
.d2-2476658007 .md {
|
|
129
|
+
tab-size: 4;
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
/* variables are provided in d2renderers/d2svg/d2svg.go */
|
|
133
|
+
|
|
134
|
+
.d2-2476658007 .md {
|
|
135
|
+
-ms-text-size-adjust: 100%;
|
|
136
|
+
-webkit-text-size-adjust: 100%;
|
|
137
|
+
margin: 0;
|
|
138
|
+
background-color: transparent; /* we don't want to define the background color */
|
|
139
|
+
font-family: "d2-2476658007-font-regular";
|
|
140
|
+
font-size: 16px;
|
|
141
|
+
line-height: 1.5;
|
|
142
|
+
word-wrap: break-word;
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
.d2-2476658007 .md details,
|
|
146
|
+
.d2-2476658007 .md figcaption,
|
|
147
|
+
.d2-2476658007 .md figure {
|
|
148
|
+
display: block;
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
.d2-2476658007 .md summary {
|
|
152
|
+
display: list-item;
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
.d2-2476658007 .md [hidden] {
|
|
156
|
+
display: none !important;
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
.d2-2476658007 .md a {
|
|
160
|
+
background-color: transparent;
|
|
161
|
+
color: var(--color-accent-fg);
|
|
162
|
+
text-decoration: none;
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
.d2-2476658007 .md a:active,
|
|
166
|
+
.d2-2476658007 .md a:hover {
|
|
167
|
+
outline-width: 0;
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
.d2-2476658007 .md abbr[title] {
|
|
171
|
+
border-bottom: none;
|
|
172
|
+
text-decoration: underline dotted;
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
.d2-2476658007 .md dfn {
|
|
176
|
+
font-style: italic;
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
.d2-2476658007 .md h1 {
|
|
180
|
+
margin: 0.67em 0;
|
|
181
|
+
padding-bottom: 0.3em;
|
|
182
|
+
font-size: 2em;
|
|
183
|
+
border-bottom: 1px solid var(--color-border-muted);
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
.d2-2476658007 .md mark {
|
|
187
|
+
background-color: var(--color-attention-subtle);
|
|
188
|
+
color: var(--color-text-primary);
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
.d2-2476658007 .md small {
|
|
192
|
+
font-size: 90%;
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
.d2-2476658007 .md sub,
|
|
196
|
+
.d2-2476658007 .md sup {
|
|
197
|
+
font-size: 75%;
|
|
198
|
+
line-height: 0;
|
|
199
|
+
position: relative;
|
|
200
|
+
vertical-align: baseline;
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
.d2-2476658007 .md sub {
|
|
204
|
+
bottom: -0.25em;
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
.d2-2476658007 .md sup {
|
|
208
|
+
top: -0.5em;
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
.d2-2476658007 .md img {
|
|
212
|
+
border-style: none;
|
|
213
|
+
max-width: 100%;
|
|
214
|
+
box-sizing: content-box;
|
|
215
|
+
background-color: var(--color-canvas-default);
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
.d2-2476658007 .md figure {
|
|
219
|
+
margin: 1em 40px;
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
.d2-2476658007 .md hr {
|
|
223
|
+
box-sizing: content-box;
|
|
224
|
+
overflow: hidden;
|
|
225
|
+
background: transparent;
|
|
226
|
+
border-bottom: 1px solid var(--color-border-muted);
|
|
227
|
+
height: 0.25em;
|
|
228
|
+
padding: 0;
|
|
229
|
+
margin: 24px 0;
|
|
230
|
+
background-color: var(--color-border-default);
|
|
231
|
+
border: 0;
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
.d2-2476658007 .md input {
|
|
235
|
+
font: inherit;
|
|
236
|
+
margin: 0;
|
|
237
|
+
overflow: visible;
|
|
238
|
+
font-family: inherit;
|
|
239
|
+
font-size: inherit;
|
|
240
|
+
line-height: inherit;
|
|
241
|
+
}
|
|
242
|
+
|
|
243
|
+
.d2-2476658007 .md [type="button"],
|
|
244
|
+
.d2-2476658007 .md [type="reset"],
|
|
245
|
+
.d2-2476658007 .md [type="submit"] {
|
|
246
|
+
-webkit-appearance: button;
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
.d2-2476658007 .md [type="button"]::-moz-focus-inner,
|
|
250
|
+
.d2-2476658007 .md [type="reset"]::-moz-focus-inner,
|
|
251
|
+
.d2-2476658007 .md [type="submit"]::-moz-focus-inner {
|
|
252
|
+
border-style: none;
|
|
253
|
+
padding: 0;
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
.d2-2476658007 .md [type="button"]:-moz-focusring,
|
|
257
|
+
.d2-2476658007 .md [type="reset"]:-moz-focusring,
|
|
258
|
+
.d2-2476658007 .md [type="submit"]:-moz-focusring {
|
|
259
|
+
outline: 1px dotted ButtonText;
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
.d2-2476658007 .md [type="checkbox"],
|
|
263
|
+
.d2-2476658007 .md [type="radio"] {
|
|
264
|
+
box-sizing: border-box;
|
|
265
|
+
padding: 0;
|
|
266
|
+
}
|
|
267
|
+
|
|
268
|
+
.d2-2476658007 .md [type="number"]::-webkit-inner-spin-button,
|
|
269
|
+
.d2-2476658007 .md [type="number"]::-webkit-outer-spin-button {
|
|
270
|
+
height: auto;
|
|
271
|
+
}
|
|
272
|
+
|
|
273
|
+
.d2-2476658007 .md [type="search"] {
|
|
274
|
+
-webkit-appearance: textfield;
|
|
275
|
+
outline-offset: -2px;
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
.d2-2476658007 .md [type="search"]::-webkit-search-cancel-button,
|
|
279
|
+
.d2-2476658007 .md [type="search"]::-webkit-search-decoration {
|
|
280
|
+
-webkit-appearance: none;
|
|
281
|
+
}
|
|
282
|
+
|
|
283
|
+
.d2-2476658007 .md ::-webkit-input-placeholder {
|
|
284
|
+
color: inherit;
|
|
285
|
+
opacity: 0.54;
|
|
286
|
+
}
|
|
287
|
+
|
|
288
|
+
.d2-2476658007 .md ::-webkit-file-upload-button {
|
|
289
|
+
-webkit-appearance: button;
|
|
290
|
+
font: inherit;
|
|
291
|
+
}
|
|
292
|
+
|
|
293
|
+
.d2-2476658007 .md a:hover {
|
|
294
|
+
text-decoration: underline;
|
|
295
|
+
}
|
|
296
|
+
|
|
297
|
+
.d2-2476658007 .md hr::before {
|
|
298
|
+
display: table;
|
|
299
|
+
content: "";
|
|
300
|
+
}
|
|
301
|
+
|
|
302
|
+
.d2-2476658007 .md hr::after {
|
|
303
|
+
display: table;
|
|
304
|
+
clear: both;
|
|
305
|
+
content: "";
|
|
306
|
+
}
|
|
307
|
+
|
|
308
|
+
.d2-2476658007 .md table {
|
|
309
|
+
border-spacing: 0;
|
|
310
|
+
border-collapse: collapse;
|
|
311
|
+
display: block;
|
|
312
|
+
width: max-content;
|
|
313
|
+
max-width: 100%;
|
|
314
|
+
overflow: auto;
|
|
315
|
+
}
|
|
316
|
+
|
|
317
|
+
.d2-2476658007 .md td,
|
|
318
|
+
.d2-2476658007 .md th {
|
|
319
|
+
padding: 0;
|
|
320
|
+
}
|
|
321
|
+
|
|
322
|
+
.d2-2476658007 .md details summary {
|
|
323
|
+
cursor: pointer;
|
|
324
|
+
}
|
|
325
|
+
|
|
326
|
+
.d2-2476658007 .md details:not([open]) > *:not(summary) {
|
|
327
|
+
display: none !important;
|
|
328
|
+
}
|
|
329
|
+
|
|
330
|
+
.d2-2476658007 .md kbd {
|
|
331
|
+
display: inline-block;
|
|
332
|
+
padding: 3px 5px;
|
|
333
|
+
color: var(--color-fg-default);
|
|
334
|
+
vertical-align: middle;
|
|
335
|
+
background-color: var(--color-canvas-subtle);
|
|
336
|
+
border: solid 1px var(--color-neutral-muted);
|
|
337
|
+
border-bottom-color: var(--color-neutral-muted);
|
|
338
|
+
border-radius: 6px;
|
|
339
|
+
box-shadow: inset 0 -1px 0 var(--color-neutral-muted);
|
|
340
|
+
}
|
|
341
|
+
|
|
342
|
+
.d2-2476658007 .md h1,
|
|
343
|
+
.d2-2476658007 .md h2,
|
|
344
|
+
.d2-2476658007 .md h3,
|
|
345
|
+
.d2-2476658007 .md h4,
|
|
346
|
+
.d2-2476658007 .md h5,
|
|
347
|
+
.d2-2476658007 .md h6 {
|
|
348
|
+
margin-top: 24px;
|
|
349
|
+
margin-bottom: 16px;
|
|
350
|
+
font-weight: 400;
|
|
351
|
+
line-height: 1.25;
|
|
352
|
+
font-family: "d2-2476658007-font-semibold";
|
|
353
|
+
}
|
|
354
|
+
|
|
355
|
+
.d2-2476658007 .md h2 {
|
|
356
|
+
padding-bottom: 0.3em;
|
|
357
|
+
font-size: 1.5em;
|
|
358
|
+
border-bottom: 1px solid var(--color-border-muted);
|
|
359
|
+
}
|
|
360
|
+
|
|
361
|
+
.d2-2476658007 .md h3 {
|
|
362
|
+
font-size: 1.25em;
|
|
363
|
+
}
|
|
364
|
+
|
|
365
|
+
.d2-2476658007 .md h4 {
|
|
366
|
+
font-size: 1em;
|
|
367
|
+
}
|
|
368
|
+
|
|
369
|
+
.d2-2476658007 .md h5 {
|
|
370
|
+
font-size: 0.875em;
|
|
371
|
+
}
|
|
372
|
+
|
|
373
|
+
.d2-2476658007 .md h6 {
|
|
374
|
+
font-size: 0.85em;
|
|
375
|
+
color: var(--color-fg-muted);
|
|
376
|
+
}
|
|
377
|
+
|
|
378
|
+
.d2-2476658007 .md p {
|
|
379
|
+
margin-top: 0;
|
|
380
|
+
margin-bottom: 10px;
|
|
381
|
+
}
|
|
382
|
+
|
|
383
|
+
.d2-2476658007 .md blockquote {
|
|
384
|
+
margin: 0;
|
|
385
|
+
padding: 0 1em;
|
|
386
|
+
color: var(--color-fg-muted);
|
|
387
|
+
border-left: 0.25em solid var(--color-border-default);
|
|
388
|
+
}
|
|
389
|
+
|
|
390
|
+
.d2-2476658007 .md ul,
|
|
391
|
+
.d2-2476658007 .md ol {
|
|
392
|
+
margin-top: 0;
|
|
393
|
+
margin-bottom: 0;
|
|
394
|
+
padding-left: 2em;
|
|
395
|
+
}
|
|
396
|
+
|
|
397
|
+
.d2-2476658007 .md ol ol,
|
|
398
|
+
.d2-2476658007 .md ul ol {
|
|
399
|
+
list-style-type: lower-roman;
|
|
400
|
+
}
|
|
401
|
+
|
|
402
|
+
.d2-2476658007 .md ul ul ol,
|
|
403
|
+
.d2-2476658007 .md ul ol ol,
|
|
404
|
+
.d2-2476658007 .md ol ul ol,
|
|
405
|
+
.d2-2476658007 .md ol ol ol {
|
|
406
|
+
list-style-type: lower-alpha;
|
|
407
|
+
}
|
|
408
|
+
|
|
409
|
+
.d2-2476658007 .md dd {
|
|
410
|
+
margin-left: 0;
|
|
411
|
+
}
|
|
412
|
+
|
|
413
|
+
.d2-2476658007 .md pre {
|
|
414
|
+
margin-top: 0;
|
|
415
|
+
margin-bottom: 0;
|
|
416
|
+
word-wrap: normal;
|
|
417
|
+
}
|
|
418
|
+
|
|
419
|
+
.d2-2476658007 .md ::placeholder {
|
|
420
|
+
color: var(--color-fg-subtle);
|
|
421
|
+
opacity: 1;
|
|
422
|
+
}
|
|
423
|
+
|
|
424
|
+
.d2-2476658007 .md input::-webkit-outer-spin-button,
|
|
425
|
+
.d2-2476658007 .md input::-webkit-inner-spin-button {
|
|
426
|
+
margin: 0;
|
|
427
|
+
-webkit-appearance: none;
|
|
428
|
+
appearance: none;
|
|
429
|
+
}
|
|
430
|
+
|
|
431
|
+
.d2-2476658007 .md::before {
|
|
432
|
+
display: table;
|
|
433
|
+
content: "";
|
|
434
|
+
}
|
|
435
|
+
|
|
436
|
+
.d2-2476658007 .md::after {
|
|
437
|
+
display: table;
|
|
438
|
+
clear: both;
|
|
439
|
+
content: "";
|
|
440
|
+
}
|
|
441
|
+
|
|
442
|
+
.d2-2476658007 .md > *:first-child {
|
|
443
|
+
margin-top: 0 !important;
|
|
444
|
+
}
|
|
445
|
+
|
|
446
|
+
.d2-2476658007 .md > *:last-child {
|
|
447
|
+
margin-bottom: 0 !important;
|
|
448
|
+
}
|
|
449
|
+
|
|
450
|
+
.d2-2476658007 .md a:not([href]) {
|
|
451
|
+
color: inherit;
|
|
452
|
+
text-decoration: none;
|
|
453
|
+
}
|
|
454
|
+
|
|
455
|
+
.d2-2476658007 .md .absent {
|
|
456
|
+
color: var(--color-danger-fg);
|
|
457
|
+
}
|
|
458
|
+
|
|
459
|
+
.d2-2476658007 .md .anchor {
|
|
460
|
+
float: left;
|
|
461
|
+
padding-right: 4px;
|
|
462
|
+
margin-left: -20px;
|
|
463
|
+
line-height: 1;
|
|
464
|
+
}
|
|
465
|
+
|
|
466
|
+
.d2-2476658007 .md .anchor:focus {
|
|
467
|
+
outline: none;
|
|
468
|
+
}
|
|
469
|
+
|
|
470
|
+
.d2-2476658007 .md p,
|
|
471
|
+
.d2-2476658007 .md blockquote,
|
|
472
|
+
.d2-2476658007 .md ul,
|
|
473
|
+
.d2-2476658007 .md ol,
|
|
474
|
+
.d2-2476658007 .md dl,
|
|
475
|
+
.d2-2476658007 .md table,
|
|
476
|
+
.d2-2476658007 .md pre,
|
|
477
|
+
.d2-2476658007 .md details {
|
|
478
|
+
margin-top: 0;
|
|
479
|
+
margin-bottom: 16px;
|
|
480
|
+
}
|
|
481
|
+
|
|
482
|
+
.d2-2476658007 .md blockquote > :first-child {
|
|
483
|
+
margin-top: 0;
|
|
484
|
+
}
|
|
485
|
+
|
|
486
|
+
.d2-2476658007 .md blockquote > :last-child {
|
|
487
|
+
margin-bottom: 0;
|
|
488
|
+
}
|
|
489
|
+
|
|
490
|
+
.d2-2476658007 .md sup > a::before {
|
|
491
|
+
content: "[";
|
|
492
|
+
}
|
|
493
|
+
|
|
494
|
+
.d2-2476658007 .md sup > a::after {
|
|
495
|
+
content: "]";
|
|
496
|
+
}
|
|
497
|
+
|
|
498
|
+
.d2-2476658007 .md h1:hover .anchor,
|
|
499
|
+
.d2-2476658007 .md h2:hover .anchor,
|
|
500
|
+
.d2-2476658007 .md h3:hover .anchor,
|
|
501
|
+
.d2-2476658007 .md h4:hover .anchor,
|
|
502
|
+
.d2-2476658007 .md h5:hover .anchor,
|
|
503
|
+
.d2-2476658007 .md h6:hover .anchor {
|
|
504
|
+
text-decoration: none;
|
|
505
|
+
}
|
|
506
|
+
|
|
507
|
+
.d2-2476658007 .md h1 tt,
|
|
508
|
+
.d2-2476658007 .md h1 code,
|
|
509
|
+
.d2-2476658007 .md h2 tt,
|
|
510
|
+
.d2-2476658007 .md h2 code,
|
|
511
|
+
.d2-2476658007 .md h3 tt,
|
|
512
|
+
.d2-2476658007 .md h3 code,
|
|
513
|
+
.d2-2476658007 .md h4 tt,
|
|
514
|
+
.d2-2476658007 .md h4 code,
|
|
515
|
+
.d2-2476658007 .md h5 tt,
|
|
516
|
+
.d2-2476658007 .md h5 code,
|
|
517
|
+
.d2-2476658007 .md h6 tt,
|
|
518
|
+
.d2-2476658007 .md h6 code {
|
|
519
|
+
padding: 0 0.2em;
|
|
520
|
+
font-size: inherit;
|
|
521
|
+
}
|
|
522
|
+
|
|
523
|
+
.d2-2476658007 .md ul.no-list,
|
|
524
|
+
.d2-2476658007 .md ol.no-list {
|
|
525
|
+
padding: 0;
|
|
526
|
+
list-style-type: none;
|
|
527
|
+
}
|
|
528
|
+
|
|
529
|
+
.d2-2476658007 .md ol[type="1"] {
|
|
530
|
+
list-style-type: decimal;
|
|
531
|
+
}
|
|
532
|
+
|
|
533
|
+
.d2-2476658007 .md ol[type="a"] {
|
|
534
|
+
list-style-type: lower-alpha;
|
|
535
|
+
}
|
|
536
|
+
|
|
537
|
+
.d2-2476658007 .md ol[type="i"] {
|
|
538
|
+
list-style-type: lower-roman;
|
|
539
|
+
}
|
|
540
|
+
|
|
541
|
+
.d2-2476658007 .md div > ol:not([type]) {
|
|
542
|
+
list-style-type: decimal;
|
|
543
|
+
}
|
|
544
|
+
|
|
545
|
+
.d2-2476658007 .md ul ul,
|
|
546
|
+
.d2-2476658007 .md ul ol,
|
|
547
|
+
.d2-2476658007 .md ol ol,
|
|
548
|
+
.d2-2476658007 .md ol ul {
|
|
549
|
+
margin-top: 0;
|
|
550
|
+
margin-bottom: 0;
|
|
551
|
+
}
|
|
552
|
+
|
|
553
|
+
.d2-2476658007 .md li > p {
|
|
554
|
+
margin-top: 16px;
|
|
555
|
+
}
|
|
556
|
+
|
|
557
|
+
.d2-2476658007 .md li + li {
|
|
558
|
+
margin-top: 0.25em;
|
|
559
|
+
}
|
|
560
|
+
|
|
561
|
+
.d2-2476658007 .md dl {
|
|
562
|
+
padding: 0;
|
|
563
|
+
}
|
|
564
|
+
|
|
565
|
+
.d2-2476658007 .md dl dt {
|
|
566
|
+
padding: 0;
|
|
567
|
+
margin-top: 16px;
|
|
568
|
+
font-size: 1em;
|
|
569
|
+
font-style: italic;
|
|
570
|
+
font-family: "d2-2476658007-font-semibold";
|
|
571
|
+
}
|
|
572
|
+
|
|
573
|
+
.d2-2476658007 .md dl dd {
|
|
574
|
+
padding: 0 16px;
|
|
575
|
+
margin-bottom: 16px;
|
|
576
|
+
}
|
|
577
|
+
|
|
578
|
+
.d2-2476658007 .md table th {
|
|
579
|
+
font-family: "d2-2476658007-font-semibold";
|
|
580
|
+
}
|
|
581
|
+
|
|
582
|
+
.d2-2476658007 .md table th,
|
|
583
|
+
.d2-2476658007 .md table td {
|
|
584
|
+
padding: 6px 13px;
|
|
585
|
+
border: 1px solid var(--color-border-default);
|
|
586
|
+
}
|
|
587
|
+
|
|
588
|
+
.d2-2476658007 .md table tr {
|
|
589
|
+
background-color: var(--color-canvas-default);
|
|
590
|
+
border-top: 1px solid var(--color-border-muted);
|
|
591
|
+
}
|
|
592
|
+
|
|
593
|
+
.d2-2476658007 .md table tr:nth-child(2n) {
|
|
594
|
+
background-color: var(--color-canvas-subtle);
|
|
595
|
+
}
|
|
596
|
+
|
|
597
|
+
.d2-2476658007 .md table img {
|
|
598
|
+
background-color: transparent;
|
|
599
|
+
}
|
|
600
|
+
|
|
601
|
+
.d2-2476658007 .md img[align="right"] {
|
|
602
|
+
padding-left: 20px;
|
|
603
|
+
}
|
|
604
|
+
|
|
605
|
+
.d2-2476658007 .md img[align="left"] {
|
|
606
|
+
padding-right: 20px;
|
|
607
|
+
}
|
|
608
|
+
|
|
609
|
+
.d2-2476658007 .md span.frame {
|
|
610
|
+
display: block;
|
|
611
|
+
overflow: hidden;
|
|
612
|
+
}
|
|
613
|
+
|
|
614
|
+
.d2-2476658007 .md span.frame > span {
|
|
615
|
+
display: block;
|
|
616
|
+
float: left;
|
|
617
|
+
width: auto;
|
|
618
|
+
padding: 7px;
|
|
619
|
+
margin: 13px 0 0;
|
|
620
|
+
overflow: hidden;
|
|
621
|
+
border: 1px solid var(--color-border-default);
|
|
622
|
+
}
|
|
623
|
+
|
|
624
|
+
.d2-2476658007 .md span.frame span img {
|
|
625
|
+
display: block;
|
|
626
|
+
float: left;
|
|
627
|
+
}
|
|
628
|
+
|
|
629
|
+
.d2-2476658007 .md span.frame span span {
|
|
630
|
+
display: block;
|
|
631
|
+
padding: 5px 0 0;
|
|
632
|
+
clear: both;
|
|
633
|
+
color: var(--color-fg-default);
|
|
634
|
+
}
|
|
635
|
+
|
|
636
|
+
.d2-2476658007 .md span.align-center {
|
|
637
|
+
display: block;
|
|
638
|
+
overflow: hidden;
|
|
639
|
+
clear: both;
|
|
640
|
+
}
|
|
641
|
+
|
|
642
|
+
.d2-2476658007 .md span.align-center > span {
|
|
643
|
+
display: block;
|
|
644
|
+
margin: 13px auto 0;
|
|
645
|
+
overflow: hidden;
|
|
646
|
+
text-align: center;
|
|
647
|
+
}
|
|
648
|
+
|
|
649
|
+
.d2-2476658007 .md span.align-center span img {
|
|
650
|
+
margin: 0 auto;
|
|
651
|
+
text-align: center;
|
|
652
|
+
}
|
|
653
|
+
|
|
654
|
+
.d2-2476658007 .md span.align-right {
|
|
655
|
+
display: block;
|
|
656
|
+
overflow: hidden;
|
|
657
|
+
clear: both;
|
|
658
|
+
}
|
|
659
|
+
|
|
660
|
+
.d2-2476658007 .md span.align-right > span {
|
|
661
|
+
display: block;
|
|
662
|
+
margin: 13px 0 0;
|
|
663
|
+
overflow: hidden;
|
|
664
|
+
text-align: right;
|
|
665
|
+
}
|
|
666
|
+
|
|
667
|
+
.d2-2476658007 .md span.align-right span img {
|
|
668
|
+
margin: 0;
|
|
669
|
+
text-align: right;
|
|
670
|
+
}
|
|
671
|
+
|
|
672
|
+
.d2-2476658007 .md span.float-left {
|
|
673
|
+
display: block;
|
|
674
|
+
float: left;
|
|
675
|
+
margin-right: 13px;
|
|
676
|
+
overflow: hidden;
|
|
677
|
+
}
|
|
678
|
+
|
|
679
|
+
.d2-2476658007 .md span.float-left span {
|
|
680
|
+
margin: 13px 0 0;
|
|
681
|
+
}
|
|
682
|
+
|
|
683
|
+
.d2-2476658007 .md span.float-right {
|
|
684
|
+
display: block;
|
|
685
|
+
float: right;
|
|
686
|
+
margin-left: 13px;
|
|
687
|
+
overflow: hidden;
|
|
688
|
+
}
|
|
689
|
+
|
|
690
|
+
.d2-2476658007 .md span.float-right > span {
|
|
691
|
+
display: block;
|
|
692
|
+
margin: 13px auto 0;
|
|
693
|
+
overflow: hidden;
|
|
694
|
+
text-align: right;
|
|
695
|
+
}
|
|
696
|
+
|
|
697
|
+
.d2-2476658007 .md code,
|
|
698
|
+
.d2-2476658007 .md tt {
|
|
699
|
+
padding: 0.2em 0.4em;
|
|
700
|
+
margin: 0;
|
|
701
|
+
font-size: 85%;
|
|
702
|
+
background-color: var(--color-neutral-muted);
|
|
703
|
+
border-radius: 6px;
|
|
704
|
+
}
|
|
705
|
+
|
|
706
|
+
.d2-2476658007 .md code br,
|
|
707
|
+
.d2-2476658007 .md tt br {
|
|
708
|
+
display: none;
|
|
709
|
+
}
|
|
710
|
+
|
|
711
|
+
.d2-2476658007 .md del code {
|
|
712
|
+
text-decoration: inherit;
|
|
713
|
+
}
|
|
714
|
+
|
|
715
|
+
.d2-2476658007 .md pre code {
|
|
716
|
+
font-size: 100%;
|
|
717
|
+
}
|
|
718
|
+
|
|
719
|
+
.d2-2476658007 .md pre > code {
|
|
720
|
+
padding: 0;
|
|
721
|
+
margin: 0;
|
|
722
|
+
word-break: normal;
|
|
723
|
+
white-space: pre;
|
|
724
|
+
background: transparent;
|
|
725
|
+
border: 0;
|
|
726
|
+
}
|
|
727
|
+
|
|
728
|
+
.d2-2476658007 .md .highlight {
|
|
729
|
+
margin-bottom: 16px;
|
|
730
|
+
}
|
|
731
|
+
|
|
732
|
+
.d2-2476658007 .md .highlight pre {
|
|
733
|
+
margin-bottom: 0;
|
|
734
|
+
word-break: normal;
|
|
735
|
+
}
|
|
736
|
+
|
|
737
|
+
.d2-2476658007 .md .highlight pre,
|
|
738
|
+
.d2-2476658007 .md pre {
|
|
739
|
+
padding: 16px;
|
|
740
|
+
overflow: auto;
|
|
741
|
+
font-size: 85%;
|
|
742
|
+
line-height: 1.45;
|
|
743
|
+
background-color: var(--color-canvas-subtle);
|
|
744
|
+
border-radius: 6px;
|
|
745
|
+
}
|
|
746
|
+
|
|
747
|
+
.d2-2476658007 .md pre code,
|
|
748
|
+
.d2-2476658007 .md pre tt {
|
|
749
|
+
display: inline;
|
|
750
|
+
max-width: auto;
|
|
751
|
+
padding: 0;
|
|
752
|
+
margin: 0;
|
|
753
|
+
overflow: visible;
|
|
754
|
+
line-height: inherit;
|
|
755
|
+
word-wrap: normal;
|
|
756
|
+
background-color: transparent;
|
|
757
|
+
border: 0;
|
|
758
|
+
}
|
|
759
|
+
|
|
760
|
+
.d2-2476658007 .md .csv-data td,
|
|
761
|
+
.d2-2476658007 .md .csv-data th {
|
|
762
|
+
padding: 5px;
|
|
763
|
+
overflow: hidden;
|
|
764
|
+
font-size: 12px;
|
|
765
|
+
line-height: 1;
|
|
766
|
+
text-align: left;
|
|
767
|
+
white-space: nowrap;
|
|
768
|
+
}
|
|
769
|
+
|
|
770
|
+
.d2-2476658007 .md .csv-data .blob-num {
|
|
771
|
+
padding: 10px 8px 9px;
|
|
772
|
+
text-align: right;
|
|
773
|
+
background: var(--color-canvas-default);
|
|
774
|
+
border: 0;
|
|
775
|
+
}
|
|
776
|
+
|
|
777
|
+
.d2-2476658007 .md .csv-data tr {
|
|
778
|
+
border-top: 0;
|
|
779
|
+
}
|
|
780
|
+
|
|
781
|
+
.d2-2476658007 .md .csv-data th {
|
|
782
|
+
font-family: "d2-2476658007-font-semibold";
|
|
783
|
+
background: var(--color-canvas-subtle);
|
|
784
|
+
border-top: 0;
|
|
785
|
+
}
|
|
786
|
+
|
|
787
|
+
.d2-2476658007 .md .footnotes {
|
|
788
|
+
font-size: 12px;
|
|
789
|
+
color: var(--color-fg-muted);
|
|
790
|
+
border-top: 1px solid var(--color-border-default);
|
|
791
|
+
}
|
|
792
|
+
|
|
793
|
+
.d2-2476658007 .md .footnotes ol {
|
|
794
|
+
padding-left: 16px;
|
|
795
|
+
}
|
|
796
|
+
|
|
797
|
+
.d2-2476658007 .md .footnotes li {
|
|
798
|
+
position: relative;
|
|
799
|
+
}
|
|
800
|
+
|
|
801
|
+
.d2-2476658007 .md .footnotes li:target::before {
|
|
802
|
+
position: absolute;
|
|
803
|
+
top: -8px;
|
|
804
|
+
right: -8px;
|
|
805
|
+
bottom: -8px;
|
|
806
|
+
left: -24px;
|
|
807
|
+
pointer-events: none;
|
|
808
|
+
content: "";
|
|
809
|
+
border: 2px solid var(--color-accent-emphasis);
|
|
810
|
+
border-radius: 6px;
|
|
811
|
+
}
|
|
812
|
+
|
|
813
|
+
.d2-2476658007 .md .footnotes li:target {
|
|
814
|
+
color: var(--color-fg-default);
|
|
815
|
+
}
|
|
816
|
+
|
|
817
|
+
.d2-2476658007 .md .task-list-item {
|
|
818
|
+
list-style-type: none;
|
|
819
|
+
}
|
|
820
|
+
|
|
821
|
+
.d2-2476658007 .md .task-list-item label {
|
|
822
|
+
font-weight: 400;
|
|
823
|
+
}
|
|
824
|
+
|
|
825
|
+
.d2-2476658007 .md .task-list-item.enabled label {
|
|
826
|
+
cursor: pointer;
|
|
827
|
+
}
|
|
828
|
+
|
|
829
|
+
.d2-2476658007 .md .task-list-item + .task-list-item {
|
|
830
|
+
margin-top: 3px;
|
|
831
|
+
}
|
|
832
|
+
|
|
833
|
+
.d2-2476658007 .md .task-list-item .handle {
|
|
834
|
+
display: none;
|
|
835
|
+
}
|
|
836
|
+
|
|
837
|
+
.d2-2476658007 .md .task-list-item-checkbox {
|
|
838
|
+
margin: 0 0.2em 0.25em -1.6em;
|
|
839
|
+
vertical-align: middle;
|
|
840
|
+
}
|
|
841
|
+
|
|
842
|
+
.d2-2476658007 .md .contains-task-list:dir(rtl) .task-list-item-checkbox {
|
|
843
|
+
margin: 0 -1.6em 0.25em 0.2em;
|
|
844
|
+
}
|
|
845
|
+
</style><g class="dGl0bGU="><g class="shape" ></g><text x="946.500000" y="-27.000000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:24px">SteerEx Authentication Flow</text></g><g class="dXNlcg=="><g class="shape" ><path d="M 924 66 H 876 V 65 C 876 54 881 44 890 39 C 885 35 882 28 882 21 C 882 10 890 0 900 0 C 910 0 918 10 918 21 C 918 28 915 34 911 38 C 919 43 925 53 925 64 V 65 H 924 Z" stroke="#0D32B2" fill="#e3f2fd" class=" stroke-B1" style="stroke-width:2;" /></g><text x="900.000000" y="87.000000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">User</text></g><g class="bG9naW5fcGhhc2U="><g class="shape" ><rect x="772.000000" y="207.000000" width="256.000000" height="229.000000" rx="8.000000" stroke="#bdbdbd" fill="#fafafa" style="stroke-width:2;" /></g><text x="900.000000" y="194.000000" fill="#0A0F25" class="text fill-N1" style="text-anchor:middle;font-size:28px">Login Phase</text></g><g class="a2V5Y2xvYWtfcGhhc2U="><g class="shape" ><rect x="478.000000" y="576.000000" width="954.000000" height="746.000000" rx="8.000000" stroke="#ce93d8" fill="#f3e5f5" style="stroke-width:2;" /></g><text x="955.000000" y="563.000000" fill="#0A0F25" class="text fill-N1" style="text-anchor:middle;font-size:28px">Keycloak Authentication</text></g><g class="YXV0aF9waGFzZQ=="><g class="shape" ><rect x="501.000000" y="1483.000000" width="962.000000" height="565.000000" rx="8.000000" stroke="#81c784" fill="#e8f5e9" style="stroke-width:2;" /></g><text x="982.000000" y="1470.000000" fill="#0A0F25" class="text fill-N1" style="text-anchor:middle;font-size:28px">User Data & Authorization</text></g><g class="ZXJyb3Jz"><g class="shape" ><rect x="10.000000" y="2783.000000" width="1195.000000" height="84.000000" rx="8.000000" stroke="#ef9a9a" fill="#ffebee" style="stroke-width:2;" /></g><text x="607.500000" y="2770.000000" fill="#0A0F25" class="text fill-N1" style="text-anchor:middle;font-size:28px">Error States</text></g><g class="cHJvdGVjdGVkX3BoYXNl"><g class="shape" ><rect x="1290.000000" y="2245.000000" width="517.000000" height="796.000000" rx="8.000000" stroke="#64b5f6" fill="#e3f2fd" style="stroke-width:2;" /></g><text x="1548.500000" y="2232.000000" fill="#0A0F25" class="text fill-N1" style="text-anchor:middle;font-size:28px">Protected Routes</text></g><g class="ZGFzaGJvYXJkX3BoYXNl"><g class="shape" ><rect x="1409.000000" y="3181.000000" width="474.000000" height="229.000000" rx="8.000000" stroke="#ffcc80" fill="#fff8e1" style="stroke-width:2;" /></g><text x="1646.000000" y="3168.000000" fill="#0A0F25" class="text fill-N1" style="text-anchor:middle;font-size:28px">Dashboard Redirects</text></g><g class="ZmluYWw="><g class="shape" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="1471.000000" y="3551.000000" width="350" height="64"><div xmlns="http://www.w3.org/1999/xhtml" class="md" style="background-color:#81c784;color:#1b5e20"><p><strong>/dashboard/$programId/$deliverableId/overview</strong></p>
|
|
846
|
+
<p>Application Ready</p>
|
|
847
|
+
</div></foreignObject></g></g><g class="bGVnZW5k"><g class="shape" ><rect x="1903.000000" y="3671.000000" width="930.000000" height="126.000000" rx="8.000000" stroke="#e0e0e0" fill="#fafafa" style="stroke-width:2;" /></g><text x="2368.000000" y="3658.000000" fill="#0A0F25" class="text fill-N1" style="text-anchor:middle;font-size:28px">Legend</text></g><g class="bG9naW5fcGhhc2UuaW5kZXhfcm91dGU="><g class="shape" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="811.000000" y="237.000000" width="177" height="24"><div xmlns="http://www.w3.org/1999/xhtml" class="md color-N1" style="background-color:#e3f2fd"><p><strong>/</strong> (Index Route)
|
|
848
|
+
Entry point</p>
|
|
849
|
+
</div></foreignObject></g></g><g class="bG9naW5fcGhhc2UubG9naW5fcGFnZQ=="><g class="shape" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="802.000000" y="382.000000" width="196" height="24"><div xmlns="http://www.w3.org/1999/xhtml" class="md color-N1" style="background-color:#fff3e0"><p><strong>/login</strong>
|
|
850
|
+
LoginPage component</p>
|
|
851
|
+
</div></foreignObject></g></g><g class="a2V5Y2xvYWtfcGhhc2Uua2NfaW5pdA=="><g class="shape" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="715.000000" y="606.000000" width="369" height="24"><div xmlns="http://www.w3.org/1999/xhtml" class="md color-N1" style="background-color:#e1bee7"><p><strong>Keycloak Init</strong>
|
|
852
|
+
check-sso mode
|
|
853
|
+
loginState = 'inProgress'</p>
|
|
854
|
+
</div></foreignObject></g></g><g class="a2V5Y2xvYWtfcGhhc2UuaW5pdF9yZXN1bHQ="><g class="shape" ><path d="M 900 828 C 899 828 899 828 898 828 L 815 780 C 814 779 814 779 815 778 L 898 730 C 899 729 900 729 901 730 L 985 778 C 986 779 986 779 985 780 L 902 828 C 901 828 901 828 900 828 Z" stroke="#0D32B2" fill="#fff9c4" class=" stroke-B1" style="stroke-width:2;" /></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="864.500000" y="767.000000" width="71" height="24"><div xmlns="http://www.w3.org/1999/xhtml" class="md color-N1" style="background-color:#fff9c4"><p>Init
|
|
855
|
+
result?</p>
|
|
856
|
+
</div></foreignObject></g></g><g class="a2V5Y2xvYWtfcGhhc2Uuc3NvX2NoZWNr"><g class="shape" ><path d="M 1031 1097 C 1030 1097 1030 1097 1029 1097 L 927 1049 C 926 1048 926 1048 927 1047 L 1029 999 C 1030 998 1032 998 1033 999 L 1135 1047 C 1136 1048 1136 1048 1135 1049 L 1033 1097 C 1032 1097 1032 1097 1031 1097 Z" stroke="#0D32B2" fill="#fff9c4" class=" stroke-B1" style="stroke-width:2;" /></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="986.000000" y="1036.000000" width="90" height="24"><div xmlns="http://www.w3.org/1999/xhtml" class="md color-N1" style="background-color:#fff9c4"><p>SSO
|
|
857
|
+
Session?</p>
|
|
858
|
+
</div></foreignObject></g></g><g class="a2V5Y2xvYWtfcGhhc2Uua2NfbG9naW4="><g class="shape" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="601.000000" y="1268.000000" width="429" height="24"><div xmlns="http://www.w3.org/1999/xhtml" class="md color-N1" style="background-color:#ffccbc"><p><strong>Keycloak Login</strong>
|
|
859
|
+
User enters credentials
|
|
860
|
+
loginState = 'loggedOut'</p>
|
|
861
|
+
</div></foreignObject></g></g><g class="a2V5Y2xvYWtfcGhhc2Uuc2lsZW50X3Rva2Vu"><g class="shape" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="1090.000000" y="1268.000000" width="312" height="24"><div xmlns="http://www.w3.org/1999/xhtml" class="md color-N1" style="background-color:#c8e6c9"><p><strong>Silent Token</strong>
|
|
862
|
+
Via iframe
|
|
863
|
+
loginState = 'loggedIn'</p>
|
|
864
|
+
</div></foreignObject></g></g><g class="a2V5Y2xvYWtfcGhhc2UuZXJyb3Jz"><g class="shape" ><rect x="508.000000" y="985.000000" width="215.000000" height="126.000000" stroke="#0D32B2" fill="#EDF0FD" class=" stroke-B1 fill-B5" style="stroke-width:2;" /></g><text x="615.500000" y="973.000000" fill="#0A0F25" class="text fill-N1" style="text-anchor:middle;font-size:24px">errors</text></g><g class="YXV0aF9waGFzZS5sb2FkX3VzZXI="><g class="shape" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="829.000000" y="1513.000000" width="403" height="24"><div xmlns="http://www.w3.org/1999/xhtml" class="md color-N1" style="background-color:#c8e6c9"><p><strong>Load User Data</strong>
|
|
865
|
+
trpc.viewer.viewer
|
|
866
|
+
(enabled when loggedIn)</p>
|
|
867
|
+
</div></foreignObject></g></g><g class="YXV0aF9waGFzZS5sb2FkX2NoZWNr"><g class="shape" ><path d="M 1031 1735 C 1030 1735 1030 1735 1029 1735 L 922 1687 C 921 1686 921 1686 922 1685 L 1029 1637 C 1030 1636 1032 1636 1033 1637 L 1140 1685 C 1141 1686 1141 1686 1140 1687 L 1033 1735 C 1032 1735 1032 1735 1031 1735 Z" stroke="#0D32B2" fill="#fff9c4" class=" stroke-B1" style="stroke-width:2;" /></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="983.500000" y="1674.000000" width="95" height="24"><div xmlns="http://www.w3.org/1999/xhtml" class="md color-N1" style="background-color:#fff9c4"><p>Load
|
|
868
|
+
success?</p>
|
|
869
|
+
</div></foreignObject></g></g><g class="YXV0aF9waGFzZS5yb2xlX2NoZWNr"><g class="shape" ><path d="M 1255 2004 C 1254 2004 1253 2004 1252 2004 L 1078 1956 C 1076 1955 1076 1955 1078 1954 L 1252 1906 C 1254 1905 1257 1905 1258 1906 L 1431 1954 C 1433 1955 1433 1955 1431 1956 L 1258 2004 C 1257 2004 1256 2004 1255 2004 Z" stroke="#0D32B2" fill="#fff9c4" class=" stroke-B1" style="stroke-width:2;" /></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="1173.500000" y="1943.000000" width="163" height="24"><div xmlns="http://www.w3.org/1999/xhtml" class="md color-N1" style="background-color:#fff9c4"><p>Has
|
|
870
|
+
'unauthorized'
|
|
871
|
+
role?</p>
|
|
872
|
+
</div></foreignObject></g></g><g class="YXV0aF9waGFzZS5lcnJvcnM="><g class="shape" ><rect x="531.000000" y="1892.000000" width="221.000000" height="126.000000" stroke="#0D32B2" fill="#EDF0FD" class=" stroke-B1 fill-B5" style="stroke-width:2;" /></g><text x="641.500000" y="1880.000000" fill="#0A0F25" class="text fill-N1" style="text-anchor:middle;font-size:24px">errors</text></g><g class="ZXJyb3JzLmF1dGhfZXJyb3JfaW5pdA=="><g class="shape" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="40.000000" y="2813.000000" width="185" height="24"><div xmlns="http://www.w3.org/1999/xhtml" class="md color-N1" style="background-color:#ffcdd2"><p><strong>/auth-error</strong>
|
|
873
|
+
?type=errorInit</p>
|
|
874
|
+
</div></foreignObject></g></g><g class="ZXJyb3JzLmF1dGhfZXJyb3JfbG9hZA=="><g class="shape" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="285.000000" y="2813.000000" width="226" height="24"><div xmlns="http://www.w3.org/1999/xhtml" class="md color-N1" style="background-color:#ffcdd2"><p><strong>/auth-error</strong>
|
|
875
|
+
?type=errorLoadUser</p>
|
|
876
|
+
</div></foreignObject></g></g><g class="ZXJyb3JzLmF1dGhfZXJyb3JfdG9rZW4="><g class="shape" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="571.000000" y="2813.000000" width="254" height="24"><div xmlns="http://www.w3.org/1999/xhtml" class="md color-N1" style="background-color:#ffcdd2"><p><strong>/auth-error</strong>
|
|
877
|
+
?type=errorTokenRefresh</p>
|
|
878
|
+
</div></foreignObject></g></g><g class="ZXJyb3JzLnVuYXV0aG9yaXplZA=="><g class="shape" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="885.000000" y="2813.000000" width="101" height="24"><div xmlns="http://www.w3.org/1999/xhtml" class="md color-N1" style="background-color:#ffcdd2"><p><strong>/unauthorized</strong></p>
|
|
879
|
+
</div></foreignObject></g></g><g class="ZXJyb3JzLm5vX3Byb2dyYW1z"><g class="shape" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="1046.000000" y="2813.000000" width="129" height="24"><div xmlns="http://www.w3.org/1999/xhtml" class="md color-N1" style="background-color:#ffcdd2"><p><strong>Error</strong>
|
|
880
|
+
No Programs</p>
|
|
881
|
+
</div></foreignObject></g></g><g class="cHJvdGVjdGVkX3BoYXNlLmF1dGhfZ3VhcmQ="><g class="shape" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="1320.000000" y="2275.000000" width="421" height="24"><div xmlns="http://www.w3.org/1999/xhtml" class="md color-N1" style="background-color:#bbdefb"><p><strong>/_auth-routes</strong>
|
|
882
|
+
AuthGuard component
|
|
883
|
+
(renders when loggedIn)</p>
|
|
884
|
+
</div></foreignObject></g></g><g class="cHJvdGVjdGVkX3BoYXNlLmxvYWRfcHJvZ3JhbXM="><g class="shape" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="1506.000000" y="2399.000000" width="239" height="24"><div xmlns="http://www.w3.org/1999/xhtml" class="md color-N1" style="background-color:#b3e5fc"><p><strong>Load Programs</strong>
|
|
885
|
+
useUserPrograms()</p>
|
|
886
|
+
</div></foreignObject></g></g><g class="cHJvdGVjdGVkX3BoYXNlLnByb2dyYW1zX2NoZWNr"><g class="shape" ><path d="M 1626 2642 C 1625 2642 1624 2642 1623 2642 L 1476 2594 C 1474 2593 1474 2593 1476 2592 L 1623 2544 C 1625 2543 1627 2543 1628 2544 L 1775 2592 C 1777 2593 1777 2593 1775 2594 L 1629 2642 C 1628 2642 1627 2642 1626 2642 Z" stroke="#0D32B2" fill="#fff9c4" class=" stroke-B1" style="stroke-width:2;" /></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="1558.000000" y="2581.000000" width="136" height="24"><div xmlns="http://www.w3.org/1999/xhtml" class="md color-N1" style="background-color:#fff9c4"><p>Programs
|
|
887
|
+
available?</p>
|
|
888
|
+
</div></foreignObject></g></g><g class="cHJvdGVjdGVkX3BoYXNlLnNlbGVjdF9wcm9ncmFt"><g class="shape" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="1524.000000" y="2813.000000" width="244" height="24"><div xmlns="http://www.w3.org/1999/xhtml" class="md color-N1" style="background-color:#b3e5fc"><p><strong>Select Program</strong>
|
|
889
|
+
localStorage or first</p>
|
|
890
|
+
</div></foreignObject></g></g><g class="cHJvdGVjdGVkX3BoYXNlLnNldF90aGVtZQ=="><g class="shape" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="1541.000000" y="2987.000000" width="209" height="24"><div xmlns="http://www.w3.org/1999/xhtml" class="md color-N1" style="background-color:#b3e5fc"><p><strong>Set Theme</strong>
|
|
891
|
+
program.themeKey</p>
|
|
892
|
+
</div></foreignObject></g></g><g class="ZGFzaGJvYXJkX3BoYXNlLnByb2dyYW1faW5kZXg="><g class="shape" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="1499.000000" y="3211.000000" width="294" height="24"><div xmlns="http://www.w3.org/1999/xhtml" class="md color-N1" style="background-color:#ffe0b2"><p><strong>/$programId</strong> (index)
|
|
893
|
+
Redirect to deliverable</p>
|
|
894
|
+
</div></foreignObject></g></g><g class="ZGFzaGJvYXJkX3BoYXNlLmRlbGl2ZXJhYmxlX2luZGV4"><g class="shape" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="1439.000000" y="3356.000000" width="414" height="24"><div xmlns="http://www.w3.org/1999/xhtml" class="md color-N1" style="background-color:#ffe0b2"><p><strong>/$programId/$deliverableId</strong> (index)
|
|
895
|
+
Default to 'overview' tab</p>
|
|
896
|
+
</div></foreignObject></g></g><g class="bGVnZW5kLmwx"><g class="shape" ><rect x="1933.000000" y="3701.000000" width="84.000000" height="66.000000" rx="4.000000" stroke="#0D32B2" fill="#fff3e0" class=" stroke-B1" style="stroke-width:2;" /></g><text x="1975.000000" y="3739.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">Login</text></g><g class="bGVnZW5kLmwy"><g class="shape" ><rect x="2077.000000" y="3701.000000" width="109.000000" height="66.000000" rx="4.000000" stroke="#0D32B2" fill="#e1bee7" class=" stroke-B1" style="stroke-width:2;" /></g><text x="2131.500000" y="3739.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">Keycloak</text></g><g class="bGVnZW5kLmwz"><g class="shape" ><rect x="2246.000000" y="3701.000000" width="80.000000" height="66.000000" rx="4.000000" stroke="#0D32B2" fill="#c8e6c9" class=" stroke-B1" style="stroke-width:2;" /></g><text x="2286.000000" y="3739.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">Auth</text></g><g class="bGVnZW5kLmw0"><g class="shape" ><rect x="2386.000000" y="3701.000000" width="94.000000" height="66.000000" rx="4.000000" stroke="#0D32B2" fill="#bbdefb" class=" stroke-B1" style="stroke-width:2;" /></g><text x="2433.000000" y="3739.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">Routes</text></g><g class="bGVnZW5kLmw1"><g class="shape" ><rect x="2540.000000" y="3701.000000" width="121.000000" height="66.000000" rx="4.000000" stroke="#0D32B2" fill="#ffe0b2" class=" stroke-B1" style="stroke-width:2;" /></g><text x="2600.500000" y="3739.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">Dashboard</text></g><g class="bGVnZW5kLmw2"><g class="shape" ><rect x="2721.000000" y="3701.000000" width="82.000000" height="66.000000" rx="4.000000" stroke="#0D32B2" fill="#ffcdd2" class=" stroke-B1" style="stroke-width:2;" /></g><text x="2762.000000" y="3739.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">Error</text></g><g class="a2V5Y2xvYWtfcGhhc2UuZXJyb3JzLmF1dGhfZXJyb3JfaW5pdA=="><g class="shape" ><rect x="538.000000" y="1015.000000" width="155.000000" height="66.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="615.500000" y="1053.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">auth_error_init</text></g><g class="YXV0aF9waGFzZS5lcnJvcnMuYXV0aF9lcnJvcl9sb2Fk"><g class="shape" ><rect x="561.000000" y="1922.000000" width="161.000000" height="66.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="641.500000" y="1960.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">auth_error_load</text></g><g class="bG9naW5fcGhhc2UuKGluZGV4X3JvdXRlIC0mZ3Q7IGxvZ2luX3BhZ2UpWzBd"><marker id="mk-d2-2476658007-3488378134" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" fill="#0D32B2" class="connection fill-B1" stroke-width="2" /> </marker><path d="M 899.500000 262.500000 C 899.500000 309.299988 899.500000 333.700012 899.500000 378.500000" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-2476658007-3488378134)" mask="url(#d2-2476658007)" /><text x="900.000000" y="327.000000" fill="#676C7E" class="text-italic fill-N2" style="text-anchor:middle;font-size:16px">Redirect</text></g><g class="a2V5Y2xvYWtfcGhhc2UuKGtjX2luaXQgLSZndDsgaW5pdF9yZXN1bHQpWzBd"><path d="M 899.500000 632.000000 C 899.500000 670.000000 899.599976 689.799988 899.959183 725.000208" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-2476658007-3488378134)" mask="url(#d2-2476658007)" /></g><g class="a2V5Y2xvYWtfcGhhc2UuKGluaXRfcmVzdWx0IC0mZ3Q7IHNzb19jaGVjaylbMF0="><path d="M 936.538745 810.277600 C 1011.599976 872.599976 1030.800049 958.799988 1030.979597 994.000052" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-2476658007-3488378134)" mask="url(#d2-2476658007)" /><text x="1015.000000" y="892.000000" fill="#676C7E" class="text-italic fill-N2" style="text-anchor:middle;font-size:16px">Success</text></g><g class="a2V5Y2xvYWtfcGhhc2UuKGluaXRfcmVzdWx0IC0mZ3Q7IGVycm9ycy5hdXRoX2Vycm9yX2luaXQpWzBd"><path d="M 846.133516 799.718496 C 662.000000 870.599976 615.500000 962.200012 615.500000 1011.000000" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-2476658007-3488378134)" mask="url(#d2-2476658007)" /><text x="682.500000" y="868.000000" fill="#676C7E" class="text-italic fill-N2" style="text-anchor:middle;font-size:16px">Failure → errorInit</text></g><g class="a2V5Y2xvYWtfcGhhc2UuKHNzb19jaGVjayAtJmd0OyBrY19sb2dpbilbMF0="><path d="M 975.181781 1073.833115 C 847.799988 1132.199951 815.500000 1219.699951 815.500000 1264.500000" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-2476658007-3488378134)" mask="url(#d2-2476658007)" /><text x="848.000000" y="1138.000000" fill="#676C7E" class="text-italic fill-N2" style="text-anchor:middle;font-size:16px">No</text></g><g class="a2V5Y2xvYWtfcGhhc2UuKHNzb19jaGVjayAtJmd0OyBzaWxlbnRfdG9rZW4pWzBd"><path d="M 1086.812941 1072.844538 C 1213.800049 1132.000000 1246.000000 1219.699951 1246.000000 1264.500000" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-2476658007-3488378134)" mask="url(#d2-2476658007)" /><text x="1214.000000" y="1138.000000" fill="#676C7E" class="text-italic fill-N2" style="text-anchor:middle;font-size:16px">Yes</text></g><g class="YXV0aF9waGFzZS4obG9hZF91c2VyIC0mZ3Q7IGxvYWRfY2hlY2spWzBd"><path d="M 1030.750000 1539.000000 C 1030.750000 1577.000000 1030.800049 1596.800049 1030.979597 1632.000052" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-2476658007-3488378134)" mask="url(#d2-2476658007)" /></g><g class="YXV0aF9waGFzZS4obG9hZF9jaGVjayAtJmd0OyByb2xlX2NoZWNrKVswXQ=="><path d="M 1086.795145 1712.881734 C 1221.000000 1778.800049 1255.000000 1865.800049 1255.000000 1901.000000" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-2476658007-3488378134)" mask="url(#d2-2476658007)" /><text x="1213.000000" y="1780.000000" fill="#676C7E" class="text-italic fill-N2" style="text-anchor:middle;font-size:16px">Success</text></g><g class="YXV0aF9waGFzZS4obG9hZF9jaGVjayAtJmd0OyBlcnJvcnMuYXV0aF9lcnJvcl9sb2FkKVswXQ=="><path d="M 961.074601 1705.541145 C 705.400024 1777.400024 641.000000 1869.199951 641.000000 1918.000000" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-2476658007-3488378134)" mask="url(#d2-2476658007)" /><text x="754.500000" y="1769.000000" fill="#676C7E" class="text-italic fill-N2" style="text-anchor:middle;font-size:16px">Failure → errorLoadUser</text></g><g class="cHJvdGVjdGVkX3BoYXNlLihhdXRoX2d1YXJkIC0mZ3Q7IGxvYWRfcHJvZ3JhbXMpWzBd"><path d="M 1550.177385 2300.089211 C 1610.099976 2339.000000 1625.500000 2359.000000 1625.500000 2395.000000" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-2476658007-3488378134)" mask="url(#d2-2476658007)" /></g><g class="cHJvdGVjdGVkX3BoYXNlLihsb2FkX3Byb2dyYW1zIC0mZ3Q7IHByb2dyYW1zX2NoZWNrKVswXQ=="><path d="M 1625.500000 2424.500000 C 1625.500000 2471.300049 1625.599976 2495.399902 1625.966386 2539.000141" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-2476658007-3488378134)" mask="url(#d2-2476658007)" /></g><g class="cHJvdGVjdGVkX3BoYXNlLihwcm9ncmFtc19jaGVjayAtJmd0OyBzZWxlY3RfcHJvZ3JhbSlbMF0="><path d="M 1634.361922 2641.966980 C 1643.199951 2690.000000 1645.500000 2773.000000 1645.500000 2809.000000" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-2476658007-3488378134)" mask="url(#d2-2476658007)" /><text x="1644.000000" y="2732.000000" fill="#676C7E" class="text-italic fill-N2" style="text-anchor:middle;font-size:16px">Yes</text></g><g class="cHJvdGVjdGVkX3BoYXNlLihzZWxlY3RfcHJvZ3JhbSAtJmd0OyBzZXRfdGhlbWUpWzBd"><path d="M 1645.500000 2839.000000 C 1645.500000 2877.000000 1645.500000 2947.000000 1645.500000 2983.000000" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-2476658007-3488378134)" mask="url(#d2-2476658007)" /></g><g class="KHVzZXIgLSZndDsgbG9naW5fcGhhc2UuaW5kZXhfcm91dGUpWzBd"><path d="M 899.500000 93.500000 C 899.500000 119.500000 899.500000 197.000000 899.500000 233.000000" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-2476658007-3488378134)" mask="url(#d2-2476658007)" /><text x="900.000000" y="170.000000" fill="#676C7E" class="text-italic fill-N2" style="text-anchor:middle;font-size:16px">Opens app</text></g><g class="KGxvZ2luX3BoYXNlLmxvZ2luX3BhZ2UgLSZndDsga2V5Y2xvYWtfcGhhc2Uua2NfaW5pdClbMF0="><path d="M 899.500000 408.000000 C 899.500000 446.000000 899.500000 466.000000 899.500000 481.000000 C 899.500000 496.000000 899.500000 566.000000 899.500000 602.000000" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-2476658007-3488378134)" mask="url(#d2-2476658007)" /></g><g class="KGtleWNsb2FrX3BoYXNlLmtjX2xvZ2luIC0mZ3Q7IGF1dGhfcGhhc2UubG9hZF91c2VyKVswXQ=="><path d="M 815.500000 1294.000000 C 815.500000 1332.000000 815.500000 1354.099976 815.500000 1372.250000 C 815.500000 1390.400024 850.299988 1473.000000 985.655576 1511.895281" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-2476658007-3488378134)" mask="url(#d2-2476658007)" /><text x="842.000000" y="1459.000000" fill="#676C7E" class="text-italic fill-N2" style="text-anchor:middle;font-size:16px">Token received → loggedIn</text></g><g class="KGtleWNsb2FrX3BoYXNlLnNpbGVudF90b2tlbiAtJmd0OyBhdXRoX3BoYXNlLmxvYWRfdXNlcilbMF0="><path d="M 1246.000000 1294.000000 C 1246.000000 1332.000000 1246.000000 1354.099976 1246.000000 1372.250000 C 1246.000000 1390.400024 1211.199951 1473.000000 1075.844424 1511.895280" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-2476658007-3488378134)" mask="url(#d2-2476658007)" /></g><g class="KGF1dGhfcGhhc2Uucm9sZV9jaGVjayAtJmd0OyBlcnJvcnMudW5hdXRob3JpemVkKVswXQ=="><path d="M 1168.090389 1981.594463 C 982.400024 2039.400024 935.500000 2064.000000 935.500000 2079.000000 C 935.500000 2094.000000 935.500000 2116.100098 935.500000 2134.250000 C 935.500000 2152.399902 935.500000 2176.600098 935.500000 2194.750000 C 935.500000 2212.899902 935.500000 2237.399902 935.500000 2256.000000 C 935.500000 2274.600098 935.500000 2299.399902 935.500000 2318.000000 C 935.500000 2336.600098 935.500000 2361.399902 935.500000 2380.000000 C 935.500000 2398.600098 935.500000 2425.500000 935.500000 2447.250000 C 935.500000 2469.000000 935.500000 2505.399902 935.500000 2538.250000 C 935.500000 2571.100098 935.500000 2614.899902 935.500000 2647.750000 C 935.500000 2680.600098 935.500000 2773.000000 935.500000 2809.000000" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-2476658007-3488378134)" mask="url(#d2-2476658007)" /><text x="936.000000" y="2319.000000" fill="#676C7E" class="text-italic fill-N2" style="text-anchor:middle;font-size:16px">Yes</text></g><g class="KGF1dGhfcGhhc2Uucm9sZV9jaGVjayAtJmd0OyBwcm90ZWN0ZWRfcGhhc2UuYXV0aF9ndWFyZClbMF0="><path d="M 1334.881531 1983.678116 C 1490.599976 2039.800049 1530.000000 2064.000000 1530.000000 2079.000000 C 1530.000000 2094.000000 1530.000000 2116.100098 1530.000000 2134.250000 C 1530.000000 2152.399902 1530.000000 2235.000000 1530.000000 2271.000000" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-2476658007-3488378134)" mask="url(#d2-2476658007)" /><text x="1529.000000" y="2069.000000" fill="#676C7E" class="text-italic fill-N2" style="text-anchor:middle;font-size:16px">No</text></g><g class="KHByb3RlY3RlZF9waGFzZS5wcm9ncmFtc19jaGVjayAtJmd0OyBlcnJvcnMubm9fcHJvZ3JhbXMpWzBd"><path d="M 1594.809271 2634.606911 C 1554.800049 2688.600098 1470.500000 2773.600098 1178.459584 2815.432818" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-2476658007-3488378134)" mask="url(#d2-2476658007)" /><text x="1416.000000" y="2787.000000" fill="#676C7E" class="text-italic fill-N2" style="text-anchor:middle;font-size:16px">No</text></g><g class="KHByb3RlY3RlZF9waGFzZS5zZXRfdGhlbWUgLSZndDsgZGFzaGJvYXJkX3BoYXNlLnByb2dyYW1faW5kZXgpWzBd"><path d="M 1645.500000 3013.000000 C 1645.500000 3051.000000 1645.500000 3071.000000 1645.500000 3086.000000 C 1645.500000 3101.000000 1645.500000 3171.000000 1645.500000 3207.000000" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-2476658007-3488378134)" mask="url(#d2-2476658007)" /></g><g class="ZGFzaGJvYXJkX3BoYXNlLihwcm9ncmFtX2luZGV4IC0mZ3Q7IGRlbGl2ZXJhYmxlX2luZGV4KVswXQ=="><path d="M 1645.500000 3236.500000 C 1645.500000 3283.300049 1645.500000 3307.699951 1645.500000 3352.500000" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-2476658007-3488378134)" mask="url(#d2-2476658007)" /><text x="1646.000000" y="3301.000000" fill="#676C7E" class="text-italic fill-N2" style="text-anchor:middle;font-size:16px">Redirect</text></g><g class="KGRhc2hib2FyZF9waGFzZS5kZWxpdmVyYWJsZV9pbmRleCAtJmd0OyBmaW5hbClbMF0="><path d="M 1645.500000 3382.000000 C 1645.500000 3420.000000 1645.500000 3502.699951 1645.500000 3547.000000" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-2476658007-3488378134)" mask="url(#d2-2476658007)" /><text x="1646.000000" y="3471.000000" fill="#676C7E" class="text-italic fill-N2" style="text-anchor:middle;font-size:16px">Redirect</text></g><g class="KHByb3RlY3RlZF9waGFzZS5hdXRoX2d1YXJkIC0mZ3Q7IGVycm9ycy5hdXRoX2Vycm9yX3Rva2VuKVswXQ=="><marker id="mk-d2-2476658007-1251532141" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" fill="#ef9a9a" class="connection" stroke-width="2" /> </marker><path d="M 1509.822615 2300.089211 C 1449.900024 2339.000000 1434.500000 2361.399902 1434.500000 2380.000000 C 1434.500000 2398.600098 1434.500000 2425.500000 1434.500000 2447.250000 C 1434.500000 2469.000000 1434.500000 2505.399902 1434.500000 2538.250000 C 1434.500000 2571.100098 1434.500000 2614.899902 1434.500000 2647.750000 C 1434.500000 2680.600098 1312.500000 2773.199951 828.486093 2813.666736" stroke="#ef9a9a" fill="none" class="connection" style="stroke-width:2;stroke-dasharray:10.000000,9.865639;" marker-end="url(#mk-d2-2476658007-1251532141)" mask="url(#d2-2476658007)" /><text x="1345.500000" y="2754.000000" fill="#676C7E" class="text-italic fill-N2" style="text-anchor:middle;font-size:16px">Token refresh fails → errorTokenRefresh</text></g><mask id="d2-2476658007" maskUnits="userSpaceOnUse" x="-91" y="-152" width="3025" height="4050">
|
|
897
|
+
<rect x="-91" y="-152" width="3025" height="4050" fill="white"></rect>
|
|
898
|
+
<rect x="870.000000" y="311.000000" width="60" height="21" fill="black"></rect>
|
|
899
|
+
<rect x="987.000000" y="876.000000" width="56" height="21" fill="black"></rect>
|
|
900
|
+
<rect x="622.000000" y="852.000000" width="121" height="21" fill="black"></rect>
|
|
901
|
+
<rect x="837.000000" y="1122.000000" width="22" height="21" fill="black"></rect>
|
|
902
|
+
<rect x="1201.000000" y="1122.000000" width="26" height="21" fill="black"></rect>
|
|
903
|
+
<rect x="1185.000000" y="1764.000000" width="56" height="21" fill="black"></rect>
|
|
904
|
+
<rect x="673.000000" y="1753.000000" width="163" height="21" fill="black"></rect>
|
|
905
|
+
<rect x="1631.000000" y="2716.000000" width="26" height="21" fill="black"></rect>
|
|
906
|
+
<rect x="863.000000" y="154.000000" width="74" height="21" fill="black"></rect>
|
|
907
|
+
<rect x="754.000000" y="1443.000000" width="176" height="21" fill="black"></rect>
|
|
908
|
+
<rect x="923.000000" y="2303.000000" width="26" height="21" fill="black"></rect>
|
|
909
|
+
<rect x="1518.000000" y="2053.000000" width="22" height="21" fill="black"></rect>
|
|
910
|
+
<rect x="1405.000000" y="2771.000000" width="22" height="21" fill="black"></rect>
|
|
911
|
+
<rect x="1616.000000" y="3285.000000" width="60" height="21" fill="black"></rect>
|
|
912
|
+
<rect x="1616.000000" y="3455.000000" width="60" height="21" fill="black"></rect>
|
|
913
|
+
<rect x="1215.000000" y="2738.000000" width="261" height="21" fill="black"></rect>
|
|
914
|
+
</mask></svg></svg>
|