# options

name: openNoteContexts
utcDateModified: 2025-11-11 14:08:05.120Z
value:
  [{"ntxId":"YPrZ28","mainNtxId":null,"notePath":"root/ty2XNuvIOtgl/QjSUo48Y0LVn","hoistedNoteId":"root","active":true,"viewScope":{"viewMode":"default"}}]


name: codeNotesMimeTypes
utcDateModified: 2025-11-03 16:29:18.339Z
value:
  ["text/x-csrc","text/x-c++src","text/x-csharp","text/css","text/x-go","text/x-groovy","text/x-haskell","text/html","message/http","text/x-java","application/javascript;env=frontend","application/javascript;env=backend","application/json","text/x-kotlin","text/x-markdown","text/x-perl","text/x-php","text/x-python","text/x-ruby",null,"text/x-sql","text/x-sqlite;schema=trilium","text/x-swift","text/xml","text/x-yaml","text/x-sh","application/typescript"]


name: allowedHtmlTags
utcDateModified: 2025-11-03 16:29:18.420Z
value:
  ["h1","h2","h3","h4","h5","h6","blockquote","p","a","ul","ol","li","b","i","strong","em","strike","s","del","abbr","code","hr","br","div","table","thead","caption","tbody","tfoot","tr","th","td","pre","section","img","figure","figcaption","span","label","input","details","summary","address","aside","footer","header","hgroup","main","nav","dl","dt","menu","bdi","bdo","dfn","kbd","mark","q","time","var","wbr","area","map","track","video","audio","picture","del","ins","en-media","acronym","article","big","button","cite","col","colgroup","data","dd","fieldset","form","legend","meter","noscript","option","progress","rp","samp","small","sub","sup","template","textarea","tt"]


# attributes

attributeId: _help_3tW6mORuTHnB_ldocName
noteId: _help_3tW6mORuTHnB
type: label
name: docName
utcDateModified: 2025-11-03 16:29:35.724Z
value:
  User Guide/User Guide/Installation & Setup/Server Installation/1. Installing the server/Packaged version for Linux


attributeId: _help_rWX5eY045zbE_ldocName
noteId: _help_rWX5eY045zbE
type: label
name: docName
utcDateModified: 2025-11-03 16:29:35.733Z
value:
  User Guide/User Guide/Installation & Setup/Server Installation/1. Installing the server/Using Docker


attributeId: _help_DCmT6e7clMoP_ldocName
noteId: _help_DCmT6e7clMoP
type: label
name: docName
utcDateModified: 2025-11-03 16:29:35.768Z
value:
  User Guide/User Guide/Installation & Setup/Server Installation/1. Installing the server/Using Kubernetes


attributeId: _help_klCWNks3ReaQ_ldocName
noteId: _help_klCWNks3ReaQ
type: label
name: docName
utcDateModified: 2025-11-03 16:29:35.780Z
value:
  User Guide/User Guide/Installation & Setup/Server Installation/1. Installing the server/Multiple server instances


attributeId: _help_c5xB8m4g2IY6_ldocName
noteId: _help_c5xB8m4g2IY6
type: label
name: docName
utcDateModified: 2025-11-03 16:29:41.220Z
value:
  User Guide/User Guide/Advanced Usage/Configuration (config.ini or environment variables)/Trilium instance


attributeId: _help_LWtBjFej3wX3_ldocName
noteId: _help_LWtBjFej3wX3
type: label
name: docName
utcDateModified: 2025-11-03 16:29:41.231Z
value:
  User Guide/User Guide/Advanced Usage/Configuration (config.ini or environment variables)/Cross-Origin Resource Sharing 


# blobs

blobId: dchzzwhrNelCnILcnaHa
dateModified: 2025-11-03 16:29:18.960+0000
utcDateModified: 2025-11-03 16:29:18.960Z
content:
  <figure class="image image-style-align-right image_resized" style="width:29.84%;">
            <img style="aspect-ratio:150/150;" src="api/attachments/O2NKsO1AliQy/image/Trilium Demo_icon-color.svg" width="150"
            height="150">
          </figure>
          <p><strong>Welcome to TriliumNext Notes!</strong>

          </p>
          <p>This is initial "demo" document provided by TriliumNext by default to
            showcase some of its features and also give you some ideas how you might
            structure your notes. You can play with it, modify note content and tree
            structure as you wish.</p>
          <p>If you need any help, visit TriliumNext website: <a href="https://github.com/TriliumNext">https://github.com/TriliumNext</a>

          </p>
           <h3>Cleanup</h3>

          <p>Once you're finished with experimenting and want to cleanup these pages,
            you can simply delete them all.</p>
           <h3>Formatting</h3>

          <p>TriliumNext supports classic formatting like <em>italic</em>, <strong>bold</strong>, <em><strong>bold and italic</strong></em>.
            Of course you can add links like this one pointing to <a href="http://www.google.com">google.com</a>

          </p>
          <p>Lists</p>
          <p><strong>Ordered:</strong>

          </p>
          <ol>
            <li>First Item</li>
            <li>Second item
              <ol>
                <li>First sub-item
                  <ol>
                    <li>sub-sub-item</li>
                  </ol>
                </li>
              </ol>
            </li>
          </ol>
          <p><strong>Unordered:</strong>

          </p>
          <ul>
            <li>Item</li>
            <li>Another item
              <ul>
                <li>Sub-item</li>
              </ul>
            </li>
          </ul>
          <p>Block quotes</p>
          <blockquote>
            <p>Whereof one cannot speak, thereof one must be silent”</p>
            <p>– Ludwig Wittgenstein</p>
          </blockquote>
          <p>Checkout also other examples like <a href="#root/croNVsCfsgAu">tables</a>,
            <a
            href="#root/8sNOFsIkgYLr">checkbox lists,</a> <a href="#root/96LAnk4TIO6H">highlighting</a>,
              <a
              href="#root/ppla4nQD8vqz">code blocks</a>and&nbsp;<a href="#root/EPtia5HS3WO8">math examples</a>.</p>


blobId: oUekPQzNHXUrvqM6fIBc
dateModified: 2025-11-03 16:29:18.988+0000
utcDateModified: 2025-11-03 16:29:18.989Z
content:
  <?xml version="1.0" encoding="UTF-8"?>
  <svg enable-background="new 0 0 256 256" version="1.1" viewBox="0 0 256 256" xml:space="preserve" xmlns="http://www.w3.org/2000/svg">
  	<title>TriliumNext Notes</title>
  	<style type="text/css">
  		.st0{fill:#95C980;}
  		.st1{fill:#72B755;}
  		.st2{fill:#4FA52B;}
  		.st3{fill:#EE8C89;}
  		.st4{fill:#E96562;}
  		.st5{fill:#E33F3B;}
  		.st6{fill:#EFB075;}
  		.st7{fill:#E99547;}
  		.st8{fill:#E47B19;}
  	</style>
  	<g>
  		<path class="st0" d="m202.9 112.7c-22.5 16.1-54.5 12.8-74.9 6.3l14.8-11.8 14.1-11.3 49.1-39.3-51.2 35.9-14.3 10-14.9 10.5c0.7-21.2 7-49.9 28.6-65.4 1.8-1.3 3.9-2.6 6.1-3.8 2.7-1.5 5.7-2.9 8.8-4.1 27.1-11.1 68.5-15.3 85.2-9.5 0.1 16.2-15.9 45.4-33.9 65.9-2.4 2.8-4.9 5.4-7.4 7.8-3.4 3.5-6.8 6.4-10.1 8.8z"/>
  		<path class="st1" d="m213.1 104c-22.2 12.6-51.4 9.3-70.3 3.2l14.1-11.3 49.1-39.3-51.2 35.9-14.3 10c0.5-18.1 4.9-42.1 19.7-58.6 2.7-1.5 5.7-2.9 8.8-4.1 27.1-11.1 68.5-15.3 85.2-9.5 0.1 16.2-15.9 45.4-33.9 65.9-2.3 2.8-4.8 5.4-7.2 7.8z"/>
  		<path class="st2" d="m220.5 96.2c-21.1 8.6-46.6 5.3-63.7-0.2l49.2-39.4-51.2 35.9c0.3-15.8 3.5-36.6 14.3-52.8 27.1-11.1 68.5-15.3 85.2-9.5 0.1 16.2-15.9 45.4-33.8 66z"/>
  	
  		<path class="st3" d="m106.7 179c-5.8-21 5.2-43.8 15.5-57.2l4.8 14.2 4.5 13.4 15.9 47-12.8-47.6-3.6-13.2-3.7-13.9c15.5 6.2 35.1 18.6 40.7 38.8 0.5 1.7 0.9 3.6 1.2 5.5 0.4 2.4 0.6 5 0.7 7.7 0.9 23.1-7.1 54.9-15.9 65.7-12-4.3-29.3-24-39.7-42.8-1.4-2.6-2.7-5.1-3.8-7.6-1.6-3.5-2.9-6.8-3.8-10z"/>
  		<path class="st4" d="m110.4 188.9c-3.4-19.8 6.9-40.5 16.6-52.9l4.5 13.4 15.9 47-12.8-47.6-3.6-13.2c13.3 5.2 29.9 15 38.1 30.4 0.4 2.4 0.6 5 0.7 7.7 0.9 23.1-7.1 54.9-15.9 65.7-12-4.3-29.3-24-39.7-42.8-1.4-2.6-2.7-5.2-3.8-7.7z"/>
  		<path class="st5" d="m114.2 196.5c-0.7-18 8.6-35.9 17.3-47.1l15.9 47-12.8-47.6c11.6 4.4 26.1 12.4 35.2 24.8 0.9 23.1-7.1 54.9-15.9 65.7-12-4.3-29.3-24-39.7-42.8z"/>

  		<path class="st6" d="m86.3 59.1c21.7 10.9 32.4 36.6 35.8 54.9l-15.2-6.6-14.5-6.3-50.6-22 48.8 24.9 13.6 6.9 14.3 7.3c-16.6 7.9-41.3 14.5-62.1 4.1-1.8-0.9-3.6-1.9-5.4-3.2-2.3-1.5-4.5-3.2-6.8-5.1-19.9-16.4-40.3-46.4-42.7-61.5 12.4-6.5 41.5-5.8 64.8-0.3 3.2 0.8 6.2 1.6 9.1 2.5 4 1.3 7.6 2.8 10.9 4.4z"/>
  		<path class="st7" d="m75.4 54.8c18.9 12 28.4 35.6 31.6 52.6l-14.5-6.3-50.6-22 48.7 24.9 13.6 6.9c-14.1 6.8-34.5 13-53.3 8.2-2.3-1.5-4.5-3.2-6.8-5.1-19.8-16.4-40.2-46.4-42.6-61.5 12.4-6.5 41.5-5.8 64.8-0.3 3.1 0.8 6.2 1.6 9.1 2.6z"/>
  		<path class="st8" d="m66.3 52.2c15.3 12.8 23.3 33.6 26.1 48.9l-50.6-22 48.8 24.9c-12.2 6-29.6 11.8-46.5 10-19.8-16.4-40.2-46.4-42.6-61.5 12.4-6.5 41.5-5.8 64.8-0.3z"/>
  	</g>
  </svg>


blobId: 7SsREyHyFYSXB6DcrHza
dateModified: 2025-11-03 16:29:19.011+0000
utcDateModified: 2025-11-03 16:29:19.011Z
content:
  <div>
            <div>
              <p>This is a place I use to put notes waiting for better categorization</p>
            </div>
          </div>


blobId: lbiBK6ACbWU69SwCqVzO
dateModified: 2025-11-03 16:29:19.069+0000
utcDateModified: 2025-11-03 16:29:19.070Z
content:
  <p>How to be a stoic from Massimo Pigliuci:</p>
          <p><a href="https://www.amazon.com/gp/product/B01K3WN1BY?pf_rd_m=A2R2RITDJNW1Q6&amp;storeType=ebooks&amp;pageType=STOREFRONT&amp;pf_rd_p=8e2a96d9-c848-435b-92bd-0856850ad544&amp;pf_rd_r=4J6CT15BS4X8062XNGDF&amp;pf_rd_s=merchandised-search-5&amp;pf_rd_t=40901&amp;ref_=dbs_f_ebk_rwt_scns_mwl_ms5_kmw_8e2a96d9-c848-435b-92bd-0856850ad544_2&amp;pf_rd_i=154606011">https://www.amazon.com/gp/product/B01K3WN1BY?pf_rd_m=A2R2RITDJNW1Q6&amp;storeType=ebooks&amp;pageType=STOREFRONT&amp;pf_rd_p=8e2a96d9-c848-435b-92bd-0856850ad544&amp;pf_rd_r=4J6CT15BS4X8062XNGDF&amp;pf_rd_s=merchandised-search-5&amp;pf_rd_t=40901&amp;ref_=dbs_f_ebk_rwt_scns_mwl_ms5_kmw_8e2a96d9-c848-435b-92bd-0856850ad544_2&amp;pf_rd_i=154606011</a>&nbsp;</p>


blobId: w2ffqrsYVvHQvZYayWR9
dateModified: 2025-11-03 16:29:19.099+0000
utcDateModified: 2025-11-03 16:29:19.099Z
content:
  <p>"<strong>The Last Question</strong>" is a <a href="https://en.wikipedia.org/wiki/Science_fiction">science fiction</a> 
            <a
            href="https://en.wikipedia.org/wiki/Short_story">short story</a>by American writer <a href="https://en.wikipedia.org/wiki/Isaac_Asimov">Isaac Asimov</a>.
              It first appeared in the November 1956 issue of <a href="https://en.wikipedia.org/wiki/Science_Fiction_Quarterly"><em>Science Fiction Quarterly</em></a>.</p>
          <section
          class="include-note" data-note-id="VsFbpoySMCE3" data-box-size="medium">&nbsp;</section>
            <p>This page demonstrates two things:</p>
            <ul>
              <li>possibility to <a href="#root/_hidden/_help/_help_KSZ04uQ2D1St/_help_iPIMuisry3hd/_help_nBAXQFj20hS1">include one note into another</a>

              </li>
              <li>PDF preview - you can read PDFs directly in Trilium!</li>
            </ul>


blobId: 0u2sY6pW1urY40wzoOVu
dateModified: 2025-11-03 16:29:19.169+0000
utcDateModified: 2025-11-03 16:29:19.169Z
content:
  <figure class="table">
            <table>
              <thead>
                <tr>
                  <th>&nbsp;</th>
                  <th>Monday</th>
                  <th>Tuesday</th>
                  <th>Wednesday</th>
                  <th>Thursday</th>
                  <th>Friday</th>
                </tr>
              </thead>
              <tbody>
                <tr>
                  <th>9:00-10:30</th>
                  <td>P.E.</td>
                  <td>&nbsp;</td>
                  <td>Math</td>
                  <td>Computer Science</td>
                  <td>&nbsp;</td>
                </tr>
                <tr>
                  <th>11:00-12:30</th>
                  <td>History</td>
                  <td>English</td>
                  <td>&nbsp;</td>
                  <td>Physics</td>
                  <td>Math</td>
                </tr>
                <tr>
                  <th>13:00-14:30</th>
                  <td>&nbsp;</td>
                  <td>Computer Science</td>
                  <td>Chemistry</td>
                  <td>Physics Lab</td>
                  <td>Geography</td>
                </tr>
                <tr>
                  <th>15:00-16:30</th>
                  <td>Computer Science</td>
                  <td>&nbsp;</td>
                  <td>Latin</td>
                  <td>&nbsp;</td>
                  <td>&nbsp;</td>
                </tr>
              </tbody>
            </table>
            <figcaption>School schedule</figcaption>
          </figure>


blobId: NlJvdaRZ4GxUqzYbchii
dateModified: 2025-11-03 16:29:19.195+0000
utcDateModified: 2025-11-03 16:29:19.195Z
content:
  <p>Create easy TODO-lists with checkboxes:</p>
          <ul class="todo-list">
            <li>
              <label class="todo-list__label">
                <input type="checkbox" disabled="disabled"><span class="todo-list__label__description">buy milk&nbsp;&nbsp;</span>

              </label>
            </li>
            <li>
              <label class="todo-list__label">
                <input type="checkbox" checked="checked" disabled="disabled"><span class="todo-list__label__description">do the laundry&nbsp;&nbsp;</span>

              </label>
            </li>
            <li>
              <label class="todo-list__label">
                <input type="checkbox" checked="checked" disabled="disabled"><span class="todo-list__label__description">watch TV&nbsp;&nbsp;</span>

              </label>
            </li>
            <li>
              <label class="todo-list__label">
                <input type="checkbox" disabled="disabled"><span class="todo-list__label__description">eat ice cream&nbsp;&nbsp;</span>

              </label>
            </li>
          </ul>


blobId: b52GQIEF9186xDxg540Y
dateModified: 2025-11-03 16:29:19.225+0000
utcDateModified: 2025-11-03 16:29:19.225Z
content:
  <p><span class="text-big">Space Shuttle Discovery</span> (Orbiter Vehicle
            Designation: <code>OV-103</code>) is one of the orbiters from NASA's Space
            Shuttle program and the third of five fully operational orbiters to be
            built. Its first mission, STS-41-D, flew from August 30 to September 5,
            1984. Over 27 years of service it launched and landed <span style="background-color:hsl(60,75%,60%);">39 times</span>,
            gathering more spaceflights than any other spacecraft to date. The shuttle
            has three main components: the Space Shuttle orbiter, a central fuel tank,
            and two rocket boosters. Nearly <span style="background-color:hsl(120,75%,60%);">25,000 heat resistant tiles</span> cover
            the orbiter to protect it from high temperatures on re-entry.</p>
          <p>Discovery became the third operational orbiter to enter service, preceded
            by Columbia and Challenger. <span style="color:hsl(270,75%,60%);">It embarked on its last mission, STS-133, on February 24, 2011</span> and
            touched down for the final time at Kennedy Space Center on March 9, having
            spent a cumulative total of almost a full year in space. Discovery performed
            both research and International Space Station (ISS) assembly missions,
            and also carried the Hubble Space Telescope into orbit.</p>


blobId: mReMpCGX8UriG6mdkj3S
dateModified: 2025-11-03 16:29:19.250+0000
utcDateModified: 2025-11-03 16:29:19.250Z
content:
  <p>Code blocks are useful to add short snippets of code blocks inside text
            notes. Depending on your preference, it's possible to enable or disable
            word wrapping for these code blocks.</p>
          <p>We added syntax highlighting to code blocks as well. When a code block
            is first created it will try to automatically determine the programming
            language, should that fail it is possible to manually adjust it. The color
            scheme for the syntax highlighting is adjustable in settings.&nbsp;</p><pre><code class="language-application-javascript-env-frontend">function helloWorld() {

  	alert("Hello world");

  }</code></pre>

          <p>For larger pieces of code it is better to use a code note, which uses
            a fully-fledged code editor (CodeMirror). For an example of a code note,
            see&nbsp;<a class="reference-link" href="#root/GKbJUiZkJ3Je">Custom request handler</a>.</p>


blobId: 5iprwpYVYJv4XgfHcQwG
dateModified: 2025-11-03 16:29:19.271+0000
utcDateModified: 2025-11-03 16:29:19.271Z
content:
  <p><span class="math-tex">\(% \f is defined as #1f(#2) using the macro \f\relax{x} = \int_{-\infty}^\infty &nbsp; &nbsp; \f\hat\xi\,e^{2 \pi i \xi x} &nbsp; &nbsp; \,d\xi\)</span>Some
            math examples:</p><span class="math-tex">\[\displaystyle \frac{1}{\Bigl(\sqrt{\phi \sqrt{5}}-\phi\Bigr) e^{\frac25 \pi}} = 1+\frac{e^{-2\pi}} {1+\frac{e^{-4\pi}} {1+\frac{e^{-6\pi}} {1+\frac{e^{-8\pi}} {1+\cdots} } } }\]</span>

          <p>Another:</p><span class="math-tex">\[\displaystyle \left( \sum_{k=1}^n a_k b_k \right)^2 \leq \left( \sum_{k=1}^n a_k^2 \right) \left( \sum_{k=1}^n b_k^2 \right)\]</span>

          <p>Inline math is also possible:&nbsp;<span class="math-tex">\(c^2 = a^2 + b^2\)</span>&nbsp;</p>
          <p>&nbsp;</p>


blobId: yI4QjMNkdsfEUY5k91eY
dateModified: 2025-11-03 16:29:19.287+0000
utcDateModified: 2025-11-03 16:29:19.287Z
content:
  <p>You can read some explanation on how this journal works here: <a href="https://github.com/zadam/trilium/wiki/Day-notes">https://github.com/zadam/trilium/wiki/Day-notes</a>

          </p>


blobId: U1PPY8I4vnZjNXmSyQaj
dateModified: 2025-11-03 16:29:19.322+0000
utcDateModified: 2025-11-03 16:29:19.322Z
content:
  <p>TODO:</p>
          <ul class="todo-list">
            <li>
              <label class="todo-list__label">
                <input type="checkbox" disabled="disabled"><span class="todo-list__label__description">&nbsp;&nbsp;</span>

              </label>
            </li>
          </ul>


blobId: ydiywFx1iSVYq0YZKVf7
dateModified: 2025-11-03 16:29:19.356+0000
utcDateModified: 2025-11-03 16:29:19.356Z
content:
  <ul>
            <li>XBox</li>
            <li>Candles</li>
            <li><a href="https://www.amazon.ca/Anker-SoundCore-Portable-Bluetooth-Resistance/dp/B01MTB55WH?pd_rd_wg=honW8&amp;pd_rd_r=c9bb7c0f-0051-4da7-991f-4ca711a1b3e3&amp;pd_rd_w=ciUpR&amp;ref_=pd_gw_simh&amp;pf_rd_r=K10XKX0NGPDNTYYP4BS4&amp;pf_rd_p=5f1b460b-78c1-580e-929e-2878fe4859e8">Portable speakers</a>

            </li>
            <li>...?</li>
          </ul>


blobId: JX9z5Xw6oX0DmGXK8zhQ
dateModified: 2025-11-03 16:29:19.376+0000
utcDateModified: 2025-11-03 16:29:19.376Z
content:
  <p>Wiki: <a href="https://en.wikipedia.org/wiki/Trusted_timestamping">https://en.wikipedia.org/wiki/Trusted_timestamping</a>

          </p>
          <p>Bozho: <a href="https://techblog.bozho.net/using-trusted-timestamping-java/">https://techblog.bozho.net/using-trusted-timestamping-java/</a>

          </p>
          <p><strong>Trusted timestamping</strong> is the process of <a href="https://en.wikipedia.org/wiki/Computer_security">securely</a> keeping
            track of the creation and modification time of a document. Security here
            means that no one—not even the owner of the document—should be able to
            change it once it has been recorded provided that the timestamper's integrity
            is never compromised.</p>
          <p>The administrative aspect involves setting up a publicly available, trusted
            timestamp management infrastructure to collect, process and renew timestamps.</p>


blobId: 5iYtuHCdiyWzrjklqXVS
dateModified: 2025-11-03 16:29:19.407+0000
utcDateModified: 2025-11-03 16:29:19.407Z
content:
  <p>Miscellaneous notes done on monday ...</p>
          <p>&nbsp;</p>
          <p>Interesting video: <a href="https://www.youtube.com/watch?v=_eSAF_qT_FY&amp;feature=youtu.be">https://www.youtube.com/watch?v=_eSAF_qT_FY&amp;feature=youtu.be</a>

          </p>
          <p>&nbsp;</p>
          <p>&nbsp;</p>


blobId: gexI6nrQWgzGvmZU6DKB
dateModified: 2025-11-03 16:29:20.449+0000
utcDateModified: 2025-11-03 16:29:20.449Z
content:
  <p>I enjoyed this book a lot. It's slow moving at times with the author taking
            his time with conversations and descriptions of them. The premise is very
            interesting, but I'm sad that it wasn't elaborated more deeply - e.g. the
            history and development of the clakker technology with Huygens and how
            Spinoza comes into the picture. Maybe the author saves it for the next
            two parts of the book.</p>
          <p>Language can be intimidating at first for non-native english speakers
            - author uses wide range of vocabulary. Fortunately it gets better after
            a while as reader adjusts.</p>


blobId: ugG1YdGiu1puKZzDATyj
dateModified: 2025-11-03 16:29:20.480+0000
utcDateModified: 2025-11-03 16:29:20.480Z
content:
  <blockquote>
            <p>Like a raindrop rolling down dry valleys to the sea, his body sensed the
              contours of agony and helplessly followed their gradient. Impelled by alchemical
              compulsion rather than gravity, Jax became an unstoppable boulder careering
              along gullies of human whim.</p>
          </blockquote>
          <blockquote>
            <p>Free Will was a vacuum, a negative space. It was the absence of coercion,
              the absence of compulsion, the absence of agony.</p>
          </blockquote>
          <blockquote>
            <p>Overwhelming: he could do anything he wanted. But the grand sum of anything-at-all
              was nothing-at-all. The topology of freedom offered no gradients to nudge
              him, no landmarks to guide him. How did humans guide themselves? How did
              they know what to do and what not to do? How did they know when to do anything
              without the benefit of geasa and metageasa to prioritize every single action
              of their waking lives? How did they order their daily existence without
              somebody to tell them what to do?</p>
          </blockquote>
          <blockquote>
            <p>Life as a slave was unspeakable; life as a slave who had briefly tasted
              freedom was unthinkable. Clakkers carried complex geasa by dint of alchemy;
              humans carried heavy obligations, too, but called them culture. Society.</p>
          </blockquote>


blobId: fvXUBEvJtcbREFDAACVo
dateModified: 2025-11-03 16:29:20.529+0000
utcDateModified: 2025-11-03 16:29:20.530Z
content:
  <figure class="image image-style-side">
            <img style="aspect-ratio:209/300;" src="api/attachments/Hk6PxvDDmcjl/image/DONE - Buy a board game fo.jpg"
            width="209" height="300">
          </figure>
          <p>Maybe CodeNames? <a href="https://boardgamegeek.com/boardgame/178900/codenames">https://boardgamegeek.com/boardgame/178900/codenames</a>

          </p>


blobId: KPsf5uAipAOMgCTYs1Yf
dateModified: 2025-11-03 16:29:20.581+0000
utcDateModified: 2025-11-03 16:29:20.581Z
content:
  <p>Epic is kind of medium-term events or projects spread over days or months.</p>
          <p>Remember that Trilium is all free form so you can organise your stuff
            in whatever way you'd like.</p>


blobId: 011hW6sejdzLVbSOun3b
dateModified: 2025-11-03 16:29:20.614+0000
utcDateModified: 2025-11-03 16:29:20.615Z
content:
  <p>25. 12., 26. 12., 1. 1. - statutory holidays</p>
          <p>27. 12. - 29. 12., 2. 1. - vacation days</p>


blobId: Ik1Hfh1Ucxju4YRyVpRY
dateModified: 2025-11-03 16:29:20.730+0000
utcDateModified: 2025-11-03 16:29:20.730Z
content:
  <p>The <strong>history of Linux</strong> began in 1991 with the commencement
            of a personal project by <a href="https://en.wikipedia.org/wiki/Finland">Finnish</a> student
            <a
            href="https://en.wikipedia.org/wiki/Linus_Torvalds">Linus Torvalds</a>to create a new free operating system kernel. Since
              then, the resulting <a href="https://en.wikipedia.org/wiki/Linux_kernel">Linux kernel</a> has
              been marked by constant growth throughout its history. Since the initial
              release of its <a href="https://en.wikipedia.org/wiki/Source_code">source code</a> in
              1991, it has grown from a small number of <a href="https://en.wikipedia.org/wiki/C_Programming_Language">C</a> files
              under a license prohibiting commercial distribution to the 4.2.3 version
              in 2015 with more than 18 million lines of source code under the <a href="https://en.wikipedia.org/wiki/GNU_General_Public_License">GNU General Public License</a> v2.</p>


blobId: fYvKJXd0DOOXYx2WXh7G
dateModified: 2025-11-03 16:29:20.750+0000
utcDateModified: 2025-11-03 16:29:20.751Z
content:
  <p><strong>Bash</strong> is a <a href="https://en.wikipedia.org/wiki/Unix_shell">Unix shell</a> and
            <a
            href="https://en.wikipedia.org/wiki/Command_language">command language</a>written by <a href="https://en.wikipedia.org/wiki/Brian_Fox_(computer_programmer)">Brian Fox</a> for
              the <a href="https://en.wikipedia.org/wiki/GNU_Project">GNU Project</a> as
              a <a href="https://en.wikipedia.org/wiki/Free_software">free software</a> replacement
              for the <a href="https://en.wikipedia.org/wiki/Bourne_shell">Bourne shell</a>.
              First released in 1989, it has been distributed widely as the default
              <a
              href="https://en.wikipedia.org/wiki/Login">login</a>shell for most <a href="https://en.wikipedia.org/wiki/Linux">Linux</a> distributions
                and <a href="https://en.wikipedia.org/wiki/Apple_Inc.">Apple's</a>  <a href="https://en.wikipedia.org/wiki/MacOS">macOS</a> (formerly
                OS X). A version <a href="https://en.wikipedia.org/wiki/Windows_Subsystem_for_Linux">is also available for Windows 10</a>.</p>
          <p><a href="https://en.wikipedia.org/wiki/Bash_(Unix_shell)">Bash on Wikipedia</a>

          </p>


blobId: Cyuhiu6BXMD6cFw5LUbP
dateModified: 2025-11-03 16:29:20.773+0000
utcDateModified: 2025-11-03 16:29:20.773Z
content:
  <p>Documentation: <a href="http://tldp.org/LDP/Bash-Beginners-Guide/html/sect_09_02.html">http://tldp.org/LDP/Bash-Beginners-Guide/html/sect_09_02.html</a>

          </p><pre><code class="language-text-x-sh">#!/bin/bash

  # This script opens 4 terminal windows.



  i="0"

  while [ $i -lt 4 ]

  do

      xterm &amp;



      i=$[$i+1]

  done</code></pre>


blobId: DleXguJZytJBkBW1WkM7
dateModified: 2025-11-03 16:29:20.810+0000
utcDateModified: 2025-11-03 16:29:20.810Z
content:
  <h3>Login shell</h3>

          <p>As a "login shell", Bash reads and sets (executes) the user's profile
            from /etc/profile and one of ~/.bash_profile, ~/.bash_login, or ~/.profile
            (in that order, using the first one that's readable!).</p>
          <p>When a login shell exits, Bash reads and executes commands from the file
            ~/.bash_logout, if it exists.</p>
          <p>Why an extra login shell mode? There are many actions and variable sets
            that only make sense for the initial user login. That's why all UNIX® shells
            have (should have) a "login" mode.</p>
          <p><em><strong>Methods to start Bash as a login shell:</strong></em>

          </p>
          <ul>
            <li>the first character of argv[0] is - (a hyphen): traditional UNIX® shells
              start from the login binary</li>
            <li>Bash is started with the -l option</li>
            <li>Bash is started with the --login option</li>
          </ul>
          <p><em><strong>Methods to test for login shell mode:</strong></em>

          </p>
          <ul>
            <li>the shell option <a href="http://wiki.bash-hackers.org/internals/shell_options#login_shell">login_shell</a> is
              set</li>
          </ul>
          <p><em><strong>Related switches:</strong></em>

          </p>
          <ul>
            <li>--noprofile disables reading of all profile files</li>
          </ul>
           <h3>Interactive shell</h3>

          <p>When Bash starts as an interactive non-login shell, it reads and executes
            commands from ~/.bashrc. This file should contain, for example, aliases,
            since they need to be defined in every shell as they're not inherited from
            the parent shell.</p>
          <p>The feature to have a system-wide /etc/bash.bashrc or a similar system-wide
            rc-file is specific to vendors and distributors that ship <em>their own, patched variant of Bash</em>.
            The classic way to have a system-wide rc file is to source /etc/bashrc
            from every user's ~/.bashrc.</p>
          <p><em><strong>Methods to test for interactive-shell mode:</strong></em>

          </p>
          <ul>
            <li>the special parameter $- contains the letter i (lowercase I)</li>
          </ul>
          <p><em><strong>Related switches:</strong></em>

          </p>
          <ul>
            <li>-i forces the interactive mode</li>
            <li>--norc disables reading of the startup files (e.g. /etc/bash.bashrc if
              supported) and ~/.bashrc</li>
            <li>--rcfile defines another startup file (instead of /etc/bash.bashrc and
              ~/.bashrc)</li>
          </ul>
           <h3>SH mode</h3>

          <p>When Bash starts in SH compatiblity mode, it tries to mimic the startup
            behaviour of historical versions of sh as closely as possible, while conforming
            to the POSIX® standard as well. The profile files read are /etc/profile
            and ~/.profile, if it's a login shell.</p>
          <p>If it's not a login shell, the environment variable <a href="http://wiki.bash-hackers.org/syntax/shellvars#env">ENV</a> is
            evaluated and the resulting filename is used as the name of the startup
            file.</p>
          <p>After the startup files are read, Bash enters the <a href="http://wiki.bash-hackers.org/scripting/bashbehaviour#posix_run_mode">POSIX(r) compatiblity mode (for running, not for starting!)</a>.</p>
          <p><em><strong>Bash starts in sh compatiblity mode when:</strong></em>

          </p>
          <ul>
            <li>
              <p>the base filename in argv[0] is sh (</p>
              <figure class="image">
                <img>
              </figure>
              <p>&nbsp;NB: /bin/sh may be linked to /bin/bash, but that doesn't mean it
                acts like /bin/bash&nbsp;</p>
              <figure class="image">
                <img>
              </figure>
              <p>)</p>
            </li>
          </ul>


blobId: P9hheXjqHsfaetNnIrRA
dateModified: 2025-11-03 16:29:20.843+0000
utcDateModified: 2025-11-03 16:29:20.843Z
content:
  <ul>
            <li>Hold Super - Invoke the Launcher and display the shortcuts</li>
            <li>Hold Super, then press 1 or 2 or 3 and so on until 0 to open or focus
              an application. The number corresponds to the location of the icon on the
              launcher from top to bottom.
              <ul>
                <li>Adding Shift will open a new instance of the application if it's already
                  open.</li>
                <li>Holding the key is also useful when you want to get to the Launcher but
                  do not want to invoke the Dash.</li>
              </ul>
            </li>
            <li>Super + T - Open the rubbish bin/trash can.</li>
            <li>Alt + F1 - Put keyboard focus on the Launcher, use arrow keys to navigate,
              Enter launches an application, Right arrow exposes the quicklists if an
              application has them.</li>
            <li>Ctrl + Alt + T - Launch a terminal window.</li>
          </ul>


blobId: P8IFV01pUSmDLbgR6rZf
dateModified: 2025-11-03 16:29:20.891+0000
utcDateModified: 2025-11-03 16:29:20.892Z
content:
  <p><strong>Node.js</strong> is an <a href="https://en.wikipedia.org/wiki/Open-source_software">open-source</a>,
            <a
            href="https://en.wikipedia.org/wiki/Cross-platform">cross-platform</a>, <a href="https://en.wikipedia.org/wiki/JavaScript">JavaScript</a> 
              <a
              href="https://en.wikipedia.org/wiki/Runtime_system">runtime environment</a>that executes JavaScript code outside of a browser.
                Node.js lets developers use JavaScript to write command line tools and
                for <a href="https://en.wikipedia.org/wiki/Server-side_scripting">server-side scripting</a>—running
                scripts server-side to produce <a href="https://en.wikipedia.org/wiki/Dynamic_web_page">dynamic web page</a> content
                before the page is sent to the user's web browser.&nbsp;</p>


blobId: EQ4oveZY5h4lxYr4p9Kt
dateModified: 2025-11-03 16:29:20.920+0000
utcDateModified: 2025-11-03 16:29:20.921Z
content:
  <p>Node.js allows the creation of <a href="https://en.wikipedia.org/wiki/Web_server">Web servers</a> and
            networking tools using <a href="https://en.wikipedia.org/wiki/JavaScript">JavaScript</a> and
            a collection of "modules" that handle various core functionalities.<a href="https://en.wikipedia.org/wiki/Node.js#cite_note-b3-28">[28]</a> 
            <a
            href="https://en.wikipedia.org/wiki/Node.js#cite_note-b1-31">[31]</a><a href="https://en.wikipedia.org/wiki/Node.js#cite_note-b2-44">[44]</a> 
              <a
              href="https://en.wikipedia.org/wiki/Node.js#cite_note-b4-45">[45]</a><a href="https://en.wikipedia.org/wiki/Node.js#cite_note-b5-46">[46]</a> Modules
                are provided for <a href="https://en.wikipedia.org/wiki/File_system">file system</a> I/O,
                networking (<a href="https://en.wikipedia.org/wiki/Domain_Name_System">DNS</a>,
                <a
                href="https://en.wikipedia.org/wiki/HTTP">HTTP</a>, <a href="https://en.wikipedia.org/wiki/Transmission_Control_Protocol">TCP</a>,
                  <a
                  href="https://en.wikipedia.org/wiki/Transport_Layer_Security">TLS/SSL</a>, or <a href="https://en.wikipedia.org/wiki/User_Datagram_Protocol">UDP</a>),
                    <a
                    href="https://en.wikipedia.org/wiki/Binary_file">binary</a>data (buffers), <a href="https://en.wikipedia.org/wiki/Cryptography">cryptography</a> functions,
                      <a
                      href="https://en.wikipedia.org/wiki/Stream_(computing)">data streams</a>, and other core functions.<a href="https://en.wikipedia.org/wiki/Node.js#cite_note-b1-31">[31]</a> 
                        <a
                        href="https://en.wikipedia.org/wiki/Node.js#cite_note-b4-45">[45]</a><a href="https://en.wikipedia.org/wiki/Node.js#cite_note-47">[47]</a> Node.js's
                          modules use an API designed to reduce the complexity of writing server
                          applications.<a href="https://en.wikipedia.org/wiki/Node.js#cite_note-b1-31">[31]</a> 
                          <a
                          href="https://en.wikipedia.org/wiki/Node.js#cite_note-b4-45">[45]</a>
          </p>


blobId: DeeJOYAx3LKXgx8zTeSt
dateModified: 2025-11-03 16:29:20.940+0000
utcDateModified: 2025-11-03 16:29:20.940Z
content:
  <p>Node.js was written initially by <a href="https://en.wikipedia.org/wiki/Ryan_Dahl">Ryan Dahl</a> in
            2009,<a href="https://en.wikipedia.org/wiki/Node.js#cite_note-training.com-24">[24]</a> about
            thirteen years after the introduction of the first server-side JavaScript
            environment, Netscape's LiveWire Pro Web.<a href="https://en.wikipedia.org/wiki/Node.js#cite_note-25">[25]</a> The
            initial release supported only Linux and Mac OS X. Its development and
            maintenance was led by Dahl and later sponsored by <a href="https://en.wikipedia.org/wiki/Joyent">Joyent</a>.
            <a
            href="https://en.wikipedia.org/wiki/Node.js#cite_note-Google_Groups_post_by_Ryan_Dahl_about_Joyent-26">[26]</a>
          </p>


blobId: iMZAzqDxNQDXtaLEVV8q
dateModified: 2025-11-03 16:29:20.959+0000
utcDateModified: 2025-11-03 16:29:20.959Z
content:
  <p>Node.js brings <a href="https://en.wikipedia.org/wiki/Event-driven_programming">event-driven programming</a> to
            <a
            href="https://en.wikipedia.org/wiki/Web_server">web servers</a>, enabling development of fast web servers in JavaScript.
              <a
              href="https://en.wikipedia.org/wiki/Node.js#cite_note-b1-31">[31]</a>Developers can create scalable servers without using <a href="https://en.wikipedia.org/wiki/Thread_(computing)">threading</a>,
                by using a simplified model of <a href="https://en.wikipedia.org/wiki/Event-driven_programming">event-driven programming</a> that
                uses callbacks to signal the completion of a task.<a href="https://en.wikipedia.org/wiki/Node.js#cite_note-b1-31">[31]</a>

          </p>


blobId: ejoxqYOVCt6pBULRtfQP
dateModified: 2025-11-03 16:29:20.975+0000
utcDateModified: 2025-11-03 16:29:20.975Z
content:
  <p>There are thousands of open-source libraries for Node.js, most of them
            hosted on the <a href="https://en.wikipedia.org/wiki/Npm_(software)">npm</a> website.
            The Node.js developer community has two main mailing lists and the <a href="https://en.wikipedia.org/wiki/IRC">IRC</a> channel
            #node.js on <a href="https://en.wikipedia.org/wiki/Freenode">freenode</a>.&nbsp;</p>


blobId: ttHf7znUkgnFkNX1r5AW
dateModified: 2025-11-03 16:29:20.992+0000
utcDateModified: 2025-11-03 16:29:20.992Z
content:
  <p>New major releases of Node.js are cut from the <a href="https://en.wikipedia.org/wiki/GitHub">GitHub</a> master
            branch every six months. Even-numbered versions are cut in April and odd-numbered
            versions are cut in October. When a new odd version is released, the previous
            even version undergoes transition to Long Term Support (LTS), which gives
            that version 18 months of active support from the date it is designated
            LTS.</p>


blobId: axtLKzwB9UYIOLc0CeKh
dateModified: 2025-11-03 16:29:21.058+0000
utcDateModified: 2025-11-03 16:29:21.058Z
content:
  {"type":"excalidraw","version":2,"elements":[{"type":"rectangle","version":235,"versionNonce":92121392,"isDeleted":false,"id":"Nx_6ACJaaueNh0fTsVZeh","fillStyle":"hachure","strokeWidth":1,"strokeStyle":"solid","roughness":1,"opacity":100,"angle":0,"x":14.66796875,"y":8.13671875,"strokeColor":"#000000","backgroundColor":"#fa5252","width":247,"height":138,"seed":679323330,"groupIds":[],"strokeSharpness":"sharp","boundElements":[],"updated":1743367114827,"link":null,"index":"a0"},{"type":"arrow","version":143,"versionNonce":1500561872,"isDeleted":false,"id":"2bmK1AKg9yVMP6CO_U6Ke","fillStyle":"hachure","strokeWidth":1,"strokeStyle":"solid","roughness":1,"opacity":100,"angle":0,"x":216,"y":67,"strokeColor":"#000000","backgroundColor":"#fa5252","width":289,"height":46,"seed":1265574494,"groupIds":[],"strokeSharpness":"round","boundElements":[],"updated":1743367114827,"link":null,"lastCommittedPoint":null,"startArrowhead":null,"endArrowhead":"arrow","points":[[0,0],[289,46]],"index":"a1"},{"type":"ellipse","version":163,"versionNonce":1146159920,"isDeleted":false,"id":"TOmE_26Ye9b_m_TKfWU45","fillStyle":"hachure","strokeWidth":1,"strokeStyle":"solid","roughness":1,"opacity":100,"angle":0,"x":441,"y":31,"strokeColor":"#000000","backgroundColor":"#228be6","width":203,"height":191,"seed":77588894,"groupIds":[],"strokeSharpness":"sharp","boundElements":[],"updated":1743367114827,"link":null,"index":"a2"},{"type":"text","version":207,"versionNonce":664274896,"isDeleted":false,"id":"K5CjVJa8vYzQ8LDOdH-av","fillStyle":"hachure","strokeWidth":1,"strokeStyle":"solid","roughness":1,"opacity":100,"angle":0,"x":319.5,"y":20,"strokeColor":"#000000","backgroundColor":"#228be6","width":71.75,"height":null,"seed":317664926,"groupIds":[],"strokeSharpness":"sharp","boundElements":[],"updated":1743367114827,"link":null,"fontSize":20,"fontFamily":1,"text":"convert","baseline":18,"textAlign":"left","verticalAlign":"top","containerId":null,"originalText":"convert","index":"a3"},{"type":"diamond","version":140,"versionNonce":1135156528,"isDeleted":false,"id":"rZ0DKhdiE-mys9orY2M7Y","fillStyle":"solid","strokeWidth":1,"strokeStyle":"solid","roughness":1,"opacity":100,"angle":0,"x":335,"y":67,"strokeColor":"#000000","backgroundColor":"#228be6","width":31,"height":37,"seed":401619102,"groupIds":[],"strokeSharpness":"sharp","boundElements":[],"updated":1743367114827,"link":null,"index":"a4"},{"type":"line","version":203,"versionNonce":2095484368,"isDeleted":false,"id":"gWzx0Ka27J2gQYsjliI5u","fillStyle":"solid","strokeWidth":1,"strokeStyle":"dashed","roughness":1,"opacity":100,"angle":0,"x":147,"y":142,"strokeColor":"#000000","backgroundColor":"#228be6","width":124,"height":113,"seed":668475458,"groupIds":[],"strokeSharpness":"round","boundElements":[],"updated":1743367114827,"link":null,"lastCommittedPoint":null,"startArrowhead":null,"endArrowhead":null,"points":[[0,0],[124,113]],"index":"a5"},{"type":"rectangle","version":183,"versionNonce":351139632,"isDeleted":false,"id":"vPXlTlCV6XiWRo8z596tY","fillStyle":"cross-hatch","strokeWidth":1,"strokeStyle":"dotted","roughness":1,"opacity":100,"angle":0,"x":269,"y":240,"strokeColor":"#2b8a3e","backgroundColor":"#e6ffc8","width":144,"height":115,"seed":1313295006,"groupIds":[],"strokeSharpness":"sharp","boundElements":[],"updated":1743367114827,"link":null,"index":"a6"},{"type":"text","version":317,"versionNonce":1920226256,"isDeleted":false,"id":"NlWoiu7QFiUGoGhxxFDQz","fillStyle":"hachure","strokeWidth":1,"strokeStyle":"solid","roughness":1,"opacity":100,"angle":0,"x":290,"y":247,"strokeColor":"#2b8a3e","backgroundColor":"#228be6","width":53.36666488647461,"height":null,"seed":146698370,"groupIds":[],"strokeSharpness":"sharp","boundElements":[],"updated":1743367114827,"link":null,"fontSize":20,"fontFamily":1,"text":"List :\n- one\n- two","baseline":70,"textAlign":"left","verticalAlign":"top","containerId":null,"originalText":"List :\n- one\n- two","index":"a7"},{"type":"diamond","version":221,"versionNonce":1552388400,"isDeleted":false,"id":"4tqMpG7kcfLvu81ba12UQ","fillStyle":"solid","strokeWidth":1,"strokeStyle":"solid","roughness":1,"opacity":100,"angle":5.899784582143685,"x":283.37319488867206,"y":123.6942301852414,"strokeColor":"#000000","backgroundColor":"#fa5252","width":104.0405522208337,"height":74.00000000000001,"seed":1677737711,"groupIds":[],"strokeSharpness":"sharp","boundElements":[],"updated":1743367114827,"link":null,"index":"a8"},{"type":"rectangle","version":278,"versionNonce":1046043088,"isDeleted":false,"id":"79D3L3LhxNNySkbKD3Bia","fillStyle":"hachure","strokeWidth":1,"strokeStyle":"solid","roughness":1,"opacity":100,"angle":0.42451911970089906,"x":479.7715111234793,"y":259.96655309088374,"strokeColor":"#000000","backgroundColor":"#fa5252","width":128.50676566765082,"height":63,"seed":1447260752,"groupIds":[],"strokeSharpness":"sharp","boundElements":[],"updated":1743367114827,"link":null,"index":"a9"},{"type":"diamond","version":363,"versionNonce":1910369072,"isDeleted":false,"id":"ffrisBNjK3DyL4MRqDVUM","fillStyle":"solid","strokeWidth":1,"strokeStyle":"solid","roughness":1,"opacity":100,"angle":0.3893167218331426,"x":21.865547135620886,"y":174.8538070033551,"strokeColor":"#000000","backgroundColor":"#15aabf","width":87.26890572875811,"height":46.29238599328972,"seed":63592112,"groupIds":[],"strokeSharpness":"sharp","boundElements":[],"updated":1743367114827,"link":null,"index":"aA"},{"type":"rectangle","version":519,"versionNonce":330145744,"isDeleted":false,"id":"wxvV5tzdo2p3m4nBQf_fI","fillStyle":"hachure","strokeWidth":1,"strokeStyle":"solid","roughness":1,"opacity":100,"angle":5.997855886997452,"x":90.74789364500919,"y":293.3561760950281,"strokeColor":"#000000","backgroundColor":"#fab005","width":123.50421270998135,"height":35.287647809943806,"seed":1439819952,"groupIds":[],"strokeSharpness":"sharp","boundElements":[],"updated":1743367114827,"link":null,"index":"aB"},{"type":"line","version":167,"versionNonce":2136540464,"isDeleted":false,"id":"i2pQf0tOL1I7RZA6fHNXy","fillStyle":"cross-hatch","strokeWidth":1,"strokeStyle":"dotted","roughness":1,"opacity":100,"angle":0.3264344116289468,"x":129,"y":177,"strokeColor":"#a61e4d","backgroundColor":"#fab005","width":71,"height":80,"seed":969735782,"groupIds":[],"strokeSharpness":"sharp","boundElements":[],"updated":1743367114827,"link":null,"lastCommittedPoint":null,"startArrowhead":null,"endArrowhead":null,"points":[[0,0],[2,16],[12,40],[20,51],[36,64],[71,80]],"index":"aC"},{"type":"line","version":176,"versionNonce":42542544,"isDeleted":false,"id":"zTcY1DmmmEqtM7iaFOjI2","fillStyle":"cross-hatch","strokeWidth":1,"strokeStyle":"solid","roughness":1,"opacity":100,"angle":0,"x":24,"y":282,"strokeColor":"#087f5b","backgroundColor":"#fab005","width":81,"height":33,"seed":1314441594,"groupIds":[],"strokeSharpness":"sharp","boundElements":[],"updated":1743367114827,"link":null,"lastCommittedPoint":null,"startArrowhead":null,"endArrowhead":null,"points":[[0,0],[6,-22],[12,-29],[21,-30],[24,-29],[33,-17],[36,1],[37,2],[45,-29],[48,-29],[53,-31],[58,-31],[72,-23],[81,-8],[81,-4]],"index":"aD"},{"type":"rectangle","version":468,"versionNonce":576773936,"isDeleted":false,"id":"UqrOMUkW8i5NCxQf_EDc9","fillStyle":"hachure","strokeWidth":1,"strokeStyle":"solid","roughness":1,"opacity":100,"angle":0.11809202841909539,"x":190.3330910264575,"y":373.66279952417335,"strokeColor":"#000000","backgroundColor":"#be4bdb","width":90.33381794708485,"height":87.67440095165314,"seed":1466118630,"groupIds":[],"strokeSharpness":"sharp","boundElements":[],"updated":1743367114827,"link":null,"index":"aE"},{"type":"diamond","version":460,"versionNonce":1476651984,"isDeleted":false,"id":"06wK4k0VHVo3nl3maFgBt","fillStyle":"solid","strokeWidth":1,"strokeStyle":"solid","roughness":1,"opacity":100,"angle":5.137516099543635,"x":353.41738815890335,"y":394.61371445798545,"strokeColor":"#000000","backgroundColor":"#4c6ef5","width":80.89200154670186,"height":77.42001777890613,"seed":1789348282,"groupIds":[],"strokeSharpness":"sharp","boundElements":[],"updated":1743367114827,"link":null,"index":"aF"},{"type":"text","version":195,"versionNonce":190675248,"isDeleted":false,"id":"FExeJRXagFlMKEpW4ApvL","fillStyle":"cross-hatch","strokeWidth":1,"strokeStyle":"dotted","roughness":1,"opacity":100,"angle":5.9094584872140326,"x":35.78896794074159,"y":386.2393022458574,"strokeColor":"#d9480f","backgroundColor":"#4c6ef5","width":106.3499984741211,"height":null,"seed":152285754,"groupIds":[],"strokeSharpness":"sharp","boundElements":[],"updated":1743367114827,"link":null,"fontSize":20,"fontFamily":2,"text":"Rotated text","baseline":23,"textAlign":"left","verticalAlign":"top","containerId":null,"originalText":"Rotated text","index":"aG"},{"type":"arrow","version":364,"versionNonce":2117464528,"isDeleted":false,"id":"n7nmJZmGCpL1a6l1TdMeX","fillStyle":"hachure","strokeWidth":1,"strokeStyle":"solid","roughness":1,"opacity":100,"angle":0,"x":520.1576551164967,"y":338.6957163378038,"strokeColor":"#000000","backgroundColor":"#fa5252","width":78.65765511649664,"height":75.30428366219626,"seed":925954106,"groupIds":[],"strokeSharpness":"round","boundElements":[],"updated":1743367114827,"link":null,"lastCommittedPoint":null,"startArrowhead":null,"endArrowhead":"arrow","points":[[0,0],[-78.65765511649664,75.30428366219626]],"index":"aH"},{"type":"text","version":185,"versionNonce":498520880,"isDeleted":false,"id":"lU3Msnm2CTXBHi8Pzef0C","fillStyle":"cross-hatch","strokeWidth":1,"strokeStyle":"dotted","roughness":1,"opacity":100,"angle":0,"x":509.5,"y":392,"strokeColor":"#000000","backgroundColor":"#4c6ef5","width":128.88333129882812,"height":null,"seed":1839996922,"groupIds":[],"strokeSharpness":"sharp","boundElements":[],"updated":1743367114827,"link":null,"fontSize":20,"fontFamily":3,"text":"> some code","baseline":20,"textAlign":"left","verticalAlign":"top","containerId":null,"originalText":"> some code","index":"aI"},{"type":"text","version":511,"versionNonce":1547122640,"isDeleted":false,"id":"CdlqC6FutWnAhFgUa4-tK","fillStyle":"hachure","strokeWidth":1,"strokeStyle":"solid","roughness":1,"opacity":100,"angle":0,"x":34.326958955223915,"y":31.00810810810811,"strokeColor":"#c92a2a","backgroundColor":"#228be6","width":165.3333282470703,"height":null,"seed":168503609,"groupIds":[],"strokeSharpness":"sharp","boundElements":[],"updated":1743367114827,"link":null,"fontSize":39.25486991656494,"fontFamily":1,"text":"Big text","baseline":35,"textAlign":"left","verticalAlign":"top","containerId":null,"originalText":"Big text","index":"aJ"},{"type":"ellipse","version":306,"versionNonce":265612592,"isDeleted":false,"id":"lQb2o3G3uO-OSzJlv7dQf","fillStyle":"cross-hatch","strokeWidth":1,"strokeStyle":"solid","roughness":1,"opacity":100,"angle":5.987365538640589,"x":483.5,"y":118.5,"strokeColor":"#000000","backgroundColor":"#7950f2","width":133.00000000000003,"height":58.00000000000001,"seed":617054574,"groupIds":[],"strokeSharpness":"sharp","boundElements":[],"updated":1743367114827,"link":null,"index":"aK"}],"files":{},"appState":{"scrollX":255.921875,"scrollY":295.91526179206426,"zoom":{"value":1}}}


blobId: tTCKXB30CxflZBFRZPvA
dateModified: 2025-11-03 16:29:21.547+0000
utcDateModified: 2025-11-03 16:29:21.548Z
content:
  <svg version="1.1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 639.33203125 472.03275766587154" width="639.33203125" height="472.03275766587154"><!-- svg-source:excalidraw --><metadata></metadata><defs><style class="style-fonts">
        @font-face { font-family: Virgil; src: url(data:font/woff2;base64,d09GMgABAAAAAAq0AAsAAAAAEQgAAApmAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmAAgQwRCAqZMJJoCyYAATYCJANIBCAFgxwHIBvZDFGUjVaG7IsE21bD+kUYKG0HowNHDCUx5N6SskTz7A8EjMNSjfDBxgv28HTz392Vh7Bu0A2MGgJXA9TE6sPAfDp95V/WtXy6MwUA/IHQUIYJd7mjNPbA5iRPkilhx0H4RIJpaCfqf4D+8PmvJeDzXE4bCzuwVUahjPmbG6R32vO7ONSxp6ZjEhYgRdBDNs1gFs7I826GQksLNAEDcrx8HwAqUGNpdXIiKfwiJcYC1vqkAgQHlqhXxWQCGjB6KNc/BaNckAsAHGuZFiKuyD/2ILJ2NTs23HK7QAJH36gPtN5n2RAEFxU67FRTSx0NtNFNj/9inGylE9c3Npa7Ni1YYbllllpovnkJgBX/JaXdRROGJT0AOi21X+/pSjHmt6IPgRydYz3cFtZAeAKio/19+H23/6yvtuvsVwevf/JR8hIH6hlA5yQ6q0sFd2w/MSpIJOUyKjcXPxo5xIHqIUOQxAgRiYJYMZRcagJ6Hc1DkhLkPGRFNN2QA+qZCyATjtq2U8Nxs6iAgP3syHC5ohxbB3Rrx7LarGDaXD5Mn0pW76QZNEUlrNjIMIpo5KfdsBWigAdUXce3nUNL4XH7Yxla+3K527mlCZ8dNnbtZmWQWF+YYbZrVJCxWTPS40Syji8aZSiL54DqMf1DJiSxNKSBWaDuczDlOtUlqlMqCLFGUbEj2a1ja04gt1BoK9TGoKIxNI1YBWrL+VY5FZfGAguhEI1Dkofli/Ze++T4R07kNtix6obN05qoXC2KDK57LCtCb+du47lzgFNJWD5NtrVysxm2wyNORJWorqsquN3BEwYzkHIn3yqTUAmoEt0oNKk4N+PgpOMTt0Xl7KJdnXUOLQH1hBwnBLKzu0FCqFJN0oHqPPZl9wGqbCDLMG66zaDZOdpIGu+FDaPozXzGS0184SNI9AiNQ1Gr3ENG5gNm2yjhSwaoR07HhyU5FRMIvA3U2ovfmUFiumPNR11JB0eRl7lc0ZKkeuKCHBP4c8xLJcw5VwHXx6jHEkJyWohDookKYuPIrmcZVERKxMWimC8t4SWgWiesXjNIytquuFtZHI/QsX1fyqnh0QQzkC0qjQTmIdEIgSQW/yi7dWyFczpgHZHjBGp72aJhIKWiaRAuu+OpYQ+Nx4ibiAoyqqMRnsQ7R+jsrH4bqPt4Ehk2ssOsmECZQ9zBTkTVVQr3K6VblW1S1jRIYtKCdWDhqbU/b5YHt+2DlUgkWp9A5n6ljBhLIJbFh25HcKQUKHioJakU5G7nAoFZfx5qZRNCbRDKQ2mP3FWQVMwV4PCUySZOPZ4hOJp/cJ6UxUo7m874EjZiH/Ek54AXPFaIjsULko6dgaTTwQO0IMidZpDk/aEgIQphBCkMFVfHq+36RDgTanUSl/Zx2lSS03GYD6aqKOAOxnxMcU4dLC6lBQmUthzMT93iOR0XOs2gXmJZrPQjzWxUtE0doj8xkvW6ookOFz/EL3HHxxJFtOl18Q4OVEqlNmr5WpmKAXdanMg9YxPO/3+XfCMxtTv5eTeRbtAmqlMpDuVGphnIsJuZImr5ZUieQA2R5nH4Mj7/F4a25ruZ+vx60wWLmh8ufOgYMMmjImbCiZIP6LNWUaVmYMhyb/8Iqmbr0slGEo6jgg3xuP1Dc2mer1oQ2ZCxJ+w19Njwud6l4G8eIo/phxxyOGqrxlJat9aEsq5QFIP0YNrJEly8GL5XzAZliDo9exYxzaFfO9YkGLJDzQra7q9X9ufM3tHVoMNneBbbDQSiEa8Jc7bbT00vntxNplrgm02h78Pkn9UFR7L8k4ezTM5i1YrIIJ8ahD5wUtS7SBGLpnf49HSbkXDybG/aLDBX/UjOgjcUy5Q/e1tOEFkk7cFKEbLLOCRCOfRyTjyVudjz4rI3db+0fRLEJBe23hJHHBluIy+tPjqrL6D7OvqRkSYeTB7mIDge7zx+kEd5zAvN8TBHa/LxA2r702zJ0pfdPv5+s9mOVLKXfMsbamH08K89gc97+aXF1WZmSmXo31+09jMX5wY6kIsNTBxcXr5e5it5Gk4QhkFkisZZpEUmeyC8SdzJxC92kpsUukXjTz8LykcyBNaomNJXMW29WKxHQ/QfVg1Qske8JvDr2mp+ATcdkAzY71T6MnYbJn0PeQGUcybYkpReTitVLRLYhqssFHV23uE0uRkQrDx2H91d6nGi1aBWW1c5dtFvR2I6n/LQ0XPU248Fm7VDIk1ECi5YUW9kj6WNIITcdzgvGEyTvKhltsYfeMaVPYKqTlxaY62oIF9Jb6C4UThuLI28pOzLQGIGsYAYEPwy+uh595a2y1xSOB+C+XGNuiXAHldHrVyaxeSldSw07Am1Uqf64xElgsfR9B9qtxrZZArkBPlt02S3TNcOOJEWt5/QtCnEnMvIRA4Kn1dYPYHiz3DUMbQl0ess5koS8BvZ3Bjf8Mr925hbmDIi+bjYtDa5pW/Q11ZdBaT4hn3WNHbLh+kO7Ng81KowUb0OzQuU5PA4qGLQzPMjQrx3bTYfBkaDCNum+1OTlabjORIx4svP+PJmT4n/zQtWSZqr22oljwxOYuc1oXtTFo62f/P14BvzKFaKeTVKIXodvGRjERXlTBa7uPNSdbUhNqWp6lIgoUWrZ/5sGJaNh8OQj8kzBpeFlTUUf+NDuddvxxz1/f5MNRhH8bCWdNqZlz84/xzWrx9YfkDcCLbl6bU4jBy8ser2gxJKZoGHwMGog+a0RZfwoqB8B/RVJt/aWOzi0g0Ma/b9rNNG2gTqWY9oVL8+QPjB+nrS56o7tEOM7oY+ZpzTZ92Ba3eraSp6y1MzOrB+1IsNoi5tC4eIehLAc1P4hxbPKDf/FVO2gEZW6Km1n0L/b9j5+qaoCsKIkIPx3gS2dZAmw1g2x/JWt4y+A6LOh4T0zTuLB9M+ep0/XRmpCQFoIMGDphVr6yquDb8XQi7EtxKJGoYfSryerA0vhlsMDBnpZrujjJ2sM8xlT4oXrLHU0muhTE2FV0FXooVnMBkw0Xlnrb/BMguppV5OWUCOsJNCgqASkKcbbIPSHTrFlMKP39R+MDkedeeRcB2TaSNW52VXahBYgK8u0/csU+Xi6FmYkSGDEDjeoD0+uHhoXMCgxA/uaAS9J1Z1Rfwrzvvz6I1BUyqmGAJpFBg9OqpErt9t/saFVWZxJyFNmJkojiv3TvhqZYu8AKhbHVpOgxkeLX+34n+L/6Nf6UEAYIVcwcgmPSZyRuH0fE7pIowK8WVIsQBXPlFMXv//d3WAp/iGtYwIm3/FgdsYcRlPGQ9QsQ4bhAIvKf3/NFvgJCtBOy4C3hulXLiHhZGlQgg1FAG6WVIfBKHJAIZztFYL7NipljiwWq2oTYZa44FKbQggCBYWACXeQCebZZvhksVs4axRGSIvjHfSxYKTrWAIREIID/krZUdMIemYMNHdakom6lVZNSIEKdRa3I685h8Sf6V19LTRTk86aaCOerrBiKWaODAFQqGVqJqNYhTS4LRYjHTcB2Y3HaCzW8Jpo2ZOSwPPjmppFlrkbNTe1UItCmvhslBDCiGAJgMAAA==); }
        @font-face { font-family: Cascadia; src: url(data:font/woff2;base64,[encoded data, 8744 characters]); }</style></defs><rect x="0" y="0" width="639.33203125" height="472.03275766587154" fill="#ffffff"></rect><g stroke-linecap="round" transform="translate(5 5) rotate(0 123.5 69)"><path d="M0 0 C0 0, 0 0, 0 0 M0 0 C0 0, 0 0, 0 0 M-0.26 6.4 C1.33 4.87, 2 3.77, 4.99 0.36 M-0.26 6.4 C1.5 5.18, 2.57 3.31, 4.99 0.36 M0.13 12.04 C5.03 7.71, 7.73 2.09, 10.63 -0.03 M0.13 12.04 C3.43 8.44, 7.42 2.65, 10.63 -0.03 M-0.13 18.44 C4.12 13.61, 8.24 6.13, 15.62 0.33 M-0.13 18.44 C2.6 14.87, 6.72 9.45, 15.62 0.33 M0.27 24.08 C8.57 13.09, 14.93 5.74, 21.26 -0.07 M0.27 24.08 C5.24 18.36, 12.24 10.83, 21.26 -0.07 M0 30.48 C9.04 18.1, 21.04 8.47, 26.25 0.29 M0 30.48 C6.18 22.54, 14.87 14.93, 26.25 0.29 M-0.26 36.88 C9.42 25.58, 20.79 12.87, 31.89 -0.1 M-0.26 36.88 C10.14 25.27, 18.43 13.67, 31.89 -0.1 M0.14 42.52 C9.47 34.11, 15.45 22.36, 36.88 0.26 M0.14 42.52 C11.45 28.92, 23.54 16.03, 36.88 0.26 M-0.12 48.92 C11.88 33.43, 23.1 21.91, 42.52 -0.14 M-0.12 48.92 C9.1 39.6, 16.84 28.39, 42.52 -0.14 M0.27 54.56 C18.72 36.48, 36.31 12.85, 47.51 0.22 M0.27 54.56 C10.88 42.81, 22.42 28.99, 47.51 0.22 M0.01 60.96 C15.58 44.65, 29.9 24.7, 53.15 -0.17 M0.01 60.96 C18.49 40.79, 35.88 19.78, 53.15 -0.17 M-0.25 67.36 C22.95 40.92, 44.9 15.48, 58.14 0.19 M-0.25 67.36 C14.73 51.41, 28.83 34.34, 58.14 0.19 M0.14 73 C16.12 54.75, 33.62 36.89, 63.78 -0.21 M0.14 73 C19.2 50.78, 37.03 29.49, 63.78 -0.21 M-0.12 79.4 C26.63 48.25, 56.25 16.21, 68.77 0.15 M-0.12 79.4 C20.53 53.56, 43.9 29.01, 68.77 0.15 M0.28 85.04 C16.5 65.44, 32.61 45.21, 74.41 -0.24 M0.28 85.04 C27.54 52.16, 58.11 18.15, 74.41 -0.24 M0.01 91.44 C30.45 59.43, 59.16 24.86, 79.4 0.12 M0.01 91.44 C29.68 56.17, 60.42 22.99, 79.4 0.12 M-0.25 97.84 C27.04 68.61, 52.62 36.92, 85.04 -0.28 M-0.25 97.84 C25.88 67.12, 50.5 37.75, 85.04 -0.28 M0.15 103.48 C24.25 76.01, 47.68 48, 90.03 0.08 M0.15 103.48 C24.01 75.14, 50.04 48.08, 90.03 0.08 M-0.11 109.88 C34.45 68.65, 70.47 24.63, 95.67 -0.31 M-0.11 109.88 C21.05 89.04, 40.84 66.26, 95.67 -0.31 M0.28 115.52 C23.12 89.92, 45.77 63.21, 100.66 0.05 M0.28 115.52 C20.8 92.76, 41.85 68.17, 100.66 0.05 M0.02 121.92 C33.27 82.52, 69.22 42.47, 106.3 -0.34 M0.02 121.92 C30.83 86.83, 62.14 51.83, 106.3 -0.34 M-0.24 128.32 C26.68 96.05, 56.93 66.18, 111.29 0.02 M-0.24 128.32 C36.21 83.24, 73.83 40.58, 111.29 0.02 M0.15 133.96 C25.28 102.76, 50.27 75.64, 116.27 0.38 M0.15 133.96 C26.64 105.88, 51.73 74.91, 116.27 0.38 M1.2 138.85 C32.72 102.53, 66.9 62.08, 121.92 -0.02 M1.2 138.85 C46.11 85.4, 91.01 33.36, 121.92 -0.02 M6.19 139.21 C53.65 82.44, 100.7 27.84, 126.91 0.34 M6.19 139.21 C43.67 99.57, 80.09 56.6, 126.91 0.34 M11.83 138.81 C48.3 100.53, 78.3 63.91, 132.55 -0.05 M11.83 138.81 C52.84 89.63, 97.48 40.84, 132.55 -0.05 M16.82 139.17 C54.01 100.33, 89.32 58.96, 137.54 0.31 M16.82 139.17 C50.59 100.63, 81 64.7, 137.54 0.31 M22.46 138.78 C53.39 107.07, 81.4 75.01, 143.18 -0.09 M22.46 138.78 C55.59 99.17, 91.03 61.01, 143.18 -0.09 M27.45 139.14 C63.17 101.28, 96.44 64.33, 148.17 0.27 M27.45 139.14 C63.91 93.61, 102.93 51.86, 148.17 0.27 M33.09 138.74 C71.25 96.2, 110.01 52.19, 153.81 -0.12 M33.09 138.74 C69.63 98.09, 103.13 58.91, 153.81 -0.12 M38.08 139.1 C83.37 83.67, 132.97 33.25, 158.8 0.24 M38.08 139.1 C72.01 98.23, 107.61 59.13, 158.8 0.24 M43.72 138.71 C82.26 94.31, 121.18 53.68, 164.44 -0.16 M43.72 138.71 C76.63 101.69, 108.14 64.94, 164.44 -0.16 M48.71 139.07 C97.49 85.98, 140.57 34.3, 169.43 0.2 M48.71 139.07 C81.35 103.04, 113.59 67.12, 169.43 0.2 M54.35 138.67 C104.23 82.61, 152 26.59, 175.07 -0.19 M54.35 138.67 C86.56 101.75, 117.41 64.59, 175.07 -0.19 M59.34 139.03 C97.1 95.38, 136.25 48.66, 180.06 0.17 M59.34 139.03 C108.19 84.35, 153.92 30.67, 180.06 0.17 M64.98 138.64 C109.66 86.67, 152.38 39.48, 185.7 -0.23 M64.98 138.64 C94.39 106.01, 123.89 71.71, 185.7 -0.23 M69.97 139 C113.47 87.56, 159.11 37.74, 190.69 0.13 M69.97 139 C96.63 106.07, 125.71 72.05, 190.69 0.13 M75.61 138.61 C121.67 82.91, 169.51 29.76, 196.33 -0.26 M75.61 138.61 C118.6 90.64, 160.78 43.14, 196.33 -0.26 M80.6 138.97 C126.13 84.63, 174.72 28.56, 201.32 0.1 M80.6 138.97 C109.92 105.94, 138.45 72.76, 201.32 0.1 M85.59 139.33 C117.63 100.61, 151.08 64.67, 206.96 -0.3 M85.59 139.33 C116.68 105.46, 144.74 71.13, 206.96 -0.3 M91.23 138.93 C132.75 90.07, 177.21 41.22, 211.95 0.06 M91.23 138.93 C122.82 101.63, 155.36 64.01, 211.95 0.06 M96.22 139.29 C121.65 110.32, 145.62 79.32, 217.59 -0.33 M96.22 139.29 C141.61 88.08, 184.67 39.47, 217.59 -0.33 M101.86 138.9 C141.12 91, 181.29 47.12, 222.58 0.03 M101.86 138.9 C132.68 104.66, 160.91 71.38, 222.58 0.03 M106.85 139.26 C155.72 87.17, 202.71 30.13, 228.22 -0.36 M106.85 139.26 C137.78 103.11, 169.12 66.23, 228.22 -0.36 M112.49 138.86 C146.24 95.65, 183.16 54.23, 233.21 0 M112.49 138.86 C151.68 91.29, 193.21 43.9, 233.21 0 M117.48 139.22 C146.04 108.77, 172.99 77.7, 238.19 0.36 M117.48 139.22 C151.89 101.1, 184.13 62.55, 238.19 0.36 M123.12 138.83 C162.77 95.15, 205.18 49.09, 243.84 -0.04 M123.12 138.83 C165.09 89.6, 209.84 38.46, 243.84 -0.04 M128.11 139.19 C167.33 95.5, 203.85 51.23, 248.17 1.08 M128.11 139.19 C159.04 103.55, 188.57 66.41, 248.17 1.08 M133.75 138.79 C158.78 111.07, 179.89 85.46, 247.91 7.47 M133.75 138.79 C176.52 90.08, 221.01 39.91, 247.91 7.47 M138.74 139.15 C166.78 105.24, 197.72 69.37, 248.3 13.12 M138.74 139.15 C162.71 110.65, 186.18 83.59, 248.3 13.12 M144.38 138.76 C166.91 112.51, 188.9 86.77, 248.04 19.51 M144.38 138.76 C174.78 102.25, 205.49 66.92, 248.04 19.51 M149.37 139.12 C178.8 106.65, 211.67 70.5, 248.43 25.16 M149.37 139.12 C180.3 102.42, 211.42 65.96, 248.43 25.16 M155.01 138.72 C187.52 101.75, 216.89 68.09, 248.17 31.56 M155.01 138.72 C180.97 109.16, 208.97 78.77, 248.17 31.56 M160 139.08 C181.12 118.57, 197.76 94.47, 247.91 37.95 M160 139.08 C182.32 113.31, 205.23 87.92, 247.91 37.95 M165.64 138.69 C188.92 111.04, 209.1 85.63, 248.3 43.6 M165.64 138.69 C192.79 108.09, 220.14 77.79, 248.3 43.6 M170.63 139.05 C190.8 116.86, 209.09 98.5, 248.04 49.99 M170.63 139.05 C194.94 111.29, 216.78 86.44, 248.04 49.99 M176.27 138.66 C190.65 121.3, 205.39 105.48, 248.44 55.64 M176.27 138.66 C196.99 114.96, 216.6 92.74, 248.44 55.64 M181.26 139.02 C205.93 109.67, 230.89 80.41, 248.18 62.04 M181.26 139.02 C196.49 123.54, 210.88 106.45, 248.18 62.04 M186.9 138.62 C200.99 124.12, 214.06 106.84, 247.92 68.43 M186.9 138.62 C200.18 122.26, 216.12 105.35, 247.92 68.43 M191.89 138.98 C204.65 120.82, 223.41 102.21, 248.31 74.08 M191.89 138.98 C211.51 113.45, 233.08 90.67, 248.31 74.08 M197.53 138.59 C215.42 119.57, 236.02 97.29, 248.05 80.47 M197.53 138.59 C216.29 119.49, 233.63 98.82, 248.05 80.47 M202.52 138.95 C216.9 119.66, 233.4 104.78, 248.44 86.12 M202.52 138.95 C214.79 124.58, 226.51 110.68, 248.44 86.12 M207.51 139.31 C217.51 125.62, 230.21 110.17, 248.18 92.51 M207.51 139.31 C224.62 121.44, 239.95 102.11, 248.18 92.51 M213.15 138.91 C222.03 130.75, 228.76 123.45, 247.92 98.91 M213.15 138.91 C223.25 126.72, 234.11 114.38, 247.92 98.91 M218.14 139.27 C224.68 132.16, 230.28 121.86, 248.31 104.56 M218.14 139.27 C224.09 132.29, 232.04 123.65, 248.31 104.56 M223.78 138.88 C231.36 131.61, 239.3 123.18, 248.05 110.95 M223.78 138.88 C232.25 130.82, 240.21 121.07, 248.05 110.95 M228.77 139.24 C234.1 133.93, 241.86 126.78, 248.45 116.6 M228.77 139.24 C234.03 133.14, 240.58 124.42, 248.45 116.6 M234.41 138.84 C237.23 134.88, 243.98 128.38, 248.19 122.99 M234.41 138.84 C237.07 135.65, 240.6 132.66, 248.19 122.99 M239.4 139.2 C240.62 137.61, 242.66 134.5, 247.92 129.39 M239.4 139.2 C242.25 135.05, 245.89 131.86, 247.92 129.39 M245.04 138.81 C245.8 137.68, 247.01 135.69, 248.32 135.04 M245.04 138.81 C245.66 138.05, 246.61 136.65, 248.32 135.04" stroke="#fa5252" stroke-width="0.5" fill="none"></path><path d="M0 0 C89.88 2.12, 177.83 1.06, 247 0 M0 0 C54.94 -1.51, 108.44 -2.06, 247 0 M247 0 C246.6 49.78, 243.84 98.02, 247 138 M247 0 C244.99 53.94, 245.07 109.07, 247 138 M247 138 C184.63 140.03, 120.72 138.62, 0 138 M247 138 C160.97 137.25, 75.93 137.48, 0 138 M0 138 C-0.63 110.33, -1.14 80.08, 0 0 M0 138 C1.73 86.69, 0.34 36.84, 0 0" stroke="#000000" stroke-width="1" fill="none"></path></g><g stroke-linecap="round"><g transform="translate(206.33203125 63.86328125) rotate(0 144.5 23)"><path d="M0.54 0.04 C48.62 7.67, 240.34 37.39, 288.46 44.94 M-0.63 -0.98 C47.24 6.83, 239.02 38.04, 287.22 45.92" stroke="#000000" stroke-width="1" fill="none"></path></g><g transform="translate(206.33203125 63.86328125) rotate(0 144.5 23)"><path d="M262.66 50.58 C270.14 48.17, 275.69 48.08, 287.22 45.92 M262.66 50.58 C268.15 49.9, 274.02 48.98, 287.22 45.92" stroke="#000000" stroke-width="1" fill="none"></path></g><g transform="translate(206.33203125 63.86328125) rotate(0 144.5 23)"><path d="M265.41 33.7 C271.95 36.37, 276.67 41.36, 287.22 45.92 M265.41 33.7 C270.3 37.13, 275.5 40.36, 287.22 45.92" stroke="#000000" stroke-width="1" fill="none"></path></g></g><mask></mask><g stroke-linecap="round" transform="translate(431.33203125 27.86328125) rotate(0 101.5 95.5)"><path d="M19.16 40.5 C19.16 40.5, 19.16 40.5, 19.16 40.5 M19.16 40.5 C19.16 40.5, 19.16 40.5, 19.16 40.5 M11.68 55.2 C20.3 44.73, 29.21 33.82, 46.45 15.2 M11.68 55.2 C24.19 40.99, 35.48 27.16, 46.45 15.2 M4.86 69.15 C15.74 53.42, 30.97 40.37, 54.06 12.55 M4.86 69.15 C15.73 55.43, 27.9 44.12, 54.06 12.55 M2.63 77.81 C24.09 55.23, 42.82 34.15, 61.67 9.89 M2.63 77.81 C24.25 52.25, 46.28 28.58, 61.67 9.89 M3.02 83.45 C19.4 64.95, 38.9 44.67, 69.29 7.23 M3.02 83.45 C27.4 54.77, 53.09 25.91, 69.29 7.23 M2.76 89.85 C27.54 62, 53.25 35.11, 76.9 4.57 M2.76 89.85 C27.58 61.38, 52.43 33.06, 76.9 4.57 M2.5 96.25 C29.62 63.98, 55.2 34.16, 85.16 1.16 M2.5 96.25 C18.56 75.08, 35.97 56.05, 85.16 1.16 M2.9 101.89 C39.65 61.07, 70 22, 90.15 1.52 M2.9 101.89 C30.66 70.4, 57.98 38.39, 90.15 1.52 M2.63 108.29 C28.66 79.34, 48.69 53.24, 95.14 1.88 M2.63 108.29 C37.24 67.62, 72.88 28.77, 95.14 1.88 M3.03 113.93 C34.86 76.97, 65.08 39.95, 100.78 1.48 M3.03 113.93 C39.92 70.19, 77.19 28.78, 100.78 1.48 M4.74 118.07 C26.07 93.9, 47.91 67.36, 105.77 1.84 M4.74 118.07 C27.6 92.7, 50.22 66.67, 105.77 1.84 M6.44 122.2 C43.79 78.77, 80.26 35.1, 110.76 2.2 M6.44 122.2 C49.08 74.49, 89.55 26.26, 110.76 2.2 M8.15 126.33 C38.19 89.95, 72.41 57.45, 116.4 1.81 M8.15 126.33 C50.33 76.56, 93.56 27.93, 116.4 1.81 M9.86 130.47 C30.57 104.35, 52.76 80.23, 121.39 2.17 M9.86 130.47 C38.74 99.57, 65.1 67.88, 121.39 2.17 M11.56 134.6 C45.97 91.25, 81.55 50.78, 125.72 3.28 M11.56 134.6 C40.38 100.78, 69.54 66.82, 125.72 3.28 M13.27 138.74 C59.96 86.32, 103.52 30.42, 130.05 4.4 M13.27 138.74 C37.53 112.48, 60.95 84.13, 130.05 4.4 M14.98 142.87 C50.18 101.53, 86.05 64.9, 133.72 6.27 M14.98 142.87 C45.69 108.52, 75.31 74.17, 133.72 6.27 M16.68 147 C57.29 102.8, 96.04 55.51, 137.4 8.14 M16.68 147 C61.56 97.73, 103.96 47.18, 137.4 8.14 M19.7 149.63 C62.93 97.8, 108.15 51.86, 141.73 9.25 M19.7 149.63 C61.85 100.49, 106.5 51.36, 141.73 9.25 M22.72 152.25 C49.13 120.79, 71.95 91.05, 145.4 11.12 M22.72 152.25 C68.76 98.39, 116.38 45.69, 145.4 11.12 M25.08 155.63 C70.07 103.19, 119.9 46.16, 149.08 12.99 M25.08 155.63 C49.34 126.67, 76.42 97.99, 149.08 12.99 M28.1 158.25 C71.62 108.4, 114.22 56.48, 152.75 14.86 M28.1 158.25 C73.17 104.32, 121.59 50.75, 152.75 14.86 M31.12 160.88 C82.51 105.04, 130.29 44.01, 157.08 15.97 M31.12 160.88 C77.95 104.57, 126.13 50.02, 157.08 15.97 M33.48 164.26 C65.1 124.34, 102.05 83.9, 160.1 18.6 M33.48 164.26 C61.38 130.67, 89.96 96.12, 160.1 18.6 M36.5 166.88 C83.92 112.07, 131.6 53.53, 163.12 21.22 M36.5 166.88 C81.66 114.42, 127.2 62.36, 163.12 21.22 M39.52 169.51 C81.59 119.17, 124.86 71.05, 166.14 23.85 M39.52 169.51 C67.24 134.27, 98.6 100.09, 166.14 23.85 M41.88 172.89 C73.93 133.25, 108.33 95.74, 169.16 26.47 M41.88 172.89 C78.29 128.65, 116.28 85.58, 169.16 26.47 M45.56 174.75 C94.27 122.39, 143.13 66.9, 172.18 29.1 M45.56 174.75 C83.09 131.84, 119.33 89.99, 172.18 29.1 M49.23 176.62 C87.44 133.02, 129.1 87.82, 174.54 32.47 M49.23 176.62 C80.97 137.11, 115.4 97.55, 174.54 32.47 M52.91 178.49 C83.78 141.4, 115.54 106.9, 177.56 35.1 M52.91 178.49 C91.23 133.63, 127.99 90.74, 177.56 35.1 M57.24 179.61 C99.18 133.99, 136.31 87.61, 180.58 37.72 M57.24 179.61 C90.01 141.73, 122 103.65, 180.58 37.72 M60.91 181.48 C95.29 138.9, 132.77 97.7, 183.6 40.35 M60.91 181.48 C107.28 129.28, 151.38 77.02, 183.6 40.35 M65.25 182.59 C101.44 141.34, 138.18 100.51, 186.62 42.97 M65.25 182.59 C107.77 134.19, 150.28 84.5, 186.62 42.97 M68.92 184.46 C94.89 152.88, 126.16 120.02, 188.32 47.11 M68.92 184.46 C93.31 156.02, 116.3 128.98, 188.32 47.11 M73.25 185.58 C109.65 145.8, 145.06 103.89, 190.03 51.24 M73.25 185.58 C111.3 143.91, 149.21 99.93, 190.03 51.24 M76.93 187.45 C112.86 145.23, 152.22 101.29, 191.74 55.37 M76.93 187.45 C111.29 146.93, 145.96 105.45, 191.74 55.37 M81.26 188.56 C106.26 157.27, 135.75 125.21, 193.44 59.51 M81.26 188.56 C111.94 152.41, 142.4 119.65, 193.44 59.51 M86.24 188.92 C129.74 140.57, 168.94 94.83, 195.15 63.64 M86.24 188.92 C109.08 163.39, 129.69 137.18, 195.15 63.64 M91.23 189.28 C123.94 155.21, 151.78 119.16, 196.86 67.77 M91.23 189.28 C130.87 145.6, 170.3 101.49, 196.86 67.77 M96.22 189.64 C127.3 152.68, 161.72 115.74, 198.56 71.91 M96.22 189.64 C115.9 164.24, 136.86 141.62, 198.56 71.91 M101.21 190 C140.96 144, 177.16 100.87, 200.27 76.04 M101.21 190 C133.76 152.55, 165.88 116.44, 200.27 76.04 M106.85 189.61 C137.14 158.75, 165.78 126.61, 201.32 80.93 M106.85 189.61 C129.6 165.93, 152.1 140.17, 201.32 80.93 M111.84 189.97 C134.59 160.39, 157.24 135, 201.06 87.33 M111.84 189.97 C141.31 156.31, 168.97 123.61, 201.06 87.33 M116.82 190.33 C143.64 161.03, 169.5 129.4, 201.45 92.97 M116.82 190.33 C135.1 170.61, 152.58 150.11, 201.45 92.97 M122.47 189.93 C152.74 158.84, 179.14 125.87, 201.19 99.37 M122.47 189.93 C143.06 164.95, 164.88 140.87, 201.19 99.37 M130.08 187.27 C159.4 156.26, 186.36 123.19, 201.59 105.01 M130.08 187.27 C148.31 165.12, 167.34 143.8, 201.59 105.01 M138.34 183.86 C151.5 166.06, 165.74 150.22, 201.33 111.41 M138.34 183.86 C161.4 156.92, 186.77 130.06, 201.33 111.41 M146.61 180.45 C160.56 164.55, 172.44 150.87, 199.75 119.32 M146.61 180.45 C163.47 161.93, 180.3 141.49, 199.75 119.32 M154.88 177.03 C163.8 163.62, 174.8 152.6, 193.59 132.51 M154.88 177.03 C168.09 161.32, 182.29 146, 193.59 132.51 M174.95 160.04 C177.77 156.47, 185.6 147.67, 186.76 146.45 M174.95 160.04 C179.19 156.16, 182.25 151.73, 186.76 146.45" stroke="#228be6" stroke-width="0.5" fill="none"></path><path d="M123.69 1.7 C135.86 2.57, 148.09 10.02, 158.58 16.93 C169.07 23.85, 179.65 33.02, 186.64 43.19 C193.64 53.36, 198.14 65.89, 200.55 77.96 C202.96 90.03, 203.75 103.58, 201.09 115.61 C198.44 127.64, 192.13 140.07, 184.61 150.12 C177.1 160.16, 166.87 169.15, 156.01 175.86 C145.16 182.57, 132 188.21, 119.48 190.38 C106.96 192.55, 93.46 191.52, 80.87 188.86 C68.28 186.21, 54.67 181.57, 43.93 174.45 C33.19 167.32, 23.35 156.48, 16.43 146.12 C9.5 135.76, 4.7 124.29, 2.38 112.31 C0.05 100.32, -0.26 86.1, 2.48 74.2 C5.22 62.29, 11.58 50.85, 18.83 40.88 C26.09 30.92, 35.06 21.06, 46.01 14.41 C56.95 7.75, 70.48 2.68, 84.49 0.94 C98.5 -0.8, 121.22 2.82, 130.06 3.96 C138.9 5.09, 137.91 6.18, 137.51 7.75 M82.44 0.42 C94.23 -2.97, 107.76 0.11, 120.29 2.54 C132.82 4.97, 146.44 8.18, 157.61 15 C168.78 21.81, 179.94 33.03, 187.32 43.42 C194.7 53.81, 199.8 65.68, 201.89 77.32 C203.98 88.96, 202.48 101.44, 199.85 113.27 C197.22 125.1, 193.28 137.78, 186.1 148.29 C178.92 158.81, 167.82 169.28, 156.77 176.35 C145.72 183.42, 132.23 188.57, 119.8 190.69 C107.37 192.82, 94.48 191.59, 82.18 189.1 C69.88 186.62, 56.96 182.64, 46.01 175.78 C35.06 168.93, 23.99 158.07, 16.49 147.96 C8.99 137.86, 3.36 127.13, 1 115.17 C-1.37 103.21, -0.56 88.57, 2.31 76.19 C5.17 63.81, 11.19 50.93, 18.18 40.88 C25.17 30.83, 33.4 22.29, 44.26 15.89 C55.12 9.48, 76.93 4.74, 83.34 2.46 C89.74 0.17, 82.63 0.88, 82.68 2.19" stroke="#000000" stroke-width="1" fill="none"></path></g><g transform="translate(309.83203125 16.86328125) rotate(0 35.875 0)"><text x="0" y="17.619999999999997" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#000000" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">convert</text></g><g stroke-linecap="round" transform="translate(325.33203125 63.86328125) rotate(0 15.5 18.5)"><path d="M16.43 -0.75 L30.05 19.06 L16.91 36.13 L-0.88 18.56" stroke="none" stroke-width="0" fill="#228be6" fill-rule="evenodd"></path><path d="M16 0 C19.76 6.71, 24.65 11.37, 31 19 M16 0 C20.55 5.86, 26.19 12.39, 31 19 M31 19 C25.97 24.34, 21.65 29.11, 16 37 M31 19 C26.11 24.56, 21.66 30.17, 16 37 M16 37 C9.19 31.12, 3.24 23.71, 0 19 M16 37 C10.44 30.77, 5.39 25.02, 0 19 M0 19 C5.62 11.71, 11.26 5.22, 16 0 M0 19 C4.68 13.92, 8.92 8.35, 16 0" stroke="#000000" stroke-width="1" fill="none"></path></g><g stroke-linecap="round"><g transform="translate(137.33203125 138.86328125) rotate(0 62 56.5)"><path d="M0.28 1.1 C20.62 19.94, 102.62 93.23, 123.1 111.91" stroke="#000000" stroke-width="1.5" fill="none" stroke-dasharray="8 9"></path></g></g><mask></mask><g stroke-linecap="round" transform="translate(259.33203125 236.86328125) rotate(0 72 57.5)"><path d="M0 0 C0 0, 0 0, 0 0 M0 0 C0 0, 0 0, 0 0 M-0.26 6.4 C0.9 4.21, 3.63 1.51, 4.99 0.36 M-0.26 6.4 C1.85 4.25, 3.19 2.37, 4.99 0.36 M0.13 12.04 C5.12 8.37, 6.55 5.18, 10.63 -0.03 M0.13 12.04 C3.31 7.9, 7.12 3.72, 10.63 -0.03 M-0.13 18.44 C4.7 12.29, 10.78 4.08, 15.62 0.33 M-0.13 18.44 C4.92 14.4, 7.65 9.17, 15.62 0.33 M0.27 24.08 C4.58 17.25, 10.69 15.19, 21.26 -0.07 M0.27 24.08 C8.11 15.94, 16.68 5.93, 21.26 -0.07 M0 30.48 C9.49 22.93, 16.62 11.75, 26.25 0.29 M0 30.48 C5.16 22.21, 12.37 15.37, 26.25 0.29 M-0.26 36.88 C6.68 30.21, 13.68 21.21, 31.89 -0.1 M-0.26 36.88 C8.8 27.04, 19.03 15.16, 31.89 -0.1 M0.14 42.52 C7.43 35.31, 16.04 24.78, 36.88 0.26 M0.14 42.52 C12.87 27.41, 28.65 10.71, 36.88 0.26 M-0.12 48.92 C13.68 34.5, 26.27 20.9, 42.52 -0.14 M-0.12 48.92 C9.33 36.23, 20.48 26.13, 42.52 -0.14 M0.27 54.56 C9.43 43.88, 23.21 29.11, 47.51 0.22 M0.27 54.56 C12.27 40.43, 25.72 24.98, 47.51 0.22 M0.01 60.96 C12 46.85, 28 30.62, 53.15 -0.17 M0.01 60.96 C17.95 39.59, 36.62 20.66, 53.15 -0.17 M-0.25 67.36 C11.77 51.54, 25.31 37.01, 58.14 0.19 M-0.25 67.36 C13.26 52.35, 27.26 38.29, 58.14 0.19 M0.14 73 C20.1 50.19, 40.16 24.21, 63.78 -0.21 M0.14 73 C19.62 49.96, 38.42 27.75, 63.78 -0.21 M-0.12 79.4 C24.44 52.26, 46.05 26.52, 68.77 0.15 M-0.12 79.4 C15.34 60.31, 31.46 43.1, 68.77 0.15 M0.28 85.04 C14.31 65.85, 33.13 47.31, 74.41 -0.24 M0.28 85.04 C22.63 60.49, 43.55 36.54, 74.41 -0.24 M0.01 91.44 C28.41 59.2, 58.67 24.44, 79.4 0.12 M0.01 91.44 C31.37 55.73, 61.62 21.07, 79.4 0.12 M-0.25 97.84 C19.52 73.27, 41.8 49.48, 85.04 -0.28 M-0.25 97.84 C17.47 77.77, 35.79 57.37, 85.04 -0.28 M0.15 103.48 C31.84 67.94, 61.64 30.88, 90.03 0.08 M0.15 103.48 C29.67 69.37, 59.14 34.68, 90.03 0.08 M-0.11 109.88 C20.53 84.75, 43.89 60, 95.67 -0.31 M-0.11 109.88 C19.78 85.67, 39.17 64.39, 95.67 -0.31 M0.28 115.52 C35.09 77.13, 69.92 37.09, 100.66 0.05 M0.28 115.52 C34.63 76.11, 68.63 35.22, 100.66 0.05 M5.92 115.13 C41.75 73.33, 75.5 32.69, 106.3 -0.34 M5.92 115.13 C26.85 89.33, 50.37 64.36, 106.3 -0.34 M10.91 115.49 C41.01 78.54, 75.1 42.37, 111.29 0.02 M10.91 115.49 C36.3 84.6, 62.68 56.13, 111.29 0.02 M16.55 115.09 C52.23 77.35, 83.02 36.8, 116.27 0.38 M16.55 115.09 C55.91 69.94, 94.57 26.64, 116.27 0.38 M21.54 115.45 C59.88 69.73, 100 24.83, 121.92 -0.02 M21.54 115.45 C59.53 71.73, 97.68 25.69, 121.92 -0.02 M27.18 115.06 C55.52 83.65, 83.25 51.34, 126.91 0.34 M27.18 115.06 C52.95 84.64, 78.28 56.73, 126.91 0.34 M32.17 115.42 C60.83 87.1, 87.14 55.89, 132.55 -0.05 M32.17 115.42 C68.55 75.79, 103.02 35.01, 132.55 -0.05 M37.81 115.02 C73 73.98, 107.63 32.96, 137.54 0.31 M37.81 115.02 C75.03 70.84, 110.69 27.94, 137.54 0.31 M42.8 115.38 C75.7 75.3, 110.73 39, 143.18 -0.09 M42.8 115.38 C72.24 84.01, 100.22 51.03, 143.18 -0.09 M48.44 114.99 C85.51 73.51, 120.62 29.65, 144.23 4.8 M48.44 114.99 C75.43 82.41, 103.86 50.56, 144.23 4.8 M53.43 115.35 C86.34 77.12, 119.76 37.38, 143.97 11.2 M53.43 115.35 C89.03 73.24, 125.8 31.92, 143.97 11.2 M58.42 115.71 C80.33 95, 98.56 70.45, 144.36 16.84 M58.42 115.71 C89.19 79.43, 120.21 44.41, 144.36 16.84 M64.06 115.31 C86.78 86.73, 112.84 60.68, 144.1 23.24 M64.06 115.31 C83.71 94.98, 102.54 71.46, 144.1 23.24 M69.05 115.67 C86.82 95.19, 101.01 76.73, 144.5 28.88 M69.05 115.67 C95.66 85.68, 122.68 55.12, 144.5 28.88 M74.69 115.28 C97.65 85.43, 122.83 58.13, 144.23 35.28 M74.69 115.28 C90.85 97.38, 107.34 77.86, 144.23 35.28 M79.68 115.64 C97.27 95.28, 118.72 71.76, 143.97 41.68 M79.68 115.64 C91.14 100.02, 105.47 83.87, 143.97 41.68 M85.32 115.24 C106.92 90.1, 130.04 64.18, 144.37 47.32 M85.32 115.24 C103.16 93.92, 122.45 72.58, 144.37 47.32 M90.31 115.6 C104.41 98.07, 118.59 81.61, 144.11 53.72 M90.31 115.6 C107.5 97.41, 123.11 77.57, 144.11 53.72 M95.95 115.21 C112.16 97.3, 125.6 81.44, 144.5 59.36 M95.95 115.21 C112.19 97.81, 127.93 78.17, 144.5 59.36 M100.94 115.57 C116.98 98.32, 132.61 79.2, 144.24 65.76 M100.94 115.57 C116.96 95.69, 135.71 77.14, 144.24 65.76 M106.58 115.18 C116.87 107.15, 123.93 97.58, 143.98 72.16 M106.58 115.18 C115.92 105.95, 123.73 95.84, 143.98 72.16 M111.57 115.54 C121.72 102.62, 136.21 88.11, 144.37 77.8 M111.57 115.54 C119.89 105.18, 128.59 95.3, 144.37 77.8 M117.21 115.14 C127.9 102.29, 136.9 92.7, 144.11 84.2 M117.21 115.14 C124.25 107.46, 129.9 99.16, 144.11 84.2 M122.2 115.5 C129.21 108.66, 137.18 99.11, 144.5 89.84 M122.2 115.5 C128.93 107.42, 135.52 100.4, 144.5 89.84 M127.84 115.11 C132.42 108.94, 133.78 105.15, 144.24 96.24 M127.84 115.11 C134.05 109.49, 138.56 103, 144.24 96.24 M132.83 115.47 C137.02 112.47, 140.17 108.71, 143.98 102.64 M132.83 115.47 C136.1 113.16, 137.88 109.48, 143.98 102.64 M138.47 115.07 C140.37 114.3, 141.45 111.9, 144.38 108.28 M138.47 115.07 C140.92 112.6, 142.19 110.46, 144.38 108.28 M143.46 115.43 C143.65 115.33, 143.72 114.95, 144.12 114.68 M143.46 115.43 C143.64 115.25, 143.83 115.01, 144.12 114.68 M-0.34 114.71 C-0.34 114.71, -0.34 114.71, -0.34 114.71 M-0.34 114.71 C-0.34 114.71, -0.34 114.71, -0.34 114.71 M6.06 114.97 C4.12 113.11, 2.99 113.32, 0.02 109.72 M6.06 114.97 C4.09 113.06, 2.28 112, 0.02 109.72 M12.46 115.23 C10.93 114.33, 6.19 109.63, -0.37 104.08 M12.46 115.23 C8.56 112.73, 6.27 109.23, -0.37 104.08 M18.1 114.84 C14.62 110.02, 9.47 109.14, -0.01 99.09 M18.1 114.84 C12.31 109.54, 7.27 104.76, -0.01 99.09 M24.5 115.1 C16.58 106.2, 7.91 102.64, 0.35 94.1 M24.5 115.1 C17.29 107.9, 9.03 101.94, 0.35 94.1 M30.14 114.7 C18.66 104.08, 6.68 92.81, -0.05 88.46 M30.14 114.7 C19.92 105.42, 6.95 94.19, -0.05 88.46 M36.54 114.96 C28.8 108.32, 20.18 102.16, 0.31 83.47 M36.54 114.96 C29.35 109.14, 20.9 101.89, 0.31 83.47 M42.94 115.22 C29.57 102.31, 17.32 92.97, -0.08 77.83 M42.94 115.22 C31.31 105.16, 19.37 94.81, -0.08 77.83 M48.58 114.83 C33.82 100.3, 16.09 86.65, 0.28 72.84 M48.58 114.83 C36.9 104.44, 25.77 94.89, 0.28 72.84 M54.98 115.09 C36.86 98.55, 19.27 84.81, -0.12 67.2 M54.98 115.09 C41.49 103.22, 28.88 91.77, -0.12 67.2 M60.62 114.7 C45.28 101.74, 28.66 86.67, 0.25 62.21 M60.62 114.7 C39.46 97.18, 19.53 78.58, 0.25 62.21 M67.02 114.96 C54.47 101.29, 38.09 91.15, -0.15 56.57 M67.02 114.96 C44.52 94.07, 20.14 73.73, -0.15 56.57 M73.42 115.22 C44.72 91.86, 20.61 70.93, 0.21 51.58 M73.42 115.22 C54.05 98.64, 33.7 82.12, 0.21 51.58 M79.06 114.83 C53.45 95.08, 31.86 74.29, -0.18 45.94 M79.06 114.83 C52.25 91.32, 27.13 68.78, -0.18 45.94 M85.46 115.09 C54.35 87.18, 24.14 61.68, 0.18 40.95 M85.46 115.09 C60.42 92.34, 37.12 71.76, 0.18 40.95 M91.1 114.69 C68.67 95.72, 48.68 75.67, -0.22 35.31 M91.1 114.69 C59.57 86.68, 26.34 58.21, -0.22 35.31 M97.5 114.95 C59.39 81.25, 24.93 52.28, 0.14 30.32 M97.5 114.95 C77.26 97.87, 56.67 78.97, 0.14 30.32 M103.9 115.22 C68.55 87.62, 37.59 59.87, -0.25 24.68 M103.9 115.22 C77.4 93.49, 51.36 70.33, -0.25 24.68 M109.54 114.82 C88.7 97.54, 62.78 75.74, 0.11 19.69 M109.54 114.82 C86.14 94.54, 64.09 74.69, 0.11 19.69 M115.94 115.08 C70.39 77.02, 24.82 40.1, -0.29 14.05 M115.94 115.08 C86.86 87.2, 54.68 61.79, -0.29 14.05 M121.58 114.69 C76.93 77.57, 31.75 38.73, 0.07 9.06 M121.58 114.69 C73.85 71.41, 25.72 29.26, 0.07 9.06 M127.98 114.95 C82.61 76.9, 36.38 33.63, -0.32 3.42 M127.98 114.95 C86.4 79.93, 46.8 44.45, -0.32 3.42 M134.38 115.21 C103.12 88.25, 69.34 59.01, 0.79 -0.91 M134.38 115.21 C103.3 87.95, 72.83 61.48, 0.79 -0.91 M140.02 114.82 C102.94 82.26, 60.86 46.2, 7.19 -0.65 M140.02 114.82 C91.34 72.11, 42.8 30.1, 7.19 -0.65 M144.91 113.77 C93.94 70.02, 39.8 25.11, 12.83 -1.05 M144.91 113.77 C103.56 76.94, 59.24 39.75, 12.83 -1.05 M145.27 108.78 C103.98 74.28, 65.67 40.02, 19.23 -0.78 M145.27 108.78 C119.14 84.72, 90.96 59.51, 19.23 -0.78 M144.87 103.14 C100.05 65.61, 56.05 28.52, 24.87 -1.18 M144.87 103.14 C117.24 79.24, 89.09 56.65, 24.87 -1.18 M145.23 98.15 C117.96 73.94, 87.32 45.92, 31.27 -0.92 M145.23 98.15 C107.52 66.71, 69.8 32.78, 31.27 -0.92 M144.84 92.51 C109.79 61.68, 71.18 30.06, 37.67 -0.66 M144.84 92.51 C117.23 69.49, 91.8 46.26, 37.67 -0.66 M145.2 87.52 C118.88 63.16, 89.21 37.62, 43.31 -1.05 M145.2 87.52 C105.01 51.8, 63.38 16.74, 43.31 -1.05 M144.8 81.87 C120.27 59.19, 93.81 35.83, 49.71 -0.79 M144.8 81.87 C124.17 63.2, 101.35 44.61, 49.71 -0.79 M145.16 76.89 C108.62 43.86, 73.83 13.83, 55.35 -1.18 M145.16 76.89 C112.89 48.12, 78.79 19.44, 55.35 -1.18 M144.77 71.24 C115.38 46.96, 87.81 22.59, 61.75 -0.92 M144.77 71.24 C114.48 46.32, 84.82 20.14, 61.75 -0.92 M145.13 66.26 C117.36 37.92, 83.58 13.45, 68.15 -0.66 M145.13 66.26 C127.22 49.83, 110.83 34.67, 68.15 -0.66 M144.74 60.61 C121.46 41.03, 97.78 19.81, 73.79 -1.05 M144.74 60.61 C117.93 37.31, 91.05 12.73, 73.79 -1.05 M145.1 55.63 C127.08 38.23, 105.74 19.77, 80.19 -0.79 M145.1 55.63 C130 43.82, 116.19 31.18, 80.19 -0.79 M144.7 49.98 C130.56 37.45, 117.22 27.19, 85.83 -1.19 M144.7 49.98 C133.96 39.61, 120.4 27.94, 85.83 -1.19 M145.06 45 C130.18 30.69, 114.07 17.43, 92.23 -0.93 M145.06 45 C131.82 34.89, 120.23 23.58, 92.23 -0.93 M144.67 39.35 C127.63 23.36, 106.98 8.49, 98.63 -0.67 M144.67 39.35 C133.21 30.86, 122.65 19.72, 98.63 -0.67 M145.03 34.37 C137.42 28.72, 126.05 21.4, 104.27 -1.06 M145.03 34.37 C136.45 27.22, 126.83 18.24, 104.27 -1.06 M144.63 28.72 C135.12 19.66, 127.5 16.52, 110.67 -0.8 M144.63 28.72 C134.83 20.17, 126.28 12.07, 110.67 -0.8 M144.99 23.74 C139.43 20.15, 133.52 13.58, 116.31 -1.19 M144.99 23.74 C135.66 15.19, 126.58 7.8, 116.31 -1.19 M145.35 18.75 C139.28 14.2, 133.16 4.5, 122.71 -0.93 M145.35 18.75 C139.86 13.93, 135.09 9.44, 122.71 -0.93 M144.96 13.11 C138.22 8.98, 131.43 2.5, 129.11 -0.67 M144.96 13.11 C142.48 10.84, 138.45 7.26, 129.11 -0.67 M145.32 8.12 C143.03 7.25, 140.04 2.77, 134.75 -1.06 M145.32 8.12 C143.26 5.52, 139.78 4.11, 134.75 -1.06 M144.92 2.48 C143.72 1.92, 142.22 1.03, 141.15 -0.8 M144.92 2.48 C143.49 1.31, 142.62 0.29, 141.15 -0.8" stroke="#e6ffc8" stroke-width="0.5" fill="none"></path><path d="M0 0 C32.15 1.58, 64.93 1.69, 144 0 M144 0 C141.11 24.28, 142.02 46.1, 144 115 M144 115 C96.03 118.2, 49.86 118.26, 0 115 M0 115 C-0.93 80.84, -0.47 48.71, 0 0" stroke="#2b8a3e" stroke-width="1.5" fill="none" stroke-dasharray="1.5 7"></path></g><g transform="translate(280.33203125 243.86328125) rotate(0 26.683332443237305 0)"><text x="0" y="17.619999999999997" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#2b8a3e" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">List :</text><text x="0" y="42.62" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#2b8a3e" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">- one</text><text x="0" y="67.62" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#2b8a3e" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">- two</text></g><g stroke-linecap="round" transform="translate(273.70522613867206 120.5575114352414) rotate(338.0327565931871 52.02027611041686 37)"><path d="M52.82 -0.77 L103.82 37.79 L52.42 73.89 L1.1 38.77" stroke="none" stroke-width="0" fill="#fa5252" fill-rule="evenodd"></path><path d="M53 0 C62.71 8.01, 74.82 14.93, 104.04 38 M53 0 C65.62 9.63, 77.95 19.44, 104.04 38 M104.04 38 C83.05 49.96, 63.73 63.04, 53 74 M104.04 38 C88.31 50.32, 72.55 61.07, 53 74 M53 74 C36.33 64.71, 22.95 52.15, 0 38 M53 74 C41.08 65.63, 28.21 56.2, 0 38 M0 38 C20.27 23.29, 39.08 10.85, 53 0 M0 38 C16.79 25.39, 34.35 14.02, 53 0" stroke="#000000" stroke-width="1" fill="none"></path></g><g stroke-linecap="round" transform="translate(470.1035423734793 256.82983434088374) rotate(24.323153881470517 64.25338283382541 31.5)"><path d="M0 0 C0 0, 0 0, 0 0 M0 0 C0 0, 0 0, 0 0 M-0.26 6.4 C0.65 4, 3.04 3.48, 4.99 0.36 M-0.26 6.4 C2.02 4.03, 3.92 2.02, 4.99 0.36 M0.13 12.04 C4.8 7.72, 8.69 2.38, 10.63 -0.03 M0.13 12.04 C2.89 9.35, 4.3 7.01, 10.63 -0.03 M-0.13 18.44 C5.17 15.26, 9.58 6.91, 15.62 0.33 M-0.13 18.44 C4.33 12.9, 10.2 6.61, 15.62 0.33 M0.27 24.08 C9.47 13.86, 17.08 6.41, 21.26 -0.07 M0.27 24.08 C5.28 16.41, 12.39 10.78, 21.26 -0.07 M0 30.48 C8.52 23.86, 11.5 14.96, 26.25 0.29 M0 30.48 C5.71 23.39, 11.72 16.75, 26.25 0.29 M-0.26 36.88 C7.68 26.82, 18.65 15.05, 31.89 -0.1 M-0.26 36.88 C6.91 28.82, 12.4 20.89, 31.89 -0.1 M0.14 42.52 C10.64 29.43, 19.74 19.01, 36.88 0.26 M0.14 42.52 C12.35 27.61, 24.66 13.68, 36.88 0.26 M-0.12 48.92 C9.69 37.53, 22.05 24.17, 42.52 -0.14 M-0.12 48.92 C16.31 30.28, 31.58 12.53, 42.52 -0.14 M0.27 54.56 C21.15 35.04, 38.19 11.41, 47.51 0.22 M0.27 54.56 C16.3 35.31, 33.58 15.79, 47.51 0.22 M0.01 60.96 C21.05 40.44, 38.67 17.38, 53.15 -0.17 M0.01 60.96 C19.14 37.75, 39.62 14.53, 53.15 -0.17 M1.72 65.09 C22.3 41.05, 40.01 19.46, 58.14 0.19 M1.72 65.09 C15.25 48.2, 29.47 32.31, 58.14 0.19 M7.36 64.7 C21.72 47.18, 33.75 32.35, 63.78 -0.21 M7.36 64.7 C26.62 42.14, 45.84 19.72, 63.78 -0.21 M12.35 65.06 C33.36 38.16, 57.86 14.94, 68.77 0.15 M12.35 65.06 C28.49 46.82, 44.5 29.3, 68.77 0.15 M17.99 64.66 C40.03 39.17, 61.01 12.55, 74.41 -0.24 M17.99 64.66 C34.02 47.69, 48.23 29.59, 74.41 -0.24 M22.98 65.02 C43.8 44.18, 60.75 21.31, 79.4 0.12 M22.98 65.02 C41.11 43.22, 60.9 21.84, 79.4 0.12 M28.62 64.63 C44.94 45.67, 63.48 25.58, 85.04 -0.28 M28.62 64.63 C49.63 40, 71.2 15.23, 85.04 -0.28 M33.61 64.99 C52.02 45.03, 69.31 21.17, 90.03 0.08 M33.61 64.99 C45.48 51.01, 57.84 36.48, 90.03 0.08 M39.25 64.59 C60.81 39.84, 78.56 20.26, 95.67 -0.31 M39.25 64.59 C53.1 48.32, 66.41 33.85, 95.67 -0.31 M44.24 64.95 C67.78 40.65, 87.31 12.05, 100.66 0.05 M44.24 64.95 C56.5 51.56, 67.83 38.7, 100.66 0.05 M49.88 64.56 C65.51 48.41, 79.1 30.82, 106.3 -0.34 M49.88 64.56 C63.42 49.97, 76.2 35.95, 106.3 -0.34 M54.87 64.92 C71.64 44.89, 89.81 27.24, 111.29 0.02 M54.87 64.92 C67.86 48.55, 81.83 33.39, 111.29 0.02 M60.51 64.53 C74.11 51.17, 84.61 34.62, 116.27 0.38 M60.51 64.53 C74.12 50.3, 87.7 34.34, 116.27 0.38 M65.5 64.89 C86.8 42.82, 108.12 17.14, 121.92 -0.02 M65.5 64.89 C85.24 41.11, 105.02 17.98, 121.92 -0.02 M71.14 64.49 C87.5 48.79, 101.3 31.27, 126.91 0.34 M71.14 64.49 C84.47 49.03, 98.45 34.74, 126.91 0.34 M76.13 64.85 C89.67 51.17, 100.23 40.16, 130.58 2.21 M76.13 64.85 C88.55 50.76, 100.04 37.95, 130.58 2.21 M81.77 64.46 C93.75 52.23, 104.58 41.6, 130.97 7.85 M81.77 64.46 C92.5 50.85, 104.92 35.42, 130.97 7.85 M86.76 64.82 C104.29 45.63, 121.05 28.98, 130.71 14.25 M86.76 64.82 C95.5 53.12, 106.37 42.2, 130.71 14.25 M92.4 64.42 C105.31 48.74, 116.72 37.46, 131.11 19.89 M92.4 64.42 C107.34 46.61, 121.02 29.79, 131.11 19.89 M97.39 64.78 C109.99 54.03, 120.53 40.48, 130.85 26.29 M97.39 64.78 C103.63 56.41, 111.54 49.94, 130.85 26.29 M103.03 64.39 C110.51 53.27, 118.12 43.4, 130.58 32.69 M103.03 64.39 C108.5 58.42, 115.83 50.61, 130.58 32.69 M108.02 64.75 C113.21 57.09, 119.34 51.56, 130.98 38.33 M108.02 64.75 C114.41 56.93, 120.86 49.1, 130.98 38.33 M113 65.11 C117.19 61.49, 121.32 53.56, 130.72 44.73 M113 65.11 C116.52 61.64, 120.12 56.31, 130.72 44.73 M118.65 64.71 C124.29 61.13, 128.51 55.65, 130.46 51.13 M118.65 64.71 C121.66 61.13, 124.71 58.37, 130.46 51.13 M123.63 65.07 C125.7 63.11, 128.18 60.02, 130.85 56.77 M123.63 65.07 C126 62.64, 127.45 59.95, 130.85 56.77" stroke="#fa5252" stroke-width="0.5" fill="none"></path><path d="M0 0 C36.87 -0.54, 72.25 2.96, 128.51 0 M0 0 C35.09 0.42, 69.07 1.85, 128.51 0 M128.51 0 C129.28 19.07, 128.84 41.67, 128.51 63 M128.51 0 C128.41 19.85, 129.4 38.3, 128.51 63 M128.51 63 C89.77 63.81, 54.2 63.19, 0 63 M128.51 63 C81.53 61.53, 35.38 62.03, 0 63 M0 63 C0.95 46.76, 1.36 31.7, 0 0 M0 63 C-0.39 39.86, -0.21 16.76, 0 0" stroke="#000000" stroke-width="1" fill="none"></path></g><g stroke-linecap="round" transform="translate(12.197578385620886 171.7170882533551) rotate(22.306205054907743 43.63445286437906 23.146192996644857)"><path d="M45.4 1.39 L85.66 25.79 L45.68 46.03 L1.26 25.53" stroke="none" stroke-width="0" fill="#15aabf" fill-rule="evenodd"></path><path d="M44 0 C55.7 7.31, 69.83 12.85, 87.27 24 M44 0 C53.81 4.64, 61.63 9.51, 87.27 24 M87.27 24 C74.53 29.6, 60.79 37.61, 44 46.29 M87.27 24 C72.31 30.65, 57.94 38.24, 44 46.29 M44 46.29 C31.44 42.6, 21.63 36.09, 0 24 M44 46.29 C28.51 37.19, 12.08 29.23, 0 24 M0 24 C19.37 16.53, 35.11 4.96, 44 0 M0 24 C15.11 15.58, 31.24 6.92, 44 0" stroke="#000000" stroke-width="1" fill="none"></path></g><g stroke-linecap="round" transform="translate(81.07992489500919 290.2194573450281) rotate(343.6518284526488 61.75210635499067 17.643823904971896)"><path d="M0 0 C0 0, 0 0, 0 0 M0 0 C0 0, 0 0, 0 0 M-0.26 6.4 C0.85 4.48, 1.63 3.91, 4.99 0.36 M-0.26 6.4 C1.18 5.07, 2.35 4.09, 4.99 0.36 M0.13 12.04 C1.04 10.2, 4.17 4.78, 10.63 -0.03 M0.13 12.04 C4.55 7.34, 8.63 3.7, 10.63 -0.03 M-0.13 18.44 C1.98 13.01, 7.7 9.61, 15.62 0.33 M-0.13 18.44 C5.17 11.95, 9.71 7.64, 15.62 0.33 M0.27 24.08 C9.1 13.39, 15.23 4.19, 21.26 -0.07 M0.27 24.08 C7.93 17.12, 14.61 8.73, 21.26 -0.07 M0 30.48 C4.23 23.03, 11.84 19.54, 26.25 0.29 M0 30.48 C7.56 20.61, 15.2 11.26, 26.25 0.29 M0.4 36.12 C6.1 29.89, 15.78 19.99, 31.89 -0.1 M0.4 36.12 C8.55 25.88, 17.27 16.61, 31.89 -0.1 M6.04 35.73 C14.59 25.06, 23.28 14.25, 36.88 0.26 M6.04 35.73 C13.06 27.76, 20.3 17.85, 36.88 0.26 M11.03 36.09 C17.29 30.1, 23.68 20.37, 42.52 -0.14 M11.03 36.09 C22.85 23.99, 34.05 10.75, 42.52 -0.14 M16.67 35.69 C24.53 26.41, 32.46 18.94, 47.51 0.22 M16.67 35.69 C25.38 25.83, 34.7 14.88, 47.51 0.22 M21.66 36.05 C31.84 25.38, 38.66 13.84, 53.15 -0.17 M21.66 36.05 C35.16 22.07, 47.61 7.65, 53.15 -0.17 M27.3 35.66 C39.43 20.93, 50.8 8.04, 58.14 0.19 M27.3 35.66 C39.69 22.42, 51.89 7.88, 58.14 0.19 M32.29 36.02 C39.26 26.09, 48.92 16.99, 63.78 -0.21 M32.29 36.02 C43.2 22.14, 56.47 8.66, 63.78 -0.21 M37.93 35.62 C44.06 26.43, 53.75 18.79, 68.77 0.15 M37.93 35.62 C49.14 22.25, 59.59 9.72, 68.77 0.15 M42.92 35.98 C52.85 27.97, 59.12 17.82, 74.41 -0.24 M42.92 35.98 C48.44 29.18, 56.52 20.8, 74.41 -0.24 M48.56 35.59 C59.07 19.9, 73.85 9.41, 79.4 0.12 M48.56 35.59 C59.48 22.56, 70.14 10.31, 79.4 0.12 M53.55 35.95 C66.7 23.87, 77.02 10.73, 85.04 -0.28 M53.55 35.95 C63.17 24.63, 71.03 14.53, 85.04 -0.28 M59.19 35.56 C70.64 23.46, 82.44 7.19, 90.03 0.08 M59.19 35.56 C69.17 25.24, 78.14 13.94, 90.03 0.08 M64.18 35.92 C71.28 26.89, 78.32 17.39, 95.67 -0.31 M64.18 35.92 C76.35 22.51, 88.69 7.34, 95.67 -0.31 M69.82 35.52 C80.96 21.19, 91.71 9.44, 100.66 0.05 M69.82 35.52 C79.79 22.28, 91.3 9.47, 100.66 0.05 M74.81 35.88 C81.14 29.07, 87.94 21.93, 106.3 -0.34 M74.81 35.88 C86.64 21.88, 99.79 7.25, 106.3 -0.34 M80.45 35.49 C93.98 22.87, 103.74 7.6, 111.29 0.02 M80.45 35.49 C90.15 25.06, 97.93 14.02, 111.29 0.02 M85.44 35.85 C92.98 26.16, 98.67 20.21, 116.27 0.38 M85.44 35.85 C93.67 26.88, 101.38 16.99, 116.27 0.38 M90.43 36.21 C101.29 24.49, 112.64 11.47, 121.92 -0.02 M90.43 36.21 C101.32 22.62, 115.02 9.46, 121.92 -0.02 M96.07 35.81 C108.78 24.6, 118.21 8.73, 124.28 3.36 M96.07 35.81 C106.73 23.37, 115.97 13.81, 124.28 3.36 M101.06 36.17 C108.51 30.04, 113.67 19.86, 124.02 9.76 M101.06 36.17 C109.69 26.33, 118.41 17.23, 124.02 9.76 M106.7 35.78 C114.42 29.32, 118.76 19.69, 124.41 15.4 M106.7 35.78 C111.85 29.57, 116.98 24.34, 124.41 15.4 M111.69 36.14 C116.2 31.31, 117.52 29.64, 124.15 21.8 M111.69 36.14 C116.05 30.39, 122.14 25.32, 124.15 21.8 M117.33 35.74 C118.28 32.96, 119.91 32.32, 123.89 28.2 M117.33 35.74 C119.43 33.16, 120.63 31.5, 123.89 28.2 M122.32 36.1 C123.2 35.5, 123.88 34.78, 124.29 33.84 M122.32 36.1 C122.85 35.61, 123.47 34.8, 124.29 33.84" stroke="#fab005" stroke-width="0.5" fill="none"></path><path d="M0 0 C27.31 1.83, 57.09 2.19, 123.5 0 M0 0 C34.45 -1.11, 70.38 -0.72, 123.5 0 M123.5 0 C121.79 12.69, 121.33 27.01, 123.5 35.29 M123.5 0 C122.49 9.83, 123.71 18.04, 123.5 35.29 M123.5 35.29 C91 36.09, 62.49 36.6, 0 35.29 M123.5 35.29 C84.63 35.04, 47.39 35.19, 0 35.29 M0 35.29 C1.54 24.74, -1.3 13.54, 0 0 M0 35.29 C0.57 29, 0.66 21.54, 0 0" stroke="#000000" stroke-width="1" fill="none"></path></g><g stroke-linecap="round"><g transform="translate(119.33203125 173.86328125) rotate(18.703314074174894 35.5 40)"><path d="M0 0 C2.02 4.76, 2.5 11.5, 2 16 M2 16 C5.67 22.84, 8.83 29.62, 12 40 M12 40 C14.66 43.05, 16.71 46.72, 20 51 M20 51 C25.08 57.52, 30.48 60.84, 36 64 M36 64 C47.77 70.98, 60.77 74.53, 71 80" stroke="#a61e4d" stroke-width="1.5" fill="none" stroke-dasharray="1.5 7"></path></g></g><mask></mask><g stroke-linecap="round"><g transform="translate(14.33203125 278.86328125) rotate(0 40.5 -14.5)"><path d="M0 0 C1.09 -9.51, 4.87 -18.38, 6 -22 M0 0 C2.1 -4.96, 3.08 -11.5, 6 -22 M6 -22 C7.55 -24.85, 10.12 -25.72, 12 -29 M6 -22 C7.48 -24.26, 9.1 -25.64, 12 -29 M12 -29 C14.15 -29.66, 16.16 -30.19, 21 -30 M12 -29 C15.69 -29.13, 18.48 -29.65, 21 -30 M21 -30 C21.8 -29.87, 22.64 -29.48, 24 -29 M21 -30 C21.64 -29.63, 22.58 -29.35, 24 -29 M24 -29 C26.43 -25.55, 27.88 -24.29, 33 -17 M24 -29 C26.93 -25.15, 29.97 -21.68, 33 -17 M33 -17 C32.06 -13.17, 34.63 -8.8, 36 1 M33 -17 C33.36 -11.33, 35.79 -5.11, 36 1 M36 1 C36.33 1.26, 36.54 1.49, 37 2 M36 1 C36.18 1.19, 36.44 1.45, 37 2 M37 2 C40.85 -8.51, 40.92 -19.5, 45 -29 M37 2 C38.8 -4.46, 39.72 -12.3, 45 -29 M45 -29 C46.21 -28.81, 46.99 -29.17, 48 -29 M45 -29 C46.08 -28.88, 46.86 -29.12, 48 -29 M48 -29 C49.36 -30.1, 51.52 -30.91, 53 -31 M48 -29 C49.01 -29.61, 50.73 -30.08, 53 -31 M53 -31 C54.68 -30.91, 56.96 -30.59, 58 -31 M53 -31 C54.49 -31.14, 55.88 -31.05, 58 -31 M58 -31 C61.56 -29.05, 67.56 -26.92, 72 -23 M58 -31 C62.42 -27.44, 67.66 -25.09, 72 -23 M72 -23 C73.7 -18.85, 76.24 -15.06, 81 -8 M72 -23 C75.14 -18.21, 77.78 -14.12, 81 -8 M81 -8 C80.71 -6.93, 80.92 -5.47, 81 -4 M81 -8 C80.93 -7, 81.2 -6.03, 81 -4" stroke="#087f5b" stroke-width="1" fill="none"></path></g></g><mask></mask><g stroke-linecap="round" transform="translate(180.6651222764575 370.52608077417335) rotate(6.766174822553141 45.166908973542434 43.83720047582656)"><path d="M0 0 C0 0, 0 0, 0 0 M0 0 C0 0, 0 0, 0 0 M-0.26 6.4 C1.35 4.55, 3.95 1.79, 4.99 0.36 M-0.26 6.4 C0.58 5.25, 2.31 3.66, 4.99 0.36 M0.13 12.04 C3.15 8.08, 6.59 5.25, 10.63 -0.03 M0.13 12.04 C3.37 8.63, 6.25 5.59, 10.63 -0.03 M-0.13 18.44 C6.44 12.13, 11.2 5.11, 15.62 0.33 M-0.13 18.44 C3.55 13.66, 7.7 9.75, 15.62 0.33 M0.27 24.08 C6.86 16.66, 9.74 10.52, 21.26 -0.07 M0.27 24.08 C9.47 14.12, 16.26 6.1, 21.26 -0.07 M0 30.48 C5.07 21.12, 14.75 15.68, 26.25 0.29 M0 30.48 C7.06 24.36, 12.09 15.31, 26.25 0.29 M-0.26 36.88 C10.22 25.18, 17.19 15.77, 31.89 -0.1 M-0.26 36.88 C12.29 22.96, 24.79 8.04, 31.89 -0.1 M0.14 42.52 C15.49 26.26, 27.01 10.39, 36.88 0.26 M0.14 42.52 C9.25 31.36, 20.28 19.27, 36.88 0.26 M-0.12 48.92 C12.13 34.71, 26.81 20.93, 42.52 -0.14 M-0.12 48.92 C15.14 30.76, 29.83 15.76, 42.52 -0.14 M0.27 54.56 C16.05 38.09, 28.29 21.19, 47.51 0.22 M0.27 54.56 C14.91 37.11, 31.94 18.35, 47.51 0.22 M0.01 60.96 C15.75 42.84, 28.21 27.11, 53.15 -0.17 M0.01 60.96 C12.78 45.6, 24.33 32.78, 53.15 -0.17 M-0.25 67.36 C16.06 46.43, 36.84 25.19, 58.14 0.19 M-0.25 67.36 C11.93 53.42, 24.98 39.25, 58.14 0.19 M0.14 73 C17.99 52.1, 38.31 33.61, 63.78 -0.21 M0.14 73 C20.21 48.66, 41.57 25.04, 63.78 -0.21 M-0.12 79.4 C18.9 57.85, 37.54 37.67, 68.77 0.15 M-0.12 79.4 C18.65 57.47, 40.02 35.05, 68.77 0.15 M0.28 85.04 C13.68 65.94, 28.47 50.18, 74.41 -0.24 M0.28 85.04 C27.3 52.24, 53.99 21.31, 74.41 -0.24 M3.29 87.66 C33.17 54.87, 58.59 25.37, 79.4 0.12 M3.29 87.66 C30.69 57.34, 55.31 28.38, 79.4 0.12 M8.28 88.03 C29.18 65.46, 46.23 44.15, 85.04 -0.28 M8.28 88.03 C23.57 70.39, 40.41 52.05, 85.04 -0.28 M13.92 87.63 C28.06 69.92, 46.75 48.96, 90.03 0.08 M13.92 87.63 C37.86 58.37, 63.56 29.66, 90.03 0.08 M18.91 87.99 C31.89 73.01, 48.77 55.95, 91.08 4.97 M18.91 87.99 C45.5 57.2, 72.63 25.16, 91.08 4.97 M23.9 88.35 C45.41 62.87, 64.18 40.11, 90.82 11.37 M23.9 88.35 C38.11 71.86, 52.46 54.23, 90.82 11.37 M29.54 87.96 C41.41 73.36, 54.03 59.82, 91.21 17.01 M29.54 87.96 C49.94 65.58, 68.57 44.13, 91.21 17.01 M34.53 88.32 C47.82 74.87, 57.78 61.66, 90.95 23.41 M34.53 88.32 C54.75 66.31, 74.91 42.4, 90.95 23.41 M40.17 87.92 C60.08 68.99, 74.49 44.92, 90.69 29.81 M40.17 87.92 C55.7 70.64, 70.43 52.16, 90.69 29.81 M45.16 88.28 C59.49 73.97, 73.51 57.58, 91.08 35.45 M45.16 88.28 C56.67 74.58, 68.42 59.94, 91.08 35.45 M50.8 87.89 C61.79 74.15, 77.32 60.41, 90.82 41.85 M50.8 87.89 C65.74 69.65, 83.07 52.15, 90.82 41.85 M55.79 88.25 C65.87 76.95, 73.09 68.6, 91.22 47.49 M55.79 88.25 C66.08 77.01, 75.82 65.04, 91.22 47.49 M61.43 87.85 C69.88 78.52, 79.58 65.91, 90.95 53.89 M61.43 87.85 C69.74 78.65, 77.03 70.29, 90.95 53.89 M66.42 88.21 C75.08 76.33, 85.2 66.36, 90.69 60.29 M66.42 88.21 C74.3 77.87, 81.87 68.62, 90.69 60.29 M72.06 87.82 C79.42 82.23, 82.41 77.16, 91.09 65.93 M72.06 87.82 C78.35 80.92, 82.86 75.05, 91.09 65.93 M77.05 88.18 C79.76 82.9, 85.6 77.7, 90.83 72.33 M77.05 88.18 C82.31 83.06, 85.98 77.65, 90.83 72.33 M82.69 87.78 C83.47 84.31, 86.78 82.12, 91.22 77.97 M82.69 87.78 C86.29 84.56, 89.53 80.61, 91.22 77.97 M87.68 88.14 C88.97 87.04, 89.76 85.24, 90.96 84.37 M87.68 88.14 C88.77 87.06, 89.88 85.46, 90.96 84.37" stroke="#be4bdb" stroke-width="0.5" fill="none"></path><path d="M0 0 C25.38 -0.25, 47.63 0.14, 90.33 0 M0 0 C24.12 -0.48, 48.39 0.32, 90.33 0 M90.33 0 C87.9 26.43, 90.14 53.55, 90.33 87.67 M90.33 0 C89.92 24.92, 89.98 50.96, 90.33 87.67 M90.33 87.67 C54.34 87.32, 21.69 88.26, 0 87.67 M90.33 87.67 C58.59 87.79, 26.11 88, 0 87.67 M0 87.67 C-1.84 65.22, 0.79 45.33, 0 0 M0 87.67 C0.43 54.06, 0.34 22.28, 0 0" stroke="#000000" stroke-width="1" fill="none"></path></g><g stroke-linecap="round" transform="translate(343.74941940890335 391.47699570798545) rotate(294.35798968436285 40.44600077335093 38.710008889453064)"><path d="M41.86 -1.48 L79.38 37.29 L41 78.79 L0.76 40.85" stroke="none" stroke-width="0" fill="#4c6ef5" fill-rule="evenodd"></path><path d="M41 0 C55.5 14.81, 69.64 30.33, 80.89 39 M41 0 C55.22 15.26, 69.99 28.47, 80.89 39 M80.89 39 C70.85 48.53, 55.8 62.12, 41 77.42 M80.89 39 C67.37 53.86, 51.62 66.41, 41 77.42 M41 77.42 C33.07 70.64, 23.26 60.49, 0 39 M41 77.42 C28.2 64.92, 14.66 53.07, 0 39 M0 39 C16.79 24.95, 30.4 10.59, 41 0 M0 39 C11.55 29.81, 20.12 19.11, 41 0" stroke="#000000" stroke-width="1" fill="none"></path></g><g transform="translate(26.120999190741593 383.1025834958574) rotate(338.5870305251282 53.17499923706055 0)"><text x="0" y="16.900390625" font-family="Helvetica, Segoe UI Emoji" font-size="20px" fill="#d9480f" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">Rotated text</text></g><g stroke-linecap="round"><g transform="translate(510.4896863664967 335.5589975878038) rotate(0 -39.32882755824832 37.652141831098135)"><path d="M0.44 -0.4 C-12.48 11.96, -64.48 62.6, -77.47 75.27 M-0.78 -1.65 C-13.77 11.42, -64.98 63.67, -77.8 76.79" stroke="#000000" stroke-width="1" fill="none"></path></g><g transform="translate(510.4896863664967 335.5589975878038) rotate(0 -39.32882755824832 37.652141831098135)"><path d="M-67.47 54.02 C-71.1 63.04, -73.67 69.94, -77.8 76.79 M-67.47 54.02 C-70.93 61.66, -74.21 68.12, -77.8 76.79" stroke="#000000" stroke-width="1" fill="none"></path></g><g transform="translate(510.4896863664967 335.5589975878038) rotate(0 -39.32882755824832 37.652141831098135)"><path d="M-55.25 65.98 C-62.75 71.37, -69.07 74.6, -77.8 76.79 M-55.25 65.98 C-62.77 69.7, -70.02 72.28, -77.8 76.79" stroke="#000000" stroke-width="1" fill="none"></path></g></g><mask></mask><g transform="translate(499.83203125 388.86328125) rotate(0 64.44166564941406 0)"><text x="0" y="18.93359375" font-family="Cascadia, Segoe UI Emoji" font-size="20px" fill="#000000" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">&gt; some code</text></g><g transform="translate(24.658990205223915 27.87138935810811) rotate(0 82.66666412353516 0)"><text x="0" y="34.58354039649371" font-family="Virgil, Segoe UI Emoji" font-size="39.25486991656494px" fill="#c92a2a" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">Big text</text></g><g stroke-linecap="round" transform="translate(473.83203125 115.36328125) rotate(343.0507757661785 66.5 29)"><path d="M3.07 19.89 C3.07 19.89, 3.07 19.89, 3.07 19.89 M3.07 19.89 C3.07 19.89, 3.07 19.89, 3.07 19.89 M2.81 26.29 C9.1 21.06, 13.36 15.64, 15.93 11.2 M2.81 26.29 C5.08 23.33, 9.79 18.46, 15.93 11.2 M2.55 32.69 C10.52 21.98, 18.24 12.52, 24.85 7.03 M2.55 32.69 C9.57 24.21, 16.38 17.18, 24.85 7.03 M3.6 37.58 C9.93 30.81, 18.38 18.92, 31.15 5.88 M3.6 37.58 C10.98 29.43, 17.34 21.25, 31.15 5.88 M6.62 40.2 C16.88 27.81, 26.48 18.31, 38.11 3.98 M6.62 40.2 C15.33 30.44, 25.47 19.16, 38.11 3.98 M9.64 42.83 C21.31 27.85, 35.07 12.76, 44.41 2.83 M9.64 42.83 C21.18 31.27, 30.67 17.97, 44.41 2.83 M12.65 45.45 C29.62 28.76, 42.54 11.81, 51.36 0.92 M12.65 45.45 C21.93 34.61, 31.01 24.62, 51.36 0.92 M15.67 48.07 C30.49 31.91, 42.13 14.01, 56.35 1.28 M15.67 48.07 C28.58 33.3, 40.9 19.24, 56.35 1.28 M18.69 50.7 C29.05 35.8, 44.04 24.02, 61.34 1.64 M18.69 50.7 C30.55 37.88, 42.97 23.38, 61.34 1.64 M23.02 51.81 C32.25 37.39, 46 25.05, 66.98 1.25 M23.02 51.81 C36.44 36.89, 50.51 21.57, 66.98 1.25 M27.35 52.93 C43.41 37.77, 56.88 19.46, 71.97 1.61 M27.35 52.93 C42.8 35.89, 57.22 19.41, 71.97 1.61 M31.68 54.04 C44.06 42.19, 55.87 26.13, 76.95 1.97 M31.68 54.04 C46.77 36.02, 62.33 17.79, 76.95 1.97 M36.02 55.16 C51.57 35.48, 70.27 17.18, 81.94 2.33 M36.02 55.16 C50.24 39.39, 62.43 23.24, 81.94 2.33 M40.35 56.27 C58.58 35.26, 76.96 17.16, 86.93 2.69 M40.35 56.27 C49.88 44.38, 58.44 33.62, 86.93 2.69 M44.68 57.39 C55.14 44.7, 68.07 31.01, 91.91 3.05 M44.68 57.39 C56.29 44.47, 68 30.77, 91.91 3.05 M49.01 58.5 C65.34 40.62, 81.38 20.87, 96.25 4.16 M49.01 58.5 C62.75 40.61, 78.96 23.77, 96.25 4.16 M54.65 58.11 C72.36 39.06, 89.92 18.26, 100.58 5.28 M54.65 58.11 C67.62 44.73, 78 32.1, 100.58 5.28 M60.29 57.71 C72.95 42.58, 82.96 31.11, 104.91 6.39 M60.29 57.71 C69.62 47.22, 79.13 35.51, 104.91 6.39 M65.28 58.07 C82.29 42.2, 93.98 25.44, 109.89 6.75 M65.28 58.07 C80.17 40.37, 94.92 24.87, 109.89 6.75 M70.93 57.68 C80.68 46.93, 93.15 32.15, 114.22 7.87 M70.93 57.68 C82.1 43.63, 94.96 29.12, 114.22 7.87 M76.57 57.28 C85.62 47.46, 98.78 34.9, 117.24 10.49 M76.57 57.28 C88.79 44.27, 99.82 29.36, 117.24 10.49 M82.21 56.89 C96.05 42.09, 108.55 26.71, 120.26 13.12 M82.21 56.89 C97.01 38.92, 111.42 23.01, 120.26 13.12 M88.51 55.74 C97.28 42.94, 110.03 30.34, 123.28 15.74 M88.51 55.74 C99.17 43.27, 111.17 28.66, 123.28 15.74 M94.81 54.59 C102.69 46.64, 110.17 37.5, 126.3 18.37 M94.81 54.59 C104.71 43.68, 113.48 32.66, 126.3 18.37 M101.11 53.44 C111.43 40.68, 121.05 33.1, 129.32 20.99 M101.11 53.44 C106.46 46.51, 114.09 39.34, 129.32 20.99 M107.41 52.29 C112.4 47.41, 117.19 37.2, 131.03 25.12 M107.41 52.29 C112.11 45.55, 117.83 40.72, 131.03 25.12 M113.71 51.14 C119.15 46.12, 124.02 39.38, 130.76 31.52 M113.71 51.14 C118.66 46.53, 122.53 40.8, 130.76 31.52 M17.65 49.82 C17.65 49.82, 17.65 49.82, 17.65 49.82 M17.65 49.82 C17.65 49.82, 17.65 49.82, 17.65 49.82 M26.31 52.05 C16.9 46.07, 6.74 35.73, 2.91 31.71 M26.31 52.05 C19.82 45.58, 12.82 40.85, 2.91 31.71 M34.97 54.28 C23.38 43.68, 16.65 36.69, 3.27 26.72 M34.97 54.28 C28.47 47.45, 20.18 41.66, 3.27 26.72 M44.39 57.16 C31.01 43.48, 12.84 30.04, 3.63 21.73 M44.39 57.16 C34.21 47.36, 24.01 39.31, 3.63 21.73 M50.78 57.42 C34.02 44.01, 17.61 27.48, 5.5 18.06 M50.78 57.42 C39.53 46.32, 27.15 36.92, 5.5 18.06 M56.43 57.03 C37.88 42.97, 22.68 26.74, 8.88 15.7 M56.43 57.03 C38.39 42.55, 22.58 27.46, 8.88 15.7 M62.07 56.63 C52.27 47.62, 43.57 37.6, 12.26 13.33 M62.07 56.63 C49.18 46.49, 36.68 34.21, 12.26 13.33 M68.47 56.9 C51.19 43.43, 33.42 28.73, 15.64 10.97 M68.47 56.9 C53.09 42.69, 37.71 30.16, 15.64 10.97 M74.11 56.5 C60.63 46.48, 45.67 33.29, 19.02 8.61 M74.11 56.5 C53.37 38.87, 32.92 21.34, 19.02 8.61 M79.75 56.11 C65.24 43.32, 53.06 32.62, 23.15 6.9 M79.75 56.11 C66.64 42.39, 52.4 32.06, 23.15 6.9 M85.4 55.71 C68.11 40.01, 48.11 22.53, 28.04 5.85 M85.4 55.71 C64.14 38.8, 42.83 19.93, 28.04 5.85 M91.04 55.32 C79.21 44.63, 63.5 32.28, 32.93 4.8 M91.04 55.32 C74.99 41.36, 58.84 27.79, 32.93 4.8 M95.93 54.27 C82.16 40.01, 66.36 30.15, 37.82 3.75 M95.93 54.27 C75.93 35.68, 53.72 18.39, 37.82 3.75 M100.82 53.22 C87.08 40.4, 73.84 28.16, 42.7 2.7 M100.82 53.22 C84.42 37.62, 67.76 23.66, 42.7 2.7 M105.71 52.17 C94.58 42.85, 80.48 28.61, 47.59 1.65 M105.71 52.17 C92.52 40.27, 79.77 30.33, 47.59 1.65 M110.59 51.11 C90.8 34.48, 66.56 13.54, 51.73 -0.06 M110.59 51.11 C91.27 35.22, 72.63 19.21, 51.73 -0.06 M114.73 49.41 C93.82 29.67, 70.81 10.59, 58.12 0.2 M114.73 49.41 C101.29 39.48, 90.5 28.06, 58.12 0.2 M118.11 47.04 C102.56 33.87, 89.78 21.41, 64.52 0.46 M118.11 47.04 C107.23 37.66, 94.97 26.84, 64.52 0.46 M121.48 44.68 C107.2 31.35, 90.82 20, 70.92 0.73 M121.48 44.68 C101.22 26.31, 81.19 10.15, 70.92 0.73 M124.11 41.66 C115.98 33.52, 106.95 26.9, 77.32 0.99 M124.11 41.66 C109.45 28.49, 93.77 16.84, 77.32 0.99 M127.49 39.3 C114.32 29.24, 105.44 20.55, 83.71 1.25 M127.49 39.3 C113.08 24.95, 97.85 12.71, 83.71 1.25 M130.87 36.94 C121.79 30.44, 111.33 22.39, 90.87 2.17 M130.87 36.94 C119.81 28.25, 110.94 19.51, 90.87 2.17 M131.23 31.95 C119.96 20.55, 105.89 10.38, 99.53 4.4 M131.23 31.95 C123.82 23.85, 115.75 17.08, 99.53 4.4 M131.59 26.96 C124.03 21.88, 117.18 15.03, 107.44 5.97 M131.59 26.96 C124.83 19.73, 116.62 12.9, 107.44 5.97" stroke="#7950f2" stroke-width="0.5" fill="none"></path><path d="M84.7 1.81 C95.31 2.54, 107.41 4.57, 115.2 8.11 C122.98 11.65, 128.88 18.17, 131.39 23.05 C133.89 27.92, 133.22 32.75, 130.23 37.35 C127.23 41.95, 121.46 47.37, 113.4 50.62 C105.34 53.87, 92.91 55.65, 81.86 56.84 C70.81 58.02, 57.82 58.91, 47.09 57.72 C36.36 56.52, 24.92 53.26, 17.49 49.68 C10.06 46.11, 4.91 41.21, 2.5 36.26 C0.09 31.3, -0.03 24.71, 3.01 19.96 C6.06 15.22, 12.78 11.02, 20.78 7.79 C28.77 4.56, 39.18 1.59, 51 0.57 C62.81 -0.44, 83.62 1.03, 91.69 1.68 C99.76 2.34, 99.77 4.07, 99.43 4.52 M89.81 2.5 C99.86 3.44, 111.07 5.45, 118.15 9.34 C125.23 13.24, 130.44 20.94, 132.29 25.88 C134.14 30.83, 133.26 34.52, 129.28 39 C125.3 43.49, 117.01 49.72, 108.41 52.78 C99.81 55.84, 88.42 57.04, 77.66 57.36 C66.9 57.69, 54.45 56.3, 43.85 54.73 C33.25 53.16, 21.39 51.58, 14.06 47.94 C6.73 44.3, 1.55 37.62, -0.14 32.88 C-1.84 28.14, -0.4 23.7, 3.89 19.48 C8.19 15.26, 16.9 10.53, 25.61 7.55 C34.31 4.56, 45.49 2.55, 56.1 1.57 C66.71 0.6, 83.56 1.65, 89.26 1.68 C94.97 1.71, 90.64 1.05, 90.34 1.77" stroke="#000000" stroke-width="1" fill="none"></path></g></svg>


blobId: oITmFD4bPyYVXtzIpIzm
dateModified: 2025-11-03 16:29:21.588+0000
utcDateModified: 2025-11-03 16:29:21.588Z
content:
  <svg aria-roledescription="flowchart-v2" role="graphics-document document" viewBox="0 0 299.76666259765625 489.41668701171875" style="max-width: 299.76666259765625px;" class="flowchart" xmlns="http://www.w3.org/2000/svg" width="100%" id="mermaid-graph-13"><style>#mermaid-graph-13{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#ccc;}#mermaid-graph-13 .error-icon{fill:#a44141;}#mermaid-graph-13 .error-text{fill:#ddd;stroke:#ddd;}#mermaid-graph-13 .edge-thickness-normal{stroke-width:1px;}#mermaid-graph-13 .edge-thickness-thick{stroke-width:3.5px;}#mermaid-graph-13 .edge-pattern-solid{stroke-dasharray:0;}#mermaid-graph-13 .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-graph-13 .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-graph-13 .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-graph-13 .marker{fill:lightgrey;stroke:lightgrey;}#mermaid-graph-13 .marker.cross{stroke:lightgrey;}#mermaid-graph-13 svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-graph-13 p{margin:0;}#mermaid-graph-13 .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#ccc;}#mermaid-graph-13 .cluster-label text{fill:#F9FFFE;}#mermaid-graph-13 .cluster-label span{color:#F9FFFE;}#mermaid-graph-13 .cluster-label span p{background-color:transparent;}#mermaid-graph-13 .label text,#mermaid-graph-13 span{fill:#ccc;color:#ccc;}#mermaid-graph-13 .node rect,#mermaid-graph-13 .node circle,#mermaid-graph-13 .node ellipse,#mermaid-graph-13 .node polygon,#mermaid-graph-13 .node path{fill:#1f2020;stroke:#ccc;stroke-width:1px;}#mermaid-graph-13 .rough-node .label text,#mermaid-graph-13 .node .label text,#mermaid-graph-13 .image-shape .label,#mermaid-graph-13 .icon-shape .label{text-anchor:middle;}#mermaid-graph-13 .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-graph-13 .rough-node .label,#mermaid-graph-13 .node .label,#mermaid-graph-13 .image-shape .label,#mermaid-graph-13 .icon-shape .label{text-align:center;}#mermaid-graph-13 .node.clickable{cursor:pointer;}#mermaid-graph-13 .root .anchor path{fill:lightgrey!important;stroke-width:0;stroke:lightgrey;}#mermaid-graph-13 .arrowheadPath{fill:lightgrey;}#mermaid-graph-13 .edgePath .path{stroke:lightgrey;stroke-width:2.0px;}#mermaid-graph-13 .flowchart-link{stroke:lightgrey;fill:none;}#mermaid-graph-13 .edgeLabel{background-color:hsl(0, 0%, 34.4117647059%);text-align:center;}#mermaid-graph-13 .edgeLabel p{background-color:hsl(0, 0%, 34.4117647059%);}#mermaid-graph-13 .edgeLabel rect{opacity:0.5;background-color:hsl(0, 0%, 34.4117647059%);fill:hsl(0, 0%, 34.4117647059%);}#mermaid-graph-13 .labelBkg{background-color:rgba(87.75, 87.75, 87.75, 0.5);}#mermaid-graph-13 .cluster rect{fill:hsl(180, 1.5873015873%, 28.3529411765%);stroke:rgba(255, 255, 255, 0.25);stroke-width:1px;}#mermaid-graph-13 .cluster text{fill:#F9FFFE;}#mermaid-graph-13 .cluster span{color:#F9FFFE;}#mermaid-graph-13 div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(20, 1.5873015873%, 12.3529411765%);border:1px solid rgba(255, 255, 255, 0.25);border-radius:2px;pointer-events:none;z-index:100;}#mermaid-graph-13 .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#ccc;}#mermaid-graph-13 rect.text{fill:none;stroke-width:0;}#mermaid-graph-13 .icon-shape,#mermaid-graph-13 .image-shape{background-color:hsl(0, 0%, 34.4117647059%);text-align:center;}#mermaid-graph-13 .icon-shape p,#mermaid-graph-13 .image-shape p{background-color:hsl(0, 0%, 34.4117647059%);padding:2px;}#mermaid-graph-13 .icon-shape rect,#mermaid-graph-13 .image-shape rect{opacity:0.5;background-color:hsl(0, 0%, 34.4117647059%);fill:hsl(0, 0%, 34.4117647059%);}#mermaid-graph-13 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}</style><g><marker orient="auto" markerHeight="8" markerWidth="8" markerUnits="userSpaceOnUse" refY="5" refX="5" viewBox="0 0 10 10" class="marker flowchart-v2" id="mermaid-graph-13_flowchart-v2-pointEnd"><path style="stroke-width: 1px; stroke-dasharray: 1px, 0px;" class="arrowMarkerPath" d="M 0 0 L 10 5 L 0 10 z"></path></marker><marker orient="auto" markerHeight="8" markerWidth="8" markerUnits="userSpaceOnUse" refY="5" refX="4.5" viewBox="0 0 10 10" class="marker flowchart-v2" id="mermaid-graph-13_flowchart-v2-pointStart"><path style="stroke-width: 1px; stroke-dasharray: 1px, 0px;" class="arrowMarkerPath" d="M 0 5 L 10 10 L 10 0 z"></path></marker><marker orient="auto" markerHeight="11" markerWidth="11" markerUnits="userSpaceOnUse" refY="5" refX="11" viewBox="0 0 10 10" class="marker flowchart-v2" id="mermaid-graph-13_flowchart-v2-circleEnd"><circle style="stroke-width: 1px; stroke-dasharray: 1px, 0px;" class="arrowMarkerPath" r="5" cy="5" cx="5"></circle></marker><marker orient="auto" markerHeight="11" markerWidth="11" markerUnits="userSpaceOnUse" refY="5" refX="-1" viewBox="0 0 10 10" class="marker flowchart-v2" id="mermaid-graph-13_flowchart-v2-circleStart"><circle style="stroke-width: 1px; stroke-dasharray: 1px, 0px;" class="arrowMarkerPath" r="5" cy="5" cx="5"></circle></marker><marker orient="auto" markerHeight="11" markerWidth="11" markerUnits="userSpaceOnUse" refY="5.2" refX="12" viewBox="0 0 11 11" class="marker cross flowchart-v2" id="mermaid-graph-13_flowchart-v2-crossEnd"><path style="stroke-width: 2px; stroke-dasharray: 1px, 0px;" class="arrowMarkerPath" d="M 1,1 l 9,9 M 10,1 l -9,9"></path></marker><marker orient="auto" markerHeight="11" markerWidth="11" markerUnits="userSpaceOnUse" refY="5.2" refX="-1" viewBox="0 0 11 11" class="marker cross flowchart-v2" id="mermaid-graph-13_flowchart-v2-crossStart"><path style="stroke-width: 2px; stroke-dasharray: 1px, 0px;" class="arrowMarkerPath" d="M 1,1 l 9,9 M 10,1 l -9,9"></path></marker><g class="root"><g class="clusters"></g><g class="edgePaths"><path marker-end="url(#mermaid-graph-13_flowchart-v2-pointEnd)" style="" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" id="L_A_B_0" d="M149.883,62L149.883,68.167C149.883,74.333,149.883,86.667,149.883,98.333C149.883,110,149.883,121,149.883,126.5L149.883,132"></path><path marker-end="url(#mermaid-graph-13_flowchart-v2-pointEnd)" style="" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" id="L_B_C_1" d="M149.883,190L149.883,194.167C149.883,198.333,149.883,206.667,149.954,214.417C150.024,222.167,150.164,229.334,150.235,232.917L150.305,236.501"></path><path marker-end="url(#mermaid-graph-13_flowchart-v2-pointEnd)" style="" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" id="L_C_D_2" d="M123.672,327.206L114.134,337.741C104.596,348.276,85.519,369.346,75.98,385.382C66.442,401.417,66.442,412.417,66.442,417.917L66.442,423.417"></path><path marker-end="url(#mermaid-graph-13_flowchart-v2-pointEnd)" style="" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" id="L_C_E_3" d="M177.094,327.206L186.466,337.741C195.838,348.276,214.581,369.346,223.953,385.382C233.325,401.417,233.325,412.417,233.325,417.917L233.325,423.417"></path></g><g class="edgeLabels"><g transform="translate(149.88333129882812, 99)" class="edgeLabel"><g transform="translate(-15.199996948242188, -12)" class="label"><foreignObject height="24" width="30.399993896484375"><div class="labelBkg" xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"><p>Text</p></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div class="labelBkg" xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"></span></div></foreignObject></g></g><g transform="translate(66.44166564941406, 390.4166717529297)" class="edgeLabel"><g transform="translate(-14.133331298828125, -12)" class="label"><foreignObject height="24" width="28.26666259765625"><div class="labelBkg" xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"><p>One</p></span></div></foreignObject></g></g><g transform="translate(233.3249969482422, 390.4166717529297)" class="edgeLabel"><g transform="translate(-13.783332824707031, -12)" class="label"><foreignObject height="24" width="27.566665649414062"><div class="labelBkg" xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"><p>Two</p></span></div></foreignObject></g></g></g><g class="nodes"><g transform="translate(149.88333129882812, 35)" id="flowchart-A-248" class="node default"><rect height="54" width="94" y="-27" x="-47" style="" class="basic label-container"></rect><g transform="translate(-17, -12)" style="" class="label"><rect></rect><foreignObject height="24" width="34"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel"><p>Hard</p></span></div></foreignObject></g></g><g transform="translate(149.88333129882812, 163)" id="flowchart-B-249" class="node default"><rect height="54" width="73.66667175292969" y="-27" x="-36.833335876464844" ry="5" rx="5" style="" class="basic label-container"></rect><g transform="translate(-21.833335876464844, -12)" style="" class="label"><rect></rect><foreignObject height="24" width="43.66667175292969"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel"><p>Round</p></span></div></foreignObject></g></g><g transform="translate(149.88333129882812, 296.70833587646484)" id="flowchart-C-251" class="node default"><polygon transform="translate(-56.708335876464844,56.708335876464844)" class="label-container" points="56.708335876464844,0 113.41667175292969,-56.708335876464844 56.708335876464844,-113.41667175292969 0,-56.708335876464844"></polygon><g transform="translate(-29.708335876464844, -12)" style="" class="label"><rect></rect><foreignObject height="24" width="59.41667175292969"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel"><p>Decision</p></span></div></foreignObject></g></g><g transform="translate(66.44166564941406, 454.4166717529297)" id="flowchart-D-253" class="node default"><rect height="54" width="116.88333129882812" y="-27" x="-58.44166564941406" style="" class="basic label-container"></rect><g transform="translate(-28.441665649414062, -12)" style="" class="label"><rect></rect><foreignObject height="24" width="56.883331298828125"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel"><p>Result 1</p></span></div></foreignObject></g></g><g transform="translate(233.3249969482422, 454.4166717529297)" id="flowchart-E-255" class="node default"><rect height="54" width="116.88333129882812" y="-27" x="-58.44166564941406" style="" class="basic label-container"></rect><g transform="translate(-28.441665649414062, -12)" style="" class="label"><rect></rect><foreignObject height="24" width="56.883331298828125"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel"><p>Result 2</p></span></div></foreignObject></g></g></g></g></g></svg>


blobId: rNSlJerzJeOd0xhzXbR4
dateModified: 2025-11-03 16:29:21.598+0000
utcDateModified: 2025-11-03 16:29:21.598Z
content:
  ---
  config:
    layout: elk
  ---
  flowchart LR
  A-->|"Guarantee"|B
  C-->|"User attributes"|B
  C-->|"Master data"|B
  C-->|"Exchange Rate"|B
  C-->|"Profit Centers"|B
  C-->|"Vendor Partners"|B
  C-->|"Work Situation"|B
  C-->|"Customer"|B
  C-->|"Profit Centers"|B
  B-->|"Guarantee"|C


blobId: wudESeXOwO2fIRzd3A71
dateModified: 2025-11-03 16:29:21.611+0000
utcDateModified: 2025-11-03 16:29:21.611Z
content:
  <svg aria-roledescription="flowchart-v2" role="graphics-document document" viewBox="4 4 530.833251953125 437" style="max-width: 530.833251953125px;" class="flowchart" xmlns="http://www.w3.org/2000/svg" width="100%" id="mermaid-graph-25"><style>#mermaid-graph-25{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#ccc;}#mermaid-graph-25 .error-icon{fill:#a44141;}#mermaid-graph-25 .error-text{fill:#ddd;stroke:#ddd;}#mermaid-graph-25 .edge-thickness-normal{stroke-width:1px;}#mermaid-graph-25 .edge-thickness-thick{stroke-width:3.5px;}#mermaid-graph-25 .edge-pattern-solid{stroke-dasharray:0;}#mermaid-graph-25 .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-graph-25 .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-graph-25 .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-graph-25 .marker{fill:lightgrey;stroke:lightgrey;}#mermaid-graph-25 .marker.cross{stroke:lightgrey;}#mermaid-graph-25 svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-graph-25 p{margin:0;}#mermaid-graph-25 .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#ccc;}#mermaid-graph-25 .cluster-label text{fill:#F9FFFE;}#mermaid-graph-25 .cluster-label span{color:#F9FFFE;}#mermaid-graph-25 .cluster-label span p{background-color:transparent;}#mermaid-graph-25 .label text,#mermaid-graph-25 span{fill:#ccc;color:#ccc;}#mermaid-graph-25 .node rect,#mermaid-graph-25 .node circle,#mermaid-graph-25 .node ellipse,#mermaid-graph-25 .node polygon,#mermaid-graph-25 .node path{fill:#1f2020;stroke:#ccc;stroke-width:1px;}#mermaid-graph-25 .rough-node .label text,#mermaid-graph-25 .node .label text,#mermaid-graph-25 .image-shape .label,#mermaid-graph-25 .icon-shape .label{text-anchor:middle;}#mermaid-graph-25 .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-graph-25 .rough-node .label,#mermaid-graph-25 .node .label,#mermaid-graph-25 .image-shape .label,#mermaid-graph-25 .icon-shape .label{text-align:center;}#mermaid-graph-25 .node.clickable{cursor:pointer;}#mermaid-graph-25 .root .anchor path{fill:lightgrey!important;stroke-width:0;stroke:lightgrey;}#mermaid-graph-25 .arrowheadPath{fill:lightgrey;}#mermaid-graph-25 .edgePath .path{stroke:lightgrey;stroke-width:2.0px;}#mermaid-graph-25 .flowchart-link{stroke:lightgrey;fill:none;}#mermaid-graph-25 .edgeLabel{background-color:hsl(0, 0%, 34.4117647059%);text-align:center;}#mermaid-graph-25 .edgeLabel p{background-color:hsl(0, 0%, 34.4117647059%);}#mermaid-graph-25 .edgeLabel rect{opacity:0.5;background-color:hsl(0, 0%, 34.4117647059%);fill:hsl(0, 0%, 34.4117647059%);}#mermaid-graph-25 .labelBkg{background-color:rgba(87.75, 87.75, 87.75, 0.5);}#mermaid-graph-25 .cluster rect{fill:hsl(180, 1.5873015873%, 28.3529411765%);stroke:rgba(255, 255, 255, 0.25);stroke-width:1px;}#mermaid-graph-25 .cluster text{fill:#F9FFFE;}#mermaid-graph-25 .cluster span{color:#F9FFFE;}#mermaid-graph-25 div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(20, 1.5873015873%, 12.3529411765%);border:1px solid rgba(255, 255, 255, 0.25);border-radius:2px;pointer-events:none;z-index:100;}#mermaid-graph-25 .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#ccc;}#mermaid-graph-25 rect.text{fill:none;stroke-width:0;}#mermaid-graph-25 .icon-shape,#mermaid-graph-25 .image-shape{background-color:hsl(0, 0%, 34.4117647059%);text-align:center;}#mermaid-graph-25 .icon-shape p,#mermaid-graph-25 .image-shape p{background-color:hsl(0, 0%, 34.4117647059%);padding:2px;}#mermaid-graph-25 .icon-shape rect,#mermaid-graph-25 .image-shape rect{opacity:0.5;background-color:hsl(0, 0%, 34.4117647059%);fill:hsl(0, 0%, 34.4117647059%);}#mermaid-graph-25 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}</style><g><marker orient="auto" markerHeight="8" markerWidth="8" markerUnits="userSpaceOnUse" refY="5" refX="5" viewBox="0 0 10 10" class="marker flowchart-v2" id="mermaid-graph-25_flowchart-v2-pointEnd"><path style="stroke-width: 1px; stroke-dasharray: 1px, 0px;" class="arrowMarkerPath" d="M 0 0 L 10 5 L 0 10 z"></path></marker><marker orient="auto" markerHeight="8" markerWidth="8" markerUnits="userSpaceOnUse" refY="5" refX="4.5" viewBox="0 0 10 10" class="marker flowchart-v2" id="mermaid-graph-25_flowchart-v2-pointStart"><path style="stroke-width: 1px; stroke-dasharray: 1px, 0px;" class="arrowMarkerPath" d="M 0 5 L 10 10 L 10 0 z"></path></marker><marker orient="auto" markerHeight="11" markerWidth="11" markerUnits="userSpaceOnUse" refY="5" refX="11" viewBox="0 0 10 10" class="marker flowchart-v2" id="mermaid-graph-25_flowchart-v2-circleEnd"><circle style="stroke-width: 1px; stroke-dasharray: 1px, 0px;" class="arrowMarkerPath" r="5" cy="5" cx="5"></circle></marker><marker orient="auto" markerHeight="11" markerWidth="11" markerUnits="userSpaceOnUse" refY="5" refX="-1" viewBox="0 0 10 10" class="marker flowchart-v2" id="mermaid-graph-25_flowchart-v2-circleStart"><circle style="stroke-width: 1px; stroke-dasharray: 1px, 0px;" class="arrowMarkerPath" r="5" cy="5" cx="5"></circle></marker><marker orient="auto" markerHeight="11" markerWidth="11" markerUnits="userSpaceOnUse" refY="5.2" refX="12" viewBox="0 0 11 11" class="marker cross flowchart-v2" id="mermaid-graph-25_flowchart-v2-crossEnd"><path style="stroke-width: 2px; stroke-dasharray: 1px, 0px;" class="arrowMarkerPath" d="M 1,1 l 9,9 M 10,1 l -9,9"></path></marker><marker orient="auto" markerHeight="11" markerWidth="11" markerUnits="userSpaceOnUse" refY="5.2" refX="-1" viewBox="0 0 11 11" class="marker cross flowchart-v2" id="mermaid-graph-25_flowchart-v2-crossStart"><path style="stroke-width: 2px; stroke-dasharray: 1px, 0px;" class="arrowMarkerPath" d="M 1,1 l 9,9 M 10,1 l -9,9"></path></marker></g><g class="subgraphs"></g><g class="nodes"><g transform="translate(46.849998474121094, 39)" id="flowchart-A-432" class="node default"><rect height="54" width="69.43333435058594" y="-27" x="-34.71666717529297" style="" class="basic label-container"></rect><g transform="translate(-4.716667175292969, -12)" style="" class="label"><rect></rect><foreignObject height="24" width="9.433334350585938"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel"><p>A</p></span></div></foreignObject></g></g><g transform="translate(492.3083267211914, 249.04545454545453)" id="flowchart-B-433" class="node default"><rect height="54" width="69.05000305175781" y="-27" x="-34.525001525878906" style="" class="basic label-container"></rect><g transform="translate(-4.525001525878906, -12)" style="" class="label"><rect></rect><foreignObject height="24" width="9.050003051757812"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel"><p>B</p></span></div></foreignObject></g></g><g transform="translate(46.78333282470703, 399.9)" id="flowchart-C-434" class="node default"><rect height="54" width="69.56666564941406" y="-27" x="-34.78333282470703" style="" class="basic label-container"></rect><g transform="translate(-4.783332824707031, -12)" style="" class="label"><rect></rect><foreignObject height="24" width="9.566665649414062"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel"><p>C</p></span></div></foreignObject></g></g></g><g class="edges edgePaths"><path marker-end="url(#mermaid-graph-25_flowchart-v2-pointEnd)" style="" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" id="L_A_B_0_0" d="M81.567,39L140.519,39C199.472,39,317.378,39,376.802,39.362C436.226,39.724,437.169,40.448,438.002,41.281C438.836,42.114,439.559,43.057,439.921,73.188C440.283,103.318,440.283,162.636,440.645,192.767C441.007,222.897,441.731,223.84,442.564,224.673C443.398,225.507,444.341,226.231,446.229,226.593C448.117,226.955,450.95,226.955,452.367,226.955L453.783,226.955"></path><path marker-end="url(#mermaid-graph-25_flowchart-v2-pointEnd)" style="" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" id="L_C_B_1_0" d="M81.567,383.7L86.567,383.7C91.567,383.7,101.567,383.7,107.038,383.338C112.509,382.976,113.452,382.252,114.286,381.419C115.119,380.586,115.843,379.643,116.205,337.555C116.567,295.467,116.567,212.233,116.929,170.145C117.291,128.057,118.014,127.114,118.848,126.281C119.681,125.448,120.624,124.724,167.548,124.362C214.472,124,307.378,124,354.302,124.362C401.226,124.724,402.169,125.448,403.002,126.281C403.836,127.114,404.559,128.057,404.921,145.657C405.283,163.258,405.283,197.515,405.645,215.115C406.007,232.716,406.731,233.658,407.564,234.492C408.398,235.325,409.341,236.049,417.062,236.411C424.783,236.773,439.283,236.773,446.533,236.773L453.783,236.773"></path><path marker-end="url(#mermaid-graph-25_flowchart-v2-pointEnd)" style="" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" id="L_C_B_2_0" d="M81.567,389.1L89.483,389.1C97.4,389.1,113.233,389.1,121.621,388.738C130.009,388.376,130.952,387.652,131.786,386.819C132.619,385.986,133.343,385.043,133.705,349.138C134.067,313.233,134.067,242.367,134.429,206.462C134.791,170.557,135.514,169.614,136.348,168.781C137.181,167.948,138.124,167.224,179.215,166.862C220.306,166.5,301.544,166.5,342.635,166.862C383.726,167.224,384.669,167.948,385.502,168.781C386.336,169.614,387.059,170.557,387.421,181.892C387.783,193.227,387.783,214.955,388.145,226.29C388.507,237.625,389.231,238.567,390.064,239.401C390.898,240.234,391.841,240.958,402.479,241.32C413.117,241.682,433.45,241.682,443.617,241.682L453.783,241.682"></path><path marker-end="url(#mermaid-graph-25_flowchart-v2-pointEnd)" style="" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" id="L_C_B_3_0" d="M81.567,394.5L92.4,394.5C103.233,394.5,124.9,394.5,136.205,394.138C147.509,393.776,148.452,393.052,149.286,392.219C150.119,391.386,150.843,390.443,151.205,360.721C151.567,331,151.567,272.5,151.929,242.779C152.291,213.057,153.014,212.114,153.848,211.281C154.681,210.448,155.624,209.724,190.881,209.362C226.139,209,295.711,209,330.969,209.362C366.226,209.724,367.169,210.448,368.002,211.281C368.836,212.114,369.559,213.057,369.921,218.127C370.283,223.197,370.283,232.394,370.645,237.464C371.007,242.534,371.731,243.477,372.564,244.31C373.398,245.143,374.341,245.867,387.895,246.229C401.45,246.591,427.617,246.591,440.7,246.591L453.783,246.591"></path><path marker-end="url(#mermaid-graph-25_flowchart-v2-pointEnd)" style="" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" id="L_C_B_4_0" d="M81.567,399.9L95.317,399.9C109.067,399.9,136.567,399.9,150.788,399.538C165.009,399.176,165.952,398.452,166.786,397.619C167.619,396.786,168.343,395.843,168.705,372.305C169.067,348.767,169.067,302.633,169.429,279.095C169.791,255.557,170.514,254.614,171.348,253.781C172.181,252.948,173.124,252.224,220.215,251.862C267.306,251.5,360.544,251.5,407.164,251.5L453.783,251.5"></path><path marker-end="url(#mermaid-graph-25_flowchart-v2-pointEnd)" style="" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" id="L_C_B_5_0" d="M81.567,405.3L98.233,405.3C114.9,405.3,148.233,405.3,165.371,404.938C182.509,404.576,183.452,403.852,184.286,403.019C185.119,402.186,185.843,401.243,186.205,383.888C186.567,366.533,186.567,332.767,186.929,315.412C187.291,298.057,188.014,297.114,188.848,296.281C189.681,295.448,190.624,294.724,220.048,294.362C249.472,294,307.378,294,336.802,293.638C366.226,293.276,367.169,292.552,368.002,291.719C368.836,290.886,369.559,289.943,369.921,284.873C370.283,279.803,370.283,270.606,370.645,265.536C371.007,260.466,371.731,259.523,372.564,258.69C373.398,257.857,374.341,257.133,387.895,256.771C401.45,256.409,427.617,256.409,440.7,256.409L453.783,256.409"></path><path marker-end="url(#mermaid-graph-25_flowchart-v2-pointEnd)" style="" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" id="L_C_B_6_0" d="M81.567,410.7L101.15,410.7C120.733,410.7,159.9,410.7,179.955,410.338C200.009,409.976,200.952,409.252,201.786,408.419C202.619,407.586,203.343,406.643,203.705,395.471C204.067,384.3,204.067,362.9,204.429,351.729C204.791,340.557,205.514,339.614,206.348,338.781C207.181,337.948,208.124,337.224,237.548,336.862C266.972,336.5,324.878,336.5,354.302,336.138C383.726,335.776,384.669,335.052,385.502,334.219C386.336,333.386,387.059,332.443,387.421,321.108C387.783,309.773,387.783,288.045,388.145,276.71C388.507,265.375,389.231,264.433,390.064,263.599C390.898,262.766,391.841,262.042,402.479,261.68C413.117,261.318,433.45,261.318,443.617,261.318L453.783,261.318"></path><path marker-end="url(#mermaid-graph-25_flowchart-v2-pointEnd)" style="" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" id="L_C_B_7_0" d="M81.567,416.1L104.067,416.1C126.567,416.1,171.567,416.1,194.538,415.738C217.509,415.376,218.452,414.652,219.286,413.819C220.119,412.986,220.843,412.043,221.205,407.055C221.567,402.067,221.567,393.033,221.929,388.045C222.291,383.057,223.014,382.114,223.848,381.281C224.681,380.448,225.624,379.724,255.048,379.362C284.472,379,342.378,379,371.802,378.638C401.226,378.276,402.169,377.552,403.002,376.719C403.836,375.886,404.559,374.943,404.921,357.343C405.283,339.742,405.283,305.485,405.645,287.885C406.007,270.284,406.731,269.342,407.564,268.508C408.398,267.675,409.341,266.951,417.062,266.589C424.783,266.227,439.283,266.227,446.533,266.227L453.783,266.227"></path><path marker-end="url(#mermaid-graph-25_flowchart-v2-pointEnd)" style="" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" id="L_C_B_8_0" d="M81.567,421.5L137.603,421.5C193.639,421.5,305.711,421.5,362.219,421.138C418.726,420.776,419.669,420.052,420.502,419.219C421.336,418.386,422.059,417.443,422.421,393.577C422.783,369.712,422.783,322.924,423.145,299.059C423.507,275.194,424.231,274.251,425.064,273.417C425.898,272.584,426.841,271.86,431.645,271.498C436.45,271.136,445.117,271.136,449.45,271.136L453.783,271.136"></path><path marker-end="url(#mermaid-graph-25_flowchart-v2-pointEnd)" style="" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" id="L_B_C_9_0" d="M457.783,231.864L452.783,231.864C447.783,231.864,437.783,231.864,432.312,231.502C426.841,231.14,425.898,230.416,425.064,229.583C424.231,228.749,423.507,227.806,423.145,203.941C422.783,180.076,422.783,133.288,422.421,109.423C422.059,85.557,421.336,84.614,420.502,83.781C419.669,82.948,418.726,82.224,365.969,81.862C313.211,81.5,208.639,81.5,155.881,81.862C103.124,82.224,102.181,82.948,101.348,83.781C100.514,84.614,99.791,85.557,99.429,133.829C99.067,182.1,99.067,277.7,98.705,325.971C98.343,374.243,97.619,375.186,96.786,376.019C95.952,376.852,95.009,377.576,93.121,377.938C91.233,378.3,88.4,378.3,86.983,378.3L85.567,378.3"></path></g><g class="edgeLabels"><g transform="translate(295.9249954223633, 38.5)" class="edgeLabel"><g transform="translate(-37.57499694824219, -12)" class="label"><foreignObject height="24" width="75.14999389648438"><div class="labelBkg" xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"><p>Guarantee</p></span></div></foreignObject></g></g><g transform="translate(295.9249954223633, 123.5)" class="edgeLabel"><g transform="translate(-53.875, -12)" class="label"><foreignObject height="24" width="107.75"><div class="labelBkg" xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"><p>User attributes</p></span></div></foreignObject></g></g><g transform="translate(295.9249954223633, 165.99999999999997)" class="edgeLabel"><g transform="translate(-42.208335876464844, -12)" class="label"><foreignObject height="24" width="84.41667175292969"><div class="labelBkg" xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"><p>Master data</p></span></div></foreignObject></g></g><g transform="translate(295.9249954223633, 208.49999999999997)" class="edgeLabel"><g transform="translate(-52.39167022705078, -12)" class="label"><foreignObject height="24" width="104.78334045410156"><div class="labelBkg" xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"><p>Exchange Rate</p></span></div></foreignObject></g></g><g transform="translate(295.9249954223633, 250.99999999999997)" class="edgeLabel"><g transform="translate(-49.73332977294922, -12)" class="label"><foreignObject height="24" width="99.46665954589844"><div class="labelBkg" xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"><p>Profit Centers</p></span></div></foreignObject></g></g><g transform="translate(295.9249954223633, 293.5)" class="edgeLabel"><g transform="translate(-56.85832977294922, -12)" class="label"><foreignObject height="24" width="113.71665954589844"><div class="labelBkg" xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"><p>Vendor Partners</p></span></div></foreignObject></g></g><g transform="translate(295.9249954223633, 336)" class="edgeLabel"><g transform="translate(-52.30000305175781, -12)" class="label"><foreignObject height="24" width="104.60000610351562"><div class="labelBkg" xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"><p>Work Situation</p></span></div></foreignObject></g></g><g transform="translate(295.9249954223633, 378.5)" class="edgeLabel"><g transform="translate(-33.98332977294922, -12)" class="label"><foreignObject height="24" width="67.96665954589844"><div class="labelBkg" xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"><p>Customer</p></span></div></foreignObject></g></g><g transform="translate(295.9249954223633, 421)" class="edgeLabel"><g transform="translate(-49.73332977294922, -12)" class="label"><foreignObject height="24" width="99.46665954589844"><div class="labelBkg" xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"><p>Profit Centers</p></span></div></foreignObject></g></g><g transform="translate(295.9249954223633, 81)" class="edgeLabel"><g transform="translate(-37.57499694824219, -12)" class="label"><foreignObject height="24" width="75.14999389648438"><div class="labelBkg" xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"><p>Guarantee</p></span></div></foreignObject></g></g></g></svg>


blobId: 8RVqdTmU0SnlGFH3XCIf
dateModified: 2025-11-03 16:29:21.624+0000
utcDateModified: 2025-11-03 16:29:21.624Z
content:
  sequenceDiagram
  Alice->>John: Hello John, how are you?
  loop Healthcheck
      John->>John: Fight against hypochondria
  end
  Note right of John: Rational thoughts!
  John-->>Alice: Great!
  John->>Bob: How about you?
  Bob-->>John: Jolly good!


blobId: v9jVuFdHev3OhO7CCM6Z
dateModified: 2025-11-03 16:29:21.637+0000
utcDateModified: 2025-11-03 16:29:21.637Z
content:
  <svg aria-roledescription="sequence" role="graphics-document document" viewBox="-50 -10 734 585" height="585" xmlns="http://www.w3.org/2000/svg" width="734" id="mermaid-graph-8"><g><rect class="actor" ry="3" rx="3" height="65" width="150" stroke="#666" fill="#eaeaea" y="499" x="484"></rect><text style="text-anchor: middle; font-size: 16px; font-weight: 400;" class="actor" alignment-baseline="central" dominant-baseline="central" y="531.5" x="559"><tspan dy="0" x="559">Bob</tspan></text></g><g><rect class="actor" ry="3" rx="3" height="65" width="150" stroke="#666" fill="#eaeaea" y="499" x="267"></rect><text style="text-anchor: middle; font-size: 16px; font-weight: 400;" class="actor" alignment-baseline="central" dominant-baseline="central" y="531.5" x="342"><tspan dy="0" x="342">John</tspan></text></g><g><rect class="actor" ry="3" rx="3" height="65" width="150" stroke="#666" fill="#eaeaea" y="499" x="0"></rect><text style="text-anchor: middle; font-size: 16px; font-weight: 400;" class="actor" alignment-baseline="central" dominant-baseline="central" y="531.5" x="75"><tspan dy="0" x="75">Alice</tspan></text></g><g><line stroke="#999" stroke-width="0.5px" class="200" y2="499" x2="559" y1="5" x1="559" id="actor11"></line><g id="root-11"><rect class="actor" ry="3" rx="3" height="65" width="150" stroke="#666" fill="#eaeaea" y="0" x="484"></rect><text style="text-anchor: middle; font-size: 16px; font-weight: 400;" class="actor" alignment-baseline="central" dominant-baseline="central" y="32.5" x="559"><tspan dy="0" x="559">Bob</tspan></text></g></g><g><line stroke="#999" stroke-width="0.5px" class="200" y2="499" x2="342" y1="5" x1="342" id="actor10"></line><g id="root-10"><rect class="actor" ry="3" rx="3" height="65" width="150" stroke="#666" fill="#eaeaea" y="0" x="267"></rect><text style="text-anchor: middle; font-size: 16px; font-weight: 400;" class="actor" alignment-baseline="central" dominant-baseline="central" y="32.5" x="342"><tspan dy="0" x="342">John</tspan></text></g></g><g><line stroke="#999" stroke-width="0.5px" class="200" y2="499" x2="75" y1="5" x1="75" id="actor9"></line><g id="root-9"><rect class="actor" ry="3" rx="3" height="65" width="150" stroke="#666" fill="#eaeaea" y="0" x="0"></rect><text style="text-anchor: middle; font-size: 16px; font-weight: 400;" class="actor" alignment-baseline="central" dominant-baseline="central" y="32.5" x="75"><tspan dy="0" x="75">Alice</tspan></text></g></g><style>#mermaid-graph-8{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#ccc;}#mermaid-graph-8 .error-icon{fill:#a44141;}#mermaid-graph-8 .error-text{fill:#ddd;stroke:#ddd;}#mermaid-graph-8 .edge-thickness-normal{stroke-width:2px;}#mermaid-graph-8 .edge-thickness-thick{stroke-width:3.5px;}#mermaid-graph-8 .edge-pattern-solid{stroke-dasharray:0;}#mermaid-graph-8 .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-graph-8 .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-graph-8 .marker{fill:lightgrey;stroke:lightgrey;}#mermaid-graph-8 .marker.cross{stroke:lightgrey;}#mermaid-graph-8 svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-graph-8 .actor{stroke:#81B1DB;fill:#1f2020;}#mermaid-graph-8 text.actor&gt;tspan{fill:lightgrey;stroke:none;}#mermaid-graph-8 .actor-line{stroke:lightgrey;}#mermaid-graph-8 .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:lightgrey;}#mermaid-graph-8 .messageLine1{stroke-width:1.5;stroke-dasharray:2,2;stroke:lightgrey;}#mermaid-graph-8 #arrowhead path{fill:lightgrey;stroke:lightgrey;}#mermaid-graph-8 .sequenceNumber{fill:black;}#mermaid-graph-8 #sequencenumber{fill:lightgrey;}#mermaid-graph-8 #crosshead path{fill:lightgrey;stroke:lightgrey;}#mermaid-graph-8 .messageText{fill:lightgrey;stroke:none;}#mermaid-graph-8 .labelBox{stroke:#81B1DB;fill:#1f2020;}#mermaid-graph-8 .labelText,#mermaid-graph-8 .labelText&gt;tspan{fill:lightgrey;stroke:none;}#mermaid-graph-8 .loopText,#mermaid-graph-8 .loopText&gt;tspan{fill:lightgrey;stroke:none;}#mermaid-graph-8 .loopLine{stroke-width:2px;stroke-dasharray:2,2;stroke:#81B1DB;fill:#81B1DB;}#mermaid-graph-8 .note{stroke:hsl(180, 0%, 18.3529411765%);fill:hsl(180, 1.5873015873%, 28.3529411765%);}#mermaid-graph-8 .noteText,#mermaid-graph-8 .noteText&gt;tspan{fill:rgb(183.8476190475, 181.5523809523, 181.5523809523);stroke:none;}#mermaid-graph-8 .activation0{fill:hsl(180, 1.5873015873%, 28.3529411765%);stroke:#81B1DB;}#mermaid-graph-8 .activation1{fill:hsl(180, 1.5873015873%, 28.3529411765%);stroke:#81B1DB;}#mermaid-graph-8 .activation2{fill:hsl(180, 1.5873015873%, 28.3529411765%);stroke:#81B1DB;}#mermaid-graph-8 .actorPopupMenu{position:absolute;}#mermaid-graph-8 .actorPopupMenuPanel{position:absolute;fill:#1f2020;box-shadow:0px 8px 16px 0px rgba(0,0,0,0.2);filter:drop-shadow(3px 5px 2px rgb(0 0 0 / 0.4));}#mermaid-graph-8 .actor-man line{stroke:#81B1DB;fill:#1f2020;}#mermaid-graph-8 .actor-man circle,#mermaid-graph-8 line{stroke:#81B1DB;fill:#1f2020;stroke-width:2px;}#mermaid-graph-8 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}</style><g></g><defs><symbol height="24" width="24" id="computer"><path d="M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z" transform="scale(.5)"></path></symbol></defs><defs><symbol clip-rule="evenodd" fill-rule="evenodd" id="database"><path d="M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z" transform="scale(.5)"></path></symbol></defs><defs><symbol height="24" width="24" id="clock"><path d="M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z" transform="scale(.5)"></path></symbol></defs><defs><marker orient="auto" markerHeight="12" markerWidth="12" markerUnits="userSpaceOnUse" refY="5" refX="7.9" id="arrowhead"><path d="M 0 0 L 10 5 L 0 10 z"></path></marker></defs><defs><marker refY="4.5" refX="4" orient="auto" markerHeight="8" markerWidth="15" id="crosshead"><path style="stroke-dasharray: 0, 0;" d="M 1,2 L 6,7 M 6,2 L 1,7" stroke-width="1pt" stroke="#000000" fill="none"></path></marker></defs><defs><marker orient="auto" markerHeight="28" markerWidth="20" refY="7" refX="15.5" id="filled-head"><path d="M 18,7 L9,13 L14,7 L9,1 Z"></path></marker></defs><defs><marker orient="auto" markerHeight="40" markerWidth="60" refY="15" refX="15" id="sequencenumber"><circle r="6" cy="15" cx="15"></circle></marker></defs><g><line class="loopLine" y2="125" x2="463" y1="125" x1="223"></line><line class="loopLine" y2="280" x2="463" y1="125" x1="463"></line><line class="loopLine" y2="280" x2="463" y1="280" x1="223"></line><line class="loopLine" y2="280" x2="223" y1="125" x1="223"></line><polygon class="labelBox" points="223,125 273,125 273,138 264.6,145 223,145"></polygon><text style="font-size: 16px; font-weight: 400;" class="labelText" alignment-baseline="middle" dominant-baseline="middle" text-anchor="middle" y="138" x="248">loop</text><text style="font-size: 16px; font-weight: 400;" class="loopText" text-anchor="middle" y="143" x="368"><tspan x="368">[Healthcheck]</tspan></text></g><g><rect class="note" ry="0" rx="0" height="39" width="167" stroke="#666" fill="#EDF2AE" y="290" x="367"></rect><text style="font-size: 16px; font-weight: 400;" dy="1em" class="noteText" alignment-baseline="middle" dominant-baseline="middle" text-anchor="middle" y="295" x="451"><tspan x="451">Rational thoughts!</tspan></text></g><text style="font-size: 16px; font-weight: 400;" dy="1em" class="messageText" alignment-baseline="middle" dominant-baseline="middle" text-anchor="middle" y="80" x="207">Hello John, how are you?</text><line style="fill: none;" marker-end="url(#arrowhead)" stroke="none" stroke-width="2" class="messageLine0" y2="115" x2="338" y1="115" x1="76"></line><text style="font-size: 16px; font-weight: 400;" dy="1em" class="messageText" alignment-baseline="middle" dominant-baseline="middle" text-anchor="middle" y="175" x="343">Fight against hypochondria</text><path style="fill: none;" marker-end="url(#arrowhead)" stroke="none" stroke-width="2" class="messageLine0" d="M 343,210 C 403,200 403,240 343,230"></path><text style="font-size: 16px; font-weight: 400;" dy="1em" class="messageText" alignment-baseline="middle" dominant-baseline="middle" text-anchor="middle" y="344" x="210">Great!</text><line style="stroke-dasharray: 3, 3; fill: none;" marker-end="url(#arrowhead)" stroke="none" stroke-width="2" class="messageLine1" y2="379" x2="79" y1="379" x1="341"></line><text style="font-size: 16px; font-weight: 400;" dy="1em" class="messageText" alignment-baseline="middle" dominant-baseline="middle" text-anchor="middle" y="394" x="449">How about you?</text><line style="fill: none;" marker-end="url(#arrowhead)" stroke="none" stroke-width="2" class="messageLine0" y2="429" x2="555" y1="429" x1="343"></line><text style="font-size: 16px; font-weight: 400;" dy="1em" class="messageText" alignment-baseline="middle" dominant-baseline="middle" text-anchor="middle" y="444" x="452">Jolly good!</text><line style="stroke-dasharray: 3, 3; fill: none;" marker-end="url(#arrowhead)" stroke="none" stroke-width="2" class="messageLine1" y2="479" x2="346" y1="479" x1="558"></line></svg>


blobId: 54wNwlcT7pQhxtk0Dt7N
dateModified: 2025-11-03 16:29:21.650+0000
utcDateModified: 2025-11-03 16:29:21.651Z
content:
  gantt
  section Section
  Completed :done,    des1, 2014-01-06,2014-01-08
  Active        :active,  des2, 2014-01-07, 3d
  Parallel 1   :         des3, after des1, 1d
  Parallel 2   :         des4, after des1, 1d
  Parallel 3   :         des5, after des3, 1d
  Parallel 4   :         des6, after des4, 1d


blobId: FWJfBZZ2HaFADzZGaI69
dateModified: 2025-11-03 16:29:21.663+0000
utcDateModified: 2025-11-03 16:29:21.663Z
content:
  <svg aria-roledescription="gantt" role="graphics-document document" height="244" viewBox="0 0 1043 244" xmlns="http://www.w3.org/2000/svg" width="1043" id="mermaid-graph-11"><style>#mermaid-graph-11{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#ccc;}#mermaid-graph-11 .error-icon{fill:#a44141;}#mermaid-graph-11 .error-text{fill:#ddd;stroke:#ddd;}#mermaid-graph-11 .edge-thickness-normal{stroke-width:2px;}#mermaid-graph-11 .edge-thickness-thick{stroke-width:3.5px;}#mermaid-graph-11 .edge-pattern-solid{stroke-dasharray:0;}#mermaid-graph-11 .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-graph-11 .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-graph-11 .marker{fill:lightgrey;stroke:lightgrey;}#mermaid-graph-11 .marker.cross{stroke:lightgrey;}#mermaid-graph-11 svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-graph-11 .mermaid-main-font{font-family:"trebuchet ms",verdana,arial,sans-serif;font-family:var(--mermaid-font-family);}#mermaid-graph-11 .exclude-range{fill:hsl(52.9411764706, 28.813559322%, 48.431372549%);}#mermaid-graph-11 .section{stroke:none;opacity:0.2;}#mermaid-graph-11 .section0{fill:hsl(52.9411764706, 28.813559322%, 58.431372549%);}#mermaid-graph-11 .section2{fill:#EAE8D9;}#mermaid-graph-11 .section1,#mermaid-graph-11 .section3{fill:#333;opacity:0.2;}#mermaid-graph-11 .sectionTitle0{fill:#F9FFFE;}#mermaid-graph-11 .sectionTitle1{fill:#F9FFFE;}#mermaid-graph-11 .sectionTitle2{fill:#F9FFFE;}#mermaid-graph-11 .sectionTitle3{fill:#F9FFFE;}#mermaid-graph-11 .sectionTitle{text-anchor:start;font-family:'trebuchet ms',verdana,arial,sans-serif;font-family:var(--mermaid-font-family);}#mermaid-graph-11 .grid .tick{stroke:lightgrey;opacity:0.8;shape-rendering:crispEdges;}#mermaid-graph-11 .grid .tick text{font-family:"trebuchet ms",verdana,arial,sans-serif;fill:#ccc;}#mermaid-graph-11 .grid path{stroke-width:0;}#mermaid-graph-11 .today{fill:none;stroke:#DB5757;stroke-width:2px;}#mermaid-graph-11 .task{stroke-width:2;}#mermaid-graph-11 .taskText{text-anchor:middle;font-family:'trebuchet ms',verdana,arial,sans-serif;font-family:var(--mermaid-font-family);}#mermaid-graph-11 .taskTextOutsideRight{fill:hsl(28.5714285714, 17.3553719008%, 86.2745098039%);text-anchor:start;font-family:'trebuchet ms',verdana,arial,sans-serif;font-family:var(--mermaid-font-family);}#mermaid-graph-11 .taskTextOutsideLeft{fill:hsl(28.5714285714, 17.3553719008%, 86.2745098039%);text-anchor:end;}#mermaid-graph-11 .task.clickable{cursor:pointer;}#mermaid-graph-11 .taskText.clickable{cursor:pointer;fill:#003163!important;font-weight:bold;}#mermaid-graph-11 .taskTextOutsideLeft.clickable{cursor:pointer;fill:#003163!important;font-weight:bold;}#mermaid-graph-11 .taskTextOutsideRight.clickable{cursor:pointer;fill:#003163!important;font-weight:bold;}#mermaid-graph-11 .taskText0,#mermaid-graph-11 .taskText1,#mermaid-graph-11 .taskText2,#mermaid-graph-11 .taskText3{fill:hsl(28.5714285714, 17.3553719008%, 86.2745098039%);}#mermaid-graph-11 .task0,#mermaid-graph-11 .task1,#mermaid-graph-11 .task2,#mermaid-graph-11 .task3{fill:hsl(180, 1.5873015873%, 35.3529411765%);stroke:#ffffff;}#mermaid-graph-11 .taskTextOutside0,#mermaid-graph-11 .taskTextOutside2{fill:lightgrey;}#mermaid-graph-11 .taskTextOutside1,#mermaid-graph-11 .taskTextOutside3{fill:lightgrey;}#mermaid-graph-11 .active0,#mermaid-graph-11 .active1,#mermaid-graph-11 .active2,#mermaid-graph-11 .active3{fill:#81B1DB;stroke:#ffffff;}#mermaid-graph-11 .activeText0,#mermaid-graph-11 .activeText1,#mermaid-graph-11 .activeText2,#mermaid-graph-11 .activeText3{fill:hsl(28.5714285714, 17.3553719008%, 86.2745098039%)!important;}#mermaid-graph-11 .done0,#mermaid-graph-11 .done1,#mermaid-graph-11 .done2,#mermaid-graph-11 .done3{stroke:grey;fill:lightgrey;stroke-width:2;}#mermaid-graph-11 .doneText0,#mermaid-graph-11 .doneText1,#mermaid-graph-11 .doneText2,#mermaid-graph-11 .doneText3{fill:hsl(28.5714285714, 17.3553719008%, 86.2745098039%)!important;}#mermaid-graph-11 .crit0,#mermaid-graph-11 .crit1,#mermaid-graph-11 .crit2,#mermaid-graph-11 .crit3{stroke:#E83737;fill:#E83737;stroke-width:2;}#mermaid-graph-11 .activeCrit0,#mermaid-graph-11 .activeCrit1,#mermaid-graph-11 .activeCrit2,#mermaid-graph-11 .activeCrit3{stroke:#E83737;fill:#81B1DB;stroke-width:2;}#mermaid-graph-11 .doneCrit0,#mermaid-graph-11 .doneCrit1,#mermaid-graph-11 .doneCrit2,#mermaid-graph-11 .doneCrit3{stroke:#E83737;fill:lightgrey;stroke-width:2;cursor:pointer;shape-rendering:crispEdges;}#mermaid-graph-11 .milestone{transform:rotate(45deg) scale(0.8,0.8);}#mermaid-graph-11 .milestoneText{font-style:italic;}#mermaid-graph-11 .doneCritText0,#mermaid-graph-11 .doneCritText1,#mermaid-graph-11 .doneCritText2,#mermaid-graph-11 .doneCritText3{fill:hsl(28.5714285714, 17.3553719008%, 86.2745098039%)!important;}#mermaid-graph-11 .activeCritText0,#mermaid-graph-11 .activeCritText1,#mermaid-graph-11 .activeCritText2,#mermaid-graph-11 .activeCritText3{fill:hsl(28.5714285714, 17.3553719008%, 86.2745098039%)!important;}#mermaid-graph-11 .titleText{text-anchor:middle;font-size:18px;fill:#ccc;font-family:'trebuchet ms',verdana,arial,sans-serif;font-family:var(--mermaid-font-family);}#mermaid-graph-11 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}</style><g></g><g text-anchor="middle" font-family="sans-serif" font-size="10" fill="none" transform="translate(75, 194)" class="grid"><path d="M0,-159V0H893V-159" stroke="currentColor" class="domain"></path><g transform="translate(102,0)" opacity="1" class="tick"><line y2="-159" stroke="currentColor"></line><text style="text-anchor: middle;" font-size="10" stroke="none" dy="1em" y="3" fill="#000">2014-01-06</text></g><g transform="translate(214,0)" opacity="1" class="tick"><line y2="-159" stroke="currentColor"></line><text style="text-anchor: middle;" font-size="10" stroke="none" dy="1em" y="3" fill="#000">2014-01-07</text></g><g transform="translate(326,0)" opacity="1" class="tick"><line y2="-159" stroke="currentColor"></line><text style="text-anchor: middle;" font-size="10" stroke="none" dy="1em" y="3" fill="#000">2014-01-07</text></g><g transform="translate(437,0)" opacity="1" class="tick"><line y2="-159" stroke="currentColor"></line><text style="text-anchor: middle;" font-size="10" stroke="none" dy="1em" y="3" fill="#000">2014-01-08</text></g><g transform="translate(549,0)" opacity="1" class="tick"><line y2="-159" stroke="currentColor"></line><text style="text-anchor: middle;" font-size="10" stroke="none" dy="1em" y="3" fill="#000">2014-01-08</text></g><g transform="translate(660,0)" opacity="1" class="tick"><line y2="-159" stroke="currentColor"></line><text style="text-anchor: middle;" font-size="10" stroke="none" dy="1em" y="3" fill="#000">2014-01-09</text></g><g transform="translate(772,0)" opacity="1" class="tick"><line y2="-159" stroke="currentColor"></line><text style="text-anchor: middle;" font-size="10" stroke="none" dy="1em" y="3" fill="#000">2014-01-09</text></g><g transform="translate(884,0)" opacity="1" class="tick"><line y2="-159" stroke="currentColor"></line><text style="text-anchor: middle;" font-size="10" stroke="none" dy="1em" y="3" fill="#000">2014-01-10</text></g></g><g><rect class="section section0" height="24" width="1005.5" y="48" x="0"></rect><rect class="section section0" height="24" width="1005.5" y="96" x="0"></rect><rect class="section section0" height="24" width="1005.5" y="120" x="0"></rect><rect class="section section0" height="24" width="1005.5" y="72" x="0"></rect><rect class="section section0" height="24" width="1005.5" y="144" x="0"></rect><rect class="section section0" height="24" width="1005.5" y="168" x="0"></rect></g><g><rect class="task done0" transform-origin="75px 60px" height="20" width="0" y="50" x="75" ry="3" rx="3" id="des1"></rect><rect class="task task0" transform-origin="186.5px 108px" height="20" width="223" y="98" x="75" ry="3" rx="3" id="des3"></rect><rect class="task task0" transform-origin="186.5px 132px" height="20" width="223" y="122" x="75" ry="3" rx="3" id="des4"></rect><rect class="task active0" transform-origin="633px 84px" height="20" width="670" y="74" x="298" ry="3" rx="3" id="des2"></rect><rect class="task task0" transform-origin="410px 156px" height="20" width="224" y="146" x="298" ry="3" rx="3" id="des5"></rect><rect class="task task0" transform-origin="410px 180px" height="20" width="224" y="170" x="298" ry="3" rx="3" id="des6"></rect><text class="taskTextOutsideRight taskTextOutside0  doneText0 width-53.4765625" y="63.5" x="80" font-size="11" id="des1-text">Completed </text><text class="taskText taskText0  width-46.2734375" y="111.5" x="186.5" font-size="11" id="des3-text">Parallel 1   </text><text class="taskText taskText0  width-46.2734375" y="135.5" x="186.5" font-size="11" id="des4-text">Parallel 2   </text><text class="taskText taskText0 activeText0 width-30.8203125" y="87.5" x="633" font-size="11" id="des2-text">Active        </text><text class="taskText taskText0  width-46.2734375" y="159.5" x="410" font-size="11" id="des5-text">Parallel 3   </text><text class="taskText taskText0  width-46.2734375" y="183.5" x="410" font-size="11" id="des6-text">Parallel 4   </text></g><g><text class="sectionTitle sectionTitle0" font-size="11" y="122" x="10" dy="0em"><tspan x="10" alignment-baseline="central">Section</tspan></text></g><g class="today"><line class="today" y2="219" y1="25" x2="806546" x1="806546"></line></g><text class="titleText" y="25" x="521.5"></text></svg>


blobId: nJrBYqEZs1yQUpnTWarp
dateModified: 2025-11-03 16:29:21.675+0000
utcDateModified: 2025-11-03 16:29:21.675Z
content:
  classDiagram
  Class01 <|-- AveryLongClass : Cool
  <<interface>> Class01
  Class09 --> C2 : Where am i?
  Class09 --* C3
  Class09 --|> Class07
  Class07 : equals()
  Class07 : Object[] elementData
  Class01 : size()
  Class01 : int chimp
  Class01 : int gorilla
  class Class10 {
    <<service>>
    int id
    size()
  }


blobId: IEYAJeG3eDLgGVSKBOIi
dateModified: 2025-11-03 16:29:21.686+0000
utcDateModified: 2025-11-03 16:29:21.687Z
content:
  <svg aria-roledescription="classDiagram" role="graphics-document document" viewBox="0 0 536.7265625 384" style="max-width: 536.7265625px;" xmlns="http://www.w3.org/2000/svg" width="100%" id="mermaid-graph-14"><style>#mermaid-graph-14{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#ccc;}#mermaid-graph-14 .error-icon{fill:#a44141;}#mermaid-graph-14 .error-text{fill:#ddd;stroke:#ddd;}#mermaid-graph-14 .edge-thickness-normal{stroke-width:2px;}#mermaid-graph-14 .edge-thickness-thick{stroke-width:3.5px;}#mermaid-graph-14 .edge-pattern-solid{stroke-dasharray:0;}#mermaid-graph-14 .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-graph-14 .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-graph-14 .marker{fill:lightgrey;stroke:lightgrey;}#mermaid-graph-14 .marker.cross{stroke:lightgrey;}#mermaid-graph-14 svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-graph-14 g.classGroup text{fill:#81B1DB;stroke:none;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:10px;}#mermaid-graph-14 g.classGroup text .title{font-weight:bolder;}#mermaid-graph-14 .nodeLabel,#mermaid-graph-14 .edgeLabel{color:#e0dfdf;}#mermaid-graph-14 .edgeLabel .label rect{fill:#1f2020;}#mermaid-graph-14 .label text{fill:#e0dfdf;}#mermaid-graph-14 .edgeLabel .label span{background:#1f2020;}#mermaid-graph-14 .classTitle{font-weight:bolder;}#mermaid-graph-14 .node rect,#mermaid-graph-14 .node circle,#mermaid-graph-14 .node ellipse,#mermaid-graph-14 .node polygon,#mermaid-graph-14 .node path{fill:#1f2020;stroke:#81B1DB;stroke-width:1px;}#mermaid-graph-14 .divider{stroke:#81B1DB;stroke-width:1;}#mermaid-graph-14 g.clickable{cursor:pointer;}#mermaid-graph-14 g.classGroup rect{fill:#1f2020;stroke:#81B1DB;}#mermaid-graph-14 g.classGroup line{stroke:#81B1DB;stroke-width:1;}#mermaid-graph-14 .classLabel .box{stroke:none;stroke-width:0;fill:#1f2020;opacity:0.5;}#mermaid-graph-14 .classLabel .label{fill:#81B1DB;font-size:10px;}#mermaid-graph-14 .relation{stroke:lightgrey;stroke-width:1;fill:none;}#mermaid-graph-14 .dashed-line{stroke-dasharray:3;}#mermaid-graph-14 .dotted-line{stroke-dasharray:1 2;}#mermaid-graph-14 #compositionStart,#mermaid-graph-14 .composition{fill:lightgrey!important;stroke:lightgrey!important;stroke-width:1;}#mermaid-graph-14 #compositionEnd,#mermaid-graph-14 .composition{fill:lightgrey!important;stroke:lightgrey!important;stroke-width:1;}#mermaid-graph-14 #dependencyStart,#mermaid-graph-14 .dependency{fill:lightgrey!important;stroke:lightgrey!important;stroke-width:1;}#mermaid-graph-14 #dependencyStart,#mermaid-graph-14 .dependency{fill:lightgrey!important;stroke:lightgrey!important;stroke-width:1;}#mermaid-graph-14 #extensionStart,#mermaid-graph-14 .extension{fill:transparent!important;stroke:lightgrey!important;stroke-width:1;}#mermaid-graph-14 #extensionEnd,#mermaid-graph-14 .extension{fill:transparent!important;stroke:lightgrey!important;stroke-width:1;}#mermaid-graph-14 #aggregationStart,#mermaid-graph-14 .aggregation{fill:transparent!important;stroke:lightgrey!important;stroke-width:1;}#mermaid-graph-14 #aggregationEnd,#mermaid-graph-14 .aggregation{fill:transparent!important;stroke:lightgrey!important;stroke-width:1;}#mermaid-graph-14 #lollipopStart,#mermaid-graph-14 .lollipop{fill:#1f2020!important;stroke:lightgrey!important;stroke-width:1;}#mermaid-graph-14 #lollipopEnd,#mermaid-graph-14 .lollipop{fill:#1f2020!important;stroke:lightgrey!important;stroke-width:1;}#mermaid-graph-14 .edgeTerminals{font-size:11px;}#mermaid-graph-14 .classTitleText{text-anchor:middle;font-size:18px;fill:#ccc;}#mermaid-graph-14 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}</style><g><defs><marker orient="auto" markerHeight="240" markerWidth="190" refY="7" refX="18" class="marker aggregation classDiagram" id="mermaid-graph-14_classDiagram-aggregationStart"><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker orient="auto" markerHeight="28" markerWidth="20" refY="7" refX="1" class="marker aggregation classDiagram" id="mermaid-graph-14_classDiagram-aggregationEnd"><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker orient="auto" markerHeight="240" markerWidth="190" refY="7" refX="18" class="marker extension classDiagram" id="mermaid-graph-14_classDiagram-extensionStart"><path d="M 1,7 L18,13 V 1 Z"></path></marker></defs><defs><marker orient="auto" markerHeight="28" markerWidth="20" refY="7" refX="1" class="marker extension classDiagram" id="mermaid-graph-14_classDiagram-extensionEnd"><path d="M 1,1 V 13 L18,7 Z"></path></marker></defs><defs><marker orient="auto" markerHeight="240" markerWidth="190" refY="7" refX="18" class="marker composition classDiagram" id="mermaid-graph-14_classDiagram-compositionStart"><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker orient="auto" markerHeight="28" markerWidth="20" refY="7" refX="1" class="marker composition classDiagram" id="mermaid-graph-14_classDiagram-compositionEnd"><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker orient="auto" markerHeight="240" markerWidth="190" refY="7" refX="6" class="marker dependency classDiagram" id="mermaid-graph-14_classDiagram-dependencyStart"><path d="M 5,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker orient="auto" markerHeight="28" markerWidth="20" refY="7" refX="13" class="marker dependency classDiagram" id="mermaid-graph-14_classDiagram-dependencyEnd"><path d="M 18,7 L9,13 L14,7 L9,1 Z"></path></marker></defs><defs><marker orient="auto" markerHeight="240" markerWidth="190" refY="7" refX="13" class="marker lollipop classDiagram" id="mermaid-graph-14_classDiagram-lollipopStart"><circle r="6" cy="7" cx="7" fill="transparent" stroke="black"></circle></marker></defs><defs><marker orient="auto" markerHeight="240" markerWidth="190" refY="7" refX="1" class="marker lollipop classDiagram" id="mermaid-graph-14_classDiagram-lollipopEnd"><circle r="6" cy="7" cx="7" fill="transparent" stroke="black"></circle></marker></defs><g class="root"><g class="clusters"></g><g class="edgePaths"><path marker-start="url(#mermaid-graph-14_classDiagram-extensionStart)" style="fill:none" class="edge-pattern-solid relation" id="id1" d="M73.02,201L73.02,204.167C73.02,207.333,73.02,213.667,73.02,227.667C73.02,241.667,73.02,263.333,73.02,274.167L73.02,285"></path><path marker-end="url(#mermaid-graph-14_classDiagram-dependencyEnd)" style="fill:none" class="edge-pattern-solid relation" id="id2" d="M267.991,127L257.512,142.5C247.034,158,226.078,189,215.599,214.333C205.121,239.667,205.121,259.333,205.121,269.167L205.121,279"></path><path marker-end="url(#mermaid-graph-14_classDiagram-compositionEnd)" style="fill:none" class="edge-pattern-solid relation" id="id3" d="M289.285,127L289.285,142.5C289.285,158,289.285,189,289.285,212.333C289.285,235.667,289.285,251.333,289.285,259.167L289.285,267"></path><path marker-end="url(#mermaid-graph-14_classDiagram-extensionEnd)" style="fill:none" class="edge-pattern-solid relation" id="id4" d="M324.566,124.16L344.23,140.134C363.893,156.107,403.22,188.053,422.883,207.193C442.547,226.333,442.547,232.667,442.547,235.833L442.547,239"></path></g><g class="edgeLabels"><g transform="translate(73.01953125, 220)" class="edgeLabel"><g transform="translate(-15.73046875, -12)" class="label"><foreignObject height="24" width="31.4609375"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"><span class="edgeLabel">Cool</span></span></div></foreignObject></g></g><g transform="translate(205.12109375, 220)" class="edgeLabel"><g transform="translate(-43.90625, -12)" class="label"><foreignObject height="24" width="87.8125"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"><span class="edgeLabel">Where am i?</span></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g></g><g class="nodes"><g transform="translate(73.01953125, 95.5)" id="classId-Class01-21" class="node default"><rect height="175" width="97.34375" y="-87.5" x="-48.671875" class="outer title-state"></rect><line y2="-23.5" y1="-23.5" x2="48.671875" x1="-48.671875" class="divider"></line><line y2="48.5" y1="48.5" x2="48.671875" x1="-48.671875" class="divider"></line><g class="label"><foreignObject transform="translate( -41.171875, -80)" height="24" width="82.34375"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">«interface»</span></div></foreignObject><foreignObject transform="translate( -27.78125, -52)" height="24" width="55.5625" class="classTitle"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">Class01</span></div></foreignObject><foreignObject transform="translate( -41.171875, -12)" height="24" width="67.890625"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">int chimp</span></div></foreignObject><foreignObject transform="translate( -41.171875, 16)" height="24" width="69.7109375"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">int gorilla</span></div></foreignObject><foreignObject transform="translate( -41.171875, 56)" height="24" width="39.109375"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">size()</span></div></foreignObject></g></g><g transform="translate(73.01953125, 316.5)" id="classId-AveryLongClass-22" class="node default"><rect height="63" width="130.0390625" y="-31.5" x="-65.01953125" class="outer title-state"></rect><line y2="4.5" y1="4.5" x2="65.01953125" x1="-65.01953125" class="divider"></line><line y2="20.5" y1="20.5" x2="65.01953125" x1="-65.01953125" class="divider"></line><g class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel"></span></div></foreignObject><foreignObject transform="translate( -57.51953125, -24)" height="24" width="115.0390625" class="classTitle"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">AveryLongClass</span></div></foreignObject></g></g><g transform="translate(289.28515625, 95.5)" id="classId-Class09-23" class="node default"><rect height="63" width="70.5625" y="-31.5" x="-35.28125" class="outer title-state"></rect><line y2="4.5" y1="4.5" x2="35.28125" x1="-35.28125" class="divider"></line><line y2="20.5" y1="20.5" x2="35.28125" x1="-35.28125" class="divider"></line><g class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel"></span></div></foreignObject><foreignObject transform="translate( -27.78125, -24)" height="24" width="55.5625" class="classTitle"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">Class09</span></div></foreignObject></g></g><g transform="translate(205.12109375, 316.5)" id="classId-C2-24" class="node default"><rect height="63" width="34.1640625" y="-31.5" x="-17.08203125" class="outer title-state"></rect><line y2="4.5" y1="4.5" x2="17.08203125" x1="-17.08203125" class="divider"></line><line y2="20.5" y1="20.5" x2="17.08203125" x1="-17.08203125" class="divider"></line><g class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel"></span></div></foreignObject><foreignObject transform="translate( -9.58203125, -24)" height="24" width="19.1640625" class="classTitle"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">C2</span></div></foreignObject></g></g><g transform="translate(289.28515625, 316.5)" id="classId-C3-25" class="node default"><rect height="63" width="34.1640625" y="-31.5" x="-17.08203125" class="outer title-state"></rect><line y2="4.5" y1="4.5" x2="17.08203125" x1="-17.08203125" class="divider"></line><line y2="20.5" y1="20.5" x2="17.08203125" x1="-17.08203125" class="divider"></line><g class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel"></span></div></foreignObject><foreignObject transform="translate( -9.58203125, -24)" height="24" width="19.1640625" class="classTitle"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">C3</span></div></foreignObject></g></g><g transform="translate(442.546875, 316.5)" id="classId-Class07-26" class="node default"><rect height="119" width="172.359375" y="-59.5" x="-86.1796875" class="outer title-state"></rect><line y2="-23.5" y1="-23.5" x2="86.1796875" x1="-86.1796875" class="divider"></line><line y2="20.5" y1="20.5" x2="86.1796875" x1="-86.1796875" class="divider"></line><g class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel"></span></div></foreignObject><foreignObject transform="translate( -27.78125, -52)" height="24" width="55.5625" class="classTitle"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">Class07</span></div></foreignObject><foreignObject transform="translate( -78.6796875, -12)" height="24" width="157.359375"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">Object[] elementData</span></div></foreignObject><foreignObject transform="translate( -78.6796875, 28)" height="24" width="57.734375"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">equals()</span></div></foreignObject></g></g><g transform="translate(415.69140625, 95.5)" id="classId-Class10-27" class="node default"><rect height="147" width="82.25" y="-73.5" x="-41.125" class="outer title-state"></rect><line y2="-9.5" y1="-9.5" x2="41.125" x1="-41.125" class="divider"></line><line y2="34.5" y1="34.5" x2="41.125" x1="-41.125" class="divider"></line><g class="label"><foreignObject transform="translate( -33.625, -66)" height="24" width="67.25"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">«service»</span></div></foreignObject><foreignObject transform="translate( -27.78125, -38)" height="24" width="55.5625" class="classTitle"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">Class10</span></div></foreignObject><foreignObject transform="translate( -33.625, 2)" height="24" width="37.9453125"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">int id</span></div></foreignObject><foreignObject transform="translate( -33.625, 42)" height="24" width="39.109375"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">size()</span></div></foreignObject></g></g></g></g></g></svg>


blobId: grhWLiCXM13ll3M5wE2q
dateModified: 2025-11-03 16:29:21.696+0000
utcDateModified: 2025-11-03 16:29:21.696Z
content:
  stateDiagram-v2
  [*] --> Still
  Still --> [*]
  Still --> Moving
  Moving --> Still
  Moving --> Crash
  Crash --> [*]


blobId: NGaXBgm3J2ceoEHdA25H
dateModified: 2025-11-03 16:29:21.708+0000
utcDateModified: 2025-11-03 16:29:21.708Z
content:
  <svg aria-roledescription="stateDiagram" role="graphics-document document" viewBox="-22.008000373840332 0 115.10956573486328 361" height="361" class="statediagram" xmlns="http://www.w3.org/2000/svg" width="115.10956573486328" id="mermaid-graph-18"><style>#mermaid-graph-18{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#ccc;}#mermaid-graph-18 .error-icon{fill:#a44141;}#mermaid-graph-18 .error-text{fill:#ddd;stroke:#ddd;}#mermaid-graph-18 .edge-thickness-normal{stroke-width:2px;}#mermaid-graph-18 .edge-thickness-thick{stroke-width:3.5px;}#mermaid-graph-18 .edge-pattern-solid{stroke-dasharray:0;}#mermaid-graph-18 .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-graph-18 .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-graph-18 .marker{fill:lightgrey;stroke:lightgrey;}#mermaid-graph-18 .marker.cross{stroke:lightgrey;}#mermaid-graph-18 svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-graph-18 defs #statediagram-barbEnd{fill:lightgrey;stroke:lightgrey;}#mermaid-graph-18 g.stateGroup text{fill:#81B1DB;stroke:none;font-size:10px;}#mermaid-graph-18 g.stateGroup text{fill:#ccc;stroke:none;font-size:10px;}#mermaid-graph-18 g.stateGroup .state-title{font-weight:bolder;fill:#e0dfdf;}#mermaid-graph-18 g.stateGroup rect{fill:#1f2020;stroke:#81B1DB;}#mermaid-graph-18 g.stateGroup line{stroke:lightgrey;stroke-width:1;}#mermaid-graph-18 .transition{stroke:lightgrey;stroke-width:1;fill:none;}#mermaid-graph-18 .stateGroup .composit{fill:#333;border-bottom:1px;}#mermaid-graph-18 .stateGroup .alt-composit{fill:#e0e0e0;border-bottom:1px;}#mermaid-graph-18 .state-note{stroke:hsl(180, 0%, 18.3529411765%);fill:hsl(180, 1.5873015873%, 28.3529411765%);}#mermaid-graph-18 .state-note text{fill:rgb(183.8476190475, 181.5523809523, 181.5523809523);stroke:none;font-size:10px;}#mermaid-graph-18 .stateLabel .box{stroke:none;stroke-width:0;fill:#1f2020;opacity:0.5;}#mermaid-graph-18 .edgeLabel .label rect{fill:#1f2020;opacity:0.5;}#mermaid-graph-18 .edgeLabel .label text{fill:#ccc;}#mermaid-graph-18 .label div .edgeLabel{color:#ccc;}#mermaid-graph-18 .stateLabel text{fill:#e0dfdf;font-size:10px;font-weight:bold;}#mermaid-graph-18 .node circle.state-start{fill:#f4f4f4;stroke:#f4f4f4;}#mermaid-graph-18 .node .fork-join{fill:#f4f4f4;stroke:#f4f4f4;}#mermaid-graph-18 .node circle.state-end{fill:#cccccc;stroke:#333;stroke-width:1.5;}#mermaid-graph-18 .end-state-inner{fill:#333;stroke-width:1.5;}#mermaid-graph-18 .node rect{fill:#1f2020;stroke:#81B1DB;stroke-width:1px;}#mermaid-graph-18 .node polygon{fill:#1f2020;stroke:#81B1DB;stroke-width:1px;}#mermaid-graph-18 #statediagram-barbEnd{fill:lightgrey;}#mermaid-graph-18 .statediagram-cluster rect{fill:#1f2020;stroke:#81B1DB;stroke-width:1px;}#mermaid-graph-18 .cluster-label,#mermaid-graph-18 .nodeLabel{color:#e0dfdf;}#mermaid-graph-18 .statediagram-cluster rect.outer{rx:5px;ry:5px;}#mermaid-graph-18 .statediagram-state .divider{stroke:#81B1DB;}#mermaid-graph-18 .statediagram-state .title-state{rx:5px;ry:5px;}#mermaid-graph-18 .statediagram-cluster.statediagram-cluster .inner{fill:#333;}#mermaid-graph-18 .statediagram-cluster.statediagram-cluster-alt .inner{fill:#555;}#mermaid-graph-18 .statediagram-cluster .inner{rx:0;ry:0;}#mermaid-graph-18 .statediagram-state rect.basic{rx:5px;ry:5px;}#mermaid-graph-18 .statediagram-state rect.divider{stroke-dasharray:10,10;fill:#555;}#mermaid-graph-18 .note-edge{stroke-dasharray:5;}#mermaid-graph-18 .statediagram-note rect{fill:hsl(180, 1.5873015873%, 28.3529411765%);stroke:hsl(180, 0%, 18.3529411765%);stroke-width:1px;rx:0;ry:0;}#mermaid-graph-18 .statediagram-note rect{fill:hsl(180, 1.5873015873%, 28.3529411765%);stroke:hsl(180, 0%, 18.3529411765%);stroke-width:1px;rx:0;ry:0;}#mermaid-graph-18 .statediagram-note text{fill:rgb(183.8476190475, 181.5523809523, 181.5523809523);}#mermaid-graph-18 .statediagram-note .nodeLabel{color:rgb(183.8476190475, 181.5523809523, 181.5523809523);}#mermaid-graph-18 .statediagram .edgeLabel{color:red;}#mermaid-graph-18 #dependencyStart,#mermaid-graph-18 #dependencyEnd{fill:lightgrey;stroke:lightgrey;stroke-width:1;}#mermaid-graph-18 .statediagramTitleText{text-anchor:middle;font-size:18px;fill:#ccc;}#mermaid-graph-18 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}</style><g><defs><marker orient="auto" markerUnits="strokeWidth" markerHeight="14" markerWidth="20" refY="7" refX="19" id="mermaid-graph-18_statediagram-barbEnd"><path d="M 19,7 L9,13 L14,7 L9,1 Z"></path></marker></defs><g class="root"><g class="clusters"></g><g class="edgePaths"><path marker-end="url(#mermaid-graph-18_statediagram-barbEnd)" style="fill:none" class="edge-thickness-normal transition" id="edge24" d="M29.52,22L29.52,26.167C29.52,30.333,29.52,38.667,29.52,47C29.52,55.333,29.52,63.667,29.52,67.833L29.52,72"></path><path marker-end="url(#mermaid-graph-18_statediagram-barbEnd)" style="fill:none" class="edge-thickness-normal transition" id="edge25" d="M10.446,111L6.37,115.167C2.295,119.333,-5.857,127.667,-9.932,139.25C-14.008,150.833,-14.008,165.667,-14.008,180.5C-14.008,195.333,-14.008,210.167,-14.008,225C-14.008,239.833,-14.008,254.667,-14.008,269.5C-14.008,284.333,-14.008,299.167,-9.264,311.111C-4.52,323.056,4.968,332.111,9.712,336.639L14.456,341.167"></path><path marker-end="url(#mermaid-graph-18_statediagram-barbEnd)" style="fill:none" class="edge-thickness-normal transition" id="edge26" d="M29.52,111L29.52,115.167C29.52,119.333,29.52,127.667,31.722,136C33.925,144.333,38.331,152.667,40.534,156.833L42.737,161"></path><path marker-end="url(#mermaid-graph-18_statediagram-barbEnd)" style="fill:none" class="edge-thickness-normal transition" id="edge27" d="M57.429,161L58.365,156.833C59.302,152.667,61.174,144.333,58.971,136C56.768,127.667,50.49,119.333,47.351,115.167L44.211,111"></path><path marker-end="url(#mermaid-graph-18_statediagram-barbEnd)" style="fill:none" class="edge-thickness-normal transition" id="edge28" d="M53.047,200L53.047,204.167C53.047,208.333,53.047,216.667,53.047,225C53.047,233.333,53.047,241.667,53.047,245.833L53.047,250"></path><path marker-end="url(#mermaid-graph-18_statediagram-barbEnd)" style="fill:none" class="edge-thickness-normal transition" id="edge29" d="M53.047,289L53.047,293.167C53.047,297.333,53.047,305.667,48.303,314.361C43.559,323.056,34.071,332.111,29.327,336.639L24.583,341.167"></path></g><g class="edgeLabels"><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><rect height="0" width="0" ry="0" rx="0"></rect><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><rect height="0" width="0" ry="0" rx="0"></rect><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><rect height="0" width="0" ry="0" rx="0"></rect><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><rect height="0" width="0" ry="0" rx="0"></rect><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><rect height="0" width="0" ry="0" rx="0"></rect><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><rect height="0" width="0" ry="0" rx="0"></rect><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g></g><g class="nodes"><g transform="translate(29.51953125, 15)" id="state-root_start-24" class="node default"><circle height="14" width="14" r="7" class="state-start"></circle></g><g transform="translate(29.51953125, 91.5)" id="state-Still-27" class="node  statediagram-state undefined"><rect height="39" width="43.0390625" y="-19.5" x="-21.51953125" style="" class="basic label-container"></rect><g transform="translate(-14.01953125, -12)" style="" class="label"><rect></rect><foreignObject height="24" width="28.0390625"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">Still</span></div></foreignObject></g></g><g transform="translate(19.51953125, 346)" id="state-root_end-29" class="node default"><circle height="14" width="14" r="7" class="state-start"></circle><circle height="10" width="10" r="5" class="state-end"></circle></g><g transform="translate(53.046875, 180.5)" id="state-Moving-28" class="node  statediagram-state undefined"><rect height="39" width="64.109375" y="-19.5" x="-32.0546875" style="" class="basic label-container"></rect><g transform="translate(-24.5546875, -12)" style="" class="label"><rect></rect><foreignObject height="24" width="49.109375"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">Moving</span></div></foreignObject></g></g><g transform="translate(53.046875, 269.5)" id="state-Crash-29" class="node  statediagram-state undefined"><rect height="39" width="54.4140625" y="-19.5" x="-27.20703125" style="" class="basic label-container"></rect><g transform="translate(-19.70703125, -12)" style="" class="label"><rect></rect><foreignObject height="24" width="39.4140625"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">Crash</span></div></foreignObject></g></g></g></g></g></svg>


blobId: zcPP8QXLUjwLIVgsk9wk
dateModified: 2025-11-03 16:29:21.718+0000
utcDateModified: 2025-11-03 16:29:21.718Z
content:
  mindmap
    root((mindmap))
      Origins
        Long history
        ::icon(fa fa-book)
        Popularisation
          British popular psychology author Tony Buzan
      Research
        On effectiveness<br/>and features
        On Automatic creation
          Uses
              Creative techniques
              Strategic planning
              Argument mapping
      Tools
        Pen and paper
        Mermaid


blobId: Ier0cgHntqGEXowIo5qv
dateModified: 2025-11-03 16:29:21.734+0000
utcDateModified: 2025-11-03 16:29:21.734Z
content:
  <svg aria-roledescription="mindmap" role="graphics-document document" viewBox="5 5 673.33642578125 674.2496948242188" style="max-width: 673.33642578125px;" xmlns="http://www.w3.org/2000/svg" width="100%" id="mermaid-graph-21"><style>#mermaid-graph-21{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#ccc;}#mermaid-graph-21 .error-icon{fill:#a44141;}#mermaid-graph-21 .error-text{fill:#ddd;stroke:#ddd;}#mermaid-graph-21 .edge-thickness-normal{stroke-width:2px;}#mermaid-graph-21 .edge-thickness-thick{stroke-width:3.5px;}#mermaid-graph-21 .edge-pattern-solid{stroke-dasharray:0;}#mermaid-graph-21 .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-graph-21 .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-graph-21 .marker{fill:lightgrey;stroke:lightgrey;}#mermaid-graph-21 .marker.cross{stroke:lightgrey;}#mermaid-graph-21 svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-graph-21 .edge{stroke-width:3;}#mermaid-graph-21 .section--1 rect,#mermaid-graph-21 .section--1 path,#mermaid-graph-21 .section--1 circle,#mermaid-graph-21 .section--1 polygon,#mermaid-graph-21 .section--1 path{fill:#1f2020;}#mermaid-graph-21 .section--1 text{fill:lightgrey;}#mermaid-graph-21 .node-icon--1{font-size:40px;color:lightgrey;}#mermaid-graph-21 .section-edge--1{stroke:#1f2020;}#mermaid-graph-21 .edge-depth--1{stroke-width:17;}#mermaid-graph-21 .section--1 line{stroke:#e0dfdf;stroke-width:3;}#mermaid-graph-21 .disabled,#mermaid-graph-21 .disabled circle,#mermaid-graph-21 .disabled text{fill:lightgray;}#mermaid-graph-21 .disabled text{fill:#efefef;}#mermaid-graph-21 .section-0 rect,#mermaid-graph-21 .section-0 path,#mermaid-graph-21 .section-0 circle,#mermaid-graph-21 .section-0 polygon,#mermaid-graph-21 .section-0 path{fill:#0b0000;}#mermaid-graph-21 .section-0 text{fill:lightgrey;}#mermaid-graph-21 .node-icon-0{font-size:40px;color:lightgrey;}#mermaid-graph-21 .section-edge-0{stroke:#0b0000;}#mermaid-graph-21 .edge-depth-0{stroke-width:14;}#mermaid-graph-21 .section-0 line{stroke:#f4ffff;stroke-width:3;}#mermaid-graph-21 .disabled,#mermaid-graph-21 .disabled circle,#mermaid-graph-21 .disabled text{fill:lightgray;}#mermaid-graph-21 .disabled text{fill:#efefef;}#mermaid-graph-21 .section-1 rect,#mermaid-graph-21 .section-1 path,#mermaid-graph-21 .section-1 circle,#mermaid-graph-21 .section-1 polygon,#mermaid-graph-21 .section-1 path{fill:#4d1037;}#mermaid-graph-21 .section-1 text{fill:lightgrey;}#mermaid-graph-21 .node-icon-1{font-size:40px;color:lightgrey;}#mermaid-graph-21 .section-edge-1{stroke:#4d1037;}#mermaid-graph-21 .edge-depth-1{stroke-width:11;}#mermaid-graph-21 .section-1 line{stroke:#b2efc8;stroke-width:3;}#mermaid-graph-21 .disabled,#mermaid-graph-21 .disabled circle,#mermaid-graph-21 .disabled text{fill:lightgray;}#mermaid-graph-21 .disabled text{fill:#efefef;}#mermaid-graph-21 .section-2 rect,#mermaid-graph-21 .section-2 path,#mermaid-graph-21 .section-2 circle,#mermaid-graph-21 .section-2 polygon,#mermaid-graph-21 .section-2 path{fill:#3f5258;}#mermaid-graph-21 .section-2 text{fill:lightgrey;}#mermaid-graph-21 .node-icon-2{font-size:40px;color:lightgrey;}#mermaid-graph-21 .section-edge-2{stroke:#3f5258;}#mermaid-graph-21 .edge-depth-2{stroke-width:8;}#mermaid-graph-21 .section-2 line{stroke:#c0ada7;stroke-width:3;}#mermaid-graph-21 .disabled,#mermaid-graph-21 .disabled circle,#mermaid-graph-21 .disabled text{fill:lightgray;}#mermaid-graph-21 .disabled text{fill:#efefef;}#mermaid-graph-21 .section-3 rect,#mermaid-graph-21 .section-3 path,#mermaid-graph-21 .section-3 circle,#mermaid-graph-21 .section-3 polygon,#mermaid-graph-21 .section-3 path{fill:#4f2f1b;}#mermaid-graph-21 .section-3 text{fill:lightgrey;}#mermaid-graph-21 .node-icon-3{font-size:40px;color:lightgrey;}#mermaid-graph-21 .section-edge-3{stroke:#4f2f1b;}#mermaid-graph-21 .edge-depth-3{stroke-width:5;}#mermaid-graph-21 .section-3 line{stroke:#b0d0e4;stroke-width:3;}#mermaid-graph-21 .disabled,#mermaid-graph-21 .disabled circle,#mermaid-graph-21 .disabled text{fill:lightgray;}#mermaid-graph-21 .disabled text{fill:#efefef;}#mermaid-graph-21 .section-4 rect,#mermaid-graph-21 .section-4 path,#mermaid-graph-21 .section-4 circle,#mermaid-graph-21 .section-4 polygon,#mermaid-graph-21 .section-4 path{fill:#6e0a0a;}#mermaid-graph-21 .section-4 text{fill:lightgrey;}#mermaid-graph-21 .node-icon-4{font-size:40px;color:lightgrey;}#mermaid-graph-21 .section-edge-4{stroke:#6e0a0a;}#mermaid-graph-21 .edge-depth-4{stroke-width:2;}#mermaid-graph-21 .section-4 line{stroke:#91f5f5;stroke-width:3;}#mermaid-graph-21 .disabled,#mermaid-graph-21 .disabled circle,#mermaid-graph-21 .disabled text{fill:lightgray;}#mermaid-graph-21 .disabled text{fill:#efefef;}#mermaid-graph-21 .section-5 rect,#mermaid-graph-21 .section-5 path,#mermaid-graph-21 .section-5 circle,#mermaid-graph-21 .section-5 polygon,#mermaid-graph-21 .section-5 path{fill:#3b0048;}#mermaid-graph-21 .section-5 text{fill:lightgrey;}#mermaid-graph-21 .node-icon-5{font-size:40px;color:lightgrey;}#mermaid-graph-21 .section-edge-5{stroke:#3b0048;}#mermaid-graph-21 .edge-depth-5{stroke-width:-1;}#mermaid-graph-21 .section-5 line{stroke:#c4ffb7;stroke-width:3;}#mermaid-graph-21 .disabled,#mermaid-graph-21 .disabled circle,#mermaid-graph-21 .disabled text{fill:lightgray;}#mermaid-graph-21 .disabled text{fill:#efefef;}#mermaid-graph-21 .section-6 rect,#mermaid-graph-21 .section-6 path,#mermaid-graph-21 .section-6 circle,#mermaid-graph-21 .section-6 polygon,#mermaid-graph-21 .section-6 path{fill:#995a01;}#mermaid-graph-21 .section-6 text{fill:lightgrey;}#mermaid-graph-21 .node-icon-6{font-size:40px;color:lightgrey;}#mermaid-graph-21 .section-edge-6{stroke:#995a01;}#mermaid-graph-21 .edge-depth-6{stroke-width:-4;}#mermaid-graph-21 .section-6 line{stroke:#66a5fe;stroke-width:3;}#mermaid-graph-21 .disabled,#mermaid-graph-21 .disabled circle,#mermaid-graph-21 .disabled text{fill:lightgray;}#mermaid-graph-21 .disabled text{fill:#efefef;}#mermaid-graph-21 .section-7 rect,#mermaid-graph-21 .section-7 path,#mermaid-graph-21 .section-7 circle,#mermaid-graph-21 .section-7 polygon,#mermaid-graph-21 .section-7 path{fill:#154706;}#mermaid-graph-21 .section-7 text{fill:lightgrey;}#mermaid-graph-21 .node-icon-7{font-size:40px;color:lightgrey;}#mermaid-graph-21 .section-edge-7{stroke:#154706;}#mermaid-graph-21 .edge-depth-7{stroke-width:-7;}#mermaid-graph-21 .section-7 line{stroke:#eab8f9;stroke-width:3;}#mermaid-graph-21 .disabled,#mermaid-graph-21 .disabled circle,#mermaid-graph-21 .disabled text{fill:lightgray;}#mermaid-graph-21 .disabled text{fill:#efefef;}#mermaid-graph-21 .section-8 rect,#mermaid-graph-21 .section-8 path,#mermaid-graph-21 .section-8 circle,#mermaid-graph-21 .section-8 polygon,#mermaid-graph-21 .section-8 path{fill:#161722;}#mermaid-graph-21 .section-8 text{fill:lightgrey;}#mermaid-graph-21 .node-icon-8{font-size:40px;color:lightgrey;}#mermaid-graph-21 .section-edge-8{stroke:#161722;}#mermaid-graph-21 .edge-depth-8{stroke-width:-10;}#mermaid-graph-21 .section-8 line{stroke:#e9e8dd;stroke-width:3;}#mermaid-graph-21 .disabled,#mermaid-graph-21 .disabled circle,#mermaid-graph-21 .disabled text{fill:lightgray;}#mermaid-graph-21 .disabled text{fill:#efefef;}#mermaid-graph-21 .section-9 rect,#mermaid-graph-21 .section-9 path,#mermaid-graph-21 .section-9 circle,#mermaid-graph-21 .section-9 polygon,#mermaid-graph-21 .section-9 path{fill:#00296f;}#mermaid-graph-21 .section-9 text{fill:lightgrey;}#mermaid-graph-21 .node-icon-9{font-size:40px;color:lightgrey;}#mermaid-graph-21 .section-edge-9{stroke:#00296f;}#mermaid-graph-21 .edge-depth-9{stroke-width:-13;}#mermaid-graph-21 .section-9 line{stroke:#ffd690;stroke-width:3;}#mermaid-graph-21 .disabled,#mermaid-graph-21 .disabled circle,#mermaid-graph-21 .disabled text{fill:lightgray;}#mermaid-graph-21 .disabled text{fill:#efefef;}#mermaid-graph-21 .section-10 rect,#mermaid-graph-21 .section-10 path,#mermaid-graph-21 .section-10 circle,#mermaid-graph-21 .section-10 polygon,#mermaid-graph-21 .section-10 path{fill:#01629c;}#mermaid-graph-21 .section-10 text{fill:lightgrey;}#mermaid-graph-21 .node-icon-10{font-size:40px;color:lightgrey;}#mermaid-graph-21 .section-edge-10{stroke:#01629c;}#mermaid-graph-21 .edge-depth-10{stroke-width:-16;}#mermaid-graph-21 .section-10 line{stroke:#fe9d63;stroke-width:3;}#mermaid-graph-21 .disabled,#mermaid-graph-21 .disabled circle,#mermaid-graph-21 .disabled text{fill:lightgray;}#mermaid-graph-21 .disabled text{fill:#efefef;}#mermaid-graph-21 .section-root rect,#mermaid-graph-21 .section-root path,#mermaid-graph-21 .section-root circle,#mermaid-graph-21 .section-root polygon{fill:hsl(180, 1.5873015873%, 48.3529411765%);}#mermaid-graph-21 .section-root text{fill:#2c2c2c;}#mermaid-graph-21 .icon-container{height:100%;display:flex;justify-content:center;align-items:center;}#mermaid-graph-21 .edge{fill:none;}#mermaid-graph-21 .mindmap-node-label{dy:1em;alignment-baseline:middle;text-anchor:middle;dominant-baseline:middle;text-align:center;}#mermaid-graph-21 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}</style><g></g><g></g><g class="mindmap-edges"><path class="edge section-edge-0 edge-depth-1" d="M 294.0890966857693,209.09401924084548 L 232.5192536985416,181.16969208050972 L170.94941071131396,153.24536492017398"></path><path class="edge section-edge-0 edge-depth-2" d="M 390.0489196904433,127.3056350168871 L 387.0892092625336,92.35302525145644 L384.12949883462386,57.40041548602579"></path><path class="edge section-edge-0 edge-depth-1" d="M 319.04388703566156,205.41835095472214 L 349.53216284491896,178.77090603177382 L380.02043865417636,152.1234611088255"></path><path class="edge section-edge-0 edge-depth-0" d="M 296.6354210344577,292.0530395132091 L 301.1178974710082,261.09395565185173 L305.60037390755866,230.1348717904944"></path><path class="edge section-edge-1 edge-depth-1" d="M 369.1776964247188,384.8987939792621 L 436.6619187361724,368.20644488025755 L504.14614104762603,351.514095781253"></path><path class="edge section-edge-1 edge-depth-3" d="M 439.11569234758633,564.3381277923824 L 505.4637441720238,560.1293010334722 L571.8117959964612,555.920474274562"></path><path class="edge section-edge-1 edge-depth-3" d="M 431.4191438903088,578.4063733156934 L 447.7944770793815,607.9417918559519 L464.1698102684542,637.4772103962105"></path><path class="edge section-edge-1 edge-depth-3" d="M 409.34579376541285,567.7291344485448 L 345.0896688596654,578.3287194366775 L280.8335439539179,588.9283044248102"></path><path class="edge section-edge-1 edge-depth-2" d="M 388.80092316482575,491.7589686948048 L 403.2240564150551,521.7637694037093 L417.64718966528443,551.7685701126137"></path><path class="edge section-edge-1 edge-depth-1" d="M 359.0385740540923,402.83389698939936 L 368.4594310093803,433.3701558395278 L377.8802879646683,463.90641468965623"></path><path class="edge section-edge-1 edge-depth-0" d="M 303.38425276839394,318.9739045799306 L 324.5512789810822,347.69938488533006 L345.71830519377045,376.4248651907295"></path><path class="edge section-edge-2 edge-depth-1" d="M 158.93532421154126,336.8388399855101 L 133.94202313597253,364.4895069624221 L108.94872206040381,392.14017393933415"></path><path class="edge section-edge-2 edge-depth-1" d="M 155.60596714668878,318.94579246941885 L 112.36209373761449,297.0934287477596 L69.11822032854018,275.2410650261004"></path><path class="edge section-edge-2 edge-depth-0" d="M 279.6517892053958,309.12206954491836 L 231.73987269640338,316.3046248899087 L183.82795618741096,323.4871802348991"></path></g><g class="mindmap-nodes"><g transform="translate(251.4352454175778, 288.2443380060082)" class="mindmap-node section--1 section-root"><g transform="translate(43.05078125, 18.65390625)"><circle r="43.05078125" class="node-bkg node-circle" id="node-0"></circle></g><g transform="translate(43.05078125, 5)" text-anchor="middle" dominant-baseline="middle" alignment-baseline="middle" dy="1em"><g><rect class="background"></rect><text y="-10.1"><tspan dy="1.1em" y="-0.1em" x="0" class="text-outer-tspan"><tspan font-weight="normal" class="text-inner-tspan" font-style="normal">mindmap</tspan></tspan></text></g></g></g><g transform="translate(273.06226827443857, 196.6357607976953)" class="mindmap-node section-0"><g><path d="M0 32.3078125 v-27.307812499999997 q0,-5 5,-5 h59.375 q5,0 5,5 v32.3078125 H0 Z" class="node-bkg node-no-border" id="node-1"></path><line y2="37.3078125" x2="69.375" y1="37.3078125" x1="0" class="node-line-0"></line></g><g transform="translate(34.6875, 5)" text-anchor="middle" dominant-baseline="middle" alignment-baseline="middle" dy="1em"><g><rect class="background"></rect><text y="-10.1"><tspan dy="1.1em" y="-0.1em" x="0" class="text-outer-tspan"><tspan font-weight="normal" class="text-inner-tspan" font-style="normal">Origins</tspan></tspan></text></g></g></g><g transform="translate(78.73795787264464, 117.04971711332416)" class="mindmap-node section-0"><g><path d="M0 55 v-50 q0,-5 5,-5 h147.1015625 q5,0 5,5 v55 H0 Z" class="node-bkg node-no-border" id="node-2"></path><line y2="60" x2="157.1015625" y1="60" x1="0" class="node-line-0"></line></g><g transform="translate(103.55078125, 16.34609375)" text-anchor="middle" dominant-baseline="middle" alignment-baseline="middle" dy="1em"><g><rect class="background"></rect><text y="-10.1"><tspan dy="1.1em" y="-0.1em" x="0" class="text-outer-tspan"><tspan font-weight="normal" class="text-inner-tspan" font-style="normal">Long</tspan><tspan font-weight="normal" class="text-inner-tspan" font-style="normal"> history</tspan></tspan></text></g></g><foreignObject style="text-align: center;margin-top:11.346093750000001px;" height="60" width="60px"><div xmlns="http://www.w3.org/1999/xhtml" class="icon-container"><i class="node-icon-0 fa fa-book"></i></div></foreignObject></g><g transform="translate(330.59580741539935, 123.59823876585233)" class="mindmap-node section-0"><g><path d="M0 32.3078125 v-27.307812499999997 q0,-5 5,-5 h111.4375 q5,0 5,5 v32.3078125 H0 Z" class="node-bkg node-no-border" id="node-3"></path><line y2="37.3078125" x2="121.4375" y1="37.3078125" x1="0" class="node-line-0"></line></g><g transform="translate(60.71875, 5)" text-anchor="middle" dominant-baseline="middle" alignment-baseline="middle" dy="1em"><g><rect class="background"></rect><text y="-10.1"><tspan dy="1.1em" y="-0.1em" x="0" class="text-outer-tspan"><tspan font-weight="normal" class="text-inner-tspan" font-style="normal">Popularisation</tspan></tspan></text></g></g></g><g transform="translate(278.9341736096678, 15)" class="mindmap-node section-0"><g><path d="M0 49.90781097412109 v-44.90781097412109 q0,-5 5,-5 h197.859375 q5,0 5,5 v49.90781097412109 H0 Z" class="node-bkg node-no-border" id="node-4"></path><line y2="54.90781097412109" x2="207.859375" y1="54.90781097412109" x1="0" class="node-line-0"></line></g><g transform="translate(103.9296875, 5)" text-anchor="middle" dominant-baseline="middle" alignment-baseline="middle" dy="1em"><g><rect class="background"></rect><text y="-10.1"><tspan dy="1.1em" y="-0.1em" x="0" class="text-outer-tspan"><tspan font-weight="normal" class="text-inner-tspan" font-style="normal">British</tspan><tspan font-weight="normal" class="text-inner-tspan" font-style="normal"> popular</tspan><tspan font-weight="normal" class="text-inner-tspan" font-style="normal"> psychology</tspan></tspan><tspan dy="1.1em" y="1em" x="0" class="text-outer-tspan"><tspan font-weight="normal" class="text-inner-tspan" font-style="normal">author</tspan><tspan font-weight="normal" class="text-inner-tspan" font-style="normal"> Tony</tspan><tspan font-weight="normal" class="text-inner-tspan" font-style="normal"> Buzan</tspan></tspan></text></g></g></g><g transform="translate(312.6751250445866, 369.84661926465196)" class="mindmap-node section-1"><g><path d="M0 32.3078125 v-27.307812499999997 q0,-5 5,-5 h73.8828125 q5,0 5,5 v32.3078125 H0 Z" class="node-bkg node-no-border" id="node-5"></path><line y2="37.3078125" x2="83.8828125" y1="37.3078125" x1="0" class="node-line-1"></line></g><g transform="translate(41.94140625, 5)" text-anchor="middle" dominant-baseline="middle" alignment-baseline="middle" dy="1em"><g><rect class="background"></rect><text y="-10.1"><tspan dy="1.1em" y="-0.1em" x="0" class="text-outer-tspan"><tspan font-weight="normal" class="text-inner-tspan" font-style="normal">Research</tspan></tspan></text></g></g></g><g transform="translate(448.98855617775826, 320.45845875880264)" class="mindmap-node section-1"><g><path d="M0 49.90781097412109 v-44.90781097412109 q0,-5 5,-5 h129.4375 q5,0 5,5 v49.90781097412109 H0 Z" class="node-bkg node-no-border" id="node-6"></path><line y2="54.90781097412109" x2="139.4375" y1="54.90781097412109" x1="0" class="node-line-1"></line></g><g transform="translate(69.71875, 5)" text-anchor="middle" dominant-baseline="middle" alignment-baseline="middle" dy="1em"><g><rect class="background"></rect><text y="-10.1"><tspan dy="1.1em" y="-0.1em" x="0" class="text-outer-tspan"><tspan font-weight="normal" class="text-inner-tspan" font-style="normal">On</tspan><tspan font-weight="normal" class="text-inner-tspan" font-style="normal"> effectiveness</tspan></tspan><tspan dy="1.1em" y="1em" x="0" class="text-outer-tspan"><tspan font-weight="normal" class="text-inner-tspan" font-style="normal">and</tspan><tspan font-weight="normal" class="text-inner-tspan" font-style="normal"> features</tspan></tspan></text></g></g></g><g transform="translate(291.595299474174, 459.5858799144037)" class="mindmap-node section-1"><g><path d="M0 32.3078125 v-27.307812499999997 q0,-5 5,-5 h171.4140625 q5,0 5,5 v32.3078125 H0 Z" class="node-bkg node-no-border" id="node-7"></path><line y2="37.3078125" x2="181.4140625" y1="37.3078125" x1="0" class="node-line-1"></line></g><g transform="translate(90.70703125, 5)" text-anchor="middle" dominant-baseline="middle" alignment-baseline="middle" dy="1em"><g><rect class="background"></rect><text y="-10.1"><tspan dy="1.1em" y="-0.1em" x="0" class="text-outer-tspan"><tspan font-weight="normal" class="text-inner-tspan" font-style="normal">On</tspan><tspan font-weight="normal" class="text-inner-tspan" font-style="normal"> Automatic</tspan><tspan font-weight="normal" class="text-inner-tspan" font-style="normal"> creation</tspan></tspan></text></g></g></g><g transform="translate(398.1184383559362, 546.6338463930149)" class="mindmap-node section-1"><g><path d="M0 32.3078125 v-27.307812499999997 q0,-5 5,-5 h42.0546875 q5,0 5,5 v32.3078125 H0 Z" class="node-bkg node-no-border" id="node-8"></path><line y2="37.3078125" x2="52.0546875" y1="37.3078125" x1="0" class="node-line-1"></line></g><g transform="translate(26.02734375, 5)" text-anchor="middle" dominant-baseline="middle" alignment-baseline="middle" dy="1em"><g><rect class="background"></rect><text y="-10.1"><tspan dy="1.1em" y="-0.1em" x="0" class="text-outer-tspan"><tspan font-weight="normal" class="text-inner-tspan" font-style="normal">Uses</tspan></tspan></text></g></g></g><g transform="translate(505.2270187381114, 536.3169431739295)" class="mindmap-node section-1"><g><path d="M0 32.3078125 v-27.307812499999997 q0,-5 5,-5 h153.109375 q5,0 5,5 v32.3078125 H0 Z" class="node-bkg node-no-border" id="node-9"></path><line y2="37.3078125" x2="163.109375" y1="37.3078125" x1="0" class="node-line-1"></line></g><g transform="translate(81.5546875, 5)" text-anchor="middle" dominant-baseline="middle" alignment-baseline="middle" dy="1em"><g><rect class="background"></rect><text y="-10.1"><tspan dy="1.1em" y="-0.1em" x="0" class="text-outer-tspan"><tspan font-weight="normal" class="text-inner-tspan" font-style="normal">Creative</tspan><tspan font-weight="normal" class="text-inner-tspan" font-style="normal"> techniques</tspan></tspan></text></g></g></g><g transform="translate(396.47832830282687, 631.941924818889)" class="mindmap-node section-1"><g><path d="M0 32.3078125 v-27.307812499999997 q0,-5 5,-5 h139.9296875 q5,0 5,5 v32.3078125 H0 Z" class="node-bkg node-no-border" id="node-10"></path><line y2="37.3078125" x2="149.9296875" y1="37.3078125" x1="0" class="node-line-1"></line></g><g transform="translate(74.96484375, 5)" text-anchor="middle" dominant-baseline="middle" alignment-baseline="middle" dy="1em"><g><rect class="background"></rect><text y="-10.1"><tspan dy="1.1em" y="-0.1em" x="0" class="text-outer-tspan"><tspan font-weight="normal" class="text-inner-tspan" font-style="normal">Strategic</tspan><tspan font-weight="normal" class="text-inner-tspan" font-style="normal"> planning</tspan></tspan></text></g></g></g><g transform="translate(188.43589936339458, 572.7157799803401)" class="mindmap-node section-1"><g><path d="M0 32.3078125 v-27.307812499999997 q0,-5 5,-5 h145.1953125 q5,0 5,5 v32.3078125 H0 Z" class="node-bkg node-no-border" id="node-11"></path><line y2="37.3078125" x2="155.1953125" y1="37.3078125" x1="0" class="node-line-1"></line></g><g transform="translate(77.59765625, 5)" text-anchor="middle" dominant-baseline="middle" alignment-baseline="middle" dy="1em"><g><rect class="background"></rect><text y="-10.1"><tspan dy="1.1em" y="-0.1em" x="0" class="text-outer-tspan"><tspan font-weight="normal" class="text-inner-tspan" font-style="normal">Argument</tspan><tspan font-weight="normal" class="text-inner-tspan" font-style="normal"> mapping</tspan></tspan></text></g></g></g><g transform="translate(141.16168747522897, 307.0570992738093)" class="mindmap-node section-2"><g><path d="M0 32.3078125 v-27.307812499999997 q0,-5 5,-5 h45.6640625 q5,0 5,5 v32.3078125 H0 Z" class="node-bkg node-no-border" id="node-12"></path><line y2="37.3078125" x2="55.6640625" y1="37.3078125" x1="0" class="node-line-2"></line></g><g transform="translate(27.83203125, 5)" text-anchor="middle" dominant-baseline="middle" alignment-baseline="middle" dy="1em"><g><rect class="background"></rect><text y="-10.1"><tspan dy="1.1em" y="-0.1em" x="0" class="text-outer-tspan"><tspan font-weight="normal" class="text-inner-tspan" font-style="normal">Tools</tspan></tspan></text></g></g></g><g transform="translate(37.628608796716094, 384.614102151035)" class="mindmap-node section-2"><g><path d="M0 32.3078125 v-27.307812499999997 q0,-5 5,-5 h112.5234375 q5,0 5,5 v32.3078125 H0 Z" class="node-bkg node-no-border" id="node-13"></path><line y2="37.3078125" x2="122.5234375" y1="37.3078125" x1="0" class="node-line-2"></line></g><g transform="translate(61.26171875, 5)" text-anchor="middle" dominant-baseline="middle" alignment-baseline="middle" dy="1em"><g><rect class="background"></rect><text y="-10.1"><tspan dy="1.1em" y="-0.1em" x="0" class="text-outer-tspan"><tspan font-weight="normal" class="text-inner-tspan" font-style="normal">Pen</tspan><tspan font-weight="normal" class="text-inner-tspan" font-style="normal"> and</tspan><tspan font-weight="normal" class="text-inner-tspan" font-style="normal"> paper</tspan></tspan></text></g></g></g><g transform="translate(15, 249.82194572170997)" class="mindmap-node section-2"><g><path d="M0 32.3078125 v-27.307812499999997 q0,-5 5,-5 h71.4609375 q5,0 5,5 v32.3078125 H0 Z" class="node-bkg node-no-border" id="node-14"></path><line y2="37.3078125" x2="81.4609375" y1="37.3078125" x1="0" class="node-line-2"></line></g><g transform="translate(40.73046875, 5)" text-anchor="middle" dominant-baseline="middle" alignment-baseline="middle" dy="1em"><g><rect class="background"></rect><text y="-10.1"><tspan dy="1.1em" y="-0.1em" x="0" class="text-outer-tspan"><tspan font-weight="normal" class="text-inner-tspan" font-style="normal">Mermaid</tspan></tspan></text></g></g></g></g></svg>


blobId: f2Gvlv0QT2Sb67dz4J1j
dateModified: 2025-11-03 16:29:21.760+0000
utcDateModified: 2025-11-03 16:29:21.761Z
content:
  <svg aria-roledescription="pie" role="graphics-document document" style="max-width: 1043px;" viewBox="0 0 1043 450" xmlns="http://www.w3.org/2000/svg" width="100%" id="mermaid-graph-24"><style>#mermaid-graph-24{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#ccc;}#mermaid-graph-24 .error-icon{fill:#a44141;}#mermaid-graph-24 .error-text{fill:#ddd;stroke:#ddd;}#mermaid-graph-24 .edge-thickness-normal{stroke-width:2px;}#mermaid-graph-24 .edge-thickness-thick{stroke-width:3.5px;}#mermaid-graph-24 .edge-pattern-solid{stroke-dasharray:0;}#mermaid-graph-24 .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-graph-24 .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-graph-24 .marker{fill:lightgrey;stroke:lightgrey;}#mermaid-graph-24 .marker.cross{stroke:lightgrey;}#mermaid-graph-24 svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-graph-24 .pieCircle{stroke:black;stroke-width:2px;opacity:0.7;}#mermaid-graph-24 .pieOuterCircle{stroke:black;stroke-width:2px;fill:none;}#mermaid-graph-24 .pieTitleText{text-anchor:middle;font-size:25px;fill:hsl(28.5714285714, 17.3553719008%, 86.2745098039%);font-family:"trebuchet ms",verdana,arial,sans-serif;}#mermaid-graph-24 .slice{font-family:"trebuchet ms",verdana,arial,sans-serif;fill:#ccc;font-size:17px;}#mermaid-graph-24 .legend text{fill:hsl(28.5714285714, 17.3553719008%, 86.2745098039%);font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:17px;}#mermaid-graph-24 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}</style><g></g><g transform="translate(521.5,225)"><circle class="pieOuterCircle" r="186" cy="0" cx="0"></circle><path class="pieCircle" fill="#0b0000" d="M0,-185A185,185,0,1,1,-177.899,-50.763L0,0Z"></path><path class="pieCircle" fill="#4d1037" d="M-177.899,-50.763A185,185,0,0,1,-35.652,-181.532L0,0Z"></path><path class="pieCircle" fill="#3f5258" d="M-35.652,-181.532A185,185,0,0,1,0,-185L0,0Z"></path><text style="text-anchor: middle;" class="slice" transform="translate(83.57344705444068,110.75667676234512)">79%</text><text style="text-anchor: middle;" class="slice" transform="translate(-93.90333582091016,-102.14561185731559)">17%</text><text style="text-anchor: middle;" class="slice" transform="translate(-13.432508310066218,-138.09826291630174)">3%</text><text class="pieTitleText" y="-200" x="0"></text><g transform="translate(216,-33)" class="legend"><rect style="fill: rgb(11, 0, 0); stroke: rgb(11, 0, 0);" height="18" width="18"></rect><text y="14" x="22">Dogs</text></g><g transform="translate(216,-11)" class="legend"><rect style="fill: rgb(77, 16, 55); stroke: rgb(77, 16, 55);" height="18" width="18"></rect><text y="14" x="22">Cats</text></g><g transform="translate(216,11)" class="legend"><rect style="fill: rgb(63, 82, 88); stroke: rgb(63, 82, 88);" height="18" width="18"></rect><text y="14" x="22">Rats</text></g></g></svg>


blobId: R8c9ekxGHnxXpDMOia6L
dateModified: 2025-11-03 16:29:21.772+0000
utcDateModified: 2025-11-03 16:29:21.773Z
content:
   journey
      title My working day
      section Go to work
        Make tea: 5: Me
        Go upstairs: 3: Me
        Do work: 1: Me, Cat
      section Go home
        Go downstairs: 5: Me
        Sit down: 3: Me


blobId: gDqpo6wVh4EGqpKqhNq8
dateModified: 2025-11-03 16:29:21.783+0000
utcDateModified: 2025-11-03 16:29:21.783Z
content:
  <svg aria-roledescription="journey" role="graphics-document document" preserveAspectRatio="xMinYMin meet" viewBox="0 -25 1300 540" height="565" xmlns="http://www.w3.org/2000/svg" width="1300" id="mermaid-graph-27"><style>#mermaid-graph-27{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#ccc;}#mermaid-graph-27 .error-icon{fill:#a44141;}#mermaid-graph-27 .error-text{fill:#ddd;stroke:#ddd;}#mermaid-graph-27 .edge-thickness-normal{stroke-width:2px;}#mermaid-graph-27 .edge-thickness-thick{stroke-width:3.5px;}#mermaid-graph-27 .edge-pattern-solid{stroke-dasharray:0;}#mermaid-graph-27 .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-graph-27 .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-graph-27 .marker{fill:lightgrey;stroke:lightgrey;}#mermaid-graph-27 .marker.cross{stroke:lightgrey;}#mermaid-graph-27 svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-graph-27 .label{font-family:'trebuchet ms',verdana,arial,sans-serif;font-family:var(--mermaid-font-family);color:#ccc;}#mermaid-graph-27 .mouth{stroke:#666;}#mermaid-graph-27 line{stroke:#ccc;}#mermaid-graph-27 .legend{fill:#ccc;}#mermaid-graph-27 .label text{fill:#333;}#mermaid-graph-27 .label{color:#ccc;}#mermaid-graph-27 .face{fill:#FFF8DC;stroke:#999;}#mermaid-graph-27 .node rect,#mermaid-graph-27 .node circle,#mermaid-graph-27 .node ellipse,#mermaid-graph-27 .node polygon,#mermaid-graph-27 .node path{fill:#1f2020;stroke:#81B1DB;stroke-width:1px;}#mermaid-graph-27 .node .label{text-align:center;}#mermaid-graph-27 .node.clickable{cursor:pointer;}#mermaid-graph-27 .arrowheadPath{fill:lightgrey;}#mermaid-graph-27 .edgePath .path{stroke:lightgrey;stroke-width:1.5px;}#mermaid-graph-27 .flowchart-link{stroke:lightgrey;fill:none;}#mermaid-graph-27 .edgeLabel{background-color:hsl(0, 0%, 34.4117647059%);text-align:center;}#mermaid-graph-27 .edgeLabel rect{opacity:0.5;}#mermaid-graph-27 .cluster text{fill:#F9FFFE;}#mermaid-graph-27 div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:'trebuchet ms',verdana,arial,sans-serif;font-family:var(--mermaid-font-family);font-size:12px;background:hsl(20, 1.5873015873%, 12.3529411765%);border:1px solid rgba(255, 255, 255, 0.25);border-radius:2px;pointer-events:none;z-index:100;}#mermaid-graph-27 .task-type-0,#mermaid-graph-27 .section-type-0{fill:#1f2020;}#mermaid-graph-27 .task-type-1,#mermaid-graph-27 .section-type-1{fill:hsl(180, 1.5873015873%, 28.3529411765%);}#mermaid-graph-27 .task-type-2,#mermaid-graph-27 .section-type-2{fill:hsl(244, 1.5873015873%, 12.3529411765%);}#mermaid-graph-27 .task-type-3,#mermaid-graph-27 .section-type-3{fill:hsl(244, 1.5873015873%, 28.3529411765%);}#mermaid-graph-27 .task-type-4,#mermaid-graph-27 .section-type-4{fill:hsl(116, 1.5873015873%, 12.3529411765%);}#mermaid-graph-27 .task-type-5,#mermaid-graph-27 .section-type-5{fill:hsl(116, 1.5873015873%, 28.3529411765%);}#mermaid-graph-27 .task-type-6,#mermaid-graph-27 .section-type-6{fill:hsl(308, 1.5873015873%, 12.3529411765%);}#mermaid-graph-27 .task-type-7,#mermaid-graph-27 .section-type-7{fill:hsl(308, 1.5873015873%, 28.3529411765%);}#mermaid-graph-27 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}</style><g></g><defs><marker orient="auto" markerHeight="4" markerWidth="6" refY="2" refX="5" id="arrowhead"><path d="M 0,0 V 4 L6,2 Z"></path></marker></defs><circle r="7" stroke="#000" fill="#8FBC8F" class="actor-0" cy="60" cx="20"></circle><text class="legend" y="67" x="40"><tspan x="50">Cat</tspan></text><circle r="7" stroke="#000" fill="#7CFC00" class="actor-1" cy="80" cx="20"></circle><text class="legend" y="87" x="40"><tspan x="50">Me</tspan></text><g><rect class="journey-section section-type-0" ry="3" rx="3" height="50" width="550" stroke="#666" fill="#191970" y="50" x="150"></rect><switch><foreignObject height="50" width="550" y="50" x="150"><div style="display: table; height: 100%; width: 100%;" xmlns="http://www.w3.org/1999/xhtml" class="journey-section section-type-0"><div style="display: table-cell; text-align: center; vertical-align: middle;" class="label">Go to work</div></div></foreignObject><text style="text-anchor: middle; font-size: 14px; font-family: &quot;Open Sans&quot;, sans-serif;" class="journey-section section-type-0" alignment-baseline="central" dominant-baseline="central" y="75" x="425"><tspan dy="0" x="425">Go to work</tspan></text></switch></g><g><line stroke="#666" stroke-dasharray="4 2" stroke-width="1px" class="task-line" y2="450" x2="225" y1="110" x1="225" id="task15"></line><circle overflow="visible" stroke-width="2" r="15" class="face" cy="300" cx="225"></circle><g><circle stroke="#666" fill="#666" stroke-width="2" r="1.5" cy="295" cx="220"></circle><circle stroke="#666" fill="#666" stroke-width="2" r="1.5" cy="295" cx="230"></circle><path transform="translate(225,302)" d="M7.5,0A7.5,7.5,0,1,1,-7.5,0L-6.818,0A6.818,6.818,0,1,0,6.818,0Z" class="mouth"></path></g><rect class="task task-type-0" ry="3" rx="3" height="50" width="150" stroke="#666" fill="#191970" y="110" x="150"></rect><circle r="7" stroke="#000" fill="#7CFC00" class="actor-1" cy="110" cx="164"><title>Me</title></circle><switch><foreignObject height="50" width="150" y="110" x="150"><div style="display: table; height: 100%; width: 100%;" xmlns="http://www.w3.org/1999/xhtml" class="task"><div style="display: table-cell; text-align: center; vertical-align: middle;" class="label">Make tea</div></div></foreignObject><text style="text-anchor: middle; font-size: 14px; font-family: &quot;Open Sans&quot;, sans-serif;" class="task" alignment-baseline="central" dominant-baseline="central" y="135" x="225"><tspan dy="0" x="225">Make tea</tspan></text></switch></g><g><line stroke="#666" stroke-dasharray="4 2" stroke-width="1px" class="task-line" y2="450" x2="425" y1="110" x1="425" id="task16"></line><circle overflow="visible" stroke-width="2" r="15" class="face" cy="360" cx="425"></circle><g><circle stroke="#666" fill="#666" stroke-width="2" r="1.5" cy="355" cx="420"></circle><circle stroke="#666" fill="#666" stroke-width="2" r="1.5" cy="355" cx="430"></circle><line stroke-width="1px" y2="367" x2="430" y1="367" x1="420" stroke="#666" class="mouth"></line></g><rect class="task task-type-0" ry="3" rx="3" height="50" width="150" stroke="#666" fill="#191970" y="110" x="350"></rect><circle r="7" stroke="#000" fill="#7CFC00" class="actor-1" cy="110" cx="364"><title>Me</title></circle><switch><foreignObject height="50" width="150" y="110" x="350"><div style="display: table; height: 100%; width: 100%;" xmlns="http://www.w3.org/1999/xhtml" class="task"><div style="display: table-cell; text-align: center; vertical-align: middle;" class="label">Go upstairs</div></div></foreignObject><text style="text-anchor: middle; font-size: 14px; font-family: &quot;Open Sans&quot;, sans-serif;" class="task" alignment-baseline="central" dominant-baseline="central" y="135" x="425"><tspan dy="0" x="425">Go upstairs</tspan></text></switch></g><g><line stroke="#666" stroke-dasharray="4 2" stroke-width="1px" class="task-line" y2="450" x2="625" y1="110" x1="625" id="task17"></line><circle overflow="visible" stroke-width="2" r="15" class="face" cy="420" cx="625"></circle><g><circle stroke="#666" fill="#666" stroke-width="2" r="1.5" cy="415" cx="620"></circle><circle stroke="#666" fill="#666" stroke-width="2" r="1.5" cy="415" cx="630"></circle><path transform="translate(625,427)" d="M-7.5,0A7.5,7.5,0,1,1,7.5,0L6.818,0A6.818,6.818,0,1,0,-6.818,0Z" class="mouth"></path></g><rect class="task task-type-0" ry="3" rx="3" height="50" width="150" stroke="#666" fill="#191970" y="110" x="550"></rect><circle r="7" stroke="#000" fill="#7CFC00" class="actor-1" cy="110" cx="564"><title>Me</title></circle><circle r="7" stroke="#000" fill="#8FBC8F" class="actor-0" cy="110" cx="574"><title>Cat</title></circle><switch><foreignObject height="50" width="150" y="110" x="550"><div style="display: table; height: 100%; width: 100%;" xmlns="http://www.w3.org/1999/xhtml" class="task"><div style="display: table-cell; text-align: center; vertical-align: middle;" class="label">Do work</div></div></foreignObject><text style="text-anchor: middle; font-size: 14px; font-family: &quot;Open Sans&quot;, sans-serif;" class="task" alignment-baseline="central" dominant-baseline="central" y="135" x="625"><tspan dy="0" x="625">Do work</tspan></text></switch></g><g><rect class="journey-section section-type-1" ry="3" rx="3" height="50" width="350" stroke="#666" fill="#8B008B" y="50" x="750"></rect><switch><foreignObject height="50" width="350" y="50" x="750"><div style="display: table; height: 100%; width: 100%;" xmlns="http://www.w3.org/1999/xhtml" class="journey-section section-type-1"><div style="display: table-cell; text-align: center; vertical-align: middle;" class="label">Go home</div></div></foreignObject><text style="text-anchor: middle; font-size: 14px; font-family: &quot;Open Sans&quot;, sans-serif;" class="journey-section section-type-1" alignment-baseline="central" dominant-baseline="central" y="75" x="925"><tspan dy="0" x="925">Go home</tspan></text></switch></g><g><line stroke="#666" stroke-dasharray="4 2" stroke-width="1px" class="task-line" y2="450" x2="825" y1="110" x1="825" id="task18"></line><circle overflow="visible" stroke-width="2" r="15" class="face" cy="300" cx="825"></circle><g><circle stroke="#666" fill="#666" stroke-width="2" r="1.5" cy="295" cx="820"></circle><circle stroke="#666" fill="#666" stroke-width="2" r="1.5" cy="295" cx="830"></circle><path transform="translate(825,302)" d="M7.5,0A7.5,7.5,0,1,1,-7.5,0L-6.818,0A6.818,6.818,0,1,0,6.818,0Z" class="mouth"></path></g><rect class="task task-type-1" ry="3" rx="3" height="50" width="150" stroke="#666" fill="#8B008B" y="110" x="750"></rect><circle r="7" stroke="#000" fill="#7CFC00" class="actor-1" cy="110" cx="764"><title>Me</title></circle><switch><foreignObject height="50" width="150" y="110" x="750"><div style="display: table; height: 100%; width: 100%;" xmlns="http://www.w3.org/1999/xhtml" class="task"><div style="display: table-cell; text-align: center; vertical-align: middle;" class="label">Go downstairs</div></div></foreignObject><text style="text-anchor: middle; font-size: 14px; font-family: &quot;Open Sans&quot;, sans-serif;" class="task" alignment-baseline="central" dominant-baseline="central" y="135" x="825"><tspan dy="0" x="825">Go downstairs</tspan></text></switch></g><g><line stroke="#666" stroke-dasharray="4 2" stroke-width="1px" class="task-line" y2="450" x2="1025" y1="110" x1="1025" id="task19"></line><circle overflow="visible" stroke-width="2" r="15" class="face" cy="360" cx="1025"></circle><g><circle stroke="#666" fill="#666" stroke-width="2" r="1.5" cy="355" cx="1020"></circle><circle stroke="#666" fill="#666" stroke-width="2" r="1.5" cy="355" cx="1030"></circle><line stroke-width="1px" y2="367" x2="1030" y1="367" x1="1020" stroke="#666" class="mouth"></line></g><rect class="task task-type-1" ry="3" rx="3" height="50" width="150" stroke="#666" fill="#8B008B" y="110" x="950"></rect><circle r="7" stroke="#000" fill="#7CFC00" class="actor-1" cy="110" cx="964"><title>Me</title></circle><switch><foreignObject height="50" width="150" y="110" x="950"><div style="display: table; height: 100%; width: 100%;" xmlns="http://www.w3.org/1999/xhtml" class="task"><div style="display: table-cell; text-align: center; vertical-align: middle;" class="label">Sit down</div></div></foreignObject><text style="text-anchor: middle; font-size: 14px; font-family: &quot;Open Sans&quot;, sans-serif;" class="task" alignment-baseline="central" dominant-baseline="central" y="135" x="1025"><tspan dy="0" x="1025">Sit down</tspan></text></switch></g><text y="25" font-weight="bold" font-size="4ex" x="150">My working day</text><line marker-end="url(#arrowhead)" stroke="black" stroke-width="4" y2="200" x2="1146" y1="200" x1="150"></line></svg>


blobId: tMQwo5fi3wLF1hbkI7WP
dateModified: 2025-11-03 16:29:21.792+0000
utcDateModified: 2025-11-03 16:29:21.792Z
content:
      gitGraph
         commit
         commit
         branch develop
         commit
         commit
         commit
         checkout main
         commit
         commit


blobId: 6KuQzr3f0yXIEVAEQAjm
dateModified: 2025-11-03 16:29:21.805+0000
utcDateModified: 2025-11-03 16:29:21.805Z
content:
  <svg aria-roledescription="gitGraph" role="graphics-document document" viewBox="-117.421875 -18.5 475.421875 173.22018432617188" height="173.22018432617188" xmlns="http://www.w3.org/2000/svg" width="475.421875" id="mermaid-graph-30"><style>#mermaid-graph-30{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#ccc;}#mermaid-graph-30 .error-icon{fill:#a44141;}#mermaid-graph-30 .error-text{fill:#ddd;stroke:#ddd;}#mermaid-graph-30 .edge-thickness-normal{stroke-width:2px;}#mermaid-graph-30 .edge-thickness-thick{stroke-width:3.5px;}#mermaid-graph-30 .edge-pattern-solid{stroke-dasharray:0;}#mermaid-graph-30 .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-graph-30 .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-graph-30 .marker{fill:lightgrey;stroke:lightgrey;}#mermaid-graph-30 .marker.cross{stroke:lightgrey;}#mermaid-graph-30 svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-graph-30 .commit-id,#mermaid-graph-30 .commit-msg,#mermaid-graph-30 .branch-label{fill:lightgrey;color:lightgrey;font-family:'trebuchet ms',verdana,arial,sans-serif;font-family:var(--mermaid-font-family);}#mermaid-graph-30 .branch-label0{fill:#2c2c2c;}#mermaid-graph-30 .commit0{stroke:hsl(180, 1.5873015873%, 48.3529411765%);fill:hsl(180, 1.5873015873%, 48.3529411765%);}#mermaid-graph-30 .commit-highlight0{stroke:rgb(133.6571428571, 129.7428571428, 129.7428571428);fill:rgb(133.6571428571, 129.7428571428, 129.7428571428);}#mermaid-graph-30 .label0{fill:hsl(180, 1.5873015873%, 48.3529411765%);}#mermaid-graph-30 .arrow0{stroke:hsl(180, 1.5873015873%, 48.3529411765%);}#mermaid-graph-30 .branch-label1{fill:lightgrey;}#mermaid-graph-30 .commit1{stroke:hsl(321.6393442623, 65.5913978495%, 38.2352941176%);fill:hsl(321.6393442623, 65.5913978495%, 38.2352941176%);}#mermaid-graph-30 .commit-highlight1{stroke:rgb(93.5483870969, 221.4516129033, 139.677419355);fill:rgb(93.5483870969, 221.4516129033, 139.677419355);}#mermaid-graph-30 .label1{fill:hsl(321.6393442623, 65.5913978495%, 38.2352941176%);}#mermaid-graph-30 .arrow1{stroke:hsl(321.6393442623, 65.5913978495%, 38.2352941176%);}#mermaid-graph-30 .branch-label2{fill:lightgrey;}#mermaid-graph-30 .commit2{stroke:hsl(194.4, 16.5562913907%, 49.6078431373%);fill:hsl(194.4, 16.5562913907%, 49.6078431373%);}#mermaid-graph-30 .commit-highlight2{stroke:rgb(149.4437086091, 117.6092715231, 107.5562913906);fill:rgb(149.4437086091, 117.6092715231, 107.5562913906);}#mermaid-graph-30 .label2{fill:hsl(194.4, 16.5562913907%, 49.6078431373%);}#mermaid-graph-30 .arrow2{stroke:hsl(194.4, 16.5562913907%, 49.6078431373%);}#mermaid-graph-30 .branch-label3{fill:#2c2c2c;}#mermaid-graph-30 .commit3{stroke:hsl(23.0769230769, 49.0566037736%, 40.7843137255%);fill:hsl(23.0769230769, 49.0566037736%, 40.7843137255%);}#mermaid-graph-30 .commit-highlight3{stroke:rgb(99.9811320754, 162.7735849057, 202.0188679245);fill:rgb(99.9811320754, 162.7735849057, 202.0188679245);}#mermaid-graph-30 .label3{fill:hsl(23.0769230769, 49.0566037736%, 40.7843137255%);}#mermaid-graph-30 .arrow3{stroke:hsl(23.0769230769, 49.0566037736%, 40.7843137255%);}#mermaid-graph-30 .branch-label4{fill:lightgrey;}#mermaid-graph-30 .commit4{stroke:hsl(0, 83.3333333333%, 43.5294117647%);fill:hsl(0, 83.3333333333%, 43.5294117647%);}#mermaid-graph-30 .commit-highlight4{stroke:rgb(51.5000000001, 236.5, 236.5);fill:rgb(51.5000000001, 236.5, 236.5);}#mermaid-graph-30 .label4{fill:hsl(0, 83.3333333333%, 43.5294117647%);}#mermaid-graph-30 .arrow4{stroke:hsl(0, 83.3333333333%, 43.5294117647%);}#mermaid-graph-30 .branch-label5{fill:lightgrey;}#mermaid-graph-30 .commit5{stroke:hsl(289.1666666667, 100%, 24.1176470588%);fill:hsl(289.1666666667, 100%, 24.1176470588%);}#mermaid-graph-30 .commit-highlight5{stroke:rgb(154.2083333334, 255, 132.0000000001);fill:rgb(154.2083333334, 255, 132.0000000001);}#mermaid-graph-30 .label5{fill:hsl(289.1666666667, 100%, 24.1176470588%);}#mermaid-graph-30 .arrow5{stroke:hsl(289.1666666667, 100%, 24.1176470588%);}#mermaid-graph-30 .branch-label6{fill:lightgrey;}#mermaid-graph-30 .commit6{stroke:hsl(35.1315789474, 98.7012987013%, 40.1960784314%);fill:hsl(35.1315789474, 98.7012987013%, 40.1960784314%);}#mermaid-graph-30 .commit-highlight6{stroke:rgb(51.331168831, 135.1948051946, 253.6688311688);fill:rgb(51.331168831, 135.1948051946, 253.6688311688);}#mermaid-graph-30 .label6{fill:hsl(35.1315789474, 98.7012987013%, 40.1960784314%);}#mermaid-graph-30 .arrow6{stroke:hsl(35.1315789474, 98.7012987013%, 40.1960784314%);}#mermaid-graph-30 .branch-label7{fill:lightgrey;}#mermaid-graph-30 .commit7{stroke:hsl(106.1538461538, 84.4155844156%, 35.0980392157%);fill:hsl(106.1538461538, 84.4155844156%, 35.0980392157%);}#mermaid-graph-30 .commit-highlight7{stroke:rgb(206.1818181817, 89.948051948, 241.051948052);fill:rgb(206.1818181817, 89.948051948, 241.051948052);}#mermaid-graph-30 .label7{fill:hsl(106.1538461538, 84.4155844156%, 35.0980392157%);}#mermaid-graph-30 .arrow7{stroke:hsl(106.1538461538, 84.4155844156%, 35.0980392157%);}#mermaid-graph-30 .branch{stroke-width:1;stroke:lightgrey;stroke-dasharray:2;}#mermaid-graph-30 .commit-label{font-size:10px;fill:rgb(183.8476190475, 181.5523809523, 181.5523809523);}#mermaid-graph-30 .commit-label-bkg{font-size:10px;fill:hsl(180, 1.5873015873%, 28.3529411765%);opacity:0.5;}#mermaid-graph-30 .tag-label{font-size:10px;fill:#e0dfdf;}#mermaid-graph-30 .tag-label-bkg{fill:#1f2020;stroke:#cccccc;}#mermaid-graph-30 .tag-hole{fill:#ccc;}#mermaid-graph-30 .commit-merge{stroke:#1f2020;fill:#1f2020;}#mermaid-graph-30 .commit-reverse{stroke:#1f2020;fill:#1f2020;stroke-width:3;}#mermaid-graph-30 .commit-highlight-inner{stroke:#1f2020;fill:#1f2020;}#mermaid-graph-30 .arrow{stroke-width:8;stroke-linecap:round;fill:none;}#mermaid-graph-30 .gitTitleText{text-anchor:middle;font-size:18px;fill:#ccc;}#mermaid-graph-30 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}</style><g></g><g class="commit-bullets"></g><g class="commit-labels"></g><g><line class="branch branch0" y2="0" x2="350" y1="0" x1="0"></line><rect transform="translate(-19, -9.25)" height="22.5" width="52.9921875" y="-1.25" x="-68.9921875" ry="4" rx="4" class="branchLabelBkg label0"></rect><g class="branchLabel"><g transform="translate(-78.9921875, -10.25)" class="label branch-label0"><text><tspan class="row" x="0" dy="1em" xml:space="preserve">main</tspan></text></g></g><line class="branch branch1" y2="90" x2="350" y1="90" x1="0"></line><rect transform="translate(-19, 80.75)" height="22.5" width="74.421875" y="-1.25" x="-90.421875" ry="4" rx="4" class="branchLabelBkg label1"></rect><g class="branchLabel"><g transform="translate(-100.421875, 79.75)" class="label branch-label1"><text><tspan class="row" x="0" dy="1em" xml:space="preserve">develop</tspan></text></g></g></g><g class="commit-arrows"><path class="arrow arrow0" d="M 10 0 L 10 0  10 0 L 60 0"></path><path class="arrow arrow1" d="M 60 0 L 60 70 A 20 20, 0, 0, 0, 80 90 L 110 90"></path><path class="arrow arrow1" d="M 110 90 L 110 90  110 90 L 160 90"></path><path class="arrow arrow1" d="M 160 90 L 160 90  160 90 L 210 90"></path><path class="arrow arrow0" d="M 60 0 L 60 0  60 0 L 260 0"></path><path class="arrow arrow0" d="M 260 0 L 260 0  260 0 L 310 0"></path></g><g class="commit-bullets"><circle class="commit 0-e6e63b9 commit0" r="10" cy="0" cx="10"></circle><circle class="commit 1-f6c5e0c commit0" r="10" cy="0" cx="60"></circle><circle class="commit 2-b62cc0e commit1" r="10" cy="90" cx="110"></circle><circle class="commit 3-be86c5a commit1" r="10" cy="90" cx="160"></circle><circle class="commit 4-7021d40 commit1" r="10" cy="90" cx="210"></circle><circle class="commit 5-f753c37 commit0" r="10" cy="0" cx="260"></circle><circle class="commit 6-3f1a1ef commit0" r="10" cy="0" cx="310"></circle></g><g class="commit-labels"><g transform="translate(-28.9225, 25.7675) rotate(-45, 0, 0)"><rect height="15.5" width="50.375" y="13.5" x="-15.1875" class="commit-label-bkg"></rect><text class="commit-label" y="25" x="-13.1875">0-e6e63b9</text></g><g transform="translate(-27.9071875, 24.8590625) rotate(-45, 50, 0)"><rect height="15.5" width="47.703125" y="13.5" x="36.1484375" class="commit-label-bkg"></rect><text class="commit-label" y="25" x="38.1484375">1-f6c5e0c</text></g><g transform="translate(-28.6196875, 25.496562500000003) rotate(-45, 100, 90)"><rect height="15.5" width="49.578125" y="103.5" x="85.2109375" class="commit-label-bkg"></rect><text class="commit-label" y="115" x="87.2109375">2-b62cc0e</text></g><g transform="translate(-28.73546875, 25.600156249999998) rotate(-45, 150, 90)"><rect height="15.5" width="49.8828125" y="103.5" x="135.05859375" class="commit-label-bkg"></rect><text class="commit-label" y="115" x="137.05859375">3-be86c5a</text></g><g transform="translate(-28.762187500000003, 25.6240625) rotate(-45, 200, 90)"><rect height="15.5" width="49.953125" y="103.5" x="185.0234375" class="commit-label-bkg"></rect><text class="commit-label" y="115" x="187.0234375">4-7021d40</text></g><g transform="translate(-27.939843749999998, 24.88828125) rotate(-45, 250, 0)"><rect height="15.5" width="47.7890625" y="13.5" x="236.10546875" class="commit-label-bkg"></rect><text class="commit-label" y="25" x="238.10546875">5-f753c37</text></g><g transform="translate(-27.56318359375, 24.55126953125) rotate(-45, 300, 0)"><rect height="15.5" width="46.7978515625" y="13.5" x="286.60107421875" class="commit-label-bkg"></rect><text class="commit-label" y="25" x="288.60107421875">6-3f1a1ef</text></g></g></svg>


blobId: NewXxY9FyE8lghIGSs8W
dateModified: 2025-11-03 16:29:21.815+0000
utcDateModified: 2025-11-03 16:29:21.815Z
content:
  erDiagram
            CUSTOMER }|..|{ DELIVERY-ADDRESS : has
            CUSTOMER ||--o{ ORDER : places
            CUSTOMER ||--o{ INVOICE : "liable for"
            DELIVERY-ADDRESS ||--o{ ORDER : receives
            INVOICE ||--|{ ORDER : covers
            ORDER ||--|{ ORDER-ITEM : includes
            PRODUCT-CATEGORY ||--|{ PRODUCT : contains
            PRODUCT ||--o{ ORDER-ITEM : "ordered in"
              


blobId: xkqyzjCQprj5R0eRinED
dateModified: 2025-11-03 16:29:21.831+0000
utcDateModified: 2025-11-03 16:29:21.831Z
content:
  <svg aria-roledescription="er" role="graphics-document document" viewBox="-116.9375 0 726.4140625 640" style="max-width: 726.4140625px;" xmlns="http://www.w3.org/2000/svg" width="100%" id="mermaid-graph-33"><style>#mermaid-graph-33{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#ccc;}#mermaid-graph-33 .error-icon{fill:#a44141;}#mermaid-graph-33 .error-text{fill:#ddd;stroke:#ddd;}#mermaid-graph-33 .edge-thickness-normal{stroke-width:2px;}#mermaid-graph-33 .edge-thickness-thick{stroke-width:3.5px;}#mermaid-graph-33 .edge-pattern-solid{stroke-dasharray:0;}#mermaid-graph-33 .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-graph-33 .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-graph-33 .marker{fill:lightgrey;stroke:lightgrey;}#mermaid-graph-33 .marker.cross{stroke:lightgrey;}#mermaid-graph-33 svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-graph-33 .entityBox{fill:#1f2020;stroke:#81B1DB;}#mermaid-graph-33 .attributeBoxOdd{fill:hsl(0, 0%, 32%);stroke:#81B1DB;}#mermaid-graph-33 .attributeBoxEven{fill:hsl(0, 0%, 22%);stroke:#81B1DB;}#mermaid-graph-33 .relationshipLabelBox{fill:hsl(20, 1.5873015873%, 12.3529411765%);opacity:0.7;background-color:hsl(20, 1.5873015873%, 12.3529411765%);}#mermaid-graph-33 .relationshipLabelBox rect{opacity:0.5;}#mermaid-graph-33 .relationshipLine{stroke:lightgrey;}#mermaid-graph-33 .entityTitleText{text-anchor:middle;font-size:18px;fill:#ccc;}#mermaid-graph-33 #MD_PARENT_START{fill:#f5f5f5!important;stroke:lightgrey!important;stroke-width:1;}#mermaid-graph-33 #MD_PARENT_END{fill:#f5f5f5!important;stroke:lightgrey!important;stroke-width:1;}#mermaid-graph-33 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}</style><g></g><defs><marker orient="auto" markerHeight="240" markerWidth="190" refY="7" refX="0" id="MD_PARENT_START"><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker orient="auto" markerHeight="28" markerWidth="20" refY="7" refX="19" id="MD_PARENT_END"><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker orient="auto" markerHeight="18" markerWidth="18" refY="9" refX="0" id="ONLY_ONE_START"><path d="M9,0 L9,18 M15,0 L15,18" fill="none" stroke="gray"></path></marker></defs><defs><marker orient="auto" markerHeight="18" markerWidth="18" refY="9" refX="18" id="ONLY_ONE_END"><path d="M3,0 L3,18 M9,0 L9,18" fill="none" stroke="gray"></path></marker></defs><defs><marker orient="auto" markerHeight="18" markerWidth="30" refY="9" refX="0" id="ZERO_OR_ONE_START"><circle r="6" cy="9" cx="21" fill="white" stroke="gray"></circle><path d="M9,0 L9,18" fill="none" stroke="gray"></path></marker></defs><defs><marker orient="auto" markerHeight="18" markerWidth="30" refY="9" refX="30" id="ZERO_OR_ONE_END"><circle r="6" cy="9" cx="9" fill="white" stroke="gray"></circle><path d="M21,0 L21,18" fill="none" stroke="gray"></path></marker></defs><defs><marker orient="auto" markerHeight="36" markerWidth="45" refY="18" refX="18" id="ONE_OR_MORE_START"><path d="M0,18 Q 18,0 36,18 Q 18,36 0,18 M42,9 L42,27" fill="none" stroke="gray"></path></marker></defs><defs><marker orient="auto" markerHeight="36" markerWidth="45" refY="18" refX="27" id="ONE_OR_MORE_END"><path d="M3,9 L3,27 M9,18 Q27,0 45,18 Q27,36 9,18" fill="none" stroke="gray"></path></marker></defs><defs><marker orient="auto" markerHeight="36" markerWidth="57" refY="18" refX="18" id="ZERO_OR_MORE_START"><circle r="6" cy="18" cx="48" fill="white" stroke="gray"></circle><path d="M0,18 Q18,0 36,18 Q18,36 0,18" fill="none" stroke="gray"></path></marker></defs><defs><marker orient="auto" markerHeight="36" markerWidth="57" refY="18" refX="39" id="ZERO_OR_MORE_END"><circle r="6" cy="18" cx="9" fill="white" stroke="gray"></circle><path d="M21,18 Q39,0 57,18 Q39,36 21,18" fill="none" stroke="gray"></path></marker></defs><path style="stroke: gray; fill: none;" marker-start="url(#ONE_OR_MORE_START)" marker-end="url(#ONE_OR_MORE_END)" stroke-dasharray="8,8" d="M84.719,95L84.719,103.333C84.719,111.667,84.719,128.333,84.719,145C84.719,161.667,84.719,178.333,84.719,186.667L84.719,195" class="er relationshipLine"></path><path style="stroke: gray; fill: none;" marker-start="url(#ONLY_ONE_START)" marker-end="url(#ZERO_OR_MORE_END)" d="M34.719,84.06L15.599,94.217C-3.521,104.374,-41.76,124.687,-60.88,149.427C-80,174.167,-80,203.333,-80,232.5C-80,261.667,-80,290.833,-60.88,315.573C-41.76,340.313,-3.521,360.626,15.599,370.783L34.719,380.94" class="er relationshipLine"></path><path style="stroke: gray; fill: none;" marker-start="url(#ONLY_ONE_START)" marker-end="url(#ZERO_OR_MORE_END)" d="M134.719,77.875L162.172,89.063C189.625,100.25,244.531,122.625,271.984,142.146C299.438,161.667,299.438,178.333,299.438,186.667L299.438,195" class="er relationshipLine"></path><path style="stroke: gray; fill: none;" marker-start="url(#ONLY_ONE_START)" marker-end="url(#ZERO_OR_MORE_END)" d="M84.719,270L84.719,278.333C84.719,286.667,84.719,303.333,84.719,320C84.719,336.667,84.719,353.333,84.719,361.667L84.719,370" class="er relationshipLine"></path><path style="stroke: gray; fill: none;" marker-start="url(#ONLY_ONE_START)" marker-end="url(#ONE_OR_MORE_END)" d="M299.438,270L299.438,278.333C299.438,286.667,299.438,303.333,271.984,322.854C244.531,342.375,189.625,364.75,162.172,375.937L134.719,387.125" class="er relationshipLine"></path><path style="stroke: gray; fill: none;" marker-start="url(#ONLY_ONE_START)" marker-end="url(#ONE_OR_MORE_END)" d="M84.719,445L84.719,453.333C84.719,461.667,84.719,478.333,112.614,497.895C140.508,517.458,196.298,539.915,224.193,551.144L252.088,562.373" class="er relationshipLine"></path><path style="stroke: gray; fill: none;" marker-start="url(#ONLY_ONE_START)" marker-end="url(#ONE_OR_MORE_END)" d="M519.457,270L519.457,278.333C519.457,286.667,519.457,303.333,519.457,320C519.457,336.667,519.457,353.333,519.457,361.667L519.457,370" class="er relationshipLine"></path><path style="stroke: gray; fill: none;" marker-start="url(#ONLY_ONE_START)" marker-end="url(#ZERO_OR_MORE_END)" d="M519.457,445L519.457,453.333C519.457,461.667,519.457,478.333,491.562,497.895C463.667,517.458,407.878,539.915,379.983,551.144L352.088,562.373" class="er relationshipLine"></path><g transform="translate(34.71875,20 )" id="entity-CUSTOMER-7c659eae-ee79-5f5d-acd7-c418f8ad1d67"><rect height="75" width="100" y="0" x="0" class="er entityBox"></rect><text style="dominant-baseline: middle; text-anchor: middle; font-size: 12px;" transform="translate(50,37.5)" y="0" x="0" id="text-entity-CUSTOMER-7c659eae-ee79-5f5d-acd7-c418f8ad1d67" class="er entityLabel">CUSTOMER</text></g><g transform="translate(20,195 )" id="entity-DELIVERYADDRESS-fd3face8-ad78-5943-8bd2-c15cc8ecb9c6"><rect height="75" width="129.4375" y="0" x="0" class="er entityBox"></rect><text style="dominant-baseline: middle; text-anchor: middle; font-size: 12px;" transform="translate(64.71875,37.5)" y="0" x="0" id="text-entity-DELIVERYADDRESS-fd3face8-ad78-5943-8bd2-c15cc8ecb9c6" class="er entityLabel">DELIVERY-ADDRESS</text></g><g transform="translate(34.71875,370 )" id="entity-ORDER-36941e20-eb1d-50a3-81c5-00079b43c24a"><rect height="75" width="100" y="0" x="0" class="er entityBox"></rect><text style="dominant-baseline: middle; text-anchor: middle; font-size: 12px;" transform="translate(50,37.5)" y="0" x="0" id="text-entity-ORDER-36941e20-eb1d-50a3-81c5-00079b43c24a" class="er entityLabel">ORDER</text></g><g transform="translate(249.4375,195 )" id="entity-INVOICE-befa8dd9-5ec7-5029-b058-27b05a6cdbcd"><rect height="75" width="100" y="0" x="0" class="er entityBox"></rect><text style="dominant-baseline: middle; text-anchor: middle; font-size: 12px;" transform="translate(50,37.5)" y="0" x="0" id="text-entity-INVOICE-befa8dd9-5ec7-5029-b058-27b05a6cdbcd" class="er entityLabel">INVOICE</text></g><g transform="translate(252.087890625,545 )" id="entity-ORDERITEM-2f3e0a8a-1139-508c-8589-2d144a3ff50e"><rect height="75" width="100" y="0" x="0" class="er entityBox"></rect><text style="dominant-baseline: middle; text-anchor: middle; font-size: 12px;" transform="translate(50,37.5)" y="0" x="0" id="text-entity-ORDERITEM-2f3e0a8a-1139-508c-8589-2d144a3ff50e" class="er entityLabel">ORDER-ITEM</text></g><g transform="translate(449.4375,195 )" id="entity-PRODUCTCATEGORY-d522e853-470b-5a3e-b40c-3b174e1dded4"><rect height="75" width="140.0390625" y="0" x="0" class="er entityBox"></rect><text style="dominant-baseline: middle; text-anchor: middle; font-size: 12px;" transform="translate(70.01953125,37.5)" y="0" x="0" id="text-entity-PRODUCTCATEGORY-d522e853-470b-5a3e-b40c-3b174e1dded4" class="er entityLabel">PRODUCT-CATEGORY</text></g><g transform="translate(469.45703125,370 )" id="entity-PRODUCT-b14524a1-8e20-5805-a382-423fd1ec339f"><rect height="75" width="100" y="0" x="0" class="er entityBox"></rect><text style="dominant-baseline: middle; text-anchor: middle; font-size: 12px;" transform="translate(50,37.5)" y="0" x="0" id="text-entity-PRODUCT-b14524a1-8e20-5805-a382-423fd1ec339f" class="er entityLabel">PRODUCT</text></g><rect height="14" width="17.71875" y="138" x="75.85962677001953" class="er relationshipLabelBox"></rect><text style="text-anchor: middle; dominant-baseline: middle; font-size: 12px;" y="145" x="84.71900177001953" id="rel25" class="er relationshipLabel">has</text><rect height="14" width="33.875" y="225.50001525878906" x="-96.9375" class="er relationshipLabelBox"></rect><text style="text-anchor: middle; dominant-baseline: middle; font-size: 12px;" y="232.50001525878906" x="-80" id="rel26" class="er relationshipLabel">places</text><rect height="14" width="49.1953125" y="113.21796417236328" x="208.8299102783203" class="er relationshipLabelBox"></rect><text style="text-anchor: middle; dominant-baseline: middle; font-size: 12px;" y="120.21796417236328" x="233.4275665283203" id="rel27" class="er relationshipLabel">liable for</text><rect height="14" width="44.3984375" y="313" x="62.51978302001953" class="er relationshipLabelBox"></rect><text style="text-anchor: middle; dominant-baseline: middle; font-size: 12px;" y="320" x="84.71900177001953" id="rel28" class="er relationshipLabel">receives</text><rect height="14" width="34.328125" y="337.78204345703125" x="216.2635040283203" class="er relationshipLabelBox"></rect><text style="text-anchor: middle; dominant-baseline: middle; font-size: 12px;" y="344.78204345703125" x="233.4275665283203" id="rel29" class="er relationshipLabel">covers</text><rect height="14" width="44.109375" y="513.020263671875" x="130.02452087402344" class="er relationshipLabelBox"></rect><text style="text-anchor: middle; dominant-baseline: middle; font-size: 12px;" y="520.020263671875" x="152.07920837402344" id="rel30" class="er relationshipLabel">includes</text><rect height="14" width="44.8359375" y="313" x="497.03900146484375" class="er relationshipLabelBox"></rect><text style="text-anchor: middle; dominant-baseline: middle; font-size: 12px;" y="320" x="519.4569702148438" id="rel31" class="er relationshipLabel">contains</text><rect height="14" width="55.828125" y="513.02001953125" x="424.18267822265625" class="er relationshipLabelBox"></rect><text style="text-anchor: middle; dominant-baseline: middle; font-size: 12px;" y="520.02001953125" x="452.09674072265625" id="rel32" class="er relationshipLabel">ordered in</text></svg>


blobId: e7YlcXGRKjHOSZqOAjTh
dateModified: 2025-11-03 16:29:21.839+0000
utcDateModified: 2025-11-03 16:29:21.840Z
content:
  gantt
      title Git Issues - days since last update
      dateFormat  X
      axisFormat %s

      section Issue19062
      71   : 0, 71
      section Issue19401
      36   : 0, 36
      section Issue193
      34   : 0, 34
      section Issue7441
      9    : 0, 9
      section Issue1300
      5    : 0, 5


blobId: S0HPgPWG4dY0a3YvUbLT
dateModified: 2025-11-03 16:29:21.850+0000
utcDateModified: 2025-11-03 16:29:21.853Z
content:
  <svg aria-roledescription="gantt" role="graphics-document document" height="220" viewBox="0 0 1043 220" xmlns="http://www.w3.org/2000/svg" width="1043" id="mermaid-graph-38"><style>#mermaid-graph-38{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#ccc;}#mermaid-graph-38 .error-icon{fill:#a44141;}#mermaid-graph-38 .error-text{fill:#ddd;stroke:#ddd;}#mermaid-graph-38 .edge-thickness-normal{stroke-width:2px;}#mermaid-graph-38 .edge-thickness-thick{stroke-width:3.5px;}#mermaid-graph-38 .edge-pattern-solid{stroke-dasharray:0;}#mermaid-graph-38 .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-graph-38 .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-graph-38 .marker{fill:lightgrey;stroke:lightgrey;}#mermaid-graph-38 .marker.cross{stroke:lightgrey;}#mermaid-graph-38 svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-graph-38 .mermaid-main-font{font-family:"trebuchet ms",verdana,arial,sans-serif;font-family:var(--mermaid-font-family);}#mermaid-graph-38 .exclude-range{fill:hsl(52.9411764706, 28.813559322%, 48.431372549%);}#mermaid-graph-38 .section{stroke:none;opacity:0.2;}#mermaid-graph-38 .section0{fill:hsl(52.9411764706, 28.813559322%, 58.431372549%);}#mermaid-graph-38 .section2{fill:#EAE8D9;}#mermaid-graph-38 .section1,#mermaid-graph-38 .section3{fill:#333;opacity:0.2;}#mermaid-graph-38 .sectionTitle0{fill:#F9FFFE;}#mermaid-graph-38 .sectionTitle1{fill:#F9FFFE;}#mermaid-graph-38 .sectionTitle2{fill:#F9FFFE;}#mermaid-graph-38 .sectionTitle3{fill:#F9FFFE;}#mermaid-graph-38 .sectionTitle{text-anchor:start;font-family:'trebuchet ms',verdana,arial,sans-serif;font-family:var(--mermaid-font-family);}#mermaid-graph-38 .grid .tick{stroke:lightgrey;opacity:0.8;shape-rendering:crispEdges;}#mermaid-graph-38 .grid .tick text{font-family:"trebuchet ms",verdana,arial,sans-serif;fill:#ccc;}#mermaid-graph-38 .grid path{stroke-width:0;}#mermaid-graph-38 .today{fill:none;stroke:#DB5757;stroke-width:2px;}#mermaid-graph-38 .task{stroke-width:2;}#mermaid-graph-38 .taskText{text-anchor:middle;font-family:'trebuchet ms',verdana,arial,sans-serif;font-family:var(--mermaid-font-family);}#mermaid-graph-38 .taskTextOutsideRight{fill:hsl(28.5714285714, 17.3553719008%, 86.2745098039%);text-anchor:start;font-family:'trebuchet ms',verdana,arial,sans-serif;font-family:var(--mermaid-font-family);}#mermaid-graph-38 .taskTextOutsideLeft{fill:hsl(28.5714285714, 17.3553719008%, 86.2745098039%);text-anchor:end;}#mermaid-graph-38 .task.clickable{cursor:pointer;}#mermaid-graph-38 .taskText.clickable{cursor:pointer;fill:#003163!important;font-weight:bold;}#mermaid-graph-38 .taskTextOutsideLeft.clickable{cursor:pointer;fill:#003163!important;font-weight:bold;}#mermaid-graph-38 .taskTextOutsideRight.clickable{cursor:pointer;fill:#003163!important;font-weight:bold;}#mermaid-graph-38 .taskText0,#mermaid-graph-38 .taskText1,#mermaid-graph-38 .taskText2,#mermaid-graph-38 .taskText3{fill:hsl(28.5714285714, 17.3553719008%, 86.2745098039%);}#mermaid-graph-38 .task0,#mermaid-graph-38 .task1,#mermaid-graph-38 .task2,#mermaid-graph-38 .task3{fill:hsl(180, 1.5873015873%, 35.3529411765%);stroke:#ffffff;}#mermaid-graph-38 .taskTextOutside0,#mermaid-graph-38 .taskTextOutside2{fill:lightgrey;}#mermaid-graph-38 .taskTextOutside1,#mermaid-graph-38 .taskTextOutside3{fill:lightgrey;}#mermaid-graph-38 .active0,#mermaid-graph-38 .active1,#mermaid-graph-38 .active2,#mermaid-graph-38 .active3{fill:#81B1DB;stroke:#ffffff;}#mermaid-graph-38 .activeText0,#mermaid-graph-38 .activeText1,#mermaid-graph-38 .activeText2,#mermaid-graph-38 .activeText3{fill:hsl(28.5714285714, 17.3553719008%, 86.2745098039%)!important;}#mermaid-graph-38 .done0,#mermaid-graph-38 .done1,#mermaid-graph-38 .done2,#mermaid-graph-38 .done3{stroke:grey;fill:lightgrey;stroke-width:2;}#mermaid-graph-38 .doneText0,#mermaid-graph-38 .doneText1,#mermaid-graph-38 .doneText2,#mermaid-graph-38 .doneText3{fill:hsl(28.5714285714, 17.3553719008%, 86.2745098039%)!important;}#mermaid-graph-38 .crit0,#mermaid-graph-38 .crit1,#mermaid-graph-38 .crit2,#mermaid-graph-38 .crit3{stroke:#E83737;fill:#E83737;stroke-width:2;}#mermaid-graph-38 .activeCrit0,#mermaid-graph-38 .activeCrit1,#mermaid-graph-38 .activeCrit2,#mermaid-graph-38 .activeCrit3{stroke:#E83737;fill:#81B1DB;stroke-width:2;}#mermaid-graph-38 .doneCrit0,#mermaid-graph-38 .doneCrit1,#mermaid-graph-38 .doneCrit2,#mermaid-graph-38 .doneCrit3{stroke:#E83737;fill:lightgrey;stroke-width:2;cursor:pointer;shape-rendering:crispEdges;}#mermaid-graph-38 .milestone{transform:rotate(45deg) scale(0.8,0.8);}#mermaid-graph-38 .milestoneText{font-style:italic;}#mermaid-graph-38 .doneCritText0,#mermaid-graph-38 .doneCritText1,#mermaid-graph-38 .doneCritText2,#mermaid-graph-38 .doneCritText3{fill:hsl(28.5714285714, 17.3553719008%, 86.2745098039%)!important;}#mermaid-graph-38 .activeCritText0,#mermaid-graph-38 .activeCritText1,#mermaid-graph-38 .activeCritText2,#mermaid-graph-38 .activeCritText3{fill:hsl(28.5714285714, 17.3553719008%, 86.2745098039%)!important;}#mermaid-graph-38 .titleText{text-anchor:middle;font-size:18px;fill:#ccc;font-family:'trebuchet ms',verdana,arial,sans-serif;font-family:var(--mermaid-font-family);}#mermaid-graph-38 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}</style><g></g><g text-anchor="middle" font-family="sans-serif" font-size="10" fill="none" transform="translate(75, 170)" class="grid"><path d="M0,-135V0H893V-135" stroke="currentColor" class="domain"></path><g transform="translate(0,0)" opacity="1" class="tick"><line y2="-135" stroke="currentColor"></line><text style="text-anchor: middle;" font-size="10" stroke="none" dy="1em" y="3" fill="#000">0</text></g><g transform="translate(63,0)" opacity="1" class="tick"><line y2="-135" stroke="currentColor"></line><text style="text-anchor: middle;" font-size="10" stroke="none" dy="1em" y="3" fill="#000">5</text></g><g transform="translate(126,0)" opacity="1" class="tick"><line y2="-135" stroke="currentColor"></line><text style="text-anchor: middle;" font-size="10" stroke="none" dy="1em" y="3" fill="#000">10</text></g><g transform="translate(189,0)" opacity="1" class="tick"><line y2="-135" stroke="currentColor"></line><text style="text-anchor: middle;" font-size="10" stroke="none" dy="1em" y="3" fill="#000">15</text></g><g transform="translate(252,0)" opacity="1" class="tick"><line y2="-135" stroke="currentColor"></line><text style="text-anchor: middle;" font-size="10" stroke="none" dy="1em" y="3" fill="#000">20</text></g><g transform="translate(314,0)" opacity="1" class="tick"><line y2="-135" stroke="currentColor"></line><text style="text-anchor: middle;" font-size="10" stroke="none" dy="1em" y="3" fill="#000">25</text></g><g transform="translate(377,0)" opacity="1" class="tick"><line y2="-135" stroke="currentColor"></line><text style="text-anchor: middle;" font-size="10" stroke="none" dy="1em" y="3" fill="#000">30</text></g><g transform="translate(440,0)" opacity="1" class="tick"><line y2="-135" stroke="currentColor"></line><text style="text-anchor: middle;" font-size="10" stroke="none" dy="1em" y="3" fill="#000">35</text></g><g transform="translate(503,0)" opacity="1" class="tick"><line y2="-135" stroke="currentColor"></line><text style="text-anchor: middle;" font-size="10" stroke="none" dy="1em" y="3" fill="#000">40</text></g><g transform="translate(566,0)" opacity="1" class="tick"><line y2="-135" stroke="currentColor"></line><text style="text-anchor: middle;" font-size="10" stroke="none" dy="1em" y="3" fill="#000">45</text></g><g transform="translate(629,0)" opacity="1" class="tick"><line y2="-135" stroke="currentColor"></line><text style="text-anchor: middle;" font-size="10" stroke="none" dy="1em" y="3" fill="#000">50</text></g><g transform="translate(692,0)" opacity="1" class="tick"><line y2="-135" stroke="currentColor"></line><text style="text-anchor: middle;" font-size="10" stroke="none" dy="1em" y="3" fill="#000">55</text></g><g transform="translate(755,0)" opacity="1" class="tick"><line y2="-135" stroke="currentColor"></line><text style="text-anchor: middle;" font-size="10" stroke="none" dy="1em" y="3" fill="#000">60</text></g><g transform="translate(818,0)" opacity="1" class="tick"><line y2="-135" stroke="currentColor"></line><text style="text-anchor: middle;" font-size="10" stroke="none" dy="1em" y="3" fill="#000">65</text></g><g transform="translate(880,0)" opacity="1" class="tick"><line y2="-135" stroke="currentColor"></line><text style="text-anchor: middle;" font-size="10" stroke="none" dy="1em" y="3" fill="#000">70</text></g></g><g><rect class="section section0" height="24" width="1005.5" y="48" x="0"></rect><rect class="section section1" height="24" width="1005.5" y="72" x="0"></rect><rect class="section section2" height="24" width="1005.5" y="96" x="0"></rect><rect class="section section3" height="24" width="1005.5" y="120" x="0"></rect><rect class="section section0" height="24" width="1005.5" y="144" x="0"></rect></g><g><rect class="task task0" transform-origin="521.5px 60px" height="20" width="893" y="50" x="75" ry="3" rx="3" id="task1"></rect><rect class="task task1" transform-origin="301.5px 84px" height="20" width="453" y="74" x="75" ry="3" rx="3" id="task2"></rect><rect class="task task2" transform-origin="289px 108px" height="20" width="428" y="98" x="75" ry="3" rx="3" id="task3"></rect><rect class="task task3" transform-origin="131.5px 132px" height="20" width="113" y="122" x="75" ry="3" rx="3" id="task4"></rect><rect class="task task0" transform-origin="106.5px 156px" height="20" width="63" y="146" x="75" ry="3" rx="3" id="task5"></rect><text class="taskText taskText0  width-11.5390625" y="63.5" x="521.5" font-size="11" id="task1-text">71   </text><text class="taskText taskText1  width-11.5390625" y="87.5" x="301.5" font-size="11" id="task2-text">36   </text><text class="taskText taskText2  width-11.5390625" y="111.5" x="289" font-size="11" id="task3-text">34   </text><text class="taskText taskText3  width-5.7734375" y="135.5" x="131.5" font-size="11" id="task4-text">9    </text><text class="taskText taskText0  width-5.7734375" y="159.5" x="106.5" font-size="11" id="task5-text">5    </text></g><g><text class="sectionTitle sectionTitle0" font-size="11" y="62" x="10" dy="0em"><tspan x="10" alignment-baseline="central">Issue19062</tspan></text><text class="sectionTitle sectionTitle1" font-size="11" y="86" x="10" dy="0em"><tspan x="10" alignment-baseline="central">Issue19401</tspan></text><text class="sectionTitle sectionTitle2" font-size="11" y="110" x="10" dy="0em"><tspan x="10" alignment-baseline="central">Issue193</tspan></text><text class="sectionTitle sectionTitle3" font-size="11" y="134" x="10" dy="0em"><tspan x="10" alignment-baseline="central">Issue7441</tspan></text><text class="sectionTitle sectionTitle0" font-size="11" y="158" x="10" dy="0em"><tspan x="10" alignment-baseline="central">Issue1300</tspan></text></g><g class="today"><line class="today" y2="195" y1="25" x2="21395258504" x1="21395258504"></line></g><text class="titleText" y="25" x="521.5">Git Issues - days since last update</text></svg>


blobId: yvgPv9uIquBveT4solgY
dateModified: 2025-11-03 16:29:21.871+0000
utcDateModified: 2025-11-03 16:29:21.872Z
content:
  C4Context
  title System Context diagram for Internet Banking System

  Person(customerA, "Banking Customer A", "A customer of the bank, with personal bank accounts.")
  Person(customerB, "Banking Customer B")
  Person_Ext(customerC, "Banking Customer C")
  System(SystemAA, "Internet Banking System", "Allows customers to view information about their bank accounts, and make payments.")

  Person(customerD, "Banking Customer D", "A customer of the bank, <br/> with personal bank accounts.")

  Enterprise_Boundary(b1, "BankBoundary") {

    SystemDb_Ext(SystemE, "Mainframe Banking System", "Stores all of the core banking information about customers, accounts, transactions, etc.")

    System_Boundary(b2, "BankBoundary2") {
      System(SystemA, "Banking System A")
      System(SystemB, "Banking System B", "A system of the bank, with personal bank accounts.")
    }

    System_Ext(SystemC, "E-mail system", "The internal Microsoft Exchange e-mail system.")
    SystemDb(SystemD, "Banking System D Database", "A system of the bank, with personal bank accounts.")

    Boundary(b3, "BankBoundary3", "boundary") {
      SystemQueue(SystemF, "Banking System F Queue", "A system of the bank, with personal bank accounts.")
      SystemQueue_Ext(SystemG, "Banking System G Queue", "A system of the bank, with personal bank accounts.")
    }
  }

  BiRel(customerA, SystemAA, "Uses")
  BiRel(SystemAA, SystemE, "Uses")
  Rel(SystemAA, SystemC, "Sends e-mails", "SMTP")
  Rel(SystemC, customerA, "Sends e-mails to")


blobId: BGGWzT9mhxZhkqFcFLgY
dateModified: 2025-11-03 16:29:21.891+0000
utcDateModified: 2025-11-03 16:29:21.892Z
content:
  <svg aria-roledescription="c4" role="graphics-document document" viewBox="0 -70 1812 1601" style="max-width: 1812px;" xmlns="http://www.w3.org/2000/svg" width="100%" id="mermaid-graph-41"><style>#mermaid-graph-41{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#ccc;}#mermaid-graph-41 .error-icon{fill:#a44141;}#mermaid-graph-41 .error-text{fill:#ddd;stroke:#ddd;}#mermaid-graph-41 .edge-thickness-normal{stroke-width:2px;}#mermaid-graph-41 .edge-thickness-thick{stroke-width:3.5px;}#mermaid-graph-41 .edge-pattern-solid{stroke-dasharray:0;}#mermaid-graph-41 .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-graph-41 .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-graph-41 .marker{fill:lightgrey;stroke:lightgrey;}#mermaid-graph-41 .marker.cross{stroke:lightgrey;}#mermaid-graph-41 svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-graph-41 .person{stroke:#cccccc;fill:#1f2020;}#mermaid-graph-41 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}</style><g></g><defs><symbol height="24" width="24" id="computer"><path d="M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z" transform="scale(.5)"></path></symbol></defs><defs><symbol clip-rule="evenodd" fill-rule="evenodd" id="database"><path d="M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z" transform="scale(.5)"></path></symbol></defs><defs><symbol height="24" width="24" id="clock"><path d="M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z" transform="scale(.5)"></path></symbol></defs><g class="person-man"><rect stroke-width="0.5" ry="2.5" rx="2.5" height="136" width="352" stroke="#073B6F" fill="#08427B" y="168" x="150"></rect><text y="188" x="301" textLength="50" lengthAdjust="spacing" font-style="italic" font-size="12" font-family="&quot;Open Sans&quot;, sans-serif" fill="#FFFFFF">&lt;&lt;person&gt;&gt;</text><image xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAACD0lEQVR4Xu2YoU4EMRCGT+4j8Ai8AhaH4QHgAUjQuFMECUgMIUgwJAgMhgQsAYUiJCiQIBBY+EITsjfTdme6V24v4c8vyGbb+ZjOtN0bNcvjQXmkH83WvYBWto6PLm6v7p7uH1/w2fXD+PBycX1Pv2l3IdDm/vn7x+dXQiAubRzoURa7gRZWd0iGRIiJbOnhnfYBQZNJjNbuyY2eJG8fkDE3bbG4ep6MHUAsgYxmE3nVs6VsBWJSGccsOlFPmLIViMzLOB7pCVO2AtHJMohH7Fh6zqitQK7m0rJvAVYgGcEpe//PLdDz65sM4pF9N7ICcXDKIB5Nv6j7tD0NoSdM2QrU9Gg0ewE1LqBhHR3BBdvj2vapnidjHxD/q6vd7Pvhr31AwcY8eXMTXAKECZZJFXuEq27aLgQK5uLMohCenGGuGewOxSjBvYBqeG6B+Nqiblggdjnc+ZXDy+FNFpFzw76O3UBAROuXh6FoiAcf5g9eTvUgzy0nWg6I8cXHRUpg5bOVBCo+KDpFajOf23GgPme7RSQ+lacIENUgJ6gg1k6HjgOlqnLqip4tEuhv0hNEMXUD0clyXE3p6pZA0S2nnvTlXwLJEZWlb7cTQH1+USgTN4VhAenm/wea1OCAOmqo6fE1WCb9WSKBah+rbUWPWAmE2Rvk0ApiB45eOyNAzU8xcTvj8KvkKEoOaIYeHNA3ZuygAvFMUO0AAAAASUVORK5CYII=" y="198" x="302" height="48" width="48"></image><text style="text-anchor: middle; font-size: 16px; font-weight: bold; font-family: &quot;Open Sans&quot;, sans-serif;" fill="#FFFFFF" dominant-baseline="middle" y="254" x="326"><tspan alignment-baseline="mathematical" dy="0">Banking Customer A</tspan></text><text style="text-anchor: middle; font-size: 14px; font-weight: normal; font-family: &quot;Open Sans&quot;, sans-serif;" fill="#FFFFFF" dominant-baseline="middle" y="293" x="326"><tspan alignment-baseline="mathematical" dy="0">A customer of the bank, with personal bank accounts.</tspan></text></g><g class="person-man"><rect stroke-width="0.5" ry="2.5" rx="2.5" height="105" width="216" stroke="#073B6F" fill="#08427B" y="168" x="602"></rect><text y="188" x="685" textLength="50" lengthAdjust="spacing" font-style="italic" font-size="12" font-family="&quot;Open Sans&quot;, sans-serif" fill="#FFFFFF">&lt;&lt;person&gt;&gt;</text><image xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAACD0lEQVR4Xu2YoU4EMRCGT+4j8Ai8AhaH4QHgAUjQuFMECUgMIUgwJAgMhgQsAYUiJCiQIBBY+EITsjfTdme6V24v4c8vyGbb+ZjOtN0bNcvjQXmkH83WvYBWto6PLm6v7p7uH1/w2fXD+PBycX1Pv2l3IdDm/vn7x+dXQiAubRzoURa7gRZWd0iGRIiJbOnhnfYBQZNJjNbuyY2eJG8fkDE3bbG4ep6MHUAsgYxmE3nVs6VsBWJSGccsOlFPmLIViMzLOB7pCVO2AtHJMohH7Fh6zqitQK7m0rJvAVYgGcEpe//PLdDz65sM4pF9N7ICcXDKIB5Nv6j7tD0NoSdM2QrU9Gg0ewE1LqBhHR3BBdvj2vapnidjHxD/q6vd7Pvhr31AwcY8eXMTXAKECZZJFXuEq27aLgQK5uLMohCenGGuGewOxSjBvYBqeG6B+Nqiblggdjnc+ZXDy+FNFpFzw76O3UBAROuXh6FoiAcf5g9eTvUgzy0nWg6I8cXHRUpg5bOVBCo+KDpFajOf23GgPme7RSQ+lacIENUgJ6gg1k6HjgOlqnLqip4tEuhv0hNEMXUD0clyXE3p6pZA0S2nnvTlXwLJEZWlb7cTQH1+USgTN4VhAenm/wea1OCAOmqo6fE1WCb9WSKBah+rbUWPWAmE2Rvk0ApiB45eOyNAzU8xcTvj8KvkKEoOaIYeHNA3ZuygAvFMUO0AAAAASUVORK5CYII=" y="198" x="686" height="48" width="48"></image><text style="text-anchor: middle; font-size: 16px; font-weight: bold; font-family: &quot;Open Sans&quot;, sans-serif;" fill="#FFFFFF" dominant-baseline="middle" y="254" x="710"><tspan alignment-baseline="mathematical" dy="0">Banking Customer B</tspan></text></g><g class="person-man"><rect stroke-width="0.5" ry="2.5" rx="2.5" height="105" width="216" stroke="#8A8A8A" fill="#686868" y="168" x="918"></rect><text y="188" x="976.5" textLength="99" lengthAdjust="spacing" font-style="italic" font-size="12" font-family="&quot;Open Sans&quot;, sans-serif" fill="#FFFFFF">&lt;&lt;external_person&gt;&gt;</text><image xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAAB6ElEQVR4Xu2YLY+EMBCG9+dWr0aj0Wg0Go1Go0+j8Xdv2uTCvv1gpt0ebHKPuhDaeW4605Z9mJvx4AdXUyTUdd08z+u6flmWZRnHsWkafk9DptAwDPu+f0eAYtu2PEaGWuj5fCIZrBAC2eLBAnRCsEkkxmeaJp7iDJ2QMDdHsLg8SxKFEJaAo8lAXnmuOFIhTMpxxKATebo4UiFknuNo4OniSIXQyRxEA3YsnjGCVEjVXD7yLUAqxBGUyPv/Y4W2beMgGuS7kVQIBycH0fD+oi5pezQETxdHKmQKGk1eQEYldK+jw5GxPfZ9z7Mk0Qnhf1W1m3w//EUn5BDmSZsbR44QQLBEqrBHqOrmSKaQAxdnLArCrxZcM7A7ZKs4ioRq8LFC+NpC3WCBJsvpVw5edm9iEXFuyNfxXAgSwfrFQ1c0iNda8AdejvUgnktOtJQQxmcfFzGglc5WVCj7oDgFqU18boeFSs52CUh8LE8BIVQDT1ABrB0HtgSEYlX5doJnCwv9TXocKCaKbnwhdDKPq4lf3SwU3HLq4V/+WYhHVMa/3b4IlfyikAduCkcBc7mQ3/z/Qq/cTuikhkzB12Ae/mcJC9U+Vo8Ej1gWAtgbeGgFsAMHr50BIWOLCbezvhpBFUdY6EJuJ/QDW0XoMX60zZ0AAAAASUVORK5CYII=" y="198" x="1002" height="48" width="48"></image><text style="text-anchor: middle; font-size: 16px; font-weight: bold; font-family: &quot;Open Sans&quot;, sans-serif;" fill="#FFFFFF" dominant-baseline="middle" y="254" x="1026"><tspan alignment-baseline="mathematical" dy="0">Banking Customer C</tspan></text></g><g class="person-man"><rect stroke-width="0.5" ry="2.5" rx="2.5" height="88" width="551" stroke="#3C7FC0" fill="#1168BD" y="404" x="150"></rect><text y="424" x="400" textLength="51" lengthAdjust="spacing" font-style="italic" font-size="12" font-family="&quot;Open Sans&quot;, sans-serif" fill="#FFFFFF">&lt;&lt;system&gt;&gt;</text><text style="text-anchor: middle; font-size: 16px; font-weight: bold; font-family: &quot;Open Sans&quot;, sans-serif;" fill="#FFFFFF" dominant-baseline="middle" y="442" x="425.5"><tspan alignment-baseline="mathematical" dy="0">Internet Banking System</tspan></text><text style="text-anchor: middle; font-size: 14px; font-weight: normal; font-family: &quot;Open Sans&quot;, sans-serif;" fill="#FFFFFF" dominant-baseline="middle" y="481" x="425.5"><tspan alignment-baseline="mathematical" dy="0">Allows customers to view information about their bank accounts, and make payments.</tspan></text></g><g class="person-man"><rect stroke-width="0.5" ry="2.5" rx="2.5" height="147" width="216" stroke="#073B6F" fill="#08427B" y="404" x="801"></rect><text y="424" x="884" textLength="50" lengthAdjust="spacing" font-style="italic" font-size="12" font-family="&quot;Open Sans&quot;, sans-serif" fill="#FFFFFF">&lt;&lt;person&gt;&gt;</text><image xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAACD0lEQVR4Xu2YoU4EMRCGT+4j8Ai8AhaH4QHgAUjQuFMECUgMIUgwJAgMhgQsAYUiJCiQIBBY+EITsjfTdme6V24v4c8vyGbb+ZjOtN0bNcvjQXmkH83WvYBWto6PLm6v7p7uH1/w2fXD+PBycX1Pv2l3IdDm/vn7x+dXQiAubRzoURa7gRZWd0iGRIiJbOnhnfYBQZNJjNbuyY2eJG8fkDE3bbG4ep6MHUAsgYxmE3nVs6VsBWJSGccsOlFPmLIViMzLOB7pCVO2AtHJMohH7Fh6zqitQK7m0rJvAVYgGcEpe//PLdDz65sM4pF9N7ICcXDKIB5Nv6j7tD0NoSdM2QrU9Gg0ewE1LqBhHR3BBdvj2vapnidjHxD/q6vd7Pvhr31AwcY8eXMTXAKECZZJFXuEq27aLgQK5uLMohCenGGuGewOxSjBvYBqeG6B+Nqiblggdjnc+ZXDy+FNFpFzw76O3UBAROuXh6FoiAcf5g9eTvUgzy0nWg6I8cXHRUpg5bOVBCo+KDpFajOf23GgPme7RSQ+lacIENUgJ6gg1k6HjgOlqnLqip4tEuhv0hNEMXUD0clyXE3p6pZA0S2nnvTlXwLJEZWlb7cTQH1+USgTN4VhAenm/wea1OCAOmqo6fE1WCb9WSKBah+rbUWPWAmE2Rvk0ApiB45eOyNAzU8xcTvj8KvkKEoOaIYeHNA3ZuygAvFMUO0AAAAASUVORK5CYII=" y="434" x="885" height="48" width="48"></image><text style="text-anchor: middle; font-size: 16px; font-weight: bold; font-family: &quot;Open Sans&quot;, sans-serif;" fill="#FFFFFF" dominant-baseline="middle" y="490" x="909"><tspan alignment-baseline="mathematical" dy="0">Banking Customer D</tspan></text><text style="text-anchor: middle; font-size: 14px; font-weight: normal; font-family: &quot;Open Sans&quot;, sans-serif;" fill="#FFFFFF" dominant-baseline="middle" y="529" x="909"><tspan alignment-baseline="mathematical" dy="-7">A customer of the bank, </tspan></text><text style="text-anchor: middle; font-size: 14px; font-weight: normal; font-family: &quot;Open Sans&quot;, sans-serif;" fill="#FFFFFF" dominant-baseline="middle" y="529" x="909"><tspan alignment-baseline="mathematical" dy="7"> with personal bank accounts.</tspan></text></g><g class="person-man"><path d="M200,759c0,-10 279.5,-10 279.5,-10c0,0 279.5,0 279.5,10l0,88c0,10 -279.5,10 -279.5,10c0,0 -279.5,0 -279.5,-10l0,-88" stroke="#8A8A8A" stroke-width="0.5" fill="#999999"></path><path d="M200,759c0,10 279.5,10 279.5,10c0,0 279.5,0 279.5,-10" stroke="#8A8A8A" stroke-width="0.5" fill="none"></path><text y="779" x="419" textLength="121" lengthAdjust="spacing" font-style="italic" font-size="12" font-family="&quot;Open Sans&quot;, sans-serif" fill="#FFFFFF">&lt;&lt;external_system_db&gt;&gt;</text><text style="text-anchor: middle; font-size: 16px; font-weight: bold; font-family: &quot;Open Sans&quot;, sans-serif;" fill="#FFFFFF" dominant-baseline="middle" y="797" x="479.5"><tspan alignment-baseline="mathematical" dy="0">Mainframe Banking System</tspan></text><text style="text-anchor: middle; font-size: 14px; font-weight: normal; font-family: &quot;Open Sans&quot;, sans-serif;" fill="#FFFFFF" dominant-baseline="middle" y="836" x="479.5"><tspan alignment-baseline="mathematical" dy="0">Stores all of the core banking information about customers, accounts, transactions, etc.</tspan></text></g><g class="person-man"><rect stroke-width="0.5" ry="2.5" rx="2.5" height="88" width="315" stroke="#8A8A8A" fill="#999999" y="759" x="859"></rect><text y="779" x="966" textLength="101" lengthAdjust="spacing" font-style="italic" font-size="12" font-family="&quot;Open Sans&quot;, sans-serif" fill="#FFFFFF">&lt;&lt;external_system&gt;&gt;</text><text style="text-anchor: middle; font-size: 16px; font-weight: bold; font-family: &quot;Open Sans&quot;, sans-serif;" fill="#FFFFFF" dominant-baseline="middle" y="797" x="1016.5"><tspan alignment-baseline="mathematical" dy="0">E-mail system</tspan></text><text style="text-anchor: middle; font-size: 14px; font-weight: normal; font-family: &quot;Open Sans&quot;, sans-serif;" fill="#FFFFFF" dominant-baseline="middle" y="836" x="1016.5"><tspan alignment-baseline="mathematical" dy="0">The internal Microsoft Exchange e-mail system.</tspan></text></g><g class="person-man"><path d="M1274,759c0,-10 169,-10 169,-10c0,0 169,0 169,10l0,88c0,10 -169,10 -169,10c0,0 -169,0 -169,-10l0,-88" stroke="#3C7FC0" stroke-width="0.5" fill="#1168BD"></path><path d="M1274,759c0,10 169,10 169,10c0,0 169,0 169,-10" stroke="#3C7FC0" stroke-width="0.5" fill="none"></path><text y="779" x="1407.5" textLength="71" lengthAdjust="spacing" font-style="italic" font-size="12" font-family="&quot;Open Sans&quot;, sans-serif" fill="#FFFFFF">&lt;&lt;system_db&gt;&gt;</text><text style="text-anchor: middle; font-size: 16px; font-weight: bold; font-family: &quot;Open Sans&quot;, sans-serif;" fill="#FFFFFF" dominant-baseline="middle" y="797" x="1443"><tspan alignment-baseline="mathematical" dy="0">Banking System D Database</tspan></text><text style="text-anchor: middle; font-size: 14px; font-weight: normal; font-family: &quot;Open Sans&quot;, sans-serif;" fill="#FFFFFF" dominant-baseline="middle" y="836" x="1443"><tspan alignment-baseline="mathematical" dy="0">A system of the bank, with personal bank accounts.</tspan></text></g><g class="person-man"><rect stroke-width="0.5" ry="2.5" rx="2.5" height="60" width="216" stroke="#3C7FC0" fill="#1168BD" y="1055" x="250"></rect><text y="1075" x="332.5" textLength="51" lengthAdjust="spacing" font-style="italic" font-size="12" font-family="&quot;Open Sans&quot;, sans-serif" fill="#FFFFFF">&lt;&lt;system&gt;&gt;</text><text style="text-anchor: middle; font-size: 16px; font-weight: bold; font-family: &quot;Open Sans&quot;, sans-serif;" fill="#FFFFFF" dominant-baseline="middle" y="1093" x="358"><tspan alignment-baseline="mathematical" dy="0">Banking System A</tspan></text></g><g class="person-man"><rect stroke-width="0.5" ry="2.5" rx="2.5" height="88" width="338" stroke="#3C7FC0" fill="#1168BD" y="1215" x="250"></rect><text y="1235" x="393.5" textLength="51" lengthAdjust="spacing" font-style="italic" font-size="12" font-family="&quot;Open Sans&quot;, sans-serif" fill="#FFFFFF">&lt;&lt;system&gt;&gt;</text><text style="text-anchor: middle; font-size: 16px; font-weight: bold; font-family: &quot;Open Sans&quot;, sans-serif;" fill="#FFFFFF" dominant-baseline="middle" y="1253" x="419"><tspan alignment-baseline="mathematical" dy="0">Banking System B</tspan></text><text style="text-anchor: middle; font-size: 14px; font-weight: normal; font-family: &quot;Open Sans&quot;, sans-serif;" fill="#FFFFFF" dominant-baseline="middle" y="1292" x="419"><tspan alignment-baseline="mathematical" dy="0">A system of the bank, with personal bank accounts.</tspan></text></g><g><rect stroke-dasharray="7.0,7.0" stroke-width="1" ry="2.5" rx="2.5" height="398" width="438" stroke="#444444" fill="none" y="955" x="200"></rect><text style="text-anchor: middle; font-size: 16px; font-weight: bold; font-family: &quot;Open Sans&quot;, sans-serif;" fill="#444444" dominant-baseline="middle" y="963" x="419"><tspan alignment-baseline="mathematical" dy="0">BankBoundary2</tspan></text><text style="text-anchor: middle; font-size: 14px; font-weight: normal; font-family: &quot;Open Sans&quot;, sans-serif;" fill="#444444" dominant-baseline="middle" y="987" x="419"><tspan alignment-baseline="mathematical" dy="0">[ENTERPRISE]</tspan></text></g><g class="person-man"><path d="M738,1055l338,0c5,0 5,44 5,44c0,0 0,44 -5,44l-338,0c-5,0 -5,-44 -5,-44c0,0 0,-44 5,-44" stroke="#3C7FC0" stroke-width="0.5" fill="#1168BD"></path><path d="M1076,1055c-5,0 -5,44 -5,44c0,44 5,44 5,44" stroke="#3C7FC0" stroke-width="0.5" fill="none"></path><text y="1075" x="861.5" textLength="91" lengthAdjust="spacing" font-style="italic" font-size="12" font-family="&quot;Open Sans&quot;, sans-serif" fill="#FFFFFF">&lt;&lt;system_queue&gt;&gt;</text><text style="text-anchor: middle; font-size: 16px; font-weight: bold; font-family: &quot;Open Sans&quot;, sans-serif;" fill="#FFFFFF" dominant-baseline="middle" y="1093" x="907"><tspan alignment-baseline="mathematical" dy="0">Banking System F Queue</tspan></text><text style="text-anchor: middle; font-size: 14px; font-weight: normal; font-family: &quot;Open Sans&quot;, sans-serif;" fill="#FFFFFF" dominant-baseline="middle" y="1132" x="907"><tspan alignment-baseline="mathematical" dy="0">A system of the bank, with personal bank accounts.</tspan></text></g><g class="person-man"><path d="M738,1243l338,0c5,0 5,44 5,44c0,0 0,44 -5,44l-338,0c-5,0 -5,-44 -5,-44c0,0 0,-44 5,-44" stroke="#8A8A8A" stroke-width="0.5" fill="#999999"></path><path d="M1076,1243c-5,0 -5,44 -5,44c0,44 5,44 5,44" stroke="#8A8A8A" stroke-width="0.5" fill="none"></path><text y="1263" x="836.5" textLength="141" lengthAdjust="spacing" font-style="italic" font-size="12" font-family="&quot;Open Sans&quot;, sans-serif" fill="#FFFFFF">&lt;&lt;external_system_queue&gt;&gt;</text><text style="text-anchor: middle; font-size: 16px; font-weight: bold; font-family: &quot;Open Sans&quot;, sans-serif;" fill="#FFFFFF" dominant-baseline="middle" y="1281" x="907"><tspan alignment-baseline="mathematical" dy="0">Banking System G Queue</tspan></text><text style="text-anchor: middle; font-size: 14px; font-weight: normal; font-family: &quot;Open Sans&quot;, sans-serif;" fill="#FFFFFF" dominant-baseline="middle" y="1320" x="907"><tspan alignment-baseline="mathematical" dy="0">A system of the bank, with personal bank accounts.</tspan></text></g><g><rect stroke-dasharray="7.0,7.0" stroke-width="1" ry="2.5" rx="2.5" height="426" width="438" stroke="#444444" fill="none" y="955" x="688"></rect><text style="text-anchor: middle; font-size: 16px; font-weight: bold; font-family: &quot;Open Sans&quot;, sans-serif;" fill="#444444" dominant-baseline="middle" y="963" x="907"><tspan alignment-baseline="mathematical" dy="0">BankBoundary3</tspan></text><text style="text-anchor: middle; font-size: 14px; font-weight: normal; font-family: &quot;Open Sans&quot;, sans-serif;" fill="#444444" dominant-baseline="middle" y="987" x="907"><tspan alignment-baseline="mathematical" dy="0">[boundary]</tspan></text></g><g><rect stroke-dasharray="7.0,7.0" stroke-width="1" ry="2.5" rx="2.5" height="772" width="1512" stroke="#444444" fill="none" y="659" x="150"></rect><text style="text-anchor: middle; font-size: 16px; font-weight: bold; font-family: &quot;Open Sans&quot;, sans-serif;" fill="#444444" dominant-baseline="middle" y="667" x="906"><tspan alignment-baseline="mathematical" dy="0">BankBoundary</tspan></text><text style="text-anchor: middle; font-size: 14px; font-weight: normal; font-family: &quot;Open Sans&quot;, sans-serif;" fill="#444444" dominant-baseline="middle" y="691" x="906"><tspan alignment-baseline="mathematical" dy="0">[ENTERPRISE]</tspan></text></g><defs><marker orient="auto" markerHeight="12" markerWidth="12" markerUnits="userSpaceOnUse" refY="5" refX="9" id="arrowhead"><path d="M 0 0 L 10 5 L 0 10 z"></path></marker></defs><defs><marker orient="auto" markerHeight="12" markerWidth="12" markerUnits="userSpaceOnUse" refY="5" refX="1" id="arrowend"><path d="M 10 0 L 0 5 L 10 10 z"></path></marker></defs><defs><marker refY="4" refX="16" orient="auto" markerHeight="8" markerWidth="15" id="crosshead"><path style="stroke-dasharray: 0, 0;" d="M 9,2 V 6 L16,4 Z" stroke-width="1px" stroke="#000000" fill="black"></path><path style="stroke-dasharray: 0, 0;" d="M 0,1 L 6,7 M 6,1 L 0,7" stroke-width="1px" stroke="#000000" fill="none"></path></marker></defs><defs><marker orient="auto" markerHeight="28" markerWidth="20" refY="7" refX="18" id="filled-head"><path d="M 18,7 L9,13 L14,7 L9,1 Z"></path></marker></defs><g><line style="fill: none;" marker-start="url(#arrowend)" marker-end="url(#arrowhead)" stroke="#444444" stroke-width="1" y2="404" x2="471.5952380952381" y1="304" x1="392.90714285714284"></line><text style="text-anchor: middle; font-size: 12px; font-weight: normal; font-family: &quot;Open Sans&quot;, sans-serif;" fill="#444444" dominant-baseline="middle" y="354" x="445.75119047619046"><tspan alignment-baseline="mathematical" dy="0">Uses</tspan></text><path marker-start="url(#arrowend)" marker-end="url(#arrowhead)" d="M461.8358395989975,492 Q474.2277639436211,625.5 511.40353697749197,759" stroke="#444444" stroke-width="1" fill="none"></path><text style="text-anchor: middle; font-size: 12px; font-weight: normal; font-family: &quot;Open Sans&quot;, sans-serif;" fill="#444444" dominant-baseline="middle" y="625.5" x="500.11968828824473"><tspan alignment-baseline="mathematical" dy="0">Uses</tspan></text><path marker-end="url(#arrowhead)" d="M521.0538847117795,492 Q629.582616106182,625.5 955.1688102893891,759" stroke="#444444" stroke-width="1" fill="none"></path><text style="text-anchor: middle; font-size: 12px; font-weight: normal; font-family: &quot;Open Sans&quot;, sans-serif;" fill="#444444" dominant-baseline="middle" y="625.5" x="776.1113475005843"><tspan alignment-baseline="mathematical" dy="0">Sends e-mails</tspan></text><text style="text-anchor: middle; font-size: 12px; font-weight: normal; font-family: &quot;Open Sans&quot;, sans-serif;" font-style="italic" fill="#444444" dominant-baseline="middle" y="642.5" x="776.1113475005843"><tspan alignment-baseline="mathematical" dy="0">[SMTP]</tspan></text><path marker-end="url(#arrowhead)" d="M971.6586998087954,759 Q833.4416626518721,531.5 418.7905511811024,304" stroke="#444444" stroke-width="1" fill="none"></path><text style="text-anchor: middle; font-size: 12px; font-weight: normal; font-family: &quot;Open Sans&quot;, sans-serif;" fill="#444444" dominant-baseline="middle" y="531.5" x="739.7246254949489"><tspan alignment-baseline="mathematical" dy="0">Sends e-mails to</tspan></text></g><text y="20" x="656">System Context diagram for Internet Banking System</text></svg>


blobId: 8KF8LRwLAqzsKcUZG2zY
dateModified: 2025-11-03 16:29:21.923+0000
utcDateModified: 2025-11-03 16:29:21.924Z
content:
  {"nodeData":{"id":"me-root","topic":"Mind Elixir","root":true,"tags":["Mind Map Core"],"children":[{"topic":"What is Mind Elixir","id":"bd4313fbac40284b","direction":0,"expanded":true,"children":[{"topic":"A mind map core","id":"beeb823afd6d2114"},{"topic":"Free","id":"c1f068377de9f3a0"},{"topic":"Open-Source","id":"c1f06d38a09f23ca"},{"topic":"Use without JavaScript framework","id":"c1f06e4cbcf16463","expanded":true,"children":[]},{"topic":"Use in your own project","id":"c1f1f11a7fbf7550","children":[{"topic":"import MindElixir from 'mind-elixir'","id":"c1f1e245b0a89f9b"},{"topic":"new MindElixir({...}).init(data)","id":"c1f1ebc7072c8928"}]},{"topic":"Easy to use","id":"c1f0723c07b408d7","expanded":true,"children":[{"topic":"Use it like other mind map application","id":"c1f09612fd89920d"}]}]},{"topic":"Basics","id":"bd1b66c4b56754d9","direction":0,"expanded":true,"children":[{"topic":"tab - Create a child node","id":"bd1b6892bcab126a"},{"topic":"enter - Create a sibling node","id":"bd1b6b632a434b27"},{"topic":"del - Remove a node","id":"bd1b983085187c0a"}]},{"topic":"Focus mode","id":"bd1b9b94a9a7a913","direction":1,"expanded":true,"children":[{"topic":"Right click and select Focus Mode","id":"bd1bb2ac4bbab458"},{"topic":"Right click and select Cancel Focus Mode","id":"bd1bb4b14d6697c3"}]},{"topic":"Left menu","id":"bd1b9d1816ede134","direction":0,"expanded":true,"children":[{"topic":"Node distribution","id":"bd1ba11e620c3c1a","expanded":true,"children":[{"topic":"Left","id":"bd1c1cb51e6745d3"},{"topic":"Right","id":"bd1c1e12fd603ff6"},{"topic":"Both l & r","id":"bd1c1f03def5c97b"}]}]},{"topic":"Bottom menu","id":"bd1ba66996df4ba4","direction":1,"expanded":true,"children":[{"topic":"Full screen","id":"bd1ba81d9bc95a7e"},{"topic":"Return to Center","id":"bd1babdd5c18a7a2"},{"topic":"Zoom in","id":"bd1bae68e0ab186e"},{"topic":"Zoom out","id":"bd1bb06377439977"}]},{"topic":"Link","id":"bd1beff607711025","direction":0,"expanded":true,"children":[{"topic":"Right click and select Link","id":"bd1bf320da90046a"},{"topic":"Click the target you want to link","id":"bd1bf6f94ff2e642"},{"topic":"Modify link with control points","id":"bd1c0c4a487bd036"}]},{"topic":"Node style","id":"bd1c217f9d0b20bd","direction":0,"expanded":true,"children":[{"topic":"Font Size","id":"bd1c24420cd2c2f5","style":{"fontSize":"32","color":"#3298db"}},{"topic":"Font Color","id":"bd1c2a59b9a2739c","style":{"color":"#c0392c"}},{"topic":"Background Color","id":"bd1c2de33f057eb4","style":{"color":"#bdc3c7","background":"#2c3e50"}},{"topic":"Add tags","id":"bd1cff58364436d0","tags":["Completed"]},{"topic":"Add icons","id":"bd1d0317f7e8a61a","icons":["😂"],"tags":["www"]},{"topic":"Bolder","id":"bd41fd4ca32322a4","style":{"fontWeight":"bold"}},{"topic":"Hyper link","id":"bd41fd4ca32322a5","hyperLink":"https://github.com/ssshooter/mind-elixir-core"}]},{"topic":"Draggable","id":"bd1f03fee1f63bc6","direction":1,"expanded":true,"children":[{"topic":"Drag a node to another node\nand the former one will become a child node of latter one","id":"bd1f07c598e729dc"}]},{"topic":"Export data","id":"beeb7586973430db","direction":1,"expanded":true,"children":[{"topic":"JSON","id":"beeb784cc189375f"},{"topic":"HTML","id":"beeb7a6bec2d68f5"},{"topic":"SVG","id":"beeb7a6bec2d68e6"}]},{"topic":"Caution","id":"bd42dad21aaf6bae","direction":0,"style":{"background":"#f1c40e"},"expanded":true,"children":[{"topic":"Only save manually","id":"bd42e1d0163ebf04","expanded":true,"children":[{"topic":"Save button in the top-right corner","id":"bd42e619051878b3","branchColor":"green","expanded":true,"children":[]},{"topic":"ctrl + S","id":"bd42e97d7ac35e99"}]}]}],"expanded":true},"arrows":[{"id":"ac5fb1df7345e9c4","label":"Render","from":"beeb784cc189375f","to":"beeb7a6bec2d68f5","delta1":{"x":142.8828125,"y":-57},"delta2":{"x":146.1171875,"y":45}}],"summaries":[{"id":"a5e68e6a2ce1b648","parent":"bd42e1d0163ebf04","start":0,"end":1,"text":"summary"},{"id":"a5e6978f1bc69f4a","parent":"bd4313fbac40284b","start":3,"end":5,"text":"summary"}],"direction":0,"theme":{"name":"Dark","type":"dark","palette":["#848FA0","#748BE9","#D2F9FE","#4145A5","#789AFA","#706CF4","#EF987F","#775DD5","#FCEECF","#DA7FBC"],"cssVar":{"--main-color":"#ffffff","--main-bgcolor":"#4c4f69","--color":"#cccccc","--bgcolor":"#252526","--panel-color":"#ffffff","--panel-bgcolor":"#2d3748","--panel-border-color":"#696969"}}}


blobId: 4k04lz1uyD6MfM1Rh0Wr
dateModified: 2025-11-03 16:29:21.944+0000
utcDateModified: 2025-11-03 16:29:21.944Z
content:
  <?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg version="1.1" xmlns="http://www.w3.org/2000/svg" height="2556px" width="1282px"><rect x="0" y="0" width="1282" height="2556" fill="#252526"></rect><svg x="100" y="100" overflow="visible"><svg class="subLines" overflow="visible" x="65" y="45"><path d="M 595 177 C 565 177 577.6 51 535 51 H 396" stroke="#848FA0" fill="none" stroke-width="2"></path><path d="M 595 177 C 565 177 572.5 102 535 102 H 489" stroke="#848FA0" fill="none" stroke-width="2"></path><path d="M 595 177 C 565 177 567.5 152 535 152 H 424" stroke="#848FA0" fill="none" stroke-width="2"></path><path d="M 595 177 C 565 177 567.6 203 535 203 H 276" stroke="#848FA0" fill="none" stroke-width="2"></path><path d="M 595 177 C 565 177 575.1 278 535 278 H 348" stroke="#848FA0" fill="none" stroke-width="2"></path><path d="M 348 278 C 318 278 320.5 253 288 253 H 30" stroke="#848FA0" fill="none" stroke-width="2"></path><path d="M 348 278 C 318 278 320.6 304 288 304 H 78" stroke="#848FA0" fill="none" stroke-width="2"></path><path d="M 595 177 C 565 177 582.7 354 535 354 H 439" stroke="#848FA0" fill="none" stroke-width="2"></path><path d="M 439 354 C 409 354 409 354 379 354 H 99" stroke="#848FA0" fill="none" stroke-width="2"></path></svg><svg class="subLines" overflow="visible" x="440" y="444"><path d="M 311 76 C 281 76 283.5 51 251 51 H 57" stroke="#748BE9" fill="none" stroke-width="2"></path><path d="M 311 76 C 281 76 283.6 102 251 102 H 30" stroke="#748BE9" fill="none" stroke-width="2"></path><path d="M 311 76 C 281 76 288.6 152 251 152 H 86" stroke="#748BE9" fill="none" stroke-width="2"></path></svg><svg class="subLines" overflow="visible" x="305" y="640"><path d="M 401 50 C 371 50 371.1 51 341 51 H 82" stroke="#D2F9FE" fill="none" stroke-width="2"></path><path d="M 401 50 C 371 50 376.2 102 341 102 H 30" stroke="#D2F9FE" fill="none" stroke-width="2"></path></svg><svg class="subLines" overflow="visible" x="352" y="786"><path d="M 369 76 C 339 76 341.6 102 309 102 H 166" stroke="#4145A5" fill="none" stroke-width="2"></path><path d="M 166 102 C 136 102 141.1 51 106 51 H 73" stroke="#4145A5" fill="none" stroke-width="2"></path><path d="M 166 102 C 136 102 136 102 106 102 H 62" stroke="#4145A5" fill="none" stroke-width="2"></path><path d="M 166 102 C 136 102 141 152 106 152 H 30" stroke="#4145A5" fill="none" stroke-width="2"></path></svg><svg class="subLines" overflow="visible" x="470" y="983"><path d="M 225 101 C 195 101 200 51 165 51 H 73" stroke="#789AFA" fill="none" stroke-width="2"></path><path d="M 225 101 C 195 101 195.1 102 165 102 H 30" stroke="#789AFA" fill="none" stroke-width="2"></path><path d="M 225 101 C 195 101 200.1 152 165 152 H 89" stroke="#789AFA" fill="none" stroke-width="2"></path><path d="M 225 101 C 195 101 205.2 203 165 203 H 78" stroke="#789AFA" fill="none" stroke-width="2"></path></svg><svg class="subLines" overflow="visible" x="430" y="1230"><path d="M 335 76 C 305 76 307.5 51 275 51 H 74" stroke="#706CF4" fill="none" stroke-width="2"></path><path d="M 335 76 C 305 76 307.6 102 275 102 H 30" stroke="#706CF4" fill="none" stroke-width="2"></path><path d="M 335 76 C 305 76 312.6 152 275 152 H 38" stroke="#706CF4" fill="none" stroke-width="2"></path></svg><svg class="subLines" overflow="visible" x="471" y="1426"><path d="M 245 212 C 215 212 228.6 76 185 76 H 30" stroke="#EF987F" fill="none" stroke-width="2"></path><path d="M 245 212 C 215 212 223.5 127 185 127 H 94" stroke="#EF987F" fill="none" stroke-width="2"></path><path d="M 245 212 C 215 212 218.4 178 185 178 H 40" stroke="#EF987F" fill="none" stroke-width="2"></path><path d="M 245 212 C 215 212 218.8 250 185 250 H 94" stroke="#EF987F" fill="none" stroke-width="2"></path><path d="M 245 212 C 215 212 226.1 323 185 323 H 72" stroke="#EF987F" fill="none" stroke-width="2"></path><path d="M 245 212 C 215 212 231.3 375 185 375 H 120" stroke="#EF987F" fill="none" stroke-width="2"></path><path d="M 245 212 C 215 212 236.3 425 185 425 H 59" stroke="#EF987F" fill="none" stroke-width="2"></path></svg><svg class="subLines" overflow="visible" x="197" y="1896"><path d="M 522 36 C 492 36 495.7 73 462 73 H 30" stroke="#775DD5" fill="none" stroke-width="2"></path></svg><svg class="subLines" overflow="visible" x="562" y="2014"><path d="M 149 76 C 119 76 121.5 51 89 51 H 34" stroke="#FCEECF" fill="none" stroke-width="2"></path><path d="M 149 76 C 119 76 121.6 102 89 102 H 30" stroke="#FCEECF" fill="none" stroke-width="2"></path><path d="M 149 76 C 119 76 126.6 152 89 152 H 43" stroke="#FCEECF" fill="none" stroke-width="2"></path></svg><svg class="subLines" overflow="visible" x="175" y="2210"><path d="M 563 50 C 533 50 535.6 76 503 76 H 348" stroke="#DA7FBC" fill="none" stroke-width="2"></path><path d="M 348 76 C 318 76 320.5 51 288 51 H 30" stroke="green" fill="none" stroke-width="2"></path><path d="M 348 76 C 318 76 320.6 102 288 102 H 231" stroke="#DA7FBC" fill="none" stroke-width="2"></path></svg><svg class="lines" overflow="visible"><path d="M 953.5663890067912 1178.5 Q 953.5663890067912 222 817 222" stroke="#848FA0" fill="none" stroke-width="3"></path><path d="M 950.5781674448217 1178.5 Q 950.5781674448217 520 818 520" stroke="#748BE9" fill="none" stroke-width="3"></path><path d="M 948.8734772920204 1178.5 Q 948.8734772920204 690 817 690" stroke="#D2F9FE" fill="none" stroke-width="3"></path><path d="M 947.1487319609508 1178.5 Q 947.1487319609508 862 817 862" stroke="#4145A5" fill="none" stroke-width="3"></path><path d="M 944.9226071731749 1178.5 Q 944.9226071731749 1084 818 1084" stroke="#789AFA" fill="none" stroke-width="3"></path><path d="M 945.253517614601 1178.5 Q 945.253517614601 1306 818 1306" stroke="#706CF4" fill="none" stroke-width="3"></path><path d="M 948.5826772071307 1178.5 Q 948.5826772071307 1638 817 1638" stroke="#EF987F" fill="none" stroke-width="3"></path><path d="M 951.5307884125637 1178.5 Q 951.5307884125637 1932 818 1932" stroke="#775DD5" fill="none" stroke-width="3"></path><path d="M 953.1151474957555 1178.5 Q 953.1151474957555 2090 817 2090" stroke="#FCEECF" fill="none" stroke-width="3"></path><path d="M 954.8198376485569 1178.5 Q 954.8198376485569 2260 817 2260" stroke="#DA7FBC" fill="none" stroke-width="3"></path></svg><svg class="topiclinks" overflow="visible"><g data-linkid="ac5fb1df7345e9c4"><path d="M 641 2035.5241128547214 C 761.3828125 1987.5 762.6171875 2140.5 641 2103.0453135860557" stroke="rgb(235, 95, 82)" fill="none" stroke-linecap="cap" stroke-width="2" stroke-dasharray="8,2"></path><path d="M 652.6983510738028 2100.3716303299357 L 641 2103.0453135860557 L 649.1646531583744 2111.839541170298" stroke="rgb(235, 95, 82)" fill="none" stroke-linecap="cap" stroke-width="2"></path><path d="" stroke="rgb(235, 95, 82)" fill="none" stroke-linecap="cap" stroke-width="2"></path><text text-anchor="middle" x="731.75" y="2065.321178305097" fill="#cccccc" data-type="custom-link">Render</text></g></svg><svg class="summary" overflow="visible"><g id="s-a5e68e6a2ce1b648"><path d="M 185 2240 c -5 0 -10 5 -10 10 L 175 2292 c 0 5 5 10 10 10 M 175 2271 h -10" stroke="#cccccc" fill="none" stroke-linecap="round" stroke-width="2"></path><text text-anchor="end" x="155" y="2277" fill="#cccccc">summary</text></g><g id="s-a5e6978f1bc69f4a"><path d="M 75 227 c -5 0 -10 5 -10 10 L 65 379 c 0 5 5 10 10 10 M 65 308 h -10" stroke="#cccccc" fill="none" stroke-linecap="round" stroke-width="2"></path><text text-anchor="end" x="45" y="314" fill="#cccccc">summary</text></g></svg><rect x="630" y="201" rx="20px" ry="20px" width="187.194px" height="42.0556px" fill="rgb(76, 79, 105)" stroke="rgb(132, 143, 160)" stroke-width="1.77778px"></rect><g><rect x="655" y="209" rx="0px" ry="0px" width="133.639px" height="22.5px" fill="rgba(0, 0, 0, 0)" stroke="rgb(255, 255, 255)" stroke-width="0px"></rect><foreignObject x="655" y="209" width="133.639px" height="22.5px"><div xmlns="http://www.w3.org/1999/xhtml" style="font-family: -apple-system, BlinkMacSystemFont, &quot;Helvetica Neue&quot;, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Source Han Sans SC&quot;, &quot;Noto Sans CJK SC&quot;, &quot;WenQuanYi Micro Hei&quot;, sans-serif; font-size: 15px; font-weight: 400; color: rgb(255, 255, 255); white-space: pre-wrap;">What is Mind Elixir</div></foreignObject></g><rect x="461" y="61" rx="3px" ry="3px" width="129.736px" height="28.5px" fill="rgba(0, 0, 0, 0)" stroke="rgb(204, 204, 204)" stroke-width="0px"></rect><g><rect x="464" y="64" rx="0px" ry="0px" width="123.736px" height="22.5px" fill="rgba(0, 0, 0, 0)" stroke="rgb(204, 204, 204)" stroke-width="0px"></rect><foreignObject x="464" y="64" width="123.736px" height="22.5px"><div xmlns="http://www.w3.org/1999/xhtml" style="font-family: -apple-system, BlinkMacSystemFont, &quot;Helvetica Neue&quot;, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Source Han Sans SC&quot;, &quot;Noto Sans CJK SC&quot;, &quot;WenQuanYi Micro Hei&quot;, sans-serif; font-size: 15px; font-weight: 400; color: rgb(204, 204, 204); white-space: pre-wrap;">A mind map core</div></foreignObject></g><rect x="554" y="112" rx="3px" ry="3px" width="36.5px" height="28.5px" fill="rgba(0, 0, 0, 0)" stroke="rgb(204, 204, 204)" stroke-width="0px"></rect><g><rect x="557" y="115" rx="0px" ry="0px" width="30.5px" height="22.5px" fill="rgba(0, 0, 0, 0)" stroke="rgb(204, 204, 204)" stroke-width="0px"></rect><foreignObject x="557" y="115" width="30.5px" height="22.5px"><div xmlns="http://www.w3.org/1999/xhtml" style="font-family: -apple-system, BlinkMacSystemFont, &quot;Helvetica Neue&quot;, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Source Han Sans SC&quot;, &quot;Noto Sans CJK SC&quot;, &quot;WenQuanYi Micro Hei&quot;, sans-serif; font-size: 15px; font-weight: 400; color: rgb(204, 204, 204); white-space: pre-wrap;">Free</div></foreignObject></g><rect x="489" y="162" rx="3px" ry="3px" width="101.014px" height="28.5px" fill="rgba(0, 0, 0, 0)" stroke="rgb(204, 204, 204)" stroke-width="0px"></rect><g><rect x="492" y="165" rx="0px" ry="0px" width="95.0139px" height="22.5px" fill="rgba(0, 0, 0, 0)" stroke="rgb(204, 204, 204)" stroke-width="0px"></rect><foreignObject x="492" y="165" width="95.0139px" height="22.5px"><div xmlns="http://www.w3.org/1999/xhtml" style="font-family: -apple-system, BlinkMacSystemFont, &quot;Helvetica Neue&quot;, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Source Han Sans SC&quot;, &quot;Noto Sans CJK SC&quot;, &quot;WenQuanYi Micro Hei&quot;, sans-serif; font-size: 15px; font-weight: 400; color: rgb(204, 204, 204); white-space: pre-wrap;">Open-Source</div></foreignObject></g><rect x="341" y="213" rx="3px" ry="3px" width="248.903px" height="28.5px" fill="rgba(0, 0, 0, 0)" stroke="rgb(204, 204, 204)" stroke-width="0px"></rect><g><rect x="344" y="216" rx="0px" ry="0px" width="242.903px" height="22.5px" fill="rgba(0, 0, 0, 0)" stroke="rgb(204, 204, 204)" stroke-width="0px"></rect><foreignObject x="344" y="216" width="242.903px" height="22.5px"><div xmlns="http://www.w3.org/1999/xhtml" style="font-family: -apple-system, BlinkMacSystemFont, &quot;Helvetica Neue&quot;, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Source Han Sans SC&quot;, &quot;Noto Sans CJK SC&quot;, &quot;WenQuanYi Micro Hei&quot;, sans-serif; font-size: 15px; font-weight: 400; color: rgb(204, 204, 204); white-space: pre-wrap;">Use without JavaScript framework</div></foreignObject></g><rect x="413" y="288" rx="3px" ry="3px" width="176.847px" height="28.5px" fill="rgba(0, 0, 0, 0)" stroke="rgb(204, 204, 204)" stroke-width="0px"></rect><g><rect x="416" y="291" rx="0px" ry="0px" width="170.847px" height="22.5px" fill="rgba(0, 0, 0, 0)" stroke="rgb(204, 204, 204)" stroke-width="0px"></rect><foreignObject x="416" y="291" width="170.847px" height="22.5px"><div xmlns="http://www.w3.org/1999/xhtml" style="font-family: -apple-system, BlinkMacSystemFont, &quot;Helvetica Neue&quot;, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Source Han Sans SC&quot;, &quot;Noto Sans CJK SC&quot;, &quot;WenQuanYi Micro Hei&quot;, sans-serif; font-size: 15px; font-weight: 400; color: rgb(204, 204, 204); white-space: pre-wrap;">Use in your own project</div></foreignObject></g><rect x="95" y="263" rx="3px" ry="3px" width="258.417px" height="28.5px" fill="rgba(0, 0, 0, 0)" stroke="rgb(204, 204, 204)" stroke-width="0px"></rect><g><rect x="98" y="266" rx="0px" ry="0px" width="252.417px" height="22.5px" fill="rgba(0, 0, 0, 0)" stroke="rgb(204, 204, 204)" stroke-width="0px"></rect><foreignObject x="98" y="266" width="252.417px" height="22.5px"><div xmlns="http://www.w3.org/1999/xhtml" style="font-family: -apple-system, BlinkMacSystemFont, &quot;Helvetica Neue&quot;, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Source Han Sans SC&quot;, &quot;Noto Sans CJK SC&quot;, &quot;WenQuanYi Micro Hei&quot;, sans-serif; font-size: 15px; font-weight: 400; color: rgb(204, 204, 204); white-space: pre-wrap;">import MindElixir from 'mind-elixir'</div></foreignObject></g><rect x="143" y="314" rx="3px" ry="3px" width="210.097px" height="28.5px" fill="rgba(0, 0, 0, 0)" stroke="rgb(204, 204, 204)" stroke-width="0px"></rect><g><rect x="146" y="317" rx="0px" ry="0px" width="204.097px" height="22.5px" fill="rgba(0, 0, 0, 0)" stroke="rgb(204, 204, 204)" stroke-width="0px"></rect><foreignObject x="146" y="317" width="204.097px" height="22.5px"><div xmlns="http://www.w3.org/1999/xhtml" style="font-family: -apple-system, BlinkMacSystemFont, &quot;Helvetica Neue&quot;, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Source Han Sans SC&quot;, &quot;Noto Sans CJK SC&quot;, &quot;WenQuanYi Micro Hei&quot;, sans-serif; font-size: 15px; font-weight: 400; color: rgb(204, 204, 204); white-space: pre-wrap;">new MindElixir({...}).init(data)</div></foreignObject></g><rect x="504" y="364" rx="3px" ry="3px" width="85.9722px" height="28.5px" fill="rgba(0, 0, 0, 0)" stroke="rgb(204, 204, 204)" stroke-width="0px"></rect><g><rect x="507" y="367" rx="0px" ry="0px" width="79.9722px" height="22.5px" fill="rgba(0, 0, 0, 0)" stroke="rgb(204, 204, 204)" stroke-width="0px"></rect><foreignObject x="507" y="367" width="79.9722px" height="22.5px"><div xmlns="http://www.w3.org/1999/xhtml" style="font-family: -apple-system, BlinkMacSystemFont, &quot;Helvetica Neue&quot;, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Source Han Sans SC&quot;, &quot;Noto Sans CJK SC&quot;, &quot;WenQuanYi Micro Hei&quot;, sans-serif; font-size: 15px; font-weight: 400; color: rgb(204, 204, 204); white-space: pre-wrap;">Easy to use</div></foreignObject></g><rect x="164" y="364" rx="3px" ry="3px" width="280.139px" height="28.5px" fill="rgba(0, 0, 0, 0)" stroke="rgb(204, 204, 204)" stroke-width="0px"></rect><g><rect x="167" y="367" rx="0px" ry="0px" width="274.139px" height="22.5px" fill="rgba(0, 0, 0, 0)" stroke="rgb(204, 204, 204)" stroke-width="0px"></rect><foreignObject x="167" y="367" width="274.139px" height="22.5px"><div xmlns="http://www.w3.org/1999/xhtml" style="font-family: -apple-system, BlinkMacSystemFont, &quot;Helvetica Neue&quot;, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Source Han Sans SC&quot;, &quot;Noto Sans CJK SC&quot;, &quot;WenQuanYi Micro Hei&quot;, sans-serif; font-size: 15px; font-weight: 400; color: rgb(204, 204, 204); white-space: pre-wrap;">Use it like other mind map application</div></foreignObject></g><rect x="721" y="499" rx="20px" ry="20px" width="96.6528px" height="42.0556px" fill="rgb(76, 79, 105)" stroke="rgb(116, 139, 233)" stroke-width="1.77778px"></rect><g><rect x="746" y="507" rx="0px" ry="0px" width="43.0972px" height="22.5px" fill="rgba(0, 0, 0, 0)" stroke="rgb(255, 255, 255)" stroke-width="0px"></rect><foreignObject x="746" y="507" width="43.0972px" height="22.5px"><div xmlns="http://www.w3.org/1999/xhtml" style="font-family: -apple-system, BlinkMacSystemFont, &quot;Helvetica Neue&quot;, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Source Han Sans SC&quot;, &quot;Noto Sans CJK SC&quot;, &quot;WenQuanYi Micro Hei&quot;, sans-serif; font-size: 15px; font-weight: 400; color: rgb(255, 255, 255); white-space: pre-wrap;">Basics</div></foreignObject></g><rect x="497" y="460" rx="3px" ry="3px" width="183.931px" height="28.5px" fill="rgba(0, 0, 0, 0)" stroke="rgb(204, 204, 204)" stroke-width="0px"></rect><g><rect x="500" y="463" rx="0px" ry="0px" width="177.931px" height="22.5px" fill="rgba(0, 0, 0, 0)" stroke="rgb(204, 204, 204)" stroke-width="0px"></rect><foreignObject x="500" y="463" width="177.931px" height="22.5px"><div xmlns="http://www.w3.org/1999/xhtml" style="font-family: -apple-system, BlinkMacSystemFont, &quot;Helvetica Neue&quot;, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Source Han Sans SC&quot;, &quot;Noto Sans CJK SC&quot;, &quot;WenQuanYi Micro Hei&quot;, sans-serif; font-size: 15px; font-weight: 400; color: rgb(204, 204, 204); white-space: pre-wrap;">tab - Create a child node</div></foreignObject></g><rect x="470" y="511" rx="3px" ry="3px" width="210.917px" height="28.5px" fill="rgba(0, 0, 0, 0)" stroke="rgb(204, 204, 204)" stroke-width="0px"></rect><g><rect x="473" y="514" rx="0px" ry="0px" width="204.917px" height="22.5px" fill="rgba(0, 0, 0, 0)" stroke="rgb(204, 204, 204)" stroke-width="0px"></rect><foreignObject x="473" y="514" width="204.917px" height="22.5px"><div xmlns="http://www.w3.org/1999/xhtml" style="font-family: -apple-system, BlinkMacSystemFont, &quot;Helvetica Neue&quot;, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Source Han Sans SC&quot;, &quot;Noto Sans CJK SC&quot;, &quot;WenQuanYi Micro Hei&quot;, sans-serif; font-size: 15px; font-weight: 400; color: rgb(204, 204, 204); white-space: pre-wrap;">enter - Create a sibling node</div></foreignObject></g><rect x="526" y="561" rx="3px" ry="3px" width="155.208px" height="28.5px" fill="rgba(0, 0, 0, 0)" stroke="rgb(204, 204, 204)" stroke-width="0px"></rect><g><rect x="529" y="564" rx="0px" ry="0px" width="149.208px" height="22.5px" fill="rgba(0, 0, 0, 0)" stroke="rgb(204, 204, 204)" stroke-width="0px"></rect><foreignObject x="529" y="564" width="149.208px" height="22.5px"><div xmlns="http://www.w3.org/1999/xhtml" style="font-family: -apple-system, BlinkMacSystemFont, &quot;Helvetica Neue&quot;, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Source Han Sans SC&quot;, &quot;Noto Sans CJK SC&quot;, &quot;WenQuanYi Micro Hei&quot;, sans-serif; font-size: 15px; font-weight: 400; color: rgb(204, 204, 204); white-space: pre-wrap;">del - Remove a node</div></foreignObject></g><rect x="676" y="669" rx="20px" ry="20px" width="140.889px" height="42.0556px" fill="rgb(76, 79, 105)" stroke="rgb(210, 249, 254)" stroke-width="1.77778px"></rect><g><rect x="701" y="677" rx="0px" ry="0px" width="87.3333px" height="22.5px" fill="rgba(0, 0, 0, 0)" stroke="rgb(255, 255, 255)" stroke-width="0px"></rect><foreignObject x="701" y="677" width="87.3333px" height="22.5px"><div xmlns="http://www.w3.org/1999/xhtml" style="font-family: -apple-system, BlinkMacSystemFont, &quot;Helvetica Neue&quot;, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Source Han Sans SC&quot;, &quot;Noto Sans CJK SC&quot;, &quot;WenQuanYi Micro Hei&quot;, sans-serif; font-size: 15px; font-weight: 400; color: rgb(255, 255, 255); white-space: pre-wrap;">Focus mode</div></foreignObject></g><rect x="387" y="656" rx="3px" ry="3px" width="249.236px" height="28.5px" fill="rgba(0, 0, 0, 0)" stroke="rgb(204, 204, 204)" stroke-width="0px"></rect><g><rect x="390" y="659" rx="0px" ry="0px" width="243.236px" height="22.5px" fill="rgba(0, 0, 0, 0)" stroke="rgb(204, 204, 204)" stroke-width="0px"></rect><foreignObject x="390" y="659" width="243.236px" height="22.5px"><div xmlns="http://www.w3.org/1999/xhtml" style="font-family: -apple-system, BlinkMacSystemFont, &quot;Helvetica Neue&quot;, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Source Han Sans SC&quot;, &quot;Noto Sans CJK SC&quot;, &quot;WenQuanYi Micro Hei&quot;, sans-serif; font-size: 15px; font-weight: 400; color: rgb(204, 204, 204); white-space: pre-wrap;">Right click and select Focus Mode</div></foreignObject></g><rect x="335" y="707" rx="3px" ry="3px" width="301.25px" height="28.5px" fill="rgba(0, 0, 0, 0)" stroke="rgb(204, 204, 204)" stroke-width="0px"></rect><g><rect x="338" y="710" rx="0px" ry="0px" width="295.25px" height="22.5px" fill="rgba(0, 0, 0, 0)" stroke="rgb(204, 204, 204)" stroke-width="0px"></rect><foreignObject x="338" y="710" width="295.25px" height="22.5px"><div xmlns="http://www.w3.org/1999/xhtml" style="font-family: -apple-system, BlinkMacSystemFont, &quot;Helvetica Neue&quot;, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Source Han Sans SC&quot;, &quot;Noto Sans CJK SC&quot;, &quot;WenQuanYi Micro Hei&quot;, sans-serif; font-size: 15px; font-weight: 400; color: rgb(204, 204, 204); white-space: pre-wrap;">Right click and select Cancel Focus Mode</div></foreignObject></g><rect x="691" y="841" rx="20px" ry="20px" width="126.319px" height="42.0556px" fill="rgb(76, 79, 105)" stroke="rgb(65, 69, 165)" stroke-width="1.77778px"></rect><g><rect x="716" y="849" rx="0px" ry="0px" width="72.7639px" height="22.5px" fill="rgba(0, 0, 0, 0)" stroke="rgb(255, 255, 255)" stroke-width="0px"></rect><foreignObject x="716" y="849" width="72.7639px" height="22.5px"><div xmlns="http://www.w3.org/1999/xhtml" style="font-family: -apple-system, BlinkMacSystemFont, &quot;Helvetica Neue&quot;, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Source Han Sans SC&quot;, &quot;Noto Sans CJK SC&quot;, &quot;WenQuanYi Micro Hei&quot;, sans-serif; font-size: 15px; font-weight: 400; color: rgb(255, 255, 255); white-space: pre-wrap;">Left menu</div></foreignObject></g><rect x="518" y="853" rx="3px" ry="3px" width="133.264px" height="28.5px" fill="rgba(0, 0, 0, 0)" stroke="rgb(204, 204, 204)" stroke-width="0px"></rect><g><rect x="521" y="856" rx="0px" ry="0px" width="127.264px" height="22.5px" fill="rgba(0, 0, 0, 0)" stroke="rgb(204, 204, 204)" stroke-width="0px"></rect><foreignObject x="521" y="856" width="127.264px" height="22.5px"><div xmlns="http://www.w3.org/1999/xhtml" style="font-family: -apple-system, BlinkMacSystemFont, &quot;Helvetica Neue&quot;, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Source Han Sans SC&quot;, &quot;Noto Sans CJK SC&quot;, &quot;WenQuanYi Micro Hei&quot;, sans-serif; font-size: 15px; font-weight: 400; color: rgb(204, 204, 204); white-space: pre-wrap;">Node distribution</div></foreignObject></g><rect x="425" y="802" rx="3px" ry="3px" width="33.2917px" height="28.5px" fill="rgba(0, 0, 0, 0)" stroke="rgb(204, 204, 204)" stroke-width="0px"></rect><g><rect x="428" y="805" rx="0px" ry="0px" width="27.2917px" height="22.5px" fill="rgba(0, 0, 0, 0)" stroke="rgb(204, 204, 204)" stroke-width="0px"></rect><foreignObject x="428" y="805" width="27.2917px" height="22.5px"><div xmlns="http://www.w3.org/1999/xhtml" style="font-family: -apple-system, BlinkMacSystemFont, &quot;Helvetica Neue&quot;, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Source Han Sans SC&quot;, &quot;Noto Sans CJK SC&quot;, &quot;WenQuanYi Micro Hei&quot;, sans-serif; font-size: 15px; font-weight: 400; color: rgb(204, 204, 204); white-space: pre-wrap;">Left</div></foreignObject></g><rect x="414" y="853" rx="3px" ry="3px" width="44.1944px" height="28.5px" fill="rgba(0, 0, 0, 0)" stroke="rgb(204, 204, 204)" stroke-width="0px"></rect><g><rect x="417" y="856" rx="0px" ry="0px" width="38.1944px" height="22.5px" fill="rgba(0, 0, 0, 0)" stroke="rgb(204, 204, 204)" stroke-width="0px"></rect><foreignObject x="417" y="856" width="38.1944px" height="22.5px"><div xmlns="http://www.w3.org/1999/xhtml" style="font-family: -apple-system, BlinkMacSystemFont, &quot;Helvetica Neue&quot;, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Source Han Sans SC&quot;, &quot;Noto Sans CJK SC&quot;, &quot;WenQuanYi Micro Hei&quot;, sans-serif; font-size: 15px; font-weight: 400; color: rgb(204, 204, 204); white-space: pre-wrap;">Right</div></foreignObject></g><rect x="382" y="903" rx="3px" ry="3px" width="75.8472px" height="28.5px" fill="rgba(0, 0, 0, 0)" stroke="rgb(204, 204, 204)" stroke-width="0px"></rect><g><rect x="385" y="906" rx="0px" ry="0px" width="69.8472px" height="22.5px" fill="rgba(0, 0, 0, 0)" stroke="rgb(204, 204, 204)" stroke-width="0px"></rect><foreignObject x="385" y="906" width="69.8472px" height="22.5px"><div xmlns="http://www.w3.org/1999/xhtml" style="font-family: -apple-system, BlinkMacSystemFont, &quot;Helvetica Neue&quot;, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Source Han Sans SC&quot;, &quot;Noto Sans CJK SC&quot;, &quot;WenQuanYi Micro Hei&quot;, sans-serif; font-size: 15px; font-weight: 400; color: rgb(204, 204, 204); white-space: pre-wrap;">Both l &amp; r</div></foreignObject></g><rect x="665" y="1063" rx="20px" ry="20px" width="152.611px" height="42.0556px" fill="rgb(76, 79, 105)" stroke="rgb(120, 154, 250)" stroke-width="1.77778px"></rect><g><rect x="690" y="1071" rx="0px" ry="0px" width="99.0556px" height="22.5px" fill="rgba(0, 0, 0, 0)" stroke="rgb(255, 255, 255)" stroke-width="0px"></rect><foreignObject x="690" y="1071" width="99.0556px" height="22.5px"><div xmlns="http://www.w3.org/1999/xhtml" style="font-family: -apple-system, BlinkMacSystemFont, &quot;Helvetica Neue&quot;, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Source Han Sans SC&quot;, &quot;Noto Sans CJK SC&quot;, &quot;WenQuanYi Micro Hei&quot;, sans-serif; font-size: 15px; font-weight: 400; color: rgb(255, 255, 255); white-space: pre-wrap;">Bottom menu</div></foreignObject></g><rect x="543" y="999" rx="3px" ry="3px" width="81.8611px" height="28.5px" fill="rgba(0, 0, 0, 0)" stroke="rgb(204, 204, 204)" stroke-width="0px"></rect><g><rect x="546" y="1002" rx="0px" ry="0px" width="75.8611px" height="22.5px" fill="rgba(0, 0, 0, 0)" stroke="rgb(204, 204, 204)" stroke-width="0px"></rect><foreignObject x="546" y="1002" width="75.8611px" height="22.5px"><div xmlns="http://www.w3.org/1999/xhtml" style="font-family: -apple-system, BlinkMacSystemFont, &quot;Helvetica Neue&quot;, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Source Han Sans SC&quot;, &quot;Noto Sans CJK SC&quot;, &quot;WenQuanYi Micro Hei&quot;, sans-serif; font-size: 15px; font-weight: 400; color: rgb(204, 204, 204); white-space: pre-wrap;">Full screen</div></foreignObject></g><rect x="500" y="1050" rx="3px" ry="3px" width="124.958px" height="28.5px" fill="rgba(0, 0, 0, 0)" stroke="rgb(204, 204, 204)" stroke-width="0px"></rect><g><rect x="503" y="1053" rx="0px" ry="0px" width="118.958px" height="22.5px" fill="rgba(0, 0, 0, 0)" stroke="rgb(204, 204, 204)" stroke-width="0px"></rect><foreignObject x="503" y="1053" width="118.958px" height="22.5px"><div xmlns="http://www.w3.org/1999/xhtml" style="font-family: -apple-system, BlinkMacSystemFont, &quot;Helvetica Neue&quot;, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Source Han Sans SC&quot;, &quot;Noto Sans CJK SC&quot;, &quot;WenQuanYi Micro Hei&quot;, sans-serif; font-size: 15px; font-weight: 400; color: rgb(204, 204, 204); white-space: pre-wrap;">Return to Center</div></foreignObject></g><rect x="559" y="1100" rx="3px" ry="3px" width="66.0972px" height="28.5px" fill="rgba(0, 0, 0, 0)" stroke="rgb(204, 204, 204)" stroke-width="0px"></rect><g><rect x="562" y="1103" rx="0px" ry="0px" width="60.0972px" height="22.5px" fill="rgba(0, 0, 0, 0)" stroke="rgb(204, 204, 204)" stroke-width="0px"></rect><foreignObject x="562" y="1103" width="60.0972px" height="22.5px"><div xmlns="http://www.w3.org/1999/xhtml" style="font-family: -apple-system, BlinkMacSystemFont, &quot;Helvetica Neue&quot;, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Source Han Sans SC&quot;, &quot;Noto Sans CJK SC&quot;, &quot;WenQuanYi Micro Hei&quot;, sans-serif; font-size: 15px; font-weight: 400; color: rgb(204, 204, 204); white-space: pre-wrap;">Zoom in</div></foreignObject></g><rect x="548" y="1151" rx="3px" ry="3px" width="77.2222px" height="28.5px" fill="rgba(0, 0, 0, 0)" stroke="rgb(204, 204, 204)" stroke-width="0px"></rect><g><rect x="551" y="1154" rx="0px" ry="0px" width="71.2222px" height="22.5px" fill="rgba(0, 0, 0, 0)" stroke="rgb(204, 204, 204)" stroke-width="0px"></rect><foreignObject x="551" y="1154" width="71.2222px" height="22.5px"><div xmlns="http://www.w3.org/1999/xhtml" style="font-family: -apple-system, BlinkMacSystemFont, &quot;Helvetica Neue&quot;, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Source Han Sans SC&quot;, &quot;Noto Sans CJK SC&quot;, &quot;WenQuanYi Micro Hei&quot;, sans-serif; font-size: 15px; font-weight: 400; color: rgb(204, 204, 204); white-space: pre-wrap;">Zoom out</div></foreignObject></g><rect x="735" y="1285" rx="20px" ry="20px" width="82.6528px" height="42.0556px" fill="rgb(76, 79, 105)" stroke="rgb(112, 108, 244)" stroke-width="1.77778px"></rect><g><rect x="760" y="1293" rx="0px" ry="0px" width="29.0972px" height="22.5px" fill="rgba(0, 0, 0, 0)" stroke="rgb(255, 255, 255)" stroke-width="0px"></rect><foreignObject x="760" y="1293" width="29.0972px" height="22.5px"><div xmlns="http://www.w3.org/1999/xhtml" style="font-family: -apple-system, BlinkMacSystemFont, &quot;Helvetica Neue&quot;, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Source Han Sans SC&quot;, &quot;Noto Sans CJK SC&quot;, &quot;WenQuanYi Micro Hei&quot;, sans-serif; font-size: 15px; font-weight: 400; color: rgb(255, 255, 255); white-space: pre-wrap;">Link</div></foreignObject></g><rect x="504" y="1246" rx="3px" ry="3px" width="190.403px" height="28.5px" fill="rgba(0, 0, 0, 0)" stroke="rgb(204, 204, 204)" stroke-width="0px"></rect><g><rect x="507" y="1249" rx="0px" ry="0px" width="184.403px" height="22.5px" fill="rgba(0, 0, 0, 0)" stroke="rgb(204, 204, 204)" stroke-width="0px"></rect><foreignObject x="507" y="1249" width="184.403px" height="22.5px"><div xmlns="http://www.w3.org/1999/xhtml" style="font-family: -apple-system, BlinkMacSystemFont, &quot;Helvetica Neue&quot;, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Source Han Sans SC&quot;, &quot;Noto Sans CJK SC&quot;, &quot;WenQuanYi Micro Hei&quot;, sans-serif; font-size: 15px; font-weight: 400; color: rgb(204, 204, 204); white-space: pre-wrap;">Right click and select Link</div></foreignObject></g><rect x="460" y="1297" rx="3px" ry="3px" width="234.694px" height="28.5px" fill="rgba(0, 0, 0, 0)" stroke="rgb(204, 204, 204)" stroke-width="0px"></rect><g><rect x="463" y="1300" rx="0px" ry="0px" width="228.694px" height="22.5px" fill="rgba(0, 0, 0, 0)" stroke="rgb(204, 204, 204)" stroke-width="0px"></rect><foreignObject x="463" y="1300" width="228.694px" height="22.5px"><div xmlns="http://www.w3.org/1999/xhtml" style="font-family: -apple-system, BlinkMacSystemFont, &quot;Helvetica Neue&quot;, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Source Han Sans SC&quot;, &quot;Noto Sans CJK SC&quot;, &quot;WenQuanYi Micro Hei&quot;, sans-serif; font-size: 15px; font-weight: 400; color: rgb(204, 204, 204); white-space: pre-wrap;">Click the target you want to link</div></foreignObject></g><rect x="468" y="1347" rx="3px" ry="3px" width="226.75px" height="28.5px" fill="rgba(0, 0, 0, 0)" stroke="rgb(204, 204, 204)" stroke-width="0px"></rect><g><rect x="471" y="1350" rx="0px" ry="0px" width="220.75px" height="22.5px" fill="rgba(0, 0, 0, 0)" stroke="rgb(204, 204, 204)" stroke-width="0px"></rect><foreignObject x="471" y="1350" width="220.75px" height="22.5px"><div xmlns="http://www.w3.org/1999/xhtml" style="font-family: -apple-system, BlinkMacSystemFont, &quot;Helvetica Neue&quot;, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Source Han Sans SC&quot;, &quot;Noto Sans CJK SC&quot;, &quot;WenQuanYi Micro Hei&quot;, sans-serif; font-size: 15px; font-weight: 400; color: rgb(204, 204, 204); white-space: pre-wrap;">Modify link with control points</div></foreignObject></g><rect x="686" y="1617" rx="20px" ry="20px" width="130.792px" height="42.0556px" fill="rgb(76, 79, 105)" stroke="rgb(239, 152, 127)" stroke-width="1.77778px"></rect><g><rect x="711" y="1625" rx="0px" ry="0px" width="77.2361px" height="22.5px" fill="rgba(0, 0, 0, 0)" stroke="rgb(255, 255, 255)" stroke-width="0px"></rect><foreignObject x="711" y="1625" width="77.2361px" height="22.5px"><div xmlns="http://www.w3.org/1999/xhtml" style="font-family: -apple-system, BlinkMacSystemFont, &quot;Helvetica Neue&quot;, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Source Han Sans SC&quot;, &quot;Noto Sans CJK SC&quot;, &quot;WenQuanYi Micro Hei&quot;, sans-serif; font-size: 15px; font-weight: 400; color: rgb(255, 255, 255); white-space: pre-wrap;">Node style</div></foreignObject></g><rect x="501" y="1442" rx="3px" ry="3px" width="145.333px" height="54px" fill="rgba(0, 0, 0, 0)" stroke="rgb(50, 152, 219)" stroke-width="0px"></rect><g><rect x="504" y="1445" rx="0px" ry="0px" width="139.333px" height="48px" fill="rgba(0, 0, 0, 0)" stroke="rgb(50, 152, 219)" stroke-width="0px"></rect><foreignObject x="504" y="1445" width="139.333px" height="48px"><div xmlns="http://www.w3.org/1999/xhtml" style="font-family: -apple-system, BlinkMacSystemFont, &quot;Helvetica Neue&quot;, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Source Han Sans SC&quot;, &quot;Noto Sans CJK SC&quot;, &quot;WenQuanYi Micro Hei&quot;, sans-serif; font-size: 32px; font-weight: 400; color: rgb(50, 152, 219); white-space: pre-wrap;">Font Size</div></foreignObject></g><rect x="565" y="1518" rx="3px" ry="3px" width="81.5833px" height="28.5px" fill="rgba(0, 0, 0, 0)" stroke="rgb(192, 57, 44)" stroke-width="0px"></rect><g><rect x="568" y="1521" rx="0px" ry="0px" width="75.5833px" height="22.5px" fill="rgba(0, 0, 0, 0)" stroke="rgb(192, 57, 44)" stroke-width="0px"></rect><foreignObject x="568" y="1521" width="75.5833px" height="22.5px"><div xmlns="http://www.w3.org/1999/xhtml" style="font-family: -apple-system, BlinkMacSystemFont, &quot;Helvetica Neue&quot;, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Source Han Sans SC&quot;, &quot;Noto Sans CJK SC&quot;, &quot;WenQuanYi Micro Hei&quot;, sans-serif; font-size: 15px; font-weight: 400; color: rgb(192, 57, 44); white-space: pre-wrap;">Font Color</div></foreignObject></g><rect x="511" y="1569" rx="3px" ry="3px" width="135.028px" height="28.5px" fill="rgb(44, 62, 80)" stroke="rgb(189, 195, 199)" stroke-width="0px"></rect><g><rect x="514" y="1572" rx="0px" ry="0px" width="129.028px" height="22.5px" fill="rgba(0, 0, 0, 0)" stroke="rgb(189, 195, 199)" stroke-width="0px"></rect><foreignObject x="514" y="1572" width="129.028px" height="22.5px"><div xmlns="http://www.w3.org/1999/xhtml" style="font-family: -apple-system, BlinkMacSystemFont, &quot;Helvetica Neue&quot;, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Source Han Sans SC&quot;, &quot;Noto Sans CJK SC&quot;, &quot;WenQuanYi Micro Hei&quot;, sans-serif; font-size: 15px; font-weight: 400; color: rgb(189, 195, 199); white-space: pre-wrap;">Background Color</div></foreignObject></g><rect x="565" y="1619" rx="3px" ry="3px" width="81.4306px" height="51.4306px" fill="rgba(0, 0, 0, 0)" stroke="rgb(204, 204, 204)" stroke-width="0px"></rect><g><rect x="568" y="1622" rx="0px" ry="0px" width="64.5833px" height="22.5px" fill="rgba(0, 0, 0, 0)" stroke="rgb(204, 204, 204)" stroke-width="0px"></rect><foreignObject x="568" y="1622" width="64.5833px" height="22.5px"><div xmlns="http://www.w3.org/1999/xhtml" style="font-family: -apple-system, BlinkMacSystemFont, &quot;Helvetica Neue&quot;, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Source Han Sans SC&quot;, &quot;Noto Sans CJK SC&quot;, &quot;WenQuanYi Micro Hei&quot;, sans-serif; font-size: 15px; font-weight: 400; color: rgb(204, 204, 204); white-space: pre-wrap;">Add tags</div></foreignObject></g><rect x="543" y="1692" rx="3px" ry="3px" width="103px" height="51.4306px" fill="rgba(0, 0, 0, 0)" stroke="rgb(204, 204, 204)" stroke-width="0px"></rect><g><rect x="546" y="1695" rx="0px" ry="0px" width="71.4028px" height="22.5px" fill="rgba(0, 0, 0, 0)" stroke="rgb(204, 204, 204)" stroke-width="0px"></rect><foreignObject x="546" y="1695" width="71.4028px" height="22.5px"><div xmlns="http://www.w3.org/1999/xhtml" style="font-family: -apple-system, BlinkMacSystemFont, &quot;Helvetica Neue&quot;, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Source Han Sans SC&quot;, &quot;Noto Sans CJK SC&quot;, &quot;WenQuanYi Micro Hei&quot;, sans-serif; font-size: 15px; font-weight: 400; color: rgb(204, 204, 204); white-space: pre-wrap;">Add icons</div></foreignObject></g><rect x="591" y="1766" rx="3px" ry="3px" width="55.5972px" height="28.5px" fill="rgba(0, 0, 0, 0)" stroke="rgb(204, 204, 204)" stroke-width="0px"></rect><g><rect x="594" y="1769" rx="0px" ry="0px" width="49.5972px" height="22.5px" fill="rgba(0, 0, 0, 0)" stroke="rgb(204, 204, 204)" stroke-width="0px"></rect><foreignObject x="594" y="1769" width="49.5972px" height="22.5px"><div xmlns="http://www.w3.org/1999/xhtml" style="font-family: -apple-system, BlinkMacSystemFont, &quot;Helvetica Neue&quot;, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Source Han Sans SC&quot;, &quot;Noto Sans CJK SC&quot;, &quot;WenQuanYi Micro Hei&quot;, sans-serif; font-size: 15px; font-weight: 700; color: rgb(204, 204, 204); white-space: pre-wrap;">Bolder</div></foreignObject></g><rect x="530" y="1816" rx="3px" ry="3px" width="116.778px" height="28.5px" fill="rgba(0, 0, 0, 0)" stroke="rgb(204, 204, 204)" stroke-width="0px"></rect><g><rect x="533" y="1819" rx="0px" ry="0px" width="73.1806px" height="22.5px" fill="rgba(0, 0, 0, 0)" stroke="rgb(204, 204, 204)" stroke-width="0px"></rect><foreignObject x="533" y="1819" width="73.1806px" height="22.5px"><div xmlns="http://www.w3.org/1999/xhtml" style="font-family: -apple-system, BlinkMacSystemFont, &quot;Helvetica Neue&quot;, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Source Han Sans SC&quot;, &quot;Noto Sans CJK SC&quot;, &quot;WenQuanYi Micro Hei&quot;, sans-serif; font-size: 15px; font-weight: 400; color: rgb(204, 204, 204); white-space: pre-wrap;">Hyper link</div></foreignObject></g><rect x="689" y="1911" rx="20px" ry="20px" width="128.542px" height="42.0556px" fill="rgb(76, 79, 105)" stroke="rgb(119, 93, 213)" stroke-width="1.77778px"></rect><g><rect x="714" y="1919" rx="0px" ry="0px" width="74.9861px" height="22.5px" fill="rgba(0, 0, 0, 0)" stroke="rgb(255, 255, 255)" stroke-width="0px"></rect><foreignObject x="714" y="1919" width="74.9861px" height="22.5px"><div xmlns="http://www.w3.org/1999/xhtml" style="font-family: -apple-system, BlinkMacSystemFont, &quot;Helvetica Neue&quot;, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Source Han Sans SC&quot;, &quot;Noto Sans CJK SC&quot;, &quot;WenQuanYi Micro Hei&quot;, sans-serif; font-size: 15px; font-weight: 400; color: rgb(255, 255, 255); white-space: pre-wrap;">Draggable</div></foreignObject></g><rect x="227" y="1912" rx="3px" ry="3px" width="421.542px" height="51px" fill="rgba(0, 0, 0, 0)" stroke="rgb(204, 204, 204)" stroke-width="0px"></rect><g><rect x="230" y="1915" rx="0px" ry="0px" width="415.542px" height="45px" fill="rgba(0, 0, 0, 0)" stroke="rgb(204, 204, 204)" stroke-width="0px"></rect><foreignObject x="230" y="1915" width="415.542px" height="45px"><div xmlns="http://www.w3.org/1999/xhtml" style="font-family: -apple-system, BlinkMacSystemFont, &quot;Helvetica Neue&quot;, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Source Han Sans SC&quot;, &quot;Noto Sans CJK SC&quot;, &quot;WenQuanYi Micro Hei&quot;, sans-serif; font-size: 15px; font-weight: 400; color: rgb(204, 204, 204); white-space: pre-wrap;">Drag a node to another node
  and the former one will become a child node of latter one</div></foreignObject></g><rect x="681" y="2069" rx="20px" ry="20px" width="136.486px" height="42.0556px" fill="rgb(76, 79, 105)" stroke="rgb(252, 238, 207)" stroke-width="1.77778px"></rect><g><rect x="706" y="2077" rx="0px" ry="0px" width="82.9306px" height="22.5px" fill="rgba(0, 0, 0, 0)" stroke="rgb(255, 255, 255)" stroke-width="0px"></rect><foreignObject x="706" y="2077" width="82.9306px" height="22.5px"><div xmlns="http://www.w3.org/1999/xhtml" style="font-family: -apple-system, BlinkMacSystemFont, &quot;Helvetica Neue&quot;, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Source Han Sans SC&quot;, &quot;Noto Sans CJK SC&quot;, &quot;WenQuanYi Micro Hei&quot;, sans-serif; font-size: 15px; font-weight: 400; color: rgb(255, 255, 255); white-space: pre-wrap;">Export data</div></foreignObject></g><rect x="596" y="2030" rx="3px" ry="3px" width="45.0139px" height="28.5px" fill="rgba(0, 0, 0, 0)" stroke="rgb(204, 204, 204)" stroke-width="0px"></rect><g><rect x="599" y="2033" rx="0px" ry="0px" width="39.0139px" height="22.5px" fill="rgba(0, 0, 0, 0)" stroke="rgb(204, 204, 204)" stroke-width="0px"></rect><foreignObject x="599" y="2033" width="39.0139px" height="22.5px"><div xmlns="http://www.w3.org/1999/xhtml" style="font-family: -apple-system, BlinkMacSystemFont, &quot;Helvetica Neue&quot;, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Source Han Sans SC&quot;, &quot;Noto Sans CJK SC&quot;, &quot;WenQuanYi Micro Hei&quot;, sans-serif; font-size: 15px; font-weight: 400; color: rgb(204, 204, 204); white-space: pre-wrap;">JSON</div></foreignObject></g><rect x="592" y="2081" rx="3px" ry="3px" width="48.5417px" height="28.5px" fill="rgba(0, 0, 0, 0)" stroke="rgb(204, 204, 204)" stroke-width="0px"></rect><g><rect x="595" y="2084" rx="0px" ry="0px" width="42.5417px" height="22.5px" fill="rgba(0, 0, 0, 0)" stroke="rgb(204, 204, 204)" stroke-width="0px"></rect><foreignObject x="595" y="2084" width="42.5417px" height="22.5px"><div xmlns="http://www.w3.org/1999/xhtml" style="font-family: -apple-system, BlinkMacSystemFont, &quot;Helvetica Neue&quot;, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Source Han Sans SC&quot;, &quot;Noto Sans CJK SC&quot;, &quot;WenQuanYi Micro Hei&quot;, sans-serif; font-size: 15px; font-weight: 400; color: rgb(204, 204, 204); white-space: pre-wrap;">HTML</div></foreignObject></g><rect x="605" y="2131" rx="3px" ry="3px" width="35.6111px" height="28.5px" fill="rgba(0, 0, 0, 0)" stroke="rgb(204, 204, 204)" stroke-width="0px"></rect><g><rect x="608" y="2134" rx="0px" ry="0px" width="29.6111px" height="22.5px" fill="rgba(0, 0, 0, 0)" stroke="rgb(204, 204, 204)" stroke-width="0px"></rect><foreignObject x="608" y="2134" width="29.6111px" height="22.5px"><div xmlns="http://www.w3.org/1999/xhtml" style="font-family: -apple-system, BlinkMacSystemFont, &quot;Helvetica Neue&quot;, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Source Han Sans SC&quot;, &quot;Noto Sans CJK SC&quot;, &quot;WenQuanYi Micro Hei&quot;, sans-serif; font-size: 15px; font-weight: 400; color: rgb(204, 204, 204); white-space: pre-wrap;">SVG</div></foreignObject></g><rect x="708" y="2239" rx="20px" ry="20px" width="109.472px" height="42.0556px" fill="rgb(241, 196, 14)" stroke="rgb(218, 127, 188)" stroke-width="1.77778px"></rect><g><rect x="733" y="2247" rx="0px" ry="0px" width="55.9167px" height="22.5px" fill="rgba(0, 0, 0, 0)" stroke="rgb(255, 255, 255)" stroke-width="0px"></rect><foreignObject x="733" y="2247" width="55.9167px" height="22.5px"><div xmlns="http://www.w3.org/1999/xhtml" style="font-family: -apple-system, BlinkMacSystemFont, &quot;Helvetica Neue&quot;, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Source Han Sans SC&quot;, &quot;Noto Sans CJK SC&quot;, &quot;WenQuanYi Micro Hei&quot;, sans-serif; font-size: 15px; font-weight: 400; color: rgb(255, 255, 255); white-space: pre-wrap;">Caution</div></foreignObject></g><rect x="523" y="2251" rx="3px" ry="3px" width="144.806px" height="28.5px" fill="rgba(0, 0, 0, 0)" stroke="rgb(204, 204, 204)" stroke-width="0px"></rect><g><rect x="526" y="2254" rx="0px" ry="0px" width="138.806px" height="22.5px" fill="rgba(0, 0, 0, 0)" stroke="rgb(204, 204, 204)" stroke-width="0px"></rect><foreignObject x="526" y="2254" width="138.806px" height="22.5px"><div xmlns="http://www.w3.org/1999/xhtml" style="font-family: -apple-system, BlinkMacSystemFont, &quot;Helvetica Neue&quot;, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Source Han Sans SC&quot;, &quot;Noto Sans CJK SC&quot;, &quot;WenQuanYi Micro Hei&quot;, sans-serif; font-size: 15px; font-weight: 400; color: rgb(204, 204, 204); white-space: pre-wrap;">Only save manually</div></foreignObject></g><rect x="205" y="2226" rx="3px" ry="3px" width="258.028px" height="28.5px" fill="rgba(0, 0, 0, 0)" stroke="rgb(204, 204, 204)" stroke-width="0px"></rect><g><rect x="208" y="2229" rx="0px" ry="0px" width="252.028px" height="22.5px" fill="rgba(0, 0, 0, 0)" stroke="rgb(204, 204, 204)" stroke-width="0px"></rect><foreignObject x="208" y="2229" width="252.028px" height="22.5px"><div xmlns="http://www.w3.org/1999/xhtml" style="font-family: -apple-system, BlinkMacSystemFont, &quot;Helvetica Neue&quot;, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Source Han Sans SC&quot;, &quot;Noto Sans CJK SC&quot;, &quot;WenQuanYi Micro Hei&quot;, sans-serif; font-size: 15px; font-weight: 400; color: rgb(204, 204, 204); white-space: pre-wrap;">Save button in the top-right corner</div></foreignObject></g><rect x="406" y="2277" rx="3px" ry="3px" width="57.4861px" height="28.5px" fill="rgba(0, 0, 0, 0)" stroke="rgb(204, 204, 204)" stroke-width="0px"></rect><g><rect x="409" y="2280" rx="0px" ry="0px" width="51.4861px" height="22.5px" fill="rgba(0, 0, 0, 0)" stroke="rgb(204, 204, 204)" stroke-width="0px"></rect><foreignObject x="409" y="2280" width="51.4861px" height="22.5px"><div xmlns="http://www.w3.org/1999/xhtml" style="font-family: -apple-system, BlinkMacSystemFont, &quot;Helvetica Neue&quot;, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Source Han Sans SC&quot;, &quot;Noto Sans CJK SC&quot;, &quot;WenQuanYi Micro Hei&quot;, sans-serif; font-size: 15px; font-weight: 400; color: rgb(204, 204, 204); white-space: pre-wrap;">ctrl + S</div></foreignObject></g><rect x="892" y="1129" rx="30px" ry="30px" width="189.333px" height="98.5556px" fill="rgb(76, 79, 105)" stroke="rgba(0, 0, 0, 0)" stroke-width="1.77778px"></rect><g><rect x="924" y="1141" rx="0px" ry="0px" width="125.778px" height="37.5px" fill="rgba(0, 0, 0, 0)" stroke="rgb(255, 255, 255)" stroke-width="0px"></rect><foreignObject x="924" y="1141" width="125.778px" height="37.5px"><div xmlns="http://www.w3.org/1999/xhtml" style="font-family: -apple-system, BlinkMacSystemFont, &quot;Helvetica Neue&quot;, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Source Han Sans SC&quot;, &quot;Noto Sans CJK SC&quot;, &quot;WenQuanYi Micro Hei&quot;, sans-serif; font-size: 25px; font-weight: 400; color: rgb(255, 255, 255); white-space: pre-wrap;">Mind Elixir</div></foreignObject></g><g><rect x="568" y="1648" rx="3px" ry="3px" width="71.4306px" height="19.5972px" fill="rgb(214, 240, 248)" stroke="rgb(39, 111, 134)" stroke-width="0px"></rect><g><text x="572" y="1663.5" text-anchor="start" font-family="-apple-system, BlinkMacSystemFont, &quot;Helvetica Neue&quot;, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Source Han Sans SC&quot;, &quot;Noto Sans CJK SC&quot;, &quot;WenQuanYi Micro Hei&quot;, sans-serif" font-size="12px" font-weight="400" fill="rgb(39, 111, 134)">Completed</text></g></g><g><rect x="546" y="1721" rx="3px" ry="3px" width="36.4306px" height="19.5972px" fill="rgb(214, 240, 248)" stroke="rgb(39, 111, 134)" stroke-width="0px"></rect><g><text x="550" y="1736.5" text-anchor="start" font-family="-apple-system, BlinkMacSystemFont, &quot;Helvetica Neue&quot;, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Source Han Sans SC&quot;, &quot;Noto Sans CJK SC&quot;, &quot;WenQuanYi Micro Hei&quot;, sans-serif" font-size="12px" font-weight="400" fill="rgb(39, 111, 134)">www</text></g></g><g><rect x="924" y="1193" rx="3px" ry="3px" width="98px" height="19.5972px" fill="rgb(214, 240, 248)" stroke="rgb(39, 111, 134)" stroke-width="0px"></rect><g><text x="928" y="1208.5" text-anchor="start" font-family="-apple-system, BlinkMacSystemFont, &quot;Helvetica Neue&quot;, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Source Han Sans SC&quot;, &quot;Noto Sans CJK SC&quot;, &quot;WenQuanYi Micro Hei&quot;, sans-serif" font-size="12px" font-weight="400" fill="rgb(39, 111, 134)">Mind Map Core</text></g></g><g><rect x="622" y="1697" rx="0px" ry="0px" width="20.5972px" height="19.5px" fill="rgba(0, 0, 0, 0)" stroke="rgb(204, 204, 204)" stroke-width="0px"></rect><g><text x="622" y="1714" text-anchor="start" font-family="-apple-system, BlinkMacSystemFont, &quot;Helvetica Neue&quot;, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Source Han Sans SC&quot;, &quot;Noto Sans CJK SC&quot;, &quot;WenQuanYi Micro Hei&quot;, sans-serif" font-size="15px" font-weight="400" fill="rgb(204, 204, 204)">😂</text></g></g><a href="https://github.com/ssshooter/mind-elixir-core"><text x="611" y="1835" text-anchor="start" font-family="-apple-system, BlinkMacSystemFont, &quot;Helvetica Neue&quot;, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Source Han Sans SC&quot;, &quot;Noto Sans CJK SC&quot;, &quot;WenQuanYi Micro Hei&quot;, sans-serif" font-size="15px" font-weight="400" fill="rgb(135, 206, 250)">🔗</text></a></svg></svg>


blobId: 73JB4WBffE2shKcu9acA
dateModified: 2025-11-03 16:29:21.994+0000
utcDateModified: 2025-11-03 16:29:21.994Z
content:
  <p style="margin-left:0px;">The <a href="https://www.thecollector.com/why-is-the-roman-colosseum-a-world-wonder/"><u>Colosseum</u></a> is
            the great oval <a href="https://www.thecollector.com/roman-theatre-amphitheatre-in-ancient-rome/"><u>amphitheater</u></a> in
            the center of Rome where <a href="https://www.thecollector.com/colosseum-day-events/"><u>gladiators once fought for their lives</u></a> and
            the pleasure of the crowd. The largest amphitheater ever built, it was
            constructed from sand and stone over eight years, from 72 to 80 CE. The
            colossal structure could hold 80,000 spectators, arranged in a circular
            ring around the central stage. Dramatic and sometimes horrifying events
            took place here, not just gladiatorial games but also Classical plays,
            animal hunts, and executions. Some say water was even pumped into the arena
            to enact mock sea battles known as <a href="https://www.thecollector.com/naumachia-gladiatorial-naval-battles-ancient-rome/"><u>naumachia</u></a>.
            <span
            class="footnote-reference" data-footnote-reference="" data-footnote-index="1"
            data-footnote-id="4kitkusvyi3" role="doc-noteref" id="fnref4kitkusvyi3"><sup><a href="#fn4kitkusvyi3">[1]</a></sup>

              </span>
          </p>
          <ol class="footnote-section footnotes" data-footnote-section="" role="doc-endnotes">
            <li class="footnote-item" data-footnote-item="" data-footnote-index="1"
            data-footnote-id="4kitkusvyi3" role="doc-endnote" id="fn4kitkusvyi3"><span class="footnote-back-link" data-footnote-back-link="" data-footnote-id="4kitkusvyi3"><sup><strong><a href="#fnref4kitkusvyi3">^</a></strong></sup></span>

              <div
              class="footnote-content" data-footnote-content="">
                <p><a href="https://www.thecollector.com/what-are-the-seven-wonders-of-the-world/">What Are the 7 Wonders of the World? (with HD Images) | TheCollector</a>

                </p>
        </div>
        </li>
        </ol>


blobId: Ykf8Xg4aB6Oy29FUvhzP
dateModified: 2025-11-03 16:29:22.020+0000
utcDateModified: 2025-11-03 16:29:22.020Z
content:
  <p style="margin-left:0px;"><a href="https://www.thecollector.com/great-wall-china-facts/"><u>The Great Wall of China</u></a>&nbsp;is
            a huge barrier that spans thousands of miles along China’s historic northern
            border. Created over millennia, the wall began its life as a series of
            smaller walls dating back to the 7th century BCE, built <a href="https://www.thecollector.com/who-built-the-great-wall-of-china-and-why/"><u>as protective barriers against nomadic raids</u></a>.
            In 220 BCE, China’s first Emperor, <a href="https://www.thecollector.com/qin-shi-huangdi-chinese-emperor/"><u>Qin Shi Huang</u></a>,
            masterminded the unification of all of China’s walls into one almighty
            barrier, strengthening and extending the wall to keep out northern invaders.
            <span
            class="footnote-reference" data-footnote-reference="" data-footnote-index="1"
            data-footnote-id="o0o2das7ljm" role="doc-noteref" id="fnrefo0o2das7ljm"><sup><a href="#fno0o2das7ljm">[1]</a></sup>

              </span>
          </p>
          <ol class="footnote-section footnotes" data-footnote-section="" role="doc-endnotes">
            <li class="footnote-item" data-footnote-item="" data-footnote-index="1"
            data-footnote-id="o0o2das7ljm" role="doc-endnote" id="fno0o2das7ljm"><span class="footnote-back-link" data-footnote-back-link="" data-footnote-id="o0o2das7ljm"><sup><strong><a href="#fnrefo0o2das7ljm">^</a></strong></sup></span>

              <div
              class="footnote-content" data-footnote-content="">
                <p><a href="https://www.thecollector.com/what-are-the-seven-wonders-of-the-world/">What Are the 7 Wonders of the World? (with HD Images) | TheCollector</a>

                </p>
        </div>
        </li>
        </ol>


blobId: l3Z33qQ8bSx5DAk2oq49
dateModified: 2025-11-03 16:29:22.044+0000
utcDateModified: 2025-11-03 16:29:22.044Z
content:
  <p style="margin-left:0px;">India’s renowned <a href="https://www.thecollector.com/why-is-the-taj-mahal-a-world-wonder/"><u>Taj Mahal (Persian for Crown of Palaces)</u></a> is
            the stunning white marble mausoleum on the bank of the Yamuna River in
            the city of Agra. It has also been selected as one of the seven wonders
            of the world. Mughal emperor <a href="https://www.tajmahal.org.uk/shah-jahan.html"><u>Shah Jahan </u></a>built
            the temple as a tomb for his beloved wife, Mumtaz Mahal, who died during
            childbirth in 1631. A marble tomb in the center is surrounded by 42 acres
            of grounds, where gardens, a mosque, a guest house, and a pool complete
            the complex.<span class="footnote-reference" data-footnote-reference=""
            data-footnote-index="1" data-footnote-id="zzzjn52iwk" role="doc-noteref"
            id="fnrefzzzjn52iwk"><sup><a href="#fnzzzjn52iwk">[1]</a></sup></span>

          </p>
          <ol class="footnote-section footnotes" data-footnote-section="" role="doc-endnotes">
            <li class="footnote-item" data-footnote-item="" data-footnote-index="1"
            data-footnote-id="zzzjn52iwk" role="doc-endnote" id="fnzzzjn52iwk"><span class="footnote-back-link" data-footnote-back-link="" data-footnote-id="zzzjn52iwk"><sup><strong><a href="#fnrefzzzjn52iwk">^</a></strong></sup></span>

              <div
              class="footnote-content" data-footnote-content="">
                <p><a href="https://www.thecollector.com/what-are-the-seven-wonders-of-the-world/">What Are the 7 Wonders of the World? (with HD Images) | TheCollector</a>

                </p>
        </div>
        </li>
        </ol>


blobId: D8uJZfuQUYEzu9LHZIWd
dateModified: 2025-11-03 16:29:22.070+0000
utcDateModified: 2025-11-03 16:29:22.071Z
content:
  <p style="margin-left:0px;">The totemic statue of <a href="https://www.thecollector.com/why-was-the-statue-of-christ-the-redeemer-built/"><u>Christ the Redeemer</u></a> stands
            over Rio de Janeiro on the top of <a href="https://www.thecollector.com/where-is-the-statue-of-christ-the-redeemer/"><u>Mount Corcovado</u></a>.
            At 30 meters tall, this monument is an iconic emblem of Brazil. This huge
            public artwork was <a href="https://www.thecollector.com/who-made-the-statue-of-christ-the-redeemer/"><u>designed by the Polish-French sculptor Paul Landowski in the 1920s</u></a> and
            completed by Brazilian engineer Heitor da Silva Costa and French engineer
            Albert Caquot in 1931. <a href="https://www.thecollector.com/how-was-christ-the-redeemer-built/"><u>Made from</u></a> reinforced
            concrete clad in over six million soapstone tiles, the Christ the Redeemer
            statue is the largest <a href="https://www.thecollector.com/what-were-the-main-influences-on-art-deco/"><u>Art Deco</u></a> sculpture
            in the world. Built just after the end of the First World War, the sculpture
            was an overpowering symbol of Christianity and hope when the world had
            been brought to its knees.<span class="footnote-reference" data-footnote-reference=""
            data-footnote-index="1" data-footnote-id="o6g991vkrwj" role="doc-noteref"
            id="fnrefo6g991vkrwj"><sup><a href="#fno6g991vkrwj">[1]</a></sup></span>

          </p>
          <ol class="footnote-section footnotes" data-footnote-section="" role="doc-endnotes">
            <li class="footnote-item" data-footnote-item="" data-footnote-index="1"
            data-footnote-id="o6g991vkrwj" role="doc-endnote" id="fno6g991vkrwj"><span class="footnote-back-link" data-footnote-back-link="" data-footnote-id="o6g991vkrwj"><sup><strong><a href="#fnrefo6g991vkrwj">^</a></strong></sup></span>

              <div
              class="footnote-content" data-footnote-content="">
                <p><a href="https://www.thecollector.com/what-are-the-seven-wonders-of-the-world/">What Are the 7 Wonders of the World? (with HD Images) | TheCollector</a>

                </p>
        </div>
        </li>
        </ol>


blobId: A5md2nwbowkgP0RdcALG
dateModified: 2025-11-03 16:29:22.092+0000
utcDateModified: 2025-11-03 16:29:22.093Z
content:
  <p style="margin-left:0px;"><a href="https://www.thecollector.com/why-is-machu-picchu-a-world-wonder/"><u>Machu Picchu</u></a> is
            a lost treasure of the 15th century and a rare citadel discovered high
            in the Andes mountains above the Peruvian Sacred Valley. Astonishingly,
            it is one of the only pre-Columbian ruins found nearly intact, featuring
            evidence of former plazas, temples, agricultural terraces, and homes. Archaeologists
            believe the citadel was built as an estate for the <a href="https://www.southamerica.travel/peru/news/pachacuti-incan-empire"><u>Inca emperor Pachacuti</u></a> in
            around 1450 in polished drystone walls.<span class="footnote-reference"
            data-footnote-reference="" data-footnote-index="1" data-footnote-id="4prjheuho88"
            role="doc-noteref" id="fnref4prjheuho88"><sup><a href="#fn4prjheuho88">[1]</a></sup></span>

          </p>
          <ol class="footnote-section footnotes" data-footnote-section="" role="doc-endnotes">
            <li class="footnote-item" data-footnote-item="" data-footnote-index="1"
            data-footnote-id="4prjheuho88" role="doc-endnote" id="fn4prjheuho88"><span class="footnote-back-link" data-footnote-back-link="" data-footnote-id="4prjheuho88"><sup><strong><a href="#fnref4prjheuho88">^</a></strong></sup></span>

              <div
              class="footnote-content" data-footnote-content="">
                <p><a href="https://www.thecollector.com/what-are-the-seven-wonders-of-the-world/">What Are the 7 Wonders of the World? (with HD Images) | TheCollector</a>

                </p>
        </div>
        </li>
        </ol>


blobId: 7dbYuYpm3TXiKVXsN4O5
dateModified: 2025-11-03 16:29:22.115+0000
utcDateModified: 2025-11-03 16:29:22.116Z
content:
  <p style="margin-left:0px;">Deep in the Mexican state of Yucatán lies <a href="https://www.thecollector.com/enigmatic-archaeology-chichen-itza-world-wonder/"><u>Chichen Itza</u></a>,
            a historic <a href="https://www.thecollector.com/mayan-inventions/"><u>Mayan</u></a> city
            built between the 9th and 12th centuries. Constructed by the pre-Columbian
            Mayan tribe <a href="https://www.thecollector.com/who-were-the-founders-of-chichen-itza/"><u>Itzá</u></a>,
            the city includes a series of monuments and temples. The most celebrated
            is <a href="https://www.thecollector.com/what-is-el-castillo-and-why-is-it-so-famous/"><u>El Castillo</u></a>,
            also known as the Temple of Kukulcan. It is a huge step pyramid in the
            center of the city which was built as a devotional temple to the god Kukulkan.
            <span
            class="footnote-reference" data-footnote-reference="" data-footnote-index="1"
            data-footnote-id="6qz4pm021mi" role="doc-noteref" id="fnref6qz4pm021mi"><sup><a href="#fn6qz4pm021mi">[1]</a></sup>

              </span>
          </p>
          <ol class="footnote-section footnotes" data-footnote-section="" role="doc-endnotes">
            <li class="footnote-item" data-footnote-item="" data-footnote-index="1"
            data-footnote-id="6qz4pm021mi" role="doc-endnote" id="fn6qz4pm021mi"><span class="footnote-back-link" data-footnote-back-link="" data-footnote-id="6qz4pm021mi"><sup><strong><a href="#fnref6qz4pm021mi">^</a></strong></sup></span>

              <div
              class="footnote-content" data-footnote-content="">
                <p><a href="https://www.thecollector.com/what-are-the-seven-wonders-of-the-world/">What Are the 7 Wonders of the World? (with HD Images) | TheCollector</a>

                </p>
        </div>
        </li>
        </ol>


blobId: PMe5iu7R4LaV7PvKIVTA
dateModified: 2025-11-03 16:29:22.140+0000
utcDateModified: 2025-11-03 16:29:22.141Z
content:
  <p style="margin-left:0px;"><a href="https://www.thecollector.com/what-is-so-special-about-petra-jordan-world-heritage-site/"><u>Petra</u></a>,
            the ancient city in southern Jordan, is also known as the “rose city” for
            its golden hue. It dates as far back as 312 BCE. Set in a remote valley,
            this city was founded by the Arab Nabataeans, a sophisticated civilization
            that carved stunning architecture and complex waterways out of surrounding
            rock faces. The Nabateans also established Petra as a successful trade
            hub, earning vast wealth and a booming population before being wiped out
            by earthquakes.<span class="footnote-reference" data-footnote-reference=""
            data-footnote-index="1" data-footnote-id="ej5sd0bakne" role="doc-noteref"
            id="fnrefej5sd0bakne"><sup><a href="#fnej5sd0bakne">[1]</a></sup></span>

          </p>
          <ol class="footnote-section footnotes" data-footnote-section="" role="doc-endnotes">
            <li class="footnote-item" data-footnote-item="" data-footnote-index="1"
            data-footnote-id="ej5sd0bakne" role="doc-endnote" id="fnej5sd0bakne"><span class="footnote-back-link" data-footnote-back-link="" data-footnote-id="ej5sd0bakne"><sup><strong><a href="#fnrefej5sd0bakne">^</a></strong></sup></span>

              <div
              class="footnote-content" data-footnote-content="">
                <p><a href="https://www.thecollector.com/what-are-the-seven-wonders-of-the-world/">What Are the 7 Wonders of the World? (with HD Images) | TheCollector</a>

                </p>
        </div>
        </li>
        </ol>


blobId: IjE7JTD5XGPZV02yj6CV
dateModified: 2025-11-03 16:29:22.174+0000
utcDateModified: 2025-11-03 16:29:22.174Z
content:
  <p>Checkout Kindle daily deals: <a href="https://www.amazon.com/gp/feature.html?docId=1000677541">https://www.amazon.com/gp/feature.html?docId=1000677541</a>

          </p>
          <ul>
            <li>Cixin Liu - <a href="https://www.amazon.com/Dark-Forest-Remembrance-Earths-Past/dp/0765386690/ref=pd_bxgy_14_img_2?_encoding=UTF8&amp;pd_rd_i=0765386690&amp;pd_rd_r=AB0J179TM9NTEAMHE240&amp;pd_rd_w=FAhxX&amp;pd_rd_wg=pLGK7&amp;psc=1&amp;refRID=AB0J179TM9NTEAMHE240">The Dark Forest</a>

            </li>
            <li>Ann Leckie - <a href="https://www.amazon.com/Ancillary-Sword-Imperial-Radch-Leckie/dp/0316246654/ref=pd_sim_14_1?_encoding=UTF8&amp;pd_rd_i=0316246654&amp;pd_rd_r=D7KDTGZFP7YM1YSYVY4G&amp;pd_rd_w=jkn28&amp;pd_rd_wg=JVhtw&amp;psc=1&amp;refRID=D7KDTGZFP7YM1YSYVY4G">Ancillary Sword</a>

            </li>
          </ul>


blobId: QUw7MDQROeiTYYDjQ4jN
dateModified: 2025-11-03 16:29:22.194+0000
utcDateModified: 2025-11-03 16:29:22.195Z
content:
  <h2>Main characters</h2>

          <p>… here put main characters …</p>
          <p>&nbsp;</p>
           <h2>Plot</h2>

          <p>… describe main plot lines …</p>
          <p>&nbsp;</p>
           <h2>Tone</h2>

          <p>&nbsp;</p>
           <h2>Genre</h2>

          <p>scifi / drama / romance</p>
          <p>&nbsp;</p>
           <h2>Similar books</h2>

          <ul>
            <li>…</li>
          </ul>


blobId: BVONPl6kYmfKAlozhpCU
dateModified: 2025-11-03 16:29:24.248+0000
utcDateModified: 2025-11-03 16:29:24.248Z
content:
  /*
   * This is a demo of how you can create custom theme for Trilium. You can activate it by going
   * into options in first tab "Appearance".
   * 
   * You can read some details on theming here: http://github.com/zadam/trilium/wiki/Themes
   */

  @font-face { /* This will be used as main UI font (see below) */
    font-family: 'Raleway';
    font-style: normal;
    font-weight: 400;
    src: url('../../../custom/fonts/raleway.woff2') format('woff2');
  }

  @font-face { /* This will be used as text content font (see below) */
    font-family: 'Garamond';
    font-style: normal;
    font-weight: 400;
    src: url('../../../custom/fonts/garamond.woff2') format('woff2');
  }

  :root {
      --theme-style: light;
      
      --main-font-family: 'Raleway';
      --main-font-size: normal;
      
      --tree-font-family: 'Raleway';
      --tree-font-size: normal;
      
      --detail-font-family: 'Raleway';
      --detail-font-size: normal;
      
      --monospace-font-family: 'Monospace';
      --monospace-font-size: normal;

      --main-background-color: #404552;
      --main-text-color: #AFB8C6;
      --main-border-color: #AFB8C6;
      
      --accented-background-color: #383C4A;
      --more-accented-background-color: #2F343F;
      
      --button-text-color: #AFB8C6;
      --button-background-color: #2F343F;
      --button-disabled-text-color: #86919F;
      --button-disabled-background-color: #404552;
      --button-border-color: #333;
      --button-border-radius: 2px;
      
      --primary-button-background-color: #6c757d;
      --primary-button-text-color: white;
      --primary-button-border-color: #6c757d;
      
      --muted-text-color: #86919F;
      
      --input-text-color: #AFB8C6;
      --input-background-color: #404552;
      
      --hover-item-text-color: white;
      --hover-item-background-color: #4877B1;
          
      --active-item-text-color: white;
      --active-item-background-color: #4877B1;
      
      --menu-text-color: #AFB8C6;
      --menu-background-color: #383C4A;
      
      --modal-background-color: #404552;
      --modal-backdrop-color: black;
      
      --left-pane-background-color: #2F343F;
      --left-pane-text-color: #AFB8C6;

      --launcher-pane-background-color: #2F343F;
      --launcher-pane-text-color: #AFB8C6;

      --active-tab-background-color: #2F343F;
      --active-tab-text-color: #AFB8C6;

      --inactive-tab-background-color: #404552;
      --inactive-tab-text-color: #AFB8C6;
      
      --scrollbar-border-color: rgba(175, 184, 198, 0.5);
      --tooltip-background-color: #383C4A;
      --link-color: lightskyblue;
      
      --mermaid-theme: forest;
  }

  body .global-menu-button {
      background-image: url("../../../assets/vX/images/icon-grey.png");
  }

  body .note-detail-editable-text, body .note-detail-readonly-text {
      font-size: 120%; /* Garamond is subjectively smaller */
  }

  body .CodeMirror {
      filter: invert(100%) hue-rotate(180deg);
  }


blobId: YIjxy9dBImOhP5qedfQA
dateModified: 2025-11-03 16:29:24.316+0000
utcDateModified: 2025-11-03 16:29:24.316Z
content:
  <p>This is a simple TODO/Task manager. You can see some description and explanation
            here: <a href="https://github.com/zadam/trilium/wiki/Task-manager">https://github.com/zadam/trilium/wiki/Task-manager</a>

          </p>
          <p>Please note that this is meant as scripting example only and feature/bug
            support is very limited.</p>


blobId: zEc35JSeq5hrYMYs7P5R
dateModified: 2025-11-03 16:29:24.422+0000
utcDateModified: 2025-11-03 16:29:24.422Z
content:
  <p><a href="https://en.wikipedia.org/wiki/The_Black_Swan:_The_Impact_of_the_Highly_Improbable">https://en.wikipedia.org/wiki/The_Black_Swan:_The_Impact_of_the_Highly_Improbable</a>

          </p>
          <p><em><strong>The Black Swan: The Impact of the Highly Improbable</strong></em> is
            a 2007 book by author and former <a href="https://en.wikipedia.org/wiki/Options_trader">options trader</a> 
            <a
            href="https://en.wikipedia.org/wiki/Nassim_Nicholas_Taleb">Nassim Nicholas Taleb</a>. The book focuses on the extreme impact of rare
              and unpredictable <a href="https://en.wikipedia.org/wiki/Outlier">outlier</a> events
              — and the human tendency to find simplistic explanations for these events,
              retrospectively. Taleb calls this the <a href="https://en.wikipedia.org/wiki/Black_Swan_theory">Black Swan theory</a>.</p>


blobId: mmVY4kSW7oAZYaln9rl3
dateModified: 2025-11-03 16:29:24.448+0000
utcDateModified: 2025-11-03 16:29:24.448Z
content:
  <figure class="image image-style-side">
            <img style="aspect-ratio:209/300;" src="api/attachments/KuBsTScr8Q4a/image/Buy a board game for Alice.jpg"
            width="209" height="300">
          </figure>
          <p>Maybe CodeNames? <a href="https://boardgamegeek.com/boardgame/178900/codenames">https://boardgamegeek.com/boardgame/178900/codenames</a>

          </p>


blobId: 8XwgadsPmaX2SpwjboFQ
dateModified: 2025-11-03 16:29:24.533+0000
utcDateModified: 2025-11-03 16:29:24.533Z
content:
  if (!["task", "location", "tag", "todoDate", "doneDate"].includes(api.originEntity.name)) {
      return;
  }

  const tagRootNote = api.getNoteWithLabel('taskTagRoot');
  const doneRootNote = api.getNoteWithLabel('taskDoneRoot');
  const todoRootNote = api.getNoteWithLabel('taskTodoRoot');

  if (!tagRootNote || !doneRootNote || !todoRootNote) {
      console.log("One of the tagRootNote, doneRootNote or todoRootNote does not exist");
      return;
  }

  const note = api.originEntity.getNote();

  if (note.isDeleted) {
      return;
  }
      
  const attributes = note.getAttributes();

  const todoDate = note.getLabelValue('todoDate');
  const doneDate = note.getLabelValue('doneDate');

  function isWithinExpectedRange(date) {
      if (!date) {
          return true;
      }
      
      const year = parseInt(date.substr(0, 4));
      
      return year >= 2010 && year < 2050;
  }

  if (!isWithinExpectedRange(todoDate) || !isWithinExpectedRange(doneDate)) {
      console.log(`One or both dates - ${todoDate}, ${doneDate} - is outside of expected range`);
      
      return;
  }

  const isTaskDone = !!doneDate;

  api.toggleNoteInParent(isTaskDone, note.noteId, doneRootNote.noteId);
  api.toggleNoteInParent(!isTaskDone, note.noteId, todoRootNote.noteId);

  const location = note.getLabelValue('location');
  const locationRootNote = api.getNoteWithLabel('taskLocationRoot');

  reconcileAssignments(note, locationRootNote, location ? [location] : [], 'taskLocationNote', isTaskDone);

  const tags = attributes.filter(attr => attr.type === 'label' && attr.name === 'tag').map(attr => attr.value);

  reconcileAssignments(note, tagRootNote, tags, 'taskTagNote', isTaskDone);

  note.toggleLabel(isTaskDone, "cssClass", "done");

  const doneTargetNoteId = isTaskDone ?  api.getDayNote(doneDate).noteId : null;
  api.setNoteToParent(note.noteId, 'DONE', doneTargetNoteId);

  note.toggleLabel(!isTaskDone, "cssClass", "todo");

  const todoTargetNoteId = (!isTaskDone && todoDate) ? api.getDayNote(todoDate).noteId : null;
  api.setNoteToParent(note.noteId, 'TODO', todoTargetNoteId);


blobId: 4QdB1DaryIf89Yk5B5nw
dateModified: 2025-11-03 16:29:24.551+0000
utcDateModified: 2025-11-03 16:29:24.551Z
content:
  module.exports = function (note, categoryRootNote, assignedCategories, labelName, isTaskDone) {
      const found = {};
      
      for (const categoryNote of categoryRootNote.getChildNotes()) {
          const label = categoryNote.getLabel(labelName);
          
          if (label) {
              found[label.value] = !isTaskDone && assignedCategories.includes(label.value);

              api.toggleNoteInParent(found[label.value], note.noteId, categoryNote.noteId);
          }
      }
      
      if (!isTaskDone) {
          for (const assignedCategory of assignedCategories) {
              if (!found[assignedCategory]) {
                  const categoryNote = api.createTextNote(categoryRootNote.noteId, assignedCategory, "").note;
                  
                  categoryNote.addLabel(labelName, assignedCategory);

                  api.ensureNoteIsPresentInParent(note.noteId, categoryNote.noteId);
              }
          }
      }
  }


blobId: v5FiEnMp2a9wUxd8TrOu
dateModified: 2025-11-03 16:29:24.563+0000
utcDateModified: 2025-11-03 16:29:24.563Z
content:
  span.fancytree-node.todo .fancytree-title {
      color: red !important;
  }

  span.fancytree-node.done .fancytree-title {
      color: green !important;
  }


blobId: iRjU1OL6pNcskGzKnOTH
dateModified: 2025-11-03 16:29:24.589+0000
utcDateModified: 2025-11-03 16:29:24.590Z
content:
  // creating notes is backend (server) responsibility so we need to pass
  // the control there
  const taskNoteId = await api.runOnBackend(() => {
      const todoRootNote = api.getNoteWithLabel('taskTodoRoot');
      const resp = api.createTextNote(todoRootNote.noteId, 'new task', '');

      return resp.note.noteId;
  });

  // wait until the frontend is fully synced with the changes made on the backend above
  await api.waitUntilSynced();

  // we got an ID of newly created note and we want to immediatelly display it
  await api.activateNewNote(taskNoteId);


blobId: P9fjHrjIKcaQXup4HomR
dateModified: 2025-11-03 16:29:24.668+0000
utcDateModified: 2025-11-03 16:29:24.668Z
content:
  // will add a launcher to the left sidebar
  api.createOrUpdateLauncher({
      id: 'taskmanager',
      type: 'script',
      title: 'New task',
      icon: 'bx-task',
      keyboardShortcut: 'alt+n',
      scriptNoteId: api.currentNote.getRelationValue('createNewTask'),
      isVisible: true
  });


blobId: 3cktSRQS3pMLX161oDPF
dateModified: 2025-11-03 16:29:24.687+0000
utcDateModified: 2025-11-03 16:29:24.688Z
content:
  /*
   * This defines a custom widget which displays number of words and characters in a current text note.
   * To be activated for a given note, add label 'wordCount' to the note, you can also make it inheritable and thus activate it for the whole subtree.
   * 
   * See it in action in "Books" and its subtree.
   */
  const TPL = `<div style="padding: 10px; border-top: 1px solid var(--main-border-color); contain: none;">
      <strong>Word count: </strong>
      <span class="word-count"></span>

      &nbsp;

      <strong>Character count: </strong>
      <span class="character-count"></span>
  </div>`;

  class WordCountWidget extends api.NoteContextAwareWidget {
      get position() { return 100; } // higher value means position towards the bottom/right

      get parentWidget() { return 'center-pane'; }

      isEnabled() {
          return super.isEnabled()
              && this.note.type === 'text'
              && this.note.hasLabel('wordCount');
      }

      doRender() {
          this.$widget = $(TPL);
          this.$wordCount = this.$widget.find('.word-count');
          this.$characterCount = this.$widget.find('.character-count');
          return this.$widget;
      }

      async refreshWithNote(note) {
          const {content} = await note.getNoteComplement();

          const text = $(content).text(); // get plain text only

          const counts = this.getCounts(text);

          this.$wordCount.text(counts.words);
          this.$characterCount.text(counts.characters);
      }

      getCounts(text) {
          const chunks = text
              .split(/[\s-+:,/\\]+/)
              .filter(chunk => chunk !== '');

          let words;

          if (chunks.length === 1 && chunks[0] === '') {
              words = 0;
          }
          else {
              words = chunks.length;
          }

          const characters = chunks.join('').length;

          return {words, characters};
      }

      async entitiesReloadedEvent({loadResults}) {
          if (loadResults.isNoteContentReloaded(this.noteId)) {
              this.refresh();
          }
      }
  }

  module.exports = new WordCountWidget();


blobId: l6gM0gVsfwxoMiYT2J6m
dateModified: 2025-11-03 16:29:24.709+0000
utcDateModified: 2025-11-03 16:29:24.709Z
content:
  <div style="padding: 20px">
      <strong>See explanation <a href="https://github.com/zadam/trilium/wiki/Weight-tracker" target="_blank">here</a></strong>.

      <canvas></canvas>
  </div>


blobId: K6AfmlMJZjYAcnYXzsmW
dateModified: 2025-11-03 16:29:24.725+0000
utcDateModified: 2025-11-03 16:29:24.725Z
content:
  async function getChartData() {
      const days = await api.runOnBackend(() => {
          const notes = api.getNotesWithLabel('weight');
          const days = [];

          for (const note of notes) {
              const date = note.getLabelValue('dateNote');
              const weight = parseFloat(note.getLabelValue('weight'));

              if (date && weight) {
                  days.push({ date, weight });
              }
          }

          days.sort((a, b) => a.date > b.date ? 1 : -1);

          return days;
      });

      const datasets = [
          {
              label: "Weight (kg)",
              backgroundColor: 'red',
              borderColor: 'red',
              data: days.map(day => day.weight),
              fill: false,
              spanGaps: true,
              datalabels: {
                  display: false
              },
              tension: 0.3
          }
      ];

      return {
          datasets: datasets,
          labels: days.map(day => day.date)
      };
  }

  const ctx = api.$container.find("canvas")[0].getContext("2d");

  new chartjs.Chart(ctx, {
      type: 'line',
      data: await getChartData()
  });


blobId: TW5s0ITYIppJtu76Ubys
dateModified: 2025-11-03 16:29:24.747+0000
utcDateModified: 2025-11-03 16:29:24.747Z
content:
  /*!
   * Chart.js v3.7.0
   * https://www.chartjs.org
   * (c) 2021 Chart.js Contributors
   * Released under the MIT License
   */
  !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).Chart=e()}(this,(function(){"use strict";const t="undefined"==typeof window?function(t){return t()}:window.requestAnimationFrame;function e(e,i,s){const n=s||(t=>Array.prototype.slice.call(t));let o=!1,a=[];return function(...s){a=n(s),o||(o=!0,t.call(window,(()=>{o=!1,e.apply(i,a)})))}}function i(t,e){let i;return function(...s){return e?(clearTimeout(i),i=setTimeout(t,e,s)):t.apply(this,s),e}}const s=t=>"start"===t?"left":"end"===t?"right":"center",n=(t,e,i)=>"start"===t?e:"end"===t?i:(e+i)/2,o=(t,e,i,s)=>t===(s?"left":"right")?i:"center"===t?(e+i)/2:e;var a=new class{constructor(){this._request=null,this._charts=new Map,this._running=!1,this._lastDate=void 0}_notify(t,e,i,s){const n=e.listeners[s],o=e.duration;n.forEach((s=>s({chart:t,initial:e.initial,numSteps:o,currentStep:Math.min(i-e.start,o)})))}_refresh(){this._request||(this._running=!0,this._request=t.call(window,(()=>{this._update(),this._request=null,this._running&&this._refresh()})))}_update(t=Date.now()){let e=0;this._charts.forEach(((i,s)=>{if(!i.running||!i.items.length)return;const n=i.items;let o,a=n.length-1,r=!1;for(;a>=0;--a)o=n[a],o._active?(o._total>i.duration&&(i.duration=o._total),o.tick(t),r=!0):(n[a]=n[n.length-1],n.pop());r&&(s.draw(),this._notify(s,i,t,"progress")),n.length||(i.running=!1,this._notify(s,i,t,"complete"),i.initial=!1),e+=n.length})),this._lastDate=t,0===e&&(this._running=!1)}_getAnims(t){const e=this._charts;let i=e.get(t);return i||(i={running:!1,initial:!0,items:[],listeners:{complete:[],progress:[]}},e.set(t,i)),i}listen(t,e,i){this._getAnims(t).listeners[e].push(i)}add(t,e){e&&e.length&&this._getAnims(t).items.push(...e)}has(t){return this._getAnims(t).items.length>0}start(t){const e=this._charts.get(t);e&&(e.running=!0,e.start=Date.now(),e.duration=e.items.reduce(((t,e)=>Math.max(t,e._duration)),0),this._refresh())}running(t){if(!this._running)return!1;const e=this._charts.get(t);return!!(e&&e.running&&e.items.length)}stop(t){const e=this._charts.get(t);if(!e||!e.items.length)return;const i=e.items;let s=i.length-1;for(;s>=0;--s)i[s].cancel();e.items=[],this._notify(t,e,Date.now(),"complete")}remove(t){return this._charts.delete(t)}};
  /*!
   * @kurkle/color v0.1.9
   * https://github.com/kurkle/color#readme
   * (c) 2020 Jukka Kurkela
   * Released under the MIT License
   */const r={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15,a:10,b:11,c:12,d:13,e:14,f:15},l="0123456789ABCDEF",h=t=>l[15&t],c=t=>l[(240&t)>>4]+l[15&t],d=t=>(240&t)>>4==(15&t);function u(t){var e=function(t){return d(t.r)&&d(t.g)&&d(t.b)&&d(t.a)}(t)?h:c;return t?"#"+e(t.r)+e(t.g)+e(t.b)+(t.a<255?e(t.a):""):t}function f(t){return t+.5|0}const g=(t,e,i)=>Math.max(Math.min(t,i),e);function p(t){return g(f(2.55*t),0,255)}function m(t){return g(f(255*t),0,255)}function x(t){return g(f(t/2.55)/100,0,1)}function b(t){return g(f(100*t),0,100)}const _=/^rgba?\(\s*([-+.\d]+)(%)?[\s,]+([-+.e\d]+)(%)?[\s,]+([-+.e\d]+)(%)?(?:[\s,/]+([-+.e\d]+)(%)?)?\s*\)$/;const y=/^(hsla?|hwb|hsv)\(\s*([-+.e\d]+)(?:deg)?[\s,]+([-+.e\d]+)%[\s,]+([-+.e\d]+)%(?:[\s,]+([-+.e\d]+)(%)?)?\s*\)$/;function v(t,e,i){const s=e*Math.min(i,1-i),n=(e,n=(e+t/30)%12)=>i-s*Math.max(Math.min(n-3,9-n,1),-1);return[n(0),n(8),n(4)]}function w(t,e,i){const s=(s,n=(s+t/60)%6)=>i-i*e*Math.max(Math.min(n,4-n,1),0);return[s(5),s(3),s(1)]}function M(t,e,i){const s=v(t,1,.5);let n;for(e+i>1&&(n=1/(e+i),e*=n,i*=n),n=0;n<3;n++)s[n]*=1-e-i,s[n]+=e;return s}function k(t){const e=t.r/255,i=t.g/255,s=t.b/255,n=Math.max(e,i,s),o=Math.min(e,i,s),a=(n+o)/2;let r,l,h;return n!==o&&(h=n-o,l=a>.5?h/(2-n-o):h/(n+o),r=n===e?(i-s)/h+(i<s?6:0):n===i?(s-e)/h+2:(e-i)/h+4,r=60*r+.5),[0|r,l||0,a]}function S(t,e,i,s){return(Array.isArray(e)?t(e[0],e[1],e[2]):t(e,i,s)).map(m)}function P(t,e,i){return S(v,t,e,i)}function D(t){return(t%360+360)%360}function C(t){const e=y.exec(t);let i,s=255;if(!e)return;e[5]!==i&&(s=e[6]?p(+e[5]):m(+e[5]));const n=D(+e[2]),o=+e[3]/100,a=+e[4]/100;return i="hwb"===e[1]?function(t,e,i){return S(M,t,e,i)}(n,o,a):"hsv"===e[1]?function(t,e,i){return S(w,t,e,i)}(n,o,a):P(n,o,a),{r:i[0],g:i[1],b:i[2],a:s}}const O={x:"dark",Z:"light",Y:"re",X:"blu",W:"gr",V:"medium",U:"slate",A:"ee",T:"ol",S:"or",B:"ra",C:"lateg",D:"ights",R:"in",Q:"turquois",E:"hi",P:"ro",O:"al",N:"le",M:"de",L:"yello",F:"en",K:"ch",G:"arks",H:"ea",I:"ightg",J:"wh"},A={OiceXe:"f0f8ff",antiquewEte:"faebd7",aqua:"ffff",aquamarRe:"7fffd4",azuY:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"0",blanKedOmond:"ffebcd",Xe:"ff",XeviTet:"8a2be2",bPwn:"a52a2a",burlywood:"deb887",caMtXe:"5f9ea0",KartYuse:"7fff00",KocTate:"d2691e",cSO:"ff7f50",cSnflowerXe:"6495ed",cSnsilk:"fff8dc",crimson:"dc143c",cyan:"ffff",xXe:"8b",xcyan:"8b8b",xgTMnPd:"b8860b",xWay:"a9a9a9",xgYF:"6400",xgYy:"a9a9a9",xkhaki:"bdb76b",xmagFta:"8b008b",xTivegYF:"556b2f",xSange:"ff8c00",xScEd:"9932cc",xYd:"8b0000",xsOmon:"e9967a",xsHgYF:"8fbc8f",xUXe:"483d8b",xUWay:"2f4f4f",xUgYy:"2f4f4f",xQe:"ced1",xviTet:"9400d3",dAppRk:"ff1493",dApskyXe:"bfff",dimWay:"696969",dimgYy:"696969",dodgerXe:"1e90ff",fiYbrick:"b22222",flSOwEte:"fffaf0",foYstWAn:"228b22",fuKsia:"ff00ff",gaRsbSo:"dcdcdc",ghostwEte:"f8f8ff",gTd:"ffd700",gTMnPd:"daa520",Way:"808080",gYF:"8000",gYFLw:"adff2f",gYy:"808080",honeyMw:"f0fff0",hotpRk:"ff69b4",RdianYd:"cd5c5c",Rdigo:"4b0082",ivSy:"fffff0",khaki:"f0e68c",lavFMr:"e6e6fa",lavFMrXsh:"fff0f5",lawngYF:"7cfc00",NmoncEffon:"fffacd",ZXe:"add8e6",ZcSO:"f08080",Zcyan:"e0ffff",ZgTMnPdLw:"fafad2",ZWay:"d3d3d3",ZgYF:"90ee90",ZgYy:"d3d3d3",ZpRk:"ffb6c1",ZsOmon:"ffa07a",ZsHgYF:"20b2aa",ZskyXe:"87cefa",ZUWay:"778899",ZUgYy:"778899",ZstAlXe:"b0c4de",ZLw:"ffffe0",lime:"ff00",limegYF:"32cd32",lRF:"faf0e6",magFta:"ff00ff",maPon:"800000",VaquamarRe:"66cdaa",VXe:"cd",VScEd:"ba55d3",VpurpN:"9370db",VsHgYF:"3cb371",VUXe:"7b68ee",VsprRggYF:"fa9a",VQe:"48d1cc",VviTetYd:"c71585",midnightXe:"191970",mRtcYam:"f5fffa",mistyPse:"ffe4e1",moccasR:"ffe4b5",navajowEte:"ffdead",navy:"80",Tdlace:"fdf5e6",Tive:"808000",TivedBb:"6b8e23",Sange:"ffa500",SangeYd:"ff4500",ScEd:"da70d6",pOegTMnPd:"eee8aa",pOegYF:"98fb98",pOeQe:"afeeee",pOeviTetYd:"db7093",papayawEp:"ffefd5",pHKpuff:"ffdab9",peru:"cd853f",pRk:"ffc0cb",plum:"dda0dd",powMrXe:"b0e0e6",purpN:"800080",YbeccapurpN:"663399",Yd:"ff0000",Psybrown:"bc8f8f",PyOXe:"4169e1",saddNbPwn:"8b4513",sOmon:"fa8072",sandybPwn:"f4a460",sHgYF:"2e8b57",sHshell:"fff5ee",siFna:"a0522d",silver:"c0c0c0",skyXe:"87ceeb",UXe:"6a5acd",UWay:"708090",UgYy:"708090",snow:"fffafa",sprRggYF:"ff7f",stAlXe:"4682b4",tan:"d2b48c",teO:"8080",tEstN:"d8bfd8",tomato:"ff6347",Qe:"40e0d0",viTet:"ee82ee",JHt:"f5deb3",wEte:"ffffff",wEtesmoke:"f5f5f5",Lw:"ffff00",LwgYF:"9acd32"};let T;function L(t){T||(T=function(){const t={},e=Object.keys(A),i=Object.keys(O);let s,n,o,a,r;for(s=0;s<e.length;s++){for(a=r=e[s],n=0;n<i.length;n++)o=i[n],r=r.replace(o,O[o]);o=parseInt(A[a],16),t[r]=[o>>16&255,o>>8&255,255&o]}return t}(),T.transparent=[0,0,0,0]);const e=T[t.toLowerCase()];return e&&{r:e[0],g:e[1],b:e[2],a:4===e.length?e[3]:255}}function R(t,e,i){if(t){let s=k(t);s[e]=Math.max(0,Math.min(s[e]+s[e]*i,0===e?360:1)),s=P(s),t.r=s[0],t.g=s[1],t.b=s[2]}}function E(t,e){return t?Object.assign(e||{},t):t}function I(t){var e={r:0,g:0,b:0,a:255};return Array.isArray(t)?t.length>=3&&(e={r:t[0],g:t[1],b:t[2],a:255},t.length>3&&(e.a=m(t[3]))):(e=E(t,{r:0,g:0,b:0,a:1})).a=m(e.a),e}function z(t){return"r"===t.charAt(0)?function(t){const e=_.exec(t);let i,s,n,o=255;if(e){if(e[7]!==i){const t=+e[7];o=255&(e[8]?p(t):255*t)}return i=+e[1],s=+e[3],n=+e[5],i=255&(e[2]?p(i):i),s=255&(e[4]?p(s):s),n=255&(e[6]?p(n):n),{r:i,g:s,b:n,a:o}}}(t):C(t)}class F{constructor(t){if(t instanceof F)return t;const e=typeof t;let i;var s,n,o;"object"===e?i=I(t):"string"===e&&(o=(s=t).length,"#"===s[0]&&(4===o||5===o?n={r:255&17*r[s[1]],g:255&17*r[s[2]],b:255&17*r[s[3]],a:5===o?17*r[s[4]]:255}:7!==o&&9!==o||(n={r:r[s[1]]<<4|r[s[2]],g:r[s[3]]<<4|r[s[4]],b:r[s[5]]<<4|r[s[6]],a:9===o?r[s[7]]<<4|r[s[8]]:255})),i=n||L(t)||z(t)),this._rgb=i,this._valid=!!i}get valid(){return this._valid}get rgb(){var t=E(this._rgb);return t&&(t.a=x(t.a)),t}set rgb(t){this._rgb=I(t)}rgbString(){return this._valid?(t=this._rgb)&&(t.a<255?`rgba(${t.r}, ${t.g}, ${t.b}, ${x(t.a)})`:`rgb(${t.r}, ${t.g}, ${t.b})`):this._rgb;var t}hexString(){return this._valid?u(this._rgb):this._rgb}hslString(){return this._valid?function(t){if(!t)return;const e=k(t),i=e[0],s=b(e[1]),n=b(e[2]);return t.a<255?`hsla(${i}, ${s}%, ${n}%, ${x(t.a)})`:`hsl(${i}, ${s}%, ${n}%)`}(this._rgb):this._rgb}mix(t,e){const i=this;if(t){const s=i.rgb,n=t.rgb;let o;const a=e===o?.5:e,r=2*a-1,l=s.a-n.a,h=((r*l==-1?r:(r+l)/(1+r*l))+1)/2;o=1-h,s.r=255&h*s.r+o*n.r+.5,s.g=255&h*s.g+o*n.g+.5,s.b=255&h*s.b+o*n.b+.5,s.a=a*s.a+(1-a)*n.a,i.rgb=s}return i}clone(){return new F(this.rgb)}alpha(t){return this._rgb.a=m(t),this}clearer(t){return this._rgb.a*=1-t,this}greyscale(){const t=this._rgb,e=f(.3*t.r+.59*t.g+.11*t.b);return t.r=t.g=t.b=e,this}opaquer(t){return this._rgb.a*=1+t,this}negate(){const t=this._rgb;return t.r=255-t.r,t.g=255-t.g,t.b=255-t.b,this}lighten(t){return R(this._rgb,2,t),this}darken(t){return R(this._rgb,2,-t),this}saturate(t){return R(this._rgb,1,t),this}desaturate(t){return R(this._rgb,1,-t),this}rotate(t){return function(t,e){var i=k(t);i[0]=D(i[0]+e),i=P(i),t.r=i[0],t.g=i[1],t.b=i[2]}(this._rgb,t),this}}function B(t){return new F(t)}const V=t=>t instanceof CanvasGradient||t instanceof CanvasPattern;function W(t){return V(t)?t:B(t)}function N(t){return V(t)?t:B(t).saturate(.5).darken(.1).hexString()}function H(){}const j=function(){let t=0;return function(){return t++}}();function $(t){return null==t}function Y(t){if(Array.isArray&&Array.isArray(t))return!0;const e=Object.prototype.toString.call(t);return"[object"===e.substr(0,7)&&"Array]"===e.substr(-6)}function U(t){return null!==t&&"[object Object]"===Object.prototype.toString.call(t)}const X=t=>("number"==typeof t||t instanceof Number)&&isFinite(+t);function q(t,e){return X(t)?t:e}function K(t,e){return void 0===t?e:t}const G=(t,e)=>"string"==typeof t&&t.endsWith("%")?parseFloat(t)/100:t/e,Z=(t,e)=>"string"==typeof t&&t.endsWith("%")?parseFloat(t)/100*e:+t;function J(t,e,i){if(t&&"function"==typeof t.call)return t.apply(i,e)}function Q(t,e,i,s){let n,o,a;if(Y(t))if(o=t.length,s)for(n=o-1;n>=0;n--)e.call(i,t[n],n);else for(n=0;n<o;n++)e.call(i,t[n],n);else if(U(t))for(a=Object.keys(t),o=a.length,n=0;n<o;n++)e.call(i,t[a[n]],a[n])}function tt(t,e){let i,s,n,o;if(!t||!e||t.length!==e.length)return!1;for(i=0,s=t.length;i<s;++i)if(n=t[i],o=e[i],n.datasetIndex!==o.datasetIndex||n.index!==o.index)return!1;return!0}function et(t){if(Y(t))return t.map(et);if(U(t)){const e=Object.create(null),i=Object.keys(t),s=i.length;let n=0;for(;n<s;++n)e[i[n]]=et(t[i[n]]);return e}return t}function it(t){return-1===["__proto__","prototype","constructor"].indexOf(t)}function st(t,e,i,s){if(!it(t))return;const n=e[t],o=i[t];U(n)&&U(o)?nt(n,o,s):e[t]=et(o)}function nt(t,e,i){const s=Y(e)?e:[e],n=s.length;if(!U(t))return t;const o=(i=i||{}).merger||st;for(let a=0;a<n;++a){if(!U(e=s[a]))continue;const n=Object.keys(e);for(let s=0,a=n.length;s<a;++s)o(n[s],t,e,i)}return t}function ot(t,e){return nt(t,e,{merger:at})}function at(t,e,i){if(!it(t))return;const s=e[t],n=i[t];U(s)&&U(n)?ot(s,n):Object.prototype.hasOwnProperty.call(e,t)||(e[t]=et(n))}function rt(t,e){const i=t.indexOf(".",e);return-1===i?t.length:i}function lt(t,e){if(""===e)return t;let i=0,s=rt(e,i);for(;t&&s>i;)t=t[e.substr(i,s-i)],i=s+1,s=rt(e,i);return t}function ht(t){return t.charAt(0).toUpperCase()+t.slice(1)}const ct=t=>void 0!==t,dt=t=>"function"==typeof t,ut=(t,e)=>{if(t.size!==e.size)return!1;for(const i of t)if(!e.has(i))return!1;return!0};function ft(t){return"mouseup"===t.type||"click"===t.type||"contextmenu"===t.type}const gt=Object.create(null),pt=Object.create(null);function mt(t,e){if(!e)return t;const i=e.split(".");for(let e=0,s=i.length;e<s;++e){const s=i[e];t=t[s]||(t[s]=Object.create(null))}return t}function xt(t,e,i){return"string"==typeof e?nt(mt(t,e),i):nt(mt(t,""),e)}var bt=new class{constructor(t){this.animation=void 0,this.backgroundColor="rgba(0,0,0,0.1)",this.borderColor="rgba(0,0,0,0.1)",this.color="#666",this.datasets={},this.devicePixelRatio=t=>t.chart.platform.getDevicePixelRatio(),this.elements={},this.events=["mousemove","mouseout","click","touchstart","touchmove"],this.font={family:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",size:12,style:"normal",lineHeight:1.2,weight:null},this.hover={},this.hoverBackgroundColor=(t,e)=>N(e.backgroundColor),this.hoverBorderColor=(t,e)=>N(e.borderColor),this.hoverColor=(t,e)=>N(e.color),this.indexAxis="x",this.interaction={mode:"nearest",intersect:!0},this.maintainAspectRatio=!0,this.onHover=null,this.onClick=null,this.parsing=!0,this.plugins={},this.responsive=!0,this.scale=void 0,this.scales={},this.showLine=!0,this.drawActiveElementsOnTop=!0,this.describe(t)}set(t,e){return xt(this,t,e)}get(t){return mt(this,t)}describe(t,e){return xt(pt,t,e)}override(t,e){return xt(gt,t,e)}route(t,e,i,s){const n=mt(this,t),o=mt(this,i),a="_"+e;Object.defineProperties(n,{[a]:{value:n[e],writable:!0},[e]:{enumerable:!0,get(){const t=this[a],e=o[s];return U(t)?Object.assign({},e,t):K(t,e)},set(t){this[a]=t}}})}}({_scriptable:t=>!t.startsWith("on"),_indexable:t=>"events"!==t,hover:{_fallback:"interaction"},interaction:{_scriptable:!1,_indexable:!1}});const _t=Math.PI,yt=2*_t,vt=yt+_t,wt=Number.POSITIVE_INFINITY,Mt=_t/180,kt=_t/2,St=_t/4,Pt=2*_t/3,Dt=Math.log10,Ct=Math.sign;function Ot(t){const e=Math.round(t);t=Lt(t,e,t/1e3)?e:t;const i=Math.pow(10,Math.floor(Dt(t))),s=t/i;return(s<=1?1:s<=2?2:s<=5?5:10)*i}function At(t){const e=[],i=Math.sqrt(t);let s;for(s=1;s<i;s++)t%s==0&&(e.push(s),e.push(t/s));return i===(0|i)&&e.push(i),e.sort(((t,e)=>t-e)).pop(),e}function Tt(t){return!isNaN(parseFloat(t))&&isFinite(t)}function Lt(t,e,i){return Math.abs(t-e)<i}function Rt(t,e){const i=Math.round(t);return i-e<=t&&i+e>=t}function Et(t,e,i){let s,n,o;for(s=0,n=t.length;s<n;s++)o=t[s][i],isNaN(o)||(e.min=Math.min(e.min,o),e.max=Math.max(e.max,o))}function It(t){return t*(_t/180)}function zt(t){return t*(180/_t)}function Ft(t){if(!X(t))return;let e=1,i=0;for(;Math.round(t*e)/e!==t;)e*=10,i++;return i}function Bt(t,e){const i=e.x-t.x,s=e.y-t.y,n=Math.sqrt(i*i+s*s);let o=Math.atan2(s,i);return o<-.5*_t&&(o+=yt),{angle:o,distance:n}}function Vt(t,e){return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))}function Wt(t,e){return(t-e+vt)%yt-_t}function Nt(t){return(t%yt+yt)%yt}function Ht(t,e,i,s){const n=Nt(t),o=Nt(e),a=Nt(i),r=Nt(o-n),l=Nt(a-n),h=Nt(n-o),c=Nt(n-a);return n===o||n===a||s&&o===a||r>l&&h<c}function jt(t,e,i){return Math.max(e,Math.min(i,t))}function $t(t){return jt(t,-32768,32767)}function Yt(t,e,i,s=1e-6){return t>=Math.min(e,i)-s&&t<=Math.max(e,i)+s}function Ut(t){return!t||$(t.size)||$(t.family)?null:(t.style?t.style+" ":"")+(t.weight?t.weight+" ":"")+t.size+"px "+t.family}function Xt(t,e,i,s,n){let o=e[n];return o||(o=e[n]=t.measureText(n).width,i.push(n)),o>s&&(s=o),s}function qt(t,e,i,s){let n=(s=s||{}).data=s.data||{},o=s.garbageCollect=s.garbageCollect||[];s.font!==e&&(n=s.data={},o=s.garbageCollect=[],s.font=e),t.save(),t.font=e;let a=0;const r=i.length;let l,h,c,d,u;for(l=0;l<r;l++)if(d=i[l],null!=d&&!0!==Y(d))a=Xt(t,n,o,a,d);else if(Y(d))for(h=0,c=d.length;h<c;h++)u=d[h],null==u||Y(u)||(a=Xt(t,n,o,a,u));t.restore();const f=o.length/2;if(f>i.length){for(l=0;l<f;l++)delete n[o[l]];o.splice(0,f)}return a}function Kt(t,e,i){const s=t.currentDevicePixelRatio,n=0!==i?Math.max(i/2,.5):0;return Math.round((e-n)*s)/s+n}function Gt(t,e){(e=e||t.getContext("2d")).save(),e.resetTransform(),e.clearRect(0,0,t.width,t.height),e.restore()}function Zt(t,e,i,s){let n,o,a,r,l;const h=e.pointStyle,c=e.rotation,d=e.radius;let u=(c||0)*Mt;if(h&&"object"==typeof h&&(n=h.toString(),"[object HTMLImageElement]"===n||"[object HTMLCanvasElement]"===n))return t.save(),t.translate(i,s),t.rotate(u),t.drawImage(h,-h.width/2,-h.height/2,h.width,h.height),void t.restore();if(!(isNaN(d)||d<=0)){switch(t.beginPath(),h){default:t.arc(i,s,d,0,yt),t.closePath();break;case"triangle":t.moveTo(i+Math.sin(u)*d,s-Math.cos(u)*d),u+=Pt,t.lineTo(i+Math.sin(u)*d,s-Math.cos(u)*d),u+=Pt,t.lineTo(i+Math.sin(u)*d,s-Math.cos(u)*d),t.closePath();break;case"rectRounded":l=.516*d,r=d-l,o=Math.cos(u+St)*r,a=Math.sin(u+St)*r,t.arc(i-o,s-a,l,u-_t,u-kt),t.arc(i+a,s-o,l,u-kt,u),t.arc(i+o,s+a,l,u,u+kt),t.arc(i-a,s+o,l,u+kt,u+_t),t.closePath();break;case"rect":if(!c){r=Math.SQRT1_2*d,t.rect(i-r,s-r,2*r,2*r);break}u+=St;case"rectRot":o=Math.cos(u)*d,a=Math.sin(u)*d,t.moveTo(i-o,s-a),t.lineTo(i+a,s-o),t.lineTo(i+o,s+a),t.lineTo(i-a,s+o),t.closePath();break;case"crossRot":u+=St;case"cross":o=Math.cos(u)*d,a=Math.sin(u)*d,t.moveTo(i-o,s-a),t.lineTo(i+o,s+a),t.moveTo(i+a,s-o),t.lineTo(i-a,s+o);break;case"star":o=Math.cos(u)*d,a=Math.sin(u)*d,t.moveTo(i-o,s-a),t.lineTo(i+o,s+a),t.moveTo(i+a,s-o),t.lineTo(i-a,s+o),u+=St,o=Math.cos(u)*d,a=Math.sin(u)*d,t.moveTo(i-o,s-a),t.lineTo(i+o,s+a),t.moveTo(i+a,s-o),t.lineTo(i-a,s+o);break;case"line":o=Math.cos(u)*d,a=Math.sin(u)*d,t.moveTo(i-o,s-a),t.lineTo(i+o,s+a);break;case"dash":t.moveTo(i,s),t.lineTo(i+Math.cos(u)*d,s+Math.sin(u)*d)}t.fill(),e.borderWidth>0&&t.stroke()}}function Jt(t,e,i){return i=i||.5,!e||t&&t.x>e.left-i&&t.x<e.right+i&&t.y>e.top-i&&t.y<e.bottom+i}function Qt(t,e){t.save(),t.beginPath(),t.rect(e.left,e.top,e.right-e.left,e.bottom-e.top),t.clip()}function te(t){t.restore()}function ee(t,e,i,s,n){if(!e)return t.lineTo(i.x,i.y);if("middle"===n){const s=(e.x+i.x)/2;t.lineTo(s,e.y),t.lineTo(s,i.y)}else"after"===n!=!!s?t.lineTo(e.x,i.y):t.lineTo(i.x,e.y);t.lineTo(i.x,i.y)}function ie(t,e,i,s){if(!e)return t.lineTo(i.x,i.y);t.bezierCurveTo(s?e.cp1x:e.cp2x,s?e.cp1y:e.cp2y,s?i.cp2x:i.cp1x,s?i.cp2y:i.cp1y,i.x,i.y)}function se(t,e,i,s,n,o={}){const a=Y(e)?e:[e],r=o.strokeWidth>0&&""!==o.strokeColor;let l,h;for(t.save(),t.font=n.string,function(t,e){e.translation&&t.translate(e.translation[0],e.translation[1]);$(e.rotation)||t.rotate(e.rotation);e.color&&(t.fillStyle=e.color);e.textAlign&&(t.textAlign=e.textAlign);e.textBaseline&&(t.textBaseline=e.textBaseline)}(t,o),l=0;l<a.length;++l)h=a[l],r&&(o.strokeColor&&(t.strokeStyle=o.strokeColor),$(o.strokeWidth)||(t.lineWidth=o.strokeWidth),t.strokeText(h,i,s,o.maxWidth)),t.fillText(h,i,s,o.maxWidth),ne(t,i,s,h,o),s+=n.lineHeight;t.restore()}function ne(t,e,i,s,n){if(n.strikethrough||n.underline){const o=t.measureText(s),a=e-o.actualBoundingBoxLeft,r=e+o.actualBoundingBoxRight,l=i-o.actualBoundingBoxAscent,h=i+o.actualBoundingBoxDescent,c=n.strikethrough?(l+h)/2:h;t.strokeStyle=t.fillStyle,t.beginPath(),t.lineWidth=n.decorationWidth||2,t.moveTo(a,c),t.lineTo(r,c),t.stroke()}}function oe(t,e){const{x:i,y:s,w:n,h:o,radius:a}=e;t.arc(i+a.topLeft,s+a.topLeft,a.topLeft,-kt,_t,!0),t.lineTo(i,s+o-a.bottomLeft),t.arc(i+a.bottomLeft,s+o-a.bottomLeft,a.bottomLeft,_t,kt,!0),t.lineTo(i+n-a.bottomRight,s+o),t.arc(i+n-a.bottomRight,s+o-a.bottomRight,a.bottomRight,kt,0,!0),t.lineTo(i+n,s+a.topRight),t.arc(i+n-a.topRight,s+a.topRight,a.topRight,0,-kt,!0),t.lineTo(i+a.topLeft,s)}function ae(t,e,i){i=i||(i=>t[i]<e);let s,n=t.length-1,o=0;for(;n-o>1;)s=o+n>>1,i(s)?o=s:n=s;return{lo:o,hi:n}}const re=(t,e,i)=>ae(t,i,(s=>t[s][e]<i)),le=(t,e,i)=>ae(t,i,(s=>t[s][e]>=i));function he(t,e,i){let s=0,n=t.length;for(;s<n&&t[s]<e;)s++;for(;n>s&&t[n-1]>i;)n--;return s>0||n<t.length?t.slice(s,n):t}const ce=["push","pop","shift","splice","unshift"];function de(t,e){t._chartjs?t._chartjs.listeners.push(e):(Object.defineProperty(t,"_chartjs",{configurable:!0,enumerable:!1,value:{listeners:[e]}}),ce.forEach((e=>{const i="_onData"+ht(e),s=t[e];Object.defineProperty(t,e,{configurable:!0,enumerable:!1,value(...e){const n=s.apply(this,e);return t._chartjs.listeners.forEach((t=>{"function"==typeof t[i]&&t[i](...e)})),n}})})))}function ue(t,e){const i=t._chartjs;if(!i)return;const s=i.listeners,n=s.indexOf(e);-1!==n&&s.splice(n,1),s.length>0||(ce.forEach((e=>{delete t[e]})),delete t._chartjs)}function fe(t){const e=new Set;let i,s;for(i=0,s=t.length;i<s;++i)e.add(t[i]);return e.size===s?t:Array.from(e)}function ge(){return"undefined"!=typeof window&&"undefined"!=typeof document}function pe(t){let e=t.parentNode;return e&&"[object ShadowRoot]"===e.toString()&&(e=e.host),e}function me(t,e,i){let s;return"string"==typeof t?(s=parseInt(t,10),-1!==t.indexOf("%")&&(s=s/100*e.parentNode[i])):s=t,s}const xe=t=>window.getComputedStyle(t,null);function be(t,e){return xe(t).getPropertyValue(e)}const _e=["top","right","bottom","left"];function ye(t,e,i){const s={};i=i?"-"+i:"";for(let n=0;n<4;n++){const o=_e[n];s[o]=parseFloat(t[e+"-"+o+i])||0}return s.width=s.left+s.right,s.height=s.top+s.bottom,s}function ve(t,e){const{canvas:i,currentDevicePixelRatio:s}=e,n=xe(i),o="border-box"===n.boxSizing,a=ye(n,"padding"),r=ye(n,"border","width"),{x:l,y:h,box:c}=function(t,e){const i=t.native||t,s=i.touches,n=s&&s.length?s[0]:i,{offsetX:o,offsetY:a}=n;let r,l,h=!1;if(((t,e,i)=>(t>0||e>0)&&(!i||!i.shadowRoot))(o,a,i.target))r=o,l=a;else{const t=e.getBoundingClientRect();r=n.clientX-t.left,l=n.clientY-t.top,h=!0}return{x:r,y:l,box:h}}(t,i),d=a.left+(c&&r.left),u=a.top+(c&&r.top);let{width:f,height:g}=e;return o&&(f-=a.width+r.width,g-=a.height+r.height),{x:Math.round((l-d)/f*i.width/s),y:Math.round((h-u)/g*i.height/s)}}const we=t=>Math.round(10*t)/10;function Me(t,e,i,s){const n=xe(t),o=ye(n,"margin"),a=me(n.maxWidth,t,"clientWidth")||wt,r=me(n.maxHeight,t,"clientHeight")||wt,l=function(t,e,i){let s,n;if(void 0===e||void 0===i){const o=pe(t);if(o){const t=o.getBoundingClientRect(),a=xe(o),r=ye(a,"border","width"),l=ye(a,"padding");e=t.width-l.width-r.width,i=t.height-l.height-r.height,s=me(a.maxWidth,o,"clientWidth"),n=me(a.maxHeight,o,"clientHeight")}else e=t.clientWidth,i=t.clientHeight}return{width:e,height:i,maxWidth:s||wt,maxHeight:n||wt}}(t,e,i);let{width:h,height:c}=l;if("content-box"===n.boxSizing){const t=ye(n,"border","width"),e=ye(n,"padding");h-=e.width+t.width,c-=e.height+t.height}return h=Math.max(0,h-o.width),c=Math.max(0,s?Math.floor(h/s):c-o.height),h=we(Math.min(h,a,l.maxWidth)),c=we(Math.min(c,r,l.maxHeight)),h&&!c&&(c=we(h/2)),{width:h,height:c}}function ke(t,e,i){const s=e||1,n=Math.floor(t.height*s),o=Math.floor(t.width*s);t.height=n/s,t.width=o/s;const a=t.canvas;return a.style&&(i||!a.style.height&&!a.style.width)&&(a.style.height=`${t.height}px`,a.style.width=`${t.width}px`),(t.currentDevicePixelRatio!==s||a.height!==n||a.width!==o)&&(t.currentDevicePixelRatio=s,a.height=n,a.width=o,t.ctx.setTransform(s,0,0,s,0,0),!0)}const Se=function(){let t=!1;try{const e={get passive(){return t=!0,!1}};window.addEventListener("test",null,e),window.removeEventListener("test",null,e)}catch(t){}return t}();function Pe(t,e){const i=be(t,e),s=i&&i.match(/^(\d+)(\.\d+)?px$/);return s?+s[1]:void 0}function De(t,e){return"native"in t?{x:t.x,y:t.y}:ve(t,e)}function Ce(t,e,i,s){const{controller:n,data:o,_sorted:a}=t,r=n._cachedMeta.iScale;if(r&&e===r.axis&&"r"!==e&&a&&o.length){const t=r._reversePixels?le:re;if(!s)return t(o,e,i);if(n._sharedOptions){const s=o[0],n="function"==typeof s.getRange&&s.getRange(e);if(n){const s=t(o,e,i-n),a=t(o,e,i+n);return{lo:s.lo,hi:a.hi}}}}return{lo:0,hi:o.length-1}}function Oe(t,e,i,s,n){const o=t.getSortedVisibleDatasetMetas(),a=i[e];for(let t=0,i=o.length;t<i;++t){const{index:i,data:r}=o[t],{lo:l,hi:h}=Ce(o[t],e,a,n);for(let t=l;t<=h;++t){const e=r[t];e.skip||s(e,i,t)}}}function Ae(t,e,i,s){const n=[];if(!Jt(e,t.chartArea,t._minPadding))return n;return Oe(t,i,e,(function(t,i,o){t.inRange(e.x,e.y,s)&&n.push({element:t,datasetIndex:i,index:o})}),!0),n}function Te(t,e,i,s,n){let o=[];const a=function(t){const e=-1!==t.indexOf("x"),i=-1!==t.indexOf("y");return function(t,s){const n=e?Math.abs(t.x-s.x):0,o=i?Math.abs(t.y-s.y):0;return Math.sqrt(Math.pow(n,2)+Math.pow(o,2))}}(i);let r=Number.POSITIVE_INFINITY;return Oe(t,i,e,(function(i,l,h){const c=i.inRange(e.x,e.y,n);if(s&&!c)return;const d=i.getCenterPoint(n);if(!Jt(d,t.chartArea,t._minPadding)&&!c)return;const u=a(e,d);u<r?(o=[{element:i,datasetIndex:l,index:h}],r=u):u===r&&o.push({element:i,datasetIndex:l,index:h})})),o}function Le(t,e,i,s,n){return Jt(e,t.chartArea,t._minPadding)?"r"!==i||s?Te(t,e,i,s,n):function(t,e,i,s){let n=[];return Oe(t,i,e,(function(t,i,o){const{startAngle:a,endAngle:r}=t.getProps(["startAngle","endAngle"],s),{angle:l}=Bt(t,{x:e.x,y:e.y});Ht(l,a,r)&&n.push({element:t,datasetIndex:i,index:o})})),n}(t,e,i,n):[]}function Re(t,e,i,s){const n=De(e,t),o=[],a=i.axis,r="x"===a?"inXRange":"inYRange";let l=!1;return function(t,e){const i=t.getSortedVisibleDatasetMetas();let s,n,o;for(let t=0,a=i.length;t<a;++t){({index:s,data:n}=i[t]);for(let t=0,i=n.length;t<i;++t)o=n[t],o.skip||e(o,s,t)}}(t,((t,e,i)=>{t[r](n[a],s)&&o.push({element:t,datasetIndex:e,index:i}),t.inRange(n.x,n.y,s)&&(l=!0)})),i.intersect&&!l?[]:o}var Ee={modes:{index(t,e,i,s){const n=De(e,t),o=i.axis||"x",a=i.intersect?Ae(t,n,o,s):Le(t,n,o,!1,s),r=[];return a.length?(t.getSortedVisibleDatasetMetas().forEach((t=>{const e=a[0].index,i=t.data[e];i&&!i.skip&&r.push({element:i,datasetIndex:t.index,index:e})})),r):[]},dataset(t,e,i,s){const n=De(e,t),o=i.axis||"xy";let a=i.intersect?Ae(t,n,o,s):Le(t,n,o,!1,s);if(a.length>0){const e=a[0].datasetIndex,i=t.getDatasetMeta(e).data;a=[];for(let t=0;t<i.length;++t)a.push({element:i[t],datasetIndex:e,index:t})}return a},point:(t,e,i,s)=>Ae(t,De(e,t),i.axis||"xy",s),nearest:(t,e,i,s)=>Le(t,De(e,t),i.axis||"xy",i.intersect,s),x:(t,e,i,s)=>Re(t,e,{axis:"x",intersect:i.intersect},s),y:(t,e,i,s)=>Re(t,e,{axis:"y",intersect:i.intersect},s)}};const Ie=new RegExp(/^(normal|(\d+(?:\.\d+)?)(px|em|%)?)$/),ze=new RegExp(/^(normal|italic|initial|inherit|unset|(oblique( -?[0-9]?[0-9]deg)?))$/);function Fe(t,e){const i=(""+t).match(Ie);if(!i||"normal"===i[1])return 1.2*e;switch(t=+i[2],i[3]){case"px":return t;case"%":t/=100}return e*t}function Be(t,e){const i={},s=U(e),n=s?Object.keys(e):e,o=U(t)?s?i=>K(t[i],t[e[i]]):e=>t[e]:()=>t;for(const t of n)i[t]=+o(t)||0;return i}function Ve(t){return Be(t,{top:"y",right:"x",bottom:"y",left:"x"})}function We(t){return Be(t,["topLeft","topRight","bottomLeft","bottomRight"])}function Ne(t){const e=Ve(t);return e.width=e.left+e.right,e.height=e.top+e.bottom,e}function He(t,e){t=t||{},e=e||bt.font;let i=K(t.size,e.size);"string"==typeof i&&(i=parseInt(i,10));let s=K(t.style,e.style);s&&!(""+s).match(ze)&&(console.warn('Invalid font style specified: "'+s+'"'),s="");const n={family:K(t.family,e.family),lineHeight:Fe(K(t.lineHeight,e.lineHeight),i),size:i,style:s,weight:K(t.weight,e.weight),string:""};return n.string=Ut(n),n}function je(t,e,i,s){let n,o,a,r=!0;for(n=0,o=t.length;n<o;++n)if(a=t[n],void 0!==a&&(void 0!==e&&"function"==typeof a&&(a=a(e),r=!1),void 0!==i&&Y(a)&&(a=a[i%a.length],r=!1),void 0!==a))return s&&!r&&(s.cacheable=!1),a}function $e(t,e,i){const{min:s,max:n}=t,o=Z(e,(n-s)/2),a=(t,e)=>i&&0===t?0:t+e;return{min:a(s,-Math.abs(o)),max:a(n,o)}}function Ye(t,e){return Object.assign(Object.create(t),e)}const Ue=["left","top","right","bottom"];function Xe(t,e){return t.filter((t=>t.pos===e))}function qe(t,e){return t.filter((t=>-1===Ue.indexOf(t.pos)&&t.box.axis===e))}function Ke(t,e){return t.sort(((t,i)=>{const s=e?i:t,n=e?t:i;return s.weight===n.weight?s.index-n.index:s.weight-n.weight}))}function Ge(t,e){const i=function(t){const e={};for(const i of t){const{stack:t,pos:s,stackWeight:n}=i;if(!t||!Ue.includes(s))continue;const o=e[t]||(e[t]={count:0,placed:0,weight:0,size:0});o.count++,o.weight+=n}return e}(t),{vBoxMaxWidth:s,hBoxMaxHeight:n}=e;let o,a,r;for(o=0,a=t.length;o<a;++o){r=t[o];const{fullSize:a}=r.box,l=i[r.stack],h=l&&r.stackWeight/l.weight;r.horizontal?(r.width=h?h*s:a&&e.availableWidth,r.height=n):(r.width=s,r.height=h?h*n:a&&e.availableHeight)}return i}function Ze(t,e,i,s){return Math.max(t[i],e[i])+Math.max(t[s],e[s])}function Je(t,e){t.top=Math.max(t.top,e.top),t.left=Math.max(t.left,e.left),t.bottom=Math.max(t.bottom,e.bottom),t.right=Math.max(t.right,e.right)}function Qe(t,e,i,s){const{pos:n,box:o}=i,a=t.maxPadding;if(!U(n)){i.size&&(t[n]-=i.size);const e=s[i.stack]||{size:0,count:1};e.size=Math.max(e.size,i.horizontal?o.height:o.width),i.size=e.size/e.count,t[n]+=i.size}o.getPadding&&Je(a,o.getPadding());const r=Math.max(0,e.outerWidth-Ze(a,t,"left","right")),l=Math.max(0,e.outerHeight-Ze(a,t,"top","bottom")),h=r!==t.w,c=l!==t.h;return t.w=r,t.h=l,i.horizontal?{same:h,other:c}:{same:c,other:h}}function ti(t,e){const i=e.maxPadding;function s(t){const s={left:0,top:0,right:0,bottom:0};return t.forEach((t=>{s[t]=Math.max(e[t],i[t])})),s}return s(t?["left","right"]:["top","bottom"])}function ei(t,e,i,s){const n=[];let o,a,r,l,h,c;for(o=0,a=t.length,h=0;o<a;++o){r=t[o],l=r.box,l.update(r.width||e.w,r.height||e.h,ti(r.horizontal,e));const{same:a,other:d}=Qe(e,i,r,s);h|=a&&n.length,c=c||d,l.fullSize||n.push(r)}return h&&ei(n,e,i,s)||c}function ii(t,e,i,s,n){t.top=i,t.left=e,t.right=e+s,t.bottom=i+n,t.width=s,t.height=n}function si(t,e,i,s){const n=i.padding;let{x:o,y:a}=e;for(const r of t){const t=r.box,l=s[r.stack]||{count:1,placed:0,weight:1},h=r.stackWeight/l.weight||1;if(r.horizontal){const s=e.w*h,o=l.size||t.height;ct(l.start)&&(a=l.start),t.fullSize?ii(t,n.left,a,i.outerWidth-n.right-n.left,o):ii(t,e.left+l.placed,a,s,o),l.start=a,l.placed+=s,a=t.bottom}else{const s=e.h*h,a=l.size||t.width;ct(l.start)&&(o=l.start),t.fullSize?ii(t,o,n.top,a,i.outerHeight-n.bottom-n.top):ii(t,o,e.top+l.placed,a,s),l.start=o,l.placed+=s,o=t.right}}e.x=o,e.y=a}bt.set("layout",{autoPadding:!0,padding:{top:0,right:0,bottom:0,left:0}});var ni={addBox(t,e){t.boxes||(t.boxes=[]),e.fullSize=e.fullSize||!1,e.position=e.position||"top",e.weight=e.weight||0,e._layers=e._layers||function(){return[{z:0,draw(t){e.draw(t)}}]},t.boxes.push(e)},removeBox(t,e){const i=t.boxes?t.boxes.indexOf(e):-1;-1!==i&&t.boxes.splice(i,1)},configure(t,e,i){e.fullSize=i.fullSize,e.position=i.position,e.weight=i.weight},update(t,e,i,s){if(!t)return;const n=Ne(t.options.layout.padding),o=Math.max(e-n.width,0),a=Math.max(i-n.height,0),r=function(t){const e=function(t){const e=[];let i,s,n,o,a,r;for(i=0,s=(t||[]).length;i<s;++i)n=t[i],({position:o,options:{stack:a,stackWeight:r=1}}=n),e.push({index:i,box:n,pos:o,horizontal:n.isHorizontal(),weight:n.weight,stack:a&&o+a,stackWeight:r});return e}(t),i=Ke(e.filter((t=>t.box.fullSize)),!0),s=Ke(Xe(e,"left"),!0),n=Ke(Xe(e,"right")),o=Ke(Xe(e,"top"),!0),a=Ke(Xe(e,"bottom")),r=qe(e,"x"),l=qe(e,"y");return{fullSize:i,leftAndTop:s.concat(o),rightAndBottom:n.concat(l).concat(a).concat(r),chartArea:Xe(e,"chartArea"),vertical:s.concat(n).concat(l),horizontal:o.concat(a).concat(r)}}(t.boxes),l=r.vertical,h=r.horizontal;Q(t.boxes,(t=>{"function"==typeof t.beforeLayout&&t.beforeLayout()}));const c=l.reduce(((t,e)=>e.box.options&&!1===e.box.options.display?t:t+1),0)||1,d=Object.freeze({outerWidth:e,outerHeight:i,padding:n,availableWidth:o,availableHeight:a,vBoxMaxWidth:o/2/c,hBoxMaxHeight:a/2}),u=Object.assign({},n);Je(u,Ne(s));const f=Object.assign({maxPadding:u,w:o,h:a,x:n.left,y:n.top},n),g=Ge(l.concat(h),d);ei(r.fullSize,f,d,g),ei(l,f,d,g),ei(h,f,d,g)&&ei(l,f,d,g),function(t){const e=t.maxPadding;function i(i){const s=Math.max(e[i]-t[i],0);return t[i]+=s,s}t.y+=i("top"),t.x+=i("left"),i("right"),i("bottom")}(f),si(r.leftAndTop,f,d,g),f.x+=f.w,f.y+=f.h,si(r.rightAndBottom,f,d,g),t.chartArea={left:f.left,top:f.top,right:f.left+f.w,bottom:f.top+f.h,height:f.h,width:f.w},Q(r.chartArea,(e=>{const i=e.box;Object.assign(i,t.chartArea),i.update(f.w,f.h,{left:0,top:0,right:0,bottom:0})}))}};function oi(t,e=[""],i=t,s,n=(()=>t[0])){ct(s)||(s=mi("_fallback",t));const o={[Symbol.toStringTag]:"Object",_cacheable:!0,_scopes:t,_rootScopes:i,_fallback:s,_getTarget:n,override:n=>oi([n,...t],e,i,s)};return new Proxy(o,{deleteProperty:(e,i)=>(delete e[i],delete e._keys,delete t[0][i],!0),get:(i,s)=>ci(i,s,(()=>function(t,e,i,s){let n;for(const o of e)if(n=mi(li(o,t),i),ct(n))return hi(t,n)?gi(i,s,t,n):n}(s,e,t,i))),getOwnPropertyDescriptor:(t,e)=>Reflect.getOwnPropertyDescriptor(t._scopes[0],e),getPrototypeOf:()=>Reflect.getPrototypeOf(t[0]),has:(t,e)=>xi(t).includes(e),ownKeys:t=>xi(t),set(t,e,i){const s=t._storage||(t._storage=n());return t[e]=s[e]=i,delete t._keys,!0}})}function ai(t,e,i,s){const n={_cacheable:!1,_proxy:t,_context:e,_subProxy:i,_stack:new Set,_descriptors:ri(t,s),setContext:e=>ai(t,e,i,s),override:n=>ai(t.override(n),e,i,s)};return new Proxy(n,{deleteProperty:(e,i)=>(delete e[i],delete t[i],!0),get:(t,e,i)=>ci(t,e,(()=>function(t,e,i){const{_proxy:s,_context:n,_subProxy:o,_descriptors:a}=t;let r=s[e];dt(r)&&a.isScriptable(e)&&(r=function(t,e,i,s){const{_proxy:n,_context:o,_subProxy:a,_stack:r}=i;if(r.has(t))throw new Error("Recursion detected: "+Array.from(r).join("->")+"->"+t);r.add(t),e=e(o,a||s),r.delete(t),hi(t,e)&&(e=gi(n._scopes,n,t,e));return e}(e,r,t,i));Y(r)&&r.length&&(r=function(t,e,i,s){const{_proxy:n,_context:o,_subProxy:a,_descriptors:r}=i;if(ct(o.index)&&s(t))e=e[o.index%e.length];else if(U(e[0])){const i=e,s=n._scopes.filter((t=>t!==i));e=[];for(const l of i){const i=gi(s,n,t,l);e.push(ai(i,o,a&&a[t],r))}}return e}(e,r,t,a.isIndexable));hi(e,r)&&(r=ai(r,n,o&&o[e],a));return r}(t,e,i))),getOwnPropertyDescriptor:(e,i)=>e._descriptors.allKeys?Reflect.has(t,i)?{enumerable:!0,configurable:!0}:void 0:Reflect.getOwnPropertyDescriptor(t,i),getPrototypeOf:()=>Reflect.getPrototypeOf(t),has:(e,i)=>Reflect.has(t,i),ownKeys:()=>Reflect.ownKeys(t),set:(e,i,s)=>(t[i]=s,delete e[i],!0)})}function ri(t,e={scriptable:!0,indexable:!0}){const{_scriptable:i=e.scriptable,_indexable:s=e.indexable,_allKeys:n=e.allKeys}=t;return{allKeys:n,scriptable:i,indexable:s,isScriptable:dt(i)?i:()=>i,isIndexable:dt(s)?s:()=>s}}const li=(t,e)=>t?t+ht(e):e,hi=(t,e)=>U(e)&&"adapters"!==t&&(null===Object.getPrototypeOf(e)||e.constructor===Object);function ci(t,e,i){if(Object.prototype.hasOwnProperty.call(t,e))return t[e];const s=i();return t[e]=s,s}function di(t,e,i){return dt(t)?t(e,i):t}const ui=(t,e)=>!0===t?e:"string"==typeof t?lt(e,t):void 0;function fi(t,e,i,s,n){for(const o of e){const e=ui(i,o);if(e){t.add(e);const o=di(e._fallback,i,n);if(ct(o)&&o!==i&&o!==s)return o}else if(!1===e&&ct(s)&&i!==s)return null}return!1}function gi(t,e,i,s){const n=e._rootScopes,o=di(e._fallback,i,s),a=[...t,...n],r=new Set;r.add(s);let l=pi(r,a,i,o||i,s);return null!==l&&((!ct(o)||o===i||(l=pi(r,a,o,l,s),null!==l))&&oi(Array.from(r),[""],n,o,(()=>function(t,e,i){const s=t._getTarget();e in s||(s[e]={});const n=s[e];if(Y(n)&&U(i))return i;return n}(e,i,s))))}function pi(t,e,i,s,n){for(;i;)i=fi(t,e,i,s,n);return i}function mi(t,e){for(const i of e){if(!i)continue;const e=i[t];if(ct(e))return e}}function xi(t){let e=t._keys;return e||(e=t._keys=function(t){const e=new Set;for(const i of t)for(const t of Object.keys(i).filter((t=>!t.startsWith("_"))))e.add(t);return Array.from(e)}(t._scopes)),e}const bi=Number.EPSILON||1e-14,_i=(t,e)=>e<t.length&&!t[e].skip&&t[e],yi=t=>"x"===t?"y":"x";function vi(t,e,i,s){const n=t.skip?e:t,o=e,a=i.skip?e:i,r=Vt(o,n),l=Vt(a,o);let h=r/(r+l),c=l/(r+l);h=isNaN(h)?0:h,c=isNaN(c)?0:c;const d=s*h,u=s*c;return{previous:{x:o.x-d*(a.x-n.x),y:o.y-d*(a.y-n.y)},next:{x:o.x+u*(a.x-n.x),y:o.y+u*(a.y-n.y)}}}function wi(t,e="x"){const i=yi(e),s=t.length,n=Array(s).fill(0),o=Array(s);let a,r,l,h=_i(t,0);for(a=0;a<s;++a)if(r=l,l=h,h=_i(t,a+1),l){if(h){const t=h[e]-l[e];n[a]=0!==t?(h[i]-l[i])/t:0}o[a]=r?h?Ct(n[a-1])!==Ct(n[a])?0:(n[a-1]+n[a])/2:n[a-1]:n[a]}!function(t,e,i){const s=t.length;let n,o,a,r,l,h=_i(t,0);for(let c=0;c<s-1;++c)l=h,h=_i(t,c+1),l&&h&&(Lt(e[c],0,bi)?i[c]=i[c+1]=0:(n=i[c]/e[c],o=i[c+1]/e[c],r=Math.pow(n,2)+Math.pow(o,2),r<=9||(a=3/Math.sqrt(r),i[c]=n*a*e[c],i[c+1]=o*a*e[c])))}(t,n,o),function(t,e,i="x"){const s=yi(i),n=t.length;let o,a,r,l=_i(t,0);for(let h=0;h<n;++h){if(a=r,r=l,l=_i(t,h+1),!r)continue;const n=r[i],c=r[s];a&&(o=(n-a[i])/3,r[`cp1${i}`]=n-o,r[`cp1${s}`]=c-o*e[h]),l&&(o=(l[i]-n)/3,r[`cp2${i}`]=n+o,r[`cp2${s}`]=c+o*e[h])}}(t,o,e)}function Mi(t,e,i){return Math.max(Math.min(t,i),e)}function ki(t,e,i,s,n){let o,a,r,l;if(e.spanGaps&&(t=t.filter((t=>!t.skip))),"monotone"===e.cubicInterpolationMode)wi(t,n);else{let i=s?t[t.length-1]:t[0];for(o=0,a=t.length;o<a;++o)r=t[o],l=vi(i,r,t[Math.min(o+1,a-(s?0:1))%a],e.tension),r.cp1x=l.previous.x,r.cp1y=l.previous.y,r.cp2x=l.next.x,r.cp2y=l.next.y,i=r}e.capBezierPoints&&function(t,e){let i,s,n,o,a,r=Jt(t[0],e);for(i=0,s=t.length;i<s;++i)a=o,o=r,r=i<s-1&&Jt(t[i+1],e),o&&(n=t[i],a&&(n.cp1x=Mi(n.cp1x,e.left,e.right),n.cp1y=Mi(n.cp1y,e.top,e.bottom)),r&&(n.cp2x=Mi(n.cp2x,e.left,e.right),n.cp2y=Mi(n.cp2y,e.top,e.bottom)))}(t,i)}const Si=t=>0===t||1===t,Pi=(t,e,i)=>-Math.pow(2,10*(t-=1))*Math.sin((t-e)*yt/i),Di=(t,e,i)=>Math.pow(2,-10*t)*Math.sin((t-e)*yt/i)+1,Ci={linear:t=>t,easeInQuad:t=>t*t,easeOutQuad:t=>-t*(t-2),easeInOutQuad:t=>(t/=.5)<1?.5*t*t:-.5*(--t*(t-2)-1),easeInCubic:t=>t*t*t,easeOutCubic:t=>(t-=1)*t*t+1,easeInOutCubic:t=>(t/=.5)<1?.5*t*t*t:.5*((t-=2)*t*t+2),easeInQuart:t=>t*t*t*t,easeOutQuart:t=>-((t-=1)*t*t*t-1),easeInOutQuart:t=>(t/=.5)<1?.5*t*t*t*t:-.5*((t-=2)*t*t*t-2),easeInQuint:t=>t*t*t*t*t,easeOutQuint:t=>(t-=1)*t*t*t*t+1,easeInOutQuint:t=>(t/=.5)<1?.5*t*t*t*t*t:.5*((t-=2)*t*t*t*t+2),easeInSine:t=>1-Math.cos(t*kt),easeOutSine:t=>Math.sin(t*kt),easeInOutSine:t=>-.5*(Math.cos(_t*t)-1),easeInExpo:t=>0===t?0:Math.pow(2,10*(t-1)),easeOutExpo:t=>1===t?1:1-Math.pow(2,-10*t),easeInOutExpo:t=>Si(t)?t:t<.5?.5*Math.pow(2,10*(2*t-1)):.5*(2-Math.pow(2,-10*(2*t-1))),easeInCirc:t=>t>=1?t:-(Math.sqrt(1-t*t)-1),easeOutCirc:t=>Math.sqrt(1-(t-=1)*t),easeInOutCirc:t=>(t/=.5)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1),easeInElastic:t=>Si(t)?t:Pi(t,.075,.3),easeOutElastic:t=>Si(t)?t:Di(t,.075,.3),easeInOutElastic(t){const e=.1125;return Si(t)?t:t<.5?.5*Pi(2*t,e,.45):.5+.5*Di(2*t-1,e,.45)},easeInBack(t){const e=1.70158;return t*t*((e+1)*t-e)},easeOutBack(t){const e=1.70158;return(t-=1)*t*((e+1)*t+e)+1},easeInOutBack(t){let e=1.70158;return(t/=.5)<1?t*t*((1+(e*=1.525))*t-e)*.5:.5*((t-=2)*t*((1+(e*=1.525))*t+e)+2)},easeInBounce:t=>1-Ci.easeOutBounce(1-t),easeOutBounce(t){const e=7.5625,i=2.75;return t<1/i?e*t*t:t<2/i?e*(t-=1.5/i)*t+.75:t<2.5/i?e*(t-=2.25/i)*t+.9375:e*(t-=2.625/i)*t+.984375},easeInOutBounce:t=>t<.5?.5*Ci.easeInBounce(2*t):.5*Ci.easeOutBounce(2*t-1)+.5};function Oi(t,e,i,s){return{x:t.x+i*(e.x-t.x),y:t.y+i*(e.y-t.y)}}function Ai(t,e,i,s){return{x:t.x+i*(e.x-t.x),y:"middle"===s?i<.5?t.y:e.y:"after"===s?i<1?t.y:e.y:i>0?e.y:t.y}}function Ti(t,e,i,s){const n={x:t.cp2x,y:t.cp2y},o={x:e.cp1x,y:e.cp1y},a=Oi(t,n,i),r=Oi(n,o,i),l=Oi(o,e,i),h=Oi(a,r,i),c=Oi(r,l,i);return Oi(h,c,i)}const Li=new Map;function Ri(t,e,i){return function(t,e){e=e||{};const i=t+JSON.stringify(e);let s=Li.get(i);return s||(s=new Intl.NumberFormat(t,e),Li.set(i,s)),s}(e,i).format(t)}function Ei(t,e,i){return t?function(t,e){return{x:i=>t+t+e-i,setWidth(t){e=t},textAlign:t=>"center"===t?t:"right"===t?"left":"right",xPlus:(t,e)=>t-e,leftForLtr:(t,e)=>t-e}}(e,i):{x:t=>t,setWidth(t){},textAlign:t=>t,xPlus:(t,e)=>t+e,leftForLtr:(t,e)=>t}}function Ii(t,e){let i,s;"ltr"!==e&&"rtl"!==e||(i=t.canvas.style,s=[i.getPropertyValue("direction"),i.getPropertyPriority("direction")],i.setProperty("direction",e,"important"),t.prevTextDirection=s)}function zi(t,e){void 0!==e&&(delete t.prevTextDirection,t.canvas.style.setProperty("direction",e[0],e[1]))}function Fi(t){return"angle"===t?{between:Ht,compare:Wt,normalize:Nt}:{between:Yt,compare:(t,e)=>t-e,normalize:t=>t}}function Bi({start:t,end:e,count:i,loop:s,style:n}){return{start:t%i,end:e%i,loop:s&&(e-t+1)%i==0,style:n}}function Vi(t,e,i){if(!i)return[t];const{property:s,start:n,end:o}=i,a=e.length,{compare:r,between:l,normalize:h}=Fi(s),{start:c,end:d,loop:u,style:f}=function(t,e,i){const{property:s,start:n,end:o}=i,{between:a,normalize:r}=Fi(s),l=e.length;let h,c,{start:d,end:u,loop:f}=t;if(f){for(d+=l,u+=l,h=0,c=l;h<c&&a(r(e[d%l][s]),n,o);++h)d--,u--;d%=l,u%=l}return u<d&&(u+=l),{start:d,end:u,loop:f,style:t.style}}(t,e,i),g=[];let p,m,x,b=!1,_=null;const y=()=>b||l(n,x,p)&&0!==r(n,x),v=()=>!b||0===r(o,p)||l(o,x,p);for(let t=c,i=c;t<=d;++t)m=e[t%a],m.skip||(p=h(m[s]),p!==x&&(b=l(p,n,o),null===_&&y()&&(_=0===r(p,n)?t:i),null!==_&&v()&&(g.push(Bi({start:_,end:t,loop:u,count:a,style:f})),_=null),i=t,x=p));return null!==_&&g.push(Bi({start:_,end:d,loop:u,count:a,style:f})),g}function Wi(t,e){const i=[],s=t.segments;for(let n=0;n<s.length;n++){const o=Vi(s[n],t.points,e);o.length&&i.push(...o)}return i}function Ni(t,e){const i=t.points,s=t.options.spanGaps,n=i.length;if(!n)return[];const o=!!t._loop,{start:a,end:r}=function(t,e,i,s){let n=0,o=e-1;if(i&&!s)for(;n<e&&!t[n].skip;)n++;for(;n<e&&t[n].skip;)n++;for(n%=e,i&&(o+=n);o>n&&t[o%e].skip;)o--;return o%=e,{start:n,end:o}}(i,n,o,s);if(!0===s)return Hi(t,[{start:a,end:r,loop:o}],i,e);return Hi(t,function(t,e,i,s){const n=t.length,o=[];let a,r=e,l=t[e];for(a=e+1;a<=i;++a){const i=t[a%n];i.skip||i.stop?l.skip||(s=!1,o.push({start:e%n,end:(a-1)%n,loop:s}),e=r=i.stop?a:null):(r=a,l.skip&&(e=a)),l=i}return null!==r&&o.push({start:e%n,end:r%n,loop:s}),o}(i,a,r<a?r+n:r,!!t._fullLoop&&0===a&&r===n-1),i,e)}function Hi(t,e,i,s){return s&&s.setContext&&i?function(t,e,i,s){const n=t._chart.getContext(),o=ji(t.options),{_datasetIndex:a,options:{spanGaps:r}}=t,l=i.length,h=[];let c=o,d=e[0].start,u=d;function f(t,e,s,n){const o=r?-1:1;if(t!==e){for(t+=l;i[t%l].skip;)t-=o;for(;i[e%l].skip;)e+=o;t%l!=e%l&&(h.push({start:t%l,end:e%l,loop:s,style:n}),c=n,d=e%l)}}for(const t of e){d=r?d:t.start;let e,o=i[d%l];for(u=d+1;u<=t.end;u++){const r=i[u%l];e=ji(s.setContext(Ye(n,{type:"segment",p0:o,p1:r,p0DataIndex:(u-1)%l,p1DataIndex:u%l,datasetIndex:a}))),$i(e,c)&&f(d,u-1,t.loop,c),o=r,c=e}d<u-1&&f(d,u-1,t.loop,c)}return h}(t,e,i,s):e}function ji(t){return{backgroundColor:t.backgroundColor,borderCapStyle:t.borderCapStyle,borderDash:t.borderDash,borderDashOffset:t.borderDashOffset,borderJoinStyle:t.borderJoinStyle,borderWidth:t.borderWidth,borderColor:t.borderColor}}function $i(t,e){return e&&JSON.stringify(t)!==JSON.stringify(e)}var Yi=Object.freeze({__proto__:null,easingEffects:Ci,color:W,getHoverColor:N,noop:H,uid:j,isNullOrUndef:$,isArray:Y,isObject:U,isFinite:X,finiteOrDefault:q,valueOrDefault:K,toPercentage:G,toDimension:Z,callback:J,each:Q,_elementsEqual:tt,clone:et,_merger:st,merge:nt,mergeIf:ot,_mergerIf:at,_deprecated:function(t,e,i,s){void 0!==e&&console.warn(t+': "'+i+'" is deprecated. Please use "'+s+'" instead')},resolveObjectKey:lt,_capitalize:ht,defined:ct,isFunction:dt,setsEqual:ut,_isClickEvent:ft,toFontString:Ut,_measureText:Xt,_longestText:qt,_alignPixel:Kt,clearCanvas:Gt,drawPoint:Zt,_isPointInArea:Jt,clipArea:Qt,unclipArea:te,_steppedLineTo:ee,_bezierCurveTo:ie,renderText:se,addRoundedRectPath:oe,_lookup:ae,_lookupByKey:re,_rlookupByKey:le,_filterBetween:he,listenArrayEvents:de,unlistenArrayEvents:ue,_arrayUnique:fe,_createResolver:oi,_attachContext:ai,_descriptors:ri,splineCurve:vi,splineCurveMonotone:wi,_updateBezierControlPoints:ki,_isDomSupported:ge,_getParentNode:pe,getStyle:be,getRelativePosition:ve,getMaximumSize:Me,retinaScale:ke,supportsEventListenerOptions:Se,readUsedSize:Pe,fontString:function(t,e,i){return e+" "+t+"px "+i},requestAnimFrame:t,throttled:e,debounce:i,_toLeftRightCenter:s,_alignStartEnd:n,_textX:o,_pointInLine:Oi,_steppedInterpolation:Ai,_bezierInterpolation:Ti,formatNumber:Ri,toLineHeight:Fe,_readValueToProps:Be,toTRBL:Ve,toTRBLCorners:We,toPadding:Ne,toFont:He,resolve:je,_addGrace:$e,createContext:Ye,PI:_t,TAU:yt,PITAU:vt,INFINITY:wt,RAD_PER_DEG:Mt,HALF_PI:kt,QUARTER_PI:St,TWO_THIRDS_PI:Pt,log10:Dt,sign:Ct,niceNum:Ot,_factorize:At,isNumber:Tt,almostEquals:Lt,almostWhole:Rt,_setMinAndMaxByKey:Et,toRadians:It,toDegrees:zt,_decimalPlaces:Ft,getAngleFromPoint:Bt,distanceBetweenPoints:Vt,_angleDiff:Wt,_normalizeAngle:Nt,_angleBetween:Ht,_limitValue:jt,_int16Range:$t,_isBetween:Yt,getRtlAdapter:Ei,overrideTextDirection:Ii,restoreTextDirection:zi,_boundSegment:Vi,_boundSegments:Wi,_computeSegments:Ni});class Ui{acquireContext(t,e){}releaseContext(t){return!1}addEventListener(t,e,i){}removeEventListener(t,e,i){}getDevicePixelRatio(){return 1}getMaximumSize(t,e,i,s){return e=Math.max(0,e||t.width),i=i||t.height,{width:e,height:Math.max(0,s?Math.floor(e/s):i)}}isAttached(t){return!0}updateConfig(t){}}class Xi extends Ui{acquireContext(t){return t&&t.getContext&&t.getContext("2d")||null}updateConfig(t){t.options.animation=!1}}const qi={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup",pointerenter:"mouseenter",pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointerleave:"mouseout",pointerout:"mouseout"},Ki=t=>null===t||""===t;const Gi=!!Se&&{passive:!0};function Zi(t,e,i){t.canvas.removeEventListener(e,i,Gi)}function Ji(t,e){for(const i of t)if(i===e||i.contains(e))return!0}function Qi(t,e,i){const s=t.canvas,n=new MutationObserver((t=>{let e=!1;for(const i of t)e=e||Ji(i.addedNodes,s),e=e&&!Ji(i.removedNodes,s);e&&i()}));return n.observe(document,{childList:!0,subtree:!0}),n}function ts(t,e,i){const s=t.canvas,n=new MutationObserver((t=>{let e=!1;for(const i of t)e=e||Ji(i.removedNodes,s),e=e&&!Ji(i.addedNodes,s);e&&i()}));return n.observe(document,{childList:!0,subtree:!0}),n}const es=new Map;let is=0;function ss(){const t=window.devicePixelRatio;t!==is&&(is=t,es.forEach(((e,i)=>{i.currentDevicePixelRatio!==t&&e()})))}function ns(t,i,s){const n=t.canvas,o=n&&pe(n);if(!o)return;const a=e(((t,e)=>{const i=o.clientWidth;s(t,e),i<o.clientWidth&&s()}),window),r=new ResizeObserver((t=>{const e=t[0],i=e.contentRect.width,s=e.contentRect.height;0===i&&0===s||a(i,s)}));return r.observe(o),function(t,e){es.size||window.addEventListener("resize",ss),es.set(t,e)}(t,a),r}function os(t,e,i){i&&i.disconnect(),"resize"===e&&function(t){es.delete(t),es.size||window.removeEventListener("resize",ss)}(t)}function as(t,i,s){const n=t.canvas,o=e((e=>{null!==t.ctx&&s(function(t,e){const i=qi[t.type]||t.type,{x:s,y:n}=ve(t,e);return{type:i,chart:e,native:t,x:void 0!==s?s:null,y:void 0!==n?n:null}}(e,t))}),t,(t=>{const e=t[0];return[e,e.offsetX,e.offsetY]}));return function(t,e,i){t.addEventListener(e,i,Gi)}(n,i,o),o}class rs extends Ui{acquireContext(t,e){const i=t&&t.getContext&&t.getContext("2d");return i&&i.canvas===t?(function(t,e){const i=t.style,s=t.getAttribute("height"),n=t.getAttribute("width");if(t.$chartjs={initial:{height:s,width:n,style:{display:i.display,height:i.height,width:i.width}}},i.display=i.display||"block",i.boxSizing=i.boxSizing||"border-box",Ki(n)){const e=Pe(t,"width");void 0!==e&&(t.width=e)}if(Ki(s))if(""===t.style.height)t.height=t.width/(e||2);else{const e=Pe(t,"height");void 0!==e&&(t.height=e)}}(t,e),i):null}releaseContext(t){const e=t.canvas;if(!e.$chartjs)return!1;const i=e.$chartjs.initial;["height","width"].forEach((t=>{const s=i[t];$(s)?e.removeAttribute(t):e.setAttribute(t,s)}));const s=i.style||{};return Object.keys(s).forEach((t=>{e.style[t]=s[t]})),e.width=e.width,delete e.$chartjs,!0}addEventListener(t,e,i){this.removeEventListener(t,e);const s=t.$proxies||(t.$proxies={}),n={attach:Qi,detach:ts,resize:ns}[e]||as;s[e]=n(t,e,i)}removeEventListener(t,e){const i=t.$proxies||(t.$proxies={}),s=i[e];if(!s)return;({attach:os,detach:os,resize:os}[e]||Zi)(t,e,s),i[e]=void 0}getDevicePixelRatio(){return window.devicePixelRatio}getMaximumSize(t,e,i,s){return Me(t,e,i,s)}isAttached(t){const e=pe(t);return!(!e||!e.isConnected)}}function ls(t){return!ge()||"undefined"!=typeof OffscreenCanvas&&t instanceof OffscreenCanvas?Xi:rs}var hs=Object.freeze({__proto__:null,_detectPlatform:ls,BasePlatform:Ui,BasicPlatform:Xi,DomPlatform:rs});const cs="transparent",ds={boolean:(t,e,i)=>i>.5?e:t,color(t,e,i){const s=W(t||cs),n=s.valid&&W(e||cs);return n&&n.valid?n.mix(s,i).hexString():e},number:(t,e,i)=>t+(e-t)*i};class us{constructor(t,e,i,s){const n=e[i];s=je([t.to,s,n,t.from]);const o=je([t.from,n,s]);this._active=!0,this._fn=t.fn||ds[t.type||typeof o],this._easing=Ci[t.easing]||Ci.linear,this._start=Math.floor(Date.now()+(t.delay||0)),this._duration=this._total=Math.floor(t.duration),this._loop=!!t.loop,this._target=e,this._prop=i,this._from=o,this._to=s,this._promises=void 0}active(){return this._active}update(t,e,i){if(this._active){this._notify(!1);const s=this._target[this._prop],n=i-this._start,o=this._duration-n;this._start=i,this._duration=Math.floor(Math.max(o,t.duration)),this._total+=n,this._loop=!!t.loop,this._to=je([t.to,e,s,t.from]),this._from=je([t.from,s,e])}}cancel(){this._active&&(this.tick(Date.now()),this._active=!1,this._notify(!1))}tick(t){const e=t-this._start,i=this._duration,s=this._prop,n=this._from,o=this._loop,a=this._to;let r;if(this._active=n!==a&&(o||e<i),!this._active)return this._target[s]=a,void this._notify(!0);e<0?this._target[s]=n:(r=e/i%2,r=o&&r>1?2-r:r,r=this._easing(Math.min(1,Math.max(0,r))),this._target[s]=this._fn(n,a,r))}wait(){const t=this._promises||(this._promises=[]);return new Promise(((e,i)=>{t.push({res:e,rej:i})}))}_notify(t){const e=t?"res":"rej",i=this._promises||[];for(let t=0;t<i.length;t++)i[t][e]()}}bt.set("animation",{delay:void 0,duration:1e3,easing:"easeOutQuart",fn:void 0,from:void 0,loop:void 0,to:void 0,type:void 0});const fs=Object.keys(bt.animation);bt.describe("animation",{_fallback:!1,_indexable:!1,_scriptable:t=>"onProgress"!==t&&"onComplete"!==t&&"fn"!==t}),bt.set("animations",{colors:{type:"color",properties:["color","borderColor","backgroundColor"]},numbers:{type:"number",properties:["x","y","borderWidth","radius","tension"]}}),bt.describe("animations",{_fallback:"animation"}),bt.set("transitions",{active:{animation:{duration:400}},resize:{animation:{duration:0}},show:{animations:{colors:{from:"transparent"},visible:{type:"boolean",duration:0}}},hide:{animations:{colors:{to:"transparent"},visible:{type:"boolean",easing:"linear",fn:t=>0|t}}}});class gs{constructor(t,e){this._chart=t,this._properties=new Map,this.configure(e)}configure(t){if(!U(t))return;const e=this._properties;Object.getOwnPropertyNames(t).forEach((i=>{const s=t[i];if(!U(s))return;const n={};for(const t of fs)n[t]=s[t];(Y(s.properties)&&s.properties||[i]).forEach((t=>{t!==i&&e.has(t)||e.set(t,n)}))}))}_animateOptions(t,e){const i=e.options,s=function(t,e){if(!e)return;let i=t.options;if(!i)return void(t.options=e);i.$shared&&(t.options=i=Object.assign({},i,{$shared:!1,$animations:{}}));return i}(t,i);if(!s)return[];const n=this._createAnimations(s,i);return i.$shared&&function(t,e){const i=[],s=Object.keys(e);for(let e=0;e<s.length;e++){const n=t[s[e]];n&&n.active()&&i.push(n.wait())}return Promise.all(i)}(t.options.$animations,i).then((()=>{t.options=i}),(()=>{})),n}_createAnimations(t,e){const i=this._properties,s=[],n=t.$animations||(t.$animations={}),o=Object.keys(e),a=Date.now();let r;for(r=o.length-1;r>=0;--r){const l=o[r];if("$"===l.charAt(0))continue;if("options"===l){s.push(...this._animateOptions(t,e));continue}const h=e[l];let c=n[l];const d=i.get(l);if(c){if(d&&c.active()){c.update(d,h,a);continue}c.cancel()}d&&d.duration?(n[l]=c=new us(d,t,l,h),s.push(c)):t[l]=h}return s}update(t,e){if(0===this._properties.size)return void Object.assign(t,e);const i=this._createAnimations(t,e);return i.length?(a.add(this._chart,i),!0):void 0}}function ps(t,e){const i=t&&t.options||{},s=i.reverse,n=void 0===i.min?e:0,o=void 0===i.max?e:0;return{start:s?o:n,end:s?n:o}}function ms(t,e){const i=[],s=t._getSortedDatasetMetas(e);let n,o;for(n=0,o=s.length;n<o;++n)i.push(s[n].index);return i}function xs(t,e,i,s={}){const n=t.keys,o="single"===s.mode;let a,r,l,h;if(null!==e){for(a=0,r=n.length;a<r;++a){if(l=+n[a],l===i){if(s.all)continue;break}h=t.values[l],X(h)&&(o||0===e||Ct(e)===Ct(h))&&(e+=h)}return e}}function bs(t,e){const i=t&&t.options.stacked;return i||void 0===i&&void 0!==e.stack}function _s(t,e,i){const s=t[e]||(t[e]={});return s[i]||(s[i]={})}function ys(t,e,i,s){for(const n of e.getMatchingVisibleMetas(s).reverse()){const e=t[n.index];if(i&&e>0||!i&&e<0)return n.index}return null}function vs(t,e){const{chart:i,_cachedMeta:s}=t,n=i._stacks||(i._stacks={}),{iScale:o,vScale:a,index:r}=s,l=o.axis,h=a.axis,c=function(t,e,i){return`${t.id}.${e.id}.${i.stack||i.type}`}(o,a,s),d=e.length;let u;for(let t=0;t<d;++t){const i=e[t],{[l]:o,[h]:d}=i;u=(i._stacks||(i._stacks={}))[h]=_s(n,c,o),u[r]=d,u._top=ys(u,a,!0,s.type),u._bottom=ys(u,a,!1,s.type)}}function ws(t,e){const i=t.scales;return Object.keys(i).filter((t=>i[t].axis===e)).shift()}function Ms(t,e){const i=t.controller.index,s=t.vScale&&t.vScale.axis;if(s){e=e||t._parsed;for(const t of e){const e=t._stacks;if(!e||void 0===e[s]||void 0===e[s][i])return;delete e[s][i]}}}const ks=t=>"reset"===t||"none"===t,Ss=(t,e)=>e?t:Object.assign({},t);class Ps{constructor(t,e){this.chart=t,this._ctx=t.ctx,this.index=e,this._cachedDataOpts={},this._cachedMeta=this.getMeta(),this._type=this._cachedMeta.type,this.options=void 0,this._parsing=!1,this._data=void 0,this._objectData=void 0,this._sharedOptions=void 0,this._drawStart=void 0,this._drawCount=void 0,this.enableOptionSharing=!1,this.$context=void 0,this._syncList=[],this.initialize()}initialize(){const t=this._cachedMeta;this.configure(),this.linkScales(),t._stacked=bs(t.vScale,t),this.addElements()}updateIndex(t){this.index!==t&&Ms(this._cachedMeta),this.index=t}linkScales(){const t=this.chart,e=this._cachedMeta,i=this.getDataset(),s=(t,e,i,s)=>"x"===t?e:"r"===t?s:i,n=e.xAxisID=K(i.xAxisID,ws(t,"x")),o=e.yAxisID=K(i.yAxisID,ws(t,"y")),a=e.rAxisID=K(i.rAxisID,ws(t,"r")),r=e.indexAxis,l=e.iAxisID=s(r,n,o,a),h=e.vAxisID=s(r,o,n,a);e.xScale=this.getScaleForId(n),e.yScale=this.getScaleForId(o),e.rScale=this.getScaleForId(a),e.iScale=this.getScaleForId(l),e.vScale=this.getScaleForId(h)}getDataset(){return this.chart.data.datasets[this.index]}getMeta(){return this.chart.getDatasetMeta(this.index)}getScaleForId(t){return this.chart.scales[t]}_getOtherScale(t){const e=this._cachedMeta;return t===e.iScale?e.vScale:e.iScale}reset(){this._update("reset")}_destroy(){const t=this._cachedMeta;this._data&&ue(this._data,this),t._stacked&&Ms(t)}_dataCheck(){const t=this.getDataset(),e=t.data||(t.data=[]),i=this._data;if(U(e))this._data=function(t){const e=Object.keys(t),i=new Array(e.length);let s,n,o;for(s=0,n=e.length;s<n;++s)o=e[s],i[s]={x:o,y:t[o]};return i}(e);else if(i!==e){if(i){ue(i,this);const t=this._cachedMeta;Ms(t),t._parsed=[]}e&&Object.isExtensible(e)&&de(e,this),this._syncList=[],this._data=e}}addElements(){const t=this._cachedMeta;this._dataCheck(),this.datasetElementType&&(t.dataset=new this.datasetElementType)}buildOrUpdateElements(t){const e=this._cachedMeta,i=this.getDataset();let s=!1;this._dataCheck();const n=e._stacked;e._stacked=bs(e.vScale,e),e.stack!==i.stack&&(s=!0,Ms(e),e.stack=i.stack),this._resyncElements(t),(s||n!==e._stacked)&&vs(this,e._parsed)}configure(){const t=this.chart.config,e=t.datasetScopeKeys(this._type),i=t.getOptionScopes(this.getDataset(),e,!0);this.options=t.createResolver(i,this.getContext()),this._parsing=this.options.parsing,this._cachedDataOpts={}}parse(t,e){const{_cachedMeta:i,_data:s}=this,{iScale:n,_stacked:o}=i,a=n.axis;let r,l,h,c=0===t&&e===s.length||i._sorted,d=t>0&&i._parsed[t-1];if(!1===this._parsing)i._parsed=s,i._sorted=!0,h=s;else{h=Y(s[t])?this.parseArrayData(i,s,t,e):U(s[t])?this.parseObjectData(i,s,t,e):this.parsePrimitiveData(i,s,t,e);const n=()=>null===l[a]||d&&l[a]<d[a];for(r=0;r<e;++r)i._parsed[r+t]=l=h[r],c&&(n()&&(c=!1),d=l);i._sorted=c}o&&vs(this,h)}parsePrimitiveData(t,e,i,s){const{iScale:n,vScale:o}=t,a=n.axis,r=o.axis,l=n.getLabels(),h=n===o,c=new Array(s);let d,u,f;for(d=0,u=s;d<u;++d)f=d+i,c[d]={[a]:h||n.parse(l[f],f),[r]:o.parse(e[f],f)};return c}parseArrayData(t,e,i,s){const{xScale:n,yScale:o}=t,a=new Array(s);let r,l,h,c;for(r=0,l=s;r<l;++r)h=r+i,c=e[h],a[r]={x:n.parse(c[0],h),y:o.parse(c[1],h)};return a}parseObjectData(t,e,i,s){const{xScale:n,yScale:o}=t,{xAxisKey:a="x",yAxisKey:r="y"}=this._parsing,l=new Array(s);let h,c,d,u;for(h=0,c=s;h<c;++h)d=h+i,u=e[d],l[h]={x:n.parse(lt(u,a),d),y:o.parse(lt(u,r),d)};return l}getParsed(t){return this._cachedMeta._parsed[t]}getDataElement(t){return this._cachedMeta.data[t]}applyStack(t,e,i){const s=this.chart,n=this._cachedMeta,o=e[t.axis];return xs({keys:ms(s,!0),values:e._stacks[t.axis]},o,n.index,{mode:i})}updateRangeFromParsed(t,e,i,s){const n=i[e.axis];let o=null===n?NaN:n;const a=s&&i._stacks[e.axis];s&&a&&(s.values=a,o=xs(s,n,this._cachedMeta.index)),t.min=Math.min(t.min,o),t.max=Math.max(t.max,o)}getMinMax(t,e){const i=this._cachedMeta,s=i._parsed,n=i._sorted&&t===i.iScale,o=s.length,a=this._getOtherScale(t),r=((t,e,i)=>t&&!e.hidden&&e._stacked&&{keys:ms(i,!0),values:null})(e,i,this.chart),l={min:Number.POSITIVE_INFINITY,max:Number.NEGATIVE_INFINITY},{min:h,max:c}=function(t){const{min:e,max:i,minDefined:s,maxDefined:n}=t.getUserBounds();return{min:s?e:Number.NEGATIVE_INFINITY,max:n?i:Number.POSITIVE_INFINITY}}(a);let d,u;function f(){u=s[d];const e=u[a.axis];return!X(u[t.axis])||h>e||c<e}for(d=0;d<o&&(f()||(this.updateRangeFromParsed(l,t,u,r),!n));++d);if(n)for(d=o-1;d>=0;--d)if(!f()){this.updateRangeFromParsed(l,t,u,r);break}return l}getAllParsedValues(t){const e=this._cachedMeta._parsed,i=[];let s,n,o;for(s=0,n=e.length;s<n;++s)o=e[s][t.axis],X(o)&&i.push(o);return i}getMaxOverflow(){return!1}getLabelAndValue(t){const e=this._cachedMeta,i=e.iScale,s=e.vScale,n=this.getParsed(t);return{label:i?""+i.getLabelForValue(n[i.axis]):"",value:s?""+s.getLabelForValue(n[s.axis]):""}}_update(t){const e=this._cachedMeta;this.update(t||"default"),e._clip=function(t){let e,i,s,n;return U(t)?(e=t.top,i=t.right,s=t.bottom,n=t.left):e=i=s=n=t,{top:e,right:i,bottom:s,left:n,disabled:!1===t}}(K(this.options.clip,function(t,e,i){if(!1===i)return!1;const s=ps(t,i),n=ps(e,i);return{top:n.end,right:s.end,bottom:n.start,left:s.start}}(e.xScale,e.yScale,this.getMaxOverflow())))}update(t){}draw(){const t=this._ctx,e=this.chart,i=this._cachedMeta,s=i.data||[],n=e.chartArea,o=[],a=this._drawStart||0,r=this._drawCount||s.length-a,l=this.options.drawActiveElementsOnTop;let h;for(i.dataset&&i.dataset.draw(t,n,a,r),h=a;h<a+r;++h){const e=s[h];e.hidden||(e.active&&l?o.push(e):e.draw(t,n))}for(h=0;h<o.length;++h)o[h].draw(t,n)}getStyle(t,e){const i=e?"active":"default";return void 0===t&&this._cachedMeta.dataset?this.resolveDatasetElementOptions(i):this.resolveDataElementOptions(t||0,i)}getContext(t,e,i){const s=this.getDataset();let n;if(t>=0&&t<this._cachedMeta.data.length){const e=this._cachedMeta.data[t];n=e.$context||(e.$context=function(t,e,i){return Ye(t,{active:!1,dataIndex:e,parsed:void 0,raw:void 0,element:i,index:e,mode:"default",type:"data"})}(this.getContext(),t,e)),n.parsed=this.getParsed(t),n.raw=s.data[t],n.index=n.dataIndex=t}else n=this.$context||(this.$context=function(t,e){return Ye(t,{active:!1,dataset:void 0,datasetIndex:e,index:e,mode:"default",type:"dataset"})}(this.chart.getContext(),this.index)),n.dataset=s,n.index=n.datasetIndex=this.index;return n.active=!!e,n.mode=i,n}resolveDatasetElementOptions(t){return this._resolveElementOptions(this.datasetElementType.id,t)}resolveDataElementOptions(t,e){return this._resolveElementOptions(this.dataElementType.id,e,t)}_resolveElementOptions(t,e="default",i){const s="active"===e,n=this._cachedDataOpts,o=t+"-"+e,a=n[o],r=this.enableOptionSharing&&ct(i);if(a)return Ss(a,r);const l=this.chart.config,h=l.datasetElementScopeKeys(this._type,t),c=s?[`${t}Hover`,"hover",t,""]:[t,""],d=l.getOptionScopes(this.getDataset(),h),u=Object.keys(bt.elements[t]),f=l.resolveNamedOptions(d,u,(()=>this.getContext(i,s)),c);return f.$shared&&(f.$shared=r,n[o]=Object.freeze(Ss(f,r))),f}_resolveAnimations(t,e,i){const s=this.chart,n=this._cachedDataOpts,o=`animation-${e}`,a=n[o];if(a)return a;let r;if(!1!==s.options.animation){const s=this.chart.config,n=s.datasetAnimationScopeKeys(this._type,e),o=s.getOptionScopes(this.getDataset(),n);r=s.createResolver(o,this.getContext(t,i,e))}const l=new gs(s,r&&r.animations);return r&&r._cacheable&&(n[o]=Object.freeze(l)),l}getSharedOptions(t){if(t.$shared)return this._sharedOptions||(this._sharedOptions=Object.assign({},t))}includeOptions(t,e){return!e||ks(t)||this.chart._animationsDisabled}updateElement(t,e,i,s){ks(s)?Object.assign(t,i):this._resolveAnimations(e,s).update(t,i)}updateSharedOptions(t,e,i){t&&!ks(e)&&this._resolveAnimations(void 0,e).update(t,i)}_setStyle(t,e,i,s){t.active=s;const n=this.getStyle(e,s);this._resolveAnimations(e,i,s).update(t,{options:!s&&this.getSharedOptions(n)||n})}removeHoverStyle(t,e,i){this._setStyle(t,i,"active",!1)}setHoverStyle(t,e,i){this._setStyle(t,i,"active",!0)}_removeDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!1)}_setDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!0)}_resyncElements(t){const e=this._data,i=this._cachedMeta.data;for(const[t,e,i]of this._syncList)this[t](e,i);this._syncList=[];const s=i.length,n=e.length,o=Math.min(n,s);o&&this.parse(0,o),n>s?this._insertElements(s,n-s,t):n<s&&this._removeElements(n,s-n)}_insertElements(t,e,i=!0){const s=this._cachedMeta,n=s.data,o=t+e;let a;const r=t=>{for(t.length+=e,a=t.length-1;a>=o;a--)t[a]=t[a-e]};for(r(n),a=t;a<o;++a)n[a]=new this.dataElementType;this._parsing&&r(s._parsed),this.parse(t,e),i&&this.updateElements(n,t,e,"reset")}updateElements(t,e,i,s){}_removeElements(t,e){const i=this._cachedMeta;if(this._parsing){const s=i._parsed.splice(t,e);i._stacked&&Ms(i,s)}i.data.splice(t,e)}_sync(t){if(this._parsing)this._syncList.push(t);else{const[e,i,s]=t;this[e](i,s)}this.chart._dataChanges.push([this.index,...t])}_onDataPush(){const t=arguments.length;this._sync(["_insertElements",this.getDataset().data.length-t,t])}_onDataPop(){this._sync(["_removeElements",this._cachedMeta.data.length-1,1])}_onDataShift(){this._sync(["_removeElements",0,1])}_onDataSplice(t,e){e&&this._sync(["_removeElements",t,e]);const i=arguments.length-2;i&&this._sync(["_insertElements",t,i])}_onDataUnshift(){this._sync(["_insertElements",0,arguments.length])}}Ps.defaults={},Ps.prototype.datasetElementType=null,Ps.prototype.dataElementType=null;class Ds{constructor(){this.x=void 0,this.y=void 0,this.active=!1,this.options=void 0,this.$animations=void 0}tooltipPosition(t){const{x:e,y:i}=this.getProps(["x","y"],t);return{x:e,y:i}}hasValue(){return Tt(this.x)&&Tt(this.y)}getProps(t,e){const i=this.$animations;if(!e||!i)return this;const s={};return t.forEach((t=>{s[t]=i[t]&&i[t].active()?i[t]._to:this[t]})),s}}Ds.defaults={},Ds.defaultRoutes=void 0;const Cs={values:t=>Y(t)?t:""+t,numeric(t,e,i){if(0===t)return"0";const s=this.chart.options.locale;let n,o=t;if(i.length>1){const e=Math.max(Math.abs(i[0].value),Math.abs(i[i.length-1].value));(e<1e-4||e>1e15)&&(n="scientific"),o=function(t,e){let i=e.length>3?e[2].value-e[1].value:e[1].value-e[0].value;Math.abs(i)>=1&&t!==Math.floor(t)&&(i=t-Math.floor(t));return i}(t,i)}const a=Dt(Math.abs(o)),r=Math.max(Math.min(-1*Math.floor(a),20),0),l={notation:n,minimumFractionDigits:r,maximumFractionDigits:r};return Object.assign(l,this.options.ticks.format),Ri(t,s,l)},logarithmic(t,e,i){if(0===t)return"0";const s=t/Math.pow(10,Math.floor(Dt(t)));return 1===s||2===s||5===s?Cs.numeric.call(this,t,e,i):""}};var Os={formatters:Cs};function As(t,e){const i=t.options.ticks,s=i.maxTicksLimit||function(t){const e=t.options.offset,i=t._tickSize(),s=t._length/i+(e?0:1),n=t._maxLength/i;return Math.floor(Math.min(s,n))}(t),n=i.major.enabled?function(t){const e=[];let i,s;for(i=0,s=t.length;i<s;i++)t[i].major&&e.push(i);return e}(e):[],o=n.length,a=n[0],r=n[o-1],l=[];if(o>s)return function(t,e,i,s){let n,o=0,a=i[0];for(s=Math.ceil(s),n=0;n<t.length;n++)n===a&&(e.push(t[n]),o++,a=i[o*s])}(e,l,n,o/s),l;const h=function(t,e,i){const s=function(t){const e=t.length;let i,s;if(e<2)return!1;for(s=t[0],i=1;i<e;++i)if(t[i]-t[i-1]!==s)return!1;return s}(t),n=e.length/i;if(!s)return Math.max(n,1);const o=At(s);for(let t=0,e=o.length-1;t<e;t++){const e=o[t];if(e>n)return e}return Math.max(n,1)}(n,e,s);if(o>0){let t,i;const s=o>1?Math.round((r-a)/(o-1)):null;for(Ts(e,l,h,$(s)?0:a-s,a),t=0,i=o-1;t<i;t++)Ts(e,l,h,n[t],n[t+1]);return Ts(e,l,h,r,$(s)?e.length:r+s),l}return Ts(e,l,h),l}function Ts(t,e,i,s,n){const o=K(s,0),a=Math.min(K(n,t.length),t.length);let r,l,h,c=0;for(i=Math.ceil(i),n&&(r=n-s,i=r/Math.floor(r/i)),h=o;h<0;)c++,h=Math.round(o+c*i);for(l=Math.max(o,0);l<a;l++)l===h&&(e.push(t[l]),c++,h=Math.round(o+c*i))}bt.set("scale",{display:!0,offset:!1,reverse:!1,beginAtZero:!1,bounds:"ticks",grace:0,grid:{display:!0,lineWidth:1,drawBorder:!0,drawOnChartArea:!0,drawTicks:!0,tickLength:8,tickWidth:(t,e)=>e.lineWidth,tickColor:(t,e)=>e.color,offset:!1,borderDash:[],borderDashOffset:0,borderWidth:1},title:{display:!1,text:"",padding:{top:4,bottom:4}},ticks:{minRotation:0,maxRotation:50,mirror:!1,textStrokeWidth:0,textStrokeColor:"",padding:3,display:!0,autoSkip:!0,autoSkipPadding:3,labelOffset:0,callback:Os.formatters.values,minor:{},major:{},align:"center",crossAlign:"near",showLabelBackdrop:!1,backdropColor:"rgba(255, 255, 255, 0.75)",backdropPadding:2}}),bt.route("scale.ticks","color","","color"),bt.route("scale.grid","color","","borderColor"),bt.route("scale.grid","borderColor","","borderColor"),bt.route("scale.title","color","","color"),bt.describe("scale",{_fallback:!1,_scriptable:t=>!t.startsWith("before")&&!t.startsWith("after")&&"callback"!==t&&"parser"!==t,_indexable:t=>"borderDash"!==t&&"tickBorderDash"!==t}),bt.describe("scales",{_fallback:"scale"}),bt.describe("scale.ticks",{_scriptable:t=>"backdropPadding"!==t&&"callback"!==t,_indexable:t=>"backdropPadding"!==t});const Ls=(t,e,i)=>"top"===e||"left"===e?t[e]+i:t[e]-i;function Rs(t,e){const i=[],s=t.length/e,n=t.length;let o=0;for(;o<n;o+=s)i.push(t[Math.floor(o)]);return i}function Es(t,e,i){const s=t.ticks.length,n=Math.min(e,s-1),o=t._startPixel,a=t._endPixel,r=1e-6;let l,h=t.getPixelForTick(n);if(!(i&&(l=1===s?Math.max(h-o,a-h):0===e?(t.getPixelForTick(1)-h)/2:(h-t.getPixelForTick(n-1))/2,h+=n<e?l:-l,h<o-r||h>a+r)))return h}function Is(t){return t.drawTicks?t.tickLength:0}function zs(t,e){if(!t.display)return 0;const i=He(t.font,e),s=Ne(t.padding);return(Y(t.text)?t.text.length:1)*i.lineHeight+s.height}function Fs(t,e,i){let n=s(t);return(i&&"right"!==e||!i&&"right"===e)&&(n=(t=>"left"===t?"right":"right"===t?"left":t)(n)),n}class Bs extends Ds{constructor(t){super(),this.id=t.id,this.type=t.type,this.options=void 0,this.ctx=t.ctx,this.chart=t.chart,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this._margins={left:0,right:0,top:0,bottom:0},this.maxWidth=void 0,this.maxHeight=void 0,this.paddingTop=void 0,this.paddingBottom=void 0,this.paddingLeft=void 0,this.paddingRight=void 0,this.axis=void 0,this.labelRotation=void 0,this.min=void 0,this.max=void 0,this._range=void 0,this.ticks=[],this._gridLineItems=null,this._labelItems=null,this._labelSizes=null,this._length=0,this._maxLength=0,this._longestTextCache={},this._startPixel=void 0,this._endPixel=void 0,this._reversePixels=!1,this._userMax=void 0,this._userMin=void 0,this._suggestedMax=void 0,this._suggestedMin=void 0,this._ticksLength=0,this._borderValue=0,this._cache={},this._dataLimitsCached=!1,this.$context=void 0}init(t){this.options=t.setContext(this.getContext()),this.axis=t.axis,this._userMin=this.parse(t.min),this._userMax=this.parse(t.max),this._suggestedMin=this.parse(t.suggestedMin),this._suggestedMax=this.parse(t.suggestedMax)}parse(t,e){return t}getUserBounds(){let{_userMin:t,_userMax:e,_suggestedMin:i,_suggestedMax:s}=this;return t=q(t,Number.POSITIVE_INFINITY),e=q(e,Number.NEGATIVE_INFINITY),i=q(i,Number.POSITIVE_INFINITY),s=q(s,Number.NEGATIVE_INFINITY),{min:q(t,i),max:q(e,s),minDefined:X(t),maxDefined:X(e)}}getMinMax(t){let e,{min:i,max:s,minDefined:n,maxDefined:o}=this.getUserBounds();if(n&&o)return{min:i,max:s};const a=this.getMatchingVisibleMetas();for(let r=0,l=a.length;r<l;++r)e=a[r].controller.getMinMax(this,t),n||(i=Math.min(i,e.min)),o||(s=Math.max(s,e.max));return i=o&&i>s?s:i,s=n&&i>s?i:s,{min:q(i,q(s,i)),max:q(s,q(i,s))}}getPadding(){return{left:this.paddingLeft||0,top:this.paddingTop||0,right:this.paddingRight||0,bottom:this.paddingBottom||0}}getTicks(){return this.ticks}getLabels(){const t=this.chart.data;return this.options.labels||(this.isHorizontal()?t.xLabels:t.yLabels)||t.labels||[]}beforeLayout(){this._cache={},this._dataLimitsCached=!1}beforeUpdate(){J(this.options.beforeUpdate,[this])}update(t,e,i){const{beginAtZero:s,grace:n,ticks:o}=this.options,a=o.sampleSize;this.beforeUpdate(),this.maxWidth=t,this.maxHeight=e,this._margins=i=Object.assign({left:0,right:0,top:0,bottom:0},i),this.ticks=null,this._labelSizes=null,this._gridLineItems=null,this._labelItems=null,this.beforeSetDimensions(),this.setDimensions(),this.afterSetDimensions(),this._maxLength=this.isHorizontal()?this.width+i.left+i.right:this.height+i.top+i.bottom,this._dataLimitsCached||(this.beforeDataLimits(),this.determineDataLimits(),this.afterDataLimits(),this._range=$e(this,n,s),this._dataLimitsCached=!0),this.beforeBuildTicks(),this.ticks=this.buildTicks()||[],this.afterBuildTicks();const r=a<this.ticks.length;this._convertTicksToLabels(r?Rs(this.ticks,a):this.ticks),this.configure(),this.beforeCalculateLabelRotation(),this.calculateLabelRotation(),this.afterCalculateLabelRotation(),o.display&&(o.autoSkip||"auto"===o.source)&&(this.ticks=As(this,this.ticks),this._labelSizes=null),r&&this._convertTicksToLabels(this.ticks),this.beforeFit(),this.fit(),this.afterFit(),this.afterUpdate()}configure(){let t,e,i=this.options.reverse;this.isHorizontal()?(t=this.left,e=this.right):(t=this.top,e=this.bottom,i=!i),this._startPixel=t,this._endPixel=e,this._reversePixels=i,this._length=e-t,this._alignToPixels=this.options.alignToPixels}afterUpdate(){J(this.options.afterUpdate,[this])}beforeSetDimensions(){J(this.options.beforeSetDimensions,[this])}setDimensions(){this.isHorizontal()?(this.width=this.maxWidth,this.left=0,this.right=this.width):(this.height=this.maxHeight,this.top=0,this.bottom=this.height),this.paddingLeft=0,this.paddingTop=0,this.paddingRight=0,this.paddingBottom=0}afterSetDimensions(){J(this.options.afterSetDimensions,[this])}_callHooks(t){this.chart.notifyPlugins(t,this.getContext()),J(this.options[t],[this])}beforeDataLimits(){this._callHooks("beforeDataLimits")}determineDataLimits(){}afterDataLimits(){this._callHooks("afterDataLimits")}beforeBuildTicks(){this._callHooks("beforeBuildTicks")}buildTicks(){return[]}afterBuildTicks(){this._callHooks("afterBuildTicks")}beforeTickToLabelConversion(){J(this.options.beforeTickToLabelConversion,[this])}generateTickLabels(t){const e=this.options.ticks;let i,s,n;for(i=0,s=t.length;i<s;i++)n=t[i],n.label=J(e.callback,[n.value,i,t],this)}afterTickToLabelConversion(){J(this.options.afterTickToLabelConversion,[this])}beforeCalculateLabelRotation(){J(this.options.beforeCalculateLabelRotation,[this])}calculateLabelRotation(){const t=this.options,e=t.ticks,i=this.ticks.length,s=e.minRotation||0,n=e.maxRotation;let o,a,r,l=s;if(!this._isVisible()||!e.display||s>=n||i<=1||!this.isHorizontal())return void(this.labelRotation=s);const h=this._getLabelSizes(),c=h.widest.width,d=h.highest.height,u=jt(this.chart.width-c,0,this.maxWidth);o=t.offset?this.maxWidth/i:u/(i-1),c+6>o&&(o=u/(i-(t.offset?.5:1)),a=this.maxHeight-Is(t.grid)-e.padding-zs(t.title,this.chart.options.font),r=Math.sqrt(c*c+d*d),l=zt(Math.min(Math.asin(jt((h.highest.height+6)/o,-1,1)),Math.asin(jt(a/r,-1,1))-Math.asin(jt(d/r,-1,1)))),l=Math.max(s,Math.min(n,l))),this.labelRotation=l}afterCalculateLabelRotation(){J(this.options.afterCalculateLabelRotation,[this])}beforeFit(){J(this.options.beforeFit,[this])}fit(){const t={width:0,height:0},{chart:e,options:{ticks:i,title:s,grid:n}}=this,o=this._isVisible(),a=this.isHorizontal();if(o){const o=zs(s,e.options.font);if(a?(t.width=this.maxWidth,t.height=Is(n)+o):(t.height=this.maxHeight,t.width=Is(n)+o),i.display&&this.ticks.length){const{first:e,last:s,widest:n,highest:o}=this._getLabelSizes(),r=2*i.padding,l=It(this.labelRotation),h=Math.cos(l),c=Math.sin(l);if(a){const e=i.mirror?0:c*n.width+h*o.height;t.height=Math.min(this.maxHeight,t.height+e+r)}else{const e=i.mirror?0:h*n.width+c*o.height;t.width=Math.min(this.maxWidth,t.width+e+r)}this._calculatePadding(e,s,c,h)}}this._handleMargins(),a?(this.width=this._length=e.width-this._margins.left-this._margins.right,this.height=t.height):(this.width=t.width,this.height=this._length=e.height-this._margins.top-this._margins.bottom)}_calculatePadding(t,e,i,s){const{ticks:{align:n,padding:o},position:a}=this.options,r=0!==this.labelRotation,l="top"!==a&&"x"===this.axis;if(this.isHorizontal()){const a=this.getPixelForTick(0)-this.left,h=this.right-this.getPixelForTick(this.ticks.length-1);let c=0,d=0;r?l?(c=s*t.width,d=i*e.height):(c=i*t.height,d=s*e.width):"start"===n?d=e.width:"end"===n?c=t.width:(c=t.width/2,d=e.width/2),this.paddingLeft=Math.max((c-a+o)*this.width/(this.width-a),0),this.paddingRight=Math.max((d-h+o)*this.width/(this.width-h),0)}else{let i=e.height/2,s=t.height/2;"start"===n?(i=0,s=t.height):"end"===n&&(i=e.height,s=0),this.paddingTop=i+o,this.paddingBottom=s+o}}_handleMargins(){this._margins&&(this._margins.left=Math.max(this.paddingLeft,this._margins.left),this._margins.top=Math.max(this.paddingTop,this._margins.top),this._margins.right=Math.max(this.paddingRight,this._margins.right),this._margins.bottom=Math.max(this.paddingBottom,this._margins.bottom))}afterFit(){J(this.options.afterFit,[this])}isHorizontal(){const{axis:t,position:e}=this.options;return"top"===e||"bottom"===e||"x"===t}isFullSize(){return this.options.fullSize}_convertTicksToLabels(t){let e,i;for(this.beforeTickToLabelConversion(),this.generateTickLabels(t),e=0,i=t.length;e<i;e++)$(t[e].label)&&(t.splice(e,1),i--,e--);this.afterTickToLabelConversion()}_getLabelSizes(){let t=this._labelSizes;if(!t){const e=this.options.ticks.sampleSize;let i=this.ticks;e<i.length&&(i=Rs(i,e)),this._labelSizes=t=this._computeLabelSizes(i,i.length)}return t}_computeLabelSizes(t,e){const{ctx:i,_longestTextCache:s}=this,n=[],o=[];let a,r,l,h,c,d,u,f,g,p,m,x=0,b=0;for(a=0;a<e;++a){if(h=t[a].label,c=this._resolveTickFontOptions(a),i.font=d=c.string,u=s[d]=s[d]||{data:{},gc:[]},f=c.lineHeight,g=p=0,$(h)||Y(h)){if(Y(h))for(r=0,l=h.length;r<l;++r)m=h[r],$(m)||Y(m)||(g=Xt(i,u.data,u.gc,g,m),p+=f)}else g=Xt(i,u.data,u.gc,g,h),p=f;n.push(g),o.push(p),x=Math.max(g,x),b=Math.max(p,b)}!function(t,e){Q(t,(t=>{const i=t.gc,s=i.length/2;let n;if(s>e){for(n=0;n<s;++n)delete t.data[i[n]];i.splice(0,s)}}))}(s,e);const _=n.indexOf(x),y=o.indexOf(b),v=t=>({width:n[t]||0,height:o[t]||0});return{first:v(0),last:v(e-1),widest:v(_),highest:v(y),widths:n,heights:o}}getLabelForValue(t){return t}getPixelForValue(t,e){return NaN}getValueForPixel(t){}getPixelForTick(t){const e=this.ticks;return t<0||t>e.length-1?null:this.getPixelForValue(e[t].value)}getPixelForDecimal(t){this._reversePixels&&(t=1-t);const e=this._startPixel+t*this._length;return $t(this._alignToPixels?Kt(this.chart,e,0):e)}getDecimalForPixel(t){const e=(t-this._startPixel)/this._length;return this._reversePixels?1-e:e}getBasePixel(){return this.getPixelForValue(this.getBaseValue())}getBaseValue(){const{min:t,max:e}=this;return t<0&&e<0?e:t>0&&e>0?t:0}getContext(t){const e=this.ticks||[];if(t>=0&&t<e.length){const i=e[t];return i.$context||(i.$context=function(t,e,i){return Ye(t,{tick:i,index:e,type:"tick"})}(this.getContext(),t,i))}return this.$context||(this.$context=Ye(this.chart.getContext(),{scale:this,type:"scale"}))}_tickSize(){const t=this.options.ticks,e=It(this.labelRotation),i=Math.abs(Math.cos(e)),s=Math.abs(Math.sin(e)),n=this._getLabelSizes(),o=t.autoSkipPadding||0,a=n?n.widest.width+o:0,r=n?n.highest.height+o:0;return this.isHorizontal()?r*i>a*s?a/i:r/s:r*s<a*i?r/i:a/s}_isVisible(){const t=this.options.display;return"auto"!==t?!!t:this.getMatchingVisibleMetas().length>0}_computeGridLineItems(t){const e=this.axis,i=this.chart,s=this.options,{grid:n,position:o}=s,a=n.offset,r=this.isHorizontal(),l=this.ticks.length+(a?1:0),h=Is(n),c=[],d=n.setContext(this.getContext()),u=d.drawBorder?d.borderWidth:0,f=u/2,g=function(t){return Kt(i,t,u)};let p,m,x,b,_,y,v,w,M,k,S,P;if("top"===o)p=g(this.bottom),y=this.bottom-h,w=p-f,k=g(t.top)+f,P=t.bottom;else if("bottom"===o)p=g(this.top),k=t.top,P=g(t.bottom)-f,y=p+f,w=this.top+h;else if("left"===o)p=g(this.right),_=this.right-h,v=p-f,M=g(t.left)+f,S=t.right;else if("right"===o)p=g(this.left),M=t.left,S=g(t.right)-f,_=p+f,v=this.left+h;else if("x"===e){if("center"===o)p=g((t.top+t.bottom)/2+.5);else if(U(o)){const t=Object.keys(o)[0],e=o[t];p=g(this.chart.scales[t].getPixelForValue(e))}k=t.top,P=t.bottom,y=p+f,w=y+h}else if("y"===e){if("center"===o)p=g((t.left+t.right)/2);else if(U(o)){const t=Object.keys(o)[0],e=o[t];p=g(this.chart.scales[t].getPixelForValue(e))}_=p-f,v=_-h,M=t.left,S=t.right}const D=K(s.ticks.maxTicksLimit,l),C=Math.max(1,Math.ceil(l/D));for(m=0;m<l;m+=C){const t=n.setContext(this.getContext(m)),e=t.lineWidth,s=t.color,o=n.borderDash||[],l=t.borderDashOffset,h=t.tickWidth,d=t.tickColor,u=t.tickBorderDash||[],f=t.tickBorderDashOffset;x=Es(this,m,a),void 0!==x&&(b=Kt(i,x,e),r?_=v=M=S=b:y=w=k=P=b,c.push({tx1:_,ty1:y,tx2:v,ty2:w,x1:M,y1:k,x2:S,y2:P,width:e,color:s,borderDash:o,borderDashOffset:l,tickWidth:h,tickColor:d,tickBorderDash:u,tickBorderDashOffset:f}))}return this._ticksLength=l,this._borderValue=p,c}_computeLabelItems(t){const e=this.axis,i=this.options,{position:s,ticks:n}=i,o=this.isHorizontal(),a=this.ticks,{align:r,crossAlign:l,padding:h,mirror:c}=n,d=Is(i.grid),u=d+h,f=c?-h:u,g=-It(this.labelRotation),p=[];let m,x,b,_,y,v,w,M,k,S,P,D,C="middle";if("top"===s)v=this.bottom-f,w=this._getXAxisLabelAlignment();else if("bottom"===s)v=this.top+f,w=this._getXAxisLabelAlignment();else if("left"===s){const t=this._getYAxisLabelAlignment(d);w=t.textAlign,y=t.x}else if("right"===s){const t=this._getYAxisLabelAlignment(d);w=t.textAlign,y=t.x}else if("x"===e){if("center"===s)v=(t.top+t.bottom)/2+u;else if(U(s)){const t=Object.keys(s)[0],e=s[t];v=this.chart.scales[t].getPixelForValue(e)+u}w=this._getXAxisLabelAlignment()}else if("y"===e){if("center"===s)y=(t.left+t.right)/2-u;else if(U(s)){const t=Object.keys(s)[0],e=s[t];y=this.chart.scales[t].getPixelForValue(e)}w=this._getYAxisLabelAlignment(d).textAlign}"y"===e&&("start"===r?C="top":"end"===r&&(C="bottom"));const O=this._getLabelSizes();for(m=0,x=a.length;m<x;++m){b=a[m],_=b.label;const t=n.setContext(this.getContext(m));M=this.getPixelForTick(m)+n.labelOffset,k=this._resolveTickFontOptions(m),S=k.lineHeight,P=Y(_)?_.length:1;const e=P/2,i=t.color,r=t.textStrokeColor,h=t.textStrokeWidth;let d;if(o?(y=M,D="top"===s?"near"===l||0!==g?-P*S+S/2:"center"===l?-O.highest.height/2-e*S+S:-O.highest.height+S/2:"near"===l||0!==g?S/2:"center"===l?O.highest.height/2-e*S:O.highest.height-P*S,c&&(D*=-1)):(v=M,D=(1-P)*S/2),t.showLabelBackdrop){const e=Ne(t.backdropPadding),i=O.heights[m],s=O.widths[m];let n=v+D-e.top,o=y-e.left;switch(C){case"middle":n-=i/2;break;case"bottom":n-=i}switch(w){case"center":o-=s/2;break;case"right":o-=s}d={left:o,top:n,width:s+e.width,height:i+e.height,color:t.backdropColor}}p.push({rotation:g,label:_,font:k,color:i,strokeColor:r,strokeWidth:h,textOffset:D,textAlign:w,textBaseline:C,translation:[y,v],backdrop:d})}return p}_getXAxisLabelAlignment(){const{position:t,ticks:e}=this.options;if(-It(this.labelRotation))return"top"===t?"left":"right";let i="center";return"start"===e.align?i="left":"end"===e.align&&(i="right"),i}_getYAxisLabelAlignment(t){const{position:e,ticks:{crossAlign:i,mirror:s,padding:n}}=this.options,o=t+n,a=this._getLabelSizes().widest.width;let r,l;return"left"===e?s?(l=this.right+n,"near"===i?r="left":"center"===i?(r="center",l+=a/2):(r="right",l+=a)):(l=this.right-o,"near"===i?r="right":"center"===i?(r="center",l-=a/2):(r="left",l=this.left)):"right"===e?s?(l=this.left+n,"near"===i?r="right":"center"===i?(r="center",l-=a/2):(r="left",l-=a)):(l=this.left+o,"near"===i?r="left":"center"===i?(r="center",l+=a/2):(r="right",l=this.right)):r="right",{textAlign:r,x:l}}_computeLabelArea(){if(this.options.ticks.mirror)return;const t=this.chart,e=this.options.position;return"left"===e||"right"===e?{top:0,left:this.left,bottom:t.height,right:this.right}:"top"===e||"bottom"===e?{top:this.top,left:0,bottom:this.bottom,right:t.width}:void 0}drawBackground(){const{ctx:t,options:{backgroundColor:e},left:i,top:s,width:n,height:o}=this;e&&(t.save(),t.fillStyle=e,t.fillRect(i,s,n,o),t.restore())}getLineWidthForValue(t){const e=this.options.grid;if(!this._isVisible()||!e.display)return 0;const i=this.ticks.findIndex((e=>e.value===t));if(i>=0){return e.setContext(this.getContext(i)).lineWidth}return 0}drawGrid(t){const e=this.options.grid,i=this.ctx,s=this._gridLineItems||(this._gridLineItems=this._computeGridLineItems(t));let n,o;const a=(t,e,s)=>{s.width&&s.color&&(i.save(),i.lineWidth=s.width,i.strokeStyle=s.color,i.setLineDash(s.borderDash||[]),i.lineDashOffset=s.borderDashOffset,i.beginPath(),i.moveTo(t.x,t.y),i.lineTo(e.x,e.y),i.stroke(),i.restore())};if(e.display)for(n=0,o=s.length;n<o;++n){const t=s[n];e.drawOnChartArea&&a({x:t.x1,y:t.y1},{x:t.x2,y:t.y2},t),e.drawTicks&&a({x:t.tx1,y:t.ty1},{x:t.tx2,y:t.ty2},{color:t.tickColor,width:t.tickWidth,borderDash:t.tickBorderDash,borderDashOffset:t.tickBorderDashOffset})}}drawBorder(){const{chart:t,ctx:e,options:{grid:i}}=this,s=i.setContext(this.getContext()),n=i.drawBorder?s.borderWidth:0;if(!n)return;const o=i.setContext(this.getContext(0)).lineWidth,a=this._borderValue;let r,l,h,c;this.isHorizontal()?(r=Kt(t,this.left,n)-n/2,l=Kt(t,this.right,o)+o/2,h=c=a):(h=Kt(t,this.top,n)-n/2,c=Kt(t,this.bottom,o)+o/2,r=l=a),e.save(),e.lineWidth=s.borderWidth,e.strokeStyle=s.borderColor,e.beginPath(),e.moveTo(r,h),e.lineTo(l,c),e.stroke(),e.restore()}drawLabels(t){if(!this.options.ticks.display)return;const e=this.ctx,i=this._computeLabelArea();i&&Qt(e,i);const s=this._labelItems||(this._labelItems=this._computeLabelItems(t));let n,o;for(n=0,o=s.length;n<o;++n){const t=s[n],i=t.font,o=t.label;t.backdrop&&(e.fillStyle=t.backdrop.color,e.fillRect(t.backdrop.left,t.backdrop.top,t.backdrop.width,t.backdrop.height)),se(e,o,0,t.textOffset,i,t)}i&&te(e)}drawTitle(){const{ctx:t,options:{position:e,title:i,reverse:s}}=this;if(!i.display)return;const o=He(i.font),a=Ne(i.padding),r=i.align;let l=o.lineHeight/2;"bottom"===e||"center"===e||U(e)?(l+=a.bottom,Y(i.text)&&(l+=o.lineHeight*(i.text.length-1))):l+=a.top;const{titleX:h,titleY:c,maxWidth:d,rotation:u}=function(t,e,i,s){const{top:o,left:a,bottom:r,right:l,chart:h}=t,{chartArea:c,scales:d}=h;let u,f,g,p=0;const m=r-o,x=l-a;if(t.isHorizontal()){if(f=n(s,a,l),U(i)){const t=Object.keys(i)[0],s=i[t];g=d[t].getPixelForValue(s)+m-e}else g="center"===i?(c.bottom+c.top)/2+m-e:Ls(t,i,e);u=l-a}else{if(U(i)){const t=Object.keys(i)[0],s=i[t];f=d[t].getPixelForValue(s)-x+e}else f="center"===i?(c.left+c.right)/2-x+e:Ls(t,i,e);g=n(s,r,o),p="left"===i?-kt:kt}return{titleX:f,titleY:g,maxWidth:u,rotation:p}}(this,l,e,r);se(t,i.text,0,0,o,{color:i.color,maxWidth:d,rotation:u,textAlign:Fs(r,e,s),textBaseline:"middle",translation:[h,c]})}draw(t){this._isVisible()&&(this.drawBackground(),this.drawGrid(t),this.drawBorder(),this.drawTitle(),this.drawLabels(t))}_layers(){const t=this.options,e=t.ticks&&t.ticks.z||0,i=K(t.grid&&t.grid.z,-1);return this._isVisible()&&this.draw===Bs.prototype.draw?[{z:i,draw:t=>{this.drawBackground(),this.drawGrid(t),this.drawTitle()}},{z:i+1,draw:()=>{this.drawBorder()}},{z:e,draw:t=>{this.drawLabels(t)}}]:[{z:e,draw:t=>{this.draw(t)}}]}getMatchingVisibleMetas(t){const e=this.chart.getSortedVisibleDatasetMetas(),i=this.axis+"AxisID",s=[];let n,o;for(n=0,o=e.length;n<o;++n){const o=e[n];o[i]!==this.id||t&&o.type!==t||s.push(o)}return s}_resolveTickFontOptions(t){return He(this.options.ticks.setContext(this.getContext(t)).font)}_maxDigits(){const t=this._resolveTickFontOptions(0).lineHeight;return(this.isHorizontal()?this.width:this.height)/t}}class Vs{constructor(t,e,i){this.type=t,this.scope=e,this.override=i,this.items=Object.create(null)}isForType(t){return Object.prototype.isPrototypeOf.call(this.type.prototype,t.prototype)}register(t){const e=Object.getPrototypeOf(t);let i;(function(t){return"id"in t&&"defaults"in t})(e)&&(i=this.register(e));const s=this.items,n=t.id,o=this.scope+"."+n;if(!n)throw new Error("class does not have id: "+t);return n in s||(s[n]=t,function(t,e,i){const s=nt(Object.create(null),[i?bt.get(i):{},bt.get(e),t.defaults]);bt.set(e,s),t.defaultRoutes&&function(t,e){Object.keys(e).forEach((i=>{const s=i.split("."),n=s.pop(),o=[t].concat(s).join("."),a=e[i].split("."),r=a.pop(),l=a.join(".");bt.route(o,n,l,r)}))}(e,t.defaultRoutes);t.descriptors&&bt.describe(e,t.descriptors)}(t,o,i),this.override&&bt.override(t.id,t.overrides)),o}get(t){return this.items[t]}unregister(t){const e=this.items,i=t.id,s=this.scope;i in e&&delete e[i],s&&i in bt[s]&&(delete bt[s][i],this.override&&delete gt[i])}}var Ws=new class{constructor(){this.controllers=new Vs(Ps,"datasets",!0),this.elements=new Vs(Ds,"elements"),this.plugins=new Vs(Object,"plugins"),this.scales=new Vs(Bs,"scales"),this._typedRegistries=[this.controllers,this.scales,this.elements]}add(...t){this._each("register",t)}remove(...t){this._each("unregister",t)}addControllers(...t){this._each("register",t,this.controllers)}addElements(...t){this._each("register",t,this.elements)}addPlugins(...t){this._each("register",t,this.plugins)}addScales(...t){this._each("register",t,this.scales)}getController(t){return this._get(t,this.controllers,"controller")}getElement(t){return this._get(t,this.elements,"element")}getPlugin(t){return this._get(t,this.plugins,"plugin")}getScale(t){return this._get(t,this.scales,"scale")}removeControllers(...t){this._each("unregister",t,this.controllers)}removeElements(...t){this._each("unregister",t,this.elements)}removePlugins(...t){this._each("unregister",t,this.plugins)}removeScales(...t){this._each("unregister",t,this.scales)}_each(t,e,i){[...e].forEach((e=>{const s=i||this._getRegistryForType(e);i||s.isForType(e)||s===this.plugins&&e.id?this._exec(t,s,e):Q(e,(e=>{const s=i||this._getRegistryForType(e);this._exec(t,s,e)}))}))}_exec(t,e,i){const s=ht(t);J(i["before"+s],[],i),e[t](i),J(i["after"+s],[],i)}_getRegistryForType(t){for(let e=0;e<this._typedRegistries.length;e++){const i=this._typedRegistries[e];if(i.isForType(t))return i}return this.plugins}_get(t,e,i){const s=e.get(t);if(void 0===s)throw new Error('"'+t+'" is not a registered '+i+".");return s}};class Ns{constructor(){this._init=[]}notify(t,e,i,s){"beforeInit"===e&&(this._init=this._createDescriptors(t,!0),this._notify(this._init,t,"install"));const n=s?this._descriptors(t).filter(s):this._descriptors(t),o=this._notify(n,t,e,i);return"afterDestroy"===e&&(this._notify(n,t,"stop"),this._notify(this._init,t,"uninstall")),o}_notify(t,e,i,s){s=s||{};for(const n of t){const t=n.plugin;if(!1===J(t[i],[e,s,n.options],t)&&s.cancelable)return!1}return!0}invalidate(){$(this._cache)||(this._oldCache=this._cache,this._cache=void 0)}_descriptors(t){if(this._cache)return this._cache;const e=this._cache=this._createDescriptors(t);return this._notifyStateChanges(t),e}_createDescriptors(t,e){const i=t&&t.config,s=K(i.options&&i.options.plugins,{}),n=function(t){const e=[],i=Object.keys(Ws.plugins.items);for(let t=0;t<i.length;t++)e.push(Ws.getPlugin(i[t]));const s=t.plugins||[];for(let t=0;t<s.length;t++){const i=s[t];-1===e.indexOf(i)&&e.push(i)}return e}(i);return!1!==s||e?function(t,e,i,s){const n=[],o=t.getContext();for(let a=0;a<e.length;a++){const r=e[a],l=Hs(i[r.id],s);null!==l&&n.push({plugin:r,options:js(t.config,r,l,o)})}return n}(t,n,s,e):[]}_notifyStateChanges(t){const e=this._oldCache||[],i=this._cache,s=(t,e)=>t.filter((t=>!e.some((e=>t.plugin.id===e.plugin.id))));this._notify(s(e,i),t,"stop"),this._notify(s(i,e),t,"start")}}function Hs(t,e){return e||!1!==t?!0===t?{}:t:null}function js(t,e,i,s){const n=t.pluginScopeKeys(e),o=t.getOptionScopes(i,n);return t.createResolver(o,s,[""],{scriptable:!1,indexable:!1,allKeys:!0})}function $s(t,e){const i=bt.datasets[t]||{};return((e.datasets||{})[t]||{}).indexAxis||e.indexAxis||i.indexAxis||"x"}function Ys(t,e){return"x"===t||"y"===t?t:e.axis||("top"===(i=e.position)||"bottom"===i?"x":"left"===i||"right"===i?"y":void 0)||t.charAt(0).toLowerCase();var i}function Us(t){const e=t.options||(t.options={});e.plugins=K(e.plugins,{}),e.scales=function(t,e){const i=gt[t.type]||{scales:{}},s=e.scales||{},n=$s(t.type,e),o=Object.create(null),a=Object.create(null);return Object.keys(s).forEach((t=>{const e=s[t];if(!U(e))return console.error(`Invalid scale configuration for scale: ${t}`);if(e._proxy)return console.warn(`Ignoring resolver passed as options for scale: ${t}`);const r=Ys(t,e),l=function(t,e){return t===e?"_index_":"_value_"}(r,n),h=i.scales||{};o[r]=o[r]||t,a[t]=ot(Object.create(null),[{axis:r},e,h[r],h[l]])})),t.data.datasets.forEach((i=>{const n=i.type||t.type,r=i.indexAxis||$s(n,e),l=(gt[n]||{}).scales||{};Object.keys(l).forEach((t=>{const e=function(t,e){let i=t;return"_index_"===t?i=e:"_value_"===t&&(i="x"===e?"y":"x"),i}(t,r),n=i[e+"AxisID"]||o[e]||e;a[n]=a[n]||Object.create(null),ot(a[n],[{axis:e},s[n],l[t]])}))})),Object.keys(a).forEach((t=>{const e=a[t];ot(e,[bt.scales[e.type],bt.scale])})),a}(t,e)}function Xs(t){return(t=t||{}).datasets=t.datasets||[],t.labels=t.labels||[],t}const qs=new Map,Ks=new Set;function Gs(t,e){let i=qs.get(t);return i||(i=e(),qs.set(t,i),Ks.add(i)),i}const Zs=(t,e,i)=>{const s=lt(e,i);void 0!==s&&t.add(s)};class Js{constructor(t){this._config=function(t){return(t=t||{}).data=Xs(t.data),Us(t),t}(t),this._scopeCache=new Map,this._resolverCache=new Map}get platform(){return this._config.platform}get type(){return this._config.type}set type(t){this._config.type=t}get data(){return this._config.data}set data(t){this._config.data=Xs(t)}get options(){return this._config.options}set options(t){this._config.options=t}get plugins(){return this._config.plugins}update(){const t=this._config;this.clearCache(),Us(t)}clearCache(){this._scopeCache.clear(),this._resolverCache.clear()}datasetScopeKeys(t){return Gs(t,(()=>[[`datasets.${t}`,""]]))}datasetAnimationScopeKeys(t,e){return Gs(`${t}.transition.${e}`,(()=>[[`datasets.${t}.transitions.${e}`,`transitions.${e}`],[`datasets.${t}`,""]]))}datasetElementScopeKeys(t,e){return Gs(`${t}-${e}`,(()=>[[`datasets.${t}.elements.${e}`,`datasets.${t}`,`elements.${e}`,""]]))}pluginScopeKeys(t){const e=t.id;return Gs(`${this.type}-plugin-${e}`,(()=>[[`plugins.${e}`,...t.additionalOptionScopes||[]]]))}_cachedScopes(t,e){const i=this._scopeCache;let s=i.get(t);return s&&!e||(s=new Map,i.set(t,s)),s}getOptionScopes(t,e,i){const{options:s,type:n}=this,o=this._cachedScopes(t,i),a=o.get(e);if(a)return a;const r=new Set;e.forEach((e=>{t&&(r.add(t),e.forEach((e=>Zs(r,t,e)))),e.forEach((t=>Zs(r,s,t))),e.forEach((t=>Zs(r,gt[n]||{},t))),e.forEach((t=>Zs(r,bt,t))),e.forEach((t=>Zs(r,pt,t)))}));const l=Array.from(r);return 0===l.length&&l.push(Object.create(null)),Ks.has(e)&&o.set(e,l),l}chartOptionScopes(){const{options:t,type:e}=this;return[t,gt[e]||{},bt.datasets[e]||{},{type:e},bt,pt]}resolveNamedOptions(t,e,i,s=[""]){const n={$shared:!0},{resolver:o,subPrefixes:a}=Qs(this._resolverCache,t,s);let r=o;if(function(t,e){const{isScriptable:i,isIndexable:s}=ri(t);for(const n of e){const e=i(n),o=s(n),a=(o||e)&&t[n];if(e&&(dt(a)||tn(a))||o&&Y(a))return!0}return!1}(o,e)){n.$shared=!1;r=ai(o,i=dt(i)?i():i,this.createResolver(t,i,a))}for(const t of e)n[t]=r[t];return n}createResolver(t,e,i=[""],s){const{resolver:n}=Qs(this._resolverCache,t,i);return U(e)?ai(n,e,void 0,s):n}}function Qs(t,e,i){let s=t.get(e);s||(s=new Map,t.set(e,s));const n=i.join();let o=s.get(n);if(!o){o={resolver:oi(e,i),subPrefixes:i.filter((t=>!t.toLowerCase().includes("hover")))},s.set(n,o)}return o}const tn=t=>U(t)&&Object.getOwnPropertyNames(t).reduce(((e,i)=>e||dt(t[i])),!1);const en=["top","bottom","left","right","chartArea"];function sn(t,e){return"top"===t||"bottom"===t||-1===en.indexOf(t)&&"x"===e}function nn(t,e){return function(i,s){return i[t]===s[t]?i[e]-s[e]:i[t]-s[t]}}function on(t){const e=t.chart,i=e.options.animation;e.notifyPlugins("afterRender"),J(i&&i.onComplete,[t],e)}function an(t){const e=t.chart,i=e.options.animation;J(i&&i.onProgress,[t],e)}function rn(t){return ge()&&"string"==typeof t?t=document.getElementById(t):t&&t.length&&(t=t[0]),t&&t.canvas&&(t=t.canvas),t}const ln={},hn=t=>{const e=rn(t);return Object.values(ln).filter((t=>t.canvas===e)).pop()};function cn(t,e,i){const s=Object.keys(t);for(const n of s){const s=+n;if(s>=e){const o=t[n];delete t[n],(i>0||s>e)&&(t[s+i]=o)}}}class dn{constructor(t,e){const s=this.config=new Js(e),n=rn(t),o=hn(n);if(o)throw new Error("Canvas is already in use. Chart with ID '"+o.id+"' must be destroyed before the canvas can be reused.");const r=s.createResolver(s.chartOptionScopes(),this.getContext());this.platform=new(s.platform||ls(n)),this.platform.updateConfig(s);const l=this.platform.acquireContext(n,r.aspectRatio),h=l&&l.canvas,c=h&&h.height,d=h&&h.width;this.id=j(),this.ctx=l,this.canvas=h,this.width=d,this.height=c,this._options=r,this._aspectRatio=this.aspectRatio,this._layers=[],this._metasets=[],this._stacks=void 0,this.boxes=[],this.currentDevicePixelRatio=void 0,this.chartArea=void 0,this._active=[],this._lastEvent=void 0,this._listeners={},this._responsiveListeners=void 0,this._sortedMetasets=[],this.scales={},this._plugins=new Ns,this.$proxies={},this._hiddenIndices={},this.attached=!1,this._animationsDisabled=void 0,this.$context=void 0,this._doResize=i((t=>this.update(t)),r.resizeDelay||0),this._dataChanges=[],ln[this.id]=this,l&&h?(a.listen(this,"complete",on),a.listen(this,"progress",an),this._initialize(),this.attached&&this.update()):console.error("Failed to create chart: can't acquire context from the given item")}get aspectRatio(){const{options:{aspectRatio:t,maintainAspectRatio:e},width:i,height:s,_aspectRatio:n}=this;return $(t)?e&&n?n:s?i/s:null:t}get data(){return this.config.data}set data(t){this.config.data=t}get options(){return this._options}set options(t){this.config.options=t}_initialize(){return this.notifyPlugins("beforeInit"),this.options.responsive?this.resize():ke(this,this.options.devicePixelRatio),this.bindEvents(),this.notifyPlugins("afterInit"),this}clear(){return Gt(this.canvas,this.ctx),this}stop(){return a.stop(this),this}resize(t,e){a.running(this)?this._resizeBeforeDraw={width:t,height:e}:this._resize(t,e)}_resize(t,e){const i=this.options,s=this.canvas,n=i.maintainAspectRatio&&this.aspectRatio,o=this.platform.getMaximumSize(s,t,e,n),a=i.devicePixelRatio||this.platform.getDevicePixelRatio(),r=this.width?"resize":"attach";this.width=o.width,this.height=o.height,this._aspectRatio=this.aspectRatio,ke(this,a,!0)&&(this.notifyPlugins("resize",{size:o}),J(i.onResize,[this,o],this),this.attached&&this._doResize(r)&&this.render())}ensureScalesHaveIDs(){Q(this.options.scales||{},((t,e)=>{t.id=e}))}buildOrUpdateScales(){const t=this.options,e=t.scales,i=this.scales,s=Object.keys(i).reduce(((t,e)=>(t[e]=!1,t)),{});let n=[];e&&(n=n.concat(Object.keys(e).map((t=>{const i=e[t],s=Ys(t,i),n="r"===s,o="x"===s;return{options:i,dposition:n?"chartArea":o?"bottom":"left",dtype:n?"radialLinear":o?"category":"linear"}})))),Q(n,(e=>{const n=e.options,o=n.id,a=Ys(o,n),r=K(n.type,e.dtype);void 0!==n.position&&sn(n.position,a)===sn(e.dposition)||(n.position=e.dposition),s[o]=!0;let l=null;if(o in i&&i[o].type===r)l=i[o];else{l=new(Ws.getScale(r))({id:o,type:r,ctx:this.ctx,chart:this}),i[l.id]=l}l.init(n,t)})),Q(s,((t,e)=>{t||delete i[e]})),Q(i,(t=>{ni.configure(this,t,t.options),ni.addBox(this,t)}))}_updateMetasets(){const t=this._metasets,e=this.data.datasets.length,i=t.length;if(t.sort(((t,e)=>t.index-e.index)),i>e){for(let t=e;t<i;++t)this._destroyDatasetMeta(t);t.splice(e,i-e)}this._sortedMetasets=t.slice(0).sort(nn("order","index"))}_removeUnreferencedMetasets(){const{_metasets:t,data:{datasets:e}}=this;t.length>e.length&&delete this._stacks,t.forEach(((t,i)=>{0===e.filter((e=>e===t._dataset)).length&&this._destroyDatasetMeta(i)}))}buildOrUpdateControllers(){const t=[],e=this.data.datasets;let i,s;for(this._removeUnreferencedMetasets(),i=0,s=e.length;i<s;i++){const s=e[i];let n=this.getDatasetMeta(i);const o=s.type||this.config.type;if(n.type&&n.type!==o&&(this._destroyDatasetMeta(i),n=this.getDatasetMeta(i)),n.type=o,n.indexAxis=s.indexAxis||$s(o,this.options),n.order=s.order||0,n.index=i,n.label=""+s.label,n.visible=this.isDatasetVisible(i),n.controller)n.controller.updateIndex(i),n.controller.linkScales();else{const e=Ws.getController(o),{datasetElementType:s,dataElementType:a}=bt.datasets[o];Object.assign(e.prototype,{dataElementType:Ws.getElement(a),datasetElementType:s&&Ws.getElement(s)}),n.controller=new e(this,i),t.push(n.controller)}}return this._updateMetasets(),t}_resetElements(){Q(this.data.datasets,((t,e)=>{this.getDatasetMeta(e).controller.reset()}),this)}reset(){this._resetElements(),this.notifyPlugins("reset")}update(t){const e=this.config;e.update();const i=this._options=e.createResolver(e.chartOptionScopes(),this.getContext()),s=this._animationsDisabled=!i.animation;if(this._updateScales(),this._checkEventBindings(),this._updateHiddenIndices(),this._plugins.invalidate(),!1===this.notifyPlugins("beforeUpdate",{mode:t,cancelable:!0}))return;const n=this.buildOrUpdateControllers();this.notifyPlugins("beforeElementsUpdate");let o=0;for(let t=0,e=this.data.datasets.length;t<e;t++){const{controller:e}=this.getDatasetMeta(t),i=!s&&-1===n.indexOf(e);e.buildOrUpdateElements(i),o=Math.max(+e.getMaxOverflow(),o)}o=this._minPadding=i.layout.autoPadding?o:0,this._updateLayout(o),s||Q(n,(t=>{t.reset()})),this._updateDatasets(t),this.notifyPlugins("afterUpdate",{mode:t}),this._layers.sort(nn("z","_idx"));const{_active:a,_lastEvent:r}=this;r?this._eventHandler(r,!0):a.length&&this._updateHoverStyles(a,a,!0),this.render()}_updateScales(){Q(this.scales,(t=>{ni.removeBox(this,t)})),this.ensureScalesHaveIDs(),this.buildOrUpdateScales()}_checkEventBindings(){const t=this.options,e=new Set(Object.keys(this._listeners)),i=new Set(t.events);ut(e,i)&&!!this._responsiveListeners===t.responsive||(this.unbindEvents(),this.bindEvents())}_updateHiddenIndices(){const{_hiddenIndices:t}=this,e=this._getUniformDataChanges()||[];for(const{method:i,start:s,count:n}of e){cn(t,s,"_removeElements"===i?-n:n)}}_getUniformDataChanges(){const t=this._dataChanges;if(!t||!t.length)return;this._dataChanges=[];const e=this.data.datasets.length,i=e=>new Set(t.filter((t=>t[0]===e)).map(((t,e)=>e+","+t.splice(1).join(",")))),s=i(0);for(let t=1;t<e;t++)if(!ut(s,i(t)))return;return Array.from(s).map((t=>t.split(","))).map((t=>({method:t[1],start:+t[2],count:+t[3]})))}_updateLayout(t){if(!1===this.notifyPlugins("beforeLayout",{cancelable:!0}))return;ni.update(this,this.width,this.height,t);const e=this.chartArea,i=e.width<=0||e.height<=0;this._layers=[],Q(this.boxes,(t=>{i&&"chartArea"===t.position||(t.configure&&t.configure(),this._layers.push(...t._layers()))}),this),this._layers.forEach(((t,e)=>{t._idx=e})),this.notifyPlugins("afterLayout")}_updateDatasets(t){if(!1!==this.notifyPlugins("beforeDatasetsUpdate",{mode:t,cancelable:!0})){for(let t=0,e=this.data.datasets.length;t<e;++t)this.getDatasetMeta(t).controller.configure();for(let e=0,i=this.data.datasets.length;e<i;++e)this._updateDataset(e,dt(t)?t({datasetIndex:e}):t);this.notifyPlugins("afterDatasetsUpdate",{mode:t})}}_updateDataset(t,e){const i=this.getDatasetMeta(t),s={meta:i,index:t,mode:e,cancelable:!0};!1!==this.notifyPlugins("beforeDatasetUpdate",s)&&(i.controller._update(e),s.cancelable=!1,this.notifyPlugins("afterDatasetUpdate",s))}render(){!1!==this.notifyPlugins("beforeRender",{cancelable:!0})&&(a.has(this)?this.attached&&!a.running(this)&&a.start(this):(this.draw(),on({chart:this})))}draw(){let t;if(this._resizeBeforeDraw){const{width:t,height:e}=this._resizeBeforeDraw;this._resize(t,e),this._resizeBeforeDraw=null}if(this.clear(),this.width<=0||this.height<=0)return;if(!1===this.notifyPlugins("beforeDraw",{cancelable:!0}))return;const e=this._layers;for(t=0;t<e.length&&e[t].z<=0;++t)e[t].draw(this.chartArea);for(this._drawDatasets();t<e.length;++t)e[t].draw(this.chartArea);this.notifyPlugins("afterDraw")}_getSortedDatasetMetas(t){const e=this._sortedMetasets,i=[];let s,n;for(s=0,n=e.length;s<n;++s){const n=e[s];t&&!n.visible||i.push(n)}return i}getSortedVisibleDatasetMetas(){return this._getSortedDatasetMetas(!0)}_drawDatasets(){if(!1===this.notifyPlugins("beforeDatasetsDraw",{cancelable:!0}))return;const t=this.getSortedVisibleDatasetMetas();for(let e=t.length-1;e>=0;--e)this._drawDataset(t[e]);this.notifyPlugins("afterDatasetsDraw")}_drawDataset(t){const e=this.ctx,i=t._clip,s=!i.disabled,n=this.chartArea,o={meta:t,index:t.index,cancelable:!0};!1!==this.notifyPlugins("beforeDatasetDraw",o)&&(s&&Qt(e,{left:!1===i.left?0:n.left-i.left,right:!1===i.right?this.width:n.right+i.right,top:!1===i.top?0:n.top-i.top,bottom:!1===i.bottom?this.height:n.bottom+i.bottom}),t.controller.draw(),s&&te(e),o.cancelable=!1,this.notifyPlugins("afterDatasetDraw",o))}getElementsAtEventForMode(t,e,i,s){const n=Ee.modes[e];return"function"==typeof n?n(this,t,i,s):[]}getDatasetMeta(t){const e=this.data.datasets[t],i=this._metasets;let s=i.filter((t=>t&&t._dataset===e)).pop();return s||(s={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null,order:e&&e.order||0,index:t,_dataset:e,_parsed:[],_sorted:!1},i.push(s)),s}getContext(){return this.$context||(this.$context=Ye(null,{chart:this,type:"chart"}))}getVisibleDatasetCount(){return this.getSortedVisibleDatasetMetas().length}isDatasetVisible(t){const e=this.data.datasets[t];if(!e)return!1;const i=this.getDatasetMeta(t);return"boolean"==typeof i.hidden?!i.hidden:!e.hidden}setDatasetVisibility(t,e){this.getDatasetMeta(t).hidden=!e}toggleDataVisibility(t){this._hiddenIndices[t]=!this._hiddenIndices[t]}getDataVisibility(t){return!this._hiddenIndices[t]}_updateVisibility(t,e,i){const s=i?"show":"hide",n=this.getDatasetMeta(t),o=n.controller._resolveAnimations(void 0,s);ct(e)?(n.data[e].hidden=!i,this.update()):(this.setDatasetVisibility(t,i),o.update(n,{visible:i}),this.update((e=>e.datasetIndex===t?s:void 0)))}hide(t,e){this._updateVisibility(t,e,!1)}show(t,e){this._updateVisibility(t,e,!0)}_destroyDatasetMeta(t){const e=this._metasets[t];e&&e.controller&&e.controller._destroy(),delete this._metasets[t]}_stop(){let t,e;for(this.stop(),a.remove(this),t=0,e=this.data.datasets.length;t<e;++t)this._destroyDatasetMeta(t)}destroy(){this.notifyPlugins("beforeDestroy");const{canvas:t,ctx:e}=this;this._stop(),this.config.clearCache(),t&&(this.unbindEvents(),Gt(t,e),this.platform.releaseContext(e),this.canvas=null,this.ctx=null),this.notifyPlugins("destroy"),delete ln[this.id],this.notifyPlugins("afterDestroy")}toBase64Image(...t){return this.canvas.toDataURL(...t)}bindEvents(){this.bindUserEvents(),this.options.responsive?this.bindResponsiveEvents():this.attached=!0}bindUserEvents(){const t=this._listeners,e=this.platform,i=(i,s)=>{e.addEventListener(this,i,s),t[i]=s},s=(t,e,i)=>{t.offsetX=e,t.offsetY=i,this._eventHandler(t)};Q(this.options.events,(t=>i(t,s)))}bindResponsiveEvents(){this._responsiveListeners||(this._responsiveListeners={});const t=this._responsiveListeners,e=this.platform,i=(i,s)=>{e.addEventListener(this,i,s),t[i]=s},s=(i,s)=>{t[i]&&(e.removeEventListener(this,i,s),delete t[i])},n=(t,e)=>{this.canvas&&this.resize(t,e)};let o;const a=()=>{s("attach",a),this.attached=!0,this.resize(),i("resize",n),i("detach",o)};o=()=>{this.attached=!1,s("resize",n),this._stop(),this._resize(0,0),i("attach",a)},e.isAttached(this.canvas)?a():o()}unbindEvents(){Q(this._listeners,((t,e)=>{this.platform.removeEventListener(this,e,t)})),this._listeners={},Q(this._responsiveListeners,((t,e)=>{this.platform.removeEventListener(this,e,t)})),this._responsiveListeners=void 0}updateHoverStyle(t,e,i){const s=i?"set":"remove";let n,o,a,r;for("dataset"===e&&(n=this.getDatasetMeta(t[0].datasetIndex),n.controller["_"+s+"DatasetHoverStyle"]()),a=0,r=t.length;a<r;++a){o=t[a];const e=o&&this.getDatasetMeta(o.datasetIndex).controller;e&&e[s+"HoverStyle"](o.element,o.datasetIndex,o.index)}}getActiveElements(){return this._active||[]}setActiveElements(t){const e=this._active||[],i=t.map((({datasetIndex:t,index:e})=>{const i=this.getDatasetMeta(t);if(!i)throw new Error("No dataset found at index "+t);return{datasetIndex:t,element:i.data[e],index:e}}));!tt(i,e)&&(this._active=i,this._lastEvent=null,this._updateHoverStyles(i,e))}notifyPlugins(t,e,i){return this._plugins.notify(this,t,e,i)}_updateHoverStyles(t,e,i){const s=this.options.hover,n=(t,e)=>t.filter((t=>!e.some((e=>t.datasetIndex===e.datasetIndex&&t.index===e.index)))),o=n(e,t),a=i?t:n(t,e);o.length&&this.updateHoverStyle(o,s.mode,!1),a.length&&s.mode&&this.updateHoverStyle(a,s.mode,!0)}_eventHandler(t,e){const i={event:t,replay:e,cancelable:!0,inChartArea:Jt(t,this.chartArea,this._minPadding)},s=e=>(e.options.events||this.options.events).includes(t.native.type);if(!1===this.notifyPlugins("beforeEvent",i,s))return;const n=this._handleEvent(t,e,i.inChartArea);return i.cancelable=!1,this.notifyPlugins("afterEvent",i,s),(n||i.changed)&&this.render(),this}_handleEvent(t,e,i){const{_active:s=[],options:n}=this,o=e,a=this._getActiveElements(t,s,i,o),r=ft(t),l=function(t,e,i,s){return i&&"mouseout"!==t.type?s?e:t:null}(t,this._lastEvent,i,r);i&&(this._lastEvent=null,J(n.onHover,[t,a,this],this),r&&J(n.onClick,[t,a,this],this));const h=!tt(a,s);return(h||e)&&(this._active=a,this._updateHoverStyles(a,s,e)),this._lastEvent=l,h}_getActiveElements(t,e,i,s){if("mouseout"===t.type)return[];if(!i)return e;const n=this.options.hover;return this.getElementsAtEventForMode(t,n.mode,n,s)}}const un=()=>Q(dn.instances,(t=>t._plugins.invalidate())),fn=!0;function gn(){throw new Error("This method is not implemented: Check that a complete date adapter is provided.")}Object.defineProperties(dn,{defaults:{enumerable:fn,value:bt},instances:{enumerable:fn,value:ln},overrides:{enumerable:fn,value:gt},registry:{enumerable:fn,value:Ws},version:{enumerable:fn,value:"3.7.0"},getChart:{enumerable:fn,value:hn},register:{enumerable:fn,value:(...t)=>{Ws.add(...t),un()}},unregister:{enumerable:fn,value:(...t)=>{Ws.remove(...t),un()}}});class pn{constructor(t){this.options=t||{}}formats(){return gn()}parse(t,e){return gn()}format(t,e){return gn()}add(t,e,i){return gn()}diff(t,e,i){return gn()}startOf(t,e,i){return gn()}endOf(t,e){return gn()}}pn.override=function(t){Object.assign(pn.prototype,t)};var mn={_date:pn};function xn(t){const e=t.iScale,i=function(t,e){if(!t._cache.$bar){const i=t.getMatchingVisibleMetas(e);let s=[];for(let e=0,n=i.length;e<n;e++)s=s.concat(i[e].controller.getAllParsedValues(t));t._cache.$bar=fe(s.sort(((t,e)=>t-e)))}return t._cache.$bar}(e,t.type);let s,n,o,a,r=e._length;const l=()=>{32767!==o&&-32768!==o&&(ct(a)&&(r=Math.min(r,Math.abs(o-a)||r)),a=o)};for(s=0,n=i.length;s<n;++s)o=e.getPixelForValue(i[s]),l();for(a=void 0,s=0,n=e.ticks.length;s<n;++s)o=e.getPixelForTick(s),l();return r}function bn(t,e,i,s){return Y(t)?function(t,e,i,s){const n=i.parse(t[0],s),o=i.parse(t[1],s),a=Math.min(n,o),r=Math.max(n,o);let l=a,h=r;Math.abs(a)>Math.abs(r)&&(l=r,h=a),e[i.axis]=h,e._custom={barStart:l,barEnd:h,start:n,end:o,min:a,max:r}}(t,e,i,s):e[i.axis]=i.parse(t,s),e}function _n(t,e,i,s){const n=t.iScale,o=t.vScale,a=n.getLabels(),r=n===o,l=[];let h,c,d,u;for(h=i,c=i+s;h<c;++h)u=e[h],d={},d[n.axis]=r||n.parse(a[h],h),l.push(bn(u,d,o,h));return l}function yn(t){return t&&void 0!==t.barStart&&void 0!==t.barEnd}function vn(t,e,i,s){let n=e.borderSkipped;const o={};if(!n)return void(t.borderSkipped=o);const{start:a,end:r,reverse:l,top:h,bottom:c}=function(t){let e,i,s,n,o;return t.horizontal?(e=t.base>t.x,i="left",s="right"):(e=t.base<t.y,i="bottom",s="top"),e?(n="end",o="start"):(n="start",o="end"),{start:i,end:s,reverse:e,top:n,bottom:o}}(t);"middle"===n&&i&&(t.enableBorderRadius=!0,(i._top||0)===s?n=h:(i._bottom||0)===s?n=c:(o[wn(c,a,r,l)]=!0,n=h)),o[wn(n,a,r,l)]=!0,t.borderSkipped=o}function wn(t,e,i,s){var n,o,a;return s?(a=i,t=Mn(t=(n=t)===(o=e)?a:n===a?o:n,i,e)):t=Mn(t,e,i),t}function Mn(t,e,i){return"start"===t?e:"end"===t?i:t}function kn(t,{inflateAmount:e},i){t.inflateAmount="auto"===e?1===i?.33:0:e}class Sn extends Ps{parsePrimitiveData(t,e,i,s){return _n(t,e,i,s)}parseArrayData(t,e,i,s){return _n(t,e,i,s)}parseObjectData(t,e,i,s){const{iScale:n,vScale:o}=t,{xAxisKey:a="x",yAxisKey:r="y"}=this._parsing,l="x"===n.axis?a:r,h="x"===o.axis?a:r,c=[];let d,u,f,g;for(d=i,u=i+s;d<u;++d)g=e[d],f={},f[n.axis]=n.parse(lt(g,l),d),c.push(bn(lt(g,h),f,o,d));return c}updateRangeFromParsed(t,e,i,s){super.updateRangeFromParsed(t,e,i,s);const n=i._custom;n&&e===this._cachedMeta.vScale&&(t.min=Math.min(t.min,n.min),t.max=Math.max(t.max,n.max))}getMaxOverflow(){return 0}getLabelAndValue(t){const e=this._cachedMeta,{iScale:i,vScale:s}=e,n=this.getParsed(t),o=n._custom,a=yn(o)?"["+o.start+", "+o.end+"]":""+s.getLabelForValue(n[s.axis]);return{label:""+i.getLabelForValue(n[i.axis]),value:a}}initialize(){this.enableOptionSharing=!0,super.initialize();this._cachedMeta.stack=this.getDataset().stack}update(t){const e=this._cachedMeta;this.updateElements(e.data,0,e.data.length,t)}updateElements(t,e,i,s){const n="reset"===s,{index:o,_cachedMeta:{vScale:a}}=this,r=a.getBasePixel(),l=a.isHorizontal(),h=this._getRuler(),c=this.resolveDataElementOptions(e,s),d=this.getSharedOptions(c),u=this.includeOptions(s,d);this.updateSharedOptions(d,s,c);for(let c=e;c<e+i;c++){const e=this.getParsed(c),i=n||$(e[a.axis])?{base:r,head:r}:this._calculateBarValuePixels(c),f=this._calculateBarIndexPixels(c,h),g=(e._stacks||{})[a.axis],p={horizontal:l,base:i.base,enableBorderRadius:!g||yn(e._custom)||o===g._top||o===g._bottom,x:l?i.head:f.center,y:l?f.center:i.head,height:l?f.size:Math.abs(i.size),width:l?Math.abs(i.size):f.size};u&&(p.options=d||this.resolveDataElementOptions(c,t[c].active?"active":s));const m=p.options||t[c].options;vn(p,m,g,o),kn(p,m,h.ratio),this.updateElement(t[c],c,p,s)}}_getStacks(t,e){const i=this._cachedMeta.iScale,s=i.getMatchingVisibleMetas(this._type),n=i.options.stacked,o=s.length,a=[];let r,l;for(r=0;r<o;++r)if(l=s[r],l.controller.options.grouped){if(void 0!==e){const t=l.controller.getParsed(e)[l.controller._cachedMeta.vScale.axis];if($(t)||isNaN(t))continue}if((!1===n||-1===a.indexOf(l.stack)||void 0===n&&void 0===l.stack)&&a.push(l.stack),l.index===t)break}return a.length||a.push(void 0),a}_getStackCount(t){return this._getStacks(void 0,t).length}_getStackIndex(t,e,i){const s=this._getStacks(t,i),n=void 0!==e?s.indexOf(e):-1;return-1===n?s.length-1:n}_getRuler(){const t=this.options,e=this._cachedMeta,i=e.iScale,s=[];let n,o;for(n=0,o=e.data.length;n<o;++n)s.push(i.getPixelForValue(this.getParsed(n)[i.axis],n));const a=t.barThickness;return{min:a||xn(e),pixels:s,start:i._startPixel,end:i._endPixel,stackCount:this._getStackCount(),scale:i,grouped:t.grouped,ratio:a?1:t.categoryPercentage*t.barPercentage}}_calculateBarValuePixels(t){const{_cachedMeta:{vScale:e,_stacked:i},options:{base:s,minBarLength:n}}=this,o=s||0,a=this.getParsed(t),r=a._custom,l=yn(r);let h,c,d=a[e.axis],u=0,f=i?this.applyStack(e,a,i):d;f!==d&&(u=f-d,f=d),l&&(d=r.barStart,f=r.barEnd-r.barStart,0!==d&&Ct(d)!==Ct(r.barEnd)&&(u=0),u+=d);const g=$(s)||l?u:s;let p=e.getPixelForValue(g);if(h=this.chart.getDataVisibility(t)?e.getPixelForValue(u+f):p,c=h-p,Math.abs(c)<n&&(c=function(t,e,i){return 0!==t?Ct(t):(e.isHorizontal()?1:-1)*(e.min>=i?1:-1)}(c,e,o)*n,d===o&&(p-=c/2),h=p+c),p===e.getPixelForValue(o)){const t=Ct(c)*e.getLineWidthForValue(o)/2;p+=t,c-=t}return{size:c,base:p,head:h,center:h+c/2}}_calculateBarIndexPixels(t,e){const i=e.scale,s=this.options,n=s.skipNull,o=K(s.maxBarThickness,1/0);let a,r;if(e.grouped){const i=n?this._getStackCount(t):e.stackCount,l="flex"===s.barThickness?function(t,e,i,s){const n=e.pixels,o=n[t];let a=t>0?n[t-1]:null,r=t<n.length-1?n[t+1]:null;const l=i.categoryPercentage;null===a&&(a=o-(null===r?e.end-e.start:r-o)),null===r&&(r=o+o-a);const h=o-(o-Math.min(a,r))/2*l;return{chunk:Math.abs(r-a)/2*l/s,ratio:i.barPercentage,start:h}}(t,e,s,i):function(t,e,i,s){const n=i.barThickness;let o,a;return $(n)?(o=e.min*i.categoryPercentage,a=i.barPercentage):(o=n*s,a=1),{chunk:o/s,ratio:a,start:e.pixels[t]-o/2}}(t,e,s,i),h=this._getStackIndex(this.index,this._cachedMeta.stack,n?t:void 0);a=l.start+l.chunk*h+l.chunk/2,r=Math.min(o,l.chunk*l.ratio)}else a=i.getPixelForValue(this.getParsed(t)[i.axis],t),r=Math.min(o,e.min*e.ratio);return{base:a-r/2,head:a+r/2,center:a,size:r}}draw(){const t=this._cachedMeta,e=t.vScale,i=t.data,s=i.length;let n=0;for(;n<s;++n)null!==this.getParsed(n)[e.axis]&&i[n].draw(this._ctx)}}Sn.id="bar",Sn.defaults={datasetElementType:!1,dataElementType:"bar",categoryPercentage:.8,barPercentage:.9,grouped:!0,animations:{numbers:{type:"number",properties:["x","y","base","width","height"]}}},Sn.overrides={scales:{_index_:{type:"category",offset:!0,grid:{offset:!0}},_value_:{type:"linear",beginAtZero:!0}}};class Pn extends Ps{initialize(){this.enableOptionSharing=!0,super.initialize()}parsePrimitiveData(t,e,i,s){const n=super.parsePrimitiveData(t,e,i,s);for(let t=0;t<n.length;t++)n[t]._custom=this.resolveDataElementOptions(t+i).radius;return n}parseArrayData(t,e,i,s){const n=super.parseArrayData(t,e,i,s);for(let t=0;t<n.length;t++){const s=e[i+t];n[t]._custom=K(s[2],this.resolveDataElementOptions(t+i).radius)}return n}parseObjectData(t,e,i,s){const n=super.parseObjectData(t,e,i,s);for(let t=0;t<n.length;t++){const s=e[i+t];n[t]._custom=K(s&&s.r&&+s.r,this.resolveDataElementOptions(t+i).radius)}return n}getMaxOverflow(){const t=this._cachedMeta.data;let e=0;for(let i=t.length-1;i>=0;--i)e=Math.max(e,t[i].size(this.resolveDataElementOptions(i))/2);return e>0&&e}getLabelAndValue(t){const e=this._cachedMeta,{xScale:i,yScale:s}=e,n=this.getParsed(t),o=i.getLabelForValue(n.x),a=s.getLabelForValue(n.y),r=n._custom;return{label:e.label,value:"("+o+", "+a+(r?", "+r:"")+")"}}update(t){const e=this._cachedMeta.data;this.updateElements(e,0,e.length,t)}updateElements(t,e,i,s){const n="reset"===s,{iScale:o,vScale:a}=this._cachedMeta,r=this.resolveDataElementOptions(e,s),l=this.getSharedOptions(r),h=this.includeOptions(s,l),c=o.axis,d=a.axis;for(let r=e;r<e+i;r++){const e=t[r],i=!n&&this.getParsed(r),l={},u=l[c]=n?o.getPixelForDecimal(.5):o.getPixelForValue(i[c]),f=l[d]=n?a.getBasePixel():a.getPixelForValue(i[d]);l.skip=isNaN(u)||isNaN(f),h&&(l.options=this.resolveDataElementOptions(r,e.active?"active":s),n&&(l.options.radius=0)),this.updateElement(e,r,l,s)}this.updateSharedOptions(l,s,r)}resolveDataElementOptions(t,e){const i=this.getParsed(t);let s=super.resolveDataElementOptions(t,e);s.$shared&&(s=Object.assign({},s,{$shared:!1}));const n=s.radius;return"active"!==e&&(s.radius=0),s.radius+=K(i&&i._custom,n),s}}Pn.id="bubble",Pn.defaults={datasetElementType:!1,dataElementType:"point",animations:{numbers:{type:"number",properties:["x","y","borderWidth","radius"]}}},Pn.overrides={scales:{x:{type:"linear"},y:{type:"linear"}},plugins:{tooltip:{callbacks:{title:()=>""}}}};class Dn extends Ps{constructor(t,e){super(t,e),this.enableOptionSharing=!0,this.innerRadius=void 0,this.outerRadius=void 0,this.offsetX=void 0,this.offsetY=void 0}linkScales(){}parse(t,e){const i=this.getDataset().data,s=this._cachedMeta;if(!1===this._parsing)s._parsed=i;else{let n,o,a=t=>+i[t];if(U(i[t])){const{key:t="value"}=this._parsing;a=e=>+lt(i[e],t)}for(n=t,o=t+e;n<o;++n)s._parsed[n]=a(n)}}_getRotation(){return It(this.options.rotation-90)}_getCircumference(){return It(this.options.circumference)}_getRotationExtents(){let t=yt,e=-yt;for(let i=0;i<this.chart.data.datasets.length;++i)if(this.chart.isDatasetVisible(i)){const s=this.chart.getDatasetMeta(i).controller,n=s._getRotation(),o=s._getCircumference();t=Math.min(t,n),e=Math.max(e,n+o)}return{rotation:t,circumference:e-t}}update(t){const e=this.chart,{chartArea:i}=e,s=this._cachedMeta,n=s.data,o=this.getMaxBorderWidth()+this.getMaxOffset(n)+this.options.spacing,a=Math.max((Math.min(i.width,i.height)-o)/2,0),r=Math.min(G(this.options.cutout,a),1),l=this._getRingWeight(this.index),{circumference:h,rotation:c}=this._getRotationExtents(),{ratioX:d,ratioY:u,offsetX:f,offsetY:g}=function(t,e,i){let s=1,n=1,o=0,a=0;if(e<yt){const r=t,l=r+e,h=Math.cos(r),c=Math.sin(r),d=Math.cos(l),u=Math.sin(l),f=(t,e,s)=>Ht(t,r,l,!0)?1:Math.max(e,e*i,s,s*i),g=(t,e,s)=>Ht(t,r,l,!0)?-1:Math.min(e,e*i,s,s*i),p=f(0,h,d),m=f(kt,c,u),x=g(_t,h,d),b=g(_t+kt,c,u);s=(p-x)/2,n=(m-b)/2,o=-(p+x)/2,a=-(m+b)/2}return{ratioX:s,ratioY:n,offsetX:o,offsetY:a}}(c,h,r),p=(i.width-o)/d,m=(i.height-o)/u,x=Math.max(Math.min(p,m)/2,0),b=Z(this.options.radius,x),_=(b-Math.max(b*r,0))/this._getVisibleDatasetWeightTotal();this.offsetX=f*b,this.offsetY=g*b,s.total=this.calculateTotal(),this.outerRadius=b-_*this._getRingWeightOffset(this.index),this.innerRadius=Math.max(this.outerRadius-_*l,0),this.updateElements(n,0,n.length,t)}_circumference(t,e){const i=this.options,s=this._cachedMeta,n=this._getCircumference();return e&&i.animation.animateRotate||!this.chart.getDataVisibility(t)||null===s._parsed[t]||s.data[t].hidden?0:this.calculateCircumference(s._parsed[t]*n/yt)}updateElements(t,e,i,s){const n="reset"===s,o=this.chart,a=o.chartArea,r=o.options.animation,l=(a.left+a.right)/2,h=(a.top+a.bottom)/2,c=n&&r.animateScale,d=c?0:this.innerRadius,u=c?0:this.outerRadius,f=this.resolveDataElementOptions(e,s),g=this.getSharedOptions(f),p=this.includeOptions(s,g);let m,x=this._getRotation();for(m=0;m<e;++m)x+=this._circumference(m,n);for(m=e;m<e+i;++m){const e=this._circumference(m,n),i=t[m],o={x:l+this.offsetX,y:h+this.offsetY,startAngle:x,endAngle:x+e,circumference:e,outerRadius:u,innerRadius:d};p&&(o.options=g||this.resolveDataElementOptions(m,i.active?"active":s)),x+=e,this.updateElement(i,m,o,s)}this.updateSharedOptions(g,s,f)}calculateTotal(){const t=this._cachedMeta,e=t.data;let i,s=0;for(i=0;i<e.length;i++){const n=t._parsed[i];null===n||isNaN(n)||!this.chart.getDataVisibility(i)||e[i].hidden||(s+=Math.abs(n))}return s}calculateCircumference(t){const e=this._cachedMeta.total;return e>0&&!isNaN(t)?yt*(Math.abs(t)/e):0}getLabelAndValue(t){const e=this._cachedMeta,i=this.chart,s=i.data.labels||[],n=Ri(e._parsed[t],i.options.locale);return{label:s[t]||"",value:n}}getMaxBorderWidth(t){let e=0;const i=this.chart;let s,n,o,a,r;if(!t)for(s=0,n=i.data.datasets.length;s<n;++s)if(i.isDatasetVisible(s)){o=i.getDatasetMeta(s),t=o.data,a=o.controller;break}if(!t)return 0;for(s=0,n=t.length;s<n;++s)r=a.resolveDataElementOptions(s),"inner"!==r.borderAlign&&(e=Math.max(e,r.borderWidth||0,r.hoverBorderWidth||0));return e}getMaxOffset(t){let e=0;for(let i=0,s=t.length;i<s;++i){const t=this.resolveDataElementOptions(i);e=Math.max(e,t.offset||0,t.hoverOffset||0)}return e}_getRingWeightOffset(t){let e=0;for(let i=0;i<t;++i)this.chart.isDatasetVisible(i)&&(e+=this._getRingWeight(i));return e}_getRingWeight(t){return Math.max(K(this.chart.data.datasets[t].weight,1),0)}_getVisibleDatasetWeightTotal(){return this._getRingWeightOffset(this.chart.data.datasets.length)||1}}Dn.id="doughnut",Dn.defaults={datasetElementType:!1,dataElementType:"arc",animation:{animateRotate:!0,animateScale:!1},animations:{numbers:{type:"number",properties:["circumference","endAngle","innerRadius","outerRadius","startAngle","x","y","offset","borderWidth","spacing"]}},cutout:"50%",rotation:0,circumference:360,radius:"100%",spacing:0,indexAxis:"r"},Dn.descriptors={_scriptable:t=>"spacing"!==t,_indexable:t=>"spacing"!==t},Dn.overrides={aspectRatio:1,plugins:{legend:{labels:{generateLabels(t){const e=t.data;if(e.labels.length&&e.datasets.length){const{labels:{pointStyle:i}}=t.legend.options;return e.labels.map(((e,s)=>{const n=t.getDatasetMeta(0).controller.getStyle(s);return{text:e,fillStyle:n.backgroundColor,strokeStyle:n.borderColor,lineWidth:n.borderWidth,pointStyle:i,hidden:!t.getDataVisibility(s),index:s}}))}return[]}},onClick(t,e,i){i.chart.toggleDataVisibility(e.index),i.chart.update()}},tooltip:{callbacks:{title:()=>"",label(t){let e=t.label;const i=": "+t.formattedValue;return Y(e)?(e=e.slice(),e[0]+=i):e+=i,e}}}}};class Cn extends Ps{initialize(){this.enableOptionSharing=!0,super.initialize()}update(t){const e=this._cachedMeta,{dataset:i,data:s=[],_dataset:n}=e,o=this.chart._animationsDisabled;let{start:a,count:r}=function(t,e,i){const s=e.length;let n=0,o=s;if(t._sorted){const{iScale:a,_parsed:r}=t,l=a.axis,{min:h,max:c,minDefined:d,maxDefined:u}=a.getUserBounds();d&&(n=jt(Math.min(re(r,a.axis,h).lo,i?s:re(e,l,a.getPixelForValue(h)).lo),0,s-1)),o=u?jt(Math.max(re(r,a.axis,c).hi+1,i?0:re(e,l,a.getPixelForValue(c)).hi+1),n,s)-n:s-n}return{start:n,count:o}}(e,s,o);this._drawStart=a,this._drawCount=r,function(t){const{xScale:e,yScale:i,_scaleRanges:s}=t,n={xmin:e.min,xmax:e.max,ymin:i.min,ymax:i.max};if(!s)return t._scaleRanges=n,!0;const o=s.xmin!==e.min||s.xmax!==e.max||s.ymin!==i.min||s.ymax!==i.max;return Object.assign(s,n),o}(e)&&(a=0,r=s.length),i._chart=this.chart,i._datasetIndex=this.index,i._decimated=!!n._decimated,i.points=s;const l=this.resolveDatasetElementOptions(t);this.options.showLine||(l.borderWidth=0),l.segment=this.options.segment,this.updateElement(i,void 0,{animated:!o,options:l},t),this.updateElements(s,a,r,t)}updateElements(t,e,i,s){const n="reset"===s,{iScale:o,vScale:a,_stacked:r,_dataset:l}=this._cachedMeta,h=this.resolveDataElementOptions(e,s),c=this.getSharedOptions(h),d=this.includeOptions(s,c),u=o.axis,f=a.axis,{spanGaps:g,segment:p}=this.options,m=Tt(g)?g:Number.POSITIVE_INFINITY,x=this.chart._animationsDisabled||n||"none"===s;let b=e>0&&this.getParsed(e-1);for(let h=e;h<e+i;++h){const e=t[h],i=this.getParsed(h),g=x?e:{},_=$(i[f]),y=g[u]=o.getPixelForValue(i[u],h),v=g[f]=n||_?a.getBasePixel():a.getPixelForValue(r?this.applyStack(a,i,r):i[f],h);g.skip=isNaN(y)||isNaN(v)||_,g.stop=h>0&&i[u]-b[u]>m,p&&(g.parsed=i,g.raw=l.data[h]),d&&(g.options=c||this.resolveDataElementOptions(h,e.active?"active":s)),x||this.updateElement(e,h,g,s),b=i}this.updateSharedOptions(c,s,h)}getMaxOverflow(){const t=this._cachedMeta,e=t.dataset,i=e.options&&e.options.borderWidth||0,s=t.data||[];if(!s.length)return i;const n=s[0].size(this.resolveDataElementOptions(0)),o=s[s.length-1].size(this.resolveDataElementOptions(s.length-1));return Math.max(i,n,o)/2}draw(){const t=this._cachedMeta;t.dataset.updateControlPoints(this.chart.chartArea,t.iScale.axis),super.draw()}}Cn.id="line",Cn.defaults={datasetElementType:"line",dataElementType:"point",showLine:!0,spanGaps:!1},Cn.overrides={scales:{_index_:{type:"category"},_value_:{type:"linear"}}};class On extends Ps{constructor(t,e){super(t,e),this.innerRadius=void 0,this.outerRadius=void 0}getLabelAndValue(t){const e=this._cachedMeta,i=this.chart,s=i.data.labels||[],n=Ri(e._parsed[t].r,i.options.locale);return{label:s[t]||"",value:n}}update(t){const e=this._cachedMeta.data;this._updateRadius(),this.updateElements(e,0,e.length,t)}_updateRadius(){const t=this.chart,e=t.chartArea,i=t.options,s=Math.min(e.right-e.left,e.bottom-e.top),n=Math.max(s/2,0),o=(n-Math.max(i.cutoutPercentage?n/100*i.cutoutPercentage:1,0))/t.getVisibleDatasetCount();this.outerRadius=n-o*this.index,this.innerRadius=this.outerRadius-o}updateElements(t,e,i,s){const n="reset"===s,o=this.chart,a=this.getDataset(),r=o.options.animation,l=this._cachedMeta.rScale,h=l.xCenter,c=l.yCenter,d=l.getIndexAngle(0)-.5*_t;let u,f=d;const g=360/this.countVisibleElements();for(u=0;u<e;++u)f+=this._computeAngle(u,s,g);for(u=e;u<e+i;u++){const e=t[u];let i=f,p=f+this._computeAngle(u,s,g),m=o.getDataVisibility(u)?l.getDistanceFromCenterForValue(a.data[u]):0;f=p,n&&(r.animateScale&&(m=0),r.animateRotate&&(i=p=d));const x={x:h,y:c,innerRadius:0,outerRadius:m,startAngle:i,endAngle:p,options:this.resolveDataElementOptions(u,e.active?"active":s)};this.updateElement(e,u,x,s)}}countVisibleElements(){const t=this.getDataset(),e=this._cachedMeta;let i=0;return e.data.forEach(((e,s)=>{!isNaN(t.data[s])&&this.chart.getDataVisibility(s)&&i++})),i}_computeAngle(t,e,i){return this.chart.getDataVisibility(t)?It(this.resolveDataElementOptions(t,e).angle||i):0}}On.id="polarArea",On.defaults={dataElementType:"arc",animation:{animateRotate:!0,animateScale:!0},animations:{numbers:{type:"number",properties:["x","y","startAngle","endAngle","innerRadius","outerRadius"]}},indexAxis:"r",startAngle:0},On.overrides={aspectRatio:1,plugins:{legend:{labels:{generateLabels(t){const e=t.data;if(e.labels.length&&e.datasets.length){const{labels:{pointStyle:i}}=t.legend.options;return e.labels.map(((e,s)=>{const n=t.getDatasetMeta(0).controller.getStyle(s);return{text:e,fillStyle:n.backgroundColor,strokeStyle:n.borderColor,lineWidth:n.borderWidth,pointStyle:i,hidden:!t.getDataVisibility(s),index:s}}))}return[]}},onClick(t,e,i){i.chart.toggleDataVisibility(e.index),i.chart.update()}},tooltip:{callbacks:{title:()=>"",label:t=>t.chart.data.labels[t.dataIndex]+": "+t.formattedValue}}},scales:{r:{type:"radialLinear",angleLines:{display:!1},beginAtZero:!0,grid:{circular:!0},pointLabels:{display:!1},startAngle:0}}};class An extends Dn{}An.id="pie",An.defaults={cutout:0,rotation:0,circumference:360,radius:"100%"};class Tn extends Ps{getLabelAndValue(t){const e=this._cachedMeta.vScale,i=this.getParsed(t);return{label:e.getLabels()[t],value:""+e.getLabelForValue(i[e.axis])}}update(t){const e=this._cachedMeta,i=e.dataset,s=e.data||[],n=e.iScale.getLabels();if(i.points=s,"resize"!==t){const e=this.resolveDatasetElementOptions(t);this.options.showLine||(e.borderWidth=0);const o={_loop:!0,_fullLoop:n.length===s.length,options:e};this.updateElement(i,void 0,o,t)}this.updateElements(s,0,s.length,t)}updateElements(t,e,i,s){const n=this.getDataset(),o=this._cachedMeta.rScale,a="reset"===s;for(let r=e;r<e+i;r++){const e=t[r],i=this.resolveDataElementOptions(r,e.active?"active":s),l=o.getPointPositionForValue(r,n.data[r]),h=a?o.xCenter:l.x,c=a?o.yCenter:l.y,d={x:h,y:c,angle:l.angle,skip:isNaN(h)||isNaN(c),options:i};this.updateElement(e,r,d,s)}}}Tn.id="radar",Tn.defaults={datasetElementType:"line",dataElementType:"point",indexAxis:"r",showLine:!0,elements:{line:{fill:"start"}}},Tn.overrides={aspectRatio:1,scales:{r:{type:"radialLinear"}}};class Ln extends Cn{}Ln.id="scatter",Ln.defaults={showLine:!1,fill:!1},Ln.overrides={interaction:{mode:"point"},plugins:{tooltip:{callbacks:{title:()=>"",label:t=>"("+t.label+", "+t.formattedValue+")"}}},scales:{x:{type:"linear"},y:{type:"linear"}}};var Rn=Object.freeze({__proto__:null,BarController:Sn,BubbleController:Pn,DoughnutController:Dn,LineController:Cn,PolarAreaController:On,PieController:An,RadarController:Tn,ScatterController:Ln});function En(t,e,i){const{startAngle:s,pixelMargin:n,x:o,y:a,outerRadius:r,innerRadius:l}=e;let h=n/r;t.beginPath(),t.arc(o,a,r,s-h,i+h),l>n?(h=n/l,t.arc(o,a,l,i+h,s-h,!0)):t.arc(o,a,n,i+kt,s-kt),t.closePath(),t.clip()}function In(t,e,i,s){const n=Be(t.options.borderRadius,["outerStart","outerEnd","innerStart","innerEnd"]);const o=(i-e)/2,a=Math.min(o,s*e/2),r=t=>{const e=(i-Math.min(o,t))*s/2;return jt(t,0,Math.min(o,e))};return{outerStart:r(n.outerStart),outerEnd:r(n.outerEnd),innerStart:jt(n.innerStart,0,a),innerEnd:jt(n.innerEnd,0,a)}}function zn(t,e,i,s){return{x:i+t*Math.cos(e),y:s+t*Math.sin(e)}}function Fn(t,e,i,s,n){const{x:o,y:a,startAngle:r,pixelMargin:l,innerRadius:h}=e,c=Math.max(e.outerRadius+s+i-l,0),d=h>0?h+s+i+l:0;let u=0;const f=n-r;if(s){const t=((h>0?h-s:0)+(c>0?c-s:0))/2;u=(f-(0!==t?f*t/(t+s):f))/2}const g=(f-Math.max(.001,f*c-i/_t)/c)/2,p=r+g+u,m=n-g-u,{outerStart:x,outerEnd:b,innerStart:_,innerEnd:y}=In(e,d,c,m-p),v=c-x,w=c-b,M=p+x/v,k=m-b/w,S=d+_,P=d+y,D=p+_/S,C=m-y/P;if(t.beginPath(),t.arc(o,a,c,M,k),b>0){const e=zn(w,k,o,a);t.arc(e.x,e.y,b,k,m+kt)}const O=zn(P,m,o,a);if(t.lineTo(O.x,O.y),y>0){const e=zn(P,C,o,a);t.arc(e.x,e.y,y,m+kt,C+Math.PI)}if(t.arc(o,a,d,m-y/d,p+_/d,!0),_>0){const e=zn(S,D,o,a);t.arc(e.x,e.y,_,D+Math.PI,p-kt)}const A=zn(v,p,o,a);if(t.lineTo(A.x,A.y),x>0){const e=zn(v,M,o,a);t.arc(e.x,e.y,x,p-kt,M)}t.closePath()}function Bn(t,e,i,s,n){const{options:o}=e,{borderWidth:a,borderJoinStyle:r}=o,l="inner"===o.borderAlign;a&&(l?(t.lineWidth=2*a,t.lineJoin=r||"round"):(t.lineWidth=a,t.lineJoin=r||"bevel"),e.fullCircles&&function(t,e,i){const{x:s,y:n,startAngle:o,pixelMargin:a,fullCircles:r}=e,l=Math.max(e.outerRadius-a,0),h=e.innerRadius+a;let c;for(i&&En(t,e,o+yt),t.beginPath(),t.arc(s,n,h,o+yt,o,!0),c=0;c<r;++c)t.stroke();for(t.beginPath(),t.arc(s,n,l,o,o+yt),c=0;c<r;++c)t.stroke()}(t,e,l),l&&En(t,e,n),Fn(t,e,i,s,n),t.stroke())}class Vn extends Ds{constructor(t){super(),this.options=void 0,this.circumference=void 0,this.startAngle=void 0,this.endAngle=void 0,this.innerRadius=void 0,this.outerRadius=void 0,this.pixelMargin=0,this.fullCircles=0,t&&Object.assign(this,t)}inRange(t,e,i){const s=this.getProps(["x","y"],i),{angle:n,distance:o}=Bt(s,{x:t,y:e}),{startAngle:a,endAngle:r,innerRadius:l,outerRadius:h,circumference:c}=this.getProps(["startAngle","endAngle","innerRadius","outerRadius","circumference"],i),d=this.options.spacing/2,u=K(c,r-a)>=yt||Ht(n,a,r),f=Yt(o,l+d,h+d);return u&&f}getCenterPoint(t){const{x:e,y:i,startAngle:s,endAngle:n,innerRadius:o,outerRadius:a}=this.getProps(["x","y","startAngle","endAngle","innerRadius","outerRadius","circumference"],t),{offset:r,spacing:l}=this.options,h=(s+n)/2,c=(o+a+l+r)/2;return{x:e+Math.cos(h)*c,y:i+Math.sin(h)*c}}tooltipPosition(t){return this.getCenterPoint(t)}draw(t){const{options:e,circumference:i}=this,s=(e.offset||0)/2,n=(e.spacing||0)/2;if(this.pixelMargin="inner"===e.borderAlign?.33:0,this.fullCircles=i>yt?Math.floor(i/yt):0,0===i||this.innerRadius<0||this.outerRadius<0)return;t.save();let o=0;if(s){o=s/2;const e=(this.startAngle+this.endAngle)/2;t.translate(Math.cos(e)*o,Math.sin(e)*o),this.circumference>=_t&&(o=s)}t.fillStyle=e.backgroundColor,t.strokeStyle=e.borderColor;const a=function(t,e,i,s){const{fullCircles:n,startAngle:o,circumference:a}=e;let r=e.endAngle;if(n){Fn(t,e,i,s,o+yt);for(let e=0;e<n;++e)t.fill();isNaN(a)||(r=o+a%yt,a%yt==0&&(r+=yt))}return Fn(t,e,i,s,r),t.fill(),r}(t,this,o,n);Bn(t,this,o,n,a),t.restore()}}function Wn(t,e,i=e){t.lineCap=K(i.borderCapStyle,e.borderCapStyle),t.setLineDash(K(i.borderDash,e.borderDash)),t.lineDashOffset=K(i.borderDashOffset,e.borderDashOffset),t.lineJoin=K(i.borderJoinStyle,e.borderJoinStyle),t.lineWidth=K(i.borderWidth,e.borderWidth),t.strokeStyle=K(i.borderColor,e.borderColor)}function Nn(t,e,i){t.lineTo(i.x,i.y)}function Hn(t,e,i={}){const s=t.length,{start:n=0,end:o=s-1}=i,{start:a,end:r}=e,l=Math.max(n,a),h=Math.min(o,r),c=n<a&&o<a||n>r&&o>r;return{count:s,start:l,loop:e.loop,ilen:h<l&&!c?s+h-l:h-l}}function jn(t,e,i,s){const{points:n,options:o}=e,{count:a,start:r,loop:l,ilen:h}=Hn(n,i,s),c=function(t){return t.stepped?ee:t.tension||"monotone"===t.cubicInterpolationMode?ie:Nn}(o);let d,u,f,{move:g=!0,reverse:p}=s||{};for(d=0;d<=h;++d)u=n[(r+(p?h-d:d))%a],u.skip||(g?(t.moveTo(u.x,u.y),g=!1):c(t,f,u,p,o.stepped),f=u);return l&&(u=n[(r+(p?h:0))%a],c(t,f,u,p,o.stepped)),!!l}function $n(t,e,i,s){const n=e.points,{count:o,start:a,ilen:r}=Hn(n,i,s),{move:l=!0,reverse:h}=s||{};let c,d,u,f,g,p,m=0,x=0;const b=t=>(a+(h?r-t:t))%o,_=()=>{f!==g&&(t.lineTo(m,g),t.lineTo(m,f),t.lineTo(m,p))};for(l&&(d=n[b(0)],t.moveTo(d.x,d.y)),c=0;c<=r;++c){if(d=n[b(c)],d.skip)continue;const e=d.x,i=d.y,s=0|e;s===u?(i<f?f=i:i>g&&(g=i),m=(x*m+e)/++x):(_(),t.lineTo(e,i),u=s,x=0,f=g=i),p=i}_()}function Yn(t){const e=t.options,i=e.borderDash&&e.borderDash.length;return!(t._decimated||t._loop||e.tension||"monotone"===e.cubicInterpolationMode||e.stepped||i)?$n:jn}Vn.id="arc",Vn.defaults={borderAlign:"center",borderColor:"#fff",borderJoinStyle:void 0,borderRadius:0,borderWidth:2,offset:0,spacing:0,angle:void 0},Vn.defaultRoutes={backgroundColor:"backgroundColor"};const Un="function"==typeof Path2D;function Xn(t,e,i,s){Un&&!e.options.segment?function(t,e,i,s){let n=e._path;n||(n=e._path=new Path2D,e.path(n,i,s)&&n.closePath()),Wn(t,e.options),t.stroke(n)}(t,e,i,s):function(t,e,i,s){const{segments:n,options:o}=e,a=Yn(e);for(const r of n)Wn(t,o,r.style),t.beginPath(),a(t,e,r,{start:i,end:i+s-1})&&t.closePath(),t.stroke()}(t,e,i,s)}class qn extends Ds{constructor(t){super(),this.animated=!0,this.options=void 0,this._chart=void 0,this._loop=void 0,this._fullLoop=void 0,this._path=void 0,this._points=void 0,this._segments=void 0,this._decimated=!1,this._pointsUpdated=!1,this._datasetIndex=void 0,t&&Object.assign(this,t)}updateControlPoints(t,e){const i=this.options;if((i.tension||"monotone"===i.cubicInterpolationMode)&&!i.stepped&&!this._pointsUpdated){const s=i.spanGaps?this._loop:this._fullLoop;ki(this._points,i,t,s,e),this._pointsUpdated=!0}}set points(t){this._points=t,delete this._segments,delete this._path,this._pointsUpdated=!1}get points(){return this._points}get segments(){return this._segments||(this._segments=Ni(this,this.options.segment))}first(){const t=this.segments,e=this.points;return t.length&&e[t[0].start]}last(){const t=this.segments,e=this.points,i=t.length;return i&&e[t[i-1].end]}interpolate(t,e){const i=this.options,s=t[e],n=this.points,o=Wi(this,{property:e,start:s,end:s});if(!o.length)return;const a=[],r=function(t){return t.stepped?Ai:t.tension||"monotone"===t.cubicInterpolationMode?Ti:Oi}(i);let l,h;for(l=0,h=o.length;l<h;++l){const{start:h,end:c}=o[l],d=n[h],u=n[c];if(d===u){a.push(d);continue}const f=r(d,u,Math.abs((s-d[e])/(u[e]-d[e])),i.stepped);f[e]=t[e],a.push(f)}return 1===a.length?a[0]:a}pathSegment(t,e,i){return Yn(this)(t,this,e,i)}path(t,e,i){const s=this.segments,n=Yn(this);let o=this._loop;e=e||0,i=i||this.points.length-e;for(const a of s)o&=n(t,this,a,{start:e,end:e+i-1});return!!o}draw(t,e,i,s){const n=this.options||{};(this.points||[]).length&&n.borderWidth&&(t.save(),Xn(t,this,i,s),t.restore()),this.animated&&(this._pointsUpdated=!1,this._path=void 0)}}function Kn(t,e,i,s){const n=t.options,{[i]:o}=t.getProps([i],s);return Math.abs(e-o)<n.radius+n.hitRadius}qn.id="line",qn.defaults={borderCapStyle:"butt",borderDash:[],borderDashOffset:0,borderJoinStyle:"miter",borderWidth:3,capBezierPoints:!0,cubicInterpolationMode:"default",fill:!1,spanGaps:!1,stepped:!1,tension:0},qn.defaultRoutes={backgroundColor:"backgroundColor",borderColor:"borderColor"},qn.descriptors={_scriptable:!0,_indexable:t=>"borderDash"!==t&&"fill"!==t};class Gn extends Ds{constructor(t){super(),this.options=void 0,this.parsed=void 0,this.skip=void 0,this.stop=void 0,t&&Object.assign(this,t)}inRange(t,e,i){const s=this.options,{x:n,y:o}=this.getProps(["x","y"],i);return Math.pow(t-n,2)+Math.pow(e-o,2)<Math.pow(s.hitRadius+s.radius,2)}inXRange(t,e){return Kn(this,t,"x",e)}inYRange(t,e){return Kn(this,t,"y",e)}getCenterPoint(t){const{x:e,y:i}=this.getProps(["x","y"],t);return{x:e,y:i}}size(t){let e=(t=t||this.options||{}).radius||0;e=Math.max(e,e&&t.hoverRadius||0);return 2*(e+(e&&t.borderWidth||0))}draw(t,e){const i=this.options;this.skip||i.radius<.1||!Jt(this,e,this.size(i)/2)||(t.strokeStyle=i.borderColor,t.lineWidth=i.borderWidth,t.fillStyle=i.backgroundColor,Zt(t,i,this.x,this.y))}getRange(){const t=this.options||{};return t.radius+t.hitRadius}}function Zn(t,e){const{x:i,y:s,base:n,width:o,height:a}=t.getProps(["x","y","base","width","height"],e);let r,l,h,c,d;return t.horizontal?(d=a/2,r=Math.min(i,n),l=Math.max(i,n),h=s-d,c=s+d):(d=o/2,r=i-d,l=i+d,h=Math.min(s,n),c=Math.max(s,n)),{left:r,top:h,right:l,bottom:c}}function Jn(t,e,i,s){return t?0:jt(e,i,s)}function Qn(t){const e=Zn(t),i=e.right-e.left,s=e.bottom-e.top,n=function(t,e,i){const s=t.options.borderWidth,n=t.borderSkipped,o=Ve(s);return{t:Jn(n.top,o.top,0,i),r:Jn(n.right,o.right,0,e),b:Jn(n.bottom,o.bottom,0,i),l:Jn(n.left,o.left,0,e)}}(t,i/2,s/2),o=function(t,e,i){const{enableBorderRadius:s}=t.getProps(["enableBorderRadius"]),n=t.options.borderRadius,o=We(n),a=Math.min(e,i),r=t.borderSkipped,l=s||U(n);return{topLeft:Jn(!l||r.top||r.left,o.topLeft,0,a),topRight:Jn(!l||r.top||r.right,o.topRight,0,a),bottomLeft:Jn(!l||r.bottom||r.left,o.bottomLeft,0,a),bottomRight:Jn(!l||r.bottom||r.right,o.bottomRight,0,a)}}(t,i/2,s/2);return{outer:{x:e.left,y:e.top,w:i,h:s,radius:o},inner:{x:e.left+n.l,y:e.top+n.t,w:i-n.l-n.r,h:s-n.t-n.b,radius:{topLeft:Math.max(0,o.topLeft-Math.max(n.t,n.l)),topRight:Math.max(0,o.topRight-Math.max(n.t,n.r)),bottomLeft:Math.max(0,o.bottomLeft-Math.max(n.b,n.l)),bottomRight:Math.max(0,o.bottomRight-Math.max(n.b,n.r))}}}}function to(t,e,i,s){const n=null===e,o=null===i,a=t&&!(n&&o)&&Zn(t,s);return a&&(n||Yt(e,a.left,a.right))&&(o||Yt(i,a.top,a.bottom))}function eo(t,e){t.rect(e.x,e.y,e.w,e.h)}function io(t,e,i={}){const s=t.x!==i.x?-e:0,n=t.y!==i.y?-e:0,o=(t.x+t.w!==i.x+i.w?e:0)-s,a=(t.y+t.h!==i.y+i.h?e:0)-n;return{x:t.x+s,y:t.y+n,w:t.w+o,h:t.h+a,radius:t.radius}}Gn.id="point",Gn.defaults={borderWidth:1,hitRadius:1,hoverBorderWidth:1,hoverRadius:4,pointStyle:"circle",radius:3,rotation:0},Gn.defaultRoutes={backgroundColor:"backgroundColor",borderColor:"borderColor"};class so extends Ds{constructor(t){super(),this.options=void 0,this.horizontal=void 0,this.base=void 0,this.width=void 0,this.height=void 0,this.inflateAmount=void 0,t&&Object.assign(this,t)}draw(t){const{inflateAmount:e,options:{borderColor:i,backgroundColor:s}}=this,{inner:n,outer:o}=Qn(this),a=(r=o.radius).topLeft||r.topRight||r.bottomLeft||r.bottomRight?oe:eo;var r;t.save(),o.w===n.w&&o.h===n.h||(t.beginPath(),a(t,io(o,e,n)),t.clip(),a(t,io(n,-e,o)),t.fillStyle=i,t.fill("evenodd")),t.beginPath(),a(t,io(n,e)),t.fillStyle=s,t.fill(),t.restore()}inRange(t,e,i){return to(this,t,e,i)}inXRange(t,e){return to(this,t,null,e)}inYRange(t,e){return to(this,null,t,e)}getCenterPoint(t){const{x:e,y:i,base:s,horizontal:n}=this.getProps(["x","y","base","horizontal"],t);return{x:n?(e+s)/2:e,y:n?i:(i+s)/2}}getRange(t){return"x"===t?this.width/2:this.height/2}}so.id="bar",so.defaults={borderSkipped:"start",borderWidth:0,borderRadius:0,inflateAmount:"auto",pointStyle:void 0},so.defaultRoutes={backgroundColor:"backgroundColor",borderColor:"borderColor"};var no=Object.freeze({__proto__:null,ArcElement:Vn,LineElement:qn,PointElement:Gn,BarElement:so});function oo(t){if(t._decimated){const e=t._data;delete t._decimated,delete t._data,Object.defineProperty(t,"data",{value:e})}}function ao(t){t.data.datasets.forEach((t=>{oo(t)}))}var ro={id:"decimation",defaults:{algorithm:"min-max",enabled:!1},beforeElementsUpdate:(t,e,i)=>{if(!i.enabled)return void ao(t);const s=t.width;t.data.datasets.forEach(((e,n)=>{const{_data:o,indexAxis:a}=e,r=t.getDatasetMeta(n),l=o||e.data;if("y"===je([a,t.options.indexAxis]))return;if("line"!==r.type)return;const h=t.scales[r.xAxisID];if("linear"!==h.type&&"time"!==h.type)return;if(t.options.parsing)return;let{start:c,count:d}=function(t,e){const i=e.length;let s,n=0;const{iScale:o}=t,{min:a,max:r,minDefined:l,maxDefined:h}=o.getUserBounds();return l&&(n=jt(re(e,o.axis,a).lo,0,i-1)),s=h?jt(re(e,o.axis,r).hi+1,n,i)-n:i-n,{start:n,count:s}}(r,l);if(d<=(i.threshold||4*s))return void oo(e);let u;switch($(o)&&(e._data=l,delete e.data,Object.defineProperty(e,"data",{configurable:!0,enumerable:!0,get:function(){return this._decimated},set:function(t){this._data=t}})),i.algorithm){case"lttb":u=function(t,e,i,s,n){const o=n.samples||s;if(o>=i)return t.slice(e,e+i);const a=[],r=(i-2)/(o-2);let l=0;const h=e+i-1;let c,d,u,f,g,p=e;for(a[l++]=t[p],c=0;c<o-2;c++){let s,n=0,o=0;const h=Math.floor((c+1)*r)+1+e,m=Math.min(Math.floor((c+2)*r)+1,i)+e,x=m-h;for(s=h;s<m;s++)n+=t[s].x,o+=t[s].y;n/=x,o/=x;const b=Math.floor(c*r)+1+e,_=Math.min(Math.floor((c+1)*r)+1,i)+e,{x:y,y:v}=t[p];for(u=f=-1,s=b;s<_;s++)f=.5*Math.abs((y-n)*(t[s].y-v)-(y-t[s].x)*(o-v)),f>u&&(u=f,d=t[s],g=s);a[l++]=d,p=g}return a[l++]=t[h],a}(l,c,d,s,i);break;case"min-max":u=function(t,e,i,s){let n,o,a,r,l,h,c,d,u,f,g=0,p=0;const m=[],x=e+i-1,b=t[e].x,_=t[x].x-b;for(n=e;n<e+i;++n){o=t[n],a=(o.x-b)/_*s,r=o.y;const e=0|a;if(e===l)r<u?(u=r,h=n):r>f&&(f=r,c=n),g=(p*g+o.x)/++p;else{const i=n-1;if(!$(h)&&!$(c)){const e=Math.min(h,c),s=Math.max(h,c);e!==d&&e!==i&&m.push({...t[e],x:g}),s!==d&&s!==i&&m.push({...t[s],x:g})}n>0&&i!==d&&m.push(t[i]),m.push(o),l=e,p=0,u=f=r,h=c=d=n}}return m}(l,c,d,s);break;default:throw new Error(`Unsupported decimation algorithm '${i.algorithm}'`)}e._decimated=u}))},destroy(t){ao(t)}};function lo(t,e,i){const s=function(t){const e=t.options,i=e.fill;let s=K(i&&i.target,i);return void 0===s&&(s=!!e.backgroundColor),!1!==s&&null!==s&&(!0===s?"origin":s)}(t);if(U(s))return!isNaN(s.value)&&s;let n=parseFloat(s);return X(n)&&Math.floor(n)===n?("-"!==s[0]&&"+"!==s[0]||(n=e+n),!(n===e||n<0||n>=i)&&n):["origin","start","end","stack","shape"].indexOf(s)>=0&&s}class ho{constructor(t){this.x=t.x,this.y=t.y,this.radius=t.radius}pathSegment(t,e,i){const{x:s,y:n,radius:o}=this;return e=e||{start:0,end:yt},t.arc(s,n,o,e.end,e.start,!0),!i.bounds}interpolate(t){const{x:e,y:i,radius:s}=this,n=t.angle;return{x:e+Math.cos(n)*s,y:i+Math.sin(n)*s,angle:n}}}function co(t){return(t.scale||{}).getPointPositionForValue?function(t){const{scale:e,fill:i}=t,s=e.options,n=e.getLabels().length,o=[],a=s.reverse?e.max:e.min,r=s.reverse?e.min:e.max;let l,h,c;if(c="start"===i?a:"end"===i?r:U(i)?i.value:e.getBaseValue(),s.grid.circular)return h=e.getPointPositionForValue(0,a),new ho({x:h.x,y:h.y,radius:e.getDistanceFromCenterForValue(c)});for(l=0;l<n;++l)o.push(e.getPointPositionForValue(l,c));return o}(t):function(t){const{scale:e={},fill:i}=t;let s,n=null;return"start"===i?n=e.bottom:"end"===i?n=e.top:U(i)?n=e.getPixelForValue(i.value):e.getBasePixel&&(n=e.getBasePixel()),X(n)?(s=e.isHorizontal(),{x:s?n:null,y:s?null:n}):null}(t)}function uo(t,e,i){for(;e>t;e--){const t=i[e];if(!isNaN(t.x)&&!isNaN(t.y))break}return e}function fo(t,e,i){const s=[];for(let n=0;n<i.length;n++){const o=i[n],{first:a,last:r,point:l}=go(o,e,"x");if(!(!l||a&&r))if(a)s.unshift(l);else if(t.push(l),!r)break}t.push(...s)}function go(t,e,i){const s=t.interpolate(e,i);if(!s)return{};const n=s[i],o=t.segments,a=t.points;let r=!1,l=!1;for(let t=0;t<o.length;t++){const e=o[t],s=a[e.start][i],h=a[e.end][i];if(Yt(n,s,h)){r=n===s,l=n===h;break}}return{first:r,last:l,point:s}}function po(t){const{chart:e,fill:i,line:s}=t;if(X(i))return function(t,e){const i=t.getDatasetMeta(e);return i&&t.isDatasetVisible(e)?i.dataset:null}(e,i);if("stack"===i)return function(t){const{scale:e,index:i,line:s}=t,n=[],o=s.segments,a=s.points,r=function(t,e){const i=[],s=t.getMatchingVisibleMetas("line");for(let t=0;t<s.length;t++){const n=s[t];if(n.index===e)break;n.hidden||i.unshift(n.dataset)}return i}(e,i);r.push(mo({x:null,y:e.bottom},s));for(let t=0;t<o.length;t++){const e=o[t];for(let t=e.start;t<=e.end;t++)fo(n,a[t],r)}return new qn({points:n,options:{}})}(t);if("shape"===i)return!0;const n=co(t);return n instanceof ho?n:mo(n,s)}function mo(t,e){let i=[],s=!1;return Y(t)?(s=!0,i=t):i=function(t,e){const{x:i=null,y:s=null}=t||{},n=e.points,o=[];return e.segments.forEach((({start:t,end:e})=>{e=uo(t,e,n);const a=n[t],r=n[e];null!==s?(o.push({x:a.x,y:s}),o.push({x:r.x,y:s})):null!==i&&(o.push({x:i,y:a.y}),o.push({x:i,y:r.y}))})),o}(t,e),i.length?new qn({points:i,options:{tension:0},_loop:s,_fullLoop:s}):null}function xo(t,e,i){let s=t[e].fill;const n=[e];let o;if(!i)return s;for(;!1!==s&&-1===n.indexOf(s);){if(!X(s))return s;if(o=t[s],!o)return!1;if(o.visible)return s;n.push(s),s=o.fill}return!1}function bo(t,e,i){t.beginPath(),e.path(t),t.lineTo(e.last().x,i),t.lineTo(e.first().x,i),t.closePath(),t.clip()}function _o(t,e,i,s){if(s)return;let n=e[t],o=i[t];return"angle"===t&&(n=Nt(n),o=Nt(o)),{property:t,start:n,end:o}}function yo(t,e,i,s){return t&&e?s(t[i],e[i]):t?t[i]:e?e[i]:0}function vo(t,e,i){const{top:s,bottom:n}=e.chart.chartArea,{property:o,start:a,end:r}=i||{};"x"===o&&(t.beginPath(),t.rect(a,s,r-a,n-s),t.clip())}function wo(t,e,i,s){const n=e.interpolate(i,s);n&&t.lineTo(n.x,n.y)}function Mo(t,e){const{line:i,target:s,property:n,color:o,scale:a}=e,r=function(t,e,i){const s=t.segments,n=t.points,o=e.points,a=[];for(const t of s){let{start:s,end:r}=t;r=uo(s,r,n);const l=_o(i,n[s],n[r],t.loop);if(!e.segments){a.push({source:t,target:l,start:n[s],end:n[r]});continue}const h=Wi(e,l);for(const e of h){const s=_o(i,o[e.start],o[e.end],e.loop),r=Vi(t,n,s);for(const t of r)a.push({source:t,target:e,start:{[i]:yo(l,s,"start",Math.max)},end:{[i]:yo(l,s,"end",Math.min)}})}}return a}(i,s,n);for(const{source:e,target:l,start:h,end:c}of r){const{style:{backgroundColor:r=o}={}}=e,d=!0!==s;t.save(),t.fillStyle=r,vo(t,a,d&&_o(n,h,c)),t.beginPath();const u=!!i.pathSegment(t,e);let f;if(d){u?t.closePath():wo(t,s,c,n);const e=!!s.pathSegment(t,l,{move:u,reverse:!0});f=u&&e,f||wo(t,s,h,n)}t.closePath(),t.fill(f?"evenodd":"nonzero"),t.restore()}}function ko(t,e,i){const s=po(e),{line:n,scale:o,axis:a}=e,r=n.options,l=r.fill,h=r.backgroundColor,{above:c=h,below:d=h}=l||{};s&&n.points.length&&(Qt(t,i),function(t,e){const{line:i,target:s,above:n,below:o,area:a,scale:r}=e,l=i._loop?"angle":e.axis;t.save(),"x"===l&&o!==n&&(bo(t,s,a.top),Mo(t,{line:i,target:s,color:n,scale:r,property:l}),t.restore(),t.save(),bo(t,s,a.bottom)),Mo(t,{line:i,target:s,color:o,scale:r,property:l}),t.restore()}(t,{line:n,target:s,above:c,below:d,area:i,scale:o,axis:a}),te(t))}var So={id:"filler",afterDatasetsUpdate(t,e,i){const s=(t.data.datasets||[]).length,n=[];let o,a,r,l;for(a=0;a<s;++a)o=t.getDatasetMeta(a),r=o.dataset,l=null,r&&r.options&&r instanceof qn&&(l={visible:t.isDatasetVisible(a),index:a,fill:lo(r,a,s),chart:t,axis:o.controller.options.indexAxis,scale:o.vScale,line:r}),o.$filler=l,n.push(l);for(a=0;a<s;++a)l=n[a],l&&!1!==l.fill&&(l.fill=xo(n,a,i.propagate))},beforeDraw(t,e,i){const s="beforeDraw"===i.drawTime,n=t.getSortedVisibleDatasetMetas(),o=t.chartArea;for(let e=n.length-1;e>=0;--e){const i=n[e].$filler;i&&(i.line.updateControlPoints(o,i.axis),s&&ko(t.ctx,i,o))}},beforeDatasetsDraw(t,e,i){if("beforeDatasetsDraw"!==i.drawTime)return;const s=t.getSortedVisibleDatasetMetas();for(let e=s.length-1;e>=0;--e){const i=s[e].$filler;i&&ko(t.ctx,i,t.chartArea)}},beforeDatasetDraw(t,e,i){const s=e.meta.$filler;s&&!1!==s.fill&&"beforeDatasetDraw"===i.drawTime&&ko(t.ctx,s,t.chartArea)},defaults:{propagate:!0,drawTime:"beforeDatasetDraw"}};const Po=(t,e)=>{let{boxHeight:i=e,boxWidth:s=e}=t;return t.usePointStyle&&(i=Math.min(i,e),s=Math.min(s,e)),{boxWidth:s,boxHeight:i,itemHeight:Math.max(e,i)}};class Do extends Ds{constructor(t){super(),this._added=!1,this.legendHitBoxes=[],this._hoveredItem=null,this.doughnutMode=!1,this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this.legendItems=void 0,this.columnSizes=void 0,this.lineWidths=void 0,this.maxHeight=void 0,this.maxWidth=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.height=void 0,this.width=void 0,this._margins=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,e,i){this.maxWidth=t,this.maxHeight=e,this._margins=i,this.setDimensions(),this.buildLabels(),this.fit()}setDimensions(){this.isHorizontal()?(this.width=this.maxWidth,this.left=this._margins.left,this.right=this.width):(this.height=this.maxHeight,this.top=this._margins.top,this.bottom=this.height)}buildLabels(){const t=this.options.labels||{};let e=J(t.generateLabels,[this.chart],this)||[];t.filter&&(e=e.filter((e=>t.filter(e,this.chart.data)))),t.sort&&(e=e.sort(((e,i)=>t.sort(e,i,this.chart.data)))),this.options.reverse&&e.reverse(),this.legendItems=e}fit(){const{options:t,ctx:e}=this;if(!t.display)return void(this.width=this.height=0);const i=t.labels,s=He(i.font),n=s.size,o=this._computeTitleHeight(),{boxWidth:a,itemHeight:r}=Po(i,n);let l,h;e.font=s.string,this.isHorizontal()?(l=this.maxWidth,h=this._fitRows(o,n,a,r)+10):(h=this.maxHeight,l=this._fitCols(o,n,a,r)+10),this.width=Math.min(l,t.maxWidth||this.maxWidth),this.height=Math.min(h,t.maxHeight||this.maxHeight)}_fitRows(t,e,i,s){const{ctx:n,maxWidth:o,options:{labels:{padding:a}}}=this,r=this.legendHitBoxes=[],l=this.lineWidths=[0],h=s+a;let c=t;n.textAlign="left",n.textBaseline="middle";let d=-1,u=-h;return this.legendItems.forEach(((t,f)=>{const g=i+e/2+n.measureText(t.text).width;(0===f||l[l.length-1]+g+2*a>o)&&(c+=h,l[l.length-(f>0?0:1)]=0,u+=h,d++),r[f]={left:0,top:u,row:d,width:g,height:s},l[l.length-1]+=g+a})),c}_fitCols(t,e,i,s){const{ctx:n,maxHeight:o,options:{labels:{padding:a}}}=this,r=this.legendHitBoxes=[],l=this.columnSizes=[],h=o-t;let c=a,d=0,u=0,f=0,g=0;return this.legendItems.forEach(((t,o)=>{const p=i+e/2+n.measureText(t.text).width;o>0&&u+s+2*a>h&&(c+=d+a,l.push({width:d,height:u}),f+=d+a,g++,d=u=0),r[o]={left:f,top:u,col:g,width:p,height:s},d=Math.max(d,p),u+=s+a})),c+=d,l.push({width:d,height:u}),c}adjustHitBoxes(){if(!this.options.display)return;const t=this._computeTitleHeight(),{legendHitBoxes:e,options:{align:i,labels:{padding:s},rtl:o}}=this,a=Ei(o,this.left,this.width);if(this.isHorizontal()){let o=0,r=n(i,this.left+s,this.right-this.lineWidths[o]);for(const l of e)o!==l.row&&(o=l.row,r=n(i,this.left+s,this.right-this.lineWidths[o])),l.top+=this.top+t+s,l.left=a.leftForLtr(a.x(r),l.width),r+=l.width+s}else{let o=0,r=n(i,this.top+t+s,this.bottom-this.columnSizes[o].height);for(const l of e)l.col!==o&&(o=l.col,r=n(i,this.top+t+s,this.bottom-this.columnSizes[o].height)),l.top=r,l.left+=this.left+s,l.left=a.leftForLtr(a.x(l.left),l.width),r+=l.height+s}}isHorizontal(){return"top"===this.options.position||"bottom"===this.options.position}draw(){if(this.options.display){const t=this.ctx;Qt(t,this),this._draw(),te(t)}}_draw(){const{options:t,columnSizes:e,lineWidths:i,ctx:s}=this,{align:a,labels:r}=t,l=bt.color,h=Ei(t.rtl,this.left,this.width),c=He(r.font),{color:d,padding:u}=r,f=c.size,g=f/2;let p;this.drawTitle(),s.textAlign=h.textAlign("left"),s.textBaseline="middle",s.lineWidth=.5,s.font=c.string;const{boxWidth:m,boxHeight:x,itemHeight:b}=Po(r,f),_=this.isHorizontal(),y=this._computeTitleHeight();p=_?{x:n(a,this.left+u,this.right-i[0]),y:this.top+u+y,line:0}:{x:this.left+u,y:n(a,this.top+y+u,this.bottom-e[0].height),line:0},Ii(this.ctx,t.textDirection);const v=b+u;this.legendItems.forEach(((w,M)=>{s.strokeStyle=w.fontColor||d,s.fillStyle=w.fontColor||d;const k=s.measureText(w.text).width,S=h.textAlign(w.textAlign||(w.textAlign=r.textAlign)),P=m+g+k;let D=p.x,C=p.y;h.setWidth(this.width),_?M>0&&D+P+u>this.right&&(C=p.y+=v,p.line++,D=p.x=n(a,this.left+u,this.right-i[p.line])):M>0&&C+v>this.bottom&&(D=p.x=D+e[p.line].width+u,p.line++,C=p.y=n(a,this.top+y+u,this.bottom-e[p.line].height));!function(t,e,i){if(isNaN(m)||m<=0||isNaN(x)||x<0)return;s.save();const n=K(i.lineWidth,1);if(s.fillStyle=K(i.fillStyle,l),s.lineCap=K(i.lineCap,"butt"),s.lineDashOffset=K(i.lineDashOffset,0),s.lineJoin=K(i.lineJoin,"miter"),s.lineWidth=n,s.strokeStyle=K(i.strokeStyle,l),s.setLineDash(K(i.lineDash,[])),r.usePointStyle){const o={radius:m*Math.SQRT2/2,pointStyle:i.pointStyle,rotation:i.rotation,borderWidth:n},a=h.xPlus(t,m/2);Zt(s,o,a,e+g)}else{const o=e+Math.max((f-x)/2,0),a=h.leftForLtr(t,m),r=We(i.borderRadius);s.beginPath(),Object.values(r).some((t=>0!==t))?oe(s,{x:a,y:o,w:m,h:x,radius:r}):s.rect(a,o,m,x),s.fill(),0!==n&&s.stroke()}s.restore()}(h.x(D),C,w),D=o(S,D+m+g,_?D+P:this.right,t.rtl),function(t,e,i){se(s,i.text,t,e+b/2,c,{strikethrough:i.hidden,textAlign:h.textAlign(i.textAlign)})}(h.x(D),C,w),_?p.x+=P+u:p.y+=v})),zi(this.ctx,t.textDirection)}drawTitle(){const t=this.options,e=t.title,i=He(e.font),o=Ne(e.padding);if(!e.display)return;const a=Ei(t.rtl,this.left,this.width),r=this.ctx,l=e.position,h=i.size/2,c=o.top+h;let d,u=this.left,f=this.width;if(this.isHorizontal())f=Math.max(...this.lineWidths),d=this.top+c,u=n(t.align,u,this.right-f);else{const e=this.columnSizes.reduce(((t,e)=>Math.max(t,e.height)),0);d=c+n(t.align,this.top,this.bottom-e-t.labels.padding-this._computeTitleHeight())}const g=n(l,u,u+f);r.textAlign=a.textAlign(s(l)),r.textBaseline="middle",r.strokeStyle=e.color,r.fillStyle=e.color,r.font=i.string,se(r,e.text,g,d,i)}_computeTitleHeight(){const t=this.options.title,e=He(t.font),i=Ne(t.padding);return t.display?e.lineHeight+i.height:0}_getLegendItemAt(t,e){let i,s,n;if(Yt(t,this.left,this.right)&&Yt(e,this.top,this.bottom))for(n=this.legendHitBoxes,i=0;i<n.length;++i)if(s=n[i],Yt(t,s.left,s.left+s.width)&&Yt(e,s.top,s.top+s.height))return this.legendItems[i];return null}handleEvent(t){const e=this.options;if(!function(t,e){if("mousemove"===t&&(e.onHover||e.onLeave))return!0;if(e.onClick&&("click"===t||"mouseup"===t))return!0;return!1}(t.type,e))return;const i=this._getLegendItemAt(t.x,t.y);if("mousemove"===t.type){const o=this._hoveredItem,a=(n=i,null!==(s=o)&&null!==n&&s.datasetIndex===n.datasetIndex&&s.index===n.index);o&&!a&&J(e.onLeave,[t,o,this],this),this._hoveredItem=i,i&&!a&&J(e.onHover,[t,i,this],this)}else i&&J(e.onClick,[t,i,this],this);var s,n}}var Co={id:"legend",_element:Do,start(t,e,i){const s=t.legend=new Do({ctx:t.ctx,options:i,chart:t});ni.configure(t,s,i),ni.addBox(t,s)},stop(t){ni.removeBox(t,t.legend),delete t.legend},beforeUpdate(t,e,i){const s=t.legend;ni.configure(t,s,i),s.options=i},afterUpdate(t){const e=t.legend;e.buildLabels(),e.adjustHitBoxes()},afterEvent(t,e){e.replay||t.legend.handleEvent(e.event)},defaults:{display:!0,position:"top",align:"center",fullSize:!0,reverse:!1,weight:1e3,onClick(t,e,i){const s=e.datasetIndex,n=i.chart;n.isDatasetVisible(s)?(n.hide(s),e.hidden=!0):(n.show(s),e.hidden=!1)},onHover:null,onLeave:null,labels:{color:t=>t.chart.options.color,boxWidth:40,padding:10,generateLabels(t){const e=t.data.datasets,{labels:{usePointStyle:i,pointStyle:s,textAlign:n,color:o}}=t.legend.options;return t._getSortedDatasetMetas().map((t=>{const a=t.controller.getStyle(i?0:void 0),r=Ne(a.borderWidth);return{text:e[t.index].label,fillStyle:a.backgroundColor,fontColor:o,hidden:!t.visible,lineCap:a.borderCapStyle,lineDash:a.borderDash,lineDashOffset:a.borderDashOffset,lineJoin:a.borderJoinStyle,lineWidth:(r.width+r.height)/4,strokeStyle:a.borderColor,pointStyle:s||a.pointStyle,rotation:a.rotation,textAlign:n||a.textAlign,borderRadius:0,datasetIndex:t.index}}),this)}},title:{color:t=>t.chart.options.color,display:!1,position:"center",text:""}},descriptors:{_scriptable:t=>!t.startsWith("on"),labels:{_scriptable:t=>!["generateLabels","filter","sort"].includes(t)}}};class Oo extends Ds{constructor(t){super(),this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this._padding=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,e){const i=this.options;if(this.left=0,this.top=0,!i.display)return void(this.width=this.height=this.right=this.bottom=0);this.width=this.right=t,this.height=this.bottom=e;const s=Y(i.text)?i.text.length:1;this._padding=Ne(i.padding);const n=s*He(i.font).lineHeight+this._padding.height;this.isHorizontal()?this.height=n:this.width=n}isHorizontal(){const t=this.options.position;return"top"===t||"bottom"===t}_drawArgs(t){const{top:e,left:i,bottom:s,right:o,options:a}=this,r=a.align;let l,h,c,d=0;return this.isHorizontal()?(h=n(r,i,o),c=e+t,l=o-i):("left"===a.position?(h=i+t,c=n(r,s,e),d=-.5*_t):(h=o-t,c=n(r,e,s),d=.5*_t),l=s-e),{titleX:h,titleY:c,maxWidth:l,rotation:d}}draw(){const t=this.ctx,e=this.options;if(!e.display)return;const i=He(e.font),n=i.lineHeight/2+this._padding.top,{titleX:o,titleY:a,maxWidth:r,rotation:l}=this._drawArgs(n);se(t,e.text,0,0,i,{color:e.color,maxWidth:r,rotation:l,textAlign:s(e.align),textBaseline:"middle",translation:[o,a]})}}var Ao={id:"title",_element:Oo,start(t,e,i){!function(t,e){const i=new Oo({ctx:t.ctx,options:e,chart:t});ni.configure(t,i,e),ni.addBox(t,i),t.titleBlock=i}(t,i)},stop(t){const e=t.titleBlock;ni.removeBox(t,e),delete t.titleBlock},beforeUpdate(t,e,i){const s=t.titleBlock;ni.configure(t,s,i),s.options=i},defaults:{align:"center",display:!1,font:{weight:"bold"},fullSize:!0,padding:10,position:"top",text:"",weight:2e3},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}};const To=new WeakMap;var Lo={id:"subtitle",start(t,e,i){const s=new Oo({ctx:t.ctx,options:i,chart:t});ni.configure(t,s,i),ni.addBox(t,s),To.set(t,s)},stop(t){ni.removeBox(t,To.get(t)),To.delete(t)},beforeUpdate(t,e,i){const s=To.get(t);ni.configure(t,s,i),s.options=i},defaults:{align:"center",display:!1,font:{weight:"normal"},fullSize:!0,padding:0,position:"top",text:"",weight:1500},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}};const Ro={average(t){if(!t.length)return!1;let e,i,s=0,n=0,o=0;for(e=0,i=t.length;e<i;++e){const i=t[e].element;if(i&&i.hasValue()){const t=i.tooltipPosition();s+=t.x,n+=t.y,++o}}return{x:s/o,y:n/o}},nearest(t,e){if(!t.length)return!1;let i,s,n,o=e.x,a=e.y,r=Number.POSITIVE_INFINITY;for(i=0,s=t.length;i<s;++i){const s=t[i].element;if(s&&s.hasValue()){const t=Vt(e,s.getCenterPoint());t<r&&(r=t,n=s)}}if(n){const t=n.tooltipPosition();o=t.x,a=t.y}return{x:o,y:a}}};function Eo(t,e){return e&&(Y(e)?Array.prototype.push.apply(t,e):t.push(e)),t}function Io(t){return("string"==typeof t||t instanceof String)&&t.indexOf("\n")>-1?t.split("\n"):t}function zo(t,e){const{element:i,datasetIndex:s,index:n}=e,o=t.getDatasetMeta(s).controller,{label:a,value:r}=o.getLabelAndValue(n);return{chart:t,label:a,parsed:o.getParsed(n),raw:t.data.datasets[s].data[n],formattedValue:r,dataset:o.getDataset(),dataIndex:n,datasetIndex:s,element:i}}function Fo(t,e){const i=t.chart.ctx,{body:s,footer:n,title:o}=t,{boxWidth:a,boxHeight:r}=e,l=He(e.bodyFont),h=He(e.titleFont),c=He(e.footerFont),d=o.length,u=n.length,f=s.length,g=Ne(e.padding);let p=g.height,m=0,x=s.reduce(((t,e)=>t+e.before.length+e.lines.length+e.after.length),0);if(x+=t.beforeBody.length+t.afterBody.length,d&&(p+=d*h.lineHeight+(d-1)*e.titleSpacing+e.titleMarginBottom),x){p+=f*(e.displayColors?Math.max(r,l.lineHeight):l.lineHeight)+(x-f)*l.lineHeight+(x-1)*e.bodySpacing}u&&(p+=e.footerMarginTop+u*c.lineHeight+(u-1)*e.footerSpacing);let b=0;const _=function(t){m=Math.max(m,i.measureText(t).width+b)};return i.save(),i.font=h.string,Q(t.title,_),i.font=l.string,Q(t.beforeBody.concat(t.afterBody),_),b=e.displayColors?a+2+e.boxPadding:0,Q(s,(t=>{Q(t.before,_),Q(t.lines,_),Q(t.after,_)})),b=0,i.font=c.string,Q(t.footer,_),i.restore(),m+=g.width,{width:m,height:p}}function Bo(t,e,i,s){const{x:n,width:o}=i,{width:a,chartArea:{left:r,right:l}}=t;let h="center";return"center"===s?h=n<=(r+l)/2?"left":"right":n<=o/2?h="left":n>=a-o/2&&(h="right"),function(t,e,i,s){const{x:n,width:o}=s,a=i.caretSize+i.caretPadding;return"left"===t&&n+o+a>e.width||"right"===t&&n-o-a<0||void 0}(h,t,e,i)&&(h="center"),h}function Vo(t,e,i){const s=i.yAlign||e.yAlign||function(t,e){const{y:i,height:s}=e;return i<s/2?"top":i>t.height-s/2?"bottom":"center"}(t,i);return{xAlign:i.xAlign||e.xAlign||Bo(t,e,i,s),yAlign:s}}function Wo(t,e,i,s){const{caretSize:n,caretPadding:o,cornerRadius:a}=t,{xAlign:r,yAlign:l}=i,h=n+o,{topLeft:c,topRight:d,bottomLeft:u,bottomRight:f}=We(a);let g=function(t,e){let{x:i,width:s}=t;return"right"===e?i-=s:"center"===e&&(i-=s/2),i}(e,r);const p=function(t,e,i){let{y:s,height:n}=t;return"top"===e?s+=i:s-="bottom"===e?n+i:n/2,s}(e,l,h);return"center"===l?"left"===r?g+=h:"right"===r&&(g-=h):"left"===r?g-=Math.max(c,u)+n:"right"===r&&(g+=Math.max(d,f)+n),{x:jt(g,0,s.width-e.width),y:jt(p,0,s.height-e.height)}}function No(t,e,i){const s=Ne(i.padding);return"center"===e?t.x+t.width/2:"right"===e?t.x+t.width-s.right:t.x+s.left}function Ho(t){return Eo([],Io(t))}function jo(t,e){const i=e&&e.dataset&&e.dataset.tooltip&&e.dataset.tooltip.callbacks;return i?t.override(i):t}class $o extends Ds{constructor(t){super(),this.opacity=0,this._active=[],this._eventPosition=void 0,this._size=void 0,this._cachedAnimations=void 0,this._tooltipItems=[],this.$animations=void 0,this.$context=void 0,this.chart=t.chart||t._chart,this._chart=this.chart,this.options=t.options,this.dataPoints=void 0,this.title=void 0,this.beforeBody=void 0,this.body=void 0,this.afterBody=void 0,this.footer=void 0,this.xAlign=void 0,this.yAlign=void 0,this.x=void 0,this.y=void 0,this.height=void 0,this.width=void 0,this.caretX=void 0,this.caretY=void 0,this.labelColors=void 0,this.labelPointStyles=void 0,this.labelTextColors=void 0}initialize(t){this.options=t,this._cachedAnimations=void 0,this.$context=void 0}_resolveAnimations(){const t=this._cachedAnimations;if(t)return t;const e=this.chart,i=this.options.setContext(this.getContext()),s=i.enabled&&e.options.animation&&i.animations,n=new gs(this.chart,s);return s._cacheable&&(this._cachedAnimations=Object.freeze(n)),n}getContext(){return this.$context||(this.$context=(t=this.chart.getContext(),e=this,i=this._tooltipItems,Ye(t,{tooltip:e,tooltipItems:i,type:"tooltip"})));var t,e,i}getTitle(t,e){const{callbacks:i}=e,s=i.beforeTitle.apply(this,[t]),n=i.title.apply(this,[t]),o=i.afterTitle.apply(this,[t]);let a=[];return a=Eo(a,Io(s)),a=Eo(a,Io(n)),a=Eo(a,Io(o)),a}getBeforeBody(t,e){return Ho(e.callbacks.beforeBody.apply(this,[t]))}getBody(t,e){const{callbacks:i}=e,s=[];return Q(t,(t=>{const e={before:[],lines:[],after:[]},n=jo(i,t);Eo(e.before,Io(n.beforeLabel.call(this,t))),Eo(e.lines,n.label.call(this,t)),Eo(e.after,Io(n.afterLabel.call(this,t))),s.push(e)})),s}getAfterBody(t,e){return Ho(e.callbacks.afterBody.apply(this,[t]))}getFooter(t,e){const{callbacks:i}=e,s=i.beforeFooter.apply(this,[t]),n=i.footer.apply(this,[t]),o=i.afterFooter.apply(this,[t]);let a=[];return a=Eo(a,Io(s)),a=Eo(a,Io(n)),a=Eo(a,Io(o)),a}_createItems(t){const e=this._active,i=this.chart.data,s=[],n=[],o=[];let a,r,l=[];for(a=0,r=e.length;a<r;++a)l.push(zo(this.chart,e[a]));return t.filter&&(l=l.filter(((e,s,n)=>t.filter(e,s,n,i)))),t.itemSort&&(l=l.sort(((e,s)=>t.itemSort(e,s,i)))),Q(l,(e=>{const i=jo(t.callbacks,e);s.push(i.labelColor.call(this,e)),n.push(i.labelPointStyle.call(this,e)),o.push(i.labelTextColor.call(this,e))})),this.labelColors=s,this.labelPointStyles=n,this.labelTextColors=o,this.dataPoints=l,l}update(t,e){const i=this.options.setContext(this.getContext()),s=this._active;let n,o=[];if(s.length){const t=Ro[i.position].call(this,s,this._eventPosition);o=this._createItems(i),this.title=this.getTitle(o,i),this.beforeBody=this.getBeforeBody(o,i),this.body=this.getBody(o,i),this.afterBody=this.getAfterBody(o,i),this.footer=this.getFooter(o,i);const e=this._size=Fo(this,i),a=Object.assign({},t,e),r=Vo(this.chart,i,a),l=Wo(i,a,r,this.chart);this.xAlign=r.xAlign,this.yAlign=r.yAlign,n={opacity:1,x:l.x,y:l.y,width:e.width,height:e.height,caretX:t.x,caretY:t.y}}else 0!==this.opacity&&(n={opacity:0});this._tooltipItems=o,this.$context=void 0,n&&this._resolveAnimations().update(this,n),t&&i.external&&i.external.call(this,{chart:this.chart,tooltip:this,replay:e})}drawCaret(t,e,i,s){const n=this.getCaretPosition(t,i,s);e.lineTo(n.x1,n.y1),e.lineTo(n.x2,n.y2),e.lineTo(n.x3,n.y3)}getCaretPosition(t,e,i){const{xAlign:s,yAlign:n}=this,{caretSize:o,cornerRadius:a}=i,{topLeft:r,topRight:l,bottomLeft:h,bottomRight:c}=We(a),{x:d,y:u}=t,{width:f,height:g}=e;let p,m,x,b,_,y;return"center"===n?(_=u+g/2,"left"===s?(p=d,m=p-o,b=_+o,y=_-o):(p=d+f,m=p+o,b=_-o,y=_+o),x=p):(m="left"===s?d+Math.max(r,h)+o:"right"===s?d+f-Math.max(l,c)-o:this.caretX,"top"===n?(b=u,_=b-o,p=m-o,x=m+o):(b=u+g,_=b+o,p=m+o,x=m-o),y=b),{x1:p,x2:m,x3:x,y1:b,y2:_,y3:y}}drawTitle(t,e,i){const s=this.title,n=s.length;let o,a,r;if(n){const l=Ei(i.rtl,this.x,this.width);for(t.x=No(this,i.titleAlign,i),e.textAlign=l.textAlign(i.titleAlign),e.textBaseline="middle",o=He(i.titleFont),a=i.titleSpacing,e.fillStyle=i.titleColor,e.font=o.string,r=0;r<n;++r)e.fillText(s[r],l.x(t.x),t.y+o.lineHeight/2),t.y+=o.lineHeight+a,r+1===n&&(t.y+=i.titleMarginBottom-a)}}_drawColorBox(t,e,i,s,n){const o=this.labelColors[i],a=this.labelPointStyles[i],{boxHeight:r,boxWidth:l,boxPadding:h}=n,c=He(n.bodyFont),d=No(this,"left",n),u=s.x(d),f=r<c.lineHeight?(c.lineHeight-r)/2:0,g=e.y+f;if(n.usePointStyle){const e={radius:Math.min(l,r)/2,pointStyle:a.pointStyle,rotation:a.rotation,borderWidth:1},i=s.leftForLtr(u,l)+l/2,h=g+r/2;t.strokeStyle=n.multiKeyBackground,t.fillStyle=n.multiKeyBackground,Zt(t,e,i,h),t.strokeStyle=o.borderColor,t.fillStyle=o.backgroundColor,Zt(t,e,i,h)}else{t.lineWidth=o.borderWidth||1,t.strokeStyle=o.borderColor,t.setLineDash(o.borderDash||[]),t.lineDashOffset=o.borderDashOffset||0;const e=s.leftForLtr(u,l-h),i=s.leftForLtr(s.xPlus(u,1),l-h-2),a=We(o.borderRadius);Object.values(a).some((t=>0!==t))?(t.beginPath(),t.fillStyle=n.multiKeyBackground,oe(t,{x:e,y:g,w:l,h:r,radius:a}),t.fill(),t.stroke(),t.fillStyle=o.backgroundColor,t.beginPath(),oe(t,{x:i,y:g+1,w:l-2,h:r-2,radius:a}),t.fill()):(t.fillStyle=n.multiKeyBackground,t.fillRect(e,g,l,r),t.strokeRect(e,g,l,r),t.fillStyle=o.backgroundColor,t.fillRect(i,g+1,l-2,r-2))}t.fillStyle=this.labelTextColors[i]}drawBody(t,e,i){const{body:s}=this,{bodySpacing:n,bodyAlign:o,displayColors:a,boxHeight:r,boxWidth:l,boxPadding:h}=i,c=He(i.bodyFont);let d=c.lineHeight,u=0;const f=Ei(i.rtl,this.x,this.width),g=function(i){e.fillText(i,f.x(t.x+u),t.y+d/2),t.y+=d+n},p=f.textAlign(o);let m,x,b,_,y,v,w;for(e.textAlign=o,e.textBaseline="middle",e.font=c.string,t.x=No(this,p,i),e.fillStyle=i.bodyColor,Q(this.beforeBody,g),u=a&&"right"!==p?"center"===o?l/2+h:l+2+h:0,_=0,v=s.length;_<v;++_){for(m=s[_],x=this.labelTextColors[_],e.fillStyle=x,Q(m.before,g),b=m.lines,a&&b.length&&(this._drawColorBox(e,t,_,f,i),d=Math.max(c.lineHeight,r)),y=0,w=b.length;y<w;++y)g(b[y]),d=c.lineHeight;Q(m.after,g)}u=0,d=c.lineHeight,Q(this.afterBody,g),t.y-=n}drawFooter(t,e,i){const s=this.footer,n=s.length;let o,a;if(n){const r=Ei(i.rtl,this.x,this.width);for(t.x=No(this,i.footerAlign,i),t.y+=i.footerMarginTop,e.textAlign=r.textAlign(i.footerAlign),e.textBaseline="middle",o=He(i.footerFont),e.fillStyle=i.footerColor,e.font=o.string,a=0;a<n;++a)e.fillText(s[a],r.x(t.x),t.y+o.lineHeight/2),t.y+=o.lineHeight+i.footerSpacing}}drawBackground(t,e,i,s){const{xAlign:n,yAlign:o}=this,{x:a,y:r}=t,{width:l,height:h}=i,{topLeft:c,topRight:d,bottomLeft:u,bottomRight:f}=We(s.cornerRadius);e.fillStyle=s.backgroundColor,e.strokeStyle=s.borderColor,e.lineWidth=s.borderWidth,e.beginPath(),e.moveTo(a+c,r),"top"===o&&this.drawCaret(t,e,i,s),e.lineTo(a+l-d,r),e.quadraticCurveTo(a+l,r,a+l,r+d),"center"===o&&"right"===n&&this.drawCaret(t,e,i,s),e.lineTo(a+l,r+h-f),e.quadraticCurveTo(a+l,r+h,a+l-f,r+h),"bottom"===o&&this.drawCaret(t,e,i,s),e.lineTo(a+u,r+h),e.quadraticCurveTo(a,r+h,a,r+h-u),"center"===o&&"left"===n&&this.drawCaret(t,e,i,s),e.lineTo(a,r+c),e.quadraticCurveTo(a,r,a+c,r),e.closePath(),e.fill(),s.borderWidth>0&&e.stroke()}_updateAnimationTarget(t){const e=this.chart,i=this.$animations,s=i&&i.x,n=i&&i.y;if(s||n){const i=Ro[t.position].call(this,this._active,this._eventPosition);if(!i)return;const o=this._size=Fo(this,t),a=Object.assign({},i,this._size),r=Vo(e,t,a),l=Wo(t,a,r,e);s._to===l.x&&n._to===l.y||(this.xAlign=r.xAlign,this.yAlign=r.yAlign,this.width=o.width,this.height=o.height,this.caretX=i.x,this.caretY=i.y,this._resolveAnimations().update(this,l))}}draw(t){const e=this.options.setContext(this.getContext());let i=this.opacity;if(!i)return;this._updateAnimationTarget(e);const s={width:this.width,height:this.height},n={x:this.x,y:this.y};i=Math.abs(i)<.001?0:i;const o=Ne(e.padding),a=this.title.length||this.beforeBody.length||this.body.length||this.afterBody.length||this.footer.length;e.enabled&&a&&(t.save(),t.globalAlpha=i,this.drawBackground(n,t,s,e),Ii(t,e.textDirection),n.y+=o.top,this.drawTitle(n,t,e),this.drawBody(n,t,e),this.drawFooter(n,t,e),zi(t,e.textDirection),t.restore())}getActiveElements(){return this._active||[]}setActiveElements(t,e){const i=this._active,s=t.map((({datasetIndex:t,index:e})=>{const i=this.chart.getDatasetMeta(t);if(!i)throw new Error("Cannot find a dataset at index "+t);return{datasetIndex:t,element:i.data[e],index:e}})),n=!tt(i,s),o=this._positionChanged(s,e);(n||o)&&(this._active=s,this._eventPosition=e,this._ignoreReplayEvents=!0,this.update(!0))}handleEvent(t,e,i=!0){if(e&&this._ignoreReplayEvents)return!1;this._ignoreReplayEvents=!1;const s=this.options,n=this._active||[],o=this._getActiveElements(t,n,e,i),a=this._positionChanged(o,t),r=e||!tt(o,n)||a;return r&&(this._active=o,(s.enabled||s.external)&&(this._eventPosition={x:t.x,y:t.y},this.update(!0,e))),r}_getActiveElements(t,e,i,s){const n=this.options;if("mouseout"===t.type)return[];if(!s)return e;const o=this.chart.getElementsAtEventForMode(t,n.mode,n,i);return n.reverse&&o.reverse(),o}_positionChanged(t,e){const{caretX:i,caretY:s,options:n}=this,o=Ro[n.position].call(this,t,e);return!1!==o&&(i!==o.x||s!==o.y)}}$o.positioners=Ro;var Yo={id:"tooltip",_element:$o,positioners:Ro,afterInit(t,e,i){i&&(t.tooltip=new $o({chart:t,options:i}))},beforeUpdate(t,e,i){t.tooltip&&t.tooltip.initialize(i)},reset(t,e,i){t.tooltip&&t.tooltip.initialize(i)},afterDraw(t){const e=t.tooltip,i={tooltip:e};!1!==t.notifyPlugins("beforeTooltipDraw",i)&&(e&&e.draw(t.ctx),t.notifyPlugins("afterTooltipDraw",i))},afterEvent(t,e){if(t.tooltip){const i=e.replay;t.tooltip.handleEvent(e.event,i,e.inChartArea)&&(e.changed=!0)}},defaults:{enabled:!0,external:null,position:"average",backgroundColor:"rgba(0,0,0,0.8)",titleColor:"#fff",titleFont:{weight:"bold"},titleSpacing:2,titleMarginBottom:6,titleAlign:"left",bodyColor:"#fff",bodySpacing:2,bodyFont:{},bodyAlign:"left",footerColor:"#fff",footerSpacing:2,footerMarginTop:6,footerFont:{weight:"bold"},footerAlign:"left",padding:6,caretPadding:2,caretSize:5,cornerRadius:6,boxHeight:(t,e)=>e.bodyFont.size,boxWidth:(t,e)=>e.bodyFont.size,multiKeyBackground:"#fff",displayColors:!0,boxPadding:0,borderColor:"rgba(0,0,0,0)",borderWidth:0,animation:{duration:400,easing:"easeOutQuart"},animations:{numbers:{type:"number",properties:["x","y","width","height","caretX","caretY"]},opacity:{easing:"linear",duration:200}},callbacks:{beforeTitle:H,title(t){if(t.length>0){const e=t[0],i=e.chart.data.labels,s=i?i.length:0;if(this&&this.options&&"dataset"===this.options.mode)return e.dataset.label||"";if(e.label)return e.label;if(s>0&&e.dataIndex<s)return i[e.dataIndex]}return""},afterTitle:H,beforeBody:H,beforeLabel:H,label(t){if(this&&this.options&&"dataset"===this.options.mode)return t.label+": "+t.formattedValue||t.formattedValue;let e=t.dataset.label||"";e&&(e+=": ");const i=t.formattedValue;return $(i)||(e+=i),e},labelColor(t){const e=t.chart.getDatasetMeta(t.datasetIndex).controller.getStyle(t.dataIndex);return{borderColor:e.borderColor,backgroundColor:e.backgroundColor,borderWidth:e.borderWidth,borderDash:e.borderDash,borderDashOffset:e.borderDashOffset,borderRadius:0}},labelTextColor(){return this.options.bodyColor},labelPointStyle(t){const e=t.chart.getDatasetMeta(t.datasetIndex).controller.getStyle(t.dataIndex);return{pointStyle:e.pointStyle,rotation:e.rotation}},afterLabel:H,afterBody:H,beforeFooter:H,footer:H,afterFooter:H}},defaultRoutes:{bodyFont:"font",footerFont:"font",titleFont:"font"},descriptors:{_scriptable:t=>"filter"!==t&&"itemSort"!==t&&"external"!==t,_indexable:!1,callbacks:{_scriptable:!1,_indexable:!1},animation:{_fallback:!1},animations:{_fallback:"animation"}},additionalOptionScopes:["interaction"]},Uo=Object.freeze({__proto__:null,Decimation:ro,Filler:So,Legend:Co,SubTitle:Lo,Title:Ao,Tooltip:Yo});function Xo(t,e,i,s){const n=t.indexOf(e);if(-1===n)return((t,e,i,s)=>("string"==typeof e?(i=t.push(e)-1,s.unshift({index:i,label:e})):isNaN(e)&&(i=null),i))(t,e,i,s);return n!==t.lastIndexOf(e)?i:n}class qo extends Bs{constructor(t){super(t),this._startValue=void 0,this._valueRange=0,this._addedLabels=[]}init(t){const e=this._addedLabels;if(e.length){const t=this.getLabels();for(const{index:i,label:s}of e)t[i]===s&&t.splice(i,1);this._addedLabels=[]}super.init(t)}parse(t,e){if($(t))return null;const i=this.getLabels();return((t,e)=>null===t?null:jt(Math.round(t),0,e))(e=isFinite(e)&&i[e]===t?e:Xo(i,t,K(e,t),this._addedLabels),i.length-1)}determineDataLimits(){const{minDefined:t,maxDefined:e}=this.getUserBounds();let{min:i,max:s}=this.getMinMax(!0);"ticks"===this.options.bounds&&(t||(i=0),e||(s=this.getLabels().length-1)),this.min=i,this.max=s}buildTicks(){const t=this.min,e=this.max,i=this.options.offset,s=[];let n=this.getLabels();n=0===t&&e===n.length-1?n:n.slice(t,e+1),this._valueRange=Math.max(n.length-(i?0:1),1),this._startValue=this.min-(i?.5:0);for(let i=t;i<=e;i++)s.push({value:i});return s}getLabelForValue(t){const e=this.getLabels();return t>=0&&t<e.length?e[t]:t}configure(){super.configure(),this.isHorizontal()||(this._reversePixels=!this._reversePixels)}getPixelForValue(t){return"number"!=typeof t&&(t=this.parse(t)),null===t?NaN:this.getPixelForDecimal((t-this._startValue)/this._valueRange)}getPixelForTick(t){const e=this.ticks;return t<0||t>e.length-1?null:this.getPixelForValue(e[t].value)}getValueForPixel(t){return Math.round(this._startValue+this.getDecimalForPixel(t)*this._valueRange)}getBasePixel(){return this.bottom}}function Ko(t,e,{horizontal:i,minRotation:s}){const n=It(s),o=(i?Math.sin(n):Math.cos(n))||.001,a=.75*e*(""+t).length;return Math.min(e/o,a)}qo.id="category",qo.defaults={ticks:{callback:qo.prototype.getLabelForValue}};class Go extends Bs{constructor(t){super(t),this.start=void 0,this.end=void 0,this._startValue=void 0,this._endValue=void 0,this._valueRange=0}parse(t,e){return $(t)||("number"==typeof t||t instanceof Number)&&!isFinite(+t)?null:+t}handleTickRangeOptions(){const{beginAtZero:t}=this.options,{minDefined:e,maxDefined:i}=this.getUserBounds();let{min:s,max:n}=this;const o=t=>s=e?s:t,a=t=>n=i?n:t;if(t){const t=Ct(s),e=Ct(n);t<0&&e<0?a(0):t>0&&e>0&&o(0)}if(s===n){let e=1;(n>=Number.MAX_SAFE_INTEGER||s<=Number.MIN_SAFE_INTEGER)&&(e=Math.abs(.05*n)),a(n+e),t||o(s-e)}this.min=s,this.max=n}getTickLimit(){const t=this.options.ticks;let e,{maxTicksLimit:i,stepSize:s}=t;return s?(e=Math.ceil(this.max/s)-Math.floor(this.min/s)+1,e>1e3&&(console.warn(`scales.${this.id}.ticks.stepSize: ${s} would result generating up to ${e} ticks. Limiting to 1000.`),e=1e3)):(e=this.computeTickLimit(),i=i||11),i&&(e=Math.min(i,e)),e}computeTickLimit(){return Number.POSITIVE_INFINITY}buildTicks(){const t=this.options,e=t.ticks;let i=this.getTickLimit();i=Math.max(2,i);const s=function(t,e){const i=[],{bounds:s,step:n,min:o,max:a,precision:r,count:l,maxTicks:h,maxDigits:c,includeBounds:d}=t,u=n||1,f=h-1,{min:g,max:p}=e,m=!$(o),x=!$(a),b=!$(l),_=(p-g)/(c+1);let y,v,w,M,k=Ot((p-g)/f/u)*u;if(k<1e-14&&!m&&!x)return[{value:g},{value:p}];M=Math.ceil(p/k)-Math.floor(g/k),M>f&&(k=Ot(M*k/f/u)*u),$(r)||(y=Math.pow(10,r),k=Math.ceil(k*y)/y),"ticks"===s?(v=Math.floor(g/k)*k,w=Math.ceil(p/k)*k):(v=g,w=p),m&&x&&n&&Rt((a-o)/n,k/1e3)?(M=Math.round(Math.min((a-o)/k,h)),k=(a-o)/M,v=o,w=a):b?(v=m?o:v,w=x?a:w,M=l-1,k=(w-v)/M):(M=(w-v)/k,M=Lt(M,Math.round(M),k/1e3)?Math.round(M):Math.ceil(M));const S=Math.max(Ft(k),Ft(v));y=Math.pow(10,$(r)?S:r),v=Math.round(v*y)/y,w=Math.round(w*y)/y;let P=0;for(m&&(d&&v!==o?(i.push({value:o}),v<o&&P++,Lt(Math.round((v+P*k)*y)/y,o,Ko(o,_,t))&&P++):v<o&&P++);P<M;++P)i.push({value:Math.round((v+P*k)*y)/y});return x&&d&&w!==a?i.length&&Lt(i[i.length-1].value,a,Ko(a,_,t))?i[i.length-1].value=a:i.push({value:a}):x&&w!==a||i.push({value:w}),i}({maxTicks:i,bounds:t.bounds,min:t.min,max:t.max,precision:e.precision,step:e.stepSize,count:e.count,maxDigits:this._maxDigits(),horizontal:this.isHorizontal(),minRotation:e.minRotation||0,includeBounds:!1!==e.includeBounds},this._range||this);return"ticks"===t.bounds&&Et(s,this,"value"),t.reverse?(s.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),s}configure(){const t=this.ticks;let e=this.min,i=this.max;if(super.configure(),this.options.offset&&t.length){const s=(i-e)/Math.max(t.length-1,1)/2;e-=s,i+=s}this._startValue=e,this._endValue=i,this._valueRange=i-e}getLabelForValue(t){return Ri(t,this.chart.options.locale,this.options.ticks.format)}}class Zo extends Go{determineDataLimits(){const{min:t,max:e}=this.getMinMax(!0);this.min=X(t)?t:0,this.max=X(e)?e:1,this.handleTickRangeOptions()}computeTickLimit(){const t=this.isHorizontal(),e=t?this.width:this.height,i=It(this.options.ticks.minRotation),s=(t?Math.sin(i):Math.cos(i))||.001,n=this._resolveTickFontOptions(0);return Math.ceil(e/Math.min(40,n.lineHeight/s))}getPixelForValue(t){return null===t?NaN:this.getPixelForDecimal((t-this._startValue)/this._valueRange)}getValueForPixel(t){return this._startValue+this.getDecimalForPixel(t)*this._valueRange}}function Jo(t){return 1===t/Math.pow(10,Math.floor(Dt(t)))}Zo.id="linear",Zo.defaults={ticks:{callback:Os.formatters.numeric}};class Qo extends Bs{constructor(t){super(t),this.start=void 0,this.end=void 0,this._startValue=void 0,this._valueRange=0}parse(t,e){const i=Go.prototype.parse.apply(this,[t,e]);if(0!==i)return X(i)&&i>0?i:null;this._zero=!0}determineDataLimits(){const{min:t,max:e}=this.getMinMax(!0);this.min=X(t)?Math.max(0,t):null,this.max=X(e)?Math.max(0,e):null,this.options.beginAtZero&&(this._zero=!0),this.handleTickRangeOptions()}handleTickRangeOptions(){const{minDefined:t,maxDefined:e}=this.getUserBounds();let i=this.min,s=this.max;const n=e=>i=t?i:e,o=t=>s=e?s:t,a=(t,e)=>Math.pow(10,Math.floor(Dt(t))+e);i===s&&(i<=0?(n(1),o(10)):(n(a(i,-1)),o(a(s,1)))),i<=0&&n(a(s,-1)),s<=0&&o(a(i,1)),this._zero&&this.min!==this._suggestedMin&&i===a(this.min,0)&&n(a(i,-1)),this.min=i,this.max=s}buildTicks(){const t=this.options,e=function(t,e){const i=Math.floor(Dt(e.max)),s=Math.ceil(e.max/Math.pow(10,i)),n=[];let o=q(t.min,Math.pow(10,Math.floor(Dt(e.min)))),a=Math.floor(Dt(o)),r=Math.floor(o/Math.pow(10,a)),l=a<0?Math.pow(10,Math.abs(a)):1;do{n.push({value:o,major:Jo(o)}),++r,10===r&&(r=1,++a,l=a>=0?1:l),o=Math.round(r*Math.pow(10,a)*l)/l}while(a<i||a===i&&r<s);const h=q(t.max,o);return n.push({value:h,major:Jo(o)}),n}({min:this._userMin,max:this._userMax},this);return"ticks"===t.bounds&&Et(e,this,"value"),t.reverse?(e.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),e}getLabelForValue(t){return void 0===t?"0":Ri(t,this.chart.options.locale,this.options.ticks.format)}configure(){const t=this.min;super.configure(),this._startValue=Dt(t),this._valueRange=Dt(this.max)-Dt(t)}getPixelForValue(t){return void 0!==t&&0!==t||(t=this.min),null===t||isNaN(t)?NaN:this.getPixelForDecimal(t===this.min?0:(Dt(t)-this._startValue)/this._valueRange)}getValueForPixel(t){const e=this.getDecimalForPixel(t);return Math.pow(10,this._startValue+e*this._valueRange)}}function ta(t){const e=t.ticks;if(e.display&&t.display){const t=Ne(e.backdropPadding);return K(e.font&&e.font.size,bt.font.size)+t.height}return 0}function ea(t,e,i,s,n){return t===s||t===n?{start:e-i/2,end:e+i/2}:t<s||t>n?{start:e-i,end:e}:{start:e,end:e+i}}function ia(t){const e={l:t.left+t._padding.left,r:t.right-t._padding.right,t:t.top+t._padding.top,b:t.bottom-t._padding.bottom},i=Object.assign({},e),s=[],n=[],o=t._pointLabels.length,a=t.options.pointLabels,r=a.centerPointLabels?_t/o:0;for(let d=0;d<o;d++){const o=a.setContext(t.getPointLabelContext(d));n[d]=o.padding;const u=t.getPointPosition(d,t.drawingArea+n[d],r),f=He(o.font),g=(l=t.ctx,h=f,c=Y(c=t._pointLabels[d])?c:[c],{w:qt(l,h.string,c),h:c.length*h.lineHeight});s[d]=g;const p=Nt(t.getIndexAngle(d)+r),m=Math.round(zt(p));sa(i,e,p,ea(m,u.x,g.w,0,180),ea(m,u.y,g.h,90,270))}var l,h,c;t.setCenterPoint(e.l-i.l,i.r-e.r,e.t-i.t,i.b-e.b),t._pointLabelItems=function(t,e,i){const s=[],n=t._pointLabels.length,o=t.options,a=ta(o)/2,r=t.drawingArea,l=o.pointLabels.centerPointLabels?_t/n:0;for(let o=0;o<n;o++){const n=t.getPointPosition(o,r+a+i[o],l),h=Math.round(zt(Nt(n.angle+kt))),c=e[o],d=aa(n.y,c.h,h),u=na(h),f=oa(n.x,c.w,u);s.push({x:n.x,y:d,textAlign:u,left:f,top:d,right:f+c.w,bottom:d+c.h})}return s}(t,s,n)}function sa(t,e,i,s,n){const o=Math.abs(Math.sin(i)),a=Math.abs(Math.cos(i));let r=0,l=0;s.start<e.l?(r=(e.l-s.start)/o,t.l=Math.min(t.l,e.l-r)):s.end>e.r&&(r=(s.end-e.r)/o,t.r=Math.max(t.r,e.r+r)),n.start<e.t?(l=(e.t-n.start)/a,t.t=Math.min(t.t,e.t-l)):n.end>e.b&&(l=(n.end-e.b)/a,t.b=Math.max(t.b,e.b+l))}function na(t){return 0===t||180===t?"center":t<180?"left":"right"}function oa(t,e,i){return"right"===i?t-=e:"center"===i&&(t-=e/2),t}function aa(t,e,i){return 90===i||270===i?t-=e/2:(i>270||i<90)&&(t-=e),t}function ra(t,e,i,s){const{ctx:n}=t;if(i)n.arc(t.xCenter,t.yCenter,e,0,yt);else{let i=t.getPointPosition(0,e);n.moveTo(i.x,i.y);for(let o=1;o<s;o++)i=t.getPointPosition(o,e),n.lineTo(i.x,i.y)}}Qo.id="logarithmic",Qo.defaults={ticks:{callback:Os.formatters.logarithmic,major:{enabled:!0}}};class la extends Go{constructor(t){super(t),this.xCenter=void 0,this.yCenter=void 0,this.drawingArea=void 0,this._pointLabels=[],this._pointLabelItems=[]}setDimensions(){const t=this._padding=Ne(ta(this.options)/2),e=this.width=this.maxWidth-t.width,i=this.height=this.maxHeight-t.height;this.xCenter=Math.floor(this.left+e/2+t.left),this.yCenter=Math.floor(this.top+i/2+t.top),this.drawingArea=Math.floor(Math.min(e,i)/2)}determineDataLimits(){const{min:t,max:e}=this.getMinMax(!1);this.min=X(t)&&!isNaN(t)?t:0,this.max=X(e)&&!isNaN(e)?e:0,this.handleTickRangeOptions()}computeTickLimit(){return Math.ceil(this.drawingArea/ta(this.options))}generateTickLabels(t){Go.prototype.generateTickLabels.call(this,t),this._pointLabels=this.getLabels().map(((t,e)=>{const i=J(this.options.pointLabels.callback,[t,e],this);return i||0===i?i:""})).filter(((t,e)=>this.chart.getDataVisibility(e)))}fit(){const t=this.options;t.display&&t.pointLabels.display?ia(this):this.setCenterPoint(0,0,0,0)}setCenterPoint(t,e,i,s){this.xCenter+=Math.floor((t-e)/2),this.yCenter+=Math.floor((i-s)/2),this.drawingArea-=Math.min(this.drawingArea/2,Math.max(t,e,i,s))}getIndexAngle(t){return Nt(t*(yt/(this._pointLabels.length||1))+It(this.options.startAngle||0))}getDistanceFromCenterForValue(t){if($(t))return NaN;const e=this.drawingArea/(this.max-this.min);return this.options.reverse?(this.max-t)*e:(t-this.min)*e}getValueForDistanceFromCenter(t){if($(t))return NaN;const e=t/(this.drawingArea/(this.max-this.min));return this.options.reverse?this.max-e:this.min+e}getPointLabelContext(t){const e=this._pointLabels||[];if(t>=0&&t<e.length){const i=e[t];return function(t,e,i){return Ye(t,{label:i,index:e,type:"pointLabel"})}(this.getContext(),t,i)}}getPointPosition(t,e,i=0){const s=this.getIndexAngle(t)-kt+i;return{x:Math.cos(s)*e+this.xCenter,y:Math.sin(s)*e+this.yCenter,angle:s}}getPointPositionForValue(t,e){return this.getPointPosition(t,this.getDistanceFromCenterForValue(e))}getBasePosition(t){return this.getPointPositionForValue(t||0,this.getBaseValue())}getPointLabelPosition(t){const{left:e,top:i,right:s,bottom:n}=this._pointLabelItems[t];return{left:e,top:i,right:s,bottom:n}}drawBackground(){const{backgroundColor:t,grid:{circular:e}}=this.options;if(t){const i=this.ctx;i.save(),i.beginPath(),ra(this,this.getDistanceFromCenterForValue(this._endValue),e,this._pointLabels.length),i.closePath(),i.fillStyle=t,i.fill(),i.restore()}}drawGrid(){const t=this.ctx,e=this.options,{angleLines:i,grid:s}=e,n=this._pointLabels.length;let o,a,r;if(e.pointLabels.display&&function(t,e){const{ctx:i,options:{pointLabels:s}}=t;for(let n=e-1;n>=0;n--){const e=s.setContext(t.getPointLabelContext(n)),o=He(e.font),{x:a,y:r,textAlign:l,left:h,top:c,right:d,bottom:u}=t._pointLabelItems[n],{backdropColor:f}=e;if(!$(f)){const t=Ne(e.backdropPadding);i.fillStyle=f,i.fillRect(h-t.left,c-t.top,d-h+t.width,u-c+t.height)}se(i,t._pointLabels[n],a,r+o.lineHeight/2,o,{color:e.color,textAlign:l,textBaseline:"middle"})}}(this,n),s.display&&this.ticks.forEach(((t,e)=>{if(0!==e){a=this.getDistanceFromCenterForValue(t.value);!function(t,e,i,s){const n=t.ctx,o=e.circular,{color:a,lineWidth:r}=e;!o&&!s||!a||!r||i<0||(n.save(),n.strokeStyle=a,n.lineWidth=r,n.setLineDash(e.borderDash),n.lineDashOffset=e.borderDashOffset,n.beginPath(),ra(t,i,o,s),n.closePath(),n.stroke(),n.restore())}(this,s.setContext(this.getContext(e-1)),a,n)}})),i.display){for(t.save(),o=n-1;o>=0;o--){const s=i.setContext(this.getPointLabelContext(o)),{color:n,lineWidth:l}=s;l&&n&&(t.lineWidth=l,t.strokeStyle=n,t.setLineDash(s.borderDash),t.lineDashOffset=s.borderDashOffset,a=this.getDistanceFromCenterForValue(e.ticks.reverse?this.min:this.max),r=this.getPointPosition(o,a),t.beginPath(),t.moveTo(this.xCenter,this.yCenter),t.lineTo(r.x,r.y),t.stroke())}t.restore()}}drawBorder(){}drawLabels(){const t=this.ctx,e=this.options,i=e.ticks;if(!i.display)return;const s=this.getIndexAngle(0);let n,o;t.save(),t.translate(this.xCenter,this.yCenter),t.rotate(s),t.textAlign="center",t.textBaseline="middle",this.ticks.forEach(((s,a)=>{if(0===a&&!e.reverse)return;const r=i.setContext(this.getContext(a)),l=He(r.font);if(n=this.getDistanceFromCenterForValue(this.ticks[a].value),r.showLabelBackdrop){t.font=l.string,o=t.measureText(s.label).width,t.fillStyle=r.backdropColor;const e=Ne(r.backdropPadding);t.fillRect(-o/2-e.left,-n-l.size/2-e.top,o+e.width,l.size+e.height)}se(t,s.label,0,-n,l,{color:r.color})})),t.restore()}drawTitle(){}}la.id="radialLinear",la.defaults={display:!0,animate:!0,position:"chartArea",angleLines:{display:!0,lineWidth:1,borderDash:[],borderDashOffset:0},grid:{circular:!1},startAngle:0,ticks:{showLabelBackdrop:!0,callback:Os.formatters.numeric},pointLabels:{backdropColor:void 0,backdropPadding:2,display:!0,font:{size:10},callback:t=>t,padding:5,centerPointLabels:!1}},la.defaultRoutes={"angleLines.color":"borderColor","pointLabels.color":"color","ticks.color":"color"},la.descriptors={angleLines:{_fallback:"grid"}};const ha={millisecond:{common:!0,size:1,steps:1e3},second:{common:!0,size:1e3,steps:60},minute:{common:!0,size:6e4,steps:60},hour:{common:!0,size:36e5,steps:24},day:{common:!0,size:864e5,steps:30},week:{common:!1,size:6048e5,steps:4},month:{common:!0,size:2628e6,steps:12},quarter:{common:!1,size:7884e6,steps:4},year:{common:!0,size:3154e7}},ca=Object.keys(ha);function da(t,e){return t-e}function ua(t,e){if($(e))return null;const i=t._adapter,{parser:s,round:n,isoWeekday:o}=t._parseOpts;let a=e;return"function"==typeof s&&(a=s(a)),X(a)||(a="string"==typeof s?i.parse(a,s):i.parse(a)),null===a?null:(n&&(a="week"!==n||!Tt(o)&&!0!==o?i.startOf(a,n):i.startOf(a,"isoWeek",o)),+a)}function fa(t,e,i,s){const n=ca.length;for(let o=ca.indexOf(t);o<n-1;++o){const t=ha[ca[o]],n=t.steps?t.steps:Number.MAX_SAFE_INTEGER;if(t.common&&Math.ceil((i-e)/(n*t.size))<=s)return ca[o]}return ca[n-1]}function ga(t,e,i){if(i){if(i.length){const{lo:s,hi:n}=ae(i,e);t[i[s]>=e?i[s]:i[n]]=!0}}else t[e]=!0}function pa(t,e,i){const s=[],n={},o=e.length;let a,r;for(a=0;a<o;++a)r=e[a],n[r]=a,s.push({value:r,major:!1});return 0!==o&&i?function(t,e,i,s){const n=t._adapter,o=+n.startOf(e[0].value,s),a=e[e.length-1].value;let r,l;for(r=o;r<=a;r=+n.add(r,1,s))l=i[r],l>=0&&(e[l].major=!0);return e}(t,s,n,i):s}class ma extends Bs{constructor(t){super(t),this._cache={data:[],labels:[],all:[]},this._unit="day",this._majorUnit=void 0,this._offsets={},this._normalized=!1,this._parseOpts=void 0}init(t,e){const i=t.time||(t.time={}),s=this._adapter=new mn._date(t.adapters.date);ot(i.displayFormats,s.formats()),this._parseOpts={parser:i.parser,round:i.round,isoWeekday:i.isoWeekday},super.init(t),this._normalized=e.normalized}parse(t,e){return void 0===t?null:ua(this,t)}beforeLayout(){super.beforeLayout(),this._cache={data:[],labels:[],all:[]}}determineDataLimits(){const t=this.options,e=this._adapter,i=t.time.unit||"day";let{min:s,max:n,minDefined:o,maxDefined:a}=this.getUserBounds();function r(t){o||isNaN(t.min)||(s=Math.min(s,t.min)),a||isNaN(t.max)||(n=Math.max(n,t.max))}o&&a||(r(this._getLabelBounds()),"ticks"===t.bounds&&"labels"===t.ticks.source||r(this.getMinMax(!1))),s=X(s)&&!isNaN(s)?s:+e.startOf(Date.now(),i),n=X(n)&&!isNaN(n)?n:+e.endOf(Date.now(),i)+1,this.min=Math.min(s,n-1),this.max=Math.max(s+1,n)}_getLabelBounds(){const t=this.getLabelTimestamps();let e=Number.POSITIVE_INFINITY,i=Number.NEGATIVE_INFINITY;return t.length&&(e=t[0],i=t[t.length-1]),{min:e,max:i}}buildTicks(){const t=this.options,e=t.time,i=t.ticks,s="labels"===i.source?this.getLabelTimestamps():this._generate();"ticks"===t.bounds&&s.length&&(this.min=this._userMin||s[0],this.max=this._userMax||s[s.length-1]);const n=this.min,o=he(s,n,this.max);return this._unit=e.unit||(i.autoSkip?fa(e.minUnit,this.min,this.max,this._getLabelCapacity(n)):function(t,e,i,s,n){for(let o=ca.length-1;o>=ca.indexOf(i);o--){const i=ca[o];if(ha[i].common&&t._adapter.diff(n,s,i)>=e-1)return i}return ca[i?ca.indexOf(i):0]}(this,o.length,e.minUnit,this.min,this.max)),this._majorUnit=i.major.enabled&&"year"!==this._unit?function(t){for(let e=ca.indexOf(t)+1,i=ca.length;e<i;++e)if(ha[ca[e]].common)return ca[e]}(this._unit):void 0,this.initOffsets(s),t.reverse&&o.reverse(),pa(this,o,this._majorUnit)}initOffsets(t){let e,i,s=0,n=0;this.options.offset&&t.length&&(e=this.getDecimalForValue(t[0]),s=1===t.length?1-e:(this.getDecimalForValue(t[1])-e)/2,i=this.getDecimalForValue(t[t.length-1]),n=1===t.length?i:(i-this.getDecimalForValue(t[t.length-2]))/2);const o=t.length<3?.5:.25;s=jt(s,0,o),n=jt(n,0,o),this._offsets={start:s,end:n,factor:1/(s+1+n)}}_generate(){const t=this._adapter,e=this.min,i=this.max,s=this.options,n=s.time,o=n.unit||fa(n.minUnit,e,i,this._getLabelCapacity(e)),a=K(n.stepSize,1),r="week"===o&&n.isoWeekday,l=Tt(r)||!0===r,h={};let c,d,u=e;if(l&&(u=+t.startOf(u,"isoWeek",r)),u=+t.startOf(u,l?"day":o),t.diff(i,e,o)>1e5*a)throw new Error(e+" and "+i+" are too far apart with stepSize of "+a+" "+o);const f="data"===s.ticks.source&&this.getDataTimestamps();for(c=u,d=0;c<i;c=+t.add(c,a,o),d++)ga(h,c,f);return c!==i&&"ticks"!==s.bounds&&1!==d||ga(h,c,f),Object.keys(h).sort(((t,e)=>t-e)).map((t=>+t))}getLabelForValue(t){const e=this._adapter,i=this.options.time;return i.tooltipFormat?e.format(t,i.tooltipFormat):e.format(t,i.displayFormats.datetime)}_tickFormatFunction(t,e,i,s){const n=this.options,o=n.time.displayFormats,a=this._unit,r=this._majorUnit,l=a&&o[a],h=r&&o[r],c=i[e],d=r&&h&&c&&c.major,u=this._adapter.format(t,s||(d?h:l)),f=n.ticks.callback;return f?J(f,[u,e,i],this):u}generateTickLabels(t){let e,i,s;for(e=0,i=t.length;e<i;++e)s=t[e],s.label=this._tickFormatFunction(s.value,e,t)}getDecimalForValue(t){return null===t?NaN:(t-this.min)/(this.max-this.min)}getPixelForValue(t){const e=this._offsets,i=this.getDecimalForValue(t);return this.getPixelForDecimal((e.start+i)*e.factor)}getValueForPixel(t){const e=this._offsets,i=this.getDecimalForPixel(t)/e.factor-e.end;return this.min+i*(this.max-this.min)}_getLabelSize(t){const e=this.options.ticks,i=this.ctx.measureText(t).width,s=It(this.isHorizontal()?e.maxRotation:e.minRotation),n=Math.cos(s),o=Math.sin(s),a=this._resolveTickFontOptions(0).size;return{w:i*n+a*o,h:i*o+a*n}}_getLabelCapacity(t){const e=this.options.time,i=e.displayFormats,s=i[e.unit]||i.millisecond,n=this._tickFormatFunction(t,0,pa(this,[t],this._majorUnit),s),o=this._getLabelSize(n),a=Math.floor(this.isHorizontal()?this.width/o.w:this.height/o.h)-1;return a>0?a:1}getDataTimestamps(){let t,e,i=this._cache.data||[];if(i.length)return i;const s=this.getMatchingVisibleMetas();if(this._normalized&&s.length)return this._cache.data=s[0].controller.getAllParsedValues(this);for(t=0,e=s.length;t<e;++t)i=i.concat(s[t].controller.getAllParsedValues(this));return this._cache.data=this.normalize(i)}getLabelTimestamps(){const t=this._cache.labels||[];let e,i;if(t.length)return t;const s=this.getLabels();for(e=0,i=s.length;e<i;++e)t.push(ua(this,s[e]));return this._cache.labels=this._normalized?t:this.normalize(t)}normalize(t){return fe(t.sort(da))}}function xa(t,e,i){let s,n,o,a,r=0,l=t.length-1;i?(e>=t[r].pos&&e<=t[l].pos&&({lo:r,hi:l}=re(t,"pos",e)),({pos:s,time:o}=t[r]),({pos:n,time:a}=t[l])):(e>=t[r].time&&e<=t[l].time&&({lo:r,hi:l}=re(t,"time",e)),({time:s,pos:o}=t[r]),({time:n,pos:a}=t[l]));const h=n-s;return h?o+(a-o)*(e-s)/h:o}ma.id="time",ma.defaults={bounds:"data",adapters:{},time:{parser:!1,unit:!1,round:!1,isoWeekday:!1,minUnit:"millisecond",displayFormats:{}},ticks:{source:"auto",major:{enabled:!1}}};class ba extends ma{constructor(t){super(t),this._table=[],this._minPos=void 0,this._tableRange=void 0}initOffsets(){const t=this._getTimestampsForTable(),e=this._table=this.buildLookupTable(t);this._minPos=xa(e,this.min),this._tableRange=xa(e,this.max)-this._minPos,super.initOffsets(t)}buildLookupTable(t){const{min:e,max:i}=this,s=[],n=[];let o,a,r,l,h;for(o=0,a=t.length;o<a;++o)l=t[o],l>=e&&l<=i&&s.push(l);if(s.length<2)return[{time:e,pos:0},{time:i,pos:1}];for(o=0,a=s.length;o<a;++o)h=s[o+1],r=s[o-1],l=s[o],Math.round((h+r)/2)!==l&&n.push({time:l,pos:o/(a-1)});return n}_getTimestampsForTable(){let t=this._cache.all||[];if(t.length)return t;const e=this.getDataTimestamps(),i=this.getLabelTimestamps();return t=e.length&&i.length?this.normalize(e.concat(i)):e.length?e:i,t=this._cache.all=t,t}getDecimalForValue(t){return(xa(this._table,t)-this._minPos)/this._tableRange}getValueForPixel(t){const e=this._offsets,i=this.getDecimalForPixel(t)/e.factor-e.end;return xa(this._table,i*this._tableRange+this._minPos,!0)}}ba.id="timeseries",ba.defaults=ma.defaults;var _a=Object.freeze({__proto__:null,CategoryScale:qo,LinearScale:Zo,LogarithmicScale:Qo,RadialLinearScale:la,TimeScale:ma,TimeSeriesScale:ba});return dn.register(Rn,_a,no,Uo),dn.helpers={...Yi},dn._adapters=mn,dn.Animation=us,dn.Animations=gs,dn.animator=a,dn.controllers=Ws.controllers.items,dn.DatasetController=Ps,dn.Element=Ds,dn.elements=no,dn.Interaction=Ee,dn.layouts=ni,dn.platforms=hs,dn.Scale=Bs,dn.Ticks=Os,Object.assign(dn,Rn,_a,no,Uo,hs),dn.Chart=dn,"undefined"!=typeof window&&(window.Chart=dn),dn}));


