Commit 8f9cea15 authored by Riegel's avatar Riegel
Browse files

Add documentation for zip-file usage

parent 7c08b62f
Pipeline #10973 passed with stages
in 13 seconds
......@@ -9,18 +9,17 @@
<link href="../R_GE_R_SELF_INTERSECTION/" rel="prev"/>
<link href="../R_GE_P_INTERSECTING_RINGS/" rel="next"/>
<link href="../img/citydoctor_logo.png" rel="icon"/>
<meta content="mkdocs-1.4.2, mkdocs-material-9.0.6" name="generator"/>
<meta content="mkdocs-1.6.1, mkdocs-material-9.5.34" name="generator"/>
<title>R_COLLAPSED_TO_LINE - CityDoctor2</title>
<link href="../assets/stylesheets/main.558e4712.min.css" rel="stylesheet"/>
<link href="../assets/stylesheets/palette.2505c338.min.css" rel="stylesheet"/>
<link href="../assets/stylesheets/main.35f28582.min.css" rel="stylesheet"/>
<link href="../assets/stylesheets/palette.06af60db.min.css" rel="stylesheet"/>
<link crossorigin="" href="https://fonts.gstatic.com" rel="preconnect"/>
<link href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&amp;display=fallback" rel="stylesheet"/>
<style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style>
<link href="https://unpkg.com/mermaid/dist/mermaid.css" rel="stylesheet"/>
<script>__md_scope=new URL("..",location),__md_hash=e=>[...e].reduce((e,_)=>(e<<5)-e+_.charCodeAt(0),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
<script>__md_scope=new URL("..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
</head>
<body data-md-color-accent="" data-md-color-primary="red" data-md-color-scheme="default" dir="ltr">
<script>var palette=__md_get("__palette");if(palette&&"object"==typeof palette.color)for(var key of Object.keys(palette.color))document.body.setAttribute("data-md-color-"+key,palette.color[key])</script>
<body data-md-color-accent="indigo" data-md-color-primary="red" data-md-color-scheme="default" dir="ltr">
<input autocomplete="off" class="md-toggle" data-md-toggle="drawer" id="__drawer" type="checkbox"/>
<input autocomplete="off" class="md-toggle" data-md-toggle="search" id="__search" type="checkbox"/>
<label class="md-overlay" for="__drawer"></label>
......@@ -31,13 +30,13 @@
</div>
<div data-md-component="announce">
</div>
<header class="md-header" data-md-component="header">
<header class="md-header md-header--shadow" data-md-component="header">
<nav aria-label="Kopfzeile" class="md-header__inner md-grid">
<a aria-label="CityDoctor2" class="md-header__button md-logo" data-md-component="logo" href=".." title="CityDoctor2">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54Z"></path></svg>
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"></path></svg>
</a>
<label class="md-header__button md-icon" for="__drawer">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2Z"></path></svg>
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"></path></svg>
</label>
<div class="md-header__title" data-md-component="header-title">
<div class="md-header__ellipsis">
......@@ -56,38 +55,39 @@
</div>
</div>
<form class="md-header__option" data-md-component="palette">
<input aria-label="Dunkelmodus verwenden" class="md-option" data-md-color-accent="" data-md-color-media="(prefers-color-scheme: light)" data-md-color-primary="red" data-md-color-scheme="default" id="__palette_1" name="__palette" type="radio"/>
<label class="md-header__button md-icon" for="__palette_2" hidden="" title="Dunkelmodus verwenden">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12 20 8.69Z"></path></svg>
<input aria-label="Dunkelmodus verwenden" class="md-option" data-md-color-accent="indigo" data-md-color-media="(prefers-color-scheme: light)" data-md-color-primary="red" data-md-color-scheme="default" id="__palette_0" name="__palette" type="radio"/>
<label class="md-header__button md-icon" for="__palette_1" hidden="" title="Dunkelmodus verwenden">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"></path></svg>
</label>
<input aria-label="Hellen Modus verwenden" class="md-option" data-md-color-accent="" data-md-color-media="(prefers-color-scheme: dark)" data-md-color-primary="" data-md-color-scheme="slate" id="__palette_2" name="__palette" type="radio"/>
<label class="md-header__button md-icon" for="__palette_1" hidden="" title="Hellen Modus verwenden">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12c0-2.42-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12 20 8.69Z"></path></svg>
<input aria-label="Hellen Modus verwenden" class="md-option" data-md-color-accent="indigo" data-md-color-media="(prefers-color-scheme: dark)" data-md-color-primary="indigo" data-md-color-scheme="slate" id="__palette_1" name="__palette" type="radio"/>
<label class="md-header__button md-icon" for="__palette_0" hidden="" title="Hellen Modus verwenden">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"></path></svg>
</label>
</form>
<script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script>
<div class="md-header__option">
<div class="md-select">
<button aria-label="Sprache wechseln" class="md-header__button md-icon">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="m12.87 15.07-2.54-2.51.03-.03A17.52 17.52 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04M18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12m-2.62 7 1.62-4.33L19.12 17h-3.24Z"></path></svg>
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="m12.87 15.07-2.54-2.51.03-.03A17.5 17.5 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2zm-2.62 7 1.62-4.33L19.12 17z"></path></svg>
</button>
<div class="md-select__inner">
<ul class="md-select__list">
<li class="md-select__item">
<a class="md-select__link" href=".." hreflang="de">
Deutsch
</a>
<a class="md-select__link" href="../None" hreflang="de">
Deutsch
</a>
</li>
<li class="md-select__item">
<a class="md-select__link" href="https://transfer.hft-stuttgart.de/pages/citydoctor/citydoctorhomepage/en/" hreflang="en">
English
</a>
English
</a>
</li>
</ul>
</div>
</div>
</div>
<label class="md-header__button md-icon" for="__search">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"></path></svg>
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"></path></svg>
</label>
<div class="md-search" data-md-component="search" role="dialog">
<label class="md-search__overlay" for="__search"></label>
......@@ -95,17 +95,17 @@
<form class="md-search__form" name="search">
<input aria-label="Suche" autocapitalize="off" autocomplete="off" autocorrect="off" class="md-search__input" data-md-component="search-query" name="query" placeholder="Suche" required="" spellcheck="false" type="text"/>
<label class="md-search__icon md-icon" for="__search">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"></path></svg>
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"></path></svg>
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"></path></svg>
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"></path></svg>
</label>
<nav aria-label="Suche" class="md-search__options">
<button aria-label="Zurücksetzen" class="md-search__icon md-icon" tabindex="-1" title="Zurücksetzen" type="reset">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"></path></svg>
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"></path></svg>
</button>
</nav>
</form>
<div class="md-search__output">
<div class="md-search__scrollwrap" data-md-scrollfix="">
<div class="md-search__scrollwrap" data-md-scrollfix="" tabindex="0">
<div class="md-search-result" data-md-component="search-result">
<div class="md-search-result__meta">
Suche wird initialisiert
......@@ -119,7 +119,7 @@
<div class="md-header__source">
<a class="md-source" data-md-component="source" href="https://transfer.hft-stuttgart.de/gitlab/citydoctor/citydoctor2" title="Zum Repository">
<div class="md-source__icon md-icon">
<svg viewbox="0 0 448 512" xmlns="http://www.w3.org/2000/svg"><!--! Font Awesome Free 6.2.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2022 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"></path></svg>
<svg viewbox="0 0 448 512" xmlns="http://www.w3.org/2000/svg"><!--! Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81"></path></svg>
</div>
<div class="md-source__repository">
CityDoctor2
......@@ -137,14 +137,14 @@
<nav aria-label="Navigation" class="md-nav md-nav--primary" data-md-level="0">
<label class="md-nav__title" for="__drawer">
<a aria-label="CityDoctor2" class="md-nav__button md-logo" data-md-component="logo" href=".." title="CityDoctor2">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54Z"></path></svg>
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"></path></svg>
</a>
CityDoctor2
</label>
<div class="md-nav__source">
<a class="md-source" data-md-component="source" href="https://transfer.hft-stuttgart.de/gitlab/citydoctor/citydoctor2" title="Zum Repository">
<div class="md-source__icon md-icon">
<svg viewbox="0 0 448 512" xmlns="http://www.w3.org/2000/svg"><!--! Font Awesome Free 6.2.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2022 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"></path></svg>
<svg viewbox="0 0 448 512" xmlns="http://www.w3.org/2000/svg"><!--! Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81"></path></svg>
</div>
<div class="md-source__repository">
CityDoctor2
......@@ -153,196 +153,271 @@
</div>
<ul class="md-nav__list" data-md-scrollfix="">
<li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested">
<input checked="" class="md-nav__toggle md-toggle" data-md-toggle="__nav_1" id="__nav_1" type="checkbox"/>
<label aria-expanded="true" class="md-nav__link" for="__nav_1" tabindex="0">
CityDoctor2
<span class="md-nav__icon md-icon"></span>
<input checked="" class="md-nav__toggle md-toggle" id="__nav_1" type="checkbox"/>
<label class="md-nav__link" for="__nav_1" id="__nav_1_label" tabindex="">
<span class="md-ellipsis">
CityDoctor2
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav aria-label="CityDoctor2" class="md-nav" data-md-level="1">
<nav aria-expanded="true" aria-labelledby="__nav_1_label" class="md-nav" data-md-level="1">
<label class="md-nav__title" for="__nav_1">
<span class="md-nav__icon md-icon"></span>
CityDoctor2
</label>
CityDoctor2
</label>
<ul class="md-nav__list" data-md-scrollfix="">
<li class="md-nav__item">
<a class="md-nav__link" href="..">
Über CityDoctor2
</a>
<span class="md-ellipsis">
Über CityDoctor2
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../requiredSoftware/">
Installation
</a>
<span class="md-ellipsis">
Installation
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../firstRun/">
Erster Start
</a>
<span class="md-ellipsis">
Erster Start
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../userInterface/">
Nutzeroberfläche
</a>
<span class="md-ellipsis">
Nutzeroberfläche
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../zipFiles/">
<span class="md-ellipsis">
Zip Dateien
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../validationPlan/">
Prüfplan
</a>
<span class="md-ellipsis">
Prüfplan
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--active md-nav__item--nested">
<input checked="" class="md-nav__toggle md-toggle" data-md-toggle="__nav_1_6" id="__nav_1_6" type="checkbox"/>
<label aria-expanded="true" class="md-nav__link" for="__nav_1_6" tabindex="0">
Anforderungen
<span class="md-nav__icon md-icon"></span>
<input checked="" class="md-nav__toggle md-toggle" id="__nav_1_7" type="checkbox"/>
<label class="md-nav__link" for="__nav_1_7" id="__nav_1_7_label" tabindex="0">
<span class="md-ellipsis">
Anforderungen
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav aria-label="Anforderungen" class="md-nav" data-md-level="2">
<label class="md-nav__title" for="__nav_1_6">
<nav aria-expanded="true" aria-labelledby="__nav_1_7_label" class="md-nav" data-md-level="2">
<label class="md-nav__title" for="__nav_1_7">
<span class="md-nav__icon md-icon"></span>
Anforderungen
</label>
Anforderungen
</label>
<ul class="md-nav__list" data-md-scrollfix="">
<li class="md-nav__item">
<a class="md-nav__link" href="../basic/">
Grundbegriffe
</a>
<span class="md-ellipsis">
Grundbegriffe
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../requirements/">
Übersicht
</a>
<span class="md-ellipsis">
Übersicht
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../schemaRequirements/">
Schemaanforderungen
</a>
<span class="md-ellipsis">
Schemaanforderungen
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../geometric/">
Geometrische Anforderungen
</a>
<span class="md-ellipsis">
Geometrische Anforderungen
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../semantic/">
Semantische Anforderungen
</a>
<span class="md-ellipsis">
Semantische Anforderungen
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--active md-nav__item--nested">
<input checked="" class="md-nav__toggle md-toggle" data-md-toggle="__nav_1_6_6" id="__nav_1_6_6" type="checkbox"/>
<label aria-expanded="true" class="md-nav__link" for="__nav_1_6_6" tabindex="0">
Details
<span class="md-nav__icon md-icon"></span>
<input checked="" class="md-nav__toggle md-toggle" id="__nav_1_7_6" type="checkbox"/>
<label class="md-nav__link" for="__nav_1_7_6" id="__nav_1_7_6_label" tabindex="0">
<span class="md-ellipsis">
Details
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav aria-label="Details" class="md-nav" data-md-level="3">
<label class="md-nav__title" for="__nav_1_6_6">
<nav aria-expanded="true" aria-labelledby="__nav_1_7_6_label" class="md-nav" data-md-level="3">
<label class="md-nav__title" for="__nav_1_7_6">
<span class="md-nav__icon md-icon"></span>
Details
</label>
Details
</label>
<ul class="md-nav__list" data-md-scrollfix="">
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_R_TOO_FEW_POINTS/">
R_TOO_FEW_POINTS
</a>
<span class="md-ellipsis">
R_TOO_FEW_POINTS
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_R_CONSECUTIVE_POINTS_SAME/">
R_CONSECUTIVE_POINTS_SAME
</a>
<span class="md-ellipsis">
R_CONSECUTIVE_POINTS_SAME
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_R_NOT_CLOSED/">
R_RING_NOT_CLOSED
</a>
<span class="md-ellipsis">
R_RING_NOT_CLOSED
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_R_SELF_INTERSECTION/">
R_RING_SELF_INTERSECTION
</a>
<span class="md-ellipsis">
R_RING_SELF_INTERSECTION
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--active">
<input class="md-nav__toggle md-toggle" data-md-toggle="toc" id="__toc" type="checkbox"/>
<input class="md-nav__toggle md-toggle" id="__toc" type="checkbox"/>
<a class="md-nav__link md-nav__link--active" href="./">
R_COLLAPSED_TO_LINE
</a>
<span class="md-ellipsis">
R_COLLAPSED_TO_LINE
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_P_INTERSECTING_RINGS/">
P_INTERSECTING_RINGS
</a>
<span class="md-ellipsis">
P_INTERSECTING_RINGS
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_P_NON_PLANAR/">
P_NON_PLANAR
</a>
<span class="md-ellipsis">
P_NON_PLANAR
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_P_INTERIOR_DISCONNECTED/">
P_INTERIOR_DISCONNECTED
</a>
<span class="md-ellipsis">
P_INTERIOR_DISCONNECTED
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_P_HOLE_OUTSIDE/">
P_HOLE_OUTSIDE
</a>
<span class="md-ellipsis">
P_HOLE_OUTSIDE
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_P_INNER_RINGS_NESTED/">
P_INNER_RINGS_NESTED
</a>
<span class="md-ellipsis">
P_INNER_RINGS_NESTED
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_P_ORIENTATION_RINGS_SAME/">
P_ORIENTATION_RINGS_SAME
</a>
<span class="md-ellipsis">
P_ORIENTATION_RINGS_SAME
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_MS/">
MULTI_SURFACE
</a>
<span class="md-ellipsis">
MULTI_SURFACE
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_S_TOO_FEW_POLYGONS/">
S_TOO_FEW_POLYGONS
</a>
<span class="md-ellipsis">
S_TOO_FEW_POLYGONS
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_S_NOT_CLOSED/">
S_NOT_CLOSED
</a>
<span class="md-ellipsis">
S_NOT_CLOSED
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_S_NON_MANIFOLD_VERTEX/">
S_NON_MANIFOLD_VERTEX
</a>
<span class="md-ellipsis">
S_NON_MANIFOLD_VERTEX
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_S_NON_MANIFOLD_EDGE/">
S_NON_MANIFOLD_EDGE
</a>
<span class="md-ellipsis">
S_NON_MANIFOLD_EDGE
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_S_MULTIPLE_CONNECTED_COMPONENTS/">
S_MULTIPLE_CONNECTED_COMPONENTS
</a>
<span class="md-ellipsis">
S_MULTIPLE_CONNECTED_COMPONENTS
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_S_SELF_INTERSECTION/">
S_SELF_INTERSECTION
</a>
<span class="md-ellipsis">
S_SELF_INTERSECTION
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_S_POLYGON_WRONG_ORIENTATION/">
S_POLYGON_WRONG_ORIENTATION
</a>
<span class="md-ellipsis">
S_POLYGON_WRONG_ORIENTATION
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_S_ALL_POLYGONS_WRONG_ORIENTATION/">
S_ALL_POLYGONS_WRONG_ORIENTATION
</a>
<span class="md-ellipsis">
S_ALL_POLYGONS_WRONG_ORIENTATION
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_SO/">
SOLID
</a>
<span class="md-ellipsis">
SOLID
</span>
</a>
</li>
</ul>
</nav>
......@@ -372,6 +447,7 @@
<p>siehe <a href="https://gitlab.com/volkercoors/agqual3d/-/wikis/Validierung/Anforderungen/GE_gml_LR_0005">https://gitlab.com/volkercoors/agqual3d/-/wikis/Validierung/Anforderungen/GE_gml_LR_0005</a></p>
</article>
</div>
<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script>
</div>
</main>
<footer class="md-footer">
......@@ -392,8 +468,8 @@
<div class="md-dialog" data-md-component="dialog">
<div class="md-dialog__inner md-typeset"></div>
</div>
<script id="__config" type="application/json">{"base": "..", "features": ["content.code.annotate", "navigation.sections"], "search": "../assets/javascripts/workers/search.e5c33ebb.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version": "Version ausw\u00e4hlen"}}</script>
<script src="../assets/javascripts/bundle.51d95adb.min.js"></script>
<script id="__config" type="application/json">{"base": "..", "features": ["content.code.annotate", "navigation.sections"], "search": "../assets/javascripts/workers/search.07f07601.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version": "Version ausw\u00e4hlen"}}</script>
<script src="../assets/javascripts/bundle.56dfad97.min.js"></script>
<script src="https://unpkg.com/mermaid/dist/mermaid.min.js"></script>
</body>
</html>
\ No newline at end of file
......@@ -9,18 +9,17 @@
<link href="../R_GE_R_TOO_FEW_POINTS/" rel="prev"/>
<link href="../R_GE_R_NOT_CLOSED/" rel="next"/>
<link href="../img/citydoctor_logo.png" rel="icon"/>
<meta content="mkdocs-1.4.2, mkdocs-material-9.0.6" name="generator"/>
<meta content="mkdocs-1.6.1, mkdocs-material-9.5.34" name="generator"/>
<title>R_CONSECUTIVE_POINTS_SAME - CityDoctor2</title>
<link href="../assets/stylesheets/main.558e4712.min.css" rel="stylesheet"/>
<link href="../assets/stylesheets/palette.2505c338.min.css" rel="stylesheet"/>
<link href="../assets/stylesheets/main.35f28582.min.css" rel="stylesheet"/>
<link href="../assets/stylesheets/palette.06af60db.min.css" rel="stylesheet"/>
<link crossorigin="" href="https://fonts.gstatic.com" rel="preconnect"/>
<link href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&amp;display=fallback" rel="stylesheet"/>
<style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style>
<link href="https://unpkg.com/mermaid/dist/mermaid.css" rel="stylesheet"/>
<script>__md_scope=new URL("..",location),__md_hash=e=>[...e].reduce((e,_)=>(e<<5)-e+_.charCodeAt(0),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
<script>__md_scope=new URL("..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
</head>
<body data-md-color-accent="" data-md-color-primary="red" data-md-color-scheme="default" dir="ltr">
<script>var palette=__md_get("__palette");if(palette&&"object"==typeof palette.color)for(var key of Object.keys(palette.color))document.body.setAttribute("data-md-color-"+key,palette.color[key])</script>
<body data-md-color-accent="indigo" data-md-color-primary="red" data-md-color-scheme="default" dir="ltr">
<input autocomplete="off" class="md-toggle" data-md-toggle="drawer" id="__drawer" type="checkbox"/>
<input autocomplete="off" class="md-toggle" data-md-toggle="search" id="__search" type="checkbox"/>
<label class="md-overlay" for="__drawer"></label>
......@@ -31,13 +30,13 @@
</div>
<div data-md-component="announce">
</div>
<header class="md-header" data-md-component="header">
<header class="md-header md-header--shadow" data-md-component="header">
<nav aria-label="Kopfzeile" class="md-header__inner md-grid">
<a aria-label="CityDoctor2" class="md-header__button md-logo" data-md-component="logo" href=".." title="CityDoctor2">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54Z"></path></svg>
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"></path></svg>
</a>
<label class="md-header__button md-icon" for="__drawer">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2Z"></path></svg>
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"></path></svg>
</label>
<div class="md-header__title" data-md-component="header-title">
<div class="md-header__ellipsis">
......@@ -56,38 +55,39 @@
</div>
</div>
<form class="md-header__option" data-md-component="palette">
<input aria-label="Dunkelmodus verwenden" class="md-option" data-md-color-accent="" data-md-color-media="(prefers-color-scheme: light)" data-md-color-primary="red" data-md-color-scheme="default" id="__palette_1" name="__palette" type="radio"/>
<label class="md-header__button md-icon" for="__palette_2" hidden="" title="Dunkelmodus verwenden">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12 20 8.69Z"></path></svg>
<input aria-label="Dunkelmodus verwenden" class="md-option" data-md-color-accent="indigo" data-md-color-media="(prefers-color-scheme: light)" data-md-color-primary="red" data-md-color-scheme="default" id="__palette_0" name="__palette" type="radio"/>
<label class="md-header__button md-icon" for="__palette_1" hidden="" title="Dunkelmodus verwenden">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"></path></svg>
</label>
<input aria-label="Hellen Modus verwenden" class="md-option" data-md-color-accent="" data-md-color-media="(prefers-color-scheme: dark)" data-md-color-primary="" data-md-color-scheme="slate" id="__palette_2" name="__palette" type="radio"/>
<label class="md-header__button md-icon" for="__palette_1" hidden="" title="Hellen Modus verwenden">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12c0-2.42-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12 20 8.69Z"></path></svg>
<input aria-label="Hellen Modus verwenden" class="md-option" data-md-color-accent="indigo" data-md-color-media="(prefers-color-scheme: dark)" data-md-color-primary="indigo" data-md-color-scheme="slate" id="__palette_1" name="__palette" type="radio"/>
<label class="md-header__button md-icon" for="__palette_0" hidden="" title="Hellen Modus verwenden">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"></path></svg>
</label>
</form>
<script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script>
<div class="md-header__option">
<div class="md-select">
<button aria-label="Sprache wechseln" class="md-header__button md-icon">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="m12.87 15.07-2.54-2.51.03-.03A17.52 17.52 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04M18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12m-2.62 7 1.62-4.33L19.12 17h-3.24Z"></path></svg>
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="m12.87 15.07-2.54-2.51.03-.03A17.5 17.5 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2zm-2.62 7 1.62-4.33L19.12 17z"></path></svg>
</button>
<div class="md-select__inner">
<ul class="md-select__list">
<li class="md-select__item">
<a class="md-select__link" href=".." hreflang="de">
Deutsch
</a>
<a class="md-select__link" href="../None" hreflang="de">
Deutsch
</a>
</li>
<li class="md-select__item">
<a class="md-select__link" href="https://transfer.hft-stuttgart.de/pages/citydoctor/citydoctorhomepage/en/" hreflang="en">
English
</a>
English
</a>
</li>
</ul>
</div>
</div>
</div>
<label class="md-header__button md-icon" for="__search">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"></path></svg>
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"></path></svg>
</label>
<div class="md-search" data-md-component="search" role="dialog">
<label class="md-search__overlay" for="__search"></label>
......@@ -95,17 +95,17 @@
<form class="md-search__form" name="search">
<input aria-label="Suche" autocapitalize="off" autocomplete="off" autocorrect="off" class="md-search__input" data-md-component="search-query" name="query" placeholder="Suche" required="" spellcheck="false" type="text"/>
<label class="md-search__icon md-icon" for="__search">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"></path></svg>
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"></path></svg>
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"></path></svg>
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"></path></svg>
</label>
<nav aria-label="Suche" class="md-search__options">
<button aria-label="Zurücksetzen" class="md-search__icon md-icon" tabindex="-1" title="Zurücksetzen" type="reset">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"></path></svg>
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"></path></svg>
</button>
</nav>
</form>
<div class="md-search__output">
<div class="md-search__scrollwrap" data-md-scrollfix="">
<div class="md-search__scrollwrap" data-md-scrollfix="" tabindex="0">
<div class="md-search-result" data-md-component="search-result">
<div class="md-search-result__meta">
Suche wird initialisiert
......@@ -119,7 +119,7 @@
<div class="md-header__source">
<a class="md-source" data-md-component="source" href="https://transfer.hft-stuttgart.de/gitlab/citydoctor/citydoctor2" title="Zum Repository">
<div class="md-source__icon md-icon">
<svg viewbox="0 0 448 512" xmlns="http://www.w3.org/2000/svg"><!--! Font Awesome Free 6.2.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2022 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"></path></svg>
<svg viewbox="0 0 448 512" xmlns="http://www.w3.org/2000/svg"><!--! Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81"></path></svg>
</div>
<div class="md-source__repository">
CityDoctor2
......@@ -137,14 +137,14 @@
<nav aria-label="Navigation" class="md-nav md-nav--primary" data-md-level="0">
<label class="md-nav__title" for="__drawer">
<a aria-label="CityDoctor2" class="md-nav__button md-logo" data-md-component="logo" href=".." title="CityDoctor2">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54Z"></path></svg>
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"></path></svg>
</a>
CityDoctor2
</label>
<div class="md-nav__source">
<a class="md-source" data-md-component="source" href="https://transfer.hft-stuttgart.de/gitlab/citydoctor/citydoctor2" title="Zum Repository">
<div class="md-source__icon md-icon">
<svg viewbox="0 0 448 512" xmlns="http://www.w3.org/2000/svg"><!--! Font Awesome Free 6.2.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2022 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"></path></svg>
<svg viewbox="0 0 448 512" xmlns="http://www.w3.org/2000/svg"><!--! Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81"></path></svg>
</div>
<div class="md-source__repository">
CityDoctor2
......@@ -153,196 +153,271 @@
</div>
<ul class="md-nav__list" data-md-scrollfix="">
<li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested">
<input checked="" class="md-nav__toggle md-toggle" data-md-toggle="__nav_1" id="__nav_1" type="checkbox"/>
<label aria-expanded="true" class="md-nav__link" for="__nav_1" tabindex="0">
CityDoctor2
<span class="md-nav__icon md-icon"></span>
<input checked="" class="md-nav__toggle md-toggle" id="__nav_1" type="checkbox"/>
<label class="md-nav__link" for="__nav_1" id="__nav_1_label" tabindex="">
<span class="md-ellipsis">
CityDoctor2
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav aria-label="CityDoctor2" class="md-nav" data-md-level="1">
<nav aria-expanded="true" aria-labelledby="__nav_1_label" class="md-nav" data-md-level="1">
<label class="md-nav__title" for="__nav_1">
<span class="md-nav__icon md-icon"></span>
CityDoctor2
</label>
CityDoctor2
</label>
<ul class="md-nav__list" data-md-scrollfix="">
<li class="md-nav__item">
<a class="md-nav__link" href="..">
Über CityDoctor2
</a>
<span class="md-ellipsis">
Über CityDoctor2
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../requiredSoftware/">
Installation
</a>
<span class="md-ellipsis">
Installation
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../firstRun/">
Erster Start
</a>
<span class="md-ellipsis">
Erster Start
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../userInterface/">
Nutzeroberfläche
</a>
<span class="md-ellipsis">
Nutzeroberfläche
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../zipFiles/">
<span class="md-ellipsis">
Zip Dateien
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../validationPlan/">
Prüfplan
</a>
<span class="md-ellipsis">
Prüfplan
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--active md-nav__item--nested">
<input checked="" class="md-nav__toggle md-toggle" data-md-toggle="__nav_1_6" id="__nav_1_6" type="checkbox"/>
<label aria-expanded="true" class="md-nav__link" for="__nav_1_6" tabindex="0">
Anforderungen
<span class="md-nav__icon md-icon"></span>
<input checked="" class="md-nav__toggle md-toggle" id="__nav_1_7" type="checkbox"/>
<label class="md-nav__link" for="__nav_1_7" id="__nav_1_7_label" tabindex="0">
<span class="md-ellipsis">
Anforderungen
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav aria-label="Anforderungen" class="md-nav" data-md-level="2">
<label class="md-nav__title" for="__nav_1_6">
<nav aria-expanded="true" aria-labelledby="__nav_1_7_label" class="md-nav" data-md-level="2">
<label class="md-nav__title" for="__nav_1_7">
<span class="md-nav__icon md-icon"></span>
Anforderungen
</label>
Anforderungen
</label>
<ul class="md-nav__list" data-md-scrollfix="">
<li class="md-nav__item">
<a class="md-nav__link" href="../basic/">
Grundbegriffe
</a>
<span class="md-ellipsis">
Grundbegriffe
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../requirements/">
Übersicht
</a>
<span class="md-ellipsis">
Übersicht
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../schemaRequirements/">
Schemaanforderungen
</a>
<span class="md-ellipsis">
Schemaanforderungen
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../geometric/">
Geometrische Anforderungen
</a>
<span class="md-ellipsis">
Geometrische Anforderungen
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../semantic/">
Semantische Anforderungen
</a>
<span class="md-ellipsis">
Semantische Anforderungen
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--active md-nav__item--nested">
<input checked="" class="md-nav__toggle md-toggle" data-md-toggle="__nav_1_6_6" id="__nav_1_6_6" type="checkbox"/>
<label aria-expanded="true" class="md-nav__link" for="__nav_1_6_6" tabindex="0">
Details
<span class="md-nav__icon md-icon"></span>
<input checked="" class="md-nav__toggle md-toggle" id="__nav_1_7_6" type="checkbox"/>
<label class="md-nav__link" for="__nav_1_7_6" id="__nav_1_7_6_label" tabindex="0">
<span class="md-ellipsis">
Details
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav aria-label="Details" class="md-nav" data-md-level="3">
<label class="md-nav__title" for="__nav_1_6_6">
<nav aria-expanded="true" aria-labelledby="__nav_1_7_6_label" class="md-nav" data-md-level="3">
<label class="md-nav__title" for="__nav_1_7_6">
<span class="md-nav__icon md-icon"></span>
Details
</label>
Details
</label>
<ul class="md-nav__list" data-md-scrollfix="">
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_R_TOO_FEW_POINTS/">
R_TOO_FEW_POINTS
</a>
<span class="md-ellipsis">
R_TOO_FEW_POINTS
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--active">
<input class="md-nav__toggle md-toggle" data-md-toggle="toc" id="__toc" type="checkbox"/>
<input class="md-nav__toggle md-toggle" id="__toc" type="checkbox"/>
<a class="md-nav__link md-nav__link--active" href="./">
R_CONSECUTIVE_POINTS_SAME
</a>
<span class="md-ellipsis">
R_CONSECUTIVE_POINTS_SAME
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_R_NOT_CLOSED/">
R_RING_NOT_CLOSED
</a>
<span class="md-ellipsis">
R_RING_NOT_CLOSED
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_R_SELF_INTERSECTION/">
R_RING_SELF_INTERSECTION
</a>
<span class="md-ellipsis">
R_RING_SELF_INTERSECTION
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_R_COLLAPSED_TO_LINE/">
R_COLLAPSED_TO_LINE
</a>
<span class="md-ellipsis">
R_COLLAPSED_TO_LINE
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_P_INTERSECTING_RINGS/">
P_INTERSECTING_RINGS
</a>
<span class="md-ellipsis">
P_INTERSECTING_RINGS
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_P_NON_PLANAR/">
P_NON_PLANAR
</a>
<span class="md-ellipsis">
P_NON_PLANAR
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_P_INTERIOR_DISCONNECTED/">
P_INTERIOR_DISCONNECTED
</a>
<span class="md-ellipsis">
P_INTERIOR_DISCONNECTED
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_P_HOLE_OUTSIDE/">
P_HOLE_OUTSIDE
</a>
<span class="md-ellipsis">
P_HOLE_OUTSIDE
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_P_INNER_RINGS_NESTED/">
P_INNER_RINGS_NESTED
</a>
<span class="md-ellipsis">
P_INNER_RINGS_NESTED
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_P_ORIENTATION_RINGS_SAME/">
P_ORIENTATION_RINGS_SAME
</a>
<span class="md-ellipsis">
P_ORIENTATION_RINGS_SAME
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_MS/">
MULTI_SURFACE
</a>
<span class="md-ellipsis">
MULTI_SURFACE
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_S_TOO_FEW_POLYGONS/">
S_TOO_FEW_POLYGONS
</a>
<span class="md-ellipsis">
S_TOO_FEW_POLYGONS
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_S_NOT_CLOSED/">
S_NOT_CLOSED
</a>
<span class="md-ellipsis">
S_NOT_CLOSED
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_S_NON_MANIFOLD_VERTEX/">
S_NON_MANIFOLD_VERTEX
</a>
<span class="md-ellipsis">
S_NON_MANIFOLD_VERTEX
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_S_NON_MANIFOLD_EDGE/">
S_NON_MANIFOLD_EDGE
</a>
<span class="md-ellipsis">
S_NON_MANIFOLD_EDGE
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_S_MULTIPLE_CONNECTED_COMPONENTS/">
S_MULTIPLE_CONNECTED_COMPONENTS
</a>
<span class="md-ellipsis">
S_MULTIPLE_CONNECTED_COMPONENTS
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_S_SELF_INTERSECTION/">
S_SELF_INTERSECTION
</a>
<span class="md-ellipsis">
S_SELF_INTERSECTION
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_S_POLYGON_WRONG_ORIENTATION/">
S_POLYGON_WRONG_ORIENTATION
</a>
<span class="md-ellipsis">
S_POLYGON_WRONG_ORIENTATION
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_S_ALL_POLYGONS_WRONG_ORIENTATION/">
S_ALL_POLYGONS_WRONG_ORIENTATION
</a>
<span class="md-ellipsis">
S_ALL_POLYGONS_WRONG_ORIENTATION
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_SO/">
SOLID
</a>
<span class="md-ellipsis">
SOLID
</span>
</a>
</li>
</ul>
</nav>
......@@ -372,6 +447,7 @@
<p>siehe <a href="https://gitlab.com/volkercoors/agqual3d/-/wikis/Validierung/Anforderungen/GE_gml_LR_0002">https://gitlab.com/volkercoors/agqual3d/-/wikis/Validierung/Anforderungen/GE_gml_LR_0002</a></p>
</article>
</div>
<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script>
</div>
</main>
<footer class="md-footer">
......@@ -392,8 +468,8 @@
<div class="md-dialog" data-md-component="dialog">
<div class="md-dialog__inner md-typeset"></div>
</div>
<script id="__config" type="application/json">{"base": "..", "features": ["content.code.annotate", "navigation.sections"], "search": "../assets/javascripts/workers/search.e5c33ebb.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version": "Version ausw\u00e4hlen"}}</script>
<script src="../assets/javascripts/bundle.51d95adb.min.js"></script>
<script id="__config" type="application/json">{"base": "..", "features": ["content.code.annotate", "navigation.sections"], "search": "../assets/javascripts/workers/search.07f07601.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version": "Version ausw\u00e4hlen"}}</script>
<script src="../assets/javascripts/bundle.56dfad97.min.js"></script>
<script src="https://unpkg.com/mermaid/dist/mermaid.min.js"></script>
</body>
</html>
\ No newline at end of file
......@@ -9,18 +9,17 @@
<link href="../R_GE_R_CONSECUTIVE_POINTS_SAME/" rel="prev"/>
<link href="../R_GE_R_SELF_INTERSECTION/" rel="next"/>
<link href="../img/citydoctor_logo.png" rel="icon"/>
<meta content="mkdocs-1.4.2, mkdocs-material-9.0.6" name="generator"/>
<meta content="mkdocs-1.6.1, mkdocs-material-9.5.34" name="generator"/>
<title>R_RING_NOT_CLOSED - CityDoctor2</title>
<link href="../assets/stylesheets/main.558e4712.min.css" rel="stylesheet"/>
<link href="../assets/stylesheets/palette.2505c338.min.css" rel="stylesheet"/>
<link href="../assets/stylesheets/main.35f28582.min.css" rel="stylesheet"/>
<link href="../assets/stylesheets/palette.06af60db.min.css" rel="stylesheet"/>
<link crossorigin="" href="https://fonts.gstatic.com" rel="preconnect"/>
<link href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&amp;display=fallback" rel="stylesheet"/>
<style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style>
<link href="https://unpkg.com/mermaid/dist/mermaid.css" rel="stylesheet"/>
<script>__md_scope=new URL("..",location),__md_hash=e=>[...e].reduce((e,_)=>(e<<5)-e+_.charCodeAt(0),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
<script>__md_scope=new URL("..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
</head>
<body data-md-color-accent="" data-md-color-primary="red" data-md-color-scheme="default" dir="ltr">
<script>var palette=__md_get("__palette");if(palette&&"object"==typeof palette.color)for(var key of Object.keys(palette.color))document.body.setAttribute("data-md-color-"+key,palette.color[key])</script>
<body data-md-color-accent="indigo" data-md-color-primary="red" data-md-color-scheme="default" dir="ltr">
<input autocomplete="off" class="md-toggle" data-md-toggle="drawer" id="__drawer" type="checkbox"/>
<input autocomplete="off" class="md-toggle" data-md-toggle="search" id="__search" type="checkbox"/>
<label class="md-overlay" for="__drawer"></label>
......@@ -31,13 +30,13 @@
</div>
<div data-md-component="announce">
</div>
<header class="md-header" data-md-component="header">
<header class="md-header md-header--shadow" data-md-component="header">
<nav aria-label="Kopfzeile" class="md-header__inner md-grid">
<a aria-label="CityDoctor2" class="md-header__button md-logo" data-md-component="logo" href=".." title="CityDoctor2">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54Z"></path></svg>
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"></path></svg>
</a>
<label class="md-header__button md-icon" for="__drawer">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2Z"></path></svg>
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"></path></svg>
</label>
<div class="md-header__title" data-md-component="header-title">
<div class="md-header__ellipsis">
......@@ -56,38 +55,39 @@
</div>
</div>
<form class="md-header__option" data-md-component="palette">
<input aria-label="Dunkelmodus verwenden" class="md-option" data-md-color-accent="" data-md-color-media="(prefers-color-scheme: light)" data-md-color-primary="red" data-md-color-scheme="default" id="__palette_1" name="__palette" type="radio"/>
<label class="md-header__button md-icon" for="__palette_2" hidden="" title="Dunkelmodus verwenden">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12 20 8.69Z"></path></svg>
<input aria-label="Dunkelmodus verwenden" class="md-option" data-md-color-accent="indigo" data-md-color-media="(prefers-color-scheme: light)" data-md-color-primary="red" data-md-color-scheme="default" id="__palette_0" name="__palette" type="radio"/>
<label class="md-header__button md-icon" for="__palette_1" hidden="" title="Dunkelmodus verwenden">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"></path></svg>
</label>
<input aria-label="Hellen Modus verwenden" class="md-option" data-md-color-accent="" data-md-color-media="(prefers-color-scheme: dark)" data-md-color-primary="" data-md-color-scheme="slate" id="__palette_2" name="__palette" type="radio"/>
<label class="md-header__button md-icon" for="__palette_1" hidden="" title="Hellen Modus verwenden">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12c0-2.42-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12 20 8.69Z"></path></svg>
<input aria-label="Hellen Modus verwenden" class="md-option" data-md-color-accent="indigo" data-md-color-media="(prefers-color-scheme: dark)" data-md-color-primary="indigo" data-md-color-scheme="slate" id="__palette_1" name="__palette" type="radio"/>
<label class="md-header__button md-icon" for="__palette_0" hidden="" title="Hellen Modus verwenden">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"></path></svg>
</label>
</form>
<script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script>
<div class="md-header__option">
<div class="md-select">
<button aria-label="Sprache wechseln" class="md-header__button md-icon">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="m12.87 15.07-2.54-2.51.03-.03A17.52 17.52 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04M18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12m-2.62 7 1.62-4.33L19.12 17h-3.24Z"></path></svg>
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="m12.87 15.07-2.54-2.51.03-.03A17.5 17.5 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2zm-2.62 7 1.62-4.33L19.12 17z"></path></svg>
</button>
<div class="md-select__inner">
<ul class="md-select__list">
<li class="md-select__item">
<a class="md-select__link" href=".." hreflang="de">
Deutsch
</a>
<a class="md-select__link" href="../None" hreflang="de">
Deutsch
</a>
</li>
<li class="md-select__item">
<a class="md-select__link" href="https://transfer.hft-stuttgart.de/pages/citydoctor/citydoctorhomepage/en/" hreflang="en">
English
</a>
English
</a>
</li>
</ul>
</div>
</div>
</div>
<label class="md-header__button md-icon" for="__search">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"></path></svg>
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"></path></svg>
</label>
<div class="md-search" data-md-component="search" role="dialog">
<label class="md-search__overlay" for="__search"></label>
......@@ -95,17 +95,17 @@
<form class="md-search__form" name="search">
<input aria-label="Suche" autocapitalize="off" autocomplete="off" autocorrect="off" class="md-search__input" data-md-component="search-query" name="query" placeholder="Suche" required="" spellcheck="false" type="text"/>
<label class="md-search__icon md-icon" for="__search">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"></path></svg>
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"></path></svg>
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"></path></svg>
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"></path></svg>
</label>
<nav aria-label="Suche" class="md-search__options">
<button aria-label="Zurücksetzen" class="md-search__icon md-icon" tabindex="-1" title="Zurücksetzen" type="reset">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"></path></svg>
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"></path></svg>
</button>
</nav>
</form>
<div class="md-search__output">
<div class="md-search__scrollwrap" data-md-scrollfix="">
<div class="md-search__scrollwrap" data-md-scrollfix="" tabindex="0">
<div class="md-search-result" data-md-component="search-result">
<div class="md-search-result__meta">
Suche wird initialisiert
......@@ -119,7 +119,7 @@
<div class="md-header__source">
<a class="md-source" data-md-component="source" href="https://transfer.hft-stuttgart.de/gitlab/citydoctor/citydoctor2" title="Zum Repository">
<div class="md-source__icon md-icon">
<svg viewbox="0 0 448 512" xmlns="http://www.w3.org/2000/svg"><!--! Font Awesome Free 6.2.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2022 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"></path></svg>
<svg viewbox="0 0 448 512" xmlns="http://www.w3.org/2000/svg"><!--! Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81"></path></svg>
</div>
<div class="md-source__repository">
CityDoctor2
......@@ -137,14 +137,14 @@
<nav aria-label="Navigation" class="md-nav md-nav--primary" data-md-level="0">
<label class="md-nav__title" for="__drawer">
<a aria-label="CityDoctor2" class="md-nav__button md-logo" data-md-component="logo" href=".." title="CityDoctor2">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54Z"></path></svg>
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"></path></svg>
</a>
CityDoctor2
</label>
<div class="md-nav__source">
<a class="md-source" data-md-component="source" href="https://transfer.hft-stuttgart.de/gitlab/citydoctor/citydoctor2" title="Zum Repository">
<div class="md-source__icon md-icon">
<svg viewbox="0 0 448 512" xmlns="http://www.w3.org/2000/svg"><!--! Font Awesome Free 6.2.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2022 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"></path></svg>
<svg viewbox="0 0 448 512" xmlns="http://www.w3.org/2000/svg"><!--! Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81"></path></svg>
</div>
<div class="md-source__repository">
CityDoctor2
......@@ -153,196 +153,271 @@
</div>
<ul class="md-nav__list" data-md-scrollfix="">
<li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested">
<input checked="" class="md-nav__toggle md-toggle" data-md-toggle="__nav_1" id="__nav_1" type="checkbox"/>
<label aria-expanded="true" class="md-nav__link" for="__nav_1" tabindex="0">
CityDoctor2
<span class="md-nav__icon md-icon"></span>
<input checked="" class="md-nav__toggle md-toggle" id="__nav_1" type="checkbox"/>
<label class="md-nav__link" for="__nav_1" id="__nav_1_label" tabindex="">
<span class="md-ellipsis">
CityDoctor2
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav aria-label="CityDoctor2" class="md-nav" data-md-level="1">
<nav aria-expanded="true" aria-labelledby="__nav_1_label" class="md-nav" data-md-level="1">
<label class="md-nav__title" for="__nav_1">
<span class="md-nav__icon md-icon"></span>
CityDoctor2
</label>
CityDoctor2
</label>
<ul class="md-nav__list" data-md-scrollfix="">
<li class="md-nav__item">
<a class="md-nav__link" href="..">
Über CityDoctor2
</a>
<span class="md-ellipsis">
Über CityDoctor2
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../requiredSoftware/">
Installation
</a>
<span class="md-ellipsis">
Installation
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../firstRun/">
Erster Start
</a>
<span class="md-ellipsis">
Erster Start
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../userInterface/">
Nutzeroberfläche
</a>
<span class="md-ellipsis">
Nutzeroberfläche
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../zipFiles/">
<span class="md-ellipsis">
Zip Dateien
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../validationPlan/">
Prüfplan
</a>
<span class="md-ellipsis">
Prüfplan
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--active md-nav__item--nested">
<input checked="" class="md-nav__toggle md-toggle" data-md-toggle="__nav_1_6" id="__nav_1_6" type="checkbox"/>
<label aria-expanded="true" class="md-nav__link" for="__nav_1_6" tabindex="0">
Anforderungen
<span class="md-nav__icon md-icon"></span>
<input checked="" class="md-nav__toggle md-toggle" id="__nav_1_7" type="checkbox"/>
<label class="md-nav__link" for="__nav_1_7" id="__nav_1_7_label" tabindex="0">
<span class="md-ellipsis">
Anforderungen
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav aria-label="Anforderungen" class="md-nav" data-md-level="2">
<label class="md-nav__title" for="__nav_1_6">
<nav aria-expanded="true" aria-labelledby="__nav_1_7_label" class="md-nav" data-md-level="2">
<label class="md-nav__title" for="__nav_1_7">
<span class="md-nav__icon md-icon"></span>
Anforderungen
</label>
Anforderungen
</label>
<ul class="md-nav__list" data-md-scrollfix="">
<li class="md-nav__item">
<a class="md-nav__link" href="../basic/">
Grundbegriffe
</a>
<span class="md-ellipsis">
Grundbegriffe
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../requirements/">
Übersicht
</a>
<span class="md-ellipsis">
Übersicht
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../schemaRequirements/">
Schemaanforderungen
</a>
<span class="md-ellipsis">
Schemaanforderungen
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../geometric/">
Geometrische Anforderungen
</a>
<span class="md-ellipsis">
Geometrische Anforderungen
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../semantic/">
Semantische Anforderungen
</a>
<span class="md-ellipsis">
Semantische Anforderungen
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--active md-nav__item--nested">
<input checked="" class="md-nav__toggle md-toggle" data-md-toggle="__nav_1_6_6" id="__nav_1_6_6" type="checkbox"/>
<label aria-expanded="true" class="md-nav__link" for="__nav_1_6_6" tabindex="0">
Details
<span class="md-nav__icon md-icon"></span>
<input checked="" class="md-nav__toggle md-toggle" id="__nav_1_7_6" type="checkbox"/>
<label class="md-nav__link" for="__nav_1_7_6" id="__nav_1_7_6_label" tabindex="0">
<span class="md-ellipsis">
Details
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav aria-label="Details" class="md-nav" data-md-level="3">
<label class="md-nav__title" for="__nav_1_6_6">
<nav aria-expanded="true" aria-labelledby="__nav_1_7_6_label" class="md-nav" data-md-level="3">
<label class="md-nav__title" for="__nav_1_7_6">
<span class="md-nav__icon md-icon"></span>
Details
</label>
Details
</label>
<ul class="md-nav__list" data-md-scrollfix="">
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_R_TOO_FEW_POINTS/">
R_TOO_FEW_POINTS
</a>
<span class="md-ellipsis">
R_TOO_FEW_POINTS
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_R_CONSECUTIVE_POINTS_SAME/">
R_CONSECUTIVE_POINTS_SAME
</a>
<span class="md-ellipsis">
R_CONSECUTIVE_POINTS_SAME
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--active">
<input class="md-nav__toggle md-toggle" data-md-toggle="toc" id="__toc" type="checkbox"/>
<input class="md-nav__toggle md-toggle" id="__toc" type="checkbox"/>
<a class="md-nav__link md-nav__link--active" href="./">
R_RING_NOT_CLOSED
</a>
<span class="md-ellipsis">
R_RING_NOT_CLOSED
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_R_SELF_INTERSECTION/">
R_RING_SELF_INTERSECTION
</a>
<span class="md-ellipsis">
R_RING_SELF_INTERSECTION
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_R_COLLAPSED_TO_LINE/">
R_COLLAPSED_TO_LINE
</a>
<span class="md-ellipsis">
R_COLLAPSED_TO_LINE
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_P_INTERSECTING_RINGS/">
P_INTERSECTING_RINGS
</a>
<span class="md-ellipsis">
P_INTERSECTING_RINGS
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_P_NON_PLANAR/">
P_NON_PLANAR
</a>
<span class="md-ellipsis">
P_NON_PLANAR
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_P_INTERIOR_DISCONNECTED/">
P_INTERIOR_DISCONNECTED
</a>
<span class="md-ellipsis">
P_INTERIOR_DISCONNECTED
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_P_HOLE_OUTSIDE/">
P_HOLE_OUTSIDE
</a>
<span class="md-ellipsis">
P_HOLE_OUTSIDE
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_P_INNER_RINGS_NESTED/">
P_INNER_RINGS_NESTED
</a>
<span class="md-ellipsis">
P_INNER_RINGS_NESTED
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_P_ORIENTATION_RINGS_SAME/">
P_ORIENTATION_RINGS_SAME
</a>
<span class="md-ellipsis">
P_ORIENTATION_RINGS_SAME
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_MS/">
MULTI_SURFACE
</a>
<span class="md-ellipsis">
MULTI_SURFACE
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_S_TOO_FEW_POLYGONS/">
S_TOO_FEW_POLYGONS
</a>
<span class="md-ellipsis">
S_TOO_FEW_POLYGONS
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_S_NOT_CLOSED/">
S_NOT_CLOSED
</a>
<span class="md-ellipsis">
S_NOT_CLOSED
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_S_NON_MANIFOLD_VERTEX/">
S_NON_MANIFOLD_VERTEX
</a>
<span class="md-ellipsis">
S_NON_MANIFOLD_VERTEX
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_S_NON_MANIFOLD_EDGE/">
S_NON_MANIFOLD_EDGE
</a>
<span class="md-ellipsis">
S_NON_MANIFOLD_EDGE
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_S_MULTIPLE_CONNECTED_COMPONENTS/">
S_MULTIPLE_CONNECTED_COMPONENTS
</a>
<span class="md-ellipsis">
S_MULTIPLE_CONNECTED_COMPONENTS
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_S_SELF_INTERSECTION/">
S_SELF_INTERSECTION
</a>
<span class="md-ellipsis">
S_SELF_INTERSECTION
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_S_POLYGON_WRONG_ORIENTATION/">
S_POLYGON_WRONG_ORIENTATION
</a>
<span class="md-ellipsis">
S_POLYGON_WRONG_ORIENTATION
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_S_ALL_POLYGONS_WRONG_ORIENTATION/">
S_ALL_POLYGONS_WRONG_ORIENTATION
</a>
<span class="md-ellipsis">
S_ALL_POLYGONS_WRONG_ORIENTATION
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_SO/">
SOLID
</a>
<span class="md-ellipsis">
SOLID
</span>
</a>
</li>
</ul>
</nav>
......@@ -372,6 +447,7 @@
<p>siehe <a href="https://gitlab.com/volkercoors/agqual3d/-/wikis/Validierung/Anforderungen/GE_gml_LR_0003">https://gitlab.com/volkercoors/agqual3d/-/wikis/Validierung/Anforderungen/GE_gml_LR_0003</a></p>
</article>
</div>
<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script>
</div>
</main>
<footer class="md-footer">
......@@ -392,8 +468,8 @@
<div class="md-dialog" data-md-component="dialog">
<div class="md-dialog__inner md-typeset"></div>
</div>
<script id="__config" type="application/json">{"base": "..", "features": ["content.code.annotate", "navigation.sections"], "search": "../assets/javascripts/workers/search.e5c33ebb.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version": "Version ausw\u00e4hlen"}}</script>
<script src="../assets/javascripts/bundle.51d95adb.min.js"></script>
<script id="__config" type="application/json">{"base": "..", "features": ["content.code.annotate", "navigation.sections"], "search": "../assets/javascripts/workers/search.07f07601.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version": "Version ausw\u00e4hlen"}}</script>
<script src="../assets/javascripts/bundle.56dfad97.min.js"></script>
<script src="https://unpkg.com/mermaid/dist/mermaid.min.js"></script>
</body>
</html>
\ No newline at end of file
......@@ -9,18 +9,17 @@
<link href="../R_GE_R_NOT_CLOSED/" rel="prev"/>
<link href="../R_GE_R_COLLAPSED_TO_LINE/" rel="next"/>
<link href="../img/citydoctor_logo.png" rel="icon"/>
<meta content="mkdocs-1.4.2, mkdocs-material-9.0.6" name="generator"/>
<meta content="mkdocs-1.6.1, mkdocs-material-9.5.34" name="generator"/>
<title>R_RING_SELF_INTERSECTION - CityDoctor2</title>
<link href="../assets/stylesheets/main.558e4712.min.css" rel="stylesheet"/>
<link href="../assets/stylesheets/palette.2505c338.min.css" rel="stylesheet"/>
<link href="../assets/stylesheets/main.35f28582.min.css" rel="stylesheet"/>
<link href="../assets/stylesheets/palette.06af60db.min.css" rel="stylesheet"/>
<link crossorigin="" href="https://fonts.gstatic.com" rel="preconnect"/>
<link href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&amp;display=fallback" rel="stylesheet"/>
<style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style>
<link href="https://unpkg.com/mermaid/dist/mermaid.css" rel="stylesheet"/>
<script>__md_scope=new URL("..",location),__md_hash=e=>[...e].reduce((e,_)=>(e<<5)-e+_.charCodeAt(0),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
<script>__md_scope=new URL("..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
</head>
<body data-md-color-accent="" data-md-color-primary="red" data-md-color-scheme="default" dir="ltr">
<script>var palette=__md_get("__palette");if(palette&&"object"==typeof palette.color)for(var key of Object.keys(palette.color))document.body.setAttribute("data-md-color-"+key,palette.color[key])</script>
<body data-md-color-accent="indigo" data-md-color-primary="red" data-md-color-scheme="default" dir="ltr">
<input autocomplete="off" class="md-toggle" data-md-toggle="drawer" id="__drawer" type="checkbox"/>
<input autocomplete="off" class="md-toggle" data-md-toggle="search" id="__search" type="checkbox"/>
<label class="md-overlay" for="__drawer"></label>
......@@ -31,13 +30,13 @@
</div>
<div data-md-component="announce">
</div>
<header class="md-header" data-md-component="header">
<header class="md-header md-header--shadow" data-md-component="header">
<nav aria-label="Kopfzeile" class="md-header__inner md-grid">
<a aria-label="CityDoctor2" class="md-header__button md-logo" data-md-component="logo" href=".." title="CityDoctor2">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54Z"></path></svg>
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"></path></svg>
</a>
<label class="md-header__button md-icon" for="__drawer">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2Z"></path></svg>
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"></path></svg>
</label>
<div class="md-header__title" data-md-component="header-title">
<div class="md-header__ellipsis">
......@@ -56,38 +55,39 @@
</div>
</div>
<form class="md-header__option" data-md-component="palette">
<input aria-label="Dunkelmodus verwenden" class="md-option" data-md-color-accent="" data-md-color-media="(prefers-color-scheme: light)" data-md-color-primary="red" data-md-color-scheme="default" id="__palette_1" name="__palette" type="radio"/>
<label class="md-header__button md-icon" for="__palette_2" hidden="" title="Dunkelmodus verwenden">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12 20 8.69Z"></path></svg>
<input aria-label="Dunkelmodus verwenden" class="md-option" data-md-color-accent="indigo" data-md-color-media="(prefers-color-scheme: light)" data-md-color-primary="red" data-md-color-scheme="default" id="__palette_0" name="__palette" type="radio"/>
<label class="md-header__button md-icon" for="__palette_1" hidden="" title="Dunkelmodus verwenden">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"></path></svg>
</label>
<input aria-label="Hellen Modus verwenden" class="md-option" data-md-color-accent="" data-md-color-media="(prefers-color-scheme: dark)" data-md-color-primary="" data-md-color-scheme="slate" id="__palette_2" name="__palette" type="radio"/>
<label class="md-header__button md-icon" for="__palette_1" hidden="" title="Hellen Modus verwenden">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12c0-2.42-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12 20 8.69Z"></path></svg>
<input aria-label="Hellen Modus verwenden" class="md-option" data-md-color-accent="indigo" data-md-color-media="(prefers-color-scheme: dark)" data-md-color-primary="indigo" data-md-color-scheme="slate" id="__palette_1" name="__palette" type="radio"/>
<label class="md-header__button md-icon" for="__palette_0" hidden="" title="Hellen Modus verwenden">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"></path></svg>
</label>
</form>
<script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script>
<div class="md-header__option">
<div class="md-select">
<button aria-label="Sprache wechseln" class="md-header__button md-icon">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="m12.87 15.07-2.54-2.51.03-.03A17.52 17.52 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04M18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12m-2.62 7 1.62-4.33L19.12 17h-3.24Z"></path></svg>
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="m12.87 15.07-2.54-2.51.03-.03A17.5 17.5 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2zm-2.62 7 1.62-4.33L19.12 17z"></path></svg>
</button>
<div class="md-select__inner">
<ul class="md-select__list">
<li class="md-select__item">
<a class="md-select__link" href=".." hreflang="de">
Deutsch
</a>
<a class="md-select__link" href="../None" hreflang="de">
Deutsch
</a>
</li>
<li class="md-select__item">
<a class="md-select__link" href="https://transfer.hft-stuttgart.de/pages/citydoctor/citydoctorhomepage/en/" hreflang="en">
English
</a>
English
</a>
</li>
</ul>
</div>
</div>
</div>
<label class="md-header__button md-icon" for="__search">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"></path></svg>
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"></path></svg>
</label>
<div class="md-search" data-md-component="search" role="dialog">
<label class="md-search__overlay" for="__search"></label>
......@@ -95,17 +95,17 @@
<form class="md-search__form" name="search">
<input aria-label="Suche" autocapitalize="off" autocomplete="off" autocorrect="off" class="md-search__input" data-md-component="search-query" name="query" placeholder="Suche" required="" spellcheck="false" type="text"/>
<label class="md-search__icon md-icon" for="__search">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"></path></svg>
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"></path></svg>
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"></path></svg>
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"></path></svg>
</label>
<nav aria-label="Suche" class="md-search__options">
<button aria-label="Zurücksetzen" class="md-search__icon md-icon" tabindex="-1" title="Zurücksetzen" type="reset">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"></path></svg>
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"></path></svg>
</button>
</nav>
</form>
<div class="md-search__output">
<div class="md-search__scrollwrap" data-md-scrollfix="">
<div class="md-search__scrollwrap" data-md-scrollfix="" tabindex="0">
<div class="md-search-result" data-md-component="search-result">
<div class="md-search-result__meta">
Suche wird initialisiert
......@@ -119,7 +119,7 @@
<div class="md-header__source">
<a class="md-source" data-md-component="source" href="https://transfer.hft-stuttgart.de/gitlab/citydoctor/citydoctor2" title="Zum Repository">
<div class="md-source__icon md-icon">
<svg viewbox="0 0 448 512" xmlns="http://www.w3.org/2000/svg"><!--! Font Awesome Free 6.2.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2022 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"></path></svg>
<svg viewbox="0 0 448 512" xmlns="http://www.w3.org/2000/svg"><!--! Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81"></path></svg>
</div>
<div class="md-source__repository">
CityDoctor2
......@@ -137,14 +137,14 @@
<nav aria-label="Navigation" class="md-nav md-nav--primary" data-md-level="0">
<label class="md-nav__title" for="__drawer">
<a aria-label="CityDoctor2" class="md-nav__button md-logo" data-md-component="logo" href=".." title="CityDoctor2">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54Z"></path></svg>
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"></path></svg>
</a>
CityDoctor2
</label>
<div class="md-nav__source">
<a class="md-source" data-md-component="source" href="https://transfer.hft-stuttgart.de/gitlab/citydoctor/citydoctor2" title="Zum Repository">
<div class="md-source__icon md-icon">
<svg viewbox="0 0 448 512" xmlns="http://www.w3.org/2000/svg"><!--! Font Awesome Free 6.2.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2022 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"></path></svg>
<svg viewbox="0 0 448 512" xmlns="http://www.w3.org/2000/svg"><!--! Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81"></path></svg>
</div>
<div class="md-source__repository">
CityDoctor2
......@@ -153,196 +153,271 @@
</div>
<ul class="md-nav__list" data-md-scrollfix="">
<li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested">
<input checked="" class="md-nav__toggle md-toggle" data-md-toggle="__nav_1" id="__nav_1" type="checkbox"/>
<label aria-expanded="true" class="md-nav__link" for="__nav_1" tabindex="0">
CityDoctor2
<span class="md-nav__icon md-icon"></span>
<input checked="" class="md-nav__toggle md-toggle" id="__nav_1" type="checkbox"/>
<label class="md-nav__link" for="__nav_1" id="__nav_1_label" tabindex="">
<span class="md-ellipsis">
CityDoctor2
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav aria-label="CityDoctor2" class="md-nav" data-md-level="1">
<nav aria-expanded="true" aria-labelledby="__nav_1_label" class="md-nav" data-md-level="1">
<label class="md-nav__title" for="__nav_1">
<span class="md-nav__icon md-icon"></span>
CityDoctor2
</label>
CityDoctor2
</label>
<ul class="md-nav__list" data-md-scrollfix="">
<li class="md-nav__item">
<a class="md-nav__link" href="..">
Über CityDoctor2
</a>
<span class="md-ellipsis">
Über CityDoctor2
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../requiredSoftware/">
Installation
</a>
<span class="md-ellipsis">
Installation
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../firstRun/">
Erster Start
</a>
<span class="md-ellipsis">
Erster Start
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../userInterface/">
Nutzeroberfläche
</a>
<span class="md-ellipsis">
Nutzeroberfläche
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../zipFiles/">
<span class="md-ellipsis">
Zip Dateien
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../validationPlan/">
Prüfplan
</a>
<span class="md-ellipsis">
Prüfplan
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--active md-nav__item--nested">
<input checked="" class="md-nav__toggle md-toggle" data-md-toggle="__nav_1_6" id="__nav_1_6" type="checkbox"/>
<label aria-expanded="true" class="md-nav__link" for="__nav_1_6" tabindex="0">
Anforderungen
<span class="md-nav__icon md-icon"></span>
<input checked="" class="md-nav__toggle md-toggle" id="__nav_1_7" type="checkbox"/>
<label class="md-nav__link" for="__nav_1_7" id="__nav_1_7_label" tabindex="0">
<span class="md-ellipsis">
Anforderungen
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav aria-label="Anforderungen" class="md-nav" data-md-level="2">
<label class="md-nav__title" for="__nav_1_6">
<nav aria-expanded="true" aria-labelledby="__nav_1_7_label" class="md-nav" data-md-level="2">
<label class="md-nav__title" for="__nav_1_7">
<span class="md-nav__icon md-icon"></span>
Anforderungen
</label>
Anforderungen
</label>
<ul class="md-nav__list" data-md-scrollfix="">
<li class="md-nav__item">
<a class="md-nav__link" href="../basic/">
Grundbegriffe
</a>
<span class="md-ellipsis">
Grundbegriffe
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../requirements/">
Übersicht
</a>
<span class="md-ellipsis">
Übersicht
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../schemaRequirements/">
Schemaanforderungen
</a>
<span class="md-ellipsis">
Schemaanforderungen
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../geometric/">
Geometrische Anforderungen
</a>
<span class="md-ellipsis">
Geometrische Anforderungen
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../semantic/">
Semantische Anforderungen
</a>
<span class="md-ellipsis">
Semantische Anforderungen
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--active md-nav__item--nested">
<input checked="" class="md-nav__toggle md-toggle" data-md-toggle="__nav_1_6_6" id="__nav_1_6_6" type="checkbox"/>
<label aria-expanded="true" class="md-nav__link" for="__nav_1_6_6" tabindex="0">
Details
<span class="md-nav__icon md-icon"></span>
<input checked="" class="md-nav__toggle md-toggle" id="__nav_1_7_6" type="checkbox"/>
<label class="md-nav__link" for="__nav_1_7_6" id="__nav_1_7_6_label" tabindex="0">
<span class="md-ellipsis">
Details
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav aria-label="Details" class="md-nav" data-md-level="3">
<label class="md-nav__title" for="__nav_1_6_6">
<nav aria-expanded="true" aria-labelledby="__nav_1_7_6_label" class="md-nav" data-md-level="3">
<label class="md-nav__title" for="__nav_1_7_6">
<span class="md-nav__icon md-icon"></span>
Details
</label>
Details
</label>
<ul class="md-nav__list" data-md-scrollfix="">
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_R_TOO_FEW_POINTS/">
R_TOO_FEW_POINTS
</a>
<span class="md-ellipsis">
R_TOO_FEW_POINTS
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_R_CONSECUTIVE_POINTS_SAME/">
R_CONSECUTIVE_POINTS_SAME
</a>
<span class="md-ellipsis">
R_CONSECUTIVE_POINTS_SAME
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_R_NOT_CLOSED/">
R_RING_NOT_CLOSED
</a>
<span class="md-ellipsis">
R_RING_NOT_CLOSED
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--active">
<input class="md-nav__toggle md-toggle" data-md-toggle="toc" id="__toc" type="checkbox"/>
<input class="md-nav__toggle md-toggle" id="__toc" type="checkbox"/>
<a class="md-nav__link md-nav__link--active" href="./">
R_RING_SELF_INTERSECTION
</a>
<span class="md-ellipsis">
R_RING_SELF_INTERSECTION
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_R_COLLAPSED_TO_LINE/">
R_COLLAPSED_TO_LINE
</a>
<span class="md-ellipsis">
R_COLLAPSED_TO_LINE
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_P_INTERSECTING_RINGS/">
P_INTERSECTING_RINGS
</a>
<span class="md-ellipsis">
P_INTERSECTING_RINGS
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_P_NON_PLANAR/">
P_NON_PLANAR
</a>
<span class="md-ellipsis">
P_NON_PLANAR
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_P_INTERIOR_DISCONNECTED/">
P_INTERIOR_DISCONNECTED
</a>
<span class="md-ellipsis">
P_INTERIOR_DISCONNECTED
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_P_HOLE_OUTSIDE/">
P_HOLE_OUTSIDE
</a>
<span class="md-ellipsis">
P_HOLE_OUTSIDE
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_P_INNER_RINGS_NESTED/">
P_INNER_RINGS_NESTED
</a>
<span class="md-ellipsis">
P_INNER_RINGS_NESTED
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_P_ORIENTATION_RINGS_SAME/">
P_ORIENTATION_RINGS_SAME
</a>
<span class="md-ellipsis">
P_ORIENTATION_RINGS_SAME
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_MS/">
MULTI_SURFACE
</a>
<span class="md-ellipsis">
MULTI_SURFACE
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_S_TOO_FEW_POLYGONS/">
S_TOO_FEW_POLYGONS
</a>
<span class="md-ellipsis">
S_TOO_FEW_POLYGONS
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_S_NOT_CLOSED/">
S_NOT_CLOSED
</a>
<span class="md-ellipsis">
S_NOT_CLOSED
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_S_NON_MANIFOLD_VERTEX/">
S_NON_MANIFOLD_VERTEX
</a>
<span class="md-ellipsis">
S_NON_MANIFOLD_VERTEX
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_S_NON_MANIFOLD_EDGE/">
S_NON_MANIFOLD_EDGE
</a>
<span class="md-ellipsis">
S_NON_MANIFOLD_EDGE
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_S_MULTIPLE_CONNECTED_COMPONENTS/">
S_MULTIPLE_CONNECTED_COMPONENTS
</a>
<span class="md-ellipsis">
S_MULTIPLE_CONNECTED_COMPONENTS
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_S_SELF_INTERSECTION/">
S_SELF_INTERSECTION
</a>
<span class="md-ellipsis">
S_SELF_INTERSECTION
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_S_POLYGON_WRONG_ORIENTATION/">
S_POLYGON_WRONG_ORIENTATION
</a>
<span class="md-ellipsis">
S_POLYGON_WRONG_ORIENTATION
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_S_ALL_POLYGONS_WRONG_ORIENTATION/">
S_ALL_POLYGONS_WRONG_ORIENTATION
</a>
<span class="md-ellipsis">
S_ALL_POLYGONS_WRONG_ORIENTATION
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_SO/">
SOLID
</a>
<span class="md-ellipsis">
SOLID
</span>
</a>
</li>
</ul>
</nav>
......@@ -372,6 +447,7 @@
<p>siehe <a href="https://gitlab.com/volkercoors/agqual3d/-/wikis/Validierung/Anforderungen/GE_gml_LR_0004">https://gitlab.com/volkercoors/agqual3d/-/wikis/Validierung/Anforderungen/GE_gml_LR_0004</a></p>
</article>
</div>
<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script>
</div>
</main>
<footer class="md-footer">
......@@ -392,8 +468,8 @@
<div class="md-dialog" data-md-component="dialog">
<div class="md-dialog__inner md-typeset"></div>
</div>
<script id="__config" type="application/json">{"base": "..", "features": ["content.code.annotate", "navigation.sections"], "search": "../assets/javascripts/workers/search.e5c33ebb.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version": "Version ausw\u00e4hlen"}}</script>
<script src="../assets/javascripts/bundle.51d95adb.min.js"></script>
<script id="__config" type="application/json">{"base": "..", "features": ["content.code.annotate", "navigation.sections"], "search": "../assets/javascripts/workers/search.07f07601.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version": "Version ausw\u00e4hlen"}}</script>
<script src="../assets/javascripts/bundle.56dfad97.min.js"></script>
<script src="https://unpkg.com/mermaid/dist/mermaid.min.js"></script>
</body>
</html>
\ No newline at end of file
......@@ -9,18 +9,17 @@
<link href="../semantic/" rel="prev"/>
<link href="../R_GE_R_CONSECUTIVE_POINTS_SAME/" rel="next"/>
<link href="../img/citydoctor_logo.png" rel="icon"/>
<meta content="mkdocs-1.4.2, mkdocs-material-9.0.6" name="generator"/>
<meta content="mkdocs-1.6.1, mkdocs-material-9.5.34" name="generator"/>
<title>R_TOO_FEW_POINTS - CityDoctor2</title>
<link href="../assets/stylesheets/main.558e4712.min.css" rel="stylesheet"/>
<link href="../assets/stylesheets/palette.2505c338.min.css" rel="stylesheet"/>
<link href="../assets/stylesheets/main.35f28582.min.css" rel="stylesheet"/>
<link href="../assets/stylesheets/palette.06af60db.min.css" rel="stylesheet"/>
<link crossorigin="" href="https://fonts.gstatic.com" rel="preconnect"/>
<link href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&amp;display=fallback" rel="stylesheet"/>
<style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style>
<link href="https://unpkg.com/mermaid/dist/mermaid.css" rel="stylesheet"/>
<script>__md_scope=new URL("..",location),__md_hash=e=>[...e].reduce((e,_)=>(e<<5)-e+_.charCodeAt(0),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
<script>__md_scope=new URL("..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
</head>
<body data-md-color-accent="" data-md-color-primary="red" data-md-color-scheme="default" dir="ltr">
<script>var palette=__md_get("__palette");if(palette&&"object"==typeof palette.color)for(var key of Object.keys(palette.color))document.body.setAttribute("data-md-color-"+key,palette.color[key])</script>
<body data-md-color-accent="indigo" data-md-color-primary="red" data-md-color-scheme="default" dir="ltr">
<input autocomplete="off" class="md-toggle" data-md-toggle="drawer" id="__drawer" type="checkbox"/>
<input autocomplete="off" class="md-toggle" data-md-toggle="search" id="__search" type="checkbox"/>
<label class="md-overlay" for="__drawer"></label>
......@@ -31,13 +30,13 @@
</div>
<div data-md-component="announce">
</div>
<header class="md-header" data-md-component="header">
<header class="md-header md-header--shadow" data-md-component="header">
<nav aria-label="Kopfzeile" class="md-header__inner md-grid">
<a aria-label="CityDoctor2" class="md-header__button md-logo" data-md-component="logo" href=".." title="CityDoctor2">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54Z"></path></svg>
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"></path></svg>
</a>
<label class="md-header__button md-icon" for="__drawer">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2Z"></path></svg>
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"></path></svg>
</label>
<div class="md-header__title" data-md-component="header-title">
<div class="md-header__ellipsis">
......@@ -56,38 +55,39 @@
</div>
</div>
<form class="md-header__option" data-md-component="palette">
<input aria-label="Dunkelmodus verwenden" class="md-option" data-md-color-accent="" data-md-color-media="(prefers-color-scheme: light)" data-md-color-primary="red" data-md-color-scheme="default" id="__palette_1" name="__palette" type="radio"/>
<label class="md-header__button md-icon" for="__palette_2" hidden="" title="Dunkelmodus verwenden">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12 20 8.69Z"></path></svg>
<input aria-label="Dunkelmodus verwenden" class="md-option" data-md-color-accent="indigo" data-md-color-media="(prefers-color-scheme: light)" data-md-color-primary="red" data-md-color-scheme="default" id="__palette_0" name="__palette" type="radio"/>
<label class="md-header__button md-icon" for="__palette_1" hidden="" title="Dunkelmodus verwenden">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"></path></svg>
</label>
<input aria-label="Hellen Modus verwenden" class="md-option" data-md-color-accent="" data-md-color-media="(prefers-color-scheme: dark)" data-md-color-primary="" data-md-color-scheme="slate" id="__palette_2" name="__palette" type="radio"/>
<label class="md-header__button md-icon" for="__palette_1" hidden="" title="Hellen Modus verwenden">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12c0-2.42-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12 20 8.69Z"></path></svg>
<input aria-label="Hellen Modus verwenden" class="md-option" data-md-color-accent="indigo" data-md-color-media="(prefers-color-scheme: dark)" data-md-color-primary="indigo" data-md-color-scheme="slate" id="__palette_1" name="__palette" type="radio"/>
<label class="md-header__button md-icon" for="__palette_0" hidden="" title="Hellen Modus verwenden">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"></path></svg>
</label>
</form>
<script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script>
<div class="md-header__option">
<div class="md-select">
<button aria-label="Sprache wechseln" class="md-header__button md-icon">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="m12.87 15.07-2.54-2.51.03-.03A17.52 17.52 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04M18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12m-2.62 7 1.62-4.33L19.12 17h-3.24Z"></path></svg>
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="m12.87 15.07-2.54-2.51.03-.03A17.5 17.5 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2zm-2.62 7 1.62-4.33L19.12 17z"></path></svg>
</button>
<div class="md-select__inner">
<ul class="md-select__list">
<li class="md-select__item">
<a class="md-select__link" href=".." hreflang="de">
Deutsch
</a>
<a class="md-select__link" href="../None" hreflang="de">
Deutsch
</a>
</li>
<li class="md-select__item">
<a class="md-select__link" href="https://transfer.hft-stuttgart.de/pages/citydoctor/citydoctorhomepage/en/" hreflang="en">
English
</a>
English
</a>
</li>
</ul>
</div>
</div>
</div>
<label class="md-header__button md-icon" for="__search">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"></path></svg>
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"></path></svg>
</label>
<div class="md-search" data-md-component="search" role="dialog">
<label class="md-search__overlay" for="__search"></label>
......@@ -95,17 +95,17 @@
<form class="md-search__form" name="search">
<input aria-label="Suche" autocapitalize="off" autocomplete="off" autocorrect="off" class="md-search__input" data-md-component="search-query" name="query" placeholder="Suche" required="" spellcheck="false" type="text"/>
<label class="md-search__icon md-icon" for="__search">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"></path></svg>
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"></path></svg>
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"></path></svg>
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"></path></svg>
</label>
<nav aria-label="Suche" class="md-search__options">
<button aria-label="Zurücksetzen" class="md-search__icon md-icon" tabindex="-1" title="Zurücksetzen" type="reset">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"></path></svg>
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"></path></svg>
</button>
</nav>
</form>
<div class="md-search__output">
<div class="md-search__scrollwrap" data-md-scrollfix="">
<div class="md-search__scrollwrap" data-md-scrollfix="" tabindex="0">
<div class="md-search-result" data-md-component="search-result">
<div class="md-search-result__meta">
Suche wird initialisiert
......@@ -119,7 +119,7 @@
<div class="md-header__source">
<a class="md-source" data-md-component="source" href="https://transfer.hft-stuttgart.de/gitlab/citydoctor/citydoctor2" title="Zum Repository">
<div class="md-source__icon md-icon">
<svg viewbox="0 0 448 512" xmlns="http://www.w3.org/2000/svg"><!--! Font Awesome Free 6.2.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2022 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"></path></svg>
<svg viewbox="0 0 448 512" xmlns="http://www.w3.org/2000/svg"><!--! Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81"></path></svg>
</div>
<div class="md-source__repository">
CityDoctor2
......@@ -137,14 +137,14 @@
<nav aria-label="Navigation" class="md-nav md-nav--primary" data-md-level="0">
<label class="md-nav__title" for="__drawer">
<a aria-label="CityDoctor2" class="md-nav__button md-logo" data-md-component="logo" href=".." title="CityDoctor2">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54Z"></path></svg>
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"></path></svg>
</a>
CityDoctor2
</label>
<div class="md-nav__source">
<a class="md-source" data-md-component="source" href="https://transfer.hft-stuttgart.de/gitlab/citydoctor/citydoctor2" title="Zum Repository">
<div class="md-source__icon md-icon">
<svg viewbox="0 0 448 512" xmlns="http://www.w3.org/2000/svg"><!--! Font Awesome Free 6.2.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2022 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"></path></svg>
<svg viewbox="0 0 448 512" xmlns="http://www.w3.org/2000/svg"><!--! Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81"></path></svg>
</div>
<div class="md-source__repository">
CityDoctor2
......@@ -153,196 +153,271 @@
</div>
<ul class="md-nav__list" data-md-scrollfix="">
<li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested">
<input checked="" class="md-nav__toggle md-toggle" data-md-toggle="__nav_1" id="__nav_1" type="checkbox"/>
<label aria-expanded="true" class="md-nav__link" for="__nav_1" tabindex="0">
CityDoctor2
<span class="md-nav__icon md-icon"></span>
<input checked="" class="md-nav__toggle md-toggle" id="__nav_1" type="checkbox"/>
<label class="md-nav__link" for="__nav_1" id="__nav_1_label" tabindex="">
<span class="md-ellipsis">
CityDoctor2
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav aria-label="CityDoctor2" class="md-nav" data-md-level="1">
<nav aria-expanded="true" aria-labelledby="__nav_1_label" class="md-nav" data-md-level="1">
<label class="md-nav__title" for="__nav_1">
<span class="md-nav__icon md-icon"></span>
CityDoctor2
</label>
CityDoctor2
</label>
<ul class="md-nav__list" data-md-scrollfix="">
<li class="md-nav__item">
<a class="md-nav__link" href="..">
Über CityDoctor2
</a>
<span class="md-ellipsis">
Über CityDoctor2
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../requiredSoftware/">
Installation
</a>
<span class="md-ellipsis">
Installation
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../firstRun/">
Erster Start
</a>
<span class="md-ellipsis">
Erster Start
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../userInterface/">
Nutzeroberfläche
</a>
<span class="md-ellipsis">
Nutzeroberfläche
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../zipFiles/">
<span class="md-ellipsis">
Zip Dateien
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../validationPlan/">
Prüfplan
</a>
<span class="md-ellipsis">
Prüfplan
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--active md-nav__item--nested">
<input checked="" class="md-nav__toggle md-toggle" data-md-toggle="__nav_1_6" id="__nav_1_6" type="checkbox"/>
<label aria-expanded="true" class="md-nav__link" for="__nav_1_6" tabindex="0">
Anforderungen
<span class="md-nav__icon md-icon"></span>
<input checked="" class="md-nav__toggle md-toggle" id="__nav_1_7" type="checkbox"/>
<label class="md-nav__link" for="__nav_1_7" id="__nav_1_7_label" tabindex="0">
<span class="md-ellipsis">
Anforderungen
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav aria-label="Anforderungen" class="md-nav" data-md-level="2">
<label class="md-nav__title" for="__nav_1_6">
<nav aria-expanded="true" aria-labelledby="__nav_1_7_label" class="md-nav" data-md-level="2">
<label class="md-nav__title" for="__nav_1_7">
<span class="md-nav__icon md-icon"></span>
Anforderungen
</label>
Anforderungen
</label>
<ul class="md-nav__list" data-md-scrollfix="">
<li class="md-nav__item">
<a class="md-nav__link" href="../basic/">
Grundbegriffe
</a>
<span class="md-ellipsis">
Grundbegriffe
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../requirements/">
Übersicht
</a>
<span class="md-ellipsis">
Übersicht
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../schemaRequirements/">
Schemaanforderungen
</a>
<span class="md-ellipsis">
Schemaanforderungen
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../geometric/">
Geometrische Anforderungen
</a>
<span class="md-ellipsis">
Geometrische Anforderungen
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../semantic/">
Semantische Anforderungen
</a>
<span class="md-ellipsis">
Semantische Anforderungen
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--active md-nav__item--nested">
<input checked="" class="md-nav__toggle md-toggle" data-md-toggle="__nav_1_6_6" id="__nav_1_6_6" type="checkbox"/>
<label aria-expanded="true" class="md-nav__link" for="__nav_1_6_6" tabindex="0">
Details
<span class="md-nav__icon md-icon"></span>
<input checked="" class="md-nav__toggle md-toggle" id="__nav_1_7_6" type="checkbox"/>
<label class="md-nav__link" for="__nav_1_7_6" id="__nav_1_7_6_label" tabindex="0">
<span class="md-ellipsis">
Details
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav aria-label="Details" class="md-nav" data-md-level="3">
<label class="md-nav__title" for="__nav_1_6_6">
<nav aria-expanded="true" aria-labelledby="__nav_1_7_6_label" class="md-nav" data-md-level="3">
<label class="md-nav__title" for="__nav_1_7_6">
<span class="md-nav__icon md-icon"></span>
Details
</label>
Details
</label>
<ul class="md-nav__list" data-md-scrollfix="">
<li class="md-nav__item md-nav__item--active">
<input class="md-nav__toggle md-toggle" data-md-toggle="toc" id="__toc" type="checkbox"/>
<input class="md-nav__toggle md-toggle" id="__toc" type="checkbox"/>
<a class="md-nav__link md-nav__link--active" href="./">
R_TOO_FEW_POINTS
</a>
<span class="md-ellipsis">
R_TOO_FEW_POINTS
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_R_CONSECUTIVE_POINTS_SAME/">
R_CONSECUTIVE_POINTS_SAME
</a>
<span class="md-ellipsis">
R_CONSECUTIVE_POINTS_SAME
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_R_NOT_CLOSED/">
R_RING_NOT_CLOSED
</a>
<span class="md-ellipsis">
R_RING_NOT_CLOSED
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_R_SELF_INTERSECTION/">
R_RING_SELF_INTERSECTION
</a>
<span class="md-ellipsis">
R_RING_SELF_INTERSECTION
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_R_COLLAPSED_TO_LINE/">
R_COLLAPSED_TO_LINE
</a>
<span class="md-ellipsis">
R_COLLAPSED_TO_LINE
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_P_INTERSECTING_RINGS/">
P_INTERSECTING_RINGS
</a>
<span class="md-ellipsis">
P_INTERSECTING_RINGS
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_P_NON_PLANAR/">
P_NON_PLANAR
</a>
<span class="md-ellipsis">
P_NON_PLANAR
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_P_INTERIOR_DISCONNECTED/">
P_INTERIOR_DISCONNECTED
</a>
<span class="md-ellipsis">
P_INTERIOR_DISCONNECTED
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_P_HOLE_OUTSIDE/">
P_HOLE_OUTSIDE
</a>
<span class="md-ellipsis">
P_HOLE_OUTSIDE
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_P_INNER_RINGS_NESTED/">
P_INNER_RINGS_NESTED
</a>
<span class="md-ellipsis">
P_INNER_RINGS_NESTED
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_P_ORIENTATION_RINGS_SAME/">
P_ORIENTATION_RINGS_SAME
</a>
<span class="md-ellipsis">
P_ORIENTATION_RINGS_SAME
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_MS/">
MULTI_SURFACE
</a>
<span class="md-ellipsis">
MULTI_SURFACE
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_S_TOO_FEW_POLYGONS/">
S_TOO_FEW_POLYGONS
</a>
<span class="md-ellipsis">
S_TOO_FEW_POLYGONS
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_S_NOT_CLOSED/">
S_NOT_CLOSED
</a>
<span class="md-ellipsis">
S_NOT_CLOSED
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_S_NON_MANIFOLD_VERTEX/">
S_NON_MANIFOLD_VERTEX
</a>
<span class="md-ellipsis">
S_NON_MANIFOLD_VERTEX
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_S_NON_MANIFOLD_EDGE/">
S_NON_MANIFOLD_EDGE
</a>
<span class="md-ellipsis">
S_NON_MANIFOLD_EDGE
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_S_MULTIPLE_CONNECTED_COMPONENTS/">
S_MULTIPLE_CONNECTED_COMPONENTS
</a>
<span class="md-ellipsis">
S_MULTIPLE_CONNECTED_COMPONENTS
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_S_SELF_INTERSECTION/">
S_SELF_INTERSECTION
</a>
<span class="md-ellipsis">
S_SELF_INTERSECTION
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_S_POLYGON_WRONG_ORIENTATION/">
S_POLYGON_WRONG_ORIENTATION
</a>
<span class="md-ellipsis">
S_POLYGON_WRONG_ORIENTATION
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_S_ALL_POLYGONS_WRONG_ORIENTATION/">
S_ALL_POLYGONS_WRONG_ORIENTATION
</a>
<span class="md-ellipsis">
S_ALL_POLYGONS_WRONG_ORIENTATION
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_SO/">
SOLID
</a>
<span class="md-ellipsis">
SOLID
</span>
</a>
</li>
</ul>
</nav>
......@@ -372,6 +447,7 @@
<p>siehe <a href="https://gitlab.com/volkercoors/agqual3d/-/wikis/Validierung/Anforderungen/GE_gml_LR_0001">https://gitlab.com/volkercoors/agqual3d/-/wikis/Validierung/Anforderungen/GE_gml_LR_0001</a></p>
</article>
</div>
<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script>
</div>
</main>
<footer class="md-footer">
......@@ -392,8 +468,8 @@
<div class="md-dialog" data-md-component="dialog">
<div class="md-dialog__inner md-typeset"></div>
</div>
<script id="__config" type="application/json">{"base": "..", "features": ["content.code.annotate", "navigation.sections"], "search": "../assets/javascripts/workers/search.e5c33ebb.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version": "Version ausw\u00e4hlen"}}</script>
<script src="../assets/javascripts/bundle.51d95adb.min.js"></script>
<script id="__config" type="application/json">{"base": "..", "features": ["content.code.annotate", "navigation.sections"], "search": "../assets/javascripts/workers/search.07f07601.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version": "Version ausw\u00e4hlen"}}</script>
<script src="../assets/javascripts/bundle.56dfad97.min.js"></script>
<script src="https://unpkg.com/mermaid/dist/mermaid.min.js"></script>
</body>
</html>
\ No newline at end of file
......@@ -8,18 +8,17 @@
<link href="https://transfer.hft-stuttgart.de/pages/citydoctor/citydoctorhomepage/R_GE_SO/" rel="canonical"/>
<link href="../R_GE_S_ALL_POLYGONS_WRONG_ORIENTATION/" rel="prev"/>
<link href="../img/citydoctor_logo.png" rel="icon"/>
<meta content="mkdocs-1.4.2, mkdocs-material-9.0.6" name="generator"/>
<meta content="mkdocs-1.6.1, mkdocs-material-9.5.34" name="generator"/>
<title>SOLID - CityDoctor2</title>
<link href="../assets/stylesheets/main.558e4712.min.css" rel="stylesheet"/>
<link href="../assets/stylesheets/palette.2505c338.min.css" rel="stylesheet"/>
<link href="../assets/stylesheets/main.35f28582.min.css" rel="stylesheet"/>
<link href="../assets/stylesheets/palette.06af60db.min.css" rel="stylesheet"/>
<link crossorigin="" href="https://fonts.gstatic.com" rel="preconnect"/>
<link href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&amp;display=fallback" rel="stylesheet"/>
<style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style>
<link href="https://unpkg.com/mermaid/dist/mermaid.css" rel="stylesheet"/>
<script>__md_scope=new URL("..",location),__md_hash=e=>[...e].reduce((e,_)=>(e<<5)-e+_.charCodeAt(0),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
<script>__md_scope=new URL("..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
</head>
<body data-md-color-accent="" data-md-color-primary="red" data-md-color-scheme="default" dir="ltr">
<script>var palette=__md_get("__palette");if(palette&&"object"==typeof palette.color)for(var key of Object.keys(palette.color))document.body.setAttribute("data-md-color-"+key,palette.color[key])</script>
<body data-md-color-accent="indigo" data-md-color-primary="red" data-md-color-scheme="default" dir="ltr">
<input autocomplete="off" class="md-toggle" data-md-toggle="drawer" id="__drawer" type="checkbox"/>
<input autocomplete="off" class="md-toggle" data-md-toggle="search" id="__search" type="checkbox"/>
<label class="md-overlay" for="__drawer"></label>
......@@ -30,13 +29,13 @@
</div>
<div data-md-component="announce">
</div>
<header class="md-header" data-md-component="header">
<header class="md-header md-header--shadow" data-md-component="header">
<nav aria-label="Kopfzeile" class="md-header__inner md-grid">
<a aria-label="CityDoctor2" class="md-header__button md-logo" data-md-component="logo" href=".." title="CityDoctor2">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54Z"></path></svg>
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"></path></svg>
</a>
<label class="md-header__button md-icon" for="__drawer">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2Z"></path></svg>
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"></path></svg>
</label>
<div class="md-header__title" data-md-component="header-title">
<div class="md-header__ellipsis">
......@@ -55,38 +54,39 @@
</div>
</div>
<form class="md-header__option" data-md-component="palette">
<input aria-label="Dunkelmodus verwenden" class="md-option" data-md-color-accent="" data-md-color-media="(prefers-color-scheme: light)" data-md-color-primary="red" data-md-color-scheme="default" id="__palette_1" name="__palette" type="radio"/>
<label class="md-header__button md-icon" for="__palette_2" hidden="" title="Dunkelmodus verwenden">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12 20 8.69Z"></path></svg>
<input aria-label="Dunkelmodus verwenden" class="md-option" data-md-color-accent="indigo" data-md-color-media="(prefers-color-scheme: light)" data-md-color-primary="red" data-md-color-scheme="default" id="__palette_0" name="__palette" type="radio"/>
<label class="md-header__button md-icon" for="__palette_1" hidden="" title="Dunkelmodus verwenden">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"></path></svg>
</label>
<input aria-label="Hellen Modus verwenden" class="md-option" data-md-color-accent="" data-md-color-media="(prefers-color-scheme: dark)" data-md-color-primary="" data-md-color-scheme="slate" id="__palette_2" name="__palette" type="radio"/>
<label class="md-header__button md-icon" for="__palette_1" hidden="" title="Hellen Modus verwenden">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12c0-2.42-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12 20 8.69Z"></path></svg>
<input aria-label="Hellen Modus verwenden" class="md-option" data-md-color-accent="indigo" data-md-color-media="(prefers-color-scheme: dark)" data-md-color-primary="indigo" data-md-color-scheme="slate" id="__palette_1" name="__palette" type="radio"/>
<label class="md-header__button md-icon" for="__palette_0" hidden="" title="Hellen Modus verwenden">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"></path></svg>
</label>
</form>
<script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script>
<div class="md-header__option">
<div class="md-select">
<button aria-label="Sprache wechseln" class="md-header__button md-icon">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="m12.87 15.07-2.54-2.51.03-.03A17.52 17.52 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04M18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12m-2.62 7 1.62-4.33L19.12 17h-3.24Z"></path></svg>
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="m12.87 15.07-2.54-2.51.03-.03A17.5 17.5 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2zm-2.62 7 1.62-4.33L19.12 17z"></path></svg>
</button>
<div class="md-select__inner">
<ul class="md-select__list">
<li class="md-select__item">
<a class="md-select__link" href=".." hreflang="de">
Deutsch
</a>
<a class="md-select__link" href="../None" hreflang="de">
Deutsch
</a>
</li>
<li class="md-select__item">
<a class="md-select__link" href="https://transfer.hft-stuttgart.de/pages/citydoctor/citydoctorhomepage/en/" hreflang="en">
English
</a>
English
</a>
</li>
</ul>
</div>
</div>
</div>
<label class="md-header__button md-icon" for="__search">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"></path></svg>
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"></path></svg>
</label>
<div class="md-search" data-md-component="search" role="dialog">
<label class="md-search__overlay" for="__search"></label>
......@@ -94,17 +94,17 @@
<form class="md-search__form" name="search">
<input aria-label="Suche" autocapitalize="off" autocomplete="off" autocorrect="off" class="md-search__input" data-md-component="search-query" name="query" placeholder="Suche" required="" spellcheck="false" type="text"/>
<label class="md-search__icon md-icon" for="__search">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"></path></svg>
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"></path></svg>
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"></path></svg>
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"></path></svg>
</label>
<nav aria-label="Suche" class="md-search__options">
<button aria-label="Zurücksetzen" class="md-search__icon md-icon" tabindex="-1" title="Zurücksetzen" type="reset">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"></path></svg>
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"></path></svg>
</button>
</nav>
</form>
<div class="md-search__output">
<div class="md-search__scrollwrap" data-md-scrollfix="">
<div class="md-search__scrollwrap" data-md-scrollfix="" tabindex="0">
<div class="md-search-result" data-md-component="search-result">
<div class="md-search-result__meta">
Suche wird initialisiert
......@@ -118,7 +118,7 @@
<div class="md-header__source">
<a class="md-source" data-md-component="source" href="https://transfer.hft-stuttgart.de/gitlab/citydoctor/citydoctor2" title="Zum Repository">
<div class="md-source__icon md-icon">
<svg viewbox="0 0 448 512" xmlns="http://www.w3.org/2000/svg"><!--! Font Awesome Free 6.2.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2022 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"></path></svg>
<svg viewbox="0 0 448 512" xmlns="http://www.w3.org/2000/svg"><!--! Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81"></path></svg>
</div>
<div class="md-source__repository">
CityDoctor2
......@@ -136,14 +136,14 @@
<nav aria-label="Navigation" class="md-nav md-nav--primary" data-md-level="0">
<label class="md-nav__title" for="__drawer">
<a aria-label="CityDoctor2" class="md-nav__button md-logo" data-md-component="logo" href=".." title="CityDoctor2">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54Z"></path></svg>
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"></path></svg>
</a>
CityDoctor2
</label>
<div class="md-nav__source">
<a class="md-source" data-md-component="source" href="https://transfer.hft-stuttgart.de/gitlab/citydoctor/citydoctor2" title="Zum Repository">
<div class="md-source__icon md-icon">
<svg viewbox="0 0 448 512" xmlns="http://www.w3.org/2000/svg"><!--! Font Awesome Free 6.2.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2022 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"></path></svg>
<svg viewbox="0 0 448 512" xmlns="http://www.w3.org/2000/svg"><!--! Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81"></path></svg>
</div>
<div class="md-source__repository">
CityDoctor2
......@@ -152,196 +152,271 @@
</div>
<ul class="md-nav__list" data-md-scrollfix="">
<li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested">
<input checked="" class="md-nav__toggle md-toggle" data-md-toggle="__nav_1" id="__nav_1" type="checkbox"/>
<label aria-expanded="true" class="md-nav__link" for="__nav_1" tabindex="0">
CityDoctor2
<span class="md-nav__icon md-icon"></span>
<input checked="" class="md-nav__toggle md-toggle" id="__nav_1" type="checkbox"/>
<label class="md-nav__link" for="__nav_1" id="__nav_1_label" tabindex="">
<span class="md-ellipsis">
CityDoctor2
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav aria-label="CityDoctor2" class="md-nav" data-md-level="1">
<nav aria-expanded="true" aria-labelledby="__nav_1_label" class="md-nav" data-md-level="1">
<label class="md-nav__title" for="__nav_1">
<span class="md-nav__icon md-icon"></span>
CityDoctor2
</label>
CityDoctor2
</label>
<ul class="md-nav__list" data-md-scrollfix="">
<li class="md-nav__item">
<a class="md-nav__link" href="..">
Über CityDoctor2
</a>
<span class="md-ellipsis">
Über CityDoctor2
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../requiredSoftware/">
Installation
</a>
<span class="md-ellipsis">
Installation
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../firstRun/">
Erster Start
</a>
<span class="md-ellipsis">
Erster Start
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../userInterface/">
Nutzeroberfläche
</a>
<span class="md-ellipsis">
Nutzeroberfläche
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../zipFiles/">
<span class="md-ellipsis">
Zip Dateien
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../validationPlan/">
Prüfplan
</a>
<span class="md-ellipsis">
Prüfplan
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--active md-nav__item--nested">
<input checked="" class="md-nav__toggle md-toggle" data-md-toggle="__nav_1_6" id="__nav_1_6" type="checkbox"/>
<label aria-expanded="true" class="md-nav__link" for="__nav_1_6" tabindex="0">
Anforderungen
<span class="md-nav__icon md-icon"></span>
<input checked="" class="md-nav__toggle md-toggle" id="__nav_1_7" type="checkbox"/>
<label class="md-nav__link" for="__nav_1_7" id="__nav_1_7_label" tabindex="0">
<span class="md-ellipsis">
Anforderungen
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav aria-label="Anforderungen" class="md-nav" data-md-level="2">
<label class="md-nav__title" for="__nav_1_6">
<nav aria-expanded="true" aria-labelledby="__nav_1_7_label" class="md-nav" data-md-level="2">
<label class="md-nav__title" for="__nav_1_7">
<span class="md-nav__icon md-icon"></span>
Anforderungen
</label>
Anforderungen
</label>
<ul class="md-nav__list" data-md-scrollfix="">
<li class="md-nav__item">
<a class="md-nav__link" href="../basic/">
Grundbegriffe
</a>
<span class="md-ellipsis">
Grundbegriffe
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../requirements/">
Übersicht
</a>
<span class="md-ellipsis">
Übersicht
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../schemaRequirements/">
Schemaanforderungen
</a>
<span class="md-ellipsis">
Schemaanforderungen
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../geometric/">
Geometrische Anforderungen
</a>
<span class="md-ellipsis">
Geometrische Anforderungen
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../semantic/">
Semantische Anforderungen
</a>
<span class="md-ellipsis">
Semantische Anforderungen
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--active md-nav__item--nested">
<input checked="" class="md-nav__toggle md-toggle" data-md-toggle="__nav_1_6_6" id="__nav_1_6_6" type="checkbox"/>
<label aria-expanded="true" class="md-nav__link" for="__nav_1_6_6" tabindex="0">
Details
<span class="md-nav__icon md-icon"></span>
<input checked="" class="md-nav__toggle md-toggle" id="__nav_1_7_6" type="checkbox"/>
<label class="md-nav__link" for="__nav_1_7_6" id="__nav_1_7_6_label" tabindex="0">
<span class="md-ellipsis">
Details
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav aria-label="Details" class="md-nav" data-md-level="3">
<label class="md-nav__title" for="__nav_1_6_6">
<nav aria-expanded="true" aria-labelledby="__nav_1_7_6_label" class="md-nav" data-md-level="3">
<label class="md-nav__title" for="__nav_1_7_6">
<span class="md-nav__icon md-icon"></span>
Details
</label>
Details
</label>
<ul class="md-nav__list" data-md-scrollfix="">
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_R_TOO_FEW_POINTS/">
R_TOO_FEW_POINTS
</a>
<span class="md-ellipsis">
R_TOO_FEW_POINTS
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_R_CONSECUTIVE_POINTS_SAME/">
R_CONSECUTIVE_POINTS_SAME
</a>
<span class="md-ellipsis">
R_CONSECUTIVE_POINTS_SAME
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_R_NOT_CLOSED/">
R_RING_NOT_CLOSED
</a>
<span class="md-ellipsis">
R_RING_NOT_CLOSED
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_R_SELF_INTERSECTION/">
R_RING_SELF_INTERSECTION
</a>
<span class="md-ellipsis">
R_RING_SELF_INTERSECTION
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_R_COLLAPSED_TO_LINE/">
R_COLLAPSED_TO_LINE
</a>
<span class="md-ellipsis">
R_COLLAPSED_TO_LINE
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_P_INTERSECTING_RINGS/">
P_INTERSECTING_RINGS
</a>
<span class="md-ellipsis">
P_INTERSECTING_RINGS
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_P_NON_PLANAR/">
P_NON_PLANAR
</a>
<span class="md-ellipsis">
P_NON_PLANAR
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_P_INTERIOR_DISCONNECTED/">
P_INTERIOR_DISCONNECTED
</a>
<span class="md-ellipsis">
P_INTERIOR_DISCONNECTED
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_P_HOLE_OUTSIDE/">
P_HOLE_OUTSIDE
</a>
<span class="md-ellipsis">
P_HOLE_OUTSIDE
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_P_INNER_RINGS_NESTED/">
P_INNER_RINGS_NESTED
</a>
<span class="md-ellipsis">
P_INNER_RINGS_NESTED
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_P_ORIENTATION_RINGS_SAME/">
P_ORIENTATION_RINGS_SAME
</a>
<span class="md-ellipsis">
P_ORIENTATION_RINGS_SAME
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_MS/">
MULTI_SURFACE
</a>
<span class="md-ellipsis">
MULTI_SURFACE
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_S_TOO_FEW_POLYGONS/">
S_TOO_FEW_POLYGONS
</a>
<span class="md-ellipsis">
S_TOO_FEW_POLYGONS
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_S_NOT_CLOSED/">
S_NOT_CLOSED
</a>
<span class="md-ellipsis">
S_NOT_CLOSED
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_S_NON_MANIFOLD_VERTEX/">
S_NON_MANIFOLD_VERTEX
</a>
<span class="md-ellipsis">
S_NON_MANIFOLD_VERTEX
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_S_NON_MANIFOLD_EDGE/">
S_NON_MANIFOLD_EDGE
</a>
<span class="md-ellipsis">
S_NON_MANIFOLD_EDGE
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_S_MULTIPLE_CONNECTED_COMPONENTS/">
S_MULTIPLE_CONNECTED_COMPONENTS
</a>
<span class="md-ellipsis">
S_MULTIPLE_CONNECTED_COMPONENTS
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_S_SELF_INTERSECTION/">
S_SELF_INTERSECTION
</a>
<span class="md-ellipsis">
S_SELF_INTERSECTION
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_S_POLYGON_WRONG_ORIENTATION/">
S_POLYGON_WRONG_ORIENTATION
</a>
<span class="md-ellipsis">
S_POLYGON_WRONG_ORIENTATION
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_S_ALL_POLYGONS_WRONG_ORIENTATION/">
S_ALL_POLYGONS_WRONG_ORIENTATION
</a>
<span class="md-ellipsis">
S_ALL_POLYGONS_WRONG_ORIENTATION
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--active">
<input class="md-nav__toggle md-toggle" data-md-toggle="toc" id="__toc" type="checkbox"/>
<input class="md-nav__toggle md-toggle" id="__toc" type="checkbox"/>
<a class="md-nav__link md-nav__link--active" href="./">
SOLID
</a>
<span class="md-ellipsis">
SOLID
</span>
</a>
</li>
</ul>
</nav>
......@@ -371,6 +446,7 @@
<p>siehe <a href="https://gitlab.com/volkercoors/agqual3d/-/wikis/Validierung/Anforderungen/GE_gml_SO_0009">https://gitlab.com/volkercoors/agqual3d/-/wikis/Validierung/Anforderungen/GE_gml_SO_0009</a></p>
</article>
</div>
<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script>
</div>
</main>
<footer class="md-footer">
......@@ -391,8 +467,8 @@
<div class="md-dialog" data-md-component="dialog">
<div class="md-dialog__inner md-typeset"></div>
</div>
<script id="__config" type="application/json">{"base": "..", "features": ["content.code.annotate", "navigation.sections"], "search": "../assets/javascripts/workers/search.e5c33ebb.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version": "Version ausw\u00e4hlen"}}</script>
<script src="../assets/javascripts/bundle.51d95adb.min.js"></script>
<script id="__config" type="application/json">{"base": "..", "features": ["content.code.annotate", "navigation.sections"], "search": "../assets/javascripts/workers/search.07f07601.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version": "Version ausw\u00e4hlen"}}</script>
<script src="../assets/javascripts/bundle.56dfad97.min.js"></script>
<script src="https://unpkg.com/mermaid/dist/mermaid.min.js"></script>
</body>
</html>
\ No newline at end of file
......@@ -9,18 +9,17 @@
<link href="../R_GE_S_POLYGON_WRONG_ORIENTATION/" rel="prev"/>
<link href="../R_GE_SO/" rel="next"/>
<link href="../img/citydoctor_logo.png" rel="icon"/>
<meta content="mkdocs-1.4.2, mkdocs-material-9.0.6" name="generator"/>
<meta content="mkdocs-1.6.1, mkdocs-material-9.5.34" name="generator"/>
<title>S_ALL_POLYGONS_WRONG_ORIENTATION - CityDoctor2</title>
<link href="../assets/stylesheets/main.558e4712.min.css" rel="stylesheet"/>
<link href="../assets/stylesheets/palette.2505c338.min.css" rel="stylesheet"/>
<link href="../assets/stylesheets/main.35f28582.min.css" rel="stylesheet"/>
<link href="../assets/stylesheets/palette.06af60db.min.css" rel="stylesheet"/>
<link crossorigin="" href="https://fonts.gstatic.com" rel="preconnect"/>
<link href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&amp;display=fallback" rel="stylesheet"/>
<style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style>
<link href="https://unpkg.com/mermaid/dist/mermaid.css" rel="stylesheet"/>
<script>__md_scope=new URL("..",location),__md_hash=e=>[...e].reduce((e,_)=>(e<<5)-e+_.charCodeAt(0),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
<script>__md_scope=new URL("..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
</head>
<body data-md-color-accent="" data-md-color-primary="red" data-md-color-scheme="default" dir="ltr">
<script>var palette=__md_get("__palette");if(palette&&"object"==typeof palette.color)for(var key of Object.keys(palette.color))document.body.setAttribute("data-md-color-"+key,palette.color[key])</script>
<body data-md-color-accent="indigo" data-md-color-primary="red" data-md-color-scheme="default" dir="ltr">
<input autocomplete="off" class="md-toggle" data-md-toggle="drawer" id="__drawer" type="checkbox"/>
<input autocomplete="off" class="md-toggle" data-md-toggle="search" id="__search" type="checkbox"/>
<label class="md-overlay" for="__drawer"></label>
......@@ -31,13 +30,13 @@
</div>
<div data-md-component="announce">
</div>
<header class="md-header" data-md-component="header">
<header class="md-header md-header--shadow" data-md-component="header">
<nav aria-label="Kopfzeile" class="md-header__inner md-grid">
<a aria-label="CityDoctor2" class="md-header__button md-logo" data-md-component="logo" href=".." title="CityDoctor2">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54Z"></path></svg>
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"></path></svg>
</a>
<label class="md-header__button md-icon" for="__drawer">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2Z"></path></svg>
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"></path></svg>
</label>
<div class="md-header__title" data-md-component="header-title">
<div class="md-header__ellipsis">
......@@ -56,38 +55,39 @@
</div>
</div>
<form class="md-header__option" data-md-component="palette">
<input aria-label="Dunkelmodus verwenden" class="md-option" data-md-color-accent="" data-md-color-media="(prefers-color-scheme: light)" data-md-color-primary="red" data-md-color-scheme="default" id="__palette_1" name="__palette" type="radio"/>
<label class="md-header__button md-icon" for="__palette_2" hidden="" title="Dunkelmodus verwenden">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12 20 8.69Z"></path></svg>
<input aria-label="Dunkelmodus verwenden" class="md-option" data-md-color-accent="indigo" data-md-color-media="(prefers-color-scheme: light)" data-md-color-primary="red" data-md-color-scheme="default" id="__palette_0" name="__palette" type="radio"/>
<label class="md-header__button md-icon" for="__palette_1" hidden="" title="Dunkelmodus verwenden">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"></path></svg>
</label>
<input aria-label="Hellen Modus verwenden" class="md-option" data-md-color-accent="" data-md-color-media="(prefers-color-scheme: dark)" data-md-color-primary="" data-md-color-scheme="slate" id="__palette_2" name="__palette" type="radio"/>
<label class="md-header__button md-icon" for="__palette_1" hidden="" title="Hellen Modus verwenden">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12c0-2.42-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12 20 8.69Z"></path></svg>
<input aria-label="Hellen Modus verwenden" class="md-option" data-md-color-accent="indigo" data-md-color-media="(prefers-color-scheme: dark)" data-md-color-primary="indigo" data-md-color-scheme="slate" id="__palette_1" name="__palette" type="radio"/>
<label class="md-header__button md-icon" for="__palette_0" hidden="" title="Hellen Modus verwenden">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"></path></svg>
</label>
</form>
<script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script>
<div class="md-header__option">
<div class="md-select">
<button aria-label="Sprache wechseln" class="md-header__button md-icon">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="m12.87 15.07-2.54-2.51.03-.03A17.52 17.52 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04M18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12m-2.62 7 1.62-4.33L19.12 17h-3.24Z"></path></svg>
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="m12.87 15.07-2.54-2.51.03-.03A17.5 17.5 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2zm-2.62 7 1.62-4.33L19.12 17z"></path></svg>
</button>
<div class="md-select__inner">
<ul class="md-select__list">
<li class="md-select__item">
<a class="md-select__link" href=".." hreflang="de">
Deutsch
</a>
<a class="md-select__link" href="../None" hreflang="de">
Deutsch
</a>
</li>
<li class="md-select__item">
<a class="md-select__link" href="https://transfer.hft-stuttgart.de/pages/citydoctor/citydoctorhomepage/en/" hreflang="en">
English
</a>
English
</a>
</li>
</ul>
</div>
</div>
</div>
<label class="md-header__button md-icon" for="__search">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"></path></svg>
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"></path></svg>
</label>
<div class="md-search" data-md-component="search" role="dialog">
<label class="md-search__overlay" for="__search"></label>
......@@ -95,17 +95,17 @@
<form class="md-search__form" name="search">
<input aria-label="Suche" autocapitalize="off" autocomplete="off" autocorrect="off" class="md-search__input" data-md-component="search-query" name="query" placeholder="Suche" required="" spellcheck="false" type="text"/>
<label class="md-search__icon md-icon" for="__search">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"></path></svg>
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"></path></svg>
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"></path></svg>
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"></path></svg>
</label>
<nav aria-label="Suche" class="md-search__options">
<button aria-label="Zurücksetzen" class="md-search__icon md-icon" tabindex="-1" title="Zurücksetzen" type="reset">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"></path></svg>
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"></path></svg>
</button>
</nav>
</form>
<div class="md-search__output">
<div class="md-search__scrollwrap" data-md-scrollfix="">
<div class="md-search__scrollwrap" data-md-scrollfix="" tabindex="0">
<div class="md-search-result" data-md-component="search-result">
<div class="md-search-result__meta">
Suche wird initialisiert
......@@ -119,7 +119,7 @@
<div class="md-header__source">
<a class="md-source" data-md-component="source" href="https://transfer.hft-stuttgart.de/gitlab/citydoctor/citydoctor2" title="Zum Repository">
<div class="md-source__icon md-icon">
<svg viewbox="0 0 448 512" xmlns="http://www.w3.org/2000/svg"><!--! Font Awesome Free 6.2.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2022 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"></path></svg>
<svg viewbox="0 0 448 512" xmlns="http://www.w3.org/2000/svg"><!--! Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81"></path></svg>
</div>
<div class="md-source__repository">
CityDoctor2
......@@ -137,14 +137,14 @@
<nav aria-label="Navigation" class="md-nav md-nav--primary" data-md-level="0">
<label class="md-nav__title" for="__drawer">
<a aria-label="CityDoctor2" class="md-nav__button md-logo" data-md-component="logo" href=".." title="CityDoctor2">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54Z"></path></svg>
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"></path></svg>
</a>
CityDoctor2
</label>
<div class="md-nav__source">
<a class="md-source" data-md-component="source" href="https://transfer.hft-stuttgart.de/gitlab/citydoctor/citydoctor2" title="Zum Repository">
<div class="md-source__icon md-icon">
<svg viewbox="0 0 448 512" xmlns="http://www.w3.org/2000/svg"><!--! Font Awesome Free 6.2.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2022 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"></path></svg>
<svg viewbox="0 0 448 512" xmlns="http://www.w3.org/2000/svg"><!--! Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81"></path></svg>
</div>
<div class="md-source__repository">
CityDoctor2
......@@ -153,196 +153,271 @@
</div>
<ul class="md-nav__list" data-md-scrollfix="">
<li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested">
<input checked="" class="md-nav__toggle md-toggle" data-md-toggle="__nav_1" id="__nav_1" type="checkbox"/>
<label aria-expanded="true" class="md-nav__link" for="__nav_1" tabindex="0">
CityDoctor2
<span class="md-nav__icon md-icon"></span>
<input checked="" class="md-nav__toggle md-toggle" id="__nav_1" type="checkbox"/>
<label class="md-nav__link" for="__nav_1" id="__nav_1_label" tabindex="">
<span class="md-ellipsis">
CityDoctor2
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav aria-label="CityDoctor2" class="md-nav" data-md-level="1">
<nav aria-expanded="true" aria-labelledby="__nav_1_label" class="md-nav" data-md-level="1">
<label class="md-nav__title" for="__nav_1">
<span class="md-nav__icon md-icon"></span>
CityDoctor2
</label>
CityDoctor2
</label>
<ul class="md-nav__list" data-md-scrollfix="">
<li class="md-nav__item">
<a class="md-nav__link" href="..">
Über CityDoctor2
</a>
<span class="md-ellipsis">
Über CityDoctor2
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../requiredSoftware/">
Installation
</a>
<span class="md-ellipsis">
Installation
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../firstRun/">
Erster Start
</a>
<span class="md-ellipsis">
Erster Start
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../userInterface/">
Nutzeroberfläche
</a>
<span class="md-ellipsis">
Nutzeroberfläche
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../zipFiles/">
<span class="md-ellipsis">
Zip Dateien
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../validationPlan/">
Prüfplan
</a>
<span class="md-ellipsis">
Prüfplan
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--active md-nav__item--nested">
<input checked="" class="md-nav__toggle md-toggle" data-md-toggle="__nav_1_6" id="__nav_1_6" type="checkbox"/>
<label aria-expanded="true" class="md-nav__link" for="__nav_1_6" tabindex="0">
Anforderungen
<span class="md-nav__icon md-icon"></span>
<input checked="" class="md-nav__toggle md-toggle" id="__nav_1_7" type="checkbox"/>
<label class="md-nav__link" for="__nav_1_7" id="__nav_1_7_label" tabindex="0">
<span class="md-ellipsis">
Anforderungen
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav aria-label="Anforderungen" class="md-nav" data-md-level="2">
<label class="md-nav__title" for="__nav_1_6">
<nav aria-expanded="true" aria-labelledby="__nav_1_7_label" class="md-nav" data-md-level="2">
<label class="md-nav__title" for="__nav_1_7">
<span class="md-nav__icon md-icon"></span>
Anforderungen
</label>
Anforderungen
</label>
<ul class="md-nav__list" data-md-scrollfix="">
<li class="md-nav__item">
<a class="md-nav__link" href="../basic/">
Grundbegriffe
</a>
<span class="md-ellipsis">
Grundbegriffe
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../requirements/">
Übersicht
</a>
<span class="md-ellipsis">
Übersicht
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../schemaRequirements/">
Schemaanforderungen
</a>
<span class="md-ellipsis">
Schemaanforderungen
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../geometric/">
Geometrische Anforderungen
</a>
<span class="md-ellipsis">
Geometrische Anforderungen
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../semantic/">
Semantische Anforderungen
</a>
<span class="md-ellipsis">
Semantische Anforderungen
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--active md-nav__item--nested">
<input checked="" class="md-nav__toggle md-toggle" data-md-toggle="__nav_1_6_6" id="__nav_1_6_6" type="checkbox"/>
<label aria-expanded="true" class="md-nav__link" for="__nav_1_6_6" tabindex="0">
Details
<span class="md-nav__icon md-icon"></span>
<input checked="" class="md-nav__toggle md-toggle" id="__nav_1_7_6" type="checkbox"/>
<label class="md-nav__link" for="__nav_1_7_6" id="__nav_1_7_6_label" tabindex="0">
<span class="md-ellipsis">
Details
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav aria-label="Details" class="md-nav" data-md-level="3">
<label class="md-nav__title" for="__nav_1_6_6">
<nav aria-expanded="true" aria-labelledby="__nav_1_7_6_label" class="md-nav" data-md-level="3">
<label class="md-nav__title" for="__nav_1_7_6">
<span class="md-nav__icon md-icon"></span>
Details
</label>
Details
</label>
<ul class="md-nav__list" data-md-scrollfix="">
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_R_TOO_FEW_POINTS/">
R_TOO_FEW_POINTS
</a>
<span class="md-ellipsis">
R_TOO_FEW_POINTS
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_R_CONSECUTIVE_POINTS_SAME/">
R_CONSECUTIVE_POINTS_SAME
</a>
<span class="md-ellipsis">
R_CONSECUTIVE_POINTS_SAME
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_R_NOT_CLOSED/">
R_RING_NOT_CLOSED
</a>
<span class="md-ellipsis">
R_RING_NOT_CLOSED
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_R_SELF_INTERSECTION/">
R_RING_SELF_INTERSECTION
</a>
<span class="md-ellipsis">
R_RING_SELF_INTERSECTION
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_R_COLLAPSED_TO_LINE/">
R_COLLAPSED_TO_LINE
</a>
<span class="md-ellipsis">
R_COLLAPSED_TO_LINE
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_P_INTERSECTING_RINGS/">
P_INTERSECTING_RINGS
</a>
<span class="md-ellipsis">
P_INTERSECTING_RINGS
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_P_NON_PLANAR/">
P_NON_PLANAR
</a>
<span class="md-ellipsis">
P_NON_PLANAR
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_P_INTERIOR_DISCONNECTED/">
P_INTERIOR_DISCONNECTED
</a>
<span class="md-ellipsis">
P_INTERIOR_DISCONNECTED
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_P_HOLE_OUTSIDE/">
P_HOLE_OUTSIDE
</a>
<span class="md-ellipsis">
P_HOLE_OUTSIDE
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_P_INNER_RINGS_NESTED/">
P_INNER_RINGS_NESTED
</a>
<span class="md-ellipsis">
P_INNER_RINGS_NESTED
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_P_ORIENTATION_RINGS_SAME/">
P_ORIENTATION_RINGS_SAME
</a>
<span class="md-ellipsis">
P_ORIENTATION_RINGS_SAME
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_MS/">
MULTI_SURFACE
</a>
<span class="md-ellipsis">
MULTI_SURFACE
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_S_TOO_FEW_POLYGONS/">
S_TOO_FEW_POLYGONS
</a>
<span class="md-ellipsis">
S_TOO_FEW_POLYGONS
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_S_NOT_CLOSED/">
S_NOT_CLOSED
</a>
<span class="md-ellipsis">
S_NOT_CLOSED
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_S_NON_MANIFOLD_VERTEX/">
S_NON_MANIFOLD_VERTEX
</a>
<span class="md-ellipsis">
S_NON_MANIFOLD_VERTEX
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_S_NON_MANIFOLD_EDGE/">
S_NON_MANIFOLD_EDGE
</a>
<span class="md-ellipsis">
S_NON_MANIFOLD_EDGE
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_S_MULTIPLE_CONNECTED_COMPONENTS/">
S_MULTIPLE_CONNECTED_COMPONENTS
</a>
<span class="md-ellipsis">
S_MULTIPLE_CONNECTED_COMPONENTS
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_S_SELF_INTERSECTION/">
S_SELF_INTERSECTION
</a>
<span class="md-ellipsis">
S_SELF_INTERSECTION
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_S_POLYGON_WRONG_ORIENTATION/">
S_POLYGON_WRONG_ORIENTATION
</a>
<span class="md-ellipsis">
S_POLYGON_WRONG_ORIENTATION
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--active">
<input class="md-nav__toggle md-toggle" data-md-toggle="toc" id="__toc" type="checkbox"/>
<input class="md-nav__toggle md-toggle" id="__toc" type="checkbox"/>
<a class="md-nav__link md-nav__link--active" href="./">
S_ALL_POLYGONS_WRONG_ORIENTATION
</a>
<span class="md-ellipsis">
S_ALL_POLYGONS_WRONG_ORIENTATION
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_SO/">
SOLID
</a>
<span class="md-ellipsis">
SOLID
</span>
</a>
</li>
</ul>
</nav>
......@@ -372,6 +447,7 @@
<p>siehe <a href="https://gitlab.com/volkercoors/agqual3d/-/wikis/Validierung/Anforderungen/GE_gml_SO_0008">https://gitlab.com/volkercoors/agqual3d/-/wikis/Validierung/Anforderungen/GE_gml_SO_0008</a></p>
</article>
</div>
<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script>
</div>
</main>
<footer class="md-footer">
......@@ -392,8 +468,8 @@
<div class="md-dialog" data-md-component="dialog">
<div class="md-dialog__inner md-typeset"></div>
</div>
<script id="__config" type="application/json">{"base": "..", "features": ["content.code.annotate", "navigation.sections"], "search": "../assets/javascripts/workers/search.e5c33ebb.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version": "Version ausw\u00e4hlen"}}</script>
<script src="../assets/javascripts/bundle.51d95adb.min.js"></script>
<script id="__config" type="application/json">{"base": "..", "features": ["content.code.annotate", "navigation.sections"], "search": "../assets/javascripts/workers/search.07f07601.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version": "Version ausw\u00e4hlen"}}</script>
<script src="../assets/javascripts/bundle.56dfad97.min.js"></script>
<script src="https://unpkg.com/mermaid/dist/mermaid.min.js"></script>
</body>
</html>
\ No newline at end of file
......@@ -9,18 +9,17 @@
<link href="../R_GE_S_NON_MANIFOLD_EDGE/" rel="prev"/>
<link href="../R_GE_S_SELF_INTERSECTION/" rel="next"/>
<link href="../img/citydoctor_logo.png" rel="icon"/>
<meta content="mkdocs-1.4.2, mkdocs-material-9.0.6" name="generator"/>
<meta content="mkdocs-1.6.1, mkdocs-material-9.5.34" name="generator"/>
<title>S_MULTIPLE_CONNECTED_COMPONENTS - CityDoctor2</title>
<link href="../assets/stylesheets/main.558e4712.min.css" rel="stylesheet"/>
<link href="../assets/stylesheets/palette.2505c338.min.css" rel="stylesheet"/>
<link href="../assets/stylesheets/main.35f28582.min.css" rel="stylesheet"/>
<link href="../assets/stylesheets/palette.06af60db.min.css" rel="stylesheet"/>
<link crossorigin="" href="https://fonts.gstatic.com" rel="preconnect"/>
<link href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&amp;display=fallback" rel="stylesheet"/>
<style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style>
<link href="https://unpkg.com/mermaid/dist/mermaid.css" rel="stylesheet"/>
<script>__md_scope=new URL("..",location),__md_hash=e=>[...e].reduce((e,_)=>(e<<5)-e+_.charCodeAt(0),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
<script>__md_scope=new URL("..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
</head>
<body data-md-color-accent="" data-md-color-primary="red" data-md-color-scheme="default" dir="ltr">
<script>var palette=__md_get("__palette");if(palette&&"object"==typeof palette.color)for(var key of Object.keys(palette.color))document.body.setAttribute("data-md-color-"+key,palette.color[key])</script>
<body data-md-color-accent="indigo" data-md-color-primary="red" data-md-color-scheme="default" dir="ltr">
<input autocomplete="off" class="md-toggle" data-md-toggle="drawer" id="__drawer" type="checkbox"/>
<input autocomplete="off" class="md-toggle" data-md-toggle="search" id="__search" type="checkbox"/>
<label class="md-overlay" for="__drawer"></label>
......@@ -31,13 +30,13 @@
</div>
<div data-md-component="announce">
</div>
<header class="md-header" data-md-component="header">
<header class="md-header md-header--shadow" data-md-component="header">
<nav aria-label="Kopfzeile" class="md-header__inner md-grid">
<a aria-label="CityDoctor2" class="md-header__button md-logo" data-md-component="logo" href=".." title="CityDoctor2">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54Z"></path></svg>
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"></path></svg>
</a>
<label class="md-header__button md-icon" for="__drawer">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2Z"></path></svg>
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"></path></svg>
</label>
<div class="md-header__title" data-md-component="header-title">
<div class="md-header__ellipsis">
......@@ -56,38 +55,39 @@
</div>
</div>
<form class="md-header__option" data-md-component="palette">
<input aria-label="Dunkelmodus verwenden" class="md-option" data-md-color-accent="" data-md-color-media="(prefers-color-scheme: light)" data-md-color-primary="red" data-md-color-scheme="default" id="__palette_1" name="__palette" type="radio"/>
<label class="md-header__button md-icon" for="__palette_2" hidden="" title="Dunkelmodus verwenden">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12 20 8.69Z"></path></svg>
<input aria-label="Dunkelmodus verwenden" class="md-option" data-md-color-accent="indigo" data-md-color-media="(prefers-color-scheme: light)" data-md-color-primary="red" data-md-color-scheme="default" id="__palette_0" name="__palette" type="radio"/>
<label class="md-header__button md-icon" for="__palette_1" hidden="" title="Dunkelmodus verwenden">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"></path></svg>
</label>
<input aria-label="Hellen Modus verwenden" class="md-option" data-md-color-accent="" data-md-color-media="(prefers-color-scheme: dark)" data-md-color-primary="" data-md-color-scheme="slate" id="__palette_2" name="__palette" type="radio"/>
<label class="md-header__button md-icon" for="__palette_1" hidden="" title="Hellen Modus verwenden">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12c0-2.42-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12 20 8.69Z"></path></svg>
<input aria-label="Hellen Modus verwenden" class="md-option" data-md-color-accent="indigo" data-md-color-media="(prefers-color-scheme: dark)" data-md-color-primary="indigo" data-md-color-scheme="slate" id="__palette_1" name="__palette" type="radio"/>
<label class="md-header__button md-icon" for="__palette_0" hidden="" title="Hellen Modus verwenden">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"></path></svg>
</label>
</form>
<script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script>
<div class="md-header__option">
<div class="md-select">
<button aria-label="Sprache wechseln" class="md-header__button md-icon">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="m12.87 15.07-2.54-2.51.03-.03A17.52 17.52 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04M18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12m-2.62 7 1.62-4.33L19.12 17h-3.24Z"></path></svg>
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="m12.87 15.07-2.54-2.51.03-.03A17.5 17.5 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2zm-2.62 7 1.62-4.33L19.12 17z"></path></svg>
</button>
<div class="md-select__inner">
<ul class="md-select__list">
<li class="md-select__item">
<a class="md-select__link" href=".." hreflang="de">
Deutsch
</a>
<a class="md-select__link" href="../None" hreflang="de">
Deutsch
</a>
</li>
<li class="md-select__item">
<a class="md-select__link" href="https://transfer.hft-stuttgart.de/pages/citydoctor/citydoctorhomepage/en/" hreflang="en">
English
</a>
English
</a>
</li>
</ul>
</div>
</div>
</div>
<label class="md-header__button md-icon" for="__search">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"></path></svg>
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"></path></svg>
</label>
<div class="md-search" data-md-component="search" role="dialog">
<label class="md-search__overlay" for="__search"></label>
......@@ -95,17 +95,17 @@
<form class="md-search__form" name="search">
<input aria-label="Suche" autocapitalize="off" autocomplete="off" autocorrect="off" class="md-search__input" data-md-component="search-query" name="query" placeholder="Suche" required="" spellcheck="false" type="text"/>
<label class="md-search__icon md-icon" for="__search">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"></path></svg>
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"></path></svg>
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"></path></svg>
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"></path></svg>
</label>
<nav aria-label="Suche" class="md-search__options">
<button aria-label="Zurücksetzen" class="md-search__icon md-icon" tabindex="-1" title="Zurücksetzen" type="reset">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"></path></svg>
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"></path></svg>
</button>
</nav>
</form>
<div class="md-search__output">
<div class="md-search__scrollwrap" data-md-scrollfix="">
<div class="md-search__scrollwrap" data-md-scrollfix="" tabindex="0">
<div class="md-search-result" data-md-component="search-result">
<div class="md-search-result__meta">
Suche wird initialisiert
......@@ -119,7 +119,7 @@
<div class="md-header__source">
<a class="md-source" data-md-component="source" href="https://transfer.hft-stuttgart.de/gitlab/citydoctor/citydoctor2" title="Zum Repository">
<div class="md-source__icon md-icon">
<svg viewbox="0 0 448 512" xmlns="http://www.w3.org/2000/svg"><!--! Font Awesome Free 6.2.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2022 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"></path></svg>
<svg viewbox="0 0 448 512" xmlns="http://www.w3.org/2000/svg"><!--! Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81"></path></svg>
</div>
<div class="md-source__repository">
CityDoctor2
......@@ -137,14 +137,14 @@
<nav aria-label="Navigation" class="md-nav md-nav--primary" data-md-level="0">
<label class="md-nav__title" for="__drawer">
<a aria-label="CityDoctor2" class="md-nav__button md-logo" data-md-component="logo" href=".." title="CityDoctor2">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54Z"></path></svg>
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"></path></svg>
</a>
CityDoctor2
</label>
<div class="md-nav__source">
<a class="md-source" data-md-component="source" href="https://transfer.hft-stuttgart.de/gitlab/citydoctor/citydoctor2" title="Zum Repository">
<div class="md-source__icon md-icon">
<svg viewbox="0 0 448 512" xmlns="http://www.w3.org/2000/svg"><!--! Font Awesome Free 6.2.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2022 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"></path></svg>
<svg viewbox="0 0 448 512" xmlns="http://www.w3.org/2000/svg"><!--! Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81"></path></svg>
</div>
<div class="md-source__repository">
CityDoctor2
......@@ -153,196 +153,271 @@
</div>
<ul class="md-nav__list" data-md-scrollfix="">
<li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested">
<input checked="" class="md-nav__toggle md-toggle" data-md-toggle="__nav_1" id="__nav_1" type="checkbox"/>
<label aria-expanded="true" class="md-nav__link" for="__nav_1" tabindex="0">
CityDoctor2
<span class="md-nav__icon md-icon"></span>
<input checked="" class="md-nav__toggle md-toggle" id="__nav_1" type="checkbox"/>
<label class="md-nav__link" for="__nav_1" id="__nav_1_label" tabindex="">
<span class="md-ellipsis">
CityDoctor2
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav aria-label="CityDoctor2" class="md-nav" data-md-level="1">
<nav aria-expanded="true" aria-labelledby="__nav_1_label" class="md-nav" data-md-level="1">
<label class="md-nav__title" for="__nav_1">
<span class="md-nav__icon md-icon"></span>
CityDoctor2
</label>
CityDoctor2
</label>
<ul class="md-nav__list" data-md-scrollfix="">
<li class="md-nav__item">
<a class="md-nav__link" href="..">
Über CityDoctor2
</a>
<span class="md-ellipsis">
Über CityDoctor2
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../requiredSoftware/">
Installation
</a>
<span class="md-ellipsis">
Installation
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../firstRun/">
Erster Start
</a>
<span class="md-ellipsis">
Erster Start
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../userInterface/">
Nutzeroberfläche
</a>
<span class="md-ellipsis">
Nutzeroberfläche
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../zipFiles/">
<span class="md-ellipsis">
Zip Dateien
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../validationPlan/">
Prüfplan
</a>
<span class="md-ellipsis">
Prüfplan
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--active md-nav__item--nested">
<input checked="" class="md-nav__toggle md-toggle" data-md-toggle="__nav_1_6" id="__nav_1_6" type="checkbox"/>
<label aria-expanded="true" class="md-nav__link" for="__nav_1_6" tabindex="0">
Anforderungen
<span class="md-nav__icon md-icon"></span>
<input checked="" class="md-nav__toggle md-toggle" id="__nav_1_7" type="checkbox"/>
<label class="md-nav__link" for="__nav_1_7" id="__nav_1_7_label" tabindex="0">
<span class="md-ellipsis">
Anforderungen
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav aria-label="Anforderungen" class="md-nav" data-md-level="2">
<label class="md-nav__title" for="__nav_1_6">
<nav aria-expanded="true" aria-labelledby="__nav_1_7_label" class="md-nav" data-md-level="2">
<label class="md-nav__title" for="__nav_1_7">
<span class="md-nav__icon md-icon"></span>
Anforderungen
</label>
Anforderungen
</label>
<ul class="md-nav__list" data-md-scrollfix="">
<li class="md-nav__item">
<a class="md-nav__link" href="../basic/">
Grundbegriffe
</a>
<span class="md-ellipsis">
Grundbegriffe
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../requirements/">
Übersicht
</a>
<span class="md-ellipsis">
Übersicht
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../schemaRequirements/">
Schemaanforderungen
</a>
<span class="md-ellipsis">
Schemaanforderungen
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../geometric/">
Geometrische Anforderungen
</a>
<span class="md-ellipsis">
Geometrische Anforderungen
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../semantic/">
Semantische Anforderungen
</a>
<span class="md-ellipsis">
Semantische Anforderungen
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--active md-nav__item--nested">
<input checked="" class="md-nav__toggle md-toggle" data-md-toggle="__nav_1_6_6" id="__nav_1_6_6" type="checkbox"/>
<label aria-expanded="true" class="md-nav__link" for="__nav_1_6_6" tabindex="0">
Details
<span class="md-nav__icon md-icon"></span>
<input checked="" class="md-nav__toggle md-toggle" id="__nav_1_7_6" type="checkbox"/>
<label class="md-nav__link" for="__nav_1_7_6" id="__nav_1_7_6_label" tabindex="0">
<span class="md-ellipsis">
Details
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav aria-label="Details" class="md-nav" data-md-level="3">
<label class="md-nav__title" for="__nav_1_6_6">
<nav aria-expanded="true" aria-labelledby="__nav_1_7_6_label" class="md-nav" data-md-level="3">
<label class="md-nav__title" for="__nav_1_7_6">
<span class="md-nav__icon md-icon"></span>
Details
</label>
Details
</label>
<ul class="md-nav__list" data-md-scrollfix="">
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_R_TOO_FEW_POINTS/">
R_TOO_FEW_POINTS
</a>
<span class="md-ellipsis">
R_TOO_FEW_POINTS
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_R_CONSECUTIVE_POINTS_SAME/">
R_CONSECUTIVE_POINTS_SAME
</a>
<span class="md-ellipsis">
R_CONSECUTIVE_POINTS_SAME
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_R_NOT_CLOSED/">
R_RING_NOT_CLOSED
</a>
<span class="md-ellipsis">
R_RING_NOT_CLOSED
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_R_SELF_INTERSECTION/">
R_RING_SELF_INTERSECTION
</a>
<span class="md-ellipsis">
R_RING_SELF_INTERSECTION
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_R_COLLAPSED_TO_LINE/">
R_COLLAPSED_TO_LINE
</a>
<span class="md-ellipsis">
R_COLLAPSED_TO_LINE
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_P_INTERSECTING_RINGS/">
P_INTERSECTING_RINGS
</a>
<span class="md-ellipsis">
P_INTERSECTING_RINGS
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_P_NON_PLANAR/">
P_NON_PLANAR
</a>
<span class="md-ellipsis">
P_NON_PLANAR
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_P_INTERIOR_DISCONNECTED/">
P_INTERIOR_DISCONNECTED
</a>
<span class="md-ellipsis">
P_INTERIOR_DISCONNECTED
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_P_HOLE_OUTSIDE/">
P_HOLE_OUTSIDE
</a>
<span class="md-ellipsis">
P_HOLE_OUTSIDE
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_P_INNER_RINGS_NESTED/">
P_INNER_RINGS_NESTED
</a>
<span class="md-ellipsis">
P_INNER_RINGS_NESTED
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_P_ORIENTATION_RINGS_SAME/">
P_ORIENTATION_RINGS_SAME
</a>
<span class="md-ellipsis">
P_ORIENTATION_RINGS_SAME
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_MS/">
MULTI_SURFACE
</a>
<span class="md-ellipsis">
MULTI_SURFACE
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_S_TOO_FEW_POLYGONS/">
S_TOO_FEW_POLYGONS
</a>
<span class="md-ellipsis">
S_TOO_FEW_POLYGONS
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_S_NOT_CLOSED/">
S_NOT_CLOSED
</a>
<span class="md-ellipsis">
S_NOT_CLOSED
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_S_NON_MANIFOLD_VERTEX/">
S_NON_MANIFOLD_VERTEX
</a>
<span class="md-ellipsis">
S_NON_MANIFOLD_VERTEX
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_S_NON_MANIFOLD_EDGE/">
S_NON_MANIFOLD_EDGE
</a>
<span class="md-ellipsis">
S_NON_MANIFOLD_EDGE
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--active">
<input class="md-nav__toggle md-toggle" data-md-toggle="toc" id="__toc" type="checkbox"/>
<input class="md-nav__toggle md-toggle" id="__toc" type="checkbox"/>
<a class="md-nav__link md-nav__link--active" href="./">
S_MULTIPLE_CONNECTED_COMPONENTS
</a>
<span class="md-ellipsis">
S_MULTIPLE_CONNECTED_COMPONENTS
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_S_SELF_INTERSECTION/">
S_SELF_INTERSECTION
</a>
<span class="md-ellipsis">
S_SELF_INTERSECTION
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_S_POLYGON_WRONG_ORIENTATION/">
S_POLYGON_WRONG_ORIENTATION
</a>
<span class="md-ellipsis">
S_POLYGON_WRONG_ORIENTATION
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_S_ALL_POLYGONS_WRONG_ORIENTATION/">
S_ALL_POLYGONS_WRONG_ORIENTATION
</a>
<span class="md-ellipsis">
S_ALL_POLYGONS_WRONG_ORIENTATION
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_SO/">
SOLID
</a>
<span class="md-ellipsis">
SOLID
</span>
</a>
</li>
</ul>
</nav>
......@@ -372,6 +447,7 @@
<p>siehe <a href="https://gitlab.com/volkercoors/agqual3d/-/wikis/Validierung/Anforderungen/GE_gml_SO_0005">https://gitlab.com/volkercoors/agqual3d/-/wikis/Validierung/Anforderungen/GE_gml_SO_0005</a></p>
</article>
</div>
<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script>
</div>
</main>
<footer class="md-footer">
......@@ -392,8 +468,8 @@
<div class="md-dialog" data-md-component="dialog">
<div class="md-dialog__inner md-typeset"></div>
</div>
<script id="__config" type="application/json">{"base": "..", "features": ["content.code.annotate", "navigation.sections"], "search": "../assets/javascripts/workers/search.e5c33ebb.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version": "Version ausw\u00e4hlen"}}</script>
<script src="../assets/javascripts/bundle.51d95adb.min.js"></script>
<script id="__config" type="application/json">{"base": "..", "features": ["content.code.annotate", "navigation.sections"], "search": "../assets/javascripts/workers/search.07f07601.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version": "Version ausw\u00e4hlen"}}</script>
<script src="../assets/javascripts/bundle.56dfad97.min.js"></script>
<script src="https://unpkg.com/mermaid/dist/mermaid.min.js"></script>
</body>
</html>
\ No newline at end of file
......@@ -9,18 +9,17 @@
<link href="../R_GE_S_NON_MANIFOLD_VERTEX/" rel="prev"/>
<link href="../R_GE_S_MULTIPLE_CONNECTED_COMPONENTS/" rel="next"/>
<link href="../img/citydoctor_logo.png" rel="icon"/>
<meta content="mkdocs-1.4.2, mkdocs-material-9.0.6" name="generator"/>
<meta content="mkdocs-1.6.1, mkdocs-material-9.5.34" name="generator"/>
<title>S_NON_MANIFOLD_EDGE - CityDoctor2</title>
<link href="../assets/stylesheets/main.558e4712.min.css" rel="stylesheet"/>
<link href="../assets/stylesheets/palette.2505c338.min.css" rel="stylesheet"/>
<link href="../assets/stylesheets/main.35f28582.min.css" rel="stylesheet"/>
<link href="../assets/stylesheets/palette.06af60db.min.css" rel="stylesheet"/>
<link crossorigin="" href="https://fonts.gstatic.com" rel="preconnect"/>
<link href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&amp;display=fallback" rel="stylesheet"/>
<style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style>
<link href="https://unpkg.com/mermaid/dist/mermaid.css" rel="stylesheet"/>
<script>__md_scope=new URL("..",location),__md_hash=e=>[...e].reduce((e,_)=>(e<<5)-e+_.charCodeAt(0),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
<script>__md_scope=new URL("..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
</head>
<body data-md-color-accent="" data-md-color-primary="red" data-md-color-scheme="default" dir="ltr">
<script>var palette=__md_get("__palette");if(palette&&"object"==typeof palette.color)for(var key of Object.keys(palette.color))document.body.setAttribute("data-md-color-"+key,palette.color[key])</script>
<body data-md-color-accent="indigo" data-md-color-primary="red" data-md-color-scheme="default" dir="ltr">
<input autocomplete="off" class="md-toggle" data-md-toggle="drawer" id="__drawer" type="checkbox"/>
<input autocomplete="off" class="md-toggle" data-md-toggle="search" id="__search" type="checkbox"/>
<label class="md-overlay" for="__drawer"></label>
......@@ -31,13 +30,13 @@
</div>
<div data-md-component="announce">
</div>
<header class="md-header" data-md-component="header">
<header class="md-header md-header--shadow" data-md-component="header">
<nav aria-label="Kopfzeile" class="md-header__inner md-grid">
<a aria-label="CityDoctor2" class="md-header__button md-logo" data-md-component="logo" href=".." title="CityDoctor2">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54Z"></path></svg>
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"></path></svg>
</a>
<label class="md-header__button md-icon" for="__drawer">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2Z"></path></svg>
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"></path></svg>
</label>
<div class="md-header__title" data-md-component="header-title">
<div class="md-header__ellipsis">
......@@ -56,38 +55,39 @@
</div>
</div>
<form class="md-header__option" data-md-component="palette">
<input aria-label="Dunkelmodus verwenden" class="md-option" data-md-color-accent="" data-md-color-media="(prefers-color-scheme: light)" data-md-color-primary="red" data-md-color-scheme="default" id="__palette_1" name="__palette" type="radio"/>
<label class="md-header__button md-icon" for="__palette_2" hidden="" title="Dunkelmodus verwenden">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12 20 8.69Z"></path></svg>
<input aria-label="Dunkelmodus verwenden" class="md-option" data-md-color-accent="indigo" data-md-color-media="(prefers-color-scheme: light)" data-md-color-primary="red" data-md-color-scheme="default" id="__palette_0" name="__palette" type="radio"/>
<label class="md-header__button md-icon" for="__palette_1" hidden="" title="Dunkelmodus verwenden">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"></path></svg>
</label>
<input aria-label="Hellen Modus verwenden" class="md-option" data-md-color-accent="" data-md-color-media="(prefers-color-scheme: dark)" data-md-color-primary="" data-md-color-scheme="slate" id="__palette_2" name="__palette" type="radio"/>
<label class="md-header__button md-icon" for="__palette_1" hidden="" title="Hellen Modus verwenden">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12c0-2.42-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12 20 8.69Z"></path></svg>
<input aria-label="Hellen Modus verwenden" class="md-option" data-md-color-accent="indigo" data-md-color-media="(prefers-color-scheme: dark)" data-md-color-primary="indigo" data-md-color-scheme="slate" id="__palette_1" name="__palette" type="radio"/>
<label class="md-header__button md-icon" for="__palette_0" hidden="" title="Hellen Modus verwenden">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"></path></svg>
</label>
</form>
<script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script>
<div class="md-header__option">
<div class="md-select">
<button aria-label="Sprache wechseln" class="md-header__button md-icon">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="m12.87 15.07-2.54-2.51.03-.03A17.52 17.52 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04M18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12m-2.62 7 1.62-4.33L19.12 17h-3.24Z"></path></svg>
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="m12.87 15.07-2.54-2.51.03-.03A17.5 17.5 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2zm-2.62 7 1.62-4.33L19.12 17z"></path></svg>
</button>
<div class="md-select__inner">
<ul class="md-select__list">
<li class="md-select__item">
<a class="md-select__link" href=".." hreflang="de">
Deutsch
</a>
<a class="md-select__link" href="../None" hreflang="de">
Deutsch
</a>
</li>
<li class="md-select__item">
<a class="md-select__link" href="https://transfer.hft-stuttgart.de/pages/citydoctor/citydoctorhomepage/en/" hreflang="en">
English
</a>
English
</a>
</li>
</ul>
</div>
</div>
</div>
<label class="md-header__button md-icon" for="__search">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"></path></svg>
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"></path></svg>
</label>
<div class="md-search" data-md-component="search" role="dialog">
<label class="md-search__overlay" for="__search"></label>
......@@ -95,17 +95,17 @@
<form class="md-search__form" name="search">
<input aria-label="Suche" autocapitalize="off" autocomplete="off" autocorrect="off" class="md-search__input" data-md-component="search-query" name="query" placeholder="Suche" required="" spellcheck="false" type="text"/>
<label class="md-search__icon md-icon" for="__search">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"></path></svg>
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"></path></svg>
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"></path></svg>
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"></path></svg>
</label>
<nav aria-label="Suche" class="md-search__options">
<button aria-label="Zurücksetzen" class="md-search__icon md-icon" tabindex="-1" title="Zurücksetzen" type="reset">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"></path></svg>
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"></path></svg>
</button>
</nav>
</form>
<div class="md-search__output">
<div class="md-search__scrollwrap" data-md-scrollfix="">
<div class="md-search__scrollwrap" data-md-scrollfix="" tabindex="0">
<div class="md-search-result" data-md-component="search-result">
<div class="md-search-result__meta">
Suche wird initialisiert
......@@ -119,7 +119,7 @@
<div class="md-header__source">
<a class="md-source" data-md-component="source" href="https://transfer.hft-stuttgart.de/gitlab/citydoctor/citydoctor2" title="Zum Repository">
<div class="md-source__icon md-icon">
<svg viewbox="0 0 448 512" xmlns="http://www.w3.org/2000/svg"><!--! Font Awesome Free 6.2.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2022 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"></path></svg>
<svg viewbox="0 0 448 512" xmlns="http://www.w3.org/2000/svg"><!--! Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81"></path></svg>
</div>
<div class="md-source__repository">
CityDoctor2
......@@ -137,14 +137,14 @@
<nav aria-label="Navigation" class="md-nav md-nav--primary" data-md-level="0">
<label class="md-nav__title" for="__drawer">
<a aria-label="CityDoctor2" class="md-nav__button md-logo" data-md-component="logo" href=".." title="CityDoctor2">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54Z"></path></svg>
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"></path></svg>
</a>
CityDoctor2
</label>
<div class="md-nav__source">
<a class="md-source" data-md-component="source" href="https://transfer.hft-stuttgart.de/gitlab/citydoctor/citydoctor2" title="Zum Repository">
<div class="md-source__icon md-icon">
<svg viewbox="0 0 448 512" xmlns="http://www.w3.org/2000/svg"><!--! Font Awesome Free 6.2.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2022 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"></path></svg>
<svg viewbox="0 0 448 512" xmlns="http://www.w3.org/2000/svg"><!--! Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81"></path></svg>
</div>
<div class="md-source__repository">
CityDoctor2
......@@ -153,196 +153,271 @@
</div>
<ul class="md-nav__list" data-md-scrollfix="">
<li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested">
<input checked="" class="md-nav__toggle md-toggle" data-md-toggle="__nav_1" id="__nav_1" type="checkbox"/>
<label aria-expanded="true" class="md-nav__link" for="__nav_1" tabindex="0">
CityDoctor2
<span class="md-nav__icon md-icon"></span>
<input checked="" class="md-nav__toggle md-toggle" id="__nav_1" type="checkbox"/>
<label class="md-nav__link" for="__nav_1" id="__nav_1_label" tabindex="">
<span class="md-ellipsis">
CityDoctor2
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav aria-label="CityDoctor2" class="md-nav" data-md-level="1">
<nav aria-expanded="true" aria-labelledby="__nav_1_label" class="md-nav" data-md-level="1">
<label class="md-nav__title" for="__nav_1">
<span class="md-nav__icon md-icon"></span>
CityDoctor2
</label>
CityDoctor2
</label>
<ul class="md-nav__list" data-md-scrollfix="">
<li class="md-nav__item">
<a class="md-nav__link" href="..">
Über CityDoctor2
</a>
<span class="md-ellipsis">
Über CityDoctor2
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../requiredSoftware/">
Installation
</a>
<span class="md-ellipsis">
Installation
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../firstRun/">
Erster Start
</a>
<span class="md-ellipsis">
Erster Start
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../userInterface/">
Nutzeroberfläche
</a>
<span class="md-ellipsis">
Nutzeroberfläche
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../zipFiles/">
<span class="md-ellipsis">
Zip Dateien
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../validationPlan/">
Prüfplan
</a>
<span class="md-ellipsis">
Prüfplan
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--active md-nav__item--nested">
<input checked="" class="md-nav__toggle md-toggle" data-md-toggle="__nav_1_6" id="__nav_1_6" type="checkbox"/>
<label aria-expanded="true" class="md-nav__link" for="__nav_1_6" tabindex="0">
Anforderungen
<span class="md-nav__icon md-icon"></span>
<input checked="" class="md-nav__toggle md-toggle" id="__nav_1_7" type="checkbox"/>
<label class="md-nav__link" for="__nav_1_7" id="__nav_1_7_label" tabindex="0">
<span class="md-ellipsis">
Anforderungen
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav aria-label="Anforderungen" class="md-nav" data-md-level="2">
<label class="md-nav__title" for="__nav_1_6">
<nav aria-expanded="true" aria-labelledby="__nav_1_7_label" class="md-nav" data-md-level="2">
<label class="md-nav__title" for="__nav_1_7">
<span class="md-nav__icon md-icon"></span>
Anforderungen
</label>
Anforderungen
</label>
<ul class="md-nav__list" data-md-scrollfix="">
<li class="md-nav__item">
<a class="md-nav__link" href="../basic/">
Grundbegriffe
</a>
<span class="md-ellipsis">
Grundbegriffe
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../requirements/">
Übersicht
</a>
<span class="md-ellipsis">
Übersicht
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../schemaRequirements/">
Schemaanforderungen
</a>
<span class="md-ellipsis">
Schemaanforderungen
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../geometric/">
Geometrische Anforderungen
</a>
<span class="md-ellipsis">
Geometrische Anforderungen
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../semantic/">
Semantische Anforderungen
</a>
<span class="md-ellipsis">
Semantische Anforderungen
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--active md-nav__item--nested">
<input checked="" class="md-nav__toggle md-toggle" data-md-toggle="__nav_1_6_6" id="__nav_1_6_6" type="checkbox"/>
<label aria-expanded="true" class="md-nav__link" for="__nav_1_6_6" tabindex="0">
Details
<span class="md-nav__icon md-icon"></span>
<input checked="" class="md-nav__toggle md-toggle" id="__nav_1_7_6" type="checkbox"/>
<label class="md-nav__link" for="__nav_1_7_6" id="__nav_1_7_6_label" tabindex="0">
<span class="md-ellipsis">
Details
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav aria-label="Details" class="md-nav" data-md-level="3">
<label class="md-nav__title" for="__nav_1_6_6">
<nav aria-expanded="true" aria-labelledby="__nav_1_7_6_label" class="md-nav" data-md-level="3">
<label class="md-nav__title" for="__nav_1_7_6">
<span class="md-nav__icon md-icon"></span>
Details
</label>
Details
</label>
<ul class="md-nav__list" data-md-scrollfix="">
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_R_TOO_FEW_POINTS/">
R_TOO_FEW_POINTS
</a>
<span class="md-ellipsis">
R_TOO_FEW_POINTS
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_R_CONSECUTIVE_POINTS_SAME/">
R_CONSECUTIVE_POINTS_SAME
</a>
<span class="md-ellipsis">
R_CONSECUTIVE_POINTS_SAME
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_R_NOT_CLOSED/">
R_RING_NOT_CLOSED
</a>
<span class="md-ellipsis">
R_RING_NOT_CLOSED
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_R_SELF_INTERSECTION/">
R_RING_SELF_INTERSECTION
</a>
<span class="md-ellipsis">
R_RING_SELF_INTERSECTION
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_R_COLLAPSED_TO_LINE/">
R_COLLAPSED_TO_LINE
</a>
<span class="md-ellipsis">
R_COLLAPSED_TO_LINE
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_P_INTERSECTING_RINGS/">
P_INTERSECTING_RINGS
</a>
<span class="md-ellipsis">
P_INTERSECTING_RINGS
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_P_NON_PLANAR/">
P_NON_PLANAR
</a>
<span class="md-ellipsis">
P_NON_PLANAR
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_P_INTERIOR_DISCONNECTED/">
P_INTERIOR_DISCONNECTED
</a>
<span class="md-ellipsis">
P_INTERIOR_DISCONNECTED
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_P_HOLE_OUTSIDE/">
P_HOLE_OUTSIDE
</a>
<span class="md-ellipsis">
P_HOLE_OUTSIDE
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_P_INNER_RINGS_NESTED/">
P_INNER_RINGS_NESTED
</a>
<span class="md-ellipsis">
P_INNER_RINGS_NESTED
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_P_ORIENTATION_RINGS_SAME/">
P_ORIENTATION_RINGS_SAME
</a>
<span class="md-ellipsis">
P_ORIENTATION_RINGS_SAME
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_MS/">
MULTI_SURFACE
</a>
<span class="md-ellipsis">
MULTI_SURFACE
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_S_TOO_FEW_POLYGONS/">
S_TOO_FEW_POLYGONS
</a>
<span class="md-ellipsis">
S_TOO_FEW_POLYGONS
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_S_NOT_CLOSED/">
S_NOT_CLOSED
</a>
<span class="md-ellipsis">
S_NOT_CLOSED
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_S_NON_MANIFOLD_VERTEX/">
S_NON_MANIFOLD_VERTEX
</a>
<span class="md-ellipsis">
S_NON_MANIFOLD_VERTEX
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--active">
<input class="md-nav__toggle md-toggle" data-md-toggle="toc" id="__toc" type="checkbox"/>
<input class="md-nav__toggle md-toggle" id="__toc" type="checkbox"/>
<a class="md-nav__link md-nav__link--active" href="./">
S_NON_MANIFOLD_EDGE
</a>
<span class="md-ellipsis">
S_NON_MANIFOLD_EDGE
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_S_MULTIPLE_CONNECTED_COMPONENTS/">
S_MULTIPLE_CONNECTED_COMPONENTS
</a>
<span class="md-ellipsis">
S_MULTIPLE_CONNECTED_COMPONENTS
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_S_SELF_INTERSECTION/">
S_SELF_INTERSECTION
</a>
<span class="md-ellipsis">
S_SELF_INTERSECTION
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_S_POLYGON_WRONG_ORIENTATION/">
S_POLYGON_WRONG_ORIENTATION
</a>
<span class="md-ellipsis">
S_POLYGON_WRONG_ORIENTATION
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_S_ALL_POLYGONS_WRONG_ORIENTATION/">
S_ALL_POLYGONS_WRONG_ORIENTATION
</a>
<span class="md-ellipsis">
S_ALL_POLYGONS_WRONG_ORIENTATION
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_SO/">
SOLID
</a>
<span class="md-ellipsis">
SOLID
</span>
</a>
</li>
</ul>
</nav>
......@@ -372,6 +447,7 @@
<p>siehe <a href="https://gitlab.com/volkercoors/agqual3d/-/wikis/Validierung/Anforderungen/GE_gml_SO_0004">https://gitlab.com/volkercoors/agqual3d/-/wikis/Validierung/Anforderungen/GE_gml_SO_0004</a></p>
</article>
</div>
<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script>
</div>
</main>
<footer class="md-footer">
......@@ -392,8 +468,8 @@
<div class="md-dialog" data-md-component="dialog">
<div class="md-dialog__inner md-typeset"></div>
</div>
<script id="__config" type="application/json">{"base": "..", "features": ["content.code.annotate", "navigation.sections"], "search": "../assets/javascripts/workers/search.e5c33ebb.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version": "Version ausw\u00e4hlen"}}</script>
<script src="../assets/javascripts/bundle.51d95adb.min.js"></script>
<script id="__config" type="application/json">{"base": "..", "features": ["content.code.annotate", "navigation.sections"], "search": "../assets/javascripts/workers/search.07f07601.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version": "Version ausw\u00e4hlen"}}</script>
<script src="../assets/javascripts/bundle.56dfad97.min.js"></script>
<script src="https://unpkg.com/mermaid/dist/mermaid.min.js"></script>
</body>
</html>
\ No newline at end of file
......@@ -9,18 +9,17 @@
<link href="../R_GE_S_NOT_CLOSED/" rel="prev"/>
<link href="../R_GE_S_NON_MANIFOLD_EDGE/" rel="next"/>
<link href="../img/citydoctor_logo.png" rel="icon"/>
<meta content="mkdocs-1.4.2, mkdocs-material-9.0.6" name="generator"/>
<meta content="mkdocs-1.6.1, mkdocs-material-9.5.34" name="generator"/>
<title>S_NON_MANIFOLD_VERTEX - CityDoctor2</title>
<link href="../assets/stylesheets/main.558e4712.min.css" rel="stylesheet"/>
<link href="../assets/stylesheets/palette.2505c338.min.css" rel="stylesheet"/>
<link href="../assets/stylesheets/main.35f28582.min.css" rel="stylesheet"/>
<link href="../assets/stylesheets/palette.06af60db.min.css" rel="stylesheet"/>
<link crossorigin="" href="https://fonts.gstatic.com" rel="preconnect"/>
<link href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&amp;display=fallback" rel="stylesheet"/>
<style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style>
<link href="https://unpkg.com/mermaid/dist/mermaid.css" rel="stylesheet"/>
<script>__md_scope=new URL("..",location),__md_hash=e=>[...e].reduce((e,_)=>(e<<5)-e+_.charCodeAt(0),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
<script>__md_scope=new URL("..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
</head>
<body data-md-color-accent="" data-md-color-primary="red" data-md-color-scheme="default" dir="ltr">
<script>var palette=__md_get("__palette");if(palette&&"object"==typeof palette.color)for(var key of Object.keys(palette.color))document.body.setAttribute("data-md-color-"+key,palette.color[key])</script>
<body data-md-color-accent="indigo" data-md-color-primary="red" data-md-color-scheme="default" dir="ltr">
<input autocomplete="off" class="md-toggle" data-md-toggle="drawer" id="__drawer" type="checkbox"/>
<input autocomplete="off" class="md-toggle" data-md-toggle="search" id="__search" type="checkbox"/>
<label class="md-overlay" for="__drawer"></label>
......@@ -31,13 +30,13 @@
</div>
<div data-md-component="announce">
</div>
<header class="md-header" data-md-component="header">
<header class="md-header md-header--shadow" data-md-component="header">
<nav aria-label="Kopfzeile" class="md-header__inner md-grid">
<a aria-label="CityDoctor2" class="md-header__button md-logo" data-md-component="logo" href=".." title="CityDoctor2">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54Z"></path></svg>
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"></path></svg>
</a>
<label class="md-header__button md-icon" for="__drawer">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2Z"></path></svg>
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"></path></svg>
</label>
<div class="md-header__title" data-md-component="header-title">
<div class="md-header__ellipsis">
......@@ -56,38 +55,39 @@
</div>
</div>
<form class="md-header__option" data-md-component="palette">
<input aria-label="Dunkelmodus verwenden" class="md-option" data-md-color-accent="" data-md-color-media="(prefers-color-scheme: light)" data-md-color-primary="red" data-md-color-scheme="default" id="__palette_1" name="__palette" type="radio"/>
<label class="md-header__button md-icon" for="__palette_2" hidden="" title="Dunkelmodus verwenden">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12 20 8.69Z"></path></svg>
<input aria-label="Dunkelmodus verwenden" class="md-option" data-md-color-accent="indigo" data-md-color-media="(prefers-color-scheme: light)" data-md-color-primary="red" data-md-color-scheme="default" id="__palette_0" name="__palette" type="radio"/>
<label class="md-header__button md-icon" for="__palette_1" hidden="" title="Dunkelmodus verwenden">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"></path></svg>
</label>
<input aria-label="Hellen Modus verwenden" class="md-option" data-md-color-accent="" data-md-color-media="(prefers-color-scheme: dark)" data-md-color-primary="" data-md-color-scheme="slate" id="__palette_2" name="__palette" type="radio"/>
<label class="md-header__button md-icon" for="__palette_1" hidden="" title="Hellen Modus verwenden">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12c0-2.42-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12 20 8.69Z"></path></svg>
<input aria-label="Hellen Modus verwenden" class="md-option" data-md-color-accent="indigo" data-md-color-media="(prefers-color-scheme: dark)" data-md-color-primary="indigo" data-md-color-scheme="slate" id="__palette_1" name="__palette" type="radio"/>
<label class="md-header__button md-icon" for="__palette_0" hidden="" title="Hellen Modus verwenden">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"></path></svg>
</label>
</form>
<script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script>
<div class="md-header__option">
<div class="md-select">
<button aria-label="Sprache wechseln" class="md-header__button md-icon">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="m12.87 15.07-2.54-2.51.03-.03A17.52 17.52 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04M18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12m-2.62 7 1.62-4.33L19.12 17h-3.24Z"></path></svg>
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="m12.87 15.07-2.54-2.51.03-.03A17.5 17.5 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2zm-2.62 7 1.62-4.33L19.12 17z"></path></svg>
</button>
<div class="md-select__inner">
<ul class="md-select__list">
<li class="md-select__item">
<a class="md-select__link" href=".." hreflang="de">
Deutsch
</a>
<a class="md-select__link" href="../None" hreflang="de">
Deutsch
</a>
</li>
<li class="md-select__item">
<a class="md-select__link" href="https://transfer.hft-stuttgart.de/pages/citydoctor/citydoctorhomepage/en/" hreflang="en">
English
</a>
English
</a>
</li>
</ul>
</div>
</div>
</div>
<label class="md-header__button md-icon" for="__search">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"></path></svg>
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"></path></svg>
</label>
<div class="md-search" data-md-component="search" role="dialog">
<label class="md-search__overlay" for="__search"></label>
......@@ -95,17 +95,17 @@
<form class="md-search__form" name="search">
<input aria-label="Suche" autocapitalize="off" autocomplete="off" autocorrect="off" class="md-search__input" data-md-component="search-query" name="query" placeholder="Suche" required="" spellcheck="false" type="text"/>
<label class="md-search__icon md-icon" for="__search">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"></path></svg>
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"></path></svg>
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"></path></svg>
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"></path></svg>
</label>
<nav aria-label="Suche" class="md-search__options">
<button aria-label="Zurücksetzen" class="md-search__icon md-icon" tabindex="-1" title="Zurücksetzen" type="reset">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"></path></svg>
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"></path></svg>
</button>
</nav>
</form>
<div class="md-search__output">
<div class="md-search__scrollwrap" data-md-scrollfix="">
<div class="md-search__scrollwrap" data-md-scrollfix="" tabindex="0">
<div class="md-search-result" data-md-component="search-result">
<div class="md-search-result__meta">
Suche wird initialisiert
......@@ -119,7 +119,7 @@
<div class="md-header__source">
<a class="md-source" data-md-component="source" href="https://transfer.hft-stuttgart.de/gitlab/citydoctor/citydoctor2" title="Zum Repository">
<div class="md-source__icon md-icon">
<svg viewbox="0 0 448 512" xmlns="http://www.w3.org/2000/svg"><!--! Font Awesome Free 6.2.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2022 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"></path></svg>
<svg viewbox="0 0 448 512" xmlns="http://www.w3.org/2000/svg"><!--! Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81"></path></svg>
</div>
<div class="md-source__repository">
CityDoctor2
......@@ -137,14 +137,14 @@
<nav aria-label="Navigation" class="md-nav md-nav--primary" data-md-level="0">
<label class="md-nav__title" for="__drawer">
<a aria-label="CityDoctor2" class="md-nav__button md-logo" data-md-component="logo" href=".." title="CityDoctor2">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54Z"></path></svg>
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"></path></svg>
</a>
CityDoctor2
</label>
<div class="md-nav__source">
<a class="md-source" data-md-component="source" href="https://transfer.hft-stuttgart.de/gitlab/citydoctor/citydoctor2" title="Zum Repository">
<div class="md-source__icon md-icon">
<svg viewbox="0 0 448 512" xmlns="http://www.w3.org/2000/svg"><!--! Font Awesome Free 6.2.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2022 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"></path></svg>
<svg viewbox="0 0 448 512" xmlns="http://www.w3.org/2000/svg"><!--! Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81"></path></svg>
</div>
<div class="md-source__repository">
CityDoctor2
......@@ -153,196 +153,271 @@
</div>
<ul class="md-nav__list" data-md-scrollfix="">
<li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested">
<input checked="" class="md-nav__toggle md-toggle" data-md-toggle="__nav_1" id="__nav_1" type="checkbox"/>
<label aria-expanded="true" class="md-nav__link" for="__nav_1" tabindex="0">
CityDoctor2
<span class="md-nav__icon md-icon"></span>
<input checked="" class="md-nav__toggle md-toggle" id="__nav_1" type="checkbox"/>
<label class="md-nav__link" for="__nav_1" id="__nav_1_label" tabindex="">
<span class="md-ellipsis">
CityDoctor2
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav aria-label="CityDoctor2" class="md-nav" data-md-level="1">
<nav aria-expanded="true" aria-labelledby="__nav_1_label" class="md-nav" data-md-level="1">
<label class="md-nav__title" for="__nav_1">
<span class="md-nav__icon md-icon"></span>
CityDoctor2
</label>
CityDoctor2
</label>
<ul class="md-nav__list" data-md-scrollfix="">
<li class="md-nav__item">
<a class="md-nav__link" href="..">
Über CityDoctor2
</a>
<span class="md-ellipsis">
Über CityDoctor2
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../requiredSoftware/">
Installation
</a>
<span class="md-ellipsis">
Installation
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../firstRun/">
Erster Start
</a>
<span class="md-ellipsis">
Erster Start
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../userInterface/">
Nutzeroberfläche
</a>
<span class="md-ellipsis">
Nutzeroberfläche
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../zipFiles/">
<span class="md-ellipsis">
Zip Dateien
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../validationPlan/">
Prüfplan
</a>
<span class="md-ellipsis">
Prüfplan
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--active md-nav__item--nested">
<input checked="" class="md-nav__toggle md-toggle" data-md-toggle="__nav_1_6" id="__nav_1_6" type="checkbox"/>
<label aria-expanded="true" class="md-nav__link" for="__nav_1_6" tabindex="0">
Anforderungen
<span class="md-nav__icon md-icon"></span>
<input checked="" class="md-nav__toggle md-toggle" id="__nav_1_7" type="checkbox"/>
<label class="md-nav__link" for="__nav_1_7" id="__nav_1_7_label" tabindex="0">
<span class="md-ellipsis">
Anforderungen
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav aria-label="Anforderungen" class="md-nav" data-md-level="2">
<label class="md-nav__title" for="__nav_1_6">
<nav aria-expanded="true" aria-labelledby="__nav_1_7_label" class="md-nav" data-md-level="2">
<label class="md-nav__title" for="__nav_1_7">
<span class="md-nav__icon md-icon"></span>
Anforderungen
</label>
Anforderungen
</label>
<ul class="md-nav__list" data-md-scrollfix="">
<li class="md-nav__item">
<a class="md-nav__link" href="../basic/">
Grundbegriffe
</a>
<span class="md-ellipsis">
Grundbegriffe
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../requirements/">
Übersicht
</a>
<span class="md-ellipsis">
Übersicht
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../schemaRequirements/">
Schemaanforderungen
</a>
<span class="md-ellipsis">
Schemaanforderungen
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../geometric/">
Geometrische Anforderungen
</a>
<span class="md-ellipsis">
Geometrische Anforderungen
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../semantic/">
Semantische Anforderungen
</a>
<span class="md-ellipsis">
Semantische Anforderungen
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--active md-nav__item--nested">
<input checked="" class="md-nav__toggle md-toggle" data-md-toggle="__nav_1_6_6" id="__nav_1_6_6" type="checkbox"/>
<label aria-expanded="true" class="md-nav__link" for="__nav_1_6_6" tabindex="0">
Details
<span class="md-nav__icon md-icon"></span>
<input checked="" class="md-nav__toggle md-toggle" id="__nav_1_7_6" type="checkbox"/>
<label class="md-nav__link" for="__nav_1_7_6" id="__nav_1_7_6_label" tabindex="0">
<span class="md-ellipsis">
Details
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav aria-label="Details" class="md-nav" data-md-level="3">
<label class="md-nav__title" for="__nav_1_6_6">
<nav aria-expanded="true" aria-labelledby="__nav_1_7_6_label" class="md-nav" data-md-level="3">
<label class="md-nav__title" for="__nav_1_7_6">
<span class="md-nav__icon md-icon"></span>
Details
</label>
Details
</label>
<ul class="md-nav__list" data-md-scrollfix="">
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_R_TOO_FEW_POINTS/">
R_TOO_FEW_POINTS
</a>
<span class="md-ellipsis">
R_TOO_FEW_POINTS
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_R_CONSECUTIVE_POINTS_SAME/">
R_CONSECUTIVE_POINTS_SAME
</a>
<span class="md-ellipsis">
R_CONSECUTIVE_POINTS_SAME
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_R_NOT_CLOSED/">
R_RING_NOT_CLOSED
</a>
<span class="md-ellipsis">
R_RING_NOT_CLOSED
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_R_SELF_INTERSECTION/">
R_RING_SELF_INTERSECTION
</a>
<span class="md-ellipsis">
R_RING_SELF_INTERSECTION
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_R_COLLAPSED_TO_LINE/">
R_COLLAPSED_TO_LINE
</a>
<span class="md-ellipsis">
R_COLLAPSED_TO_LINE
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_P_INTERSECTING_RINGS/">
P_INTERSECTING_RINGS
</a>
<span class="md-ellipsis">
P_INTERSECTING_RINGS
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_P_NON_PLANAR/">
P_NON_PLANAR
</a>
<span class="md-ellipsis">
P_NON_PLANAR
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_P_INTERIOR_DISCONNECTED/">
P_INTERIOR_DISCONNECTED
</a>
<span class="md-ellipsis">
P_INTERIOR_DISCONNECTED
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_P_HOLE_OUTSIDE/">
P_HOLE_OUTSIDE
</a>
<span class="md-ellipsis">
P_HOLE_OUTSIDE
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_P_INNER_RINGS_NESTED/">
P_INNER_RINGS_NESTED
</a>
<span class="md-ellipsis">
P_INNER_RINGS_NESTED
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_P_ORIENTATION_RINGS_SAME/">
P_ORIENTATION_RINGS_SAME
</a>
<span class="md-ellipsis">
P_ORIENTATION_RINGS_SAME
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_MS/">
MULTI_SURFACE
</a>
<span class="md-ellipsis">
MULTI_SURFACE
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_S_TOO_FEW_POLYGONS/">
S_TOO_FEW_POLYGONS
</a>
<span class="md-ellipsis">
S_TOO_FEW_POLYGONS
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_S_NOT_CLOSED/">
S_NOT_CLOSED
</a>
<span class="md-ellipsis">
S_NOT_CLOSED
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--active">
<input class="md-nav__toggle md-toggle" data-md-toggle="toc" id="__toc" type="checkbox"/>
<input class="md-nav__toggle md-toggle" id="__toc" type="checkbox"/>
<a class="md-nav__link md-nav__link--active" href="./">
S_NON_MANIFOLD_VERTEX
</a>
<span class="md-ellipsis">
S_NON_MANIFOLD_VERTEX
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_S_NON_MANIFOLD_EDGE/">
S_NON_MANIFOLD_EDGE
</a>
<span class="md-ellipsis">
S_NON_MANIFOLD_EDGE
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_S_MULTIPLE_CONNECTED_COMPONENTS/">
S_MULTIPLE_CONNECTED_COMPONENTS
</a>
<span class="md-ellipsis">
S_MULTIPLE_CONNECTED_COMPONENTS
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_S_SELF_INTERSECTION/">
S_SELF_INTERSECTION
</a>
<span class="md-ellipsis">
S_SELF_INTERSECTION
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_S_POLYGON_WRONG_ORIENTATION/">
S_POLYGON_WRONG_ORIENTATION
</a>
<span class="md-ellipsis">
S_POLYGON_WRONG_ORIENTATION
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_S_ALL_POLYGONS_WRONG_ORIENTATION/">
S_ALL_POLYGONS_WRONG_ORIENTATION
</a>
<span class="md-ellipsis">
S_ALL_POLYGONS_WRONG_ORIENTATION
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_SO/">
SOLID
</a>
<span class="md-ellipsis">
SOLID
</span>
</a>
</li>
</ul>
</nav>
......@@ -372,6 +447,7 @@
<p>siehe <a href="https://gitlab.com/volkercoors/agqual3d/-/wikis/Validierung/Anforderungen/GE_gml_SO_0003">https://gitlab.com/volkercoors/agqual3d/-/wikis/Validierung/Anforderungen/GE_gml_SO_0003</a></p>
</article>
</div>
<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script>
</div>
</main>
<footer class="md-footer">
......@@ -392,8 +468,8 @@
<div class="md-dialog" data-md-component="dialog">
<div class="md-dialog__inner md-typeset"></div>
</div>
<script id="__config" type="application/json">{"base": "..", "features": ["content.code.annotate", "navigation.sections"], "search": "../assets/javascripts/workers/search.e5c33ebb.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version": "Version ausw\u00e4hlen"}}</script>
<script src="../assets/javascripts/bundle.51d95adb.min.js"></script>
<script id="__config" type="application/json">{"base": "..", "features": ["content.code.annotate", "navigation.sections"], "search": "../assets/javascripts/workers/search.07f07601.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version": "Version ausw\u00e4hlen"}}</script>
<script src="../assets/javascripts/bundle.56dfad97.min.js"></script>
<script src="https://unpkg.com/mermaid/dist/mermaid.min.js"></script>
</body>
</html>
\ No newline at end of file
......@@ -9,18 +9,17 @@
<link href="../R_GE_S_TOO_FEW_POLYGONS/" rel="prev"/>
<link href="../R_GE_S_NON_MANIFOLD_VERTEX/" rel="next"/>
<link href="../img/citydoctor_logo.png" rel="icon"/>
<meta content="mkdocs-1.4.2, mkdocs-material-9.0.6" name="generator"/>
<meta content="mkdocs-1.6.1, mkdocs-material-9.5.34" name="generator"/>
<title>S_NOT_CLOSED - CityDoctor2</title>
<link href="../assets/stylesheets/main.558e4712.min.css" rel="stylesheet"/>
<link href="../assets/stylesheets/palette.2505c338.min.css" rel="stylesheet"/>
<link href="../assets/stylesheets/main.35f28582.min.css" rel="stylesheet"/>
<link href="../assets/stylesheets/palette.06af60db.min.css" rel="stylesheet"/>
<link crossorigin="" href="https://fonts.gstatic.com" rel="preconnect"/>
<link href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&amp;display=fallback" rel="stylesheet"/>
<style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style>
<link href="https://unpkg.com/mermaid/dist/mermaid.css" rel="stylesheet"/>
<script>__md_scope=new URL("..",location),__md_hash=e=>[...e].reduce((e,_)=>(e<<5)-e+_.charCodeAt(0),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
<script>__md_scope=new URL("..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
</head>
<body data-md-color-accent="" data-md-color-primary="red" data-md-color-scheme="default" dir="ltr">
<script>var palette=__md_get("__palette");if(palette&&"object"==typeof palette.color)for(var key of Object.keys(palette.color))document.body.setAttribute("data-md-color-"+key,palette.color[key])</script>
<body data-md-color-accent="indigo" data-md-color-primary="red" data-md-color-scheme="default" dir="ltr">
<input autocomplete="off" class="md-toggle" data-md-toggle="drawer" id="__drawer" type="checkbox"/>
<input autocomplete="off" class="md-toggle" data-md-toggle="search" id="__search" type="checkbox"/>
<label class="md-overlay" for="__drawer"></label>
......@@ -31,13 +30,13 @@
</div>
<div data-md-component="announce">
</div>
<header class="md-header" data-md-component="header">
<header class="md-header md-header--shadow" data-md-component="header">
<nav aria-label="Kopfzeile" class="md-header__inner md-grid">
<a aria-label="CityDoctor2" class="md-header__button md-logo" data-md-component="logo" href=".." title="CityDoctor2">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54Z"></path></svg>
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"></path></svg>
</a>
<label class="md-header__button md-icon" for="__drawer">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2Z"></path></svg>
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"></path></svg>
</label>
<div class="md-header__title" data-md-component="header-title">
<div class="md-header__ellipsis">
......@@ -56,38 +55,39 @@
</div>
</div>
<form class="md-header__option" data-md-component="palette">
<input aria-label="Dunkelmodus verwenden" class="md-option" data-md-color-accent="" data-md-color-media="(prefers-color-scheme: light)" data-md-color-primary="red" data-md-color-scheme="default" id="__palette_1" name="__palette" type="radio"/>
<label class="md-header__button md-icon" for="__palette_2" hidden="" title="Dunkelmodus verwenden">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12 20 8.69Z"></path></svg>
<input aria-label="Dunkelmodus verwenden" class="md-option" data-md-color-accent="indigo" data-md-color-media="(prefers-color-scheme: light)" data-md-color-primary="red" data-md-color-scheme="default" id="__palette_0" name="__palette" type="radio"/>
<label class="md-header__button md-icon" for="__palette_1" hidden="" title="Dunkelmodus verwenden">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"></path></svg>
</label>
<input aria-label="Hellen Modus verwenden" class="md-option" data-md-color-accent="" data-md-color-media="(prefers-color-scheme: dark)" data-md-color-primary="" data-md-color-scheme="slate" id="__palette_2" name="__palette" type="radio"/>
<label class="md-header__button md-icon" for="__palette_1" hidden="" title="Hellen Modus verwenden">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12c0-2.42-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12 20 8.69Z"></path></svg>
<input aria-label="Hellen Modus verwenden" class="md-option" data-md-color-accent="indigo" data-md-color-media="(prefers-color-scheme: dark)" data-md-color-primary="indigo" data-md-color-scheme="slate" id="__palette_1" name="__palette" type="radio"/>
<label class="md-header__button md-icon" for="__palette_0" hidden="" title="Hellen Modus verwenden">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"></path></svg>
</label>
</form>
<script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script>
<div class="md-header__option">
<div class="md-select">
<button aria-label="Sprache wechseln" class="md-header__button md-icon">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="m12.87 15.07-2.54-2.51.03-.03A17.52 17.52 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04M18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12m-2.62 7 1.62-4.33L19.12 17h-3.24Z"></path></svg>
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="m12.87 15.07-2.54-2.51.03-.03A17.5 17.5 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2zm-2.62 7 1.62-4.33L19.12 17z"></path></svg>
</button>
<div class="md-select__inner">
<ul class="md-select__list">
<li class="md-select__item">
<a class="md-select__link" href=".." hreflang="de">
Deutsch
</a>
<a class="md-select__link" href="../None" hreflang="de">
Deutsch
</a>
</li>
<li class="md-select__item">
<a class="md-select__link" href="https://transfer.hft-stuttgart.de/pages/citydoctor/citydoctorhomepage/en/" hreflang="en">
English
</a>
English
</a>
</li>
</ul>
</div>
</div>
</div>
<label class="md-header__button md-icon" for="__search">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"></path></svg>
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"></path></svg>
</label>
<div class="md-search" data-md-component="search" role="dialog">
<label class="md-search__overlay" for="__search"></label>
......@@ -95,17 +95,17 @@
<form class="md-search__form" name="search">
<input aria-label="Suche" autocapitalize="off" autocomplete="off" autocorrect="off" class="md-search__input" data-md-component="search-query" name="query" placeholder="Suche" required="" spellcheck="false" type="text"/>
<label class="md-search__icon md-icon" for="__search">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"></path></svg>
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"></path></svg>
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"></path></svg>
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"></path></svg>
</label>
<nav aria-label="Suche" class="md-search__options">
<button aria-label="Zurücksetzen" class="md-search__icon md-icon" tabindex="-1" title="Zurücksetzen" type="reset">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"></path></svg>
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"></path></svg>
</button>
</nav>
</form>
<div class="md-search__output">
<div class="md-search__scrollwrap" data-md-scrollfix="">
<div class="md-search__scrollwrap" data-md-scrollfix="" tabindex="0">
<div class="md-search-result" data-md-component="search-result">
<div class="md-search-result__meta">
Suche wird initialisiert
......@@ -119,7 +119,7 @@
<div class="md-header__source">
<a class="md-source" data-md-component="source" href="https://transfer.hft-stuttgart.de/gitlab/citydoctor/citydoctor2" title="Zum Repository">
<div class="md-source__icon md-icon">
<svg viewbox="0 0 448 512" xmlns="http://www.w3.org/2000/svg"><!--! Font Awesome Free 6.2.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2022 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"></path></svg>
<svg viewbox="0 0 448 512" xmlns="http://www.w3.org/2000/svg"><!--! Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81"></path></svg>
</div>
<div class="md-source__repository">
CityDoctor2
......@@ -137,14 +137,14 @@
<nav aria-label="Navigation" class="md-nav md-nav--primary" data-md-level="0">
<label class="md-nav__title" for="__drawer">
<a aria-label="CityDoctor2" class="md-nav__button md-logo" data-md-component="logo" href=".." title="CityDoctor2">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54Z"></path></svg>
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"></path></svg>
</a>
CityDoctor2
</label>
<div class="md-nav__source">
<a class="md-source" data-md-component="source" href="https://transfer.hft-stuttgart.de/gitlab/citydoctor/citydoctor2" title="Zum Repository">
<div class="md-source__icon md-icon">
<svg viewbox="0 0 448 512" xmlns="http://www.w3.org/2000/svg"><!--! Font Awesome Free 6.2.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2022 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"></path></svg>
<svg viewbox="0 0 448 512" xmlns="http://www.w3.org/2000/svg"><!--! Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81"></path></svg>
</div>
<div class="md-source__repository">
CityDoctor2
......@@ -153,196 +153,271 @@
</div>
<ul class="md-nav__list" data-md-scrollfix="">
<li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested">
<input checked="" class="md-nav__toggle md-toggle" data-md-toggle="__nav_1" id="__nav_1" type="checkbox"/>
<label aria-expanded="true" class="md-nav__link" for="__nav_1" tabindex="0">
CityDoctor2
<span class="md-nav__icon md-icon"></span>
<input checked="" class="md-nav__toggle md-toggle" id="__nav_1" type="checkbox"/>
<label class="md-nav__link" for="__nav_1" id="__nav_1_label" tabindex="">
<span class="md-ellipsis">
CityDoctor2
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav aria-label="CityDoctor2" class="md-nav" data-md-level="1">
<nav aria-expanded="true" aria-labelledby="__nav_1_label" class="md-nav" data-md-level="1">
<label class="md-nav__title" for="__nav_1">
<span class="md-nav__icon md-icon"></span>
CityDoctor2
</label>
CityDoctor2
</label>
<ul class="md-nav__list" data-md-scrollfix="">
<li class="md-nav__item">
<a class="md-nav__link" href="..">
Über CityDoctor2
</a>
<span class="md-ellipsis">
Über CityDoctor2
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../requiredSoftware/">
Installation
</a>
<span class="md-ellipsis">
Installation
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../firstRun/">
Erster Start
</a>
<span class="md-ellipsis">
Erster Start
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../userInterface/">
Nutzeroberfläche
</a>
<span class="md-ellipsis">
Nutzeroberfläche
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../zipFiles/">
<span class="md-ellipsis">
Zip Dateien
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../validationPlan/">
Prüfplan
</a>
<span class="md-ellipsis">
Prüfplan
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--active md-nav__item--nested">
<input checked="" class="md-nav__toggle md-toggle" data-md-toggle="__nav_1_6" id="__nav_1_6" type="checkbox"/>
<label aria-expanded="true" class="md-nav__link" for="__nav_1_6" tabindex="0">
Anforderungen
<span class="md-nav__icon md-icon"></span>
<input checked="" class="md-nav__toggle md-toggle" id="__nav_1_7" type="checkbox"/>
<label class="md-nav__link" for="__nav_1_7" id="__nav_1_7_label" tabindex="0">
<span class="md-ellipsis">
Anforderungen
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav aria-label="Anforderungen" class="md-nav" data-md-level="2">
<label class="md-nav__title" for="__nav_1_6">
<nav aria-expanded="true" aria-labelledby="__nav_1_7_label" class="md-nav" data-md-level="2">
<label class="md-nav__title" for="__nav_1_7">
<span class="md-nav__icon md-icon"></span>
Anforderungen
</label>
Anforderungen
</label>
<ul class="md-nav__list" data-md-scrollfix="">
<li class="md-nav__item">
<a class="md-nav__link" href="../basic/">
Grundbegriffe
</a>
<span class="md-ellipsis">
Grundbegriffe
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../requirements/">
Übersicht
</a>
<span class="md-ellipsis">
Übersicht
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../schemaRequirements/">
Schemaanforderungen
</a>
<span class="md-ellipsis">
Schemaanforderungen
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../geometric/">
Geometrische Anforderungen
</a>
<span class="md-ellipsis">
Geometrische Anforderungen
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../semantic/">
Semantische Anforderungen
</a>
<span class="md-ellipsis">
Semantische Anforderungen
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--active md-nav__item--nested">
<input checked="" class="md-nav__toggle md-toggle" data-md-toggle="__nav_1_6_6" id="__nav_1_6_6" type="checkbox"/>
<label aria-expanded="true" class="md-nav__link" for="__nav_1_6_6" tabindex="0">
Details
<span class="md-nav__icon md-icon"></span>
<input checked="" class="md-nav__toggle md-toggle" id="__nav_1_7_6" type="checkbox"/>
<label class="md-nav__link" for="__nav_1_7_6" id="__nav_1_7_6_label" tabindex="0">
<span class="md-ellipsis">
Details
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav aria-label="Details" class="md-nav" data-md-level="3">
<label class="md-nav__title" for="__nav_1_6_6">
<nav aria-expanded="true" aria-labelledby="__nav_1_7_6_label" class="md-nav" data-md-level="3">
<label class="md-nav__title" for="__nav_1_7_6">
<span class="md-nav__icon md-icon"></span>
Details
</label>
Details
</label>
<ul class="md-nav__list" data-md-scrollfix="">
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_R_TOO_FEW_POINTS/">
R_TOO_FEW_POINTS
</a>
<span class="md-ellipsis">
R_TOO_FEW_POINTS
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_R_CONSECUTIVE_POINTS_SAME/">
R_CONSECUTIVE_POINTS_SAME
</a>
<span class="md-ellipsis">
R_CONSECUTIVE_POINTS_SAME
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_R_NOT_CLOSED/">
R_RING_NOT_CLOSED
</a>
<span class="md-ellipsis">
R_RING_NOT_CLOSED
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_R_SELF_INTERSECTION/">
R_RING_SELF_INTERSECTION
</a>
<span class="md-ellipsis">
R_RING_SELF_INTERSECTION
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_R_COLLAPSED_TO_LINE/">
R_COLLAPSED_TO_LINE
</a>
<span class="md-ellipsis">
R_COLLAPSED_TO_LINE
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_P_INTERSECTING_RINGS/">
P_INTERSECTING_RINGS
</a>
<span class="md-ellipsis">
P_INTERSECTING_RINGS
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_P_NON_PLANAR/">
P_NON_PLANAR
</a>
<span class="md-ellipsis">
P_NON_PLANAR
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_P_INTERIOR_DISCONNECTED/">
P_INTERIOR_DISCONNECTED
</a>
<span class="md-ellipsis">
P_INTERIOR_DISCONNECTED
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_P_HOLE_OUTSIDE/">
P_HOLE_OUTSIDE
</a>
<span class="md-ellipsis">
P_HOLE_OUTSIDE
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_P_INNER_RINGS_NESTED/">
P_INNER_RINGS_NESTED
</a>
<span class="md-ellipsis">
P_INNER_RINGS_NESTED
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_P_ORIENTATION_RINGS_SAME/">
P_ORIENTATION_RINGS_SAME
</a>
<span class="md-ellipsis">
P_ORIENTATION_RINGS_SAME
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_MS/">
MULTI_SURFACE
</a>
<span class="md-ellipsis">
MULTI_SURFACE
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_S_TOO_FEW_POLYGONS/">
S_TOO_FEW_POLYGONS
</a>
<span class="md-ellipsis">
S_TOO_FEW_POLYGONS
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--active">
<input class="md-nav__toggle md-toggle" data-md-toggle="toc" id="__toc" type="checkbox"/>
<input class="md-nav__toggle md-toggle" id="__toc" type="checkbox"/>
<a class="md-nav__link md-nav__link--active" href="./">
S_NOT_CLOSED
</a>
<span class="md-ellipsis">
S_NOT_CLOSED
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_S_NON_MANIFOLD_VERTEX/">
S_NON_MANIFOLD_VERTEX
</a>
<span class="md-ellipsis">
S_NON_MANIFOLD_VERTEX
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_S_NON_MANIFOLD_EDGE/">
S_NON_MANIFOLD_EDGE
</a>
<span class="md-ellipsis">
S_NON_MANIFOLD_EDGE
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_S_MULTIPLE_CONNECTED_COMPONENTS/">
S_MULTIPLE_CONNECTED_COMPONENTS
</a>
<span class="md-ellipsis">
S_MULTIPLE_CONNECTED_COMPONENTS
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_S_SELF_INTERSECTION/">
S_SELF_INTERSECTION
</a>
<span class="md-ellipsis">
S_SELF_INTERSECTION
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_S_POLYGON_WRONG_ORIENTATION/">
S_POLYGON_WRONG_ORIENTATION
</a>
<span class="md-ellipsis">
S_POLYGON_WRONG_ORIENTATION
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_S_ALL_POLYGONS_WRONG_ORIENTATION/">
S_ALL_POLYGONS_WRONG_ORIENTATION
</a>
<span class="md-ellipsis">
S_ALL_POLYGONS_WRONG_ORIENTATION
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_SO/">
SOLID
</a>
<span class="md-ellipsis">
SOLID
</span>
</a>
</li>
</ul>
</nav>
......@@ -372,6 +447,7 @@
<p>siehe <a href="https://gitlab.com/volkercoors/agqual3d/-/wikis/Validierung/Anforderungen/GE_gml_SO_0002">https://gitlab.com/volkercoors/agqual3d/-/wikis/Validierung/Anforderungen/GE_gml_SO_0002</a></p>
</article>
</div>
<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script>
</div>
</main>
<footer class="md-footer">
......@@ -392,8 +468,8 @@
<div class="md-dialog" data-md-component="dialog">
<div class="md-dialog__inner md-typeset"></div>
</div>
<script id="__config" type="application/json">{"base": "..", "features": ["content.code.annotate", "navigation.sections"], "search": "../assets/javascripts/workers/search.e5c33ebb.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version": "Version ausw\u00e4hlen"}}</script>
<script src="../assets/javascripts/bundle.51d95adb.min.js"></script>
<script id="__config" type="application/json">{"base": "..", "features": ["content.code.annotate", "navigation.sections"], "search": "../assets/javascripts/workers/search.07f07601.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version": "Version ausw\u00e4hlen"}}</script>
<script src="../assets/javascripts/bundle.56dfad97.min.js"></script>
<script src="https://unpkg.com/mermaid/dist/mermaid.min.js"></script>
</body>
</html>
\ No newline at end of file
......@@ -9,18 +9,17 @@
<link href="../R_GE_S_SELF_INTERSECTION/" rel="prev"/>
<link href="../R_GE_S_ALL_POLYGONS_WRONG_ORIENTATION/" rel="next"/>
<link href="../img/citydoctor_logo.png" rel="icon"/>
<meta content="mkdocs-1.4.2, mkdocs-material-9.0.6" name="generator"/>
<meta content="mkdocs-1.6.1, mkdocs-material-9.5.34" name="generator"/>
<title>S_POLYGON_WRONG_ORIENTATION - CityDoctor2</title>
<link href="../assets/stylesheets/main.558e4712.min.css" rel="stylesheet"/>
<link href="../assets/stylesheets/palette.2505c338.min.css" rel="stylesheet"/>
<link href="../assets/stylesheets/main.35f28582.min.css" rel="stylesheet"/>
<link href="../assets/stylesheets/palette.06af60db.min.css" rel="stylesheet"/>
<link crossorigin="" href="https://fonts.gstatic.com" rel="preconnect"/>
<link href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&amp;display=fallback" rel="stylesheet"/>
<style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style>
<link href="https://unpkg.com/mermaid/dist/mermaid.css" rel="stylesheet"/>
<script>__md_scope=new URL("..",location),__md_hash=e=>[...e].reduce((e,_)=>(e<<5)-e+_.charCodeAt(0),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
<script>__md_scope=new URL("..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
</head>
<body data-md-color-accent="" data-md-color-primary="red" data-md-color-scheme="default" dir="ltr">
<script>var palette=__md_get("__palette");if(palette&&"object"==typeof palette.color)for(var key of Object.keys(palette.color))document.body.setAttribute("data-md-color-"+key,palette.color[key])</script>
<body data-md-color-accent="indigo" data-md-color-primary="red" data-md-color-scheme="default" dir="ltr">
<input autocomplete="off" class="md-toggle" data-md-toggle="drawer" id="__drawer" type="checkbox"/>
<input autocomplete="off" class="md-toggle" data-md-toggle="search" id="__search" type="checkbox"/>
<label class="md-overlay" for="__drawer"></label>
......@@ -31,13 +30,13 @@
</div>
<div data-md-component="announce">
</div>
<header class="md-header" data-md-component="header">
<header class="md-header md-header--shadow" data-md-component="header">
<nav aria-label="Kopfzeile" class="md-header__inner md-grid">
<a aria-label="CityDoctor2" class="md-header__button md-logo" data-md-component="logo" href=".." title="CityDoctor2">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54Z"></path></svg>
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"></path></svg>
</a>
<label class="md-header__button md-icon" for="__drawer">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2Z"></path></svg>
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"></path></svg>
</label>
<div class="md-header__title" data-md-component="header-title">
<div class="md-header__ellipsis">
......@@ -56,38 +55,39 @@
</div>
</div>
<form class="md-header__option" data-md-component="palette">
<input aria-label="Dunkelmodus verwenden" class="md-option" data-md-color-accent="" data-md-color-media="(prefers-color-scheme: light)" data-md-color-primary="red" data-md-color-scheme="default" id="__palette_1" name="__palette" type="radio"/>
<label class="md-header__button md-icon" for="__palette_2" hidden="" title="Dunkelmodus verwenden">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12 20 8.69Z"></path></svg>
<input aria-label="Dunkelmodus verwenden" class="md-option" data-md-color-accent="indigo" data-md-color-media="(prefers-color-scheme: light)" data-md-color-primary="red" data-md-color-scheme="default" id="__palette_0" name="__palette" type="radio"/>
<label class="md-header__button md-icon" for="__palette_1" hidden="" title="Dunkelmodus verwenden">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"></path></svg>
</label>
<input aria-label="Hellen Modus verwenden" class="md-option" data-md-color-accent="" data-md-color-media="(prefers-color-scheme: dark)" data-md-color-primary="" data-md-color-scheme="slate" id="__palette_2" name="__palette" type="radio"/>
<label class="md-header__button md-icon" for="__palette_1" hidden="" title="Hellen Modus verwenden">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12c0-2.42-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12 20 8.69Z"></path></svg>
<input aria-label="Hellen Modus verwenden" class="md-option" data-md-color-accent="indigo" data-md-color-media="(prefers-color-scheme: dark)" data-md-color-primary="indigo" data-md-color-scheme="slate" id="__palette_1" name="__palette" type="radio"/>
<label class="md-header__button md-icon" for="__palette_0" hidden="" title="Hellen Modus verwenden">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"></path></svg>
</label>
</form>
<script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script>
<div class="md-header__option">
<div class="md-select">
<button aria-label="Sprache wechseln" class="md-header__button md-icon">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="m12.87 15.07-2.54-2.51.03-.03A17.52 17.52 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04M18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12m-2.62 7 1.62-4.33L19.12 17h-3.24Z"></path></svg>
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="m12.87 15.07-2.54-2.51.03-.03A17.5 17.5 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2zm-2.62 7 1.62-4.33L19.12 17z"></path></svg>
</button>
<div class="md-select__inner">
<ul class="md-select__list">
<li class="md-select__item">
<a class="md-select__link" href=".." hreflang="de">
Deutsch
</a>
<a class="md-select__link" href="../None" hreflang="de">
Deutsch
</a>
</li>
<li class="md-select__item">
<a class="md-select__link" href="https://transfer.hft-stuttgart.de/pages/citydoctor/citydoctorhomepage/en/" hreflang="en">
English
</a>
English
</a>
</li>
</ul>
</div>
</div>
</div>
<label class="md-header__button md-icon" for="__search">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"></path></svg>
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"></path></svg>
</label>
<div class="md-search" data-md-component="search" role="dialog">
<label class="md-search__overlay" for="__search"></label>
......@@ -95,17 +95,17 @@
<form class="md-search__form" name="search">
<input aria-label="Suche" autocapitalize="off" autocomplete="off" autocorrect="off" class="md-search__input" data-md-component="search-query" name="query" placeholder="Suche" required="" spellcheck="false" type="text"/>
<label class="md-search__icon md-icon" for="__search">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"></path></svg>
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"></path></svg>
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"></path></svg>
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"></path></svg>
</label>
<nav aria-label="Suche" class="md-search__options">
<button aria-label="Zurücksetzen" class="md-search__icon md-icon" tabindex="-1" title="Zurücksetzen" type="reset">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"></path></svg>
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"></path></svg>
</button>
</nav>
</form>
<div class="md-search__output">
<div class="md-search__scrollwrap" data-md-scrollfix="">
<div class="md-search__scrollwrap" data-md-scrollfix="" tabindex="0">
<div class="md-search-result" data-md-component="search-result">
<div class="md-search-result__meta">
Suche wird initialisiert
......@@ -119,7 +119,7 @@
<div class="md-header__source">
<a class="md-source" data-md-component="source" href="https://transfer.hft-stuttgart.de/gitlab/citydoctor/citydoctor2" title="Zum Repository">
<div class="md-source__icon md-icon">
<svg viewbox="0 0 448 512" xmlns="http://www.w3.org/2000/svg"><!--! Font Awesome Free 6.2.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2022 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"></path></svg>
<svg viewbox="0 0 448 512" xmlns="http://www.w3.org/2000/svg"><!--! Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81"></path></svg>
</div>
<div class="md-source__repository">
CityDoctor2
......@@ -137,14 +137,14 @@
<nav aria-label="Navigation" class="md-nav md-nav--primary" data-md-level="0">
<label class="md-nav__title" for="__drawer">
<a aria-label="CityDoctor2" class="md-nav__button md-logo" data-md-component="logo" href=".." title="CityDoctor2">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54Z"></path></svg>
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"></path></svg>
</a>
CityDoctor2
</label>
<div class="md-nav__source">
<a class="md-source" data-md-component="source" href="https://transfer.hft-stuttgart.de/gitlab/citydoctor/citydoctor2" title="Zum Repository">
<div class="md-source__icon md-icon">
<svg viewbox="0 0 448 512" xmlns="http://www.w3.org/2000/svg"><!--! Font Awesome Free 6.2.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2022 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"></path></svg>
<svg viewbox="0 0 448 512" xmlns="http://www.w3.org/2000/svg"><!--! Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81"></path></svg>
</div>
<div class="md-source__repository">
CityDoctor2
......@@ -153,196 +153,271 @@
</div>
<ul class="md-nav__list" data-md-scrollfix="">
<li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested">
<input checked="" class="md-nav__toggle md-toggle" data-md-toggle="__nav_1" id="__nav_1" type="checkbox"/>
<label aria-expanded="true" class="md-nav__link" for="__nav_1" tabindex="0">
CityDoctor2
<span class="md-nav__icon md-icon"></span>
<input checked="" class="md-nav__toggle md-toggle" id="__nav_1" type="checkbox"/>
<label class="md-nav__link" for="__nav_1" id="__nav_1_label" tabindex="">
<span class="md-ellipsis">
CityDoctor2
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav aria-label="CityDoctor2" class="md-nav" data-md-level="1">
<nav aria-expanded="true" aria-labelledby="__nav_1_label" class="md-nav" data-md-level="1">
<label class="md-nav__title" for="__nav_1">
<span class="md-nav__icon md-icon"></span>
CityDoctor2
</label>
CityDoctor2
</label>
<ul class="md-nav__list" data-md-scrollfix="">
<li class="md-nav__item">
<a class="md-nav__link" href="..">
Über CityDoctor2
</a>
<span class="md-ellipsis">
Über CityDoctor2
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../requiredSoftware/">
Installation
</a>
<span class="md-ellipsis">
Installation
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../firstRun/">
Erster Start
</a>
<span class="md-ellipsis">
Erster Start
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../userInterface/">
Nutzeroberfläche
</a>
<span class="md-ellipsis">
Nutzeroberfläche
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../zipFiles/">
<span class="md-ellipsis">
Zip Dateien
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../validationPlan/">
Prüfplan
</a>
<span class="md-ellipsis">
Prüfplan
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--active md-nav__item--nested">
<input checked="" class="md-nav__toggle md-toggle" data-md-toggle="__nav_1_6" id="__nav_1_6" type="checkbox"/>
<label aria-expanded="true" class="md-nav__link" for="__nav_1_6" tabindex="0">
Anforderungen
<span class="md-nav__icon md-icon"></span>
<input checked="" class="md-nav__toggle md-toggle" id="__nav_1_7" type="checkbox"/>
<label class="md-nav__link" for="__nav_1_7" id="__nav_1_7_label" tabindex="0">
<span class="md-ellipsis">
Anforderungen
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav aria-label="Anforderungen" class="md-nav" data-md-level="2">
<label class="md-nav__title" for="__nav_1_6">
<nav aria-expanded="true" aria-labelledby="__nav_1_7_label" class="md-nav" data-md-level="2">
<label class="md-nav__title" for="__nav_1_7">
<span class="md-nav__icon md-icon"></span>
Anforderungen
</label>
Anforderungen
</label>
<ul class="md-nav__list" data-md-scrollfix="">
<li class="md-nav__item">
<a class="md-nav__link" href="../basic/">
Grundbegriffe
</a>
<span class="md-ellipsis">
Grundbegriffe
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../requirements/">
Übersicht
</a>
<span class="md-ellipsis">
Übersicht
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../schemaRequirements/">
Schemaanforderungen
</a>
<span class="md-ellipsis">
Schemaanforderungen
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../geometric/">
Geometrische Anforderungen
</a>
<span class="md-ellipsis">
Geometrische Anforderungen
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../semantic/">
Semantische Anforderungen
</a>
<span class="md-ellipsis">
Semantische Anforderungen
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--active md-nav__item--nested">
<input checked="" class="md-nav__toggle md-toggle" data-md-toggle="__nav_1_6_6" id="__nav_1_6_6" type="checkbox"/>
<label aria-expanded="true" class="md-nav__link" for="__nav_1_6_6" tabindex="0">
Details
<span class="md-nav__icon md-icon"></span>
<input checked="" class="md-nav__toggle md-toggle" id="__nav_1_7_6" type="checkbox"/>
<label class="md-nav__link" for="__nav_1_7_6" id="__nav_1_7_6_label" tabindex="0">
<span class="md-ellipsis">
Details
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav aria-label="Details" class="md-nav" data-md-level="3">
<label class="md-nav__title" for="__nav_1_6_6">
<nav aria-expanded="true" aria-labelledby="__nav_1_7_6_label" class="md-nav" data-md-level="3">
<label class="md-nav__title" for="__nav_1_7_6">
<span class="md-nav__icon md-icon"></span>
Details
</label>
Details
</label>
<ul class="md-nav__list" data-md-scrollfix="">
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_R_TOO_FEW_POINTS/">
R_TOO_FEW_POINTS
</a>
<span class="md-ellipsis">
R_TOO_FEW_POINTS
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_R_CONSECUTIVE_POINTS_SAME/">
R_CONSECUTIVE_POINTS_SAME
</a>
<span class="md-ellipsis">
R_CONSECUTIVE_POINTS_SAME
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_R_NOT_CLOSED/">
R_RING_NOT_CLOSED
</a>
<span class="md-ellipsis">
R_RING_NOT_CLOSED
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_R_SELF_INTERSECTION/">
R_RING_SELF_INTERSECTION
</a>
<span class="md-ellipsis">
R_RING_SELF_INTERSECTION
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_R_COLLAPSED_TO_LINE/">
R_COLLAPSED_TO_LINE
</a>
<span class="md-ellipsis">
R_COLLAPSED_TO_LINE
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_P_INTERSECTING_RINGS/">
P_INTERSECTING_RINGS
</a>
<span class="md-ellipsis">
P_INTERSECTING_RINGS
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_P_NON_PLANAR/">
P_NON_PLANAR
</a>
<span class="md-ellipsis">
P_NON_PLANAR
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_P_INTERIOR_DISCONNECTED/">
P_INTERIOR_DISCONNECTED
</a>
<span class="md-ellipsis">
P_INTERIOR_DISCONNECTED
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_P_HOLE_OUTSIDE/">
P_HOLE_OUTSIDE
</a>
<span class="md-ellipsis">
P_HOLE_OUTSIDE
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_P_INNER_RINGS_NESTED/">
P_INNER_RINGS_NESTED
</a>
<span class="md-ellipsis">
P_INNER_RINGS_NESTED
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_P_ORIENTATION_RINGS_SAME/">
P_ORIENTATION_RINGS_SAME
</a>
<span class="md-ellipsis">
P_ORIENTATION_RINGS_SAME
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_MS/">
MULTI_SURFACE
</a>
<span class="md-ellipsis">
MULTI_SURFACE
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_S_TOO_FEW_POLYGONS/">
S_TOO_FEW_POLYGONS
</a>
<span class="md-ellipsis">
S_TOO_FEW_POLYGONS
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_S_NOT_CLOSED/">
S_NOT_CLOSED
</a>
<span class="md-ellipsis">
S_NOT_CLOSED
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_S_NON_MANIFOLD_VERTEX/">
S_NON_MANIFOLD_VERTEX
</a>
<span class="md-ellipsis">
S_NON_MANIFOLD_VERTEX
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_S_NON_MANIFOLD_EDGE/">
S_NON_MANIFOLD_EDGE
</a>
<span class="md-ellipsis">
S_NON_MANIFOLD_EDGE
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_S_MULTIPLE_CONNECTED_COMPONENTS/">
S_MULTIPLE_CONNECTED_COMPONENTS
</a>
<span class="md-ellipsis">
S_MULTIPLE_CONNECTED_COMPONENTS
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_S_SELF_INTERSECTION/">
S_SELF_INTERSECTION
</a>
<span class="md-ellipsis">
S_SELF_INTERSECTION
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--active">
<input class="md-nav__toggle md-toggle" data-md-toggle="toc" id="__toc" type="checkbox"/>
<input class="md-nav__toggle md-toggle" id="__toc" type="checkbox"/>
<a class="md-nav__link md-nav__link--active" href="./">
S_POLYGON_WRONG_ORIENTATION
</a>
<span class="md-ellipsis">
S_POLYGON_WRONG_ORIENTATION
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_S_ALL_POLYGONS_WRONG_ORIENTATION/">
S_ALL_POLYGONS_WRONG_ORIENTATION
</a>
<span class="md-ellipsis">
S_ALL_POLYGONS_WRONG_ORIENTATION
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_SO/">
SOLID
</a>
<span class="md-ellipsis">
SOLID
</span>
</a>
</li>
</ul>
</nav>
......@@ -372,6 +447,7 @@
<p>siehe <a href="https://gitlab.com/volkercoors/agqual3d/-/wikis/Validierung/Anforderungen/GE_gml_SO_0007">https://gitlab.com/volkercoors/agqual3d/-/wikis/Validierung/Anforderungen/GE_gml_SO_0007</a></p>
</article>
</div>
<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script>
</div>
</main>
<footer class="md-footer">
......@@ -392,8 +468,8 @@
<div class="md-dialog" data-md-component="dialog">
<div class="md-dialog__inner md-typeset"></div>
</div>
<script id="__config" type="application/json">{"base": "..", "features": ["content.code.annotate", "navigation.sections"], "search": "../assets/javascripts/workers/search.e5c33ebb.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version": "Version ausw\u00e4hlen"}}</script>
<script src="../assets/javascripts/bundle.51d95adb.min.js"></script>
<script id="__config" type="application/json">{"base": "..", "features": ["content.code.annotate", "navigation.sections"], "search": "../assets/javascripts/workers/search.07f07601.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version": "Version ausw\u00e4hlen"}}</script>
<script src="../assets/javascripts/bundle.56dfad97.min.js"></script>
<script src="https://unpkg.com/mermaid/dist/mermaid.min.js"></script>
</body>
</html>
\ No newline at end of file
......@@ -9,18 +9,17 @@
<link href="../R_GE_S_MULTIPLE_CONNECTED_COMPONENTS/" rel="prev"/>
<link href="../R_GE_S_POLYGON_WRONG_ORIENTATION/" rel="next"/>
<link href="../img/citydoctor_logo.png" rel="icon"/>
<meta content="mkdocs-1.4.2, mkdocs-material-9.0.6" name="generator"/>
<meta content="mkdocs-1.6.1, mkdocs-material-9.5.34" name="generator"/>
<title>S_SELF_INTERSECTION - CityDoctor2</title>
<link href="../assets/stylesheets/main.558e4712.min.css" rel="stylesheet"/>
<link href="../assets/stylesheets/palette.2505c338.min.css" rel="stylesheet"/>
<link href="../assets/stylesheets/main.35f28582.min.css" rel="stylesheet"/>
<link href="../assets/stylesheets/palette.06af60db.min.css" rel="stylesheet"/>
<link crossorigin="" href="https://fonts.gstatic.com" rel="preconnect"/>
<link href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&amp;display=fallback" rel="stylesheet"/>
<style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style>
<link href="https://unpkg.com/mermaid/dist/mermaid.css" rel="stylesheet"/>
<script>__md_scope=new URL("..",location),__md_hash=e=>[...e].reduce((e,_)=>(e<<5)-e+_.charCodeAt(0),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
<script>__md_scope=new URL("..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
</head>
<body data-md-color-accent="" data-md-color-primary="red" data-md-color-scheme="default" dir="ltr">
<script>var palette=__md_get("__palette");if(palette&&"object"==typeof palette.color)for(var key of Object.keys(palette.color))document.body.setAttribute("data-md-color-"+key,palette.color[key])</script>
<body data-md-color-accent="indigo" data-md-color-primary="red" data-md-color-scheme="default" dir="ltr">
<input autocomplete="off" class="md-toggle" data-md-toggle="drawer" id="__drawer" type="checkbox"/>
<input autocomplete="off" class="md-toggle" data-md-toggle="search" id="__search" type="checkbox"/>
<label class="md-overlay" for="__drawer"></label>
......@@ -31,13 +30,13 @@
</div>
<div data-md-component="announce">
</div>
<header class="md-header" data-md-component="header">
<header class="md-header md-header--shadow" data-md-component="header">
<nav aria-label="Kopfzeile" class="md-header__inner md-grid">
<a aria-label="CityDoctor2" class="md-header__button md-logo" data-md-component="logo" href=".." title="CityDoctor2">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54Z"></path></svg>
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"></path></svg>
</a>
<label class="md-header__button md-icon" for="__drawer">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2Z"></path></svg>
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"></path></svg>
</label>
<div class="md-header__title" data-md-component="header-title">
<div class="md-header__ellipsis">
......@@ -56,38 +55,39 @@
</div>
</div>
<form class="md-header__option" data-md-component="palette">
<input aria-label="Dunkelmodus verwenden" class="md-option" data-md-color-accent="" data-md-color-media="(prefers-color-scheme: light)" data-md-color-primary="red" data-md-color-scheme="default" id="__palette_1" name="__palette" type="radio"/>
<label class="md-header__button md-icon" for="__palette_2" hidden="" title="Dunkelmodus verwenden">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12 20 8.69Z"></path></svg>
<input aria-label="Dunkelmodus verwenden" class="md-option" data-md-color-accent="indigo" data-md-color-media="(prefers-color-scheme: light)" data-md-color-primary="red" data-md-color-scheme="default" id="__palette_0" name="__palette" type="radio"/>
<label class="md-header__button md-icon" for="__palette_1" hidden="" title="Dunkelmodus verwenden">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"></path></svg>
</label>
<input aria-label="Hellen Modus verwenden" class="md-option" data-md-color-accent="" data-md-color-media="(prefers-color-scheme: dark)" data-md-color-primary="" data-md-color-scheme="slate" id="__palette_2" name="__palette" type="radio"/>
<label class="md-header__button md-icon" for="__palette_1" hidden="" title="Hellen Modus verwenden">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12c0-2.42-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12 20 8.69Z"></path></svg>
<input aria-label="Hellen Modus verwenden" class="md-option" data-md-color-accent="indigo" data-md-color-media="(prefers-color-scheme: dark)" data-md-color-primary="indigo" data-md-color-scheme="slate" id="__palette_1" name="__palette" type="radio"/>
<label class="md-header__button md-icon" for="__palette_0" hidden="" title="Hellen Modus verwenden">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"></path></svg>
</label>
</form>
<script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script>
<div class="md-header__option">
<div class="md-select">
<button aria-label="Sprache wechseln" class="md-header__button md-icon">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="m12.87 15.07-2.54-2.51.03-.03A17.52 17.52 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04M18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12m-2.62 7 1.62-4.33L19.12 17h-3.24Z"></path></svg>
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="m12.87 15.07-2.54-2.51.03-.03A17.5 17.5 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2zm-2.62 7 1.62-4.33L19.12 17z"></path></svg>
</button>
<div class="md-select__inner">
<ul class="md-select__list">
<li class="md-select__item">
<a class="md-select__link" href=".." hreflang="de">
Deutsch
</a>
<a class="md-select__link" href="../None" hreflang="de">
Deutsch
</a>
</li>
<li class="md-select__item">
<a class="md-select__link" href="https://transfer.hft-stuttgart.de/pages/citydoctor/citydoctorhomepage/en/" hreflang="en">
English
</a>
English
</a>
</li>
</ul>
</div>
</div>
</div>
<label class="md-header__button md-icon" for="__search">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"></path></svg>
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"></path></svg>
</label>
<div class="md-search" data-md-component="search" role="dialog">
<label class="md-search__overlay" for="__search"></label>
......@@ -95,17 +95,17 @@
<form class="md-search__form" name="search">
<input aria-label="Suche" autocapitalize="off" autocomplete="off" autocorrect="off" class="md-search__input" data-md-component="search-query" name="query" placeholder="Suche" required="" spellcheck="false" type="text"/>
<label class="md-search__icon md-icon" for="__search">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"></path></svg>
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"></path></svg>
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"></path></svg>
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"></path></svg>
</label>
<nav aria-label="Suche" class="md-search__options">
<button aria-label="Zurücksetzen" class="md-search__icon md-icon" tabindex="-1" title="Zurücksetzen" type="reset">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"></path></svg>
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"></path></svg>
</button>
</nav>
</form>
<div class="md-search__output">
<div class="md-search__scrollwrap" data-md-scrollfix="">
<div class="md-search__scrollwrap" data-md-scrollfix="" tabindex="0">
<div class="md-search-result" data-md-component="search-result">
<div class="md-search-result__meta">
Suche wird initialisiert
......@@ -119,7 +119,7 @@
<div class="md-header__source">
<a class="md-source" data-md-component="source" href="https://transfer.hft-stuttgart.de/gitlab/citydoctor/citydoctor2" title="Zum Repository">
<div class="md-source__icon md-icon">
<svg viewbox="0 0 448 512" xmlns="http://www.w3.org/2000/svg"><!--! Font Awesome Free 6.2.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2022 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"></path></svg>
<svg viewbox="0 0 448 512" xmlns="http://www.w3.org/2000/svg"><!--! Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81"></path></svg>
</div>
<div class="md-source__repository">
CityDoctor2
......@@ -137,14 +137,14 @@
<nav aria-label="Navigation" class="md-nav md-nav--primary" data-md-level="0">
<label class="md-nav__title" for="__drawer">
<a aria-label="CityDoctor2" class="md-nav__button md-logo" data-md-component="logo" href=".." title="CityDoctor2">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54Z"></path></svg>
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"></path></svg>
</a>
CityDoctor2
</label>
<div class="md-nav__source">
<a class="md-source" data-md-component="source" href="https://transfer.hft-stuttgart.de/gitlab/citydoctor/citydoctor2" title="Zum Repository">
<div class="md-source__icon md-icon">
<svg viewbox="0 0 448 512" xmlns="http://www.w3.org/2000/svg"><!--! Font Awesome Free 6.2.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2022 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"></path></svg>
<svg viewbox="0 0 448 512" xmlns="http://www.w3.org/2000/svg"><!--! Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81"></path></svg>
</div>
<div class="md-source__repository">
CityDoctor2
......@@ -153,196 +153,271 @@
</div>
<ul class="md-nav__list" data-md-scrollfix="">
<li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested">
<input checked="" class="md-nav__toggle md-toggle" data-md-toggle="__nav_1" id="__nav_1" type="checkbox"/>
<label aria-expanded="true" class="md-nav__link" for="__nav_1" tabindex="0">
CityDoctor2
<span class="md-nav__icon md-icon"></span>
<input checked="" class="md-nav__toggle md-toggle" id="__nav_1" type="checkbox"/>
<label class="md-nav__link" for="__nav_1" id="__nav_1_label" tabindex="">
<span class="md-ellipsis">
CityDoctor2
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav aria-label="CityDoctor2" class="md-nav" data-md-level="1">
<nav aria-expanded="true" aria-labelledby="__nav_1_label" class="md-nav" data-md-level="1">
<label class="md-nav__title" for="__nav_1">
<span class="md-nav__icon md-icon"></span>
CityDoctor2
</label>
CityDoctor2
</label>
<ul class="md-nav__list" data-md-scrollfix="">
<li class="md-nav__item">
<a class="md-nav__link" href="..">
Über CityDoctor2
</a>
<span class="md-ellipsis">
Über CityDoctor2
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../requiredSoftware/">
Installation
</a>
<span class="md-ellipsis">
Installation
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../firstRun/">
Erster Start
</a>
<span class="md-ellipsis">
Erster Start
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../userInterface/">
Nutzeroberfläche
</a>
<span class="md-ellipsis">
Nutzeroberfläche
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../zipFiles/">
<span class="md-ellipsis">
Zip Dateien
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../validationPlan/">
Prüfplan
</a>
<span class="md-ellipsis">
Prüfplan
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--active md-nav__item--nested">
<input checked="" class="md-nav__toggle md-toggle" data-md-toggle="__nav_1_6" id="__nav_1_6" type="checkbox"/>
<label aria-expanded="true" class="md-nav__link" for="__nav_1_6" tabindex="0">
Anforderungen
<span class="md-nav__icon md-icon"></span>
<input checked="" class="md-nav__toggle md-toggle" id="__nav_1_7" type="checkbox"/>
<label class="md-nav__link" for="__nav_1_7" id="__nav_1_7_label" tabindex="0">
<span class="md-ellipsis">
Anforderungen
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav aria-label="Anforderungen" class="md-nav" data-md-level="2">
<label class="md-nav__title" for="__nav_1_6">
<nav aria-expanded="true" aria-labelledby="__nav_1_7_label" class="md-nav" data-md-level="2">
<label class="md-nav__title" for="__nav_1_7">
<span class="md-nav__icon md-icon"></span>
Anforderungen
</label>
Anforderungen
</label>
<ul class="md-nav__list" data-md-scrollfix="">
<li class="md-nav__item">
<a class="md-nav__link" href="../basic/">
Grundbegriffe
</a>
<span class="md-ellipsis">
Grundbegriffe
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../requirements/">
Übersicht
</a>
<span class="md-ellipsis">
Übersicht
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../schemaRequirements/">
Schemaanforderungen
</a>
<span class="md-ellipsis">
Schemaanforderungen
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../geometric/">
Geometrische Anforderungen
</a>
<span class="md-ellipsis">
Geometrische Anforderungen
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../semantic/">
Semantische Anforderungen
</a>
<span class="md-ellipsis">
Semantische Anforderungen
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--active md-nav__item--nested">
<input checked="" class="md-nav__toggle md-toggle" data-md-toggle="__nav_1_6_6" id="__nav_1_6_6" type="checkbox"/>
<label aria-expanded="true" class="md-nav__link" for="__nav_1_6_6" tabindex="0">
Details
<span class="md-nav__icon md-icon"></span>
<input checked="" class="md-nav__toggle md-toggle" id="__nav_1_7_6" type="checkbox"/>
<label class="md-nav__link" for="__nav_1_7_6" id="__nav_1_7_6_label" tabindex="0">
<span class="md-ellipsis">
Details
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav aria-label="Details" class="md-nav" data-md-level="3">
<label class="md-nav__title" for="__nav_1_6_6">
<nav aria-expanded="true" aria-labelledby="__nav_1_7_6_label" class="md-nav" data-md-level="3">
<label class="md-nav__title" for="__nav_1_7_6">
<span class="md-nav__icon md-icon"></span>
Details
</label>
Details
</label>
<ul class="md-nav__list" data-md-scrollfix="">
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_R_TOO_FEW_POINTS/">
R_TOO_FEW_POINTS
</a>
<span class="md-ellipsis">
R_TOO_FEW_POINTS
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_R_CONSECUTIVE_POINTS_SAME/">
R_CONSECUTIVE_POINTS_SAME
</a>
<span class="md-ellipsis">
R_CONSECUTIVE_POINTS_SAME
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_R_NOT_CLOSED/">
R_RING_NOT_CLOSED
</a>
<span class="md-ellipsis">
R_RING_NOT_CLOSED
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_R_SELF_INTERSECTION/">
R_RING_SELF_INTERSECTION
</a>
<span class="md-ellipsis">
R_RING_SELF_INTERSECTION
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_R_COLLAPSED_TO_LINE/">
R_COLLAPSED_TO_LINE
</a>
<span class="md-ellipsis">
R_COLLAPSED_TO_LINE
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_P_INTERSECTING_RINGS/">
P_INTERSECTING_RINGS
</a>
<span class="md-ellipsis">
P_INTERSECTING_RINGS
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_P_NON_PLANAR/">
P_NON_PLANAR
</a>
<span class="md-ellipsis">
P_NON_PLANAR
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_P_INTERIOR_DISCONNECTED/">
P_INTERIOR_DISCONNECTED
</a>
<span class="md-ellipsis">
P_INTERIOR_DISCONNECTED
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_P_HOLE_OUTSIDE/">
P_HOLE_OUTSIDE
</a>
<span class="md-ellipsis">
P_HOLE_OUTSIDE
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_P_INNER_RINGS_NESTED/">
P_INNER_RINGS_NESTED
</a>
<span class="md-ellipsis">
P_INNER_RINGS_NESTED
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_P_ORIENTATION_RINGS_SAME/">
P_ORIENTATION_RINGS_SAME
</a>
<span class="md-ellipsis">
P_ORIENTATION_RINGS_SAME
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_MS/">
MULTI_SURFACE
</a>
<span class="md-ellipsis">
MULTI_SURFACE
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_S_TOO_FEW_POLYGONS/">
S_TOO_FEW_POLYGONS
</a>
<span class="md-ellipsis">
S_TOO_FEW_POLYGONS
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_S_NOT_CLOSED/">
S_NOT_CLOSED
</a>
<span class="md-ellipsis">
S_NOT_CLOSED
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_S_NON_MANIFOLD_VERTEX/">
S_NON_MANIFOLD_VERTEX
</a>
<span class="md-ellipsis">
S_NON_MANIFOLD_VERTEX
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_S_NON_MANIFOLD_EDGE/">
S_NON_MANIFOLD_EDGE
</a>
<span class="md-ellipsis">
S_NON_MANIFOLD_EDGE
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_S_MULTIPLE_CONNECTED_COMPONENTS/">
S_MULTIPLE_CONNECTED_COMPONENTS
</a>
<span class="md-ellipsis">
S_MULTIPLE_CONNECTED_COMPONENTS
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--active">
<input class="md-nav__toggle md-toggle" data-md-toggle="toc" id="__toc" type="checkbox"/>
<input class="md-nav__toggle md-toggle" id="__toc" type="checkbox"/>
<a class="md-nav__link md-nav__link--active" href="./">
S_SELF_INTERSECTION
</a>
<span class="md-ellipsis">
S_SELF_INTERSECTION
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_S_POLYGON_WRONG_ORIENTATION/">
S_POLYGON_WRONG_ORIENTATION
</a>
<span class="md-ellipsis">
S_POLYGON_WRONG_ORIENTATION
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_S_ALL_POLYGONS_WRONG_ORIENTATION/">
S_ALL_POLYGONS_WRONG_ORIENTATION
</a>
<span class="md-ellipsis">
S_ALL_POLYGONS_WRONG_ORIENTATION
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_SO/">
SOLID
</a>
<span class="md-ellipsis">
SOLID
</span>
</a>
</li>
</ul>
</nav>
......@@ -372,6 +447,7 @@
<p>siehe <a href="https://gitlab.com/volkercoors/agqual3d/-/wikis/Validierung/Anforderungen/GE_gml_SO_0006">https://gitlab.com/volkercoors/agqual3d/-/wikis/Validierung/Anforderungen/GE_gml_SO_0006</a></p>
</article>
</div>
<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script>
</div>
</main>
<footer class="md-footer">
......@@ -392,8 +468,8 @@
<div class="md-dialog" data-md-component="dialog">
<div class="md-dialog__inner md-typeset"></div>
</div>
<script id="__config" type="application/json">{"base": "..", "features": ["content.code.annotate", "navigation.sections"], "search": "../assets/javascripts/workers/search.e5c33ebb.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version": "Version ausw\u00e4hlen"}}</script>
<script src="../assets/javascripts/bundle.51d95adb.min.js"></script>
<script id="__config" type="application/json">{"base": "..", "features": ["content.code.annotate", "navigation.sections"], "search": "../assets/javascripts/workers/search.07f07601.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version": "Version ausw\u00e4hlen"}}</script>
<script src="../assets/javascripts/bundle.56dfad97.min.js"></script>
<script src="https://unpkg.com/mermaid/dist/mermaid.min.js"></script>
</body>
</html>
\ No newline at end of file
......@@ -9,18 +9,17 @@
<link href="../R_GE_MS/" rel="prev"/>
<link href="../R_GE_S_NOT_CLOSED/" rel="next"/>
<link href="../img/citydoctor_logo.png" rel="icon"/>
<meta content="mkdocs-1.4.2, mkdocs-material-9.0.6" name="generator"/>
<meta content="mkdocs-1.6.1, mkdocs-material-9.5.34" name="generator"/>
<title>S_TOO_FEW_POLYGONS - CityDoctor2</title>
<link href="../assets/stylesheets/main.558e4712.min.css" rel="stylesheet"/>
<link href="../assets/stylesheets/palette.2505c338.min.css" rel="stylesheet"/>
<link href="../assets/stylesheets/main.35f28582.min.css" rel="stylesheet"/>
<link href="../assets/stylesheets/palette.06af60db.min.css" rel="stylesheet"/>
<link crossorigin="" href="https://fonts.gstatic.com" rel="preconnect"/>
<link href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&amp;display=fallback" rel="stylesheet"/>
<style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style>
<link href="https://unpkg.com/mermaid/dist/mermaid.css" rel="stylesheet"/>
<script>__md_scope=new URL("..",location),__md_hash=e=>[...e].reduce((e,_)=>(e<<5)-e+_.charCodeAt(0),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
<script>__md_scope=new URL("..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
</head>
<body data-md-color-accent="" data-md-color-primary="red" data-md-color-scheme="default" dir="ltr">
<script>var palette=__md_get("__palette");if(palette&&"object"==typeof palette.color)for(var key of Object.keys(palette.color))document.body.setAttribute("data-md-color-"+key,palette.color[key])</script>
<body data-md-color-accent="indigo" data-md-color-primary="red" data-md-color-scheme="default" dir="ltr">
<input autocomplete="off" class="md-toggle" data-md-toggle="drawer" id="__drawer" type="checkbox"/>
<input autocomplete="off" class="md-toggle" data-md-toggle="search" id="__search" type="checkbox"/>
<label class="md-overlay" for="__drawer"></label>
......@@ -31,13 +30,13 @@
</div>
<div data-md-component="announce">
</div>
<header class="md-header" data-md-component="header">
<header class="md-header md-header--shadow" data-md-component="header">
<nav aria-label="Kopfzeile" class="md-header__inner md-grid">
<a aria-label="CityDoctor2" class="md-header__button md-logo" data-md-component="logo" href=".." title="CityDoctor2">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54Z"></path></svg>
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"></path></svg>
</a>
<label class="md-header__button md-icon" for="__drawer">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2Z"></path></svg>
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"></path></svg>
</label>
<div class="md-header__title" data-md-component="header-title">
<div class="md-header__ellipsis">
......@@ -56,38 +55,39 @@
</div>
</div>
<form class="md-header__option" data-md-component="palette">
<input aria-label="Dunkelmodus verwenden" class="md-option" data-md-color-accent="" data-md-color-media="(prefers-color-scheme: light)" data-md-color-primary="red" data-md-color-scheme="default" id="__palette_1" name="__palette" type="radio"/>
<label class="md-header__button md-icon" for="__palette_2" hidden="" title="Dunkelmodus verwenden">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12 20 8.69Z"></path></svg>
<input aria-label="Dunkelmodus verwenden" class="md-option" data-md-color-accent="indigo" data-md-color-media="(prefers-color-scheme: light)" data-md-color-primary="red" data-md-color-scheme="default" id="__palette_0" name="__palette" type="radio"/>
<label class="md-header__button md-icon" for="__palette_1" hidden="" title="Dunkelmodus verwenden">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"></path></svg>
</label>
<input aria-label="Hellen Modus verwenden" class="md-option" data-md-color-accent="" data-md-color-media="(prefers-color-scheme: dark)" data-md-color-primary="" data-md-color-scheme="slate" id="__palette_2" name="__palette" type="radio"/>
<label class="md-header__button md-icon" for="__palette_1" hidden="" title="Hellen Modus verwenden">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12c0-2.42-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12 20 8.69Z"></path></svg>
<input aria-label="Hellen Modus verwenden" class="md-option" data-md-color-accent="indigo" data-md-color-media="(prefers-color-scheme: dark)" data-md-color-primary="indigo" data-md-color-scheme="slate" id="__palette_1" name="__palette" type="radio"/>
<label class="md-header__button md-icon" for="__palette_0" hidden="" title="Hellen Modus verwenden">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"></path></svg>
</label>
</form>
<script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script>
<div class="md-header__option">
<div class="md-select">
<button aria-label="Sprache wechseln" class="md-header__button md-icon">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="m12.87 15.07-2.54-2.51.03-.03A17.52 17.52 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04M18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12m-2.62 7 1.62-4.33L19.12 17h-3.24Z"></path></svg>
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="m12.87 15.07-2.54-2.51.03-.03A17.5 17.5 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2zm-2.62 7 1.62-4.33L19.12 17z"></path></svg>
</button>
<div class="md-select__inner">
<ul class="md-select__list">
<li class="md-select__item">
<a class="md-select__link" href=".." hreflang="de">
Deutsch
</a>
<a class="md-select__link" href="../None" hreflang="de">
Deutsch
</a>
</li>
<li class="md-select__item">
<a class="md-select__link" href="https://transfer.hft-stuttgart.de/pages/citydoctor/citydoctorhomepage/en/" hreflang="en">
English
</a>
English
</a>
</li>
</ul>
</div>
</div>
</div>
<label class="md-header__button md-icon" for="__search">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"></path></svg>
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"></path></svg>
</label>
<div class="md-search" data-md-component="search" role="dialog">
<label class="md-search__overlay" for="__search"></label>
......@@ -95,17 +95,17 @@
<form class="md-search__form" name="search">
<input aria-label="Suche" autocapitalize="off" autocomplete="off" autocorrect="off" class="md-search__input" data-md-component="search-query" name="query" placeholder="Suche" required="" spellcheck="false" type="text"/>
<label class="md-search__icon md-icon" for="__search">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"></path></svg>
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"></path></svg>
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"></path></svg>
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"></path></svg>
</label>
<nav aria-label="Suche" class="md-search__options">
<button aria-label="Zurücksetzen" class="md-search__icon md-icon" tabindex="-1" title="Zurücksetzen" type="reset">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"></path></svg>
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"></path></svg>
</button>
</nav>
</form>
<div class="md-search__output">
<div class="md-search__scrollwrap" data-md-scrollfix="">
<div class="md-search__scrollwrap" data-md-scrollfix="" tabindex="0">
<div class="md-search-result" data-md-component="search-result">
<div class="md-search-result__meta">
Suche wird initialisiert
......@@ -119,7 +119,7 @@
<div class="md-header__source">
<a class="md-source" data-md-component="source" href="https://transfer.hft-stuttgart.de/gitlab/citydoctor/citydoctor2" title="Zum Repository">
<div class="md-source__icon md-icon">
<svg viewbox="0 0 448 512" xmlns="http://www.w3.org/2000/svg"><!--! Font Awesome Free 6.2.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2022 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"></path></svg>
<svg viewbox="0 0 448 512" xmlns="http://www.w3.org/2000/svg"><!--! Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81"></path></svg>
</div>
<div class="md-source__repository">
CityDoctor2
......@@ -137,14 +137,14 @@
<nav aria-label="Navigation" class="md-nav md-nav--primary" data-md-level="0">
<label class="md-nav__title" for="__drawer">
<a aria-label="CityDoctor2" class="md-nav__button md-logo" data-md-component="logo" href=".." title="CityDoctor2">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54Z"></path></svg>
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"></path></svg>
</a>
CityDoctor2
</label>
<div class="md-nav__source">
<a class="md-source" data-md-component="source" href="https://transfer.hft-stuttgart.de/gitlab/citydoctor/citydoctor2" title="Zum Repository">
<div class="md-source__icon md-icon">
<svg viewbox="0 0 448 512" xmlns="http://www.w3.org/2000/svg"><!--! Font Awesome Free 6.2.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2022 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"></path></svg>
<svg viewbox="0 0 448 512" xmlns="http://www.w3.org/2000/svg"><!--! Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81"></path></svg>
</div>
<div class="md-source__repository">
CityDoctor2
......@@ -153,196 +153,271 @@
</div>
<ul class="md-nav__list" data-md-scrollfix="">
<li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested">
<input checked="" class="md-nav__toggle md-toggle" data-md-toggle="__nav_1" id="__nav_1" type="checkbox"/>
<label aria-expanded="true" class="md-nav__link" for="__nav_1" tabindex="0">
CityDoctor2
<span class="md-nav__icon md-icon"></span>
<input checked="" class="md-nav__toggle md-toggle" id="__nav_1" type="checkbox"/>
<label class="md-nav__link" for="__nav_1" id="__nav_1_label" tabindex="">
<span class="md-ellipsis">
CityDoctor2
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav aria-label="CityDoctor2" class="md-nav" data-md-level="1">
<nav aria-expanded="true" aria-labelledby="__nav_1_label" class="md-nav" data-md-level="1">
<label class="md-nav__title" for="__nav_1">
<span class="md-nav__icon md-icon"></span>
CityDoctor2
</label>
CityDoctor2
</label>
<ul class="md-nav__list" data-md-scrollfix="">
<li class="md-nav__item">
<a class="md-nav__link" href="..">
Über CityDoctor2
</a>
<span class="md-ellipsis">
Über CityDoctor2
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../requiredSoftware/">
Installation
</a>
<span class="md-ellipsis">
Installation
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../firstRun/">
Erster Start
</a>
<span class="md-ellipsis">
Erster Start
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../userInterface/">
Nutzeroberfläche
</a>
<span class="md-ellipsis">
Nutzeroberfläche
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../zipFiles/">
<span class="md-ellipsis">
Zip Dateien
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../validationPlan/">
Prüfplan
</a>
<span class="md-ellipsis">
Prüfplan
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--active md-nav__item--nested">
<input checked="" class="md-nav__toggle md-toggle" data-md-toggle="__nav_1_6" id="__nav_1_6" type="checkbox"/>
<label aria-expanded="true" class="md-nav__link" for="__nav_1_6" tabindex="0">
Anforderungen
<span class="md-nav__icon md-icon"></span>
<input checked="" class="md-nav__toggle md-toggle" id="__nav_1_7" type="checkbox"/>
<label class="md-nav__link" for="__nav_1_7" id="__nav_1_7_label" tabindex="0">
<span class="md-ellipsis">
Anforderungen
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav aria-label="Anforderungen" class="md-nav" data-md-level="2">
<label class="md-nav__title" for="__nav_1_6">
<nav aria-expanded="true" aria-labelledby="__nav_1_7_label" class="md-nav" data-md-level="2">
<label class="md-nav__title" for="__nav_1_7">
<span class="md-nav__icon md-icon"></span>
Anforderungen
</label>
Anforderungen
</label>
<ul class="md-nav__list" data-md-scrollfix="">
<li class="md-nav__item">
<a class="md-nav__link" href="../basic/">
Grundbegriffe
</a>
<span class="md-ellipsis">
Grundbegriffe
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../requirements/">
Übersicht
</a>
<span class="md-ellipsis">
Übersicht
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../schemaRequirements/">
Schemaanforderungen
</a>
<span class="md-ellipsis">
Schemaanforderungen
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../geometric/">
Geometrische Anforderungen
</a>
<span class="md-ellipsis">
Geometrische Anforderungen
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../semantic/">
Semantische Anforderungen
</a>
<span class="md-ellipsis">
Semantische Anforderungen
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--active md-nav__item--nested">
<input checked="" class="md-nav__toggle md-toggle" data-md-toggle="__nav_1_6_6" id="__nav_1_6_6" type="checkbox"/>
<label aria-expanded="true" class="md-nav__link" for="__nav_1_6_6" tabindex="0">
Details
<span class="md-nav__icon md-icon"></span>
<input checked="" class="md-nav__toggle md-toggle" id="__nav_1_7_6" type="checkbox"/>
<label class="md-nav__link" for="__nav_1_7_6" id="__nav_1_7_6_label" tabindex="0">
<span class="md-ellipsis">
Details
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav aria-label="Details" class="md-nav" data-md-level="3">
<label class="md-nav__title" for="__nav_1_6_6">
<nav aria-expanded="true" aria-labelledby="__nav_1_7_6_label" class="md-nav" data-md-level="3">
<label class="md-nav__title" for="__nav_1_7_6">
<span class="md-nav__icon md-icon"></span>
Details
</label>
Details
</label>
<ul class="md-nav__list" data-md-scrollfix="">
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_R_TOO_FEW_POINTS/">
R_TOO_FEW_POINTS
</a>
<span class="md-ellipsis">
R_TOO_FEW_POINTS
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_R_CONSECUTIVE_POINTS_SAME/">
R_CONSECUTIVE_POINTS_SAME
</a>
<span class="md-ellipsis">
R_CONSECUTIVE_POINTS_SAME
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_R_NOT_CLOSED/">
R_RING_NOT_CLOSED
</a>
<span class="md-ellipsis">
R_RING_NOT_CLOSED
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_R_SELF_INTERSECTION/">
R_RING_SELF_INTERSECTION
</a>
<span class="md-ellipsis">
R_RING_SELF_INTERSECTION
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_R_COLLAPSED_TO_LINE/">
R_COLLAPSED_TO_LINE
</a>
<span class="md-ellipsis">
R_COLLAPSED_TO_LINE
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_P_INTERSECTING_RINGS/">
P_INTERSECTING_RINGS
</a>
<span class="md-ellipsis">
P_INTERSECTING_RINGS
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_P_NON_PLANAR/">
P_NON_PLANAR
</a>
<span class="md-ellipsis">
P_NON_PLANAR
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_P_INTERIOR_DISCONNECTED/">
P_INTERIOR_DISCONNECTED
</a>
<span class="md-ellipsis">
P_INTERIOR_DISCONNECTED
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_P_HOLE_OUTSIDE/">
P_HOLE_OUTSIDE
</a>
<span class="md-ellipsis">
P_HOLE_OUTSIDE
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_P_INNER_RINGS_NESTED/">
P_INNER_RINGS_NESTED
</a>
<span class="md-ellipsis">
P_INNER_RINGS_NESTED
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_P_ORIENTATION_RINGS_SAME/">
P_ORIENTATION_RINGS_SAME
</a>
<span class="md-ellipsis">
P_ORIENTATION_RINGS_SAME
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_MS/">
MULTI_SURFACE
</a>
<span class="md-ellipsis">
MULTI_SURFACE
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--active">
<input class="md-nav__toggle md-toggle" data-md-toggle="toc" id="__toc" type="checkbox"/>
<input class="md-nav__toggle md-toggle" id="__toc" type="checkbox"/>
<a class="md-nav__link md-nav__link--active" href="./">
S_TOO_FEW_POLYGONS
</a>
<span class="md-ellipsis">
S_TOO_FEW_POLYGONS
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_S_NOT_CLOSED/">
S_NOT_CLOSED
</a>
<span class="md-ellipsis">
S_NOT_CLOSED
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_S_NON_MANIFOLD_VERTEX/">
S_NON_MANIFOLD_VERTEX
</a>
<span class="md-ellipsis">
S_NON_MANIFOLD_VERTEX
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_S_NON_MANIFOLD_EDGE/">
S_NON_MANIFOLD_EDGE
</a>
<span class="md-ellipsis">
S_NON_MANIFOLD_EDGE
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_S_MULTIPLE_CONNECTED_COMPONENTS/">
S_MULTIPLE_CONNECTED_COMPONENTS
</a>
<span class="md-ellipsis">
S_MULTIPLE_CONNECTED_COMPONENTS
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_S_SELF_INTERSECTION/">
S_SELF_INTERSECTION
</a>
<span class="md-ellipsis">
S_SELF_INTERSECTION
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_S_POLYGON_WRONG_ORIENTATION/">
S_POLYGON_WRONG_ORIENTATION
</a>
<span class="md-ellipsis">
S_POLYGON_WRONG_ORIENTATION
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_S_ALL_POLYGONS_WRONG_ORIENTATION/">
S_ALL_POLYGONS_WRONG_ORIENTATION
</a>
<span class="md-ellipsis">
S_ALL_POLYGONS_WRONG_ORIENTATION
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../R_GE_SO/">
SOLID
</a>
<span class="md-ellipsis">
SOLID
</span>
</a>
</li>
</ul>
</nav>
......@@ -372,6 +447,7 @@
<p>siehe <a href="https://gitlab.com/volkercoors/agqual3d/-/wikis/Validierung/Anforderungen/GE_gml_SO_0001">https://gitlab.com/volkercoors/agqual3d/-/wikis/Validierung/Anforderungen/GE_gml_SO_0001</a></p>
</article>
</div>
<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script>
</div>
</main>
<footer class="md-footer">
......@@ -392,8 +468,8 @@
<div class="md-dialog" data-md-component="dialog">
<div class="md-dialog__inner md-typeset"></div>
</div>
<script id="__config" type="application/json">{"base": "..", "features": ["content.code.annotate", "navigation.sections"], "search": "../assets/javascripts/workers/search.e5c33ebb.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version": "Version ausw\u00e4hlen"}}</script>
<script src="../assets/javascripts/bundle.51d95adb.min.js"></script>
<script id="__config" type="application/json">{"base": "..", "features": ["content.code.annotate", "navigation.sections"], "search": "../assets/javascripts/workers/search.07f07601.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version": "Version ausw\u00e4hlen"}}</script>
<script src="../assets/javascripts/bundle.56dfad97.min.js"></script>
<script src="https://unpkg.com/mermaid/dist/mermaid.min.js"></script>
</body>
</html>
\ No newline at end of file
"use strict";(()=>{var Hi=Object.create;var xr=Object.defineProperty;var Pi=Object.getOwnPropertyDescriptor;var $i=Object.getOwnPropertyNames,kt=Object.getOwnPropertySymbols,Ii=Object.getPrototypeOf,Er=Object.prototype.hasOwnProperty,an=Object.prototype.propertyIsEnumerable;var on=(e,t,r)=>t in e?xr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,P=(e,t)=>{for(var r in t||(t={}))Er.call(t,r)&&on(e,r,t[r]);if(kt)for(var r of kt(t))an.call(t,r)&&on(e,r,t[r]);return e};var sn=(e,t)=>{var r={};for(var n in e)Er.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(e!=null&&kt)for(var n of kt(e))t.indexOf(n)<0&&an.call(e,n)&&(r[n]=e[n]);return r};var Ht=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var Fi=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of $i(t))!Er.call(e,o)&&o!==r&&xr(e,o,{get:()=>t[o],enumerable:!(n=Pi(t,o))||n.enumerable});return e};var yt=(e,t,r)=>(r=e!=null?Hi(Ii(e)):{},Fi(t||!e||!e.__esModule?xr(r,"default",{value:e,enumerable:!0}):r,e));var fn=Ht((wr,cn)=>{(function(e,t){typeof wr=="object"&&typeof cn!="undefined"?t():typeof define=="function"&&define.amd?define(t):t()})(wr,function(){"use strict";function e(r){var n=!0,o=!1,i=null,a={text:!0,search:!0,url:!0,tel:!0,email:!0,password:!0,number:!0,date:!0,month:!0,week:!0,time:!0,datetime:!0,"datetime-local":!0};function s(T){return!!(T&&T!==document&&T.nodeName!=="HTML"&&T.nodeName!=="BODY"&&"classList"in T&&"contains"in T.classList)}function f(T){var Ke=T.type,We=T.tagName;return!!(We==="INPUT"&&a[Ke]&&!T.readOnly||We==="TEXTAREA"&&!T.readOnly||T.isContentEditable)}function c(T){T.classList.contains("focus-visible")||(T.classList.add("focus-visible"),T.setAttribute("data-focus-visible-added",""))}function u(T){T.hasAttribute("data-focus-visible-added")&&(T.classList.remove("focus-visible"),T.removeAttribute("data-focus-visible-added"))}function p(T){T.metaKey||T.altKey||T.ctrlKey||(s(r.activeElement)&&c(r.activeElement),n=!0)}function m(T){n=!1}function d(T){s(T.target)&&(n||f(T.target))&&c(T.target)}function h(T){s(T.target)&&(T.target.classList.contains("focus-visible")||T.target.hasAttribute("data-focus-visible-added"))&&(o=!0,window.clearTimeout(i),i=window.setTimeout(function(){o=!1},100),u(T.target))}function v(T){document.visibilityState==="hidden"&&(o&&(n=!0),B())}function B(){document.addEventListener("mousemove",z),document.addEventListener("mousedown",z),document.addEventListener("mouseup",z),document.addEventListener("pointermove",z),document.addEventListener("pointerdown",z),document.addEventListener("pointerup",z),document.addEventListener("touchmove",z),document.addEventListener("touchstart",z),document.addEventListener("touchend",z)}function re(){document.removeEventListener("mousemove",z),document.removeEventListener("mousedown",z),document.removeEventListener("mouseup",z),document.removeEventListener("pointermove",z),document.removeEventListener("pointerdown",z),document.removeEventListener("pointerup",z),document.removeEventListener("touchmove",z),document.removeEventListener("touchstart",z),document.removeEventListener("touchend",z)}function z(T){T.target.nodeName&&T.target.nodeName.toLowerCase()==="html"||(n=!1,re())}document.addEventListener("keydown",p,!0),document.addEventListener("mousedown",m,!0),document.addEventListener("pointerdown",m,!0),document.addEventListener("touchstart",m,!0),document.addEventListener("visibilitychange",v,!0),B(),r.addEventListener("focus",d,!0),r.addEventListener("blur",h,!0),r.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&r.host?r.host.setAttribute("data-js-focus-visible",""):r.nodeType===Node.DOCUMENT_NODE&&(document.documentElement.classList.add("js-focus-visible"),document.documentElement.setAttribute("data-js-focus-visible",""))}if(typeof window!="undefined"&&typeof document!="undefined"){window.applyFocusVisiblePolyfill=e;var t;try{t=new CustomEvent("focus-visible-polyfill-ready")}catch(r){t=document.createEvent("CustomEvent"),t.initCustomEvent("focus-visible-polyfill-ready",!1,!1,{})}window.dispatchEvent(t)}typeof document!="undefined"&&e(document)})});var un=Ht(Sr=>{(function(e){var t=function(){try{return!!Symbol.iterator}catch(c){return!1}},r=t(),n=function(c){var u={next:function(){var p=c.shift();return{done:p===void 0,value:p}}};return r&&(u[Symbol.iterator]=function(){return u}),u},o=function(c){return encodeURIComponent(c).replace(/%20/g,"+")},i=function(c){return decodeURIComponent(String(c).replace(/\+/g," "))},a=function(){var c=function(p){Object.defineProperty(this,"_entries",{writable:!0,value:{}});var m=typeof p;if(m!=="undefined")if(m==="string")p!==""&&this._fromString(p);else if(p instanceof c){var d=this;p.forEach(function(re,z){d.append(z,re)})}else if(p!==null&&m==="object")if(Object.prototype.toString.call(p)==="[object Array]")for(var h=0;h<p.length;h++){var v=p[h];if(Object.prototype.toString.call(v)==="[object Array]"||v.length!==2)this.append(v[0],v[1]);else throw new TypeError("Expected [string, any] as entry at index "+h+" of URLSearchParams's input")}else for(var B in p)p.hasOwnProperty(B)&&this.append(B,p[B]);else throw new TypeError("Unsupported input's type for URLSearchParams")},u=c.prototype;u.append=function(p,m){p in this._entries?this._entries[p].push(String(m)):this._entries[p]=[String(m)]},u.delete=function(p){delete this._entries[p]},u.get=function(p){return p in this._entries?this._entries[p][0]:null},u.getAll=function(p){return p in this._entries?this._entries[p].slice(0):[]},u.has=function(p){return p in this._entries},u.set=function(p,m){this._entries[p]=[String(m)]},u.forEach=function(p,m){var d;for(var h in this._entries)if(this._entries.hasOwnProperty(h)){d=this._entries[h];for(var v=0;v<d.length;v++)p.call(m,d[v],h,this)}},u.keys=function(){var p=[];return this.forEach(function(m,d){p.push(d)}),n(p)},u.values=function(){var p=[];return this.forEach(function(m){p.push(m)}),n(p)},u.entries=function(){var p=[];return this.forEach(function(m,d){p.push([d,m])}),n(p)},r&&(u[Symbol.iterator]=u.entries),u.toString=function(){var p=[];return this.forEach(function(m,d){p.push(o(d)+"="+o(m))}),p.join("&")},e.URLSearchParams=c},s=function(){try{var c=e.URLSearchParams;return new c("?a=1").toString()==="a=1"&&typeof c.prototype.set=="function"&&typeof c.prototype.entries=="function"}catch(u){return!1}};s()||a();var f=e.URLSearchParams.prototype;typeof f.sort!="function"&&(f.sort=function(){var c=this,u=[];this.forEach(function(m,d){u.push([d,m]),c._entries||c.delete(d)}),u.sort(function(m,d){return m[0]<d[0]?-1:m[0]>d[0]?1:0}),c._entries&&(c._entries={});for(var p=0;p<u.length;p++)this.append(u[p][0],u[p][1])}),typeof f._fromString!="function"&&Object.defineProperty(f,"_fromString",{enumerable:!1,configurable:!1,writable:!1,value:function(c){if(this._entries)this._entries={};else{var u=[];this.forEach(function(h,v){u.push(v)});for(var p=0;p<u.length;p++)this.delete(u[p])}c=c.replace(/^\?/,"");for(var m=c.split("&"),d,p=0;p<m.length;p++)d=m[p].split("="),this.append(i(d[0]),d.length>1?i(d[1]):"")}})})(typeof global!="undefined"?global:typeof window!="undefined"?window:typeof self!="undefined"?self:Sr);(function(e){var t=function(){try{var o=new e.URL("b","http://a");return o.pathname="c d",o.href==="http://a/c%20d"&&o.searchParams}catch(i){return!1}},r=function(){var o=e.URL,i=function(f,c){typeof f!="string"&&(f=String(f)),c&&typeof c!="string"&&(c=String(c));var u=document,p;if(c&&(e.location===void 0||c!==e.location.href)){c=c.toLowerCase(),u=document.implementation.createHTMLDocument(""),p=u.createElement("base"),p.href=c,u.head.appendChild(p);try{if(p.href.indexOf(c)!==0)throw new Error(p.href)}catch(T){throw new Error("URL unable to set base "+c+" due to "+T)}}var m=u.createElement("a");m.href=f,p&&(u.body.appendChild(m),m.href=m.href);var d=u.createElement("input");if(d.type="url",d.value=f,m.protocol===":"||!/:/.test(m.href)||!d.checkValidity()&&!c)throw new TypeError("Invalid URL");Object.defineProperty(this,"_anchorElement",{value:m});var h=new e.URLSearchParams(this.search),v=!0,B=!0,re=this;["append","delete","set"].forEach(function(T){var Ke=h[T];h[T]=function(){Ke.apply(h,arguments),v&&(B=!1,re.search=h.toString(),B=!0)}}),Object.defineProperty(this,"searchParams",{value:h,enumerable:!0});var z=void 0;Object.defineProperty(this,"_updateSearchParams",{enumerable:!1,configurable:!1,writable:!1,value:function(){this.search!==z&&(z=this.search,B&&(v=!1,this.searchParams._fromString(this.search),v=!0))}})},a=i.prototype,s=function(f){Object.defineProperty(a,f,{get:function(){return this._anchorElement[f]},set:function(c){this._anchorElement[f]=c},enumerable:!0})};["hash","host","hostname","port","protocol"].forEach(function(f){s(f)}),Object.defineProperty(a,"search",{get:function(){return this._anchorElement.search},set:function(f){this._anchorElement.search=f,this._updateSearchParams()},enumerable:!0}),Object.defineProperties(a,{toString:{get:function(){var f=this;return function(){return f.href}}},href:{get:function(){return this._anchorElement.href.replace(/\?$/,"")},set:function(f){this._anchorElement.href=f,this._updateSearchParams()},enumerable:!0},pathname:{get:function(){return this._anchorElement.pathname.replace(/(^\/?)/,"/")},set:function(f){this._anchorElement.pathname=f},enumerable:!0},origin:{get:function(){var f={"http:":80,"https:":443,"ftp:":21}[this._anchorElement.protocol],c=this._anchorElement.port!=f&&this._anchorElement.port!=="";return this._anchorElement.protocol+"//"+this._anchorElement.hostname+(c?":"+this._anchorElement.port:"")},enumerable:!0},password:{get:function(){return""},set:function(f){},enumerable:!0},username:{get:function(){return""},set:function(f){},enumerable:!0}}),i.createObjectURL=function(f){return o.createObjectURL.apply(o,arguments)},i.revokeObjectURL=function(f){return o.revokeObjectURL.apply(o,arguments)},e.URL=i};if(t()||r(),e.location!==void 0&&!("origin"in e.location)){var n=function(){return e.location.protocol+"//"+e.location.hostname+(e.location.port?":"+e.location.port:"")};try{Object.defineProperty(e.location,"origin",{get:n,enumerable:!0})}catch(o){setInterval(function(){e.location.origin=n()},100)}}})(typeof global!="undefined"?global:typeof window!="undefined"?window:typeof self!="undefined"?self:Sr)});var Qr=Ht((Lt,Kr)=>{/*!
* clipboard.js v2.0.11
* https://clipboardjs.com/
*
* Licensed MIT © Zeno Rocha
*/(function(t,r){typeof Lt=="object"&&typeof Kr=="object"?Kr.exports=r():typeof define=="function"&&define.amd?define([],r):typeof Lt=="object"?Lt.ClipboardJS=r():t.ClipboardJS=r()})(Lt,function(){return function(){var e={686:function(n,o,i){"use strict";i.d(o,{default:function(){return ki}});var a=i(279),s=i.n(a),f=i(370),c=i.n(f),u=i(817),p=i.n(u);function m(j){try{return document.execCommand(j)}catch(O){return!1}}var d=function(O){var w=p()(O);return m("cut"),w},h=d;function v(j){var O=document.documentElement.getAttribute("dir")==="rtl",w=document.createElement("textarea");w.style.fontSize="12pt",w.style.border="0",w.style.padding="0",w.style.margin="0",w.style.position="absolute",w.style[O?"right":"left"]="-9999px";var k=window.pageYOffset||document.documentElement.scrollTop;return w.style.top="".concat(k,"px"),w.setAttribute("readonly",""),w.value=j,w}var B=function(O,w){var k=v(O);w.container.appendChild(k);var F=p()(k);return m("copy"),k.remove(),F},re=function(O){var w=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{container:document.body},k="";return typeof O=="string"?k=B(O,w):O instanceof HTMLInputElement&&!["text","search","url","tel","password"].includes(O==null?void 0:O.type)?k=B(O.value,w):(k=p()(O),m("copy")),k},z=re;function T(j){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?T=function(w){return typeof w}:T=function(w){return w&&typeof Symbol=="function"&&w.constructor===Symbol&&w!==Symbol.prototype?"symbol":typeof w},T(j)}var Ke=function(){var O=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},w=O.action,k=w===void 0?"copy":w,F=O.container,q=O.target,Le=O.text;if(k!=="copy"&&k!=="cut")throw new Error('Invalid "action" value, use either "copy" or "cut"');if(q!==void 0)if(q&&T(q)==="object"&&q.nodeType===1){if(k==="copy"&&q.hasAttribute("disabled"))throw new Error('Invalid "target" attribute. Please use "readonly" instead of "disabled" attribute');if(k==="cut"&&(q.hasAttribute("readonly")||q.hasAttribute("disabled")))throw new Error(`Invalid "target" attribute. You can't cut text from elements with "readonly" or "disabled" attributes`)}else throw new Error('Invalid "target" value, use a valid Element');if(Le)return z(Le,{container:F});if(q)return k==="cut"?h(q):z(q,{container:F})},We=Ke;function Ie(j){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Ie=function(w){return typeof w}:Ie=function(w){return w&&typeof Symbol=="function"&&w.constructor===Symbol&&w!==Symbol.prototype?"symbol":typeof w},Ie(j)}function Ti(j,O){if(!(j instanceof O))throw new TypeError("Cannot call a class as a function")}function nn(j,O){for(var w=0;w<O.length;w++){var k=O[w];k.enumerable=k.enumerable||!1,k.configurable=!0,"value"in k&&(k.writable=!0),Object.defineProperty(j,k.key,k)}}function Oi(j,O,w){return O&&nn(j.prototype,O),w&&nn(j,w),j}function _i(j,O){if(typeof O!="function"&&O!==null)throw new TypeError("Super expression must either be null or a function");j.prototype=Object.create(O&&O.prototype,{constructor:{value:j,writable:!0,configurable:!0}}),O&&gr(j,O)}function gr(j,O){return gr=Object.setPrototypeOf||function(k,F){return k.__proto__=F,k},gr(j,O)}function Mi(j){var O=Ci();return function(){var k=Ct(j),F;if(O){var q=Ct(this).constructor;F=Reflect.construct(k,arguments,q)}else F=k.apply(this,arguments);return Li(this,F)}}function Li(j,O){return O&&(Ie(O)==="object"||typeof O=="function")?O:Ai(j)}function Ai(j){if(j===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return j}function Ci(){if(typeof Reflect=="undefined"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(j){return!1}}function Ct(j){return Ct=Object.setPrototypeOf?Object.getPrototypeOf:function(w){return w.__proto__||Object.getPrototypeOf(w)},Ct(j)}function yr(j,O){var w="data-clipboard-".concat(j);if(O.hasAttribute(w))return O.getAttribute(w)}var Ri=function(j){_i(w,j);var O=Mi(w);function w(k,F){var q;return Ti(this,w),q=O.call(this),q.resolveOptions(F),q.listenClick(k),q}return Oi(w,[{key:"resolveOptions",value:function(){var F=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.action=typeof F.action=="function"?F.action:this.defaultAction,this.target=typeof F.target=="function"?F.target:this.defaultTarget,this.text=typeof F.text=="function"?F.text:this.defaultText,this.container=Ie(F.container)==="object"?F.container:document.body}},{key:"listenClick",value:function(F){var q=this;this.listener=c()(F,"click",function(Le){return q.onClick(Le)})}},{key:"onClick",value:function(F){var q=F.delegateTarget||F.currentTarget,Le=this.action(q)||"copy",Rt=We({action:Le,container:this.container,target:this.target(q),text:this.text(q)});this.emit(Rt?"success":"error",{action:Le,text:Rt,trigger:q,clearSelection:function(){q&&q.focus(),window.getSelection().removeAllRanges()}})}},{key:"defaultAction",value:function(F){return yr("action",F)}},{key:"defaultTarget",value:function(F){var q=yr("target",F);if(q)return document.querySelector(q)}},{key:"defaultText",value:function(F){return yr("text",F)}},{key:"destroy",value:function(){this.listener.destroy()}}],[{key:"copy",value:function(F){var q=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{container:document.body};return z(F,q)}},{key:"cut",value:function(F){return h(F)}},{key:"isSupported",value:function(){var F=arguments.length>0&&arguments[0]!==void 0?arguments[0]:["copy","cut"],q=typeof F=="string"?[F]:F,Le=!!document.queryCommandSupported;return q.forEach(function(Rt){Le=Le&&!!document.queryCommandSupported(Rt)}),Le}}]),w}(s()),ki=Ri},828:function(n){var o=9;if(typeof Element!="undefined"&&!Element.prototype.matches){var i=Element.prototype;i.matches=i.matchesSelector||i.mozMatchesSelector||i.msMatchesSelector||i.oMatchesSelector||i.webkitMatchesSelector}function a(s,f){for(;s&&s.nodeType!==o;){if(typeof s.matches=="function"&&s.matches(f))return s;s=s.parentNode}}n.exports=a},438:function(n,o,i){var a=i(828);function s(u,p,m,d,h){var v=c.apply(this,arguments);return u.addEventListener(m,v,h),{destroy:function(){u.removeEventListener(m,v,h)}}}function f(u,p,m,d,h){return typeof u.addEventListener=="function"?s.apply(null,arguments):typeof m=="function"?s.bind(null,document).apply(null,arguments):(typeof u=="string"&&(u=document.querySelectorAll(u)),Array.prototype.map.call(u,function(v){return s(v,p,m,d,h)}))}function c(u,p,m,d){return function(h){h.delegateTarget=a(h.target,p),h.delegateTarget&&d.call(u,h)}}n.exports=f},879:function(n,o){o.node=function(i){return i!==void 0&&i instanceof HTMLElement&&i.nodeType===1},o.nodeList=function(i){var a=Object.prototype.toString.call(i);return i!==void 0&&(a==="[object NodeList]"||a==="[object HTMLCollection]")&&"length"in i&&(i.length===0||o.node(i[0]))},o.string=function(i){return typeof i=="string"||i instanceof String},o.fn=function(i){var a=Object.prototype.toString.call(i);return a==="[object Function]"}},370:function(n,o,i){var a=i(879),s=i(438);function f(m,d,h){if(!m&&!d&&!h)throw new Error("Missing required arguments");if(!a.string(d))throw new TypeError("Second argument must be a String");if(!a.fn(h))throw new TypeError("Third argument must be a Function");if(a.node(m))return c(m,d,h);if(a.nodeList(m))return u(m,d,h);if(a.string(m))return p(m,d,h);throw new TypeError("First argument must be a String, HTMLElement, HTMLCollection, or NodeList")}function c(m,d,h){return m.addEventListener(d,h),{destroy:function(){m.removeEventListener(d,h)}}}function u(m,d,h){return Array.prototype.forEach.call(m,function(v){v.addEventListener(d,h)}),{destroy:function(){Array.prototype.forEach.call(m,function(v){v.removeEventListener(d,h)})}}}function p(m,d,h){return s(document.body,m,d,h)}n.exports=f},817:function(n){function o(i){var a;if(i.nodeName==="SELECT")i.focus(),a=i.value;else if(i.nodeName==="INPUT"||i.nodeName==="TEXTAREA"){var s=i.hasAttribute("readonly");s||i.setAttribute("readonly",""),i.select(),i.setSelectionRange(0,i.value.length),s||i.removeAttribute("readonly"),a=i.value}else{i.hasAttribute("contenteditable")&&i.focus();var f=window.getSelection(),c=document.createRange();c.selectNodeContents(i),f.removeAllRanges(),f.addRange(c),a=f.toString()}return a}n.exports=o},279:function(n){function o(){}o.prototype={on:function(i,a,s){var f=this.e||(this.e={});return(f[i]||(f[i]=[])).push({fn:a,ctx:s}),this},once:function(i,a,s){var f=this;function c(){f.off(i,c),a.apply(s,arguments)}return c._=a,this.on(i,c,s)},emit:function(i){var a=[].slice.call(arguments,1),s=((this.e||(this.e={}))[i]||[]).slice(),f=0,c=s.length;for(f;f<c;f++)s[f].fn.apply(s[f].ctx,a);return this},off:function(i,a){var s=this.e||(this.e={}),f=s[i],c=[];if(f&&a)for(var u=0,p=f.length;u<p;u++)f[u].fn!==a&&f[u].fn._!==a&&c.push(f[u]);return c.length?s[i]=c:delete s[i],this}},n.exports=o,n.exports.TinyEmitter=o}},t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={exports:{}};return e[n](o,o.exports,r),o.exports}return function(){r.n=function(n){var o=n&&n.__esModule?function(){return n.default}:function(){return n};return r.d(o,{a:o}),o}}(),function(){r.d=function(n,o){for(var i in o)r.o(o,i)&&!r.o(n,i)&&Object.defineProperty(n,i,{enumerable:!0,get:o[i]})}}(),function(){r.o=function(n,o){return Object.prototype.hasOwnProperty.call(n,o)}}(),r(686)}().default})});var Xo=Ht((vw,Jo)=>{"use strict";/*!
* escape-html
* Copyright(c) 2012-2013 TJ Holowaychuk
* Copyright(c) 2015 Andreas Lubbe
* Copyright(c) 2015 Tiancheng "Timothy" Gu
* MIT Licensed
*/var is=/["'&<>]/;Jo.exports=as;function as(e){var t=""+e,r=is.exec(t);if(!r)return t;var n,o="",i=0,a=0;for(i=r.index;i<t.length;i++){switch(t.charCodeAt(i)){case 34:n="&quot;";break;case 38:n="&amp;";break;case 39:n="&#39;";break;case 60:n="&lt;";break;case 62:n="&gt;";break;default:continue}a!==i&&(o+=t.substring(a,i)),a=i+1,o+=n}return a!==i?o+t.substring(a,i):o}});Array.prototype.flat||Object.defineProperty(Array.prototype,"flat",{configurable:!0,value:function e(){var t=isNaN(arguments[0])?1:Number(arguments[0]);return t?Array.prototype.reduce.call(this,function(r,n){return Array.isArray(n)?r.push.apply(r,e.call(n,t-1)):r.push(n),r},[]):Array.prototype.slice.call(this)},writable:!0}),Array.prototype.flatMap||Object.defineProperty(Array.prototype,"flatMap",{configurable:!0,value:function(e){return Array.prototype.map.apply(this,arguments).flat()},writable:!0});var qO=yt(fn());self.fetch||(self.fetch=function(e,t){return t=t||{},new Promise(function(r,n){var o=new XMLHttpRequest,i=[],a={},s=function c(){return{ok:(o.status/100|0)==2,statusText:o.statusText,status:o.status,url:o.responseURL,text:function(){return Promise.resolve(o.responseText)},json:function(){return Promise.resolve(o.responseText).then(JSON.parse)},blob:function(){return Promise.resolve(new Blob([o.response]))},clone:c,headers:{keys:function(){return i},entries:function(){return i.map(function(u){return[u,o.getResponseHeader(u)]})},get:function(u){return o.getResponseHeader(u)},has:function(u){return o.getResponseHeader(u)!=null}}}};for(var f in o.open(t.method||"get",e,!0),o.onload=function(){o.getAllResponseHeaders().toLowerCase().replace(/^(.+?):/gm,function(c,u){a[u]||i.push(a[u]=u)}),r(s())},o.onerror=n,o.withCredentials=t.credentials=="include",t.headers)o.setRequestHeader(f,t.headers[f]);o.send(t.body||null)})});var QO=yt(un());/*! *****************************************************************************
Copyright (c) Microsoft Corporation.
Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
***************************************************************************** */var Tr=function(e,t){return Tr=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,n){r.__proto__=n}||function(r,n){for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(r[o]=n[o])},Tr(e,t)};function ne(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");Tr(e,t);function r(){this.constructor=e}e.prototype=t===null?Object.create(t):(r.prototype=t.prototype,new r)}function pn(e,t,r,n){function o(i){return i instanceof r?i:new r(function(a){a(i)})}return new(r||(r=Promise))(function(i,a){function s(u){try{c(n.next(u))}catch(p){a(p)}}function f(u){try{c(n.throw(u))}catch(p){a(p)}}function c(u){u.done?i(u.value):o(u.value).then(s,f)}c((n=n.apply(e,t||[])).next())})}function Pt(e,t){var r={label:0,sent:function(){if(i[0]&1)throw i[1];return i[1]},trys:[],ops:[]},n,o,i,a;return a={next:s(0),throw:s(1),return:s(2)},typeof Symbol=="function"&&(a[Symbol.iterator]=function(){return this}),a;function s(c){return function(u){return f([c,u])}}function f(c){if(n)throw new TypeError("Generator is already executing.");for(;r;)try{if(n=1,o&&(i=c[0]&2?o.return:c[0]?o.throw||((i=o.return)&&i.call(o),0):o.next)&&!(i=i.call(o,c[1])).done)return i;switch(o=0,i&&(c=[c[0]&2,i.value]),c[0]){case 0:case 1:i=c;break;case 4:return r.label++,{value:c[1],done:!1};case 5:r.label++,o=c[1],c=[0];continue;case 7:c=r.ops.pop(),r.trys.pop();continue;default:if(i=r.trys,!(i=i.length>0&&i[i.length-1])&&(c[0]===6||c[0]===2)){r=0;continue}if(c[0]===3&&(!i||c[1]>i[0]&&c[1]<i[3])){r.label=c[1];break}if(c[0]===6&&r.label<i[1]){r.label=i[1],i=c;break}if(i&&r.label<i[2]){r.label=i[2],r.ops.push(c);break}i[2]&&r.ops.pop(),r.trys.pop();continue}c=t.call(e,r)}catch(u){c=[6,u],o=0}finally{n=i=0}if(c[0]&5)throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}function xe(e){var t=typeof Symbol=="function"&&Symbol.iterator,r=t&&e[t],n=0;if(r)return r.call(e);if(e&&typeof e.length=="number")return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function W(e,t){var r=typeof Symbol=="function"&&e[Symbol.iterator];if(!r)return e;var n=r.call(e),o,i=[],a;try{for(;(t===void 0||t-- >0)&&!(o=n.next()).done;)i.push(o.value)}catch(s){a={error:s}}finally{try{o&&!o.done&&(r=n.return)&&r.call(n)}finally{if(a)throw a.error}}return i}function D(e,t,r){if(r||arguments.length===2)for(var n=0,o=t.length,i;n<o;n++)(i||!(n in t))&&(i||(i=Array.prototype.slice.call(t,0,n)),i[n]=t[n]);return e.concat(i||Array.prototype.slice.call(t))}function Xe(e){return this instanceof Xe?(this.v=e,this):new Xe(e)}function ln(e,t,r){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var n=r.apply(e,t||[]),o,i=[];return o={},a("next"),a("throw"),a("return"),o[Symbol.asyncIterator]=function(){return this},o;function a(m){n[m]&&(o[m]=function(d){return new Promise(function(h,v){i.push([m,d,h,v])>1||s(m,d)})})}function s(m,d){try{f(n[m](d))}catch(h){p(i[0][3],h)}}function f(m){m.value instanceof Xe?Promise.resolve(m.value.v).then(c,u):p(i[0][2],m)}function c(m){s("next",m)}function u(m){s("throw",m)}function p(m,d){m(d),i.shift(),i.length&&s(i[0][0],i[0][1])}}function mn(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t=e[Symbol.asyncIterator],r;return t?t.call(e):(e=typeof xe=="function"?xe(e):e[Symbol.iterator](),r={},n("next"),n("throw"),n("return"),r[Symbol.asyncIterator]=function(){return this},r);function n(i){r[i]=e[i]&&function(a){return new Promise(function(s,f){a=e[i](a),o(s,f,a.done,a.value)})}}function o(i,a,s,f){Promise.resolve(f).then(function(c){i({value:c,done:s})},a)}}function A(e){return typeof e=="function"}function at(e){var t=function(n){Error.call(n),n.stack=new Error().stack},r=e(t);return r.prototype=Object.create(Error.prototype),r.prototype.constructor=r,r}var $t=at(function(e){return function(r){e(this),this.message=r?r.length+` errors occurred during unsubscription:
`+r.map(function(n,o){return o+1+") "+n.toString()}).join(`
`):"",this.name="UnsubscriptionError",this.errors=r}});function De(e,t){if(e){var r=e.indexOf(t);0<=r&&e.splice(r,1)}}var Fe=function(){function e(t){this.initialTeardown=t,this.closed=!1,this._parentage=null,this._finalizers=null}return e.prototype.unsubscribe=function(){var t,r,n,o,i;if(!this.closed){this.closed=!0;var a=this._parentage;if(a)if(this._parentage=null,Array.isArray(a))try{for(var s=xe(a),f=s.next();!f.done;f=s.next()){var c=f.value;c.remove(this)}}catch(v){t={error:v}}finally{try{f&&!f.done&&(r=s.return)&&r.call(s)}finally{if(t)throw t.error}}else a.remove(this);var u=this.initialTeardown;if(A(u))try{u()}catch(v){i=v instanceof $t?v.errors:[v]}var p=this._finalizers;if(p){this._finalizers=null;try{for(var m=xe(p),d=m.next();!d.done;d=m.next()){var h=d.value;try{dn(h)}catch(v){i=i!=null?i:[],v instanceof $t?i=D(D([],W(i)),W(v.errors)):i.push(v)}}}catch(v){n={error:v}}finally{try{d&&!d.done&&(o=m.return)&&o.call(m)}finally{if(n)throw n.error}}}if(i)throw new $t(i)}},e.prototype.add=function(t){var r;if(t&&t!==this)if(this.closed)dn(t);else{if(t instanceof e){if(t.closed||t._hasParent(this))return;t._addParent(this)}(this._finalizers=(r=this._finalizers)!==null&&r!==void 0?r:[]).push(t)}},e.prototype._hasParent=function(t){var r=this._parentage;return r===t||Array.isArray(r)&&r.includes(t)},e.prototype._addParent=function(t){var r=this._parentage;this._parentage=Array.isArray(r)?(r.push(t),r):r?[r,t]:t},e.prototype._removeParent=function(t){var r=this._parentage;r===t?this._parentage=null:Array.isArray(r)&&De(r,t)},e.prototype.remove=function(t){var r=this._finalizers;r&&De(r,t),t instanceof e&&t._removeParent(this)},e.EMPTY=function(){var t=new e;return t.closed=!0,t}(),e}();var Or=Fe.EMPTY;function It(e){return e instanceof Fe||e&&"closed"in e&&A(e.remove)&&A(e.add)&&A(e.unsubscribe)}function dn(e){A(e)?e():e.unsubscribe()}var Ae={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1};var st={setTimeout:function(e,t){for(var r=[],n=2;n<arguments.length;n++)r[n-2]=arguments[n];var o=st.delegate;return o!=null&&o.setTimeout?o.setTimeout.apply(o,D([e,t],W(r))):setTimeout.apply(void 0,D([e,t],W(r)))},clearTimeout:function(e){var t=st.delegate;return((t==null?void 0:t.clearTimeout)||clearTimeout)(e)},delegate:void 0};function Ft(e){st.setTimeout(function(){var t=Ae.onUnhandledError;if(t)t(e);else throw e})}function le(){}var hn=function(){return _r("C",void 0,void 0)}();function bn(e){return _r("E",void 0,e)}function vn(e){return _r("N",e,void 0)}function _r(e,t,r){return{kind:e,value:t,error:r}}var Ze=null;function ct(e){if(Ae.useDeprecatedSynchronousErrorHandling){var t=!Ze;if(t&&(Ze={errorThrown:!1,error:null}),e(),t){var r=Ze,n=r.errorThrown,o=r.error;if(Ze=null,n)throw o}}else e()}function gn(e){Ae.useDeprecatedSynchronousErrorHandling&&Ze&&(Ze.errorThrown=!0,Ze.error=e)}var xt=function(e){ne(t,e);function t(r){var n=e.call(this)||this;return n.isStopped=!1,r?(n.destination=r,It(r)&&r.add(n)):n.destination=Di,n}return t.create=function(r,n,o){return new et(r,n,o)},t.prototype.next=function(r){this.isStopped?Lr(vn(r),this):this._next(r)},t.prototype.error=function(r){this.isStopped?Lr(bn(r),this):(this.isStopped=!0,this._error(r))},t.prototype.complete=function(){this.isStopped?Lr(hn,this):(this.isStopped=!0,this._complete())},t.prototype.unsubscribe=function(){this.closed||(this.isStopped=!0,e.prototype.unsubscribe.call(this),this.destination=null)},t.prototype._next=function(r){this.destination.next(r)},t.prototype._error=function(r){try{this.destination.error(r)}finally{this.unsubscribe()}},t.prototype._complete=function(){try{this.destination.complete()}finally{this.unsubscribe()}},t}(Fe);var ji=Function.prototype.bind;function Mr(e,t){return ji.call(e,t)}var Ui=function(){function e(t){this.partialObserver=t}return e.prototype.next=function(t){var r=this.partialObserver;if(r.next)try{r.next(t)}catch(n){jt(n)}},e.prototype.error=function(t){var r=this.partialObserver;if(r.error)try{r.error(t)}catch(n){jt(n)}else jt(t)},e.prototype.complete=function(){var t=this.partialObserver;if(t.complete)try{t.complete()}catch(r){jt(r)}},e}(),et=function(e){ne(t,e);function t(r,n,o){var i=e.call(this)||this,a;if(A(r)||!r)a={next:r!=null?r:void 0,error:n!=null?n:void 0,complete:o!=null?o:void 0};else{var s;i&&Ae.useDeprecatedNextContext?(s=Object.create(r),s.unsubscribe=function(){return i.unsubscribe()},a={next:r.next&&Mr(r.next,s),error:r.error&&Mr(r.error,s),complete:r.complete&&Mr(r.complete,s)}):a=r}return i.destination=new Ui(a),i}return t}(xt);function jt(e){Ae.useDeprecatedSynchronousErrorHandling?gn(e):Ft(e)}function Wi(e){throw e}function Lr(e,t){var r=Ae.onStoppedNotification;r&&st.setTimeout(function(){return r(e,t)})}var Di={closed:!0,next:le,error:Wi,complete:le};var ft=function(){return typeof Symbol=="function"&&Symbol.observable||"@@observable"}();function me(e){return e}function yn(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return Ar(e)}function Ar(e){return e.length===0?me:e.length===1?e[0]:function(r){return e.reduce(function(n,o){return o(n)},r)}}var U=function(){function e(t){t&&(this._subscribe=t)}return e.prototype.lift=function(t){var r=new e;return r.source=this,r.operator=t,r},e.prototype.subscribe=function(t,r,n){var o=this,i=zi(t)?t:new et(t,r,n);return ct(function(){var a=o,s=a.operator,f=a.source;i.add(s?s.call(i,f):f?o._subscribe(i):o._trySubscribe(i))}),i},e.prototype._trySubscribe=function(t){try{return this._subscribe(t)}catch(r){t.error(r)}},e.prototype.forEach=function(t,r){var n=this;return r=xn(r),new r(function(o,i){var a=new et({next:function(s){try{t(s)}catch(f){i(f),a.unsubscribe()}},error:i,complete:o});n.subscribe(a)})},e.prototype._subscribe=function(t){var r;return(r=this.source)===null||r===void 0?void 0:r.subscribe(t)},e.prototype[ft]=function(){return this},e.prototype.pipe=function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return Ar(t)(this)},e.prototype.toPromise=function(t){var r=this;return t=xn(t),new t(function(n,o){var i;r.subscribe(function(a){return i=a},function(a){return o(a)},function(){return n(i)})})},e.create=function(t){return new e(t)},e}();function xn(e){var t;return(t=e!=null?e:Ae.Promise)!==null&&t!==void 0?t:Promise}function Vi(e){return e&&A(e.next)&&A(e.error)&&A(e.complete)}function zi(e){return e&&e instanceof xt||Vi(e)&&It(e)}function Ni(e){return A(e==null?void 0:e.lift)}function g(e){return function(t){if(Ni(t))return t.lift(function(r){try{return e(r,this)}catch(n){this.error(n)}});throw new TypeError("Unable to lift unknown Observable type")}}function y(e,t,r,n,o){return new qi(e,t,r,n,o)}var qi=function(e){ne(t,e);function t(r,n,o,i,a,s){var f=e.call(this,r)||this;return f.onFinalize=a,f.shouldUnsubscribe=s,f._next=n?function(c){try{n(c)}catch(u){r.error(u)}}:e.prototype._next,f._error=i?function(c){try{i(c)}catch(u){r.error(u)}finally{this.unsubscribe()}}:e.prototype._error,f._complete=o?function(){try{o()}catch(c){r.error(c)}finally{this.unsubscribe()}}:e.prototype._complete,f}return t.prototype.unsubscribe=function(){var r;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){var n=this.closed;e.prototype.unsubscribe.call(this),!n&&((r=this.onFinalize)===null||r===void 0||r.call(this))}},t}(xt);var ut={schedule:function(e){var t=requestAnimationFrame,r=cancelAnimationFrame,n=ut.delegate;n&&(t=n.requestAnimationFrame,r=n.cancelAnimationFrame);var o=t(function(i){r=void 0,e(i)});return new Fe(function(){return r==null?void 0:r(o)})},requestAnimationFrame:function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var r=ut.delegate;return((r==null?void 0:r.requestAnimationFrame)||requestAnimationFrame).apply(void 0,D([],W(e)))},cancelAnimationFrame:function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var r=ut.delegate;return((r==null?void 0:r.cancelAnimationFrame)||cancelAnimationFrame).apply(void 0,D([],W(e)))},delegate:void 0};var En=at(function(e){return function(){e(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"}});var E=function(e){ne(t,e);function t(){var r=e.call(this)||this;return r.closed=!1,r.currentObservers=null,r.observers=[],r.isStopped=!1,r.hasError=!1,r.thrownError=null,r}return t.prototype.lift=function(r){var n=new wn(this,this);return n.operator=r,n},t.prototype._throwIfClosed=function(){if(this.closed)throw new En},t.prototype.next=function(r){var n=this;ct(function(){var o,i;if(n._throwIfClosed(),!n.isStopped){n.currentObservers||(n.currentObservers=Array.from(n.observers));try{for(var a=xe(n.currentObservers),s=a.next();!s.done;s=a.next()){var f=s.value;f.next(r)}}catch(c){o={error:c}}finally{try{s&&!s.done&&(i=a.return)&&i.call(a)}finally{if(o)throw o.error}}}})},t.prototype.error=function(r){var n=this;ct(function(){if(n._throwIfClosed(),!n.isStopped){n.hasError=n.isStopped=!0,n.thrownError=r;for(var o=n.observers;o.length;)o.shift().error(r)}})},t.prototype.complete=function(){var r=this;ct(function(){if(r._throwIfClosed(),!r.isStopped){r.isStopped=!0;for(var n=r.observers;n.length;)n.shift().complete()}})},t.prototype.unsubscribe=function(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null},Object.defineProperty(t.prototype,"observed",{get:function(){var r;return((r=this.observers)===null||r===void 0?void 0:r.length)>0},enumerable:!1,configurable:!0}),t.prototype._trySubscribe=function(r){return this._throwIfClosed(),e.prototype._trySubscribe.call(this,r)},t.prototype._subscribe=function(r){return this._throwIfClosed(),this._checkFinalizedStatuses(r),this._innerSubscribe(r)},t.prototype._innerSubscribe=function(r){var n=this,o=this,i=o.hasError,a=o.isStopped,s=o.observers;return i||a?Or:(this.currentObservers=null,s.push(r),new Fe(function(){n.currentObservers=null,De(s,r)}))},t.prototype._checkFinalizedStatuses=function(r){var n=this,o=n.hasError,i=n.thrownError,a=n.isStopped;o?r.error(i):a&&r.complete()},t.prototype.asObservable=function(){var r=new U;return r.source=this,r},t.create=function(r,n){return new wn(r,n)},t}(U);var wn=function(e){ne(t,e);function t(r,n){var o=e.call(this)||this;return o.destination=r,o.source=n,o}return t.prototype.next=function(r){var n,o;(o=(n=this.destination)===null||n===void 0?void 0:n.next)===null||o===void 0||o.call(n,r)},t.prototype.error=function(r){var n,o;(o=(n=this.destination)===null||n===void 0?void 0:n.error)===null||o===void 0||o.call(n,r)},t.prototype.complete=function(){var r,n;(n=(r=this.destination)===null||r===void 0?void 0:r.complete)===null||n===void 0||n.call(r)},t.prototype._subscribe=function(r){var n,o;return(o=(n=this.source)===null||n===void 0?void 0:n.subscribe(r))!==null&&o!==void 0?o:Or},t}(E);var Et={now:function(){return(Et.delegate||Date).now()},delegate:void 0};var wt=function(e){ne(t,e);function t(r,n,o){r===void 0&&(r=1/0),n===void 0&&(n=1/0),o===void 0&&(o=Et);var i=e.call(this)||this;return i._bufferSize=r,i._windowTime=n,i._timestampProvider=o,i._buffer=[],i._infiniteTimeWindow=!0,i._infiniteTimeWindow=n===1/0,i._bufferSize=Math.max(1,r),i._windowTime=Math.max(1,n),i}return t.prototype.next=function(r){var n=this,o=n.isStopped,i=n._buffer,a=n._infiniteTimeWindow,s=n._timestampProvider,f=n._windowTime;o||(i.push(r),!a&&i.push(s.now()+f)),this._trimBuffer(),e.prototype.next.call(this,r)},t.prototype._subscribe=function(r){this._throwIfClosed(),this._trimBuffer();for(var n=this._innerSubscribe(r),o=this,i=o._infiniteTimeWindow,a=o._buffer,s=a.slice(),f=0;f<s.length&&!r.closed;f+=i?1:2)r.next(s[f]);return this._checkFinalizedStatuses(r),n},t.prototype._trimBuffer=function(){var r=this,n=r._bufferSize,o=r._timestampProvider,i=r._buffer,a=r._infiniteTimeWindow,s=(a?1:2)*n;if(n<1/0&&s<i.length&&i.splice(0,i.length-s),!a){for(var f=o.now(),c=0,u=1;u<i.length&&i[u]<=f;u+=2)c=u;c&&i.splice(0,c+1)}},t}(E);var Sn=function(e){ne(t,e);function t(r,n){return e.call(this)||this}return t.prototype.schedule=function(r,n){return n===void 0&&(n=0),this},t}(Fe);var St={setInterval:function(e,t){for(var r=[],n=2;n<arguments.length;n++)r[n-2]=arguments[n];var o=St.delegate;return o!=null&&o.setInterval?o.setInterval.apply(o,D([e,t],W(r))):setInterval.apply(void 0,D([e,t],W(r)))},clearInterval:function(e){var t=St.delegate;return((t==null?void 0:t.clearInterval)||clearInterval)(e)},delegate:void 0};var Ut=function(e){ne(t,e);function t(r,n){var o=e.call(this,r,n)||this;return o.scheduler=r,o.work=n,o.pending=!1,o}return t.prototype.schedule=function(r,n){var o;if(n===void 0&&(n=0),this.closed)return this;this.state=r;var i=this.id,a=this.scheduler;return i!=null&&(this.id=this.recycleAsyncId(a,i,n)),this.pending=!0,this.delay=n,this.id=(o=this.id)!==null&&o!==void 0?o:this.requestAsyncId(a,this.id,n),this},t.prototype.requestAsyncId=function(r,n,o){return o===void 0&&(o=0),St.setInterval(r.flush.bind(r,this),o)},t.prototype.recycleAsyncId=function(r,n,o){if(o===void 0&&(o=0),o!=null&&this.delay===o&&this.pending===!1)return n;n!=null&&St.clearInterval(n)},t.prototype.execute=function(r,n){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;var o=this._execute(r,n);if(o)return o;this.pending===!1&&this.id!=null&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))},t.prototype._execute=function(r,n){var o=!1,i;try{this.work(r)}catch(a){o=!0,i=a||new Error("Scheduled action threw falsy error")}if(o)return this.unsubscribe(),i},t.prototype.unsubscribe=function(){if(!this.closed){var r=this,n=r.id,o=r.scheduler,i=o.actions;this.work=this.state=this.scheduler=null,this.pending=!1,De(i,this),n!=null&&(this.id=this.recycleAsyncId(o,n,null)),this.delay=null,e.prototype.unsubscribe.call(this)}},t}(Sn);var Cr=function(){function e(t,r){r===void 0&&(r=e.now),this.schedulerActionCtor=t,this.now=r}return e.prototype.schedule=function(t,r,n){return r===void 0&&(r=0),new this.schedulerActionCtor(this,t).schedule(n,r)},e.now=Et.now,e}();var Wt=function(e){ne(t,e);function t(r,n){n===void 0&&(n=Cr.now);var o=e.call(this,r,n)||this;return o.actions=[],o._active=!1,o}return t.prototype.flush=function(r){var n=this.actions;if(this._active){n.push(r);return}var o;this._active=!0;do if(o=r.execute(r.state,r.delay))break;while(r=n.shift());if(this._active=!1,o){for(;r=n.shift();)r.unsubscribe();throw o}},t}(Cr);var ue=new Wt(Ut),Rr=ue;var Tn=function(e){ne(t,e);function t(r,n){var o=e.call(this,r,n)||this;return o.scheduler=r,o.work=n,o}return t.prototype.requestAsyncId=function(r,n,o){return o===void 0&&(o=0),o!==null&&o>0?e.prototype.requestAsyncId.call(this,r,n,o):(r.actions.push(this),r._scheduled||(r._scheduled=ut.requestAnimationFrame(function(){return r.flush(void 0)})))},t.prototype.recycleAsyncId=function(r,n,o){var i;if(o===void 0&&(o=0),o!=null?o>0:this.delay>0)return e.prototype.recycleAsyncId.call(this,r,n,o);var a=r.actions;n!=null&&((i=a[a.length-1])===null||i===void 0?void 0:i.id)!==n&&(ut.cancelAnimationFrame(n),r._scheduled=void 0)},t}(Ut);var On=function(e){ne(t,e);function t(){return e!==null&&e.apply(this,arguments)||this}return t.prototype.flush=function(r){this._active=!0;var n=this._scheduled;this._scheduled=void 0;var o=this.actions,i;r=r||o.shift();do if(i=r.execute(r.state,r.delay))break;while((r=o[0])&&r.id===n&&o.shift());if(this._active=!1,i){for(;(r=o[0])&&r.id===n&&o.shift();)r.unsubscribe();throw i}},t}(Wt);var we=new On(Tn);var R=new U(function(e){return e.complete()});function Dt(e){return e&&A(e.schedule)}function kr(e){return e[e.length-1]}function Qe(e){return A(kr(e))?e.pop():void 0}function Se(e){return Dt(kr(e))?e.pop():void 0}function Vt(e,t){return typeof kr(e)=="number"?e.pop():t}var pt=function(e){return e&&typeof e.length=="number"&&typeof e!="function"};function zt(e){return A(e==null?void 0:e.then)}function Nt(e){return A(e[ft])}function qt(e){return Symbol.asyncIterator&&A(e==null?void 0:e[Symbol.asyncIterator])}function Kt(e){return new TypeError("You provided "+(e!==null&&typeof e=="object"?"an invalid object":"'"+e+"'")+" where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.")}function Ki(){return typeof Symbol!="function"||!Symbol.iterator?"@@iterator":Symbol.iterator}var Qt=Ki();function Yt(e){return A(e==null?void 0:e[Qt])}function Gt(e){return ln(this,arguments,function(){var r,n,o,i;return Pt(this,function(a){switch(a.label){case 0:r=e.getReader(),a.label=1;case 1:a.trys.push([1,,9,10]),a.label=2;case 2:return[4,Xe(r.read())];case 3:return n=a.sent(),o=n.value,i=n.done,i?[4,Xe(void 0)]:[3,5];case 4:return[2,a.sent()];case 5:return[4,Xe(o)];case 6:return[4,a.sent()];case 7:return a.sent(),[3,2];case 8:return[3,10];case 9:return r.releaseLock(),[7];case 10:return[2]}})})}function Bt(e){return A(e==null?void 0:e.getReader)}function $(e){if(e instanceof U)return e;if(e!=null){if(Nt(e))return Qi(e);if(pt(e))return Yi(e);if(zt(e))return Gi(e);if(qt(e))return _n(e);if(Yt(e))return Bi(e);if(Bt(e))return Ji(e)}throw Kt(e)}function Qi(e){return new U(function(t){var r=e[ft]();if(A(r.subscribe))return r.subscribe(t);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}function Yi(e){return new U(function(t){for(var r=0;r<e.length&&!t.closed;r++)t.next(e[r]);t.complete()})}function Gi(e){return new U(function(t){e.then(function(r){t.closed||(t.next(r),t.complete())},function(r){return t.error(r)}).then(null,Ft)})}function Bi(e){return new U(function(t){var r,n;try{for(var o=xe(e),i=o.next();!i.done;i=o.next()){var a=i.value;if(t.next(a),t.closed)return}}catch(s){r={error:s}}finally{try{i&&!i.done&&(n=o.return)&&n.call(o)}finally{if(r)throw r.error}}t.complete()})}function _n(e){return new U(function(t){Xi(e,t).catch(function(r){return t.error(r)})})}function Ji(e){return _n(Gt(e))}function Xi(e,t){var r,n,o,i;return pn(this,void 0,void 0,function(){var a,s;return Pt(this,function(f){switch(f.label){case 0:f.trys.push([0,5,6,11]),r=mn(e),f.label=1;case 1:return[4,r.next()];case 2:if(n=f.sent(),!!n.done)return[3,4];if(a=n.value,t.next(a),t.closed)return[2];f.label=3;case 3:return[3,1];case 4:return[3,11];case 5:return s=f.sent(),o={error:s},[3,11];case 6:return f.trys.push([6,,9,10]),n&&!n.done&&(i=r.return)?[4,i.call(r)]:[3,8];case 7:f.sent(),f.label=8;case 8:return[3,10];case 9:if(o)throw o.error;return[7];case 10:return[7];case 11:return t.complete(),[2]}})})}function be(e,t,r,n,o){n===void 0&&(n=0),o===void 0&&(o=!1);var i=t.schedule(function(){r(),o?e.add(this.schedule(null,n)):this.unsubscribe()},n);if(e.add(i),!o)return i}function Ve(e,t){return t===void 0&&(t=0),g(function(r,n){r.subscribe(y(n,function(o){return be(n,e,function(){return n.next(o)},t)},function(){return be(n,e,function(){return n.complete()},t)},function(o){return be(n,e,function(){return n.error(o)},t)}))})}function tt(e,t){return t===void 0&&(t=0),g(function(r,n){n.add(e.schedule(function(){return r.subscribe(n)},t))})}function Mn(e,t){return $(e).pipe(tt(t),Ve(t))}function Ln(e,t){return $(e).pipe(tt(t),Ve(t))}function An(e,t){return new U(function(r){var n=0;return t.schedule(function(){n===e.length?r.complete():(r.next(e[n++]),r.closed||this.schedule())})})}function Cn(e,t){return new U(function(r){var n;return be(r,t,function(){n=e[Qt](),be(r,t,function(){var o,i,a;try{o=n.next(),i=o.value,a=o.done}catch(s){r.error(s);return}a?r.complete():r.next(i)},0,!0)}),function(){return A(n==null?void 0:n.return)&&n.return()}})}function Jt(e,t){if(!e)throw new Error("Iterable cannot be null");return new U(function(r){be(r,t,function(){var n=e[Symbol.asyncIterator]();be(r,t,function(){n.next().then(function(o){o.done?r.complete():r.next(o.value)})},0,!0)})})}function Rn(e,t){return Jt(Gt(e),t)}function kn(e,t){if(e!=null){if(Nt(e))return Mn(e,t);if(pt(e))return An(e,t);if(zt(e))return Ln(e,t);if(qt(e))return Jt(e,t);if(Yt(e))return Cn(e,t);if(Bt(e))return Rn(e,t)}throw Kt(e)}function ve(e,t){return t?kn(e,t):$(e)}function H(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var r=Se(e);return ve(e,r)}function Tt(e,t){var r=A(e)?e:function(){return e},n=function(o){return o.error(r())};return new U(t?function(o){return t.schedule(n,0,o)}:n)}var Xt=at(function(e){return function(){e(this),this.name="EmptyError",this.message="no elements in sequence"}});function Hn(e){return e instanceof Date&&!isNaN(e)}function l(e,t){return g(function(r,n){var o=0;r.subscribe(y(n,function(i){n.next(e.call(t,i,o++))}))})}var Zi=Array.isArray;function ea(e,t){return Zi(t)?e.apply(void 0,D([],W(t))):e(t)}function Ye(e){return l(function(t){return ea(e,t)})}var ta=Array.isArray,ra=Object.getPrototypeOf,na=Object.prototype,oa=Object.keys;function Pn(e){if(e.length===1){var t=e[0];if(ta(t))return{args:t,keys:null};if(ia(t)){var r=oa(t);return{args:r.map(function(n){return t[n]}),keys:r}}}return{args:e,keys:null}}function ia(e){return e&&typeof e=="object"&&ra(e)===na}function $n(e,t){return e.reduce(function(r,n,o){return r[n]=t[o],r},{})}function Q(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var r=Se(e),n=Qe(e),o=Pn(e),i=o.args,a=o.keys;if(i.length===0)return ve([],r);var s=new U(Hr(i,r,a?function(f){return $n(a,f)}:me));return n?s.pipe(Ye(n)):s}function Hr(e,t,r){return r===void 0&&(r=me),function(n){In(t,function(){for(var o=e.length,i=new Array(o),a=o,s=o,f=function(u){In(t,function(){var p=ve(e[u],t),m=!1;p.subscribe(y(n,function(d){i[u]=d,m||(m=!0,s--),s||n.next(r(i.slice()))},function(){--a||n.complete()}))},n)},c=0;c<o;c++)f(c)},n)}}function In(e,t,r){e?be(r,e,t):t()}function Fn(e,t,r,n,o,i,a,s){var f=[],c=0,u=0,p=!1,m=function(){p&&!f.length&&!c&&t.complete()},d=function(v){return c<n?h(v):f.push(v)},h=function(v){i&&t.next(v),c++;var B=!1;$(r(v,u++)).subscribe(y(t,function(re){o==null||o(re),i?d(re):t.next(re)},function(){B=!0},void 0,function(){if(B)try{c--;for(var re=function(){var z=f.shift();a?be(t,a,function(){return h(z)}):h(z)};f.length&&c<n;)re();m()}catch(z){t.error(z)}}))};return e.subscribe(y(t,d,function(){p=!0,m()})),function(){s==null||s()}}function ie(e,t,r){return r===void 0&&(r=1/0),A(t)?ie(function(n,o){return l(function(i,a){return t(n,i,o,a)})($(e(n,o)))},r):(typeof t=="number"&&(r=t),g(function(n,o){return Fn(n,o,e,r)}))}function lt(e){return e===void 0&&(e=1/0),ie(me,e)}function jn(){return lt(1)}function rt(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return jn()(ve(e,Se(e)))}function I(e){return new U(function(t){$(e()).subscribe(t)})}var aa=["addListener","removeListener"],sa=["addEventListener","removeEventListener"],ca=["on","off"];function b(e,t,r,n){if(A(r)&&(n=r,r=void 0),n)return b(e,t,r).pipe(Ye(n));var o=W(pa(e)?sa.map(function(s){return function(f){return e[s](t,f,r)}}):fa(e)?aa.map(Un(e,t)):ua(e)?ca.map(Un(e,t)):[],2),i=o[0],a=o[1];if(!i&&pt(e))return ie(function(s){return b(s,t,r)})($(e));if(!i)throw new TypeError("Invalid event target");return new U(function(s){var f=function(){for(var c=[],u=0;u<arguments.length;u++)c[u]=arguments[u];return s.next(1<c.length?c:c[0])};return i(f),function(){return a(f)}})}function Un(e,t){return function(r){return function(n){return e[r](t,n)}}}function fa(e){return A(e.addListener)&&A(e.removeListener)}function ua(e){return A(e.on)&&A(e.off)}function pa(e){return A(e.addEventListener)&&A(e.removeEventListener)}function Zt(e,t,r){return r?Zt(e,t).pipe(Ye(r)):new U(function(n){var o=function(){for(var a=[],s=0;s<arguments.length;s++)a[s]=arguments[s];return n.next(a.length===1?a[0]:a)},i=e(o);return A(t)?function(){return t(o,i)}:void 0})}function Ge(e,t,r){e===void 0&&(e=0),r===void 0&&(r=Rr);var n=-1;return t!=null&&(Dt(t)?r=t:n=t),new U(function(o){var i=Hn(e)?+e-r.now():e;i<0&&(i=0);var a=0;return r.schedule(function(){o.closed||(o.next(a++),0<=n?this.schedule(void 0,n):o.complete())},i)})}function L(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var r=Se(e),n=Vt(e,1/0),o=e;return o.length?o.length===1?$(o[0]):lt(n)(ve(o,r)):R}var Te=new U(le);var la=Array.isArray;function mt(e){return e.length===1&&la(e[0])?e[0]:e}function _(e,t){return g(function(r,n){var o=0;r.subscribe(y(n,function(i){return e.call(t,i,o++)&&n.next(i)}))})}function Ot(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var r=Qe(e),n=mt(e);return n.length?new U(function(o){var i=n.map(function(){return[]}),a=n.map(function(){return!1});o.add(function(){i=a=null});for(var s=function(c){$(n[c]).subscribe(y(o,function(u){if(i[c].push(u),i.every(function(m){return m.length})){var p=i.map(function(m){return m.shift()});o.next(r?r.apply(void 0,D([],W(p))):p),i.some(function(m,d){return!m.length&&a[d]})&&o.complete()}},function(){a[c]=!0,!i[c].length&&o.complete()}))},f=0;!o.closed&&f<n.length;f++)s(f);return function(){i=a=null}}):R}function Wn(e){return g(function(t,r){var n=!1,o=null,i=null,a=!1,s=function(){if(i==null||i.unsubscribe(),i=null,n){n=!1;var c=o;o=null,r.next(c)}a&&r.complete()},f=function(){i=null,a&&r.complete()};t.subscribe(y(r,function(c){n=!0,o=c,i||$(e(c)).subscribe(i=y(r,s,f))},function(){a=!0,(!n||!i||i.closed)&&r.complete()}))})}function Ce(e,t){return t===void 0&&(t=ue),Wn(function(){return Ge(e,t)})}function Re(e,t){return t===void 0&&(t=null),t=t!=null?t:e,g(function(r,n){var o=[],i=0;r.subscribe(y(n,function(a){var s,f,c,u,p=null;i++%t===0&&o.push([]);try{for(var m=xe(o),d=m.next();!d.done;d=m.next()){var h=d.value;h.push(a),e<=h.length&&(p=p!=null?p:[],p.push(h))}}catch(re){s={error:re}}finally{try{d&&!d.done&&(f=m.return)&&f.call(m)}finally{if(s)throw s.error}}if(p)try{for(var v=xe(p),B=v.next();!B.done;B=v.next()){var h=B.value;De(o,h),n.next(h)}}catch(re){c={error:re}}finally{try{B&&!B.done&&(u=v.return)&&u.call(v)}finally{if(c)throw c.error}}},function(){var a,s;try{for(var f=xe(o),c=f.next();!c.done;c=f.next()){var u=c.value;n.next(u)}}catch(p){a={error:p}}finally{try{c&&!c.done&&(s=f.return)&&s.call(f)}finally{if(a)throw a.error}}n.complete()},void 0,function(){o=null}))})}function ce(e){return g(function(t,r){var n=null,o=!1,i;n=t.subscribe(y(r,void 0,void 0,function(a){i=$(e(a,ce(e)(t))),n?(n.unsubscribe(),n=null,i.subscribe(r)):o=!0})),o&&(n.unsubscribe(),n=null,i.subscribe(r))})}function Dn(e,t,r,n,o){return function(i,a){var s=r,f=t,c=0;i.subscribe(y(a,function(u){var p=c++;f=s?e(f,u,p):(s=!0,u),n&&a.next(f)},o&&function(){s&&a.next(f),a.complete()}))}}function Pr(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var r=Qe(e);return r?yn(Pr.apply(void 0,D([],W(e))),Ye(r)):g(function(n,o){Hr(D([n],W(mt(e))))(o)})}function nt(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return Pr.apply(void 0,D([],W(e)))}function $r(e,t){return A(t)?ie(e,t,1):ie(e,1)}function ke(e,t){return t===void 0&&(t=ue),g(function(r,n){var o=null,i=null,a=null,s=function(){if(o){o.unsubscribe(),o=null;var c=i;i=null,n.next(c)}};function f(){var c=a+e,u=t.now();if(u<c){o=this.schedule(void 0,c-u),n.add(o);return}s()}r.subscribe(y(n,function(c){i=c,a=t.now(),o||(o=t.schedule(f,e),n.add(o))},function(){s(),n.complete()},void 0,function(){i=o=null}))})}function He(e){return g(function(t,r){var n=!1;t.subscribe(y(r,function(o){n=!0,r.next(o)},function(){n||r.next(e),r.complete()}))})}function Oe(e){return e<=0?function(){return R}:g(function(t,r){var n=0;t.subscribe(y(r,function(o){++n<=e&&(r.next(o),e<=n&&r.complete())}))})}function ee(){return g(function(e,t){e.subscribe(y(t,le))})}function Vn(e){return l(function(){return e})}function Ir(e,t){return t?function(r){return rt(t.pipe(Oe(1),ee()),r.pipe(Ir(e)))}:ie(function(r,n){return $(e(r,n)).pipe(Oe(1),Vn(r))})}function ze(e,t){t===void 0&&(t=ue);var r=Ge(e,t);return Ir(function(){return r})}function Y(e,t){return t===void 0&&(t=me),e=e!=null?e:ma,g(function(r,n){var o,i=!0;r.subscribe(y(n,function(a){var s=t(a);(i||!e(o,s))&&(i=!1,o=s,n.next(a))}))})}function ma(e,t){return e===t}function X(e,t){return Y(function(r,n){return t?t(r[e],n[e]):r[e]===n[e]})}function zn(e){return e===void 0&&(e=da),g(function(t,r){var n=!1;t.subscribe(y(r,function(o){n=!0,r.next(o)},function(){return n?r.complete():r.error(e())}))})}function da(){return new Xt}function oe(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return function(r){return rt(r,H.apply(void 0,D([],W(e))))}}function C(e){return g(function(t,r){try{t.subscribe(r)}finally{r.add(e)}})}function Pe(e,t){var r=arguments.length>=2;return function(n){return n.pipe(e?_(function(o,i){return e(o,i,n)}):me,Oe(1),r?He(t):zn(function(){return new Xt}))}}function Nn(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var r=Se(e),n=Vt(e,1/0);return e=mt(e),g(function(o,i){lt(n)(ve(D([o],W(e)),r)).subscribe(i)})}function Ne(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return Nn.apply(void 0,D([],W(e)))}function _t(e){var t,r=1/0,n;return e!=null&&(typeof e=="object"?(t=e.count,r=t===void 0?1/0:t,n=e.delay):r=e),r<=0?function(){return R}:g(function(o,i){var a=0,s,f=function(){if(s==null||s.unsubscribe(),s=null,n!=null){var u=typeof n=="number"?Ge(n):$(n(a)),p=y(i,function(){p.unsubscribe(),c()});u.subscribe(p)}else c()},c=function(){var u=!1;s=o.subscribe(y(i,void 0,function(){++a<r?s?f():u=!0:i.complete()})),u&&f()};c()})}function er(e){return g(function(t,r){var n=!1,o=null;t.subscribe(y(r,function(i){n=!0,o=i})),$(e).subscribe(y(r,function(){if(n){n=!1;var i=o;o=null,r.next(i)}},le))})}function Fr(e,t){return g(Dn(e,t,arguments.length>=2,!0))}function fe(e){e===void 0&&(e={});var t=e.connector,r=t===void 0?function(){return new E}:t,n=e.resetOnError,o=n===void 0?!0:n,i=e.resetOnComplete,a=i===void 0?!0:i,s=e.resetOnRefCountZero,f=s===void 0?!0:s;return function(c){var u,p,m,d=0,h=!1,v=!1,B=function(){p==null||p.unsubscribe(),p=void 0},re=function(){B(),u=m=void 0,h=v=!1},z=function(){var T=u;re(),T==null||T.unsubscribe()};return g(function(T,Ke){d++,!v&&!h&&B();var We=m=m!=null?m:r();Ke.add(function(){d--,d===0&&!v&&!h&&(p=jr(z,f))}),We.subscribe(Ke),!u&&d>0&&(u=new et({next:function(Ie){return We.next(Ie)},error:function(Ie){v=!0,B(),p=jr(re,o,Ie),We.error(Ie)},complete:function(){h=!0,B(),p=jr(re,a),We.complete()}}),$(T).subscribe(u))})(c)}}function jr(e,t){for(var r=[],n=2;n<arguments.length;n++)r[n-2]=arguments[n];if(t===!0){e();return}if(t!==!1){var o=new et({next:function(){o.unsubscribe(),e()}});return $(t.apply(void 0,D([],W(r)))).subscribe(o)}}function J(e,t,r){var n,o,i,a,s=!1;return e&&typeof e=="object"?(n=e.bufferSize,a=n===void 0?1/0:n,o=e.windowTime,t=o===void 0?1/0:o,i=e.refCount,s=i===void 0?!1:i,r=e.scheduler):a=e!=null?e:1/0,fe({connector:function(){return new wt(a,t,r)},resetOnError:!0,resetOnComplete:!1,resetOnRefCountZero:s})}function $e(e){return _(function(t,r){return e<=r})}function Mt(e){return g(function(t,r){var n=!1,o=y(r,function(){o==null||o.unsubscribe(),n=!0},le);$(e).subscribe(o),t.subscribe(y(r,function(i){return n&&r.next(i)}))})}function N(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var r=Se(e);return g(function(n,o){(r?rt(e,n,r):rt(e,n)).subscribe(o)})}function x(e,t){return g(function(r,n){var o=null,i=0,a=!1,s=function(){return a&&!o&&n.complete()};r.subscribe(y(n,function(f){o==null||o.unsubscribe();var c=0,u=i++;$(e(f,u)).subscribe(o=y(n,function(p){return n.next(t?t(f,p,u,c++):p)},function(){o=null,s()}))},function(){a=!0,s()}))})}function G(e){return g(function(t,r){$(e).subscribe(y(r,function(){return r.complete()},le)),!r.closed&&t.subscribe(r)})}function Ur(e,t){return t===void 0&&(t=!1),g(function(r,n){var o=0;r.subscribe(y(n,function(i){var a=e(i,o++);(a||t)&&n.next(i),!a&&n.complete()}))})}function S(e,t,r){var n=A(e)||t||r?{next:e,error:t,complete:r}:e;return n?g(function(o,i){var a;(a=n.subscribe)===null||a===void 0||a.call(n);var s=!0;o.subscribe(y(i,function(f){var c;(c=n.next)===null||c===void 0||c.call(n,f),i.next(f)},function(){var f;s=!1,(f=n.complete)===null||f===void 0||f.call(n),i.complete()},function(f){var c;s=!1,(c=n.error)===null||c===void 0||c.call(n,f),i.error(f)},function(){var f,c;s&&((f=n.unsubscribe)===null||f===void 0||f.call(n)),(c=n.finalize)===null||c===void 0||c.call(n)}))}):me}var Wr={leading:!0,trailing:!1};function qn(e,t){return t===void 0&&(t=Wr),g(function(r,n){var o=t.leading,i=t.trailing,a=!1,s=null,f=null,c=!1,u=function(){f==null||f.unsubscribe(),f=null,i&&(d(),c&&n.complete())},p=function(){f=null,c&&n.complete()},m=function(h){return f=$(e(h)).subscribe(y(n,u,p))},d=function(){if(a){a=!1;var h=s;s=null,n.next(h),!c&&m(h)}};r.subscribe(y(n,function(h){a=!0,s=h,!(f&&!f.closed)&&(o?d():m(h))},function(){c=!0,!(i&&a&&f&&!f.closed)&&n.complete()}))})}function Dr(e,t,r){t===void 0&&(t=ue),r===void 0&&(r=Wr);var n=Ge(e,t);return qn(function(){return n},r)}function ae(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var r=Qe(e);return g(function(n,o){for(var i=e.length,a=new Array(i),s=e.map(function(){return!1}),f=!1,c=function(p){$(e[p]).subscribe(y(o,function(m){a[p]=m,!f&&!s[p]&&(s[p]=!0,(f=s.every(me))&&(s=null))},le))},u=0;u<i;u++)c(u);n.subscribe(y(o,function(p){if(f){var m=D([p],W(a));o.next(r?r.apply(void 0,D([],W(m))):m)}}))})}function Kn(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return g(function(r,n){Ot.apply(void 0,D([r],W(e))).subscribe(n)})}function Vr(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return Kn.apply(void 0,D([],W(e)))}function Qn(){let e=new wt(1);return b(document,"DOMContentLoaded",{once:!0}).subscribe(()=>e.next(document)),e}function K(e,t=document){return Array.from(t.querySelectorAll(e))}function V(e,t=document){let r=se(e,t);if(typeof r=="undefined")throw new ReferenceError(`Missing element: expected "${e}" to be present`);return r}function se(e,t=document){return t.querySelector(e)||void 0}function _e(){return document.activeElement instanceof HTMLElement&&document.activeElement||void 0}function tr(e){return L(b(document.body,"focusin"),b(document.body,"focusout")).pipe(ke(1),l(()=>{let t=_e();return typeof t!="undefined"?e.contains(t):!1}),N(e===_e()),Y())}function Be(e){return{x:e.offsetLeft,y:e.offsetTop}}function Yn(e){return L(b(window,"load"),b(window,"resize")).pipe(Ce(0,we),l(()=>Be(e)),N(Be(e)))}function rr(e){return{x:e.scrollLeft,y:e.scrollTop}}function dt(e){return L(b(e,"scroll"),b(window,"resize")).pipe(Ce(0,we),l(()=>rr(e)),N(rr(e)))}var Bn=function(){if(typeof Map!="undefined")return Map;function e(t,r){var n=-1;return t.some(function(o,i){return o[0]===r?(n=i,!0):!1}),n}return function(){function t(){this.__entries__=[]}return Object.defineProperty(t.prototype,"size",{get:function(){return this.__entries__.length},enumerable:!0,configurable:!0}),t.prototype.get=function(r){var n=e(this.__entries__,r),o=this.__entries__[n];return o&&o[1]},t.prototype.set=function(r,n){var o=e(this.__entries__,r);~o?this.__entries__[o][1]=n:this.__entries__.push([r,n])},t.prototype.delete=function(r){var n=this.__entries__,o=e(n,r);~o&&n.splice(o,1)},t.prototype.has=function(r){return!!~e(this.__entries__,r)},t.prototype.clear=function(){this.__entries__.splice(0)},t.prototype.forEach=function(r,n){n===void 0&&(n=null);for(var o=0,i=this.__entries__;o<i.length;o++){var a=i[o];r.call(n,a[1],a[0])}},t}()}(),zr=typeof window!="undefined"&&typeof document!="undefined"&&window.document===document,nr=function(){return typeof global!="undefined"&&global.Math===Math?global:typeof self!="undefined"&&self.Math===Math?self:typeof window!="undefined"&&window.Math===Math?window:Function("return this")()}(),ha=function(){return typeof requestAnimationFrame=="function"?requestAnimationFrame.bind(nr):function(e){return setTimeout(function(){return e(Date.now())},1e3/60)}}(),ba=2;function va(e,t){var r=!1,n=!1,o=0;function i(){r&&(r=!1,e()),n&&s()}function a(){ha(i)}function s(){var f=Date.now();if(r){if(f-o<ba)return;n=!0}else r=!0,n=!1,setTimeout(a,t);o=f}return s}var ga=20,ya=["top","right","bottom","left","width","height","size","weight"],xa=typeof MutationObserver!="undefined",Ea=function(){function e(){this.connected_=!1,this.mutationEventsAdded_=!1,this.mutationsObserver_=null,this.observers_=[],this.onTransitionEnd_=this.onTransitionEnd_.bind(this),this.refresh=va(this.refresh.bind(this),ga)}return e.prototype.addObserver=function(t){~this.observers_.indexOf(t)||this.observers_.push(t),this.connected_||this.connect_()},e.prototype.removeObserver=function(t){var r=this.observers_,n=r.indexOf(t);~n&&r.splice(n,1),!r.length&&this.connected_&&this.disconnect_()},e.prototype.refresh=function(){var t=this.updateObservers_();t&&this.refresh()},e.prototype.updateObservers_=function(){var t=this.observers_.filter(function(r){return r.gatherActive(),r.hasActive()});return t.forEach(function(r){return r.broadcastActive()}),t.length>0},e.prototype.connect_=function(){!zr||this.connected_||(document.addEventListener("transitionend",this.onTransitionEnd_),window.addEventListener("resize",this.refresh),xa?(this.mutationsObserver_=new MutationObserver(this.refresh),this.mutationsObserver_.observe(document,{attributes:!0,childList:!0,characterData:!0,subtree:!0})):(document.addEventListener("DOMSubtreeModified",this.refresh),this.mutationEventsAdded_=!0),this.connected_=!0)},e.prototype.disconnect_=function(){!zr||!this.connected_||(document.removeEventListener("transitionend",this.onTransitionEnd_),window.removeEventListener("resize",this.refresh),this.mutationsObserver_&&this.mutationsObserver_.disconnect(),this.mutationEventsAdded_&&document.removeEventListener("DOMSubtreeModified",this.refresh),this.mutationsObserver_=null,this.mutationEventsAdded_=!1,this.connected_=!1)},e.prototype.onTransitionEnd_=function(t){var r=t.propertyName,n=r===void 0?"":r,o=ya.some(function(i){return!!~n.indexOf(i)});o&&this.refresh()},e.getInstance=function(){return this.instance_||(this.instance_=new e),this.instance_},e.instance_=null,e}(),Jn=function(e,t){for(var r=0,n=Object.keys(t);r<n.length;r++){var o=n[r];Object.defineProperty(e,o,{value:t[o],enumerable:!1,writable:!1,configurable:!0})}return e},ht=function(e){var t=e&&e.ownerDocument&&e.ownerDocument.defaultView;return t||nr},Xn=ir(0,0,0,0);function or(e){return parseFloat(e)||0}function Gn(e){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];return t.reduce(function(n,o){var i=e["border-"+o+"-width"];return n+or(i)},0)}function wa(e){for(var t=["top","right","bottom","left"],r={},n=0,o=t;n<o.length;n++){var i=o[n],a=e["padding-"+i];r[i]=or(a)}return r}function Sa(e){var t=e.getBBox();return ir(0,0,t.width,t.height)}function Ta(e){var t=e.clientWidth,r=e.clientHeight;if(!t&&!r)return Xn;var n=ht(e).getComputedStyle(e),o=wa(n),i=o.left+o.right,a=o.top+o.bottom,s=or(n.width),f=or(n.height);if(n.boxSizing==="border-box"&&(Math.round(s+i)!==t&&(s-=Gn(n,"left","right")+i),Math.round(f+a)!==r&&(f-=Gn(n,"top","bottom")+a)),!_a(e)){var c=Math.round(s+i)-t,u=Math.round(f+a)-r;Math.abs(c)!==1&&(s-=c),Math.abs(u)!==1&&(f-=u)}return ir(o.left,o.top,s,f)}var Oa=function(){return typeof SVGGraphicsElement!="undefined"?function(e){return e instanceof ht(e).SVGGraphicsElement}:function(e){return e instanceof ht(e).SVGElement&&typeof e.getBBox=="function"}}();function _a(e){return e===ht(e).document.documentElement}function Ma(e){return zr?Oa(e)?Sa(e):Ta(e):Xn}function La(e){var t=e.x,r=e.y,n=e.width,o=e.height,i=typeof DOMRectReadOnly!="undefined"?DOMRectReadOnly:Object,a=Object.create(i.prototype);return Jn(a,{x:t,y:r,width:n,height:o,top:r,right:t+n,bottom:o+r,left:t}),a}function ir(e,t,r,n){return{x:e,y:t,width:r,height:n}}var Aa=function(){function e(t){this.broadcastWidth=0,this.broadcastHeight=0,this.contentRect_=ir(0,0,0,0),this.target=t}return e.prototype.isActive=function(){var t=Ma(this.target);return this.contentRect_=t,t.width!==this.broadcastWidth||t.height!==this.broadcastHeight},e.prototype.broadcastRect=function(){var t=this.contentRect_;return this.broadcastWidth=t.width,this.broadcastHeight=t.height,t},e}(),Ca=function(){function e(t,r){var n=La(r);Jn(this,{target:t,contentRect:n})}return e}(),Ra=function(){function e(t,r,n){if(this.activeObservations_=[],this.observations_=new Bn,typeof t!="function")throw new TypeError("The callback provided as parameter 1 is not a function.");this.callback_=t,this.controller_=r,this.callbackCtx_=n}return e.prototype.observe=function(t){if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");if(!(typeof Element=="undefined"||!(Element instanceof Object))){if(!(t instanceof ht(t).Element))throw new TypeError('parameter 1 is not of type "Element".');var r=this.observations_;r.has(t)||(r.set(t,new Aa(t)),this.controller_.addObserver(this),this.controller_.refresh())}},e.prototype.unobserve=function(t){if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");if(!(typeof Element=="undefined"||!(Element instanceof Object))){if(!(t instanceof ht(t).Element))throw new TypeError('parameter 1 is not of type "Element".');var r=this.observations_;r.has(t)&&(r.delete(t),r.size||this.controller_.removeObserver(this))}},e.prototype.disconnect=function(){this.clearActive(),this.observations_.clear(),this.controller_.removeObserver(this)},e.prototype.gatherActive=function(){var t=this;this.clearActive(),this.observations_.forEach(function(r){r.isActive()&&t.activeObservations_.push(r)})},e.prototype.broadcastActive=function(){if(this.hasActive()){var t=this.callbackCtx_,r=this.activeObservations_.map(function(n){return new Ca(n.target,n.broadcastRect())});this.callback_.call(t,r,t),this.clearActive()}},e.prototype.clearActive=function(){this.activeObservations_.splice(0)},e.prototype.hasActive=function(){return this.activeObservations_.length>0},e}(),Zn=typeof WeakMap!="undefined"?new WeakMap:new Bn,eo=function(){function e(t){if(!(this instanceof e))throw new TypeError("Cannot call a class as a function.");if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");var r=Ea.getInstance(),n=new Ra(t,r,this);Zn.set(this,n)}return e}();["observe","unobserve","disconnect"].forEach(function(e){eo.prototype[e]=function(){var t;return(t=Zn.get(this))[e].apply(t,arguments)}});var ka=function(){return typeof nr.ResizeObserver!="undefined"?nr.ResizeObserver:eo}(),to=ka;var ro=new E,Ha=I(()=>H(new to(e=>{for(let t of e)ro.next(t)}))).pipe(x(e=>L(Te,H(e)).pipe(C(()=>e.disconnect()))),J(1));function de(e){return{width:e.offsetWidth,height:e.offsetHeight}}function ge(e){return Ha.pipe(S(t=>t.observe(e)),x(t=>ro.pipe(_(({target:r})=>r===e),C(()=>t.unobserve(e)),l(()=>de(e)))),N(de(e)))}function bt(e){return{width:e.scrollWidth,height:e.scrollHeight}}function ar(e){let t=e.parentElement;for(;t&&(e.scrollWidth<=t.scrollWidth&&e.scrollHeight<=t.scrollHeight);)t=(e=t).parentElement;return t?e:void 0}var no=new E,Pa=I(()=>H(new IntersectionObserver(e=>{for(let t of e)no.next(t)},{threshold:0}))).pipe(x(e=>L(Te,H(e)).pipe(C(()=>e.disconnect()))),J(1));function sr(e){return Pa.pipe(S(t=>t.observe(e)),x(t=>no.pipe(_(({target:r})=>r===e),C(()=>t.unobserve(e)),l(({isIntersecting:r})=>r))))}function oo(e,t=16){return dt(e).pipe(l(({y:r})=>{let n=de(e),o=bt(e);return r>=o.height-n.height-t}),Y())}var cr={drawer:V("[data-md-toggle=drawer]"),search:V("[data-md-toggle=search]")};function io(e){return cr[e].checked}function qe(e,t){cr[e].checked!==t&&cr[e].click()}function je(e){let t=cr[e];return b(t,"change").pipe(l(()=>t.checked),N(t.checked))}function $a(e,t){switch(e.constructor){case HTMLInputElement:return e.type==="radio"?/^Arrow/.test(t):!0;case HTMLSelectElement:case HTMLTextAreaElement:return!0;default:return e.isContentEditable}}function Ia(){return L(b(window,"compositionstart").pipe(l(()=>!0)),b(window,"compositionend").pipe(l(()=>!1))).pipe(N(!1))}function ao(){let e=b(window,"keydown").pipe(_(t=>!(t.metaKey||t.ctrlKey)),l(t=>({mode:io("search")?"search":"global",type:t.key,claim(){t.preventDefault(),t.stopPropagation()}})),_(({mode:t,type:r})=>{if(t==="global"){let n=_e();if(typeof n!="undefined")return!$a(n,r)}return!0}),fe());return Ia().pipe(x(t=>t?R:e))}function Me(){return new URL(location.href)}function ot(e){location.href=e.href}function so(){return new E}function co(e,t){if(typeof t=="string"||typeof t=="number")e.innerHTML+=t.toString();else if(t instanceof Node)e.appendChild(t);else if(Array.isArray(t))for(let r of t)co(e,r)}function M(e,t,...r){let n=document.createElement(e);if(t)for(let o of Object.keys(t))typeof t[o]!="undefined"&&(typeof t[o]!="boolean"?n.setAttribute(o,t[o]):n.setAttribute(o,""));for(let o of r)co(n,o);return n}function fr(e){if(e>999){let t=+((e-950)%1e3>99);return`${((e+1e-6)/1e3).toFixed(t)}k`}else return e.toString()}function fo(){return location.hash.substring(1)}function uo(e){let t=M("a",{href:e});t.addEventListener("click",r=>r.stopPropagation()),t.click()}function Fa(){return b(window,"hashchange").pipe(l(fo),N(fo()),_(e=>e.length>0),J(1))}function po(){return Fa().pipe(l(e=>se(`[id="${e}"]`)),_(e=>typeof e!="undefined"))}function Nr(e){let t=matchMedia(e);return Zt(r=>t.addListener(()=>r(t.matches))).pipe(N(t.matches))}function lo(){let e=matchMedia("print");return L(b(window,"beforeprint").pipe(l(()=>!0)),b(window,"afterprint").pipe(l(()=>!1))).pipe(N(e.matches))}function qr(e,t){return e.pipe(x(r=>r?t():R))}function ur(e,t={credentials:"same-origin"}){return ve(fetch(`${e}`,t)).pipe(ce(()=>R),x(r=>r.status!==200?Tt(()=>new Error(r.statusText)):H(r)))}function Ue(e,t){return ur(e,t).pipe(x(r=>r.json()),J(1))}function mo(e,t){let r=new DOMParser;return ur(e,t).pipe(x(n=>n.text()),l(n=>r.parseFromString(n,"text/xml")),J(1))}function pr(e){let t=M("script",{src:e});return I(()=>(document.head.appendChild(t),L(b(t,"load"),b(t,"error").pipe(x(()=>Tt(()=>new ReferenceError(`Invalid script: ${e}`))))).pipe(l(()=>{}),C(()=>document.head.removeChild(t)),Oe(1))))}function ho(){return{x:Math.max(0,scrollX),y:Math.max(0,scrollY)}}function bo(){return L(b(window,"scroll",{passive:!0}),b(window,"resize",{passive:!0})).pipe(l(ho),N(ho()))}function vo(){return{width:innerWidth,height:innerHeight}}function go(){return b(window,"resize",{passive:!0}).pipe(l(vo),N(vo()))}function yo(){return Q([bo(),go()]).pipe(l(([e,t])=>({offset:e,size:t})),J(1))}function lr(e,{viewport$:t,header$:r}){let n=t.pipe(X("size")),o=Q([n,r]).pipe(l(()=>Be(e)));return Q([r,t,o]).pipe(l(([{height:i},{offset:a,size:s},{x:f,y:c}])=>({offset:{x:a.x-f,y:a.y-c+i},size:s})))}(()=>{function e(n,o){parent.postMessage(n,o||"*")}function t(...n){return n.reduce((o,i)=>o.then(()=>new Promise(a=>{let s=document.createElement("script");s.src=i,s.onload=a,document.body.appendChild(s)})),Promise.resolve())}var r=class{constructor(n){this.url=n,this.onerror=null,this.onmessage=null,this.onmessageerror=null,this.m=a=>{a.source===this.w&&(a.stopImmediatePropagation(),this.dispatchEvent(new MessageEvent("message",{data:a.data})),this.onmessage&&this.onmessage(a))},this.e=(a,s,f,c,u)=>{if(s===this.url.toString()){let p=new ErrorEvent("error",{message:a,filename:s,lineno:f,colno:c,error:u});this.dispatchEvent(p),this.onerror&&this.onerror(p)}};let o=new EventTarget;this.addEventListener=o.addEventListener.bind(o),this.removeEventListener=o.removeEventListener.bind(o),this.dispatchEvent=o.dispatchEvent.bind(o);let i=document.createElement("iframe");i.width=i.height=i.frameBorder="0",document.body.appendChild(this.iframe=i),this.w.document.open(),this.w.document.write(`<html><body><script>postMessage=${e};importScripts=${t};addEventListener("error",ev=>{parent.dispatchEvent(new ErrorEvent("error",{filename:"${n}",error:ev.error}))})<\/script><script src="${n}?${+Date.now()}"><\/script></body></html>`),this.w.document.close(),window.onmessage=this.m,window.onerror=this.e,this.r=new Promise((a,s)=>{this.w.onload=a,this.w.onerror=s})}terminate(){document.body.removeChild(this.iframe),window.onmessage=window.onerror=null}postMessage(n){this.r.catch().then(()=>{this.w.dispatchEvent(new MessageEvent("message",{data:n}))})}get w(){return this.iframe.contentWindow}};window.IFrameWorker=r,location.protocol==="file:"&&(window.Worker=r)})();function ja(e){return b(e,"message",t=>t.data)}function Ua(e){let t=new E;return t.subscribe(r=>e.postMessage(r)),t}function xo(e,t=new Worker(e)){let r=ja(t),n=Ua(t),o=new E;o.subscribe(n);let i=n.pipe(ee(),oe(!0));return o.pipe(ee(),Ne(r.pipe(G(i))),fe())}var Wa=V("#__config"),vt=JSON.parse(Wa.textContent);vt.base=`${new URL(vt.base,Me())}`;function pe(){return vt}function Z(e){return vt.features.includes(e)}function he(e,t){return typeof t!="undefined"?vt.translations[e].replace("#",t.toString()):vt.translations[e]}function ye(e,t=document){return V(`[data-md-component=${e}]`,t)}function te(e,t=document){return K(`[data-md-component=${e}]`,t)}function Da(e){let t=V(".md-typeset > :first-child",e);return b(t,"click",{once:!0}).pipe(l(()=>V(".md-typeset",e)),l(r=>({hash:__md_hash(r.innerHTML)})))}function Eo(e){return!Z("announce.dismiss")||!e.childElementCount?R:I(()=>{let t=new E;return t.pipe(N({hash:__md_get("__announce")})).subscribe(({hash:r})=>{var n;r&&r===((n=__md_get("__announce"))!=null?n:r)&&(e.hidden=!0,__md_set("__announce",r))}),Da(e).pipe(S(r=>t.next(r)),C(()=>t.complete()),l(r=>P({ref:e},r)))})}function Va(e,{target$:t}){return t.pipe(l(r=>({hidden:r!==e})))}function wo(e,t){let r=new E;return r.subscribe(({hidden:n})=>{e.hidden=n}),Va(e,t).pipe(S(n=>r.next(n)),C(()=>r.complete()),l(n=>P({ref:e},n)))}var Ho=yt(Qr());function Yr(e){return M("div",{class:"md-tooltip",id:e},M("div",{class:"md-tooltip__inner md-typeset"}))}function So(e,t){if(t=t?`${t}_annotation_${e}`:void 0,t){let r=t?`#${t}`:void 0;return M("aside",{class:"md-annotation",tabIndex:0},Yr(t),M("a",{href:r,class:"md-annotation__index",tabIndex:-1},M("span",{"data-md-annotation-id":e})))}else return M("aside",{class:"md-annotation",tabIndex:0},Yr(t),M("span",{class:"md-annotation__index",tabIndex:-1},M("span",{"data-md-annotation-id":e})))}function To(e){return M("button",{class:"md-clipboard md-icon",title:he("clipboard.copy"),"data-clipboard-target":`#${e} > code`})}function Gr(e,t){let r=t&2,n=t&1,o=Object.keys(e.terms).filter(f=>!e.terms[f]).reduce((f,c)=>[...f,M("del",null,c)," "],[]).slice(0,-1),i=pe(),a=new URL(e.location,i.base);Z("search.highlight")&&a.searchParams.set("h",Object.entries(e.terms).filter(([,f])=>f).reduce((f,[c])=>`${f} ${c}`.trim(),""));let{tags:s}=pe();return M("a",{href:`${a}`,class:"md-search-result__link",tabIndex:-1},M("article",{class:"md-search-result__article md-typeset","data-md-score":e.score.toFixed(2)},r>0&&M("div",{class:"md-search-result__icon md-icon"}),r>0&&M("h1",null,e.title),r<=0&&M("h2",null,e.title),n>0&&e.text.length>0&&e.text,e.tags&&e.tags.map(f=>{let c=s?f in s?`md-tag-icon md-tag-icon--${s[f]}`:"md-tag-icon":"";return M("span",{class:`md-tag ${c}`},f)}),n>0&&o.length>0&&M("p",{class:"md-search-result__terms"},he("search.result.term.missing"),": ",...o)))}function Oo(e){let t=e[0].score,r=[...e],n=pe(),o=r.findIndex(u=>!`${new URL(u.location,n.base)}`.includes("#")),[i]=r.splice(o,1),a=r.findIndex(u=>u.score<t);a===-1&&(a=r.length);let s=r.slice(0,a),f=r.slice(a),c=[Gr(i,2|+(!o&&a===0)),...s.map(u=>Gr(u,1)),...f.length?[M("details",{class:"md-search-result__more"},M("summary",{tabIndex:-1},M("div",null,f.length>0&&f.length===1?he("search.result.more.one"):he("search.result.more.other",f.length))),...f.map(u=>Gr(u,1)))]:[]];return M("li",{class:"md-search-result__item"},c)}function _o(e){return M("ul",{class:"md-source__facts"},Object.entries(e).map(([t,r])=>M("li",{class:`md-source__fact md-source__fact--${t}`},typeof r=="number"?fr(r):r)))}function Br(e){let t=`tabbed-control tabbed-control--${e}`;return M("div",{class:t,hidden:!0},M("button",{class:"tabbed-button",tabIndex:-1}))}function Mo(e){return M("div",{class:"md-typeset__scrollwrap"},M("div",{class:"md-typeset__table"},e))}function za(e){let t=pe(),r=new URL(`../${e.version}/`,t.base);return M("li",{class:"md-version__item"},M("a",{href:`${r}`,class:"md-version__link"},e.title))}function Lo(e,t){return M("div",{class:"md-version"},M("button",{class:"md-version__current","aria-label":he("select.version")},t.title),M("ul",{class:"md-version__list"},e.map(za)))}function Na(e,t){let r=I(()=>Q([Yn(e),dt(t)])).pipe(l(([{x:n,y:o},i])=>{let{width:a,height:s}=de(e);return{x:n-i.x+a/2,y:o-i.y+s/2}}));return tr(e).pipe(x(n=>r.pipe(l(o=>({active:n,offset:o})),Oe(+!n||1/0))))}function Ao(e,t,{target$:r}){let[n,o]=Array.from(e.children);return I(()=>{let i=new E,a=i.pipe(ee(),oe(!0));return i.subscribe({next({offset:s}){e.style.setProperty("--md-tooltip-x",`${s.x}px`),e.style.setProperty("--md-tooltip-y",`${s.y}px`)},complete(){e.style.removeProperty("--md-tooltip-x"),e.style.removeProperty("--md-tooltip-y")}}),sr(e).pipe(G(a)).subscribe(s=>{e.toggleAttribute("data-md-visible",s)}),L(i.pipe(_(({active:s})=>s)),i.pipe(ke(250),_(({active:s})=>!s))).subscribe({next({active:s}){s?e.prepend(n):n.remove()},complete(){e.prepend(n)}}),i.pipe(Ce(16,we)).subscribe(({active:s})=>{n.classList.toggle("md-tooltip--active",s)}),i.pipe(Dr(125,we),_(()=>!!e.offsetParent),l(()=>e.offsetParent.getBoundingClientRect()),l(({x:s})=>s)).subscribe({next(s){s?e.style.setProperty("--md-tooltip-0",`${-s}px`):e.style.removeProperty("--md-tooltip-0")},complete(){e.style.removeProperty("--md-tooltip-0")}}),b(o,"click").pipe(G(a),_(s=>!(s.metaKey||s.ctrlKey))).subscribe(s=>s.preventDefault()),b(o,"mousedown").pipe(G(a),ae(i)).subscribe(([s,{active:f}])=>{var c;if(s.button!==0||s.metaKey||s.ctrlKey)s.preventDefault();else if(f){s.preventDefault();let u=e.parentElement.closest(".md-annotation");u instanceof HTMLElement?u.focus():(c=_e())==null||c.blur()}}),r.pipe(G(a),_(s=>s===n),ze(125)).subscribe(()=>e.focus()),Na(e,t).pipe(S(s=>i.next(s)),C(()=>i.complete()),l(s=>P({ref:e},s)))})}function qa(e){let t=[];for(let r of K(".c, .c1, .cm",e)){let n=[],o=document.createNodeIterator(r,NodeFilter.SHOW_TEXT);for(let i=o.nextNode();i;i=o.nextNode())n.push(i);for(let i of n){let a;for(;a=/(\(\d+\))(!)?/.exec(i.textContent);){let[,s,f]=a;if(typeof f=="undefined"){let c=i.splitText(a.index);i=c.splitText(s.length),t.push(c)}else{i.textContent=s,t.push(i);break}}}}return t}function Co(e,t){t.append(...Array.from(e.childNodes))}function Ro(e,t,{target$:r,print$:n}){let o=t.closest("[id]"),i=o==null?void 0:o.id,a=new Map;for(let s of qa(t)){let[,f]=s.textContent.match(/\((\d+)\)/);se(`li:nth-child(${f})`,e)&&(a.set(f,So(f,i)),s.replaceWith(a.get(f)))}return a.size===0?R:I(()=>{let s=new E,f=[];for(let[c,u]of a)f.push([V(".md-typeset",u),V(`li:nth-child(${c})`,e)]);return n.pipe(G(s.pipe(ee(),oe(!0)))).subscribe(c=>{e.hidden=!c;for(let[u,p]of f)c?Co(u,p):Co(p,u)}),L(...[...a].map(([,c])=>Ao(c,t,{target$:r}))).pipe(C(()=>s.complete()),fe())})}var Ka=0;function Po(e){if(e.nextElementSibling){let t=e.nextElementSibling;if(t.tagName==="OL")return t;if(t.tagName==="P"&&!t.children.length)return Po(t)}}function ko(e){return ge(e).pipe(l(({width:t})=>({scrollable:bt(e).width>t})),X("scrollable"))}function $o(e,t){let{matches:r}=matchMedia("(hover)"),n=I(()=>{let o=new E;if(o.subscribe(({scrollable:a})=>{a&&r?e.setAttribute("tabindex","0"):e.removeAttribute("tabindex")}),Ho.default.isSupported()&&(e.closest(".copy")||Z("content.code.copy")&&!e.closest(".no-copy"))){let a=e.closest("pre");a.id=`__code_${++Ka}`,a.insertBefore(To(a.id),e)}let i=e.closest(".highlight");if(i instanceof HTMLElement){let a=Po(i);if(typeof a!="undefined"&&(i.classList.contains("annotate")||Z("content.code.annotate"))){let s=Ro(a,e,t);return ko(e).pipe(S(f=>o.next(f)),C(()=>o.complete()),l(f=>P({ref:e},f)),Ne(ge(i).pipe(l(({width:f,height:c})=>f&&c),Y(),x(f=>f?s:R))))}}return ko(e).pipe(S(a=>o.next(a)),C(()=>o.complete()),l(a=>P({ref:e},a)))});return Z("content.lazy")?sr(e).pipe(_(o=>o),Oe(1),x(()=>n)):n}var Io=".node circle,.node ellipse,.node path,.node polygon,.node rect{fill:var(--md-mermaid-node-bg-color);stroke:var(--md-mermaid-node-fg-color)}marker{fill:var(--md-mermaid-edge-color)!important}.edgeLabel .label rect{fill:#0000}.label{color:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}.label foreignObject{line-height:normal;overflow:visible}.label div .edgeLabel{color:var(--md-mermaid-label-fg-color)}.edgeLabel,.edgeLabel rect,.label div .edgeLabel{background-color:var(--md-mermaid-label-bg-color)}.edgeLabel,.edgeLabel rect{fill:var(--md-mermaid-label-bg-color);color:var(--md-mermaid-edge-color)}.edgePath .path,.flowchart-link{stroke:var(--md-mermaid-edge-color)}.edgePath .arrowheadPath{fill:var(--md-mermaid-edge-color);stroke:none}.cluster rect{fill:var(--md-default-fg-color--lightest);stroke:var(--md-default-fg-color--lighter)}.cluster span{color:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}defs #flowchart-circleEnd,defs #flowchart-circleStart,defs #flowchart-crossEnd,defs #flowchart-crossStart,defs #flowchart-pointEnd,defs #flowchart-pointStart{stroke:none}g.classGroup line,g.classGroup rect{fill:var(--md-mermaid-node-bg-color);stroke:var(--md-mermaid-node-fg-color)}g.classGroup text{fill:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}.classLabel .box{fill:var(--md-mermaid-label-bg-color);background-color:var(--md-mermaid-label-bg-color);opacity:1}.classLabel .label{fill:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}.node .divider{stroke:var(--md-mermaid-node-fg-color)}.relation{stroke:var(--md-mermaid-edge-color)}.cardinality{fill:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}.cardinality text{fill:inherit!important}defs #classDiagram-compositionEnd,defs #classDiagram-compositionStart,defs #classDiagram-dependencyEnd,defs #classDiagram-dependencyStart,defs #classDiagram-extensionEnd,defs #classDiagram-extensionStart{fill:var(--md-mermaid-edge-color)!important;stroke:var(--md-mermaid-edge-color)!important}defs #classDiagram-aggregationEnd,defs #classDiagram-aggregationStart{fill:var(--md-mermaid-label-bg-color)!important;stroke:var(--md-mermaid-edge-color)!important}g.stateGroup rect{fill:var(--md-mermaid-node-bg-color);stroke:var(--md-mermaid-node-fg-color)}g.stateGroup .state-title{fill:var(--md-mermaid-label-fg-color)!important;font-family:var(--md-mermaid-font-family)}g.stateGroup .composit{fill:var(--md-mermaid-label-bg-color)}.nodeLabel{color:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}.node circle.state-end,.node circle.state-start,.start-state{fill:var(--md-mermaid-edge-color);stroke:none}.end-state-inner,.end-state-outer{fill:var(--md-mermaid-edge-color)}.end-state-inner,.node circle.state-end{stroke:var(--md-mermaid-label-bg-color)}.transition{stroke:var(--md-mermaid-edge-color)}[id^=state-fork] rect,[id^=state-join] rect{fill:var(--md-mermaid-edge-color)!important;stroke:none!important}.statediagram-cluster.statediagram-cluster .inner{fill:var(--md-default-bg-color)}.statediagram-cluster rect{fill:var(--md-mermaid-node-bg-color);stroke:var(--md-mermaid-node-fg-color)}.statediagram-state rect.divider{fill:var(--md-default-fg-color--lightest);stroke:var(--md-default-fg-color--lighter)}defs #statediagram-barbEnd{stroke:var(--md-mermaid-edge-color)}.entityBox{fill:var(--md-mermaid-label-bg-color);stroke:var(--md-mermaid-node-fg-color)}.entityLabel{fill:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}.relationshipLabelBox{fill:var(--md-mermaid-label-bg-color);fill-opacity:1;background-color:var(--md-mermaid-label-bg-color);opacity:1}.relationshipLabel{fill:var(--md-mermaid-label-fg-color)}.relationshipLine{stroke:var(--md-mermaid-edge-color)}defs #ONE_OR_MORE_END *,defs #ONE_OR_MORE_START *,defs #ONLY_ONE_END *,defs #ONLY_ONE_START *,defs #ZERO_OR_MORE_END *,defs #ZERO_OR_MORE_START *,defs #ZERO_OR_ONE_END *,defs #ZERO_OR_ONE_START *{stroke:var(--md-mermaid-edge-color)!important}.actor,defs #ZERO_OR_MORE_END circle,defs #ZERO_OR_MORE_START circle{fill:var(--md-mermaid-label-bg-color)}.actor{stroke:var(--md-mermaid-node-fg-color)}text.actor>tspan{fill:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}line{stroke:var(--md-default-fg-color--lighter)}.messageLine0,.messageLine1{stroke:var(--md-mermaid-edge-color)}.loopText,.loopText>tspan,.messageText,.noteText>tspan{fill:var(--md-mermaid-edge-color);stroke:none;font-family:var(--md-mermaid-font-family)!important}.noteText>tspan{fill:#000}#arrowhead path{fill:var(--md-mermaid-edge-color);stroke:none}.loopLine{stroke:var(--md-mermaid-node-fg-color)}.labelBox,.loopLine{fill:var(--md-mermaid-node-bg-color)}.labelBox{stroke:none}.labelText,.labelText>span{fill:var(--md-mermaid-node-fg-color);font-family:var(--md-mermaid-font-family)}.sequenceNumber{fill:var(--md-accent-bg-color)}defs #sequencenumber{fill:var(--md-mermaid-node-fg-color)!important}";var Jr,Ya=0;function Ga(){return typeof mermaid=="undefined"||mermaid instanceof Element?pr("https://unpkg.com/mermaid@9.3.0/dist/mermaid.min.js"):H(void 0)}function Fo(e){return e.classList.remove("mermaid"),Jr||(Jr=Ga().pipe(S(()=>mermaid.initialize({startOnLoad:!1,themeCSS:Io,sequence:{actorFontSize:"16px",messageFontSize:"16px",noteFontSize:"16px"}})),l(()=>{}),J(1))),Jr.subscribe(()=>{e.classList.add("mermaid");let t=`__mermaid_${Ya++}`,r=M("div",{class:"mermaid"}),n=e.textContent;mermaid.mermaidAPI.render(t,n,(o,i)=>{let a=r.attachShadow({mode:"closed"});a.innerHTML=o,e.replaceWith(r),i==null||i(a)})}),Jr.pipe(l(()=>({ref:e})))}function Ba(e,{target$:t,print$:r}){let n=!0;return L(t.pipe(l(o=>o.closest("details:not([open])")),_(o=>e===o),l(()=>({action:"open",reveal:!0}))),r.pipe(_(o=>o||!n),S(()=>n=e.open),l(o=>({action:o?"open":"close"}))))}function jo(e,t){return I(()=>{let r=new E;return r.subscribe(({action:n,reveal:o})=>{e.toggleAttribute("open",n==="open"),o&&e.scrollIntoView()}),Ba(e,t).pipe(S(n=>r.next(n)),C(()=>r.complete()),l(n=>P({ref:e},n)))})}var Uo=M("table");function Wo(e){return e.replaceWith(Uo),Uo.replaceWith(Mo(e)),H({ref:e})}function Ja(e){let t=K(":scope > input",e),r=t.find(n=>n.checked)||t[0];return L(...t.map(n=>b(n,"change").pipe(l(()=>V(`label[for="${n.id}"]`))))).pipe(N(V(`label[for="${r.id}"]`)),l(n=>({active:n})))}function Do(e,{viewport$:t}){let r=Br("prev");e.append(r);let n=Br("next");e.append(n);let o=V(".tabbed-labels",e);return I(()=>{let i=new E,a=i.pipe(ee(),oe(!0));return Q([i,ge(e)]).pipe(Ce(1,we),G(a)).subscribe({next([{active:s},f]){let c=Be(s),{width:u}=de(s);e.style.setProperty("--md-indicator-x",`${c.x}px`),e.style.setProperty("--md-indicator-width",`${u}px`);let p=rr(o);(c.x<p.x||c.x+u>p.x+f.width)&&o.scrollTo({left:Math.max(0,c.x-16),behavior:"smooth"})},complete(){e.style.removeProperty("--md-indicator-x"),e.style.removeProperty("--md-indicator-width")}}),Q([dt(o),ge(o)]).pipe(G(a)).subscribe(([s,f])=>{let c=bt(o);r.hidden=s.x<16,n.hidden=s.x>c.width-f.width-16}),L(b(r,"click").pipe(l(()=>-1)),b(n,"click").pipe(l(()=>1))).pipe(G(a)).subscribe(s=>{let{width:f}=de(o);o.scrollBy({left:f*s,behavior:"smooth"})}),Z("content.tabs.link")&&i.pipe($e(1),ae(t)).subscribe(([{active:s},{offset:f}])=>{let c=s.innerText.trim();if(s.hasAttribute("data-md-switching"))s.removeAttribute("data-md-switching");else{let u=e.offsetTop-f.y;for(let m of K("[data-tabs]"))for(let d of K(":scope > input",m)){let h=V(`label[for="${d.id}"]`);if(h!==s&&h.innerText.trim()===c){h.setAttribute("data-md-switching",""),d.click();break}}window.scrollTo({top:e.offsetTop-u});let p=__md_get("__tabs")||[];__md_set("__tabs",[...new Set([c,...p])])}}),Ja(e).pipe(S(s=>i.next(s)),C(()=>i.complete()),l(s=>P({ref:e},s)))}).pipe(tt(ue))}function Vo(e,{viewport$:t,target$:r,print$:n}){return L(...K("pre:not(.mermaid) > code",e).map(o=>$o(o,{target$:r,print$:n})),...K("pre.mermaid",e).map(o=>Fo(o)),...K("table:not([class])",e).map(o=>Wo(o)),...K("details",e).map(o=>jo(o,{target$:r,print$:n})),...K("[data-tabs]",e).map(o=>Do(o,{viewport$:t})))}function Xa(e,{alert$:t}){return t.pipe(x(r=>L(H(!0),H(!1).pipe(ze(2e3))).pipe(l(n=>({message:r,active:n})))))}function zo(e,t){let r=V(".md-typeset",e);return I(()=>{let n=new E;return n.subscribe(({message:o,active:i})=>{e.classList.toggle("md-dialog--active",i),r.textContent=o}),Xa(e,t).pipe(S(o=>n.next(o)),C(()=>n.complete()),l(o=>P({ref:e},o)))})}function Za({viewport$:e}){if(!Z("header.autohide"))return H(!1);let t=e.pipe(l(({offset:{y:o}})=>o),Re(2,1),l(([o,i])=>[o<i,i]),X(0)),r=Q([e,t]).pipe(_(([{offset:o},[,i]])=>Math.abs(i-o.y)>100),l(([,[o]])=>o),Y()),n=je("search");return Q([e,n]).pipe(l(([{offset:o},i])=>o.y>400&&!i),Y(),x(o=>o?r:H(!1)),N(!1))}function No(e,t){return I(()=>Q([ge(e),Za(t)])).pipe(l(([{height:r},n])=>({height:r,hidden:n})),Y((r,n)=>r.height===n.height&&r.hidden===n.hidden),J(1))}function qo(e,{header$:t,main$:r}){return I(()=>{let n=new E,o=n.pipe(ee(),oe(!0));return n.pipe(X("active"),nt(t)).subscribe(([{active:i},{hidden:a}])=>{e.classList.toggle("md-header--shadow",i&&!a),e.hidden=a}),r.subscribe(n),t.pipe(G(o),l(i=>P({ref:e},i)))})}function es(e,{viewport$:t,header$:r}){return lr(e,{viewport$:t,header$:r}).pipe(l(({offset:{y:n}})=>{let{height:o}=de(e);return{active:n>=o}}),X("active"))}function Ko(e,t){return I(()=>{let r=new E;r.subscribe(({active:o})=>{e.classList.toggle("md-header__title--active",o)});let n=se("article h1");return typeof n=="undefined"?R:es(n,t).pipe(S(o=>r.next(o)),C(()=>r.complete()),l(o=>P({ref:e},o)))})}function Qo(e,{viewport$:t,header$:r}){let n=r.pipe(l(({height:i})=>i),Y()),o=n.pipe(x(()=>ge(e).pipe(l(({height:i})=>({top:e.offsetTop,bottom:e.offsetTop+i})),X("bottom"))));return Q([n,o,t]).pipe(l(([i,{top:a,bottom:s},{offset:{y:f},size:{height:c}}])=>(c=Math.max(0,c-Math.max(0,a-f,i)-Math.max(0,c+f-s)),{offset:a-i,height:c,active:a-i<=f})),Y((i,a)=>i.offset===a.offset&&i.height===a.height&&i.active===a.active))}function ts(e){let t=__md_get("__palette")||{index:e.findIndex(r=>matchMedia(r.getAttribute("data-md-color-media")).matches)};return H(...e).pipe(ie(r=>b(r,"change").pipe(l(()=>r))),N(e[Math.max(0,t.index)]),l(r=>({index:e.indexOf(r),color:{scheme:r.getAttribute("data-md-color-scheme"),primary:r.getAttribute("data-md-color-primary"),accent:r.getAttribute("data-md-color-accent")}})),J(1))}function Yo(e){let t=M("meta",{name:"theme-color"});return document.head.appendChild(t),I(()=>{let r=new E;r.subscribe(o=>{document.body.setAttribute("data-md-color-switching","");for(let[i,a]of Object.entries(o.color))document.body.setAttribute(`data-md-color-${i}`,a);for(let i=0;i<n.length;i++){let a=n[i].nextElementSibling;a instanceof HTMLElement&&(a.hidden=o.index!==i)}__md_set("__palette",o)}),r.pipe(l(()=>{let o=ye("header"),{backgroundColor:i}=window.getComputedStyle(o);return i.match(/\d+/g).map(a=>(+a).toString(16).padStart(2,"0")).join("")})).subscribe(o=>t.content=`#${o}`),r.pipe(Ve(ue)).subscribe(()=>{document.body.removeAttribute("data-md-color-switching")});let n=K("input",e);return ts(n).pipe(S(o=>r.next(o)),C(()=>r.complete()),l(o=>P({ref:e},o)))})}var Xr=yt(Qr());function rs(e){e.setAttribute("data-md-copying","");let t=e.innerText;return e.removeAttribute("data-md-copying"),t}function Go({alert$:e}){Xr.default.isSupported()&&new U(t=>{new Xr.default("[data-clipboard-target], [data-clipboard-text]",{text:r=>r.getAttribute("data-clipboard-text")||rs(V(r.getAttribute("data-clipboard-target")))}).on("success",r=>t.next(r))}).pipe(S(t=>{t.trigger.focus()}),l(()=>he("clipboard.copied"))).subscribe(e)}function ns(e){if(e.length<2)return[""];let[t,r]=[...e].sort((o,i)=>o.length-i.length).map(o=>o.replace(/[^/]+$/,"")),n=0;if(t===r)n=t.length;else for(;t.charCodeAt(n)===r.charCodeAt(n);)n++;return e.map(o=>o.replace(t.slice(0,n),""))}function mr(e){let t=__md_get("__sitemap",sessionStorage,e);if(t)return H(t);{let r=pe();return mo(new URL("sitemap.xml",e||r.base)).pipe(l(n=>ns(K("loc",n).map(o=>o.textContent))),ce(()=>R),He([]),S(n=>__md_set("__sitemap",n,sessionStorage,e)))}}function Bo({document$:e,location$:t,viewport$:r}){let n=pe();if(location.protocol==="file:")return;"scrollRestoration"in history&&(history.scrollRestoration="manual",b(window,"beforeunload").subscribe(()=>{history.scrollRestoration="auto"}));let o=se("link[rel=icon]");typeof o!="undefined"&&(o.href=o.href);let i=mr().pipe(l(c=>c.map(u=>`${new URL(u,n.base)}`)),x(c=>b(document.body,"click").pipe(_(u=>!u.metaKey&&!u.ctrlKey),x(u=>{if(u.target instanceof Element){let p=u.target.closest("a");if(p&&!p.target){let m=new URL(p.href);if(m.search="",m.hash="",m.pathname!==location.pathname&&c.includes(m.toString()))return u.preventDefault(),H({url:new URL(p.href)})}}return Te}))),fe()),a=b(window,"popstate").pipe(_(c=>c.state!==null),l(c=>({url:new URL(location.href),offset:c.state})),fe());L(i,a).pipe(Y((c,u)=>c.url.href===u.url.href),l(({url:c})=>c)).subscribe(t);let s=t.pipe(X("pathname"),x(c=>ur(c.href).pipe(ce(()=>(ot(c),Te)))),fe());i.pipe(er(s)).subscribe(({url:c})=>{history.pushState({},"",`${c}`)});let f=new DOMParser;s.pipe(x(c=>c.text()),l(c=>f.parseFromString(c,"text/html"))).subscribe(e),e.pipe($e(1)).subscribe(c=>{for(let u of["title","link[rel=canonical]","meta[name=author]","meta[name=description]","[data-md-component=announce]","[data-md-component=container]","[data-md-component=header-topic]","[data-md-component=outdated]","[data-md-component=logo]","[data-md-component=skip]",...Z("navigation.tabs.sticky")?["[data-md-component=tabs]"]:[]]){let p=se(u),m=se(u,c);typeof p!="undefined"&&typeof m!="undefined"&&p.replaceWith(m)}}),e.pipe($e(1),l(()=>ye("container")),x(c=>K("script",c)),$r(c=>{let u=M("script");if(c.src){for(let p of c.getAttributeNames())u.setAttribute(p,c.getAttribute(p));return c.replaceWith(u),new U(p=>{u.onload=()=>p.complete()})}else return u.textContent=c.textContent,c.replaceWith(u),R})).subscribe(),L(i,a).pipe(er(e)).subscribe(({url:c,offset:u})=>{c.hash&&!u?uo(c.hash):window.scrollTo(0,(u==null?void 0:u.y)||0)}),r.pipe(Mt(i),ke(250),X("offset")).subscribe(({offset:c})=>{history.replaceState(c,"")}),L(i,a).pipe(Re(2,1),_(([c,u])=>c.url.pathname===u.url.pathname),l(([,c])=>c)).subscribe(({offset:c})=>{window.scrollTo(0,(c==null?void 0:c.y)||0)})}var Zo=yt(Xo());function ei(e){let t=e.separator.split("|").map(o=>o.replace(/(\(\?[!=][^)]+\))/g,"").length===0?"\uFFFD":o).join("|"),r=new RegExp(t,"img"),n=(o,i,a)=>`${i}<mark data-md-highlight>${a}</mark>`;return o=>{o=o.replace(/[\s*+\-:~^]+/g," ").trim();let i=new RegExp(`(^|${e.separator}|)(${o.replace(/[|\\{}()[\]^$+*?.-]/g,"\\$&").replace(r,"|")})`,"img");return a=>(0,Zo.default)(a).replace(i,n).replace(/<\/mark>(\s+)<mark[^>]*>/img,"$1")}}function At(e){return e.type===1}function dr(e){return e.type===3}function ti(e,t){let r=xo(e);return L(H(location.protocol!=="file:"),je("search")).pipe(Pe(n=>n),x(()=>t)).subscribe(({config:n,docs:o})=>r.next({type:0,data:{config:n,docs:o,options:{suggest:Z("search.suggest")}}})),r}function ri({document$:e}){let t=pe(),r=Ue(new URL("../versions.json",t.base)).pipe(ce(()=>R)),n=r.pipe(l(o=>{let[,i]=t.base.match(/([^/]+)\/?$/);return o.find(({version:a,aliases:s})=>a===i||s.includes(i))||o[0]}));r.pipe(l(o=>new Map(o.map(i=>[`${new URL(`../${i.version}/`,t.base)}`,i]))),x(o=>b(document.body,"click").pipe(_(i=>!i.metaKey&&!i.ctrlKey),ae(n),x(([i,a])=>{if(i.target instanceof Element){let s=i.target.closest("a");if(s&&!s.target&&o.has(s.href)){let f=s.href;return!i.target.closest(".md-version")&&o.get(f)===a?R:(i.preventDefault(),H(f))}}return R}),x(i=>{let{version:a}=o.get(i);return mr(new URL(i)).pipe(l(s=>{let c=Me().href.replace(t.base,"");return s.includes(c.split("#")[0])?new URL(`../${a}/${c}`,t.base):new URL(i)}))})))).subscribe(o=>ot(o)),Q([r,n]).subscribe(([o,i])=>{V(".md-header__topic").appendChild(Lo(o,i))}),e.pipe(x(()=>n)).subscribe(o=>{var a;let i=__md_get("__outdated",sessionStorage);if(i===null){let s=((a=t.version)==null?void 0:a.default)||"latest";i=!o.aliases.includes(s),__md_set("__outdated",i,sessionStorage)}if(i)for(let s of te("outdated"))s.hidden=!1})}function cs(e,{worker$:t}){let{searchParams:r}=Me();r.has("q")&&(qe("search",!0),e.value=r.get("q"),e.focus(),je("search").pipe(Pe(i=>!i)).subscribe(()=>{let i=new URL(location.href);i.searchParams.delete("q"),history.replaceState({},"",`${i}`)}));let n=tr(e),o=L(t.pipe(Pe(At)),b(e,"keyup"),n).pipe(l(()=>e.value),Y());return Q([o,n]).pipe(l(([i,a])=>({value:i,focus:a})),J(1))}function ni(e,{worker$:t}){let r=new E,n=r.pipe(ee(),oe(!0));return Q([t.pipe(Pe(At)),r],(o,i)=>i).pipe(X("value")).subscribe(({value:o})=>t.next({type:2,data:o})),r.pipe(X("focus")).subscribe(({focus:o})=>{o&&qe("search",o)}),b(e.form,"reset").pipe(G(n)).subscribe(()=>e.focus()),cs(e,{worker$:t}).pipe(S(o=>r.next(o)),C(()=>r.complete()),l(o=>P({ref:e},o)),J(1))}function oi(e,{worker$:t,query$:r}){let n=new E,o=oo(e.parentElement).pipe(_(Boolean)),i=e.parentElement,a=V(":scope > :first-child",e),s=V(":scope > :last-child",e);je("search").subscribe(u=>s.setAttribute("role",u?"list":"presentation")),n.pipe(ae(r),Mt(t.pipe(Pe(At)))).subscribe(([{items:u},{value:p}])=>{switch(u.length){case 0:a.textContent=p.length?he("search.result.none"):he("search.result.placeholder");break;case 1:a.textContent=he("search.result.one");break;default:let m=fr(u.length);a.textContent=he("search.result.other",m)}});let f=n.pipe(S(()=>s.innerHTML=""),x(({items:u})=>L(H(...u.slice(0,10)),H(...u.slice(10)).pipe(Re(4),Vr(o),x(([p])=>p)))),l(Oo),fe());return f.subscribe(u=>s.appendChild(u)),f.pipe(ie(u=>{let p=se("details",u);return typeof p=="undefined"?R:b(p,"toggle").pipe(G(n),l(()=>p))})).subscribe(u=>{u.open===!1&&u.offsetTop<=i.scrollTop&&i.scrollTo({top:u.offsetTop})}),t.pipe(_(dr),l(({data:u})=>u)).pipe(S(u=>n.next(u)),C(()=>n.complete()),l(u=>P({ref:e},u)))}function fs(e,{query$:t}){return t.pipe(l(({value:r})=>{let n=Me();return n.hash="",r=r.replace(/\s+/g,"+").replace(/&/g,"%26").replace(/=/g,"%3D"),n.search=`q=${r}`,{url:n}}))}function ii(e,t){let r=new E,n=r.pipe(ee(),oe(!0));return r.subscribe(({url:o})=>{e.setAttribute("data-clipboard-text",e.href),e.href=`${o}`}),b(e,"click").pipe(G(n)).subscribe(o=>o.preventDefault()),fs(e,t).pipe(S(o=>r.next(o)),C(()=>r.complete()),l(o=>P({ref:e},o)))}function ai(e,{worker$:t,keyboard$:r}){let n=new E,o=ye("search-query"),i=L(b(o,"keydown"),b(o,"focus")).pipe(Ve(ue),l(()=>o.value),Y());return n.pipe(nt(i),l(([{suggest:s},f])=>{let c=f.split(/([\s-]+)/);if(s!=null&&s.length&&c[c.length-1]){let u=s[s.length-1];u.startsWith(c[c.length-1])&&(c[c.length-1]=u)}else c.length=0;return c})).subscribe(s=>e.innerHTML=s.join("").replace(/\s/g,"&nbsp;")),r.pipe(_(({mode:s})=>s==="search")).subscribe(s=>{switch(s.type){case"ArrowRight":e.innerText.length&&o.selectionStart===o.value.length&&(o.value=e.innerText);break}}),t.pipe(_(dr),l(({data:s})=>s)).pipe(S(s=>n.next(s)),C(()=>n.complete()),l(()=>({ref:e})))}function si(e,{index$:t,keyboard$:r}){let n=pe();try{let o=ti(n.search,t),i=ye("search-query",e),a=ye("search-result",e);b(e,"click").pipe(_(({target:f})=>f instanceof Element&&!!f.closest("a"))).subscribe(()=>qe("search",!1)),r.pipe(_(({mode:f})=>f==="search")).subscribe(f=>{let c=_e();switch(f.type){case"Enter":if(c===i){let u=new Map;for(let p of K(":first-child [href]",a)){let m=p.firstElementChild;u.set(p,parseFloat(m.getAttribute("data-md-score")))}if(u.size){let[[p]]=[...u].sort(([,m],[,d])=>d-m);p.click()}f.claim()}break;case"Escape":case"Tab":qe("search",!1),i.blur();break;case"ArrowUp":case"ArrowDown":if(typeof c=="undefined")i.focus();else{let u=[i,...K(":not(details) > [href], summary, details[open] [href]",a)],p=Math.max(0,(Math.max(0,u.indexOf(c))+u.length+(f.type==="ArrowUp"?-1:1))%u.length);u[p].focus()}f.claim();break;default:i!==_e()&&i.focus()}}),r.pipe(_(({mode:f})=>f==="global")).subscribe(f=>{switch(f.type){case"f":case"s":case"/":i.focus(),i.select(),f.claim();break}});let s=ni(i,{worker$:o});return L(s,oi(a,{worker$:o,query$:s})).pipe(Ne(...te("search-share",e).map(f=>ii(f,{query$:s})),...te("search-suggest",e).map(f=>ai(f,{worker$:o,keyboard$:r}))))}catch(o){return e.hidden=!0,Te}}function ci(e,{index$:t,location$:r}){return Q([t,r.pipe(N(Me()),_(n=>!!n.searchParams.get("h")))]).pipe(l(([n,o])=>ei(n.config)(o.searchParams.get("h"))),l(n=>{var a;let o=new Map,i=document.createNodeIterator(e,NodeFilter.SHOW_TEXT);for(let s=i.nextNode();s;s=i.nextNode())if((a=s.parentElement)!=null&&a.offsetHeight){let f=s.textContent,c=n(f);c.length>f.length&&o.set(s,c)}for(let[s,f]of o){let{childNodes:c}=M("span",null,f);s.replaceWith(...Array.from(c))}return{ref:e,nodes:o}}))}function us(e,{viewport$:t,main$:r}){let n=e.parentElement,o=n.offsetTop-n.parentElement.offsetTop;return Q([r,t]).pipe(l(([{offset:i,height:a},{offset:{y:s}}])=>(a=a+Math.min(o,Math.max(0,s-i))-o,{height:a,locked:s>=i+o})),Y((i,a)=>i.height===a.height&&i.locked===a.locked))}function Zr(e,n){var o=n,{header$:t}=o,r=sn(o,["header$"]);let i=V(".md-sidebar__scrollwrap",e),{y:a}=Be(i);return I(()=>{let s=new E,f=s.pipe(Ce(0,we));return f.pipe(ae(t)).subscribe({next([{height:c},{height:u}]){i.style.height=`${c-2*a}px`,e.style.top=`${u}px`},complete(){i.style.height="",e.style.top=""}}),f.pipe(Pe()).subscribe(()=>{for(let c of K(".md-nav__link--active[href]",e)){let u=ar(c);if(typeof u!="undefined"){let p=c.offsetTop-u.offsetTop,{height:m}=de(u);u.scrollTo({top:p-m/2})}}}),us(e,r).pipe(S(c=>s.next(c)),C(()=>s.complete()),l(c=>P({ref:e},c)))})}function fi(e,t){if(typeof t!="undefined"){let r=`https://api.github.com/repos/${e}/${t}`;return Ot(Ue(`${r}/releases/latest`).pipe(ce(()=>R),l(n=>({version:n.tag_name})),He({})),Ue(r).pipe(ce(()=>R),l(n=>({stars:n.stargazers_count,forks:n.forks_count})),He({}))).pipe(l(([n,o])=>P(P({},n),o)))}else{let r=`https://api.github.com/users/${e}`;return Ue(r).pipe(l(n=>({repositories:n.public_repos})),He({}))}}function ui(e,t){let r=`https://${e}/api/v4/projects/${encodeURIComponent(t)}`;return Ue(r).pipe(ce(()=>R),l(({star_count:n,forks_count:o})=>({stars:n,forks:o})),He({}))}function pi(e){let t=e.match(/^.+github\.com\/([^/]+)\/?([^/]+)?/i);if(t){let[,r,n]=t;return fi(r,n)}if(t=e.match(/^.+?([^/]*gitlab[^/]+)\/(.+?)\/?$/i),t){let[,r,n]=t;return ui(r,n)}return R}var ps;function ls(e){return ps||(ps=I(()=>{let t=__md_get("__source",sessionStorage);if(t)return H(t);if(te("consent").length){let n=__md_get("__consent");if(!(n&&n.github))return R}return pi(e.href).pipe(S(n=>__md_set("__source",n,sessionStorage)))}).pipe(ce(()=>R),_(t=>Object.keys(t).length>0),l(t=>({facts:t})),J(1)))}function li(e){let t=V(":scope > :last-child",e);return I(()=>{let r=new E;return r.subscribe(({facts:n})=>{t.appendChild(_o(n)),t.classList.add("md-source__repository--active")}),ls(e).pipe(S(n=>r.next(n)),C(()=>r.complete()),l(n=>P({ref:e},n)))})}function ms(e,{viewport$:t,header$:r}){return ge(document.body).pipe(x(()=>lr(e,{header$:r,viewport$:t})),l(({offset:{y:n}})=>({hidden:n>=10})),X("hidden"))}function mi(e,t){return I(()=>{let r=new E;return r.subscribe({next({hidden:n}){e.hidden=n},complete(){e.hidden=!1}}),(Z("navigation.tabs.sticky")?H({hidden:!1}):ms(e,t)).pipe(S(n=>r.next(n)),C(()=>r.complete()),l(n=>P({ref:e},n)))})}function ds(e,{viewport$:t,header$:r}){let n=new Map,o=K("[href^=\\#]",e);for(let s of o){let f=decodeURIComponent(s.hash.substring(1)),c=se(`[id="${f}"]`);typeof c!="undefined"&&n.set(s,c)}let i=r.pipe(X("height"),l(({height:s})=>{let f=ye("main"),c=V(":scope > :first-child",f);return s+.8*(c.offsetTop-f.offsetTop)}),fe());return ge(document.body).pipe(X("height"),x(s=>I(()=>{let f=[];return H([...n].reduce((c,[u,p])=>{for(;f.length&&n.get(f[f.length-1]).tagName>=p.tagName;)f.pop();let m=p.offsetTop;for(;!m&&p.parentElement;)p=p.parentElement,m=p.offsetTop;let d=p.offsetParent;for(;d;d=d.offsetParent)m+=d.offsetTop;return c.set([...f=[...f,u]].reverse(),m)},new Map))}).pipe(l(f=>new Map([...f].sort(([,c],[,u])=>c-u))),nt(i),x(([f,c])=>t.pipe(Fr(([u,p],{offset:{y:m},size:d})=>{let h=m+d.height>=Math.floor(s.height);for(;p.length;){let[,v]=p[0];if(v-c<m||h)u=[...u,p.shift()];else break}for(;u.length;){let[,v]=u[u.length-1];if(v-c>=m&&!h)p=[u.pop(),...p];else break}return[u,p]},[[],[...f]]),Y((u,p)=>u[0]===p[0]&&u[1]===p[1])))))).pipe(l(([s,f])=>({prev:s.map(([c])=>c),next:f.map(([c])=>c)})),N({prev:[],next:[]}),Re(2,1),l(([s,f])=>s.prev.length<f.prev.length?{prev:f.prev.slice(Math.max(0,s.prev.length-1),f.prev.length),next:[]}:{prev:f.prev.slice(-1),next:f.next.slice(0,f.next.length-s.next.length)}))}function di(e,{viewport$:t,header$:r,target$:n}){return I(()=>{let o=new E,i=o.pipe(ee(),oe(!0));if(o.subscribe(({prev:a,next:s})=>{for(let[f]of s)f.classList.remove("md-nav__link--passed"),f.classList.remove("md-nav__link--active");for(let[f,[c]]of a.entries())c.classList.add("md-nav__link--passed"),c.classList.toggle("md-nav__link--active",f===a.length-1)}),Z("toc.follow")){let a=L(t.pipe(ke(1),l(()=>{})),t.pipe(ke(250),l(()=>"smooth")));o.pipe(_(({prev:s})=>s.length>0),ae(a)).subscribe(([{prev:s},f])=>{let[c]=s[s.length-1];if(c.offsetHeight){let u=ar(c);if(typeof u!="undefined"){let p=c.offsetTop-u.offsetTop,{height:m}=de(u);u.scrollTo({top:p-m/2,behavior:f})}}})}return Z("navigation.tracking")&&t.pipe(G(i),X("offset"),ke(250),$e(1),G(n.pipe($e(1))),_t({delay:250}),ae(o)).subscribe(([,{prev:a}])=>{let s=Me(),f=a[a.length-1];if(f&&f.length){let[c]=f,{hash:u}=new URL(c.href);s.hash!==u&&(s.hash=u,history.replaceState({},"",`${s}`))}else s.hash="",history.replaceState({},"",`${s}`)}),ds(e,{viewport$:t,header$:r}).pipe(S(a=>o.next(a)),C(()=>o.complete()),l(a=>P({ref:e},a)))})}function hs(e,{viewport$:t,main$:r,target$:n}){let o=t.pipe(l(({offset:{y:a}})=>a),Re(2,1),l(([a,s])=>a>s&&s>0),Y()),i=r.pipe(l(({active:a})=>a));return Q([i,o]).pipe(l(([a,s])=>!(a&&s)),Y(),G(n.pipe($e(1))),oe(!0),_t({delay:250}),l(a=>({hidden:a})))}function hi(e,{viewport$:t,header$:r,main$:n,target$:o}){let i=new E,a=i.pipe(ee(),oe(!0));return i.subscribe({next({hidden:s}){e.hidden=s,s?(e.setAttribute("tabindex","-1"),e.blur()):e.removeAttribute("tabindex")},complete(){e.style.top="",e.hidden=!0,e.removeAttribute("tabindex")}}),r.pipe(G(a),X("height")).subscribe(({height:s})=>{e.style.top=`${s+16}px`}),hs(e,{viewport$:t,main$:n,target$:o}).pipe(S(s=>i.next(s)),C(()=>i.complete()),l(s=>P({ref:e},s)))}function bi({document$:e,tablet$:t}){e.pipe(x(()=>K(".md-toggle--indeterminate")),S(r=>{r.indeterminate=!0,r.checked=!1}),ie(r=>b(r,"change").pipe(Ur(()=>r.classList.contains("md-toggle--indeterminate")),l(()=>r))),ae(t)).subscribe(([r,n])=>{r.classList.remove("md-toggle--indeterminate"),n&&(r.checked=!1)})}function bs(){return/(iPad|iPhone|iPod)/.test(navigator.userAgent)}function vi({document$:e}){e.pipe(x(()=>K("[data-md-scrollfix]")),S(t=>t.removeAttribute("data-md-scrollfix")),_(bs),ie(t=>b(t,"touchstart").pipe(l(()=>t)))).subscribe(t=>{let r=t.scrollTop;r===0?t.scrollTop=1:r+t.offsetHeight===t.scrollHeight&&(t.scrollTop=r-1)})}function gi({viewport$:e,tablet$:t}){Q([je("search"),t]).pipe(l(([r,n])=>r&&!n),x(r=>H(r).pipe(ze(r?400:100))),ae(e)).subscribe(([r,{offset:{y:n}}])=>{if(r)document.body.setAttribute("data-md-scrolllock",""),document.body.style.top=`-${n}px`;else{let o=-1*parseInt(document.body.style.top,10);document.body.removeAttribute("data-md-scrolllock"),document.body.style.top="",o&&window.scrollTo(0,o)}})}Object.entries||(Object.entries=function(e){let t=[];for(let r of Object.keys(e))t.push([r,e[r]]);return t});Object.values||(Object.values=function(e){let t=[];for(let r of Object.keys(e))t.push(e[r]);return t});typeof Element!="undefined"&&(Element.prototype.scrollTo||(Element.prototype.scrollTo=function(e,t){typeof e=="object"?(this.scrollLeft=e.left,this.scrollTop=e.top):(this.scrollLeft=e,this.scrollTop=t)}),Element.prototype.replaceWith||(Element.prototype.replaceWith=function(...e){let t=this.parentNode;if(t){e.length===0&&t.removeChild(this);for(let r=e.length-1;r>=0;r--){let n=e[r];typeof n=="string"?n=document.createTextNode(n):n.parentNode&&n.parentNode.removeChild(n),r?t.insertBefore(this.previousSibling,n):t.replaceChild(n,this)}}}));function vs(){return location.protocol==="file:"?pr(`${new URL("search/search_index.js",en.base)}`).pipe(l(()=>__index),J(1)):Ue(new URL("search/search_index.json",en.base))}document.documentElement.classList.remove("no-js");document.documentElement.classList.add("js");var it=Qn(),br=so(),gt=po(),tn=ao(),Ee=yo(),vr=Nr("(min-width: 960px)"),xi=Nr("(min-width: 1220px)"),Ei=lo(),en=pe(),wi=document.forms.namedItem("search")?vs():Te,rn=new E;Go({alert$:rn});Z("navigation.instant")&&Bo({document$:it,location$:br,viewport$:Ee});var yi;((yi=en.version)==null?void 0:yi.provider)==="mike"&&ri({document$:it});L(br,gt).pipe(ze(125)).subscribe(()=>{qe("drawer",!1),qe("search",!1)});tn.pipe(_(({mode:e})=>e==="global")).subscribe(e=>{switch(e.type){case"p":case",":let t=se("link[rel=prev]");typeof t!="undefined"&&ot(t);break;case"n":case".":let r=se("link[rel=next]");typeof r!="undefined"&&ot(r);break;case"Enter":let n=_e();if(n instanceof HTMLLabelElement){let o=`[id="${n.htmlFor}"]`,i=V(o);n.setAttribute("aria-expanded",`${i.checked=!i.checked}`)}}});bi({document$:it,tablet$:vr});vi({document$:it});gi({viewport$:Ee,tablet$:vr});var Je=No(ye("header"),{viewport$:Ee}),hr=it.pipe(l(()=>ye("main")),x(e=>Qo(e,{viewport$:Ee,header$:Je})),J(1)),gs=L(...te("consent").map(e=>wo(e,{target$:gt})),...te("dialog").map(e=>zo(e,{alert$:rn})),...te("header").map(e=>qo(e,{viewport$:Ee,header$:Je,main$:hr})),...te("palette").map(e=>Yo(e)),...te("search").map(e=>si(e,{index$:wi,keyboard$:tn})),...te("source").map(e=>li(e))),ys=I(()=>L(...te("announce").map(e=>Eo(e)),...te("content").map(e=>Vo(e,{viewport$:Ee,target$:gt,print$:Ei})),...te("content").map(e=>Z("search.highlight")?ci(e,{index$:wi,location$:br}):R),...te("header-title").map(e=>Ko(e,{viewport$:Ee,header$:Je})),...te("sidebar").map(e=>e.getAttribute("data-md-type")==="navigation"?qr(xi,()=>Zr(e,{viewport$:Ee,header$:Je,main$:hr})):qr(vr,()=>Zr(e,{viewport$:Ee,header$:Je,main$:hr}))),...te("tabs").map(e=>mi(e,{viewport$:Ee,header$:Je})),...te("toc").map(e=>di(e,{viewport$:Ee,header$:Je,target$:gt})),...te("top").map(e=>hi(e,{viewport$:Ee,header$:Je,main$:hr,target$:gt})))),Si=it.pipe(x(()=>ys),Ne(gs),J(1));Si.subscribe();window.document$=it;window.location$=br;window.target$=gt;window.keyboard$=tn;window.viewport$=Ee;window.tablet$=vr;window.screen$=xi;window.print$=Ei;window.alert$=rn;window.component$=Si;})();
//# sourceMappingURL=bundle.51d95adb.min.js.map
This source diff could not be displayed because it is too large. You can view the blob instead.
"use strict";(()=>{var Fi=Object.create;var gr=Object.defineProperty;var Wi=Object.getOwnPropertyDescriptor;var Ui=Object.getOwnPropertyNames,Vt=Object.getOwnPropertySymbols,Di=Object.getPrototypeOf,yr=Object.prototype.hasOwnProperty,io=Object.prototype.propertyIsEnumerable;var no=(e,t,r)=>t in e?gr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,$=(e,t)=>{for(var r in t||(t={}))yr.call(t,r)&&no(e,r,t[r]);if(Vt)for(var r of Vt(t))io.call(t,r)&&no(e,r,t[r]);return e};var ao=(e,t)=>{var r={};for(var o in e)yr.call(e,o)&&t.indexOf(o)<0&&(r[o]=e[o]);if(e!=null&&Vt)for(var o of Vt(e))t.indexOf(o)<0&&io.call(e,o)&&(r[o]=e[o]);return r};var xr=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var Vi=(e,t,r,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of Ui(t))!yr.call(e,n)&&n!==r&&gr(e,n,{get:()=>t[n],enumerable:!(o=Wi(t,n))||o.enumerable});return e};var Lt=(e,t,r)=>(r=e!=null?Fi(Di(e)):{},Vi(t||!e||!e.__esModule?gr(r,"default",{value:e,enumerable:!0}):r,e));var so=(e,t,r)=>new Promise((o,n)=>{var i=p=>{try{s(r.next(p))}catch(c){n(c)}},a=p=>{try{s(r.throw(p))}catch(c){n(c)}},s=p=>p.done?o(p.value):Promise.resolve(p.value).then(i,a);s((r=r.apply(e,t)).next())});var po=xr((Er,co)=>{(function(e,t){typeof Er=="object"&&typeof co!="undefined"?t():typeof define=="function"&&define.amd?define(t):t()})(Er,function(){"use strict";function e(r){var o=!0,n=!1,i=null,a={text:!0,search:!0,url:!0,tel:!0,email:!0,password:!0,number:!0,date:!0,month:!0,week:!0,time:!0,datetime:!0,"datetime-local":!0};function s(k){return!!(k&&k!==document&&k.nodeName!=="HTML"&&k.nodeName!=="BODY"&&"classList"in k&&"contains"in k.classList)}function p(k){var ft=k.type,qe=k.tagName;return!!(qe==="INPUT"&&a[ft]&&!k.readOnly||qe==="TEXTAREA"&&!k.readOnly||k.isContentEditable)}function c(k){k.classList.contains("focus-visible")||(k.classList.add("focus-visible"),k.setAttribute("data-focus-visible-added",""))}function l(k){k.hasAttribute("data-focus-visible-added")&&(k.classList.remove("focus-visible"),k.removeAttribute("data-focus-visible-added"))}function f(k){k.metaKey||k.altKey||k.ctrlKey||(s(r.activeElement)&&c(r.activeElement),o=!0)}function u(k){o=!1}function d(k){s(k.target)&&(o||p(k.target))&&c(k.target)}function y(k){s(k.target)&&(k.target.classList.contains("focus-visible")||k.target.hasAttribute("data-focus-visible-added"))&&(n=!0,window.clearTimeout(i),i=window.setTimeout(function(){n=!1},100),l(k.target))}function M(k){document.visibilityState==="hidden"&&(n&&(o=!0),X())}function X(){document.addEventListener("mousemove",J),document.addEventListener("mousedown",J),document.addEventListener("mouseup",J),document.addEventListener("pointermove",J),document.addEventListener("pointerdown",J),document.addEventListener("pointerup",J),document.addEventListener("touchmove",J),document.addEventListener("touchstart",J),document.addEventListener("touchend",J)}function te(){document.removeEventListener("mousemove",J),document.removeEventListener("mousedown",J),document.removeEventListener("mouseup",J),document.removeEventListener("pointermove",J),document.removeEventListener("pointerdown",J),document.removeEventListener("pointerup",J),document.removeEventListener("touchmove",J),document.removeEventListener("touchstart",J),document.removeEventListener("touchend",J)}function J(k){k.target.nodeName&&k.target.nodeName.toLowerCase()==="html"||(o=!1,te())}document.addEventListener("keydown",f,!0),document.addEventListener("mousedown",u,!0),document.addEventListener("pointerdown",u,!0),document.addEventListener("touchstart",u,!0),document.addEventListener("visibilitychange",M,!0),X(),r.addEventListener("focus",d,!0),r.addEventListener("blur",y,!0),r.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&r.host?r.host.setAttribute("data-js-focus-visible",""):r.nodeType===Node.DOCUMENT_NODE&&(document.documentElement.classList.add("js-focus-visible"),document.documentElement.setAttribute("data-js-focus-visible",""))}if(typeof window!="undefined"&&typeof document!="undefined"){window.applyFocusVisiblePolyfill=e;var t;try{t=new CustomEvent("focus-visible-polyfill-ready")}catch(r){t=document.createEvent("CustomEvent"),t.initCustomEvent("focus-visible-polyfill-ready",!1,!1,{})}window.dispatchEvent(t)}typeof document!="undefined"&&e(document)})});var qr=xr((ly,Sn)=>{"use strict";/*!
* escape-html
* Copyright(c) 2012-2013 TJ Holowaychuk
* Copyright(c) 2015 Andreas Lubbe
* Copyright(c) 2015 Tiancheng "Timothy" Gu
* MIT Licensed
*/var ka=/["'&<>]/;Sn.exports=Ha;function Ha(e){var t=""+e,r=ka.exec(t);if(!r)return t;var o,n="",i=0,a=0;for(i=r.index;i<t.length;i++){switch(t.charCodeAt(i)){case 34:o="&quot;";break;case 38:o="&amp;";break;case 39:o="&#39;";break;case 60:o="&lt;";break;case 62:o="&gt;";break;default:continue}a!==i&&(n+=t.substring(a,i)),a=i+1,n+=o}return a!==i?n+t.substring(a,i):n}});var Br=xr((It,Yr)=>{/*!
* clipboard.js v2.0.11
* https://clipboardjs.com/
*
* Licensed MIT © Zeno Rocha
*/(function(t,r){typeof It=="object"&&typeof Yr=="object"?Yr.exports=r():typeof define=="function"&&define.amd?define([],r):typeof It=="object"?It.ClipboardJS=r():t.ClipboardJS=r()})(It,function(){return function(){var e={686:function(o,n,i){"use strict";i.d(n,{default:function(){return ji}});var a=i(279),s=i.n(a),p=i(370),c=i.n(p),l=i(817),f=i.n(l);function u(V){try{return document.execCommand(V)}catch(A){return!1}}var d=function(A){var L=f()(A);return u("cut"),L},y=d;function M(V){var A=document.documentElement.getAttribute("dir")==="rtl",L=document.createElement("textarea");L.style.fontSize="12pt",L.style.border="0",L.style.padding="0",L.style.margin="0",L.style.position="absolute",L.style[A?"right":"left"]="-9999px";var F=window.pageYOffset||document.documentElement.scrollTop;return L.style.top="".concat(F,"px"),L.setAttribute("readonly",""),L.value=V,L}var X=function(A,L){var F=M(A);L.container.appendChild(F);var D=f()(F);return u("copy"),F.remove(),D},te=function(A){var L=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{container:document.body},F="";return typeof A=="string"?F=X(A,L):A instanceof HTMLInputElement&&!["text","search","url","tel","password"].includes(A==null?void 0:A.type)?F=X(A.value,L):(F=f()(A),u("copy")),F},J=te;function k(V){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?k=function(L){return typeof L}:k=function(L){return L&&typeof Symbol=="function"&&L.constructor===Symbol&&L!==Symbol.prototype?"symbol":typeof L},k(V)}var ft=function(){var A=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},L=A.action,F=L===void 0?"copy":L,D=A.container,Y=A.target,$e=A.text;if(F!=="copy"&&F!=="cut")throw new Error('Invalid "action" value, use either "copy" or "cut"');if(Y!==void 0)if(Y&&k(Y)==="object"&&Y.nodeType===1){if(F==="copy"&&Y.hasAttribute("disabled"))throw new Error('Invalid "target" attribute. Please use "readonly" instead of "disabled" attribute');if(F==="cut"&&(Y.hasAttribute("readonly")||Y.hasAttribute("disabled")))throw new Error(`Invalid "target" attribute. You can't cut text from elements with "readonly" or "disabled" attributes`)}else throw new Error('Invalid "target" value, use a valid Element');if($e)return J($e,{container:D});if(Y)return F==="cut"?y(Y):J(Y,{container:D})},qe=ft;function Fe(V){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Fe=function(L){return typeof L}:Fe=function(L){return L&&typeof Symbol=="function"&&L.constructor===Symbol&&L!==Symbol.prototype?"symbol":typeof L},Fe(V)}function Ai(V,A){if(!(V instanceof A))throw new TypeError("Cannot call a class as a function")}function oo(V,A){for(var L=0;L<A.length;L++){var F=A[L];F.enumerable=F.enumerable||!1,F.configurable=!0,"value"in F&&(F.writable=!0),Object.defineProperty(V,F.key,F)}}function Ci(V,A,L){return A&&oo(V.prototype,A),L&&oo(V,L),V}function ki(V,A){if(typeof A!="function"&&A!==null)throw new TypeError("Super expression must either be null or a function");V.prototype=Object.create(A&&A.prototype,{constructor:{value:V,writable:!0,configurable:!0}}),A&&br(V,A)}function br(V,A){return br=Object.setPrototypeOf||function(F,D){return F.__proto__=D,F},br(V,A)}function Hi(V){var A=Ri();return function(){var F=Ut(V),D;if(A){var Y=Ut(this).constructor;D=Reflect.construct(F,arguments,Y)}else D=F.apply(this,arguments);return $i(this,D)}}function $i(V,A){return A&&(Fe(A)==="object"||typeof A=="function")?A:Pi(V)}function Pi(V){if(V===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return V}function Ri(){if(typeof Reflect=="undefined"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(V){return!1}}function Ut(V){return Ut=Object.setPrototypeOf?Object.getPrototypeOf:function(L){return L.__proto__||Object.getPrototypeOf(L)},Ut(V)}function vr(V,A){var L="data-clipboard-".concat(V);if(A.hasAttribute(L))return A.getAttribute(L)}var Ii=function(V){ki(L,V);var A=Hi(L);function L(F,D){var Y;return Ai(this,L),Y=A.call(this),Y.resolveOptions(D),Y.listenClick(F),Y}return Ci(L,[{key:"resolveOptions",value:function(){var D=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.action=typeof D.action=="function"?D.action:this.defaultAction,this.target=typeof D.target=="function"?D.target:this.defaultTarget,this.text=typeof D.text=="function"?D.text:this.defaultText,this.container=Fe(D.container)==="object"?D.container:document.body}},{key:"listenClick",value:function(D){var Y=this;this.listener=c()(D,"click",function($e){return Y.onClick($e)})}},{key:"onClick",value:function(D){var Y=D.delegateTarget||D.currentTarget,$e=this.action(Y)||"copy",Dt=qe({action:$e,container:this.container,target:this.target(Y),text:this.text(Y)});this.emit(Dt?"success":"error",{action:$e,text:Dt,trigger:Y,clearSelection:function(){Y&&Y.focus(),window.getSelection().removeAllRanges()}})}},{key:"defaultAction",value:function(D){return vr("action",D)}},{key:"defaultTarget",value:function(D){var Y=vr("target",D);if(Y)return document.querySelector(Y)}},{key:"defaultText",value:function(D){return vr("text",D)}},{key:"destroy",value:function(){this.listener.destroy()}}],[{key:"copy",value:function(D){var Y=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{container:document.body};return J(D,Y)}},{key:"cut",value:function(D){return y(D)}},{key:"isSupported",value:function(){var D=arguments.length>0&&arguments[0]!==void 0?arguments[0]:["copy","cut"],Y=typeof D=="string"?[D]:D,$e=!!document.queryCommandSupported;return Y.forEach(function(Dt){$e=$e&&!!document.queryCommandSupported(Dt)}),$e}}]),L}(s()),ji=Ii},828:function(o){var n=9;if(typeof Element!="undefined"&&!Element.prototype.matches){var i=Element.prototype;i.matches=i.matchesSelector||i.mozMatchesSelector||i.msMatchesSelector||i.oMatchesSelector||i.webkitMatchesSelector}function a(s,p){for(;s&&s.nodeType!==n;){if(typeof s.matches=="function"&&s.matches(p))return s;s=s.parentNode}}o.exports=a},438:function(o,n,i){var a=i(828);function s(l,f,u,d,y){var M=c.apply(this,arguments);return l.addEventListener(u,M,y),{destroy:function(){l.removeEventListener(u,M,y)}}}function p(l,f,u,d,y){return typeof l.addEventListener=="function"?s.apply(null,arguments):typeof u=="function"?s.bind(null,document).apply(null,arguments):(typeof l=="string"&&(l=document.querySelectorAll(l)),Array.prototype.map.call(l,function(M){return s(M,f,u,d,y)}))}function c(l,f,u,d){return function(y){y.delegateTarget=a(y.target,f),y.delegateTarget&&d.call(l,y)}}o.exports=p},879:function(o,n){n.node=function(i){return i!==void 0&&i instanceof HTMLElement&&i.nodeType===1},n.nodeList=function(i){var a=Object.prototype.toString.call(i);return i!==void 0&&(a==="[object NodeList]"||a==="[object HTMLCollection]")&&"length"in i&&(i.length===0||n.node(i[0]))},n.string=function(i){return typeof i=="string"||i instanceof String},n.fn=function(i){var a=Object.prototype.toString.call(i);return a==="[object Function]"}},370:function(o,n,i){var a=i(879),s=i(438);function p(u,d,y){if(!u&&!d&&!y)throw new Error("Missing required arguments");if(!a.string(d))throw new TypeError("Second argument must be a String");if(!a.fn(y))throw new TypeError("Third argument must be a Function");if(a.node(u))return c(u,d,y);if(a.nodeList(u))return l(u,d,y);if(a.string(u))return f(u,d,y);throw new TypeError("First argument must be a String, HTMLElement, HTMLCollection, or NodeList")}function c(u,d,y){return u.addEventListener(d,y),{destroy:function(){u.removeEventListener(d,y)}}}function l(u,d,y){return Array.prototype.forEach.call(u,function(M){M.addEventListener(d,y)}),{destroy:function(){Array.prototype.forEach.call(u,function(M){M.removeEventListener(d,y)})}}}function f(u,d,y){return s(document.body,u,d,y)}o.exports=p},817:function(o){function n(i){var a;if(i.nodeName==="SELECT")i.focus(),a=i.value;else if(i.nodeName==="INPUT"||i.nodeName==="TEXTAREA"){var s=i.hasAttribute("readonly");s||i.setAttribute("readonly",""),i.select(),i.setSelectionRange(0,i.value.length),s||i.removeAttribute("readonly"),a=i.value}else{i.hasAttribute("contenteditable")&&i.focus();var p=window.getSelection(),c=document.createRange();c.selectNodeContents(i),p.removeAllRanges(),p.addRange(c),a=p.toString()}return a}o.exports=n},279:function(o){function n(){}n.prototype={on:function(i,a,s){var p=this.e||(this.e={});return(p[i]||(p[i]=[])).push({fn:a,ctx:s}),this},once:function(i,a,s){var p=this;function c(){p.off(i,c),a.apply(s,arguments)}return c._=a,this.on(i,c,s)},emit:function(i){var a=[].slice.call(arguments,1),s=((this.e||(this.e={}))[i]||[]).slice(),p=0,c=s.length;for(p;p<c;p++)s[p].fn.apply(s[p].ctx,a);return this},off:function(i,a){var s=this.e||(this.e={}),p=s[i],c=[];if(p&&a)for(var l=0,f=p.length;l<f;l++)p[l].fn!==a&&p[l].fn._!==a&&c.push(p[l]);return c.length?s[i]=c:delete s[i],this}},o.exports=n,o.exports.TinyEmitter=n}},t={};function r(o){if(t[o])return t[o].exports;var n=t[o]={exports:{}};return e[o](n,n.exports,r),n.exports}return function(){r.n=function(o){var n=o&&o.__esModule?function(){return o.default}:function(){return o};return r.d(n,{a:n}),n}}(),function(){r.d=function(o,n){for(var i in n)r.o(n,i)&&!r.o(o,i)&&Object.defineProperty(o,i,{enumerable:!0,get:n[i]})}}(),function(){r.o=function(o,n){return Object.prototype.hasOwnProperty.call(o,n)}}(),r(686)}().default})});var oM=Lt(po());var wr=function(e,t){return wr=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,o){r.__proto__=o}||function(r,o){for(var n in o)Object.prototype.hasOwnProperty.call(o,n)&&(r[n]=o[n])},wr(e,t)};function oe(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");wr(e,t);function r(){this.constructor=e}e.prototype=t===null?Object.create(t):(r.prototype=t.prototype,new r)}function lo(e,t,r,o){function n(i){return i instanceof r?i:new r(function(a){a(i)})}return new(r||(r=Promise))(function(i,a){function s(l){try{c(o.next(l))}catch(f){a(f)}}function p(l){try{c(o.throw(l))}catch(f){a(f)}}function c(l){l.done?i(l.value):n(l.value).then(s,p)}c((o=o.apply(e,t||[])).next())})}function Nt(e,t){var r={label:0,sent:function(){if(i[0]&1)throw i[1];return i[1]},trys:[],ops:[]},o,n,i,a=Object.create((typeof Iterator=="function"?Iterator:Object).prototype);return a.next=s(0),a.throw=s(1),a.return=s(2),typeof Symbol=="function"&&(a[Symbol.iterator]=function(){return this}),a;function s(c){return function(l){return p([c,l])}}function p(c){if(o)throw new TypeError("Generator is already executing.");for(;a&&(a=0,c[0]&&(r=0)),r;)try{if(o=1,n&&(i=c[0]&2?n.return:c[0]?n.throw||((i=n.return)&&i.call(n),0):n.next)&&!(i=i.call(n,c[1])).done)return i;switch(n=0,i&&(c=[c[0]&2,i.value]),c[0]){case 0:case 1:i=c;break;case 4:return r.label++,{value:c[1],done:!1};case 5:r.label++,n=c[1],c=[0];continue;case 7:c=r.ops.pop(),r.trys.pop();continue;default:if(i=r.trys,!(i=i.length>0&&i[i.length-1])&&(c[0]===6||c[0]===2)){r=0;continue}if(c[0]===3&&(!i||c[1]>i[0]&&c[1]<i[3])){r.label=c[1];break}if(c[0]===6&&r.label<i[1]){r.label=i[1],i=c;break}if(i&&r.label<i[2]){r.label=i[2],r.ops.push(c);break}i[2]&&r.ops.pop(),r.trys.pop();continue}c=t.call(e,r)}catch(l){c=[6,l],n=0}finally{o=i=0}if(c[0]&5)throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}function he(e){var t=typeof Symbol=="function"&&Symbol.iterator,r=t&&e[t],o=0;if(r)return r.call(e);if(e&&typeof e.length=="number")return{next:function(){return e&&o>=e.length&&(e=void 0),{value:e&&e[o++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function N(e,t){var r=typeof Symbol=="function"&&e[Symbol.iterator];if(!r)return e;var o=r.call(e),n,i=[],a;try{for(;(t===void 0||t-- >0)&&!(n=o.next()).done;)i.push(n.value)}catch(s){a={error:s}}finally{try{n&&!n.done&&(r=o.return)&&r.call(o)}finally{if(a)throw a.error}}return i}function q(e,t,r){if(r||arguments.length===2)for(var o=0,n=t.length,i;o<n;o++)(i||!(o in t))&&(i||(i=Array.prototype.slice.call(t,0,o)),i[o]=t[o]);return e.concat(i||Array.prototype.slice.call(t))}function nt(e){return this instanceof nt?(this.v=e,this):new nt(e)}function mo(e,t,r){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var o=r.apply(e,t||[]),n,i=[];return n=Object.create((typeof AsyncIterator=="function"?AsyncIterator:Object).prototype),s("next"),s("throw"),s("return",a),n[Symbol.asyncIterator]=function(){return this},n;function a(d){return function(y){return Promise.resolve(y).then(d,f)}}function s(d,y){o[d]&&(n[d]=function(M){return new Promise(function(X,te){i.push([d,M,X,te])>1||p(d,M)})},y&&(n[d]=y(n[d])))}function p(d,y){try{c(o[d](y))}catch(M){u(i[0][3],M)}}function c(d){d.value instanceof nt?Promise.resolve(d.value.v).then(l,f):u(i[0][2],d)}function l(d){p("next",d)}function f(d){p("throw",d)}function u(d,y){d(y),i.shift(),i.length&&p(i[0][0],i[0][1])}}function fo(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t=e[Symbol.asyncIterator],r;return t?t.call(e):(e=typeof he=="function"?he(e):e[Symbol.iterator](),r={},o("next"),o("throw"),o("return"),r[Symbol.asyncIterator]=function(){return this},r);function o(i){r[i]=e[i]&&function(a){return new Promise(function(s,p){a=e[i](a),n(s,p,a.done,a.value)})}}function n(i,a,s,p){Promise.resolve(p).then(function(c){i({value:c,done:s})},a)}}function H(e){return typeof e=="function"}function ut(e){var t=function(o){Error.call(o),o.stack=new Error().stack},r=e(t);return r.prototype=Object.create(Error.prototype),r.prototype.constructor=r,r}var zt=ut(function(e){return function(r){e(this),this.message=r?r.length+` errors occurred during unsubscription:
`+r.map(function(o,n){return n+1+") "+o.toString()}).join(`
`):"",this.name="UnsubscriptionError",this.errors=r}});function Qe(e,t){if(e){var r=e.indexOf(t);0<=r&&e.splice(r,1)}}var We=function(){function e(t){this.initialTeardown=t,this.closed=!1,this._parentage=null,this._finalizers=null}return e.prototype.unsubscribe=function(){var t,r,o,n,i;if(!this.closed){this.closed=!0;var a=this._parentage;if(a)if(this._parentage=null,Array.isArray(a))try{for(var s=he(a),p=s.next();!p.done;p=s.next()){var c=p.value;c.remove(this)}}catch(M){t={error:M}}finally{try{p&&!p.done&&(r=s.return)&&r.call(s)}finally{if(t)throw t.error}}else a.remove(this);var l=this.initialTeardown;if(H(l))try{l()}catch(M){i=M instanceof zt?M.errors:[M]}var f=this._finalizers;if(f){this._finalizers=null;try{for(var u=he(f),d=u.next();!d.done;d=u.next()){var y=d.value;try{uo(y)}catch(M){i=i!=null?i:[],M instanceof zt?i=q(q([],N(i)),N(M.errors)):i.push(M)}}}catch(M){o={error:M}}finally{try{d&&!d.done&&(n=u.return)&&n.call(u)}finally{if(o)throw o.error}}}if(i)throw new zt(i)}},e.prototype.add=function(t){var r;if(t&&t!==this)if(this.closed)uo(t);else{if(t instanceof e){if(t.closed||t._hasParent(this))return;t._addParent(this)}(this._finalizers=(r=this._finalizers)!==null&&r!==void 0?r:[]).push(t)}},e.prototype._hasParent=function(t){var r=this._parentage;return r===t||Array.isArray(r)&&r.includes(t)},e.prototype._addParent=function(t){var r=this._parentage;this._parentage=Array.isArray(r)?(r.push(t),r):r?[r,t]:t},e.prototype._removeParent=function(t){var r=this._parentage;r===t?this._parentage=null:Array.isArray(r)&&Qe(r,t)},e.prototype.remove=function(t){var r=this._finalizers;r&&Qe(r,t),t instanceof e&&t._removeParent(this)},e.EMPTY=function(){var t=new e;return t.closed=!0,t}(),e}();var Tr=We.EMPTY;function qt(e){return e instanceof We||e&&"closed"in e&&H(e.remove)&&H(e.add)&&H(e.unsubscribe)}function uo(e){H(e)?e():e.unsubscribe()}var Pe={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1};var dt={setTimeout:function(e,t){for(var r=[],o=2;o<arguments.length;o++)r[o-2]=arguments[o];var n=dt.delegate;return n!=null&&n.setTimeout?n.setTimeout.apply(n,q([e,t],N(r))):setTimeout.apply(void 0,q([e,t],N(r)))},clearTimeout:function(e){var t=dt.delegate;return((t==null?void 0:t.clearTimeout)||clearTimeout)(e)},delegate:void 0};function Qt(e){dt.setTimeout(function(){var t=Pe.onUnhandledError;if(t)t(e);else throw e})}function be(){}var ho=function(){return Sr("C",void 0,void 0)}();function bo(e){return Sr("E",void 0,e)}function vo(e){return Sr("N",e,void 0)}function Sr(e,t,r){return{kind:e,value:t,error:r}}var it=null;function ht(e){if(Pe.useDeprecatedSynchronousErrorHandling){var t=!it;if(t&&(it={errorThrown:!1,error:null}),e(),t){var r=it,o=r.errorThrown,n=r.error;if(it=null,o)throw n}}else e()}function go(e){Pe.useDeprecatedSynchronousErrorHandling&&it&&(it.errorThrown=!0,it.error=e)}var _t=function(e){oe(t,e);function t(r){var o=e.call(this)||this;return o.isStopped=!1,r?(o.destination=r,qt(r)&&r.add(o)):o.destination=Qi,o}return t.create=function(r,o,n){return new at(r,o,n)},t.prototype.next=function(r){this.isStopped?Mr(vo(r),this):this._next(r)},t.prototype.error=function(r){this.isStopped?Mr(bo(r),this):(this.isStopped=!0,this._error(r))},t.prototype.complete=function(){this.isStopped?Mr(ho,this):(this.isStopped=!0,this._complete())},t.prototype.unsubscribe=function(){this.closed||(this.isStopped=!0,e.prototype.unsubscribe.call(this),this.destination=null)},t.prototype._next=function(r){this.destination.next(r)},t.prototype._error=function(r){try{this.destination.error(r)}finally{this.unsubscribe()}},t.prototype._complete=function(){try{this.destination.complete()}finally{this.unsubscribe()}},t}(We);var Ni=Function.prototype.bind;function Or(e,t){return Ni.call(e,t)}var zi=function(){function e(t){this.partialObserver=t}return e.prototype.next=function(t){var r=this.partialObserver;if(r.next)try{r.next(t)}catch(o){Kt(o)}},e.prototype.error=function(t){var r=this.partialObserver;if(r.error)try{r.error(t)}catch(o){Kt(o)}else Kt(t)},e.prototype.complete=function(){var t=this.partialObserver;if(t.complete)try{t.complete()}catch(r){Kt(r)}},e}(),at=function(e){oe(t,e);function t(r,o,n){var i=e.call(this)||this,a;if(H(r)||!r)a={next:r!=null?r:void 0,error:o!=null?o:void 0,complete:n!=null?n:void 0};else{var s;i&&Pe.useDeprecatedNextContext?(s=Object.create(r),s.unsubscribe=function(){return i.unsubscribe()},a={next:r.next&&Or(r.next,s),error:r.error&&Or(r.error,s),complete:r.complete&&Or(r.complete,s)}):a=r}return i.destination=new zi(a),i}return t}(_t);function Kt(e){Pe.useDeprecatedSynchronousErrorHandling?go(e):Qt(e)}function qi(e){throw e}function Mr(e,t){var r=Pe.onStoppedNotification;r&&dt.setTimeout(function(){return r(e,t)})}var Qi={closed:!0,next:be,error:qi,complete:be};var bt=function(){return typeof Symbol=="function"&&Symbol.observable||"@@observable"}();function le(e){return e}function yo(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return Lr(e)}function Lr(e){return e.length===0?le:e.length===1?e[0]:function(r){return e.reduce(function(o,n){return n(o)},r)}}var j=function(){function e(t){t&&(this._subscribe=t)}return e.prototype.lift=function(t){var r=new e;return r.source=this,r.operator=t,r},e.prototype.subscribe=function(t,r,o){var n=this,i=Yi(t)?t:new at(t,r,o);return ht(function(){var a=n,s=a.operator,p=a.source;i.add(s?s.call(i,p):p?n._subscribe(i):n._trySubscribe(i))}),i},e.prototype._trySubscribe=function(t){try{return this._subscribe(t)}catch(r){t.error(r)}},e.prototype.forEach=function(t,r){var o=this;return r=xo(r),new r(function(n,i){var a=new at({next:function(s){try{t(s)}catch(p){i(p),a.unsubscribe()}},error:i,complete:n});o.subscribe(a)})},e.prototype._subscribe=function(t){var r;return(r=this.source)===null||r===void 0?void 0:r.subscribe(t)},e.prototype[bt]=function(){return this},e.prototype.pipe=function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return Lr(t)(this)},e.prototype.toPromise=function(t){var r=this;return t=xo(t),new t(function(o,n){var i;r.subscribe(function(a){return i=a},function(a){return n(a)},function(){return o(i)})})},e.create=function(t){return new e(t)},e}();function xo(e){var t;return(t=e!=null?e:Pe.Promise)!==null&&t!==void 0?t:Promise}function Ki(e){return e&&H(e.next)&&H(e.error)&&H(e.complete)}function Yi(e){return e&&e instanceof _t||Ki(e)&&qt(e)}function Bi(e){return H(e==null?void 0:e.lift)}function E(e){return function(t){if(Bi(t))return t.lift(function(r){try{return e(r,this)}catch(o){this.error(o)}});throw new TypeError("Unable to lift unknown Observable type")}}function T(e,t,r,o,n){return new Gi(e,t,r,o,n)}var Gi=function(e){oe(t,e);function t(r,o,n,i,a,s){var p=e.call(this,r)||this;return p.onFinalize=a,p.shouldUnsubscribe=s,p._next=o?function(c){try{o(c)}catch(l){r.error(l)}}:e.prototype._next,p._error=i?function(c){try{i(c)}catch(l){r.error(l)}finally{this.unsubscribe()}}:e.prototype._error,p._complete=n?function(){try{n()}catch(c){r.error(c)}finally{this.unsubscribe()}}:e.prototype._complete,p}return t.prototype.unsubscribe=function(){var r;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){var o=this.closed;e.prototype.unsubscribe.call(this),!o&&((r=this.onFinalize)===null||r===void 0||r.call(this))}},t}(_t);var vt={schedule:function(e){var t=requestAnimationFrame,r=cancelAnimationFrame,o=vt.delegate;o&&(t=o.requestAnimationFrame,r=o.cancelAnimationFrame);var n=t(function(i){r=void 0,e(i)});return new We(function(){return r==null?void 0:r(n)})},requestAnimationFrame:function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var r=vt.delegate;return((r==null?void 0:r.requestAnimationFrame)||requestAnimationFrame).apply(void 0,q([],N(e)))},cancelAnimationFrame:function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var r=vt.delegate;return((r==null?void 0:r.cancelAnimationFrame)||cancelAnimationFrame).apply(void 0,q([],N(e)))},delegate:void 0};var Eo=ut(function(e){return function(){e(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"}});var g=function(e){oe(t,e);function t(){var r=e.call(this)||this;return r.closed=!1,r.currentObservers=null,r.observers=[],r.isStopped=!1,r.hasError=!1,r.thrownError=null,r}return t.prototype.lift=function(r){var o=new wo(this,this);return o.operator=r,o},t.prototype._throwIfClosed=function(){if(this.closed)throw new Eo},t.prototype.next=function(r){var o=this;ht(function(){var n,i;if(o._throwIfClosed(),!o.isStopped){o.currentObservers||(o.currentObservers=Array.from(o.observers));try{for(var a=he(o.currentObservers),s=a.next();!s.done;s=a.next()){var p=s.value;p.next(r)}}catch(c){n={error:c}}finally{try{s&&!s.done&&(i=a.return)&&i.call(a)}finally{if(n)throw n.error}}}})},t.prototype.error=function(r){var o=this;ht(function(){if(o._throwIfClosed(),!o.isStopped){o.hasError=o.isStopped=!0,o.thrownError=r;for(var n=o.observers;n.length;)n.shift().error(r)}})},t.prototype.complete=function(){var r=this;ht(function(){if(r._throwIfClosed(),!r.isStopped){r.isStopped=!0;for(var o=r.observers;o.length;)o.shift().complete()}})},t.prototype.unsubscribe=function(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null},Object.defineProperty(t.prototype,"observed",{get:function(){var r;return((r=this.observers)===null||r===void 0?void 0:r.length)>0},enumerable:!1,configurable:!0}),t.prototype._trySubscribe=function(r){return this._throwIfClosed(),e.prototype._trySubscribe.call(this,r)},t.prototype._subscribe=function(r){return this._throwIfClosed(),this._checkFinalizedStatuses(r),this._innerSubscribe(r)},t.prototype._innerSubscribe=function(r){var o=this,n=this,i=n.hasError,a=n.isStopped,s=n.observers;return i||a?Tr:(this.currentObservers=null,s.push(r),new We(function(){o.currentObservers=null,Qe(s,r)}))},t.prototype._checkFinalizedStatuses=function(r){var o=this,n=o.hasError,i=o.thrownError,a=o.isStopped;n?r.error(i):a&&r.complete()},t.prototype.asObservable=function(){var r=new j;return r.source=this,r},t.create=function(r,o){return new wo(r,o)},t}(j);var wo=function(e){oe(t,e);function t(r,o){var n=e.call(this)||this;return n.destination=r,n.source=o,n}return t.prototype.next=function(r){var o,n;(n=(o=this.destination)===null||o===void 0?void 0:o.next)===null||n===void 0||n.call(o,r)},t.prototype.error=function(r){var o,n;(n=(o=this.destination)===null||o===void 0?void 0:o.error)===null||n===void 0||n.call(o,r)},t.prototype.complete=function(){var r,o;(o=(r=this.destination)===null||r===void 0?void 0:r.complete)===null||o===void 0||o.call(r)},t.prototype._subscribe=function(r){var o,n;return(n=(o=this.source)===null||o===void 0?void 0:o.subscribe(r))!==null&&n!==void 0?n:Tr},t}(g);var _r=function(e){oe(t,e);function t(r){var o=e.call(this)||this;return o._value=r,o}return Object.defineProperty(t.prototype,"value",{get:function(){return this.getValue()},enumerable:!1,configurable:!0}),t.prototype._subscribe=function(r){var o=e.prototype._subscribe.call(this,r);return!o.closed&&r.next(this._value),o},t.prototype.getValue=function(){var r=this,o=r.hasError,n=r.thrownError,i=r._value;if(o)throw n;return this._throwIfClosed(),i},t.prototype.next=function(r){e.prototype.next.call(this,this._value=r)},t}(g);var At={now:function(){return(At.delegate||Date).now()},delegate:void 0};var Ct=function(e){oe(t,e);function t(r,o,n){r===void 0&&(r=1/0),o===void 0&&(o=1/0),n===void 0&&(n=At);var i=e.call(this)||this;return i._bufferSize=r,i._windowTime=o,i._timestampProvider=n,i._buffer=[],i._infiniteTimeWindow=!0,i._infiniteTimeWindow=o===1/0,i._bufferSize=Math.max(1,r),i._windowTime=Math.max(1,o),i}return t.prototype.next=function(r){var o=this,n=o.isStopped,i=o._buffer,a=o._infiniteTimeWindow,s=o._timestampProvider,p=o._windowTime;n||(i.push(r),!a&&i.push(s.now()+p)),this._trimBuffer(),e.prototype.next.call(this,r)},t.prototype._subscribe=function(r){this._throwIfClosed(),this._trimBuffer();for(var o=this._innerSubscribe(r),n=this,i=n._infiniteTimeWindow,a=n._buffer,s=a.slice(),p=0;p<s.length&&!r.closed;p+=i?1:2)r.next(s[p]);return this._checkFinalizedStatuses(r),o},t.prototype._trimBuffer=function(){var r=this,o=r._bufferSize,n=r._timestampProvider,i=r._buffer,a=r._infiniteTimeWindow,s=(a?1:2)*o;if(o<1/0&&s<i.length&&i.splice(0,i.length-s),!a){for(var p=n.now(),c=0,l=1;l<i.length&&i[l]<=p;l+=2)c=l;c&&i.splice(0,c+1)}},t}(g);var To=function(e){oe(t,e);function t(r,o){return e.call(this)||this}return t.prototype.schedule=function(r,o){return o===void 0&&(o=0),this},t}(We);var kt={setInterval:function(e,t){for(var r=[],o=2;o<arguments.length;o++)r[o-2]=arguments[o];var n=kt.delegate;return n!=null&&n.setInterval?n.setInterval.apply(n,q([e,t],N(r))):setInterval.apply(void 0,q([e,t],N(r)))},clearInterval:function(e){var t=kt.delegate;return((t==null?void 0:t.clearInterval)||clearInterval)(e)},delegate:void 0};var gt=function(e){oe(t,e);function t(r,o){var n=e.call(this,r,o)||this;return n.scheduler=r,n.work=o,n.pending=!1,n}return t.prototype.schedule=function(r,o){var n;if(o===void 0&&(o=0),this.closed)return this;this.state=r;var i=this.id,a=this.scheduler;return i!=null&&(this.id=this.recycleAsyncId(a,i,o)),this.pending=!0,this.delay=o,this.id=(n=this.id)!==null&&n!==void 0?n:this.requestAsyncId(a,this.id,o),this},t.prototype.requestAsyncId=function(r,o,n){return n===void 0&&(n=0),kt.setInterval(r.flush.bind(r,this),n)},t.prototype.recycleAsyncId=function(r,o,n){if(n===void 0&&(n=0),n!=null&&this.delay===n&&this.pending===!1)return o;o!=null&&kt.clearInterval(o)},t.prototype.execute=function(r,o){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;var n=this._execute(r,o);if(n)return n;this.pending===!1&&this.id!=null&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))},t.prototype._execute=function(r,o){var n=!1,i;try{this.work(r)}catch(a){n=!0,i=a||new Error("Scheduled action threw falsy error")}if(n)return this.unsubscribe(),i},t.prototype.unsubscribe=function(){if(!this.closed){var r=this,o=r.id,n=r.scheduler,i=n.actions;this.work=this.state=this.scheduler=null,this.pending=!1,Qe(i,this),o!=null&&(this.id=this.recycleAsyncId(n,o,null)),this.delay=null,e.prototype.unsubscribe.call(this)}},t}(To);var Ar=function(){function e(t,r){r===void 0&&(r=e.now),this.schedulerActionCtor=t,this.now=r}return e.prototype.schedule=function(t,r,o){return r===void 0&&(r=0),new this.schedulerActionCtor(this,t).schedule(o,r)},e.now=At.now,e}();var yt=function(e){oe(t,e);function t(r,o){o===void 0&&(o=Ar.now);var n=e.call(this,r,o)||this;return n.actions=[],n._active=!1,n}return t.prototype.flush=function(r){var o=this.actions;if(this._active){o.push(r);return}var n;this._active=!0;do if(n=r.execute(r.state,r.delay))break;while(r=o.shift());if(this._active=!1,n){for(;r=o.shift();)r.unsubscribe();throw n}},t}(Ar);var se=new yt(gt),Cr=se;var So=function(e){oe(t,e);function t(r,o){var n=e.call(this,r,o)||this;return n.scheduler=r,n.work=o,n}return t.prototype.schedule=function(r,o){return o===void 0&&(o=0),o>0?e.prototype.schedule.call(this,r,o):(this.delay=o,this.state=r,this.scheduler.flush(this),this)},t.prototype.execute=function(r,o){return o>0||this.closed?e.prototype.execute.call(this,r,o):this._execute(r,o)},t.prototype.requestAsyncId=function(r,o,n){return n===void 0&&(n=0),n!=null&&n>0||n==null&&this.delay>0?e.prototype.requestAsyncId.call(this,r,o,n):(r.flush(this),0)},t}(gt);var Oo=function(e){oe(t,e);function t(){return e!==null&&e.apply(this,arguments)||this}return t}(yt);var kr=new Oo(So);var Mo=function(e){oe(t,e);function t(r,o){var n=e.call(this,r,o)||this;return n.scheduler=r,n.work=o,n}return t.prototype.requestAsyncId=function(r,o,n){return n===void 0&&(n=0),n!==null&&n>0?e.prototype.requestAsyncId.call(this,r,o,n):(r.actions.push(this),r._scheduled||(r._scheduled=vt.requestAnimationFrame(function(){return r.flush(void 0)})))},t.prototype.recycleAsyncId=function(r,o,n){var i;if(n===void 0&&(n=0),n!=null?n>0:this.delay>0)return e.prototype.recycleAsyncId.call(this,r,o,n);var a=r.actions;o!=null&&((i=a[a.length-1])===null||i===void 0?void 0:i.id)!==o&&(vt.cancelAnimationFrame(o),r._scheduled=void 0)},t}(gt);var Lo=function(e){oe(t,e);function t(){return e!==null&&e.apply(this,arguments)||this}return t.prototype.flush=function(r){this._active=!0;var o=this._scheduled;this._scheduled=void 0;var n=this.actions,i;r=r||n.shift();do if(i=r.execute(r.state,r.delay))break;while((r=n[0])&&r.id===o&&n.shift());if(this._active=!1,i){for(;(r=n[0])&&r.id===o&&n.shift();)r.unsubscribe();throw i}},t}(yt);var me=new Lo(Mo);var S=new j(function(e){return e.complete()});function Yt(e){return e&&H(e.schedule)}function Hr(e){return e[e.length-1]}function Xe(e){return H(Hr(e))?e.pop():void 0}function ke(e){return Yt(Hr(e))?e.pop():void 0}function Bt(e,t){return typeof Hr(e)=="number"?e.pop():t}var xt=function(e){return e&&typeof e.length=="number"&&typeof e!="function"};function Gt(e){return H(e==null?void 0:e.then)}function Jt(e){return H(e[bt])}function Xt(e){return Symbol.asyncIterator&&H(e==null?void 0:e[Symbol.asyncIterator])}function Zt(e){return new TypeError("You provided "+(e!==null&&typeof e=="object"?"an invalid object":"'"+e+"'")+" where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.")}function Ji(){return typeof Symbol!="function"||!Symbol.iterator?"@@iterator":Symbol.iterator}var er=Ji();function tr(e){return H(e==null?void 0:e[er])}function rr(e){return mo(this,arguments,function(){var r,o,n,i;return Nt(this,function(a){switch(a.label){case 0:r=e.getReader(),a.label=1;case 1:a.trys.push([1,,9,10]),a.label=2;case 2:return[4,nt(r.read())];case 3:return o=a.sent(),n=o.value,i=o.done,i?[4,nt(void 0)]:[3,5];case 4:return[2,a.sent()];case 5:return[4,nt(n)];case 6:return[4,a.sent()];case 7:return a.sent(),[3,2];case 8:return[3,10];case 9:return r.releaseLock(),[7];case 10:return[2]}})})}function or(e){return H(e==null?void 0:e.getReader)}function W(e){if(e instanceof j)return e;if(e!=null){if(Jt(e))return Xi(e);if(xt(e))return Zi(e);if(Gt(e))return ea(e);if(Xt(e))return _o(e);if(tr(e))return ta(e);if(or(e))return ra(e)}throw Zt(e)}function Xi(e){return new j(function(t){var r=e[bt]();if(H(r.subscribe))return r.subscribe(t);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}function Zi(e){return new j(function(t){for(var r=0;r<e.length&&!t.closed;r++)t.next(e[r]);t.complete()})}function ea(e){return new j(function(t){e.then(function(r){t.closed||(t.next(r),t.complete())},function(r){return t.error(r)}).then(null,Qt)})}function ta(e){return new j(function(t){var r,o;try{for(var n=he(e),i=n.next();!i.done;i=n.next()){var a=i.value;if(t.next(a),t.closed)return}}catch(s){r={error:s}}finally{try{i&&!i.done&&(o=n.return)&&o.call(n)}finally{if(r)throw r.error}}t.complete()})}function _o(e){return new j(function(t){oa(e,t).catch(function(r){return t.error(r)})})}function ra(e){return _o(rr(e))}function oa(e,t){var r,o,n,i;return lo(this,void 0,void 0,function(){var a,s;return Nt(this,function(p){switch(p.label){case 0:p.trys.push([0,5,6,11]),r=fo(e),p.label=1;case 1:return[4,r.next()];case 2:if(o=p.sent(),!!o.done)return[3,4];if(a=o.value,t.next(a),t.closed)return[2];p.label=3;case 3:return[3,1];case 4:return[3,11];case 5:return s=p.sent(),n={error:s},[3,11];case 6:return p.trys.push([6,,9,10]),o&&!o.done&&(i=r.return)?[4,i.call(r)]:[3,8];case 7:p.sent(),p.label=8;case 8:return[3,10];case 9:if(n)throw n.error;return[7];case 10:return[7];case 11:return t.complete(),[2]}})})}function we(e,t,r,o,n){o===void 0&&(o=0),n===void 0&&(n=!1);var i=t.schedule(function(){r(),n?e.add(this.schedule(null,o)):this.unsubscribe()},o);if(e.add(i),!n)return i}function ve(e,t){return t===void 0&&(t=0),E(function(r,o){r.subscribe(T(o,function(n){return we(o,e,function(){return o.next(n)},t)},function(){return we(o,e,function(){return o.complete()},t)},function(n){return we(o,e,function(){return o.error(n)},t)}))})}function Ke(e,t){return t===void 0&&(t=0),E(function(r,o){o.add(e.schedule(function(){return r.subscribe(o)},t))})}function Ao(e,t){return W(e).pipe(Ke(t),ve(t))}function Co(e,t){return W(e).pipe(Ke(t),ve(t))}function ko(e,t){return new j(function(r){var o=0;return t.schedule(function(){o===e.length?r.complete():(r.next(e[o++]),r.closed||this.schedule())})})}function Ho(e,t){return new j(function(r){var o;return we(r,t,function(){o=e[er](),we(r,t,function(){var n,i,a;try{n=o.next(),i=n.value,a=n.done}catch(s){r.error(s);return}a?r.complete():r.next(i)},0,!0)}),function(){return H(o==null?void 0:o.return)&&o.return()}})}function nr(e,t){if(!e)throw new Error("Iterable cannot be null");return new j(function(r){we(r,t,function(){var o=e[Symbol.asyncIterator]();we(r,t,function(){o.next().then(function(n){n.done?r.complete():r.next(n.value)})},0,!0)})})}function $o(e,t){return nr(rr(e),t)}function Po(e,t){if(e!=null){if(Jt(e))return Ao(e,t);if(xt(e))return ko(e,t);if(Gt(e))return Co(e,t);if(Xt(e))return nr(e,t);if(tr(e))return Ho(e,t);if(or(e))return $o(e,t)}throw Zt(e)}function ue(e,t){return t?Po(e,t):W(e)}function I(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var r=ke(e);return ue(e,r)}function $r(e,t){var r=H(e)?e:function(){return e},o=function(n){return n.error(r())};return new j(t?function(n){return t.schedule(o,0,n)}:o)}var ir=ut(function(e){return function(){e(this),this.name="EmptyError",this.message="no elements in sequence"}});function Ro(e){return e instanceof Date&&!isNaN(e)}function m(e,t){return E(function(r,o){var n=0;r.subscribe(T(o,function(i){o.next(e.call(t,i,n++))}))})}var na=Array.isArray;function ia(e,t){return na(t)?e.apply(void 0,q([],N(t))):e(t)}function Ze(e){return m(function(t){return ia(e,t)})}var aa=Array.isArray,sa=Object.getPrototypeOf,ca=Object.prototype,pa=Object.keys;function Io(e){if(e.length===1){var t=e[0];if(aa(t))return{args:t,keys:null};if(la(t)){var r=pa(t);return{args:r.map(function(o){return t[o]}),keys:r}}}return{args:e,keys:null}}function la(e){return e&&typeof e=="object"&&sa(e)===ca}function jo(e,t){return e.reduce(function(r,o,n){return r[o]=t[n],r},{})}function z(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var r=ke(e),o=Xe(e),n=Io(e),i=n.args,a=n.keys;if(i.length===0)return ue([],r);var s=new j(Pr(i,r,a?function(p){return jo(a,p)}:le));return o?s.pipe(Ze(o)):s}function Pr(e,t,r){return r===void 0&&(r=le),function(o){Fo(t,function(){for(var n=e.length,i=new Array(n),a=n,s=n,p=function(l){Fo(t,function(){var f=ue(e[l],t),u=!1;f.subscribe(T(o,function(d){i[l]=d,u||(u=!0,s--),s||o.next(r(i.slice()))},function(){--a||o.complete()}))},o)},c=0;c<n;c++)p(c)},o)}}function Fo(e,t,r){e?we(r,e,t):t()}function Wo(e,t,r,o,n,i,a,s){var p=[],c=0,l=0,f=!1,u=function(){f&&!p.length&&!c&&t.complete()},d=function(M){return c<o?y(M):p.push(M)},y=function(M){i&&t.next(M),c++;var X=!1;W(r(M,l++)).subscribe(T(t,function(te){n==null||n(te),i?d(te):t.next(te)},function(){X=!0},void 0,function(){if(X)try{c--;for(var te=function(){var J=p.shift();a?we(t,a,function(){return y(J)}):y(J)};p.length&&c<o;)te();u()}catch(J){t.error(J)}}))};return e.subscribe(T(t,d,function(){f=!0,u()})),function(){s==null||s()}}function ne(e,t,r){return r===void 0&&(r=1/0),H(t)?ne(function(o,n){return m(function(i,a){return t(o,i,n,a)})(W(e(o,n)))},r):(typeof t=="number"&&(r=t),E(function(o,n){return Wo(o,n,e,r)}))}function Et(e){return e===void 0&&(e=1/0),ne(le,e)}function Uo(){return Et(1)}function Ue(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return Uo()(ue(e,ke(e)))}function C(e){return new j(function(t){W(e()).subscribe(t)})}var ma=["addListener","removeListener"],fa=["addEventListener","removeEventListener"],ua=["on","off"];function h(e,t,r,o){if(H(r)&&(o=r,r=void 0),o)return h(e,t,r).pipe(Ze(o));var n=N(ba(e)?fa.map(function(s){return function(p){return e[s](t,p,r)}}):da(e)?ma.map(Do(e,t)):ha(e)?ua.map(Do(e,t)):[],2),i=n[0],a=n[1];if(!i&&xt(e))return ne(function(s){return h(s,t,r)})(W(e));if(!i)throw new TypeError("Invalid event target");return new j(function(s){var p=function(){for(var c=[],l=0;l<arguments.length;l++)c[l]=arguments[l];return s.next(1<c.length?c:c[0])};return i(p),function(){return a(p)}})}function Do(e,t){return function(r){return function(o){return e[r](t,o)}}}function da(e){return H(e.addListener)&&H(e.removeListener)}function ha(e){return H(e.on)&&H(e.off)}function ba(e){return H(e.addEventListener)&&H(e.removeEventListener)}function ar(e,t,r){return r?ar(e,t).pipe(Ze(r)):new j(function(o){var n=function(){for(var a=[],s=0;s<arguments.length;s++)a[s]=arguments[s];return o.next(a.length===1?a[0]:a)},i=e(n);return H(t)?function(){return t(n,i)}:void 0})}function Me(e,t,r){e===void 0&&(e=0),r===void 0&&(r=Cr);var o=-1;return t!=null&&(Yt(t)?r=t:o=t),new j(function(n){var i=Ro(e)?+e-r.now():e;i<0&&(i=0);var a=0;return r.schedule(function(){n.closed||(n.next(a++),0<=o?this.schedule(void 0,o):n.complete())},i)})}function O(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var r=ke(e),o=Bt(e,1/0),n=e;return n.length?n.length===1?W(n[0]):Et(o)(ue(n,r)):S}var Ye=new j(be);var va=Array.isArray;function wt(e){return e.length===1&&va(e[0])?e[0]:e}function b(e,t){return E(function(r,o){var n=0;r.subscribe(T(o,function(i){return e.call(t,i,n++)&&o.next(i)}))})}function st(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var r=Xe(e),o=wt(e);return o.length?new j(function(n){var i=o.map(function(){return[]}),a=o.map(function(){return!1});n.add(function(){i=a=null});for(var s=function(c){W(o[c]).subscribe(T(n,function(l){if(i[c].push(l),i.every(function(u){return u.length})){var f=i.map(function(u){return u.shift()});n.next(r?r.apply(void 0,q([],N(f))):f),i.some(function(u,d){return!u.length&&a[d]})&&n.complete()}},function(){a[c]=!0,!i[c].length&&n.complete()}))},p=0;!n.closed&&p<o.length;p++)s(p);return function(){i=a=null}}):S}function Vo(e){return E(function(t,r){var o=!1,n=null,i=null,a=!1,s=function(){if(i==null||i.unsubscribe(),i=null,o){o=!1;var c=n;n=null,r.next(c)}a&&r.complete()},p=function(){i=null,a&&r.complete()};t.subscribe(T(r,function(c){o=!0,n=c,i||W(e(c)).subscribe(i=T(r,s,p))},function(){a=!0,(!o||!i||i.closed)&&r.complete()}))})}function Le(e,t){return t===void 0&&(t=se),Vo(function(){return Me(e,t)})}function Be(e,t){return t===void 0&&(t=null),t=t!=null?t:e,E(function(r,o){var n=[],i=0;r.subscribe(T(o,function(a){var s,p,c,l,f=null;i++%t===0&&n.push([]);try{for(var u=he(n),d=u.next();!d.done;d=u.next()){var y=d.value;y.push(a),e<=y.length&&(f=f!=null?f:[],f.push(y))}}catch(te){s={error:te}}finally{try{d&&!d.done&&(p=u.return)&&p.call(u)}finally{if(s)throw s.error}}if(f)try{for(var M=he(f),X=M.next();!X.done;X=M.next()){var y=X.value;Qe(n,y),o.next(y)}}catch(te){c={error:te}}finally{try{X&&!X.done&&(l=M.return)&&l.call(M)}finally{if(c)throw c.error}}},function(){var a,s;try{for(var p=he(n),c=p.next();!c.done;c=p.next()){var l=c.value;o.next(l)}}catch(f){a={error:f}}finally{try{c&&!c.done&&(s=p.return)&&s.call(p)}finally{if(a)throw a.error}}o.complete()},void 0,function(){n=null}))})}function de(e){return E(function(t,r){var o=null,n=!1,i;o=t.subscribe(T(r,void 0,void 0,function(a){i=W(e(a,de(e)(t))),o?(o.unsubscribe(),o=null,i.subscribe(r)):n=!0})),n&&(o.unsubscribe(),o=null,i.subscribe(r))})}function No(e,t,r,o,n){return function(i,a){var s=r,p=t,c=0;i.subscribe(T(a,function(l){var f=c++;p=s?e(p,l,f):(s=!0,l),o&&a.next(p)},n&&function(){s&&a.next(p),a.complete()}))}}function Rr(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var r=Xe(e);return r?yo(Rr.apply(void 0,q([],N(e))),Ze(r)):E(function(o,n){Pr(q([o],N(wt(e))))(n)})}function He(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return Rr.apply(void 0,q([],N(e)))}function Ht(e){return E(function(t,r){var o=!1,n=null,i=null,a=function(){if(i==null||i.unsubscribe(),i=null,o){o=!1;var s=n;n=null,r.next(s)}};t.subscribe(T(r,function(s){i==null||i.unsubscribe(),o=!0,n=s,i=T(r,a,be),W(e(s)).subscribe(i)},function(){a(),r.complete()},void 0,function(){n=i=null}))})}function _e(e,t){return t===void 0&&(t=se),E(function(r,o){var n=null,i=null,a=null,s=function(){if(n){n.unsubscribe(),n=null;var c=i;i=null,o.next(c)}};function p(){var c=a+e,l=t.now();if(l<c){n=this.schedule(void 0,c-l),o.add(n);return}s()}r.subscribe(T(o,function(c){i=c,a=t.now(),n||(n=t.schedule(p,e),o.add(n))},function(){s(),o.complete()},void 0,function(){i=n=null}))})}function De(e){return E(function(t,r){var o=!1;t.subscribe(T(r,function(n){o=!0,r.next(n)},function(){o||r.next(e),r.complete()}))})}function Te(e){return e<=0?function(){return S}:E(function(t,r){var o=0;t.subscribe(T(r,function(n){++o<=e&&(r.next(n),e<=o&&r.complete())}))})}function Z(){return E(function(e,t){e.subscribe(T(t,be))})}function zo(e){return m(function(){return e})}function Ir(e,t){return t?function(r){return Ue(t.pipe(Te(1),Z()),r.pipe(Ir(e)))}:ne(function(r,o){return W(e(r,o)).pipe(Te(1),zo(r))})}function Ge(e,t){t===void 0&&(t=se);var r=Me(e,t);return Ir(function(){return r})}function K(e,t){return t===void 0&&(t=le),e=e!=null?e:ga,E(function(r,o){var n,i=!0;r.subscribe(T(o,function(a){var s=t(a);(i||!e(n,s))&&(i=!1,n=s,o.next(a))}))})}function ga(e,t){return e===t}function ee(e,t){return K(function(r,o){return t?t(r[e],o[e]):r[e]===o[e]})}function qo(e){return e===void 0&&(e=ya),E(function(t,r){var o=!1;t.subscribe(T(r,function(n){o=!0,r.next(n)},function(){return o?r.complete():r.error(e())}))})}function ya(){return new ir}function ie(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return function(r){return Ue(r,I.apply(void 0,q([],N(e))))}}function _(e){return E(function(t,r){try{t.subscribe(r)}finally{r.add(e)}})}function Ae(e,t){var r=arguments.length>=2;return function(o){return o.pipe(e?b(function(n,i){return e(n,i,o)}):le,Te(1),r?De(t):qo(function(){return new ir}))}}function jr(e){return e<=0?function(){return S}:E(function(t,r){var o=[];t.subscribe(T(r,function(n){o.push(n),e<o.length&&o.shift()},function(){var n,i;try{for(var a=he(o),s=a.next();!s.done;s=a.next()){var p=s.value;r.next(p)}}catch(c){n={error:c}}finally{try{s&&!s.done&&(i=a.return)&&i.call(a)}finally{if(n)throw n.error}}r.complete()},void 0,function(){o=null}))})}function Qo(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var r=ke(e),o=Bt(e,1/0);return e=wt(e),E(function(n,i){Et(o)(ue(q([n],N(e)),r)).subscribe(i)})}function Re(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return Qo.apply(void 0,q([],N(e)))}function ct(e){var t,r=1/0,o;return e!=null&&(typeof e=="object"?(t=e.count,r=t===void 0?1/0:t,o=e.delay):r=e),r<=0?function(){return S}:E(function(n,i){var a=0,s,p=function(){if(s==null||s.unsubscribe(),s=null,o!=null){var l=typeof o=="number"?Me(o):W(o(a)),f=T(i,function(){f.unsubscribe(),c()});l.subscribe(f)}else c()},c=function(){var l=!1;s=n.subscribe(T(i,void 0,function(){++a<r?s?p():l=!0:i.complete()})),l&&p()};c()})}function Fr(e,t){return E(No(e,t,arguments.length>=2,!0))}function pe(e){e===void 0&&(e={});var t=e.connector,r=t===void 0?function(){return new g}:t,o=e.resetOnError,n=o===void 0?!0:o,i=e.resetOnComplete,a=i===void 0?!0:i,s=e.resetOnRefCountZero,p=s===void 0?!0:s;return function(c){var l,f,u,d=0,y=!1,M=!1,X=function(){f==null||f.unsubscribe(),f=void 0},te=function(){X(),l=u=void 0,y=M=!1},J=function(){var k=l;te(),k==null||k.unsubscribe()};return E(function(k,ft){d++,!M&&!y&&X();var qe=u=u!=null?u:r();ft.add(function(){d--,d===0&&!M&&!y&&(f=Wr(J,p))}),qe.subscribe(ft),!l&&d>0&&(l=new at({next:function(Fe){return qe.next(Fe)},error:function(Fe){M=!0,X(),f=Wr(te,n,Fe),qe.error(Fe)},complete:function(){y=!0,X(),f=Wr(te,a),qe.complete()}}),W(k).subscribe(l))})(c)}}function Wr(e,t){for(var r=[],o=2;o<arguments.length;o++)r[o-2]=arguments[o];if(t===!0){e();return}if(t!==!1){var n=new at({next:function(){n.unsubscribe(),e()}});return W(t.apply(void 0,q([],N(r)))).subscribe(n)}}function G(e,t,r){var o,n,i,a,s=!1;return e&&typeof e=="object"?(o=e.bufferSize,a=o===void 0?1/0:o,n=e.windowTime,t=n===void 0?1/0:n,i=e.refCount,s=i===void 0?!1:i,r=e.scheduler):a=e!=null?e:1/0,pe({connector:function(){return new Ct(a,t,r)},resetOnError:!0,resetOnComplete:!1,resetOnRefCountZero:s})}function Ce(e){return b(function(t,r){return e<=r})}function Ur(e){return E(function(t,r){var o=!1,n=T(r,function(){n==null||n.unsubscribe(),o=!0},be);W(e).subscribe(n),t.subscribe(T(r,function(i){return o&&r.next(i)}))})}function Q(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var r=ke(e);return E(function(o,n){(r?Ue(e,o,r):Ue(e,o)).subscribe(n)})}function v(e,t){return E(function(r,o){var n=null,i=0,a=!1,s=function(){return a&&!n&&o.complete()};r.subscribe(T(o,function(p){n==null||n.unsubscribe();var c=0,l=i++;W(e(p,l)).subscribe(n=T(o,function(f){return o.next(t?t(p,f,l,c++):f)},function(){n=null,s()}))},function(){a=!0,s()}))})}function U(e){return E(function(t,r){W(e).subscribe(T(r,function(){return r.complete()},be)),!r.closed&&t.subscribe(r)})}function Dr(e,t){return t===void 0&&(t=!1),E(function(r,o){var n=0;r.subscribe(T(o,function(i){var a=e(i,n++);(a||t)&&o.next(i),!a&&o.complete()}))})}function w(e,t,r){var o=H(e)||t||r?{next:e,error:t,complete:r}:e;return o?E(function(n,i){var a;(a=o.subscribe)===null||a===void 0||a.call(o);var s=!0;n.subscribe(T(i,function(p){var c;(c=o.next)===null||c===void 0||c.call(o,p),i.next(p)},function(){var p;s=!1,(p=o.complete)===null||p===void 0||p.call(o),i.complete()},function(p){var c;s=!1,(c=o.error)===null||c===void 0||c.call(o,p),i.error(p)},function(){var p,c;s&&((p=o.unsubscribe)===null||p===void 0||p.call(o)),(c=o.finalize)===null||c===void 0||c.call(o)}))}):le}function Ko(e,t){return E(function(r,o){var n=t!=null?t:{},i=n.leading,a=i===void 0?!0:i,s=n.trailing,p=s===void 0?!1:s,c=!1,l=null,f=null,u=!1,d=function(){f==null||f.unsubscribe(),f=null,p&&(X(),u&&o.complete())},y=function(){f=null,u&&o.complete()},M=function(te){return f=W(e(te)).subscribe(T(o,d,y))},X=function(){if(c){c=!1;var te=l;l=null,o.next(te),!u&&M(te)}};r.subscribe(T(o,function(te){c=!0,l=te,!(f&&!f.closed)&&(a?X():M(te))},function(){u=!0,!(p&&c&&f&&!f.closed)&&o.complete()}))})}function pt(e,t,r){t===void 0&&(t=se);var o=Me(e,t);return Ko(function(){return o},r)}function re(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var r=Xe(e);return E(function(o,n){for(var i=e.length,a=new Array(i),s=e.map(function(){return!1}),p=!1,c=function(f){W(e[f]).subscribe(T(n,function(u){a[f]=u,!p&&!s[f]&&(s[f]=!0,(p=s.every(le))&&(s=null))},be))},l=0;l<i;l++)c(l);o.subscribe(T(n,function(f){if(p){var u=q([f],N(a));n.next(r?r.apply(void 0,q([],N(u))):u)}}))})}function Yo(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return E(function(r,o){st.apply(void 0,q([r],N(e))).subscribe(o)})}function Vr(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return Yo.apply(void 0,q([],N(e)))}function Bo(){let e=new Ct(1);return h(document,"DOMContentLoaded",{once:!0}).subscribe(()=>e.next(document)),e}function P(e,t=document){return Array.from(t.querySelectorAll(e))}function R(e,t=document){let r=fe(e,t);if(typeof r=="undefined")throw new ReferenceError(`Missing element: expected "${e}" to be present`);return r}function fe(e,t=document){return t.querySelector(e)||void 0}function Ie(){var e,t,r,o;return(o=(r=(t=(e=document.activeElement)==null?void 0:e.shadowRoot)==null?void 0:t.activeElement)!=null?r:document.activeElement)!=null?o:void 0}var xa=O(h(document.body,"focusin"),h(document.body,"focusout")).pipe(_e(1),Q(void 0),m(()=>Ie()||document.body),G(1));function et(e){return xa.pipe(m(t=>e.contains(t)),K())}function $t(e,t){return C(()=>O(h(e,"mouseenter").pipe(m(()=>!0)),h(e,"mouseleave").pipe(m(()=>!1))).pipe(t?Ht(r=>Me(+!r*t)):le,Q(e.matches(":hover"))))}function Go(e,t){if(typeof t=="string"||typeof t=="number")e.innerHTML+=t.toString();else if(t instanceof Node)e.appendChild(t);else if(Array.isArray(t))for(let r of t)Go(e,r)}function x(e,t,...r){let o=document.createElement(e);if(t)for(let n of Object.keys(t))typeof t[n]!="undefined"&&(typeof t[n]!="boolean"?o.setAttribute(n,t[n]):o.setAttribute(n,""));for(let n of r)Go(o,n);return o}function sr(e){if(e>999){let t=+((e-950)%1e3>99);return`${((e+1e-6)/1e3).toFixed(t)}k`}else return e.toString()}function Tt(e){let t=x("script",{src:e});return C(()=>(document.head.appendChild(t),O(h(t,"load"),h(t,"error").pipe(v(()=>$r(()=>new ReferenceError(`Invalid script: ${e}`))))).pipe(m(()=>{}),_(()=>document.head.removeChild(t)),Te(1))))}var Jo=new g,Ea=C(()=>typeof ResizeObserver=="undefined"?Tt("https://unpkg.com/resize-observer-polyfill"):I(void 0)).pipe(m(()=>new ResizeObserver(e=>e.forEach(t=>Jo.next(t)))),v(e=>O(Ye,I(e)).pipe(_(()=>e.disconnect()))),G(1));function ce(e){return{width:e.offsetWidth,height:e.offsetHeight}}function ge(e){let t=e;for(;t.clientWidth===0&&t.parentElement;)t=t.parentElement;return Ea.pipe(w(r=>r.observe(t)),v(r=>Jo.pipe(b(o=>o.target===t),_(()=>r.unobserve(t)))),m(()=>ce(e)),Q(ce(e)))}function St(e){return{width:e.scrollWidth,height:e.scrollHeight}}function cr(e){let t=e.parentElement;for(;t&&(e.scrollWidth<=t.scrollWidth&&e.scrollHeight<=t.scrollHeight);)t=(e=t).parentElement;return t?e:void 0}function Xo(e){let t=[],r=e.parentElement;for(;r;)(e.clientWidth>r.clientWidth||e.clientHeight>r.clientHeight)&&t.push(r),r=(e=r).parentElement;return t.length===0&&t.push(document.documentElement),t}function Ve(e){return{x:e.offsetLeft,y:e.offsetTop}}function Zo(e){let t=e.getBoundingClientRect();return{x:t.x+window.scrollX,y:t.y+window.scrollY}}function en(e){return O(h(window,"load"),h(window,"resize")).pipe(Le(0,me),m(()=>Ve(e)),Q(Ve(e)))}function pr(e){return{x:e.scrollLeft,y:e.scrollTop}}function Ne(e){return O(h(e,"scroll"),h(window,"scroll"),h(window,"resize")).pipe(Le(0,me),m(()=>pr(e)),Q(pr(e)))}var tn=new g,wa=C(()=>I(new IntersectionObserver(e=>{for(let t of e)tn.next(t)},{threshold:0}))).pipe(v(e=>O(Ye,I(e)).pipe(_(()=>e.disconnect()))),G(1));function tt(e){return wa.pipe(w(t=>t.observe(e)),v(t=>tn.pipe(b(({target:r})=>r===e),_(()=>t.unobserve(e)),m(({isIntersecting:r})=>r))))}function rn(e,t=16){return Ne(e).pipe(m(({y:r})=>{let o=ce(e),n=St(e);return r>=n.height-o.height-t}),K())}var lr={drawer:R("[data-md-toggle=drawer]"),search:R("[data-md-toggle=search]")};function on(e){return lr[e].checked}function Je(e,t){lr[e].checked!==t&&lr[e].click()}function ze(e){let t=lr[e];return h(t,"change").pipe(m(()=>t.checked),Q(t.checked))}function Ta(e,t){switch(e.constructor){case HTMLInputElement:return e.type==="radio"?/^Arrow/.test(t):!0;case HTMLSelectElement:case HTMLTextAreaElement:return!0;default:return e.isContentEditable}}function Sa(){return O(h(window,"compositionstart").pipe(m(()=>!0)),h(window,"compositionend").pipe(m(()=>!1))).pipe(Q(!1))}function nn(){let e=h(window,"keydown").pipe(b(t=>!(t.metaKey||t.ctrlKey)),m(t=>({mode:on("search")?"search":"global",type:t.key,claim(){t.preventDefault(),t.stopPropagation()}})),b(({mode:t,type:r})=>{if(t==="global"){let o=Ie();if(typeof o!="undefined")return!Ta(o,r)}return!0}),pe());return Sa().pipe(v(t=>t?S:e))}function ye(){return new URL(location.href)}function lt(e,t=!1){if(B("navigation.instant")&&!t){let r=x("a",{href:e.href});document.body.appendChild(r),r.click(),r.remove()}else location.href=e.href}function an(){return new g}function sn(){return location.hash.slice(1)}function cn(e){let t=x("a",{href:e});t.addEventListener("click",r=>r.stopPropagation()),t.click()}function Oa(e){return O(h(window,"hashchange"),e).pipe(m(sn),Q(sn()),b(t=>t.length>0),G(1))}function pn(e){return Oa(e).pipe(m(t=>fe(`[id="${t}"]`)),b(t=>typeof t!="undefined"))}function Pt(e){let t=matchMedia(e);return ar(r=>t.addListener(()=>r(t.matches))).pipe(Q(t.matches))}function ln(){let e=matchMedia("print");return O(h(window,"beforeprint").pipe(m(()=>!0)),h(window,"afterprint").pipe(m(()=>!1))).pipe(Q(e.matches))}function Nr(e,t){return e.pipe(v(r=>r?t():S))}function zr(e,t){return new j(r=>{let o=new XMLHttpRequest;return o.open("GET",`${e}`),o.responseType="blob",o.addEventListener("load",()=>{o.status>=200&&o.status<300?(r.next(o.response),r.complete()):r.error(new Error(o.statusText))}),o.addEventListener("error",()=>{r.error(new Error("Network error"))}),o.addEventListener("abort",()=>{r.complete()}),typeof(t==null?void 0:t.progress$)!="undefined"&&(o.addEventListener("progress",n=>{var i;if(n.lengthComputable)t.progress$.next(n.loaded/n.total*100);else{let a=(i=o.getResponseHeader("Content-Length"))!=null?i:0;t.progress$.next(n.loaded/+a*100)}}),t.progress$.next(5)),o.send(),()=>o.abort()})}function je(e,t){return zr(e,t).pipe(v(r=>r.text()),m(r=>JSON.parse(r)),G(1))}function mn(e,t){let r=new DOMParser;return zr(e,t).pipe(v(o=>o.text()),m(o=>r.parseFromString(o,"text/html")),G(1))}function fn(e,t){let r=new DOMParser;return zr(e,t).pipe(v(o=>o.text()),m(o=>r.parseFromString(o,"text/xml")),G(1))}function un(){return{x:Math.max(0,scrollX),y:Math.max(0,scrollY)}}function dn(){return O(h(window,"scroll",{passive:!0}),h(window,"resize",{passive:!0})).pipe(m(un),Q(un()))}function hn(){return{width:innerWidth,height:innerHeight}}function bn(){return h(window,"resize",{passive:!0}).pipe(m(hn),Q(hn()))}function vn(){return z([dn(),bn()]).pipe(m(([e,t])=>({offset:e,size:t})),G(1))}function mr(e,{viewport$:t,header$:r}){let o=t.pipe(ee("size")),n=z([o,r]).pipe(m(()=>Ve(e)));return z([r,t,n]).pipe(m(([{height:i},{offset:a,size:s},{x:p,y:c}])=>({offset:{x:a.x-p,y:a.y-c+i},size:s})))}function Ma(e){return h(e,"message",t=>t.data)}function La(e){let t=new g;return t.subscribe(r=>e.postMessage(r)),t}function gn(e,t=new Worker(e)){let r=Ma(t),o=La(t),n=new g;n.subscribe(o);let i=o.pipe(Z(),ie(!0));return n.pipe(Z(),Re(r.pipe(U(i))),pe())}var _a=R("#__config"),Ot=JSON.parse(_a.textContent);Ot.base=`${new URL(Ot.base,ye())}`;function xe(){return Ot}function B(e){return Ot.features.includes(e)}function Ee(e,t){return typeof t!="undefined"?Ot.translations[e].replace("#",t.toString()):Ot.translations[e]}function Se(e,t=document){return R(`[data-md-component=${e}]`,t)}function ae(e,t=document){return P(`[data-md-component=${e}]`,t)}function Aa(e){let t=R(".md-typeset > :first-child",e);return h(t,"click",{once:!0}).pipe(m(()=>R(".md-typeset",e)),m(r=>({hash:__md_hash(r.innerHTML)})))}function yn(e){if(!B("announce.dismiss")||!e.childElementCount)return S;if(!e.hidden){let t=R(".md-typeset",e);__md_hash(t.innerHTML)===__md_get("__announce")&&(e.hidden=!0)}return C(()=>{let t=new g;return t.subscribe(({hash:r})=>{e.hidden=!0,__md_set("__announce",r)}),Aa(e).pipe(w(r=>t.next(r)),_(()=>t.complete()),m(r=>$({ref:e},r)))})}function Ca(e,{target$:t}){return t.pipe(m(r=>({hidden:r!==e})))}function xn(e,t){let r=new g;return r.subscribe(({hidden:o})=>{e.hidden=o}),Ca(e,t).pipe(w(o=>r.next(o)),_(()=>r.complete()),m(o=>$({ref:e},o)))}function Rt(e,t){return t==="inline"?x("div",{class:"md-tooltip md-tooltip--inline",id:e,role:"tooltip"},x("div",{class:"md-tooltip__inner md-typeset"})):x("div",{class:"md-tooltip",id:e,role:"tooltip"},x("div",{class:"md-tooltip__inner md-typeset"}))}function En(...e){return x("div",{class:"md-tooltip2",role:"tooltip"},x("div",{class:"md-tooltip2__inner md-typeset"},e))}function wn(e,t){if(t=t?`${t}_annotation_${e}`:void 0,t){let r=t?`#${t}`:void 0;return x("aside",{class:"md-annotation",tabIndex:0},Rt(t),x("a",{href:r,class:"md-annotation__index",tabIndex:-1},x("span",{"data-md-annotation-id":e})))}else return x("aside",{class:"md-annotation",tabIndex:0},Rt(t),x("span",{class:"md-annotation__index",tabIndex:-1},x("span",{"data-md-annotation-id":e})))}function Tn(e){return x("button",{class:"md-clipboard md-icon",title:Ee("clipboard.copy"),"data-clipboard-target":`#${e} > code`})}var On=Lt(qr());function Qr(e,t){let r=t&2,o=t&1,n=Object.keys(e.terms).filter(p=>!e.terms[p]).reduce((p,c)=>[...p,x("del",null,(0,On.default)(c))," "],[]).slice(0,-1),i=xe(),a=new URL(e.location,i.base);B("search.highlight")&&a.searchParams.set("h",Object.entries(e.terms).filter(([,p])=>p).reduce((p,[c])=>`${p} ${c}`.trim(),""));let{tags:s}=xe();return x("a",{href:`${a}`,class:"md-search-result__link",tabIndex:-1},x("article",{class:"md-search-result__article md-typeset","data-md-score":e.score.toFixed(2)},r>0&&x("div",{class:"md-search-result__icon md-icon"}),r>0&&x("h1",null,e.title),r<=0&&x("h2",null,e.title),o>0&&e.text.length>0&&e.text,e.tags&&e.tags.map(p=>{let c=s?p in s?`md-tag-icon md-tag--${s[p]}`:"md-tag-icon":"";return x("span",{class:`md-tag ${c}`},p)}),o>0&&n.length>0&&x("p",{class:"md-search-result__terms"},Ee("search.result.term.missing"),": ",...n)))}function Mn(e){let t=e[0].score,r=[...e],o=xe(),n=r.findIndex(l=>!`${new URL(l.location,o.base)}`.includes("#")),[i]=r.splice(n,1),a=r.findIndex(l=>l.score<t);a===-1&&(a=r.length);let s=r.slice(0,a),p=r.slice(a),c=[Qr(i,2|+(!n&&a===0)),...s.map(l=>Qr(l,1)),...p.length?[x("details",{class:"md-search-result__more"},x("summary",{tabIndex:-1},x("div",null,p.length>0&&p.length===1?Ee("search.result.more.one"):Ee("search.result.more.other",p.length))),...p.map(l=>Qr(l,1)))]:[]];return x("li",{class:"md-search-result__item"},c)}function Ln(e){return x("ul",{class:"md-source__facts"},Object.entries(e).map(([t,r])=>x("li",{class:`md-source__fact md-source__fact--${t}`},typeof r=="number"?sr(r):r)))}function Kr(e){let t=`tabbed-control tabbed-control--${e}`;return x("div",{class:t,hidden:!0},x("button",{class:"tabbed-button",tabIndex:-1,"aria-hidden":"true"}))}function _n(e){return x("div",{class:"md-typeset__scrollwrap"},x("div",{class:"md-typeset__table"},e))}function $a(e){var o;let t=xe(),r=new URL(`../${e.version}/`,t.base);return x("li",{class:"md-version__item"},x("a",{href:`${r}`,class:"md-version__link"},e.title,((o=t.version)==null?void 0:o.alias)&&e.aliases.length>0&&x("span",{class:"md-version__alias"},e.aliases[0])))}function An(e,t){var o;let r=xe();return e=e.filter(n=>{var i;return!((i=n.properties)!=null&&i.hidden)}),x("div",{class:"md-version"},x("button",{class:"md-version__current","aria-label":Ee("select.version")},t.title,((o=r.version)==null?void 0:o.alias)&&t.aliases.length>0&&x("span",{class:"md-version__alias"},t.aliases[0])),x("ul",{class:"md-version__list"},e.map($a)))}var Pa=0;function Ra(e){let t=z([et(e),$t(e)]).pipe(m(([o,n])=>o||n),K()),r=C(()=>Xo(e)).pipe(ne(Ne),pt(1),He(t),m(()=>Zo(e)));return t.pipe(Ae(o=>o),v(()=>z([t,r])),m(([o,n])=>({active:o,offset:n})),pe())}function Ia(e,t){let{content$:r,viewport$:o}=t,n=`__tooltip2_${Pa++}`;return C(()=>{let i=new g,a=new _r(!1);i.pipe(Z(),ie(!1)).subscribe(a);let s=a.pipe(Ht(c=>Me(+!c*250,kr)),K(),v(c=>c?r:S),w(c=>c.id=n),pe());z([i.pipe(m(({active:c})=>c)),s.pipe(v(c=>$t(c,250)),Q(!1))]).pipe(m(c=>c.some(l=>l))).subscribe(a);let p=a.pipe(b(c=>c),re(s,o),m(([c,l,{size:f}])=>{let u=e.getBoundingClientRect(),d=u.width/2;if(l.role==="tooltip")return{x:d,y:8+u.height};if(u.y>=f.height/2){let{height:y}=ce(l);return{x:d,y:-16-y}}else return{x:d,y:16+u.height}}));return z([s,i,p]).subscribe(([c,{offset:l},f])=>{c.style.setProperty("--md-tooltip-host-x",`${l.x}px`),c.style.setProperty("--md-tooltip-host-y",`${l.y}px`),c.style.setProperty("--md-tooltip-x",`${f.x}px`),c.style.setProperty("--md-tooltip-y",`${f.y}px`),c.classList.toggle("md-tooltip2--top",f.y<0),c.classList.toggle("md-tooltip2--bottom",f.y>=0)}),a.pipe(b(c=>c),re(s,(c,l)=>l),b(c=>c.role==="tooltip")).subscribe(c=>{let l=ce(R(":scope > *",c));c.style.setProperty("--md-tooltip-width",`${l.width}px`),c.style.setProperty("--md-tooltip-tail","0px")}),a.pipe(K(),ve(me),re(s)).subscribe(([c,l])=>{l.classList.toggle("md-tooltip2--active",c)}),z([a.pipe(b(c=>c)),s]).subscribe(([c,l])=>{l.role==="dialog"?(e.setAttribute("aria-controls",n),e.setAttribute("aria-haspopup","dialog")):e.setAttribute("aria-describedby",n)}),a.pipe(b(c=>!c)).subscribe(()=>{e.removeAttribute("aria-controls"),e.removeAttribute("aria-describedby"),e.removeAttribute("aria-haspopup")}),Ra(e).pipe(w(c=>i.next(c)),_(()=>i.complete()),m(c=>$({ref:e},c)))})}function mt(e,{viewport$:t},r=document.body){return Ia(e,{content$:new j(o=>{let n=e.title,i=En(n);return o.next(i),e.removeAttribute("title"),r.append(i),()=>{i.remove(),e.setAttribute("title",n)}}),viewport$:t})}function ja(e,t){let r=C(()=>z([en(e),Ne(t)])).pipe(m(([{x:o,y:n},i])=>{let{width:a,height:s}=ce(e);return{x:o-i.x+a/2,y:n-i.y+s/2}}));return et(e).pipe(v(o=>r.pipe(m(n=>({active:o,offset:n})),Te(+!o||1/0))))}function Cn(e,t,{target$:r}){let[o,n]=Array.from(e.children);return C(()=>{let i=new g,a=i.pipe(Z(),ie(!0));return i.subscribe({next({offset:s}){e.style.setProperty("--md-tooltip-x",`${s.x}px`),e.style.setProperty("--md-tooltip-y",`${s.y}px`)},complete(){e.style.removeProperty("--md-tooltip-x"),e.style.removeProperty("--md-tooltip-y")}}),tt(e).pipe(U(a)).subscribe(s=>{e.toggleAttribute("data-md-visible",s)}),O(i.pipe(b(({active:s})=>s)),i.pipe(_e(250),b(({active:s})=>!s))).subscribe({next({active:s}){s?e.prepend(o):o.remove()},complete(){e.prepend(o)}}),i.pipe(Le(16,me)).subscribe(({active:s})=>{o.classList.toggle("md-tooltip--active",s)}),i.pipe(pt(125,me),b(()=>!!e.offsetParent),m(()=>e.offsetParent.getBoundingClientRect()),m(({x:s})=>s)).subscribe({next(s){s?e.style.setProperty("--md-tooltip-0",`${-s}px`):e.style.removeProperty("--md-tooltip-0")},complete(){e.style.removeProperty("--md-tooltip-0")}}),h(n,"click").pipe(U(a),b(s=>!(s.metaKey||s.ctrlKey))).subscribe(s=>{s.stopPropagation(),s.preventDefault()}),h(n,"mousedown").pipe(U(a),re(i)).subscribe(([s,{active:p}])=>{var c;if(s.button!==0||s.metaKey||s.ctrlKey)s.preventDefault();else if(p){s.preventDefault();let l=e.parentElement.closest(".md-annotation");l instanceof HTMLElement?l.focus():(c=Ie())==null||c.blur()}}),r.pipe(U(a),b(s=>s===o),Ge(125)).subscribe(()=>e.focus()),ja(e,t).pipe(w(s=>i.next(s)),_(()=>i.complete()),m(s=>$({ref:e},s)))})}function Fa(e){return e.tagName==="CODE"?P(".c, .c1, .cm",e):[e]}function Wa(e){let t=[];for(let r of Fa(e)){let o=[],n=document.createNodeIterator(r,NodeFilter.SHOW_TEXT);for(let i=n.nextNode();i;i=n.nextNode())o.push(i);for(let i of o){let a;for(;a=/(\(\d+\))(!)?/.exec(i.textContent);){let[,s,p]=a;if(typeof p=="undefined"){let c=i.splitText(a.index);i=c.splitText(s.length),t.push(c)}else{i.textContent=s,t.push(i);break}}}}return t}function kn(e,t){t.append(...Array.from(e.childNodes))}function fr(e,t,{target$:r,print$:o}){let n=t.closest("[id]"),i=n==null?void 0:n.id,a=new Map;for(let s of Wa(t)){let[,p]=s.textContent.match(/\((\d+)\)/);fe(`:scope > li:nth-child(${p})`,e)&&(a.set(p,wn(p,i)),s.replaceWith(a.get(p)))}return a.size===0?S:C(()=>{let s=new g,p=s.pipe(Z(),ie(!0)),c=[];for(let[l,f]of a)c.push([R(".md-typeset",f),R(`:scope > li:nth-child(${l})`,e)]);return o.pipe(U(p)).subscribe(l=>{e.hidden=!l,e.classList.toggle("md-annotation-list",l);for(let[f,u]of c)l?kn(f,u):kn(u,f)}),O(...[...a].map(([,l])=>Cn(l,t,{target$:r}))).pipe(_(()=>s.complete()),pe())})}function Hn(e){if(e.nextElementSibling){let t=e.nextElementSibling;if(t.tagName==="OL")return t;if(t.tagName==="P"&&!t.children.length)return Hn(t)}}function $n(e,t){return C(()=>{let r=Hn(e);return typeof r!="undefined"?fr(r,e,t):S})}var Pn=Lt(Br());var Ua=0;function Rn(e){if(e.nextElementSibling){let t=e.nextElementSibling;if(t.tagName==="OL")return t;if(t.tagName==="P"&&!t.children.length)return Rn(t)}}function Da(e){return ge(e).pipe(m(({width:t})=>({scrollable:St(e).width>t})),ee("scrollable"))}function In(e,t){let{matches:r}=matchMedia("(hover)"),o=C(()=>{let n=new g,i=n.pipe(jr(1));n.subscribe(({scrollable:c})=>{c&&r?e.setAttribute("tabindex","0"):e.removeAttribute("tabindex")});let a=[];if(Pn.default.isSupported()&&(e.closest(".copy")||B("content.code.copy")&&!e.closest(".no-copy"))){let c=e.closest("pre");c.id=`__code_${Ua++}`;let l=Tn(c.id);c.insertBefore(l,e),B("content.tooltips")&&a.push(mt(l,{viewport$}))}let s=e.closest(".highlight");if(s instanceof HTMLElement){let c=Rn(s);if(typeof c!="undefined"&&(s.classList.contains("annotate")||B("content.code.annotate"))){let l=fr(c,e,t);a.push(ge(s).pipe(U(i),m(({width:f,height:u})=>f&&u),K(),v(f=>f?l:S)))}}return P(":scope > span[id]",e).length&&e.classList.add("md-code__content"),Da(e).pipe(w(c=>n.next(c)),_(()=>n.complete()),m(c=>$({ref:e},c)),Re(...a))});return B("content.lazy")?tt(e).pipe(b(n=>n),Te(1),v(()=>o)):o}function Va(e,{target$:t,print$:r}){let o=!0;return O(t.pipe(m(n=>n.closest("details:not([open])")),b(n=>e===n),m(()=>({action:"open",reveal:!0}))),r.pipe(b(n=>n||!o),w(()=>o=e.open),m(n=>({action:n?"open":"close"}))))}function jn(e,t){return C(()=>{let r=new g;return r.subscribe(({action:o,reveal:n})=>{e.toggleAttribute("open",o==="open"),n&&e.scrollIntoView()}),Va(e,t).pipe(w(o=>r.next(o)),_(()=>r.complete()),m(o=>$({ref:e},o)))})}var Fn=".node circle,.node ellipse,.node path,.node polygon,.node rect{fill:var(--md-mermaid-node-bg-color);stroke:var(--md-mermaid-node-fg-color)}marker{fill:var(--md-mermaid-edge-color)!important}.edgeLabel .label rect{fill:#0000}.label{color:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}.label foreignObject{line-height:normal;overflow:visible}.label div .edgeLabel{color:var(--md-mermaid-label-fg-color)}.edgeLabel,.edgeLabel p,.label div .edgeLabel{background-color:var(--md-mermaid-label-bg-color)}.edgeLabel,.edgeLabel p{fill:var(--md-mermaid-label-bg-color);color:var(--md-mermaid-edge-color)}.edgePath .path,.flowchart-link{stroke:var(--md-mermaid-edge-color);stroke-width:.05rem}.edgePath .arrowheadPath{fill:var(--md-mermaid-edge-color);stroke:none}.cluster rect{fill:var(--md-default-fg-color--lightest);stroke:var(--md-default-fg-color--lighter)}.cluster span{color:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}g #flowchart-circleEnd,g #flowchart-circleStart,g #flowchart-crossEnd,g #flowchart-crossStart,g #flowchart-pointEnd,g #flowchart-pointStart{stroke:none}g.classGroup line,g.classGroup rect{fill:var(--md-mermaid-node-bg-color);stroke:var(--md-mermaid-node-fg-color)}g.classGroup text{fill:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}.classLabel .box{fill:var(--md-mermaid-label-bg-color);background-color:var(--md-mermaid-label-bg-color);opacity:1}.classLabel .label{fill:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}.node .divider{stroke:var(--md-mermaid-node-fg-color)}.relation{stroke:var(--md-mermaid-edge-color)}.cardinality{fill:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}.cardinality text{fill:inherit!important}defs #classDiagram-compositionEnd,defs #classDiagram-compositionStart,defs #classDiagram-dependencyEnd,defs #classDiagram-dependencyStart,defs #classDiagram-extensionEnd,defs #classDiagram-extensionStart{fill:var(--md-mermaid-edge-color)!important;stroke:var(--md-mermaid-edge-color)!important}defs #classDiagram-aggregationEnd,defs #classDiagram-aggregationStart{fill:var(--md-mermaid-label-bg-color)!important;stroke:var(--md-mermaid-edge-color)!important}g.stateGroup rect{fill:var(--md-mermaid-node-bg-color);stroke:var(--md-mermaid-node-fg-color)}g.stateGroup .state-title{fill:var(--md-mermaid-label-fg-color)!important;font-family:var(--md-mermaid-font-family)}g.stateGroup .composit{fill:var(--md-mermaid-label-bg-color)}.nodeLabel,.nodeLabel p{color:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}a .nodeLabel{text-decoration:underline}.node circle.state-end,.node circle.state-start,.start-state{fill:var(--md-mermaid-edge-color);stroke:none}.end-state-inner,.end-state-outer{fill:var(--md-mermaid-edge-color)}.end-state-inner,.node circle.state-end{stroke:var(--md-mermaid-label-bg-color)}.transition{stroke:var(--md-mermaid-edge-color)}[id^=state-fork] rect,[id^=state-join] rect{fill:var(--md-mermaid-edge-color)!important;stroke:none!important}.statediagram-cluster.statediagram-cluster .inner{fill:var(--md-default-bg-color)}.statediagram-cluster rect{fill:var(--md-mermaid-node-bg-color);stroke:var(--md-mermaid-node-fg-color)}.statediagram-state rect.divider{fill:var(--md-default-fg-color--lightest);stroke:var(--md-default-fg-color--lighter)}defs #statediagram-barbEnd{stroke:var(--md-mermaid-edge-color)}.attributeBoxEven,.attributeBoxOdd{fill:var(--md-mermaid-node-bg-color);stroke:var(--md-mermaid-node-fg-color)}.entityBox{fill:var(--md-mermaid-label-bg-color);stroke:var(--md-mermaid-node-fg-color)}.entityLabel{fill:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}.relationshipLabelBox{fill:var(--md-mermaid-label-bg-color);fill-opacity:1;background-color:var(--md-mermaid-label-bg-color);opacity:1}.relationshipLabel{fill:var(--md-mermaid-label-fg-color)}.relationshipLine{stroke:var(--md-mermaid-edge-color)}defs #ONE_OR_MORE_END *,defs #ONE_OR_MORE_START *,defs #ONLY_ONE_END *,defs #ONLY_ONE_START *,defs #ZERO_OR_MORE_END *,defs #ZERO_OR_MORE_START *,defs #ZERO_OR_ONE_END *,defs #ZERO_OR_ONE_START *{stroke:var(--md-mermaid-edge-color)!important}defs #ZERO_OR_MORE_END circle,defs #ZERO_OR_MORE_START circle{fill:var(--md-mermaid-label-bg-color)}.actor{fill:var(--md-mermaid-sequence-actor-bg-color);stroke:var(--md-mermaid-sequence-actor-border-color)}text.actor>tspan{fill:var(--md-mermaid-sequence-actor-fg-color);font-family:var(--md-mermaid-font-family)}line{stroke:var(--md-mermaid-sequence-actor-line-color)}.actor-man circle,.actor-man line{fill:var(--md-mermaid-sequence-actorman-bg-color);stroke:var(--md-mermaid-sequence-actorman-line-color)}.messageLine0,.messageLine1{stroke:var(--md-mermaid-sequence-message-line-color)}.note{fill:var(--md-mermaid-sequence-note-bg-color);stroke:var(--md-mermaid-sequence-note-border-color)}.loopText,.loopText>tspan,.messageText,.noteText>tspan{stroke:none;font-family:var(--md-mermaid-font-family)!important}.messageText{fill:var(--md-mermaid-sequence-message-fg-color)}.loopText,.loopText>tspan{fill:var(--md-mermaid-sequence-loop-fg-color)}.noteText>tspan{fill:var(--md-mermaid-sequence-note-fg-color)}#arrowhead path{fill:var(--md-mermaid-sequence-message-line-color);stroke:none}.loopLine{fill:var(--md-mermaid-sequence-loop-bg-color);stroke:var(--md-mermaid-sequence-loop-border-color)}.labelBox{fill:var(--md-mermaid-sequence-label-bg-color);stroke:none}.labelText,.labelText>span{fill:var(--md-mermaid-sequence-label-fg-color);font-family:var(--md-mermaid-font-family)}.sequenceNumber{fill:var(--md-mermaid-sequence-number-fg-color)}rect.rect{fill:var(--md-mermaid-sequence-box-bg-color);stroke:none}rect.rect+text.text{fill:var(--md-mermaid-sequence-box-fg-color)}defs #sequencenumber{fill:var(--md-mermaid-sequence-number-bg-color)!important}";var Gr,za=0;function qa(){return typeof mermaid=="undefined"||mermaid instanceof Element?Tt("https://unpkg.com/mermaid@11/dist/mermaid.min.js"):I(void 0)}function Wn(e){return e.classList.remove("mermaid"),Gr||(Gr=qa().pipe(w(()=>mermaid.initialize({startOnLoad:!1,themeCSS:Fn,sequence:{actorFontSize:"16px",messageFontSize:"16px",noteFontSize:"16px"}})),m(()=>{}),G(1))),Gr.subscribe(()=>so(this,null,function*(){e.classList.add("mermaid");let t=`__mermaid_${za++}`,r=x("div",{class:"mermaid"}),o=e.textContent,{svg:n,fn:i}=yield mermaid.render(t,o),a=r.attachShadow({mode:"closed"});a.innerHTML=n,e.replaceWith(r),i==null||i(a)})),Gr.pipe(m(()=>({ref:e})))}var Un=x("table");function Dn(e){return e.replaceWith(Un),Un.replaceWith(_n(e)),I({ref:e})}function Qa(e){let t=e.find(r=>r.checked)||e[0];return O(...e.map(r=>h(r,"change").pipe(m(()=>R(`label[for="${r.id}"]`))))).pipe(Q(R(`label[for="${t.id}"]`)),m(r=>({active:r})))}function Vn(e,{viewport$:t,target$:r}){let o=R(".tabbed-labels",e),n=P(":scope > input",e),i=Kr("prev");e.append(i);let a=Kr("next");return e.append(a),C(()=>{let s=new g,p=s.pipe(Z(),ie(!0));z([s,ge(e),tt(e)]).pipe(U(p),Le(1,me)).subscribe({next([{active:c},l]){let f=Ve(c),{width:u}=ce(c);e.style.setProperty("--md-indicator-x",`${f.x}px`),e.style.setProperty("--md-indicator-width",`${u}px`);let d=pr(o);(f.x<d.x||f.x+u>d.x+l.width)&&o.scrollTo({left:Math.max(0,f.x-16),behavior:"smooth"})},complete(){e.style.removeProperty("--md-indicator-x"),e.style.removeProperty("--md-indicator-width")}}),z([Ne(o),ge(o)]).pipe(U(p)).subscribe(([c,l])=>{let f=St(o);i.hidden=c.x<16,a.hidden=c.x>f.width-l.width-16}),O(h(i,"click").pipe(m(()=>-1)),h(a,"click").pipe(m(()=>1))).pipe(U(p)).subscribe(c=>{let{width:l}=ce(o);o.scrollBy({left:l*c,behavior:"smooth"})}),r.pipe(U(p),b(c=>n.includes(c))).subscribe(c=>c.click()),o.classList.add("tabbed-labels--linked");for(let c of n){let l=R(`label[for="${c.id}"]`);l.replaceChildren(x("a",{href:`#${l.htmlFor}`,tabIndex:-1},...Array.from(l.childNodes))),h(l.firstElementChild,"click").pipe(U(p),b(f=>!(f.metaKey||f.ctrlKey)),w(f=>{f.preventDefault(),f.stopPropagation()})).subscribe(()=>{history.replaceState({},"",`#${l.htmlFor}`),l.click()})}return B("content.tabs.link")&&s.pipe(Ce(1),re(t)).subscribe(([{active:c},{offset:l}])=>{let f=c.innerText.trim();if(c.hasAttribute("data-md-switching"))c.removeAttribute("data-md-switching");else{let u=e.offsetTop-l.y;for(let y of P("[data-tabs]"))for(let M of P(":scope > input",y)){let X=R(`label[for="${M.id}"]`);if(X!==c&&X.innerText.trim()===f){X.setAttribute("data-md-switching",""),M.click();break}}window.scrollTo({top:e.offsetTop-u});let d=__md_get("__tabs")||[];__md_set("__tabs",[...new Set([f,...d])])}}),s.pipe(U(p)).subscribe(()=>{for(let c of P("audio, video",e))c.pause()}),Qa(n).pipe(w(c=>s.next(c)),_(()=>s.complete()),m(c=>$({ref:e},c)))}).pipe(Ke(se))}function Nn(e,{viewport$:t,target$:r,print$:o}){return O(...P(".annotate:not(.highlight)",e).map(n=>$n(n,{target$:r,print$:o})),...P("pre:not(.mermaid) > code",e).map(n=>In(n,{target$:r,print$:o})),...P("pre.mermaid",e).map(n=>Wn(n)),...P("table:not([class])",e).map(n=>Dn(n)),...P("details",e).map(n=>jn(n,{target$:r,print$:o})),...P("[data-tabs]",e).map(n=>Vn(n,{viewport$:t,target$:r})),...P("[title]",e).filter(()=>B("content.tooltips")).map(n=>mt(n,{viewport$:t})))}function Ka(e,{alert$:t}){return t.pipe(v(r=>O(I(!0),I(!1).pipe(Ge(2e3))).pipe(m(o=>({message:r,active:o})))))}function zn(e,t){let r=R(".md-typeset",e);return C(()=>{let o=new g;return o.subscribe(({message:n,active:i})=>{e.classList.toggle("md-dialog--active",i),r.textContent=n}),Ka(e,t).pipe(w(n=>o.next(n)),_(()=>o.complete()),m(n=>$({ref:e},n)))})}var Ya=0;function Ba(e,t){document.body.append(e);let{width:r}=ce(e);e.style.setProperty("--md-tooltip-width",`${r}px`),e.remove();let o=cr(t),n=typeof o!="undefined"?Ne(o):I({x:0,y:0}),i=O(et(t),$t(t)).pipe(K());return z([i,n]).pipe(m(([a,s])=>{let{x:p,y:c}=Ve(t),l=ce(t),f=t.closest("table");return f&&t.parentElement&&(p+=f.offsetLeft+t.parentElement.offsetLeft,c+=f.offsetTop+t.parentElement.offsetTop),{active:a,offset:{x:p-s.x+l.width/2-r/2,y:c-s.y+l.height+8}}}))}function qn(e){let t=e.title;if(!t.length)return S;let r=`__tooltip_${Ya++}`,o=Rt(r,"inline"),n=R(".md-typeset",o);return n.innerHTML=t,C(()=>{let i=new g;return i.subscribe({next({offset:a}){o.style.setProperty("--md-tooltip-x",`${a.x}px`),o.style.setProperty("--md-tooltip-y",`${a.y}px`)},complete(){o.style.removeProperty("--md-tooltip-x"),o.style.removeProperty("--md-tooltip-y")}}),O(i.pipe(b(({active:a})=>a)),i.pipe(_e(250),b(({active:a})=>!a))).subscribe({next({active:a}){a?(e.insertAdjacentElement("afterend",o),e.setAttribute("aria-describedby",r),e.removeAttribute("title")):(o.remove(),e.removeAttribute("aria-describedby"),e.setAttribute("title",t))},complete(){o.remove(),e.removeAttribute("aria-describedby"),e.setAttribute("title",t)}}),i.pipe(Le(16,me)).subscribe(({active:a})=>{o.classList.toggle("md-tooltip--active",a)}),i.pipe(pt(125,me),b(()=>!!e.offsetParent),m(()=>e.offsetParent.getBoundingClientRect()),m(({x:a})=>a)).subscribe({next(a){a?o.style.setProperty("--md-tooltip-0",`${-a}px`):o.style.removeProperty("--md-tooltip-0")},complete(){o.style.removeProperty("--md-tooltip-0")}}),Ba(o,e).pipe(w(a=>i.next(a)),_(()=>i.complete()),m(a=>$({ref:e},a)))}).pipe(Ke(se))}function Ga({viewport$:e}){if(!B("header.autohide"))return I(!1);let t=e.pipe(m(({offset:{y:n}})=>n),Be(2,1),m(([n,i])=>[n<i,i]),ee(0)),r=z([e,t]).pipe(b(([{offset:n},[,i]])=>Math.abs(i-n.y)>100),m(([,[n]])=>n),K()),o=ze("search");return z([e,o]).pipe(m(([{offset:n},i])=>n.y>400&&!i),K(),v(n=>n?r:I(!1)),Q(!1))}function Qn(e,t){return C(()=>z([ge(e),Ga(t)])).pipe(m(([{height:r},o])=>({height:r,hidden:o})),K((r,o)=>r.height===o.height&&r.hidden===o.hidden),G(1))}function Kn(e,{header$:t,main$:r}){return C(()=>{let o=new g,n=o.pipe(Z(),ie(!0));o.pipe(ee("active"),He(t)).subscribe(([{active:a},{hidden:s}])=>{e.classList.toggle("md-header--shadow",a&&!s),e.hidden=s});let i=ue(P("[title]",e)).pipe(b(()=>B("content.tooltips")),ne(a=>qn(a)));return r.subscribe(o),t.pipe(U(n),m(a=>$({ref:e},a)),Re(i.pipe(U(n))))})}function Ja(e,{viewport$:t,header$:r}){return mr(e,{viewport$:t,header$:r}).pipe(m(({offset:{y:o}})=>{let{height:n}=ce(e);return{active:o>=n}}),ee("active"))}function Yn(e,t){return C(()=>{let r=new g;r.subscribe({next({active:n}){e.classList.toggle("md-header__title--active",n)},complete(){e.classList.remove("md-header__title--active")}});let o=fe(".md-content h1");return typeof o=="undefined"?S:Ja(o,t).pipe(w(n=>r.next(n)),_(()=>r.complete()),m(n=>$({ref:e},n)))})}function Bn(e,{viewport$:t,header$:r}){let o=r.pipe(m(({height:i})=>i),K()),n=o.pipe(v(()=>ge(e).pipe(m(({height:i})=>({top:e.offsetTop,bottom:e.offsetTop+i})),ee("bottom"))));return z([o,n,t]).pipe(m(([i,{top:a,bottom:s},{offset:{y:p},size:{height:c}}])=>(c=Math.max(0,c-Math.max(0,a-p,i)-Math.max(0,c+p-s)),{offset:a-i,height:c,active:a-i<=p})),K((i,a)=>i.offset===a.offset&&i.height===a.height&&i.active===a.active))}function Xa(e){let t=__md_get("__palette")||{index:e.findIndex(o=>matchMedia(o.getAttribute("data-md-color-media")).matches)},r=Math.max(0,Math.min(t.index,e.length-1));return I(...e).pipe(ne(o=>h(o,"change").pipe(m(()=>o))),Q(e[r]),m(o=>({index:e.indexOf(o),color:{media:o.getAttribute("data-md-color-media"),scheme:o.getAttribute("data-md-color-scheme"),primary:o.getAttribute("data-md-color-primary"),accent:o.getAttribute("data-md-color-accent")}})),G(1))}function Gn(e){let t=P("input",e),r=x("meta",{name:"theme-color"});document.head.appendChild(r);let o=x("meta",{name:"color-scheme"});document.head.appendChild(o);let n=Pt("(prefers-color-scheme: light)");return C(()=>{let i=new g;return i.subscribe(a=>{if(document.body.setAttribute("data-md-color-switching",""),a.color.media==="(prefers-color-scheme)"){let s=matchMedia("(prefers-color-scheme: light)"),p=document.querySelector(s.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");a.color.scheme=p.getAttribute("data-md-color-scheme"),a.color.primary=p.getAttribute("data-md-color-primary"),a.color.accent=p.getAttribute("data-md-color-accent")}for(let[s,p]of Object.entries(a.color))document.body.setAttribute(`data-md-color-${s}`,p);for(let s=0;s<t.length;s++){let p=t[s].nextElementSibling;p instanceof HTMLElement&&(p.hidden=a.index!==s)}__md_set("__palette",a)}),h(e,"keydown").pipe(b(a=>a.key==="Enter"),re(i,(a,s)=>s)).subscribe(({index:a})=>{a=(a+1)%t.length,t[a].click(),t[a].focus()}),i.pipe(m(()=>{let a=Se("header"),s=window.getComputedStyle(a);return o.content=s.colorScheme,s.backgroundColor.match(/\d+/g).map(p=>(+p).toString(16).padStart(2,"0")).join("")})).subscribe(a=>r.content=`#${a}`),i.pipe(ve(se)).subscribe(()=>{document.body.removeAttribute("data-md-color-switching")}),Xa(t).pipe(U(n.pipe(Ce(1))),ct(),w(a=>i.next(a)),_(()=>i.complete()),m(a=>$({ref:e},a)))})}function Jn(e,{progress$:t}){return C(()=>{let r=new g;return r.subscribe(({value:o})=>{e.style.setProperty("--md-progress-value",`${o}`)}),t.pipe(w(o=>r.next({value:o})),_(()=>r.complete()),m(o=>({ref:e,value:o})))})}var Jr=Lt(Br());function Za(e){e.setAttribute("data-md-copying","");let t=e.closest("[data-copy]"),r=t?t.getAttribute("data-copy"):e.innerText;return e.removeAttribute("data-md-copying"),r.trimEnd()}function Xn({alert$:e}){Jr.default.isSupported()&&new j(t=>{new Jr.default("[data-clipboard-target], [data-clipboard-text]",{text:r=>r.getAttribute("data-clipboard-text")||Za(R(r.getAttribute("data-clipboard-target")))}).on("success",r=>t.next(r))}).pipe(w(t=>{t.trigger.focus()}),m(()=>Ee("clipboard.copied"))).subscribe(e)}function Zn(e,t){return e.protocol=t.protocol,e.hostname=t.hostname,e}function es(e,t){let r=new Map;for(let o of P("url",e)){let n=R("loc",o),i=[Zn(new URL(n.textContent),t)];r.set(`${i[0]}`,i);for(let a of P("[rel=alternate]",o)){let s=a.getAttribute("href");s!=null&&i.push(Zn(new URL(s),t))}}return r}function ur(e){return fn(new URL("sitemap.xml",e)).pipe(m(t=>es(t,new URL(e))),de(()=>I(new Map)))}function ts(e,t){if(!(e.target instanceof Element))return S;let r=e.target.closest("a");if(r===null)return S;if(r.target||e.metaKey||e.ctrlKey)return S;let o=new URL(r.href);return o.search=o.hash="",t.has(`${o}`)?(e.preventDefault(),I(new URL(r.href))):S}function ei(e){let t=new Map;for(let r of P(":scope > *",e.head))t.set(r.outerHTML,r);return t}function ti(e){for(let t of P("[href], [src]",e))for(let r of["href","src"]){let o=t.getAttribute(r);if(o&&!/^(?:[a-z]+:)?\/\//i.test(o)){t[r]=t[r];break}}return I(e)}function rs(e){for(let o of["[data-md-component=announce]","[data-md-component=container]","[data-md-component=header-topic]","[data-md-component=outdated]","[data-md-component=logo]","[data-md-component=skip]",...B("navigation.tabs.sticky")?["[data-md-component=tabs]"]:[]]){let n=fe(o),i=fe(o,e);typeof n!="undefined"&&typeof i!="undefined"&&n.replaceWith(i)}let t=ei(document);for(let[o,n]of ei(e))t.has(o)?t.delete(o):document.head.appendChild(n);for(let o of t.values()){let n=o.getAttribute("name");n!=="theme-color"&&n!=="color-scheme"&&o.remove()}let r=Se("container");return Ue(P("script",r)).pipe(v(o=>{let n=e.createElement("script");if(o.src){for(let i of o.getAttributeNames())n.setAttribute(i,o.getAttribute(i));return o.replaceWith(n),new j(i=>{n.onload=()=>i.complete()})}else return n.textContent=o.textContent,o.replaceWith(n),S}),Z(),ie(document))}function ri({location$:e,viewport$:t,progress$:r}){let o=xe();if(location.protocol==="file:")return S;let n=ur(o.base);I(document).subscribe(ti);let i=h(document.body,"click").pipe(He(n),v(([p,c])=>ts(p,c)),pe()),a=h(window,"popstate").pipe(m(ye),pe());i.pipe(re(t)).subscribe(([p,{offset:c}])=>{history.replaceState(c,""),history.pushState(null,"",p)}),O(i,a).subscribe(e);let s=e.pipe(ee("pathname"),v(p=>mn(p,{progress$:r}).pipe(de(()=>(lt(p,!0),S)))),v(ti),v(rs),pe());return O(s.pipe(re(e,(p,c)=>c)),s.pipe(v(()=>e),ee("pathname"),v(()=>e),ee("hash")),e.pipe(K((p,c)=>p.pathname===c.pathname&&p.hash===c.hash),v(()=>i),w(()=>history.back()))).subscribe(p=>{var c,l;history.state!==null||!p.hash?window.scrollTo(0,(l=(c=history.state)==null?void 0:c.y)!=null?l:0):(history.scrollRestoration="auto",cn(p.hash),history.scrollRestoration="manual")}),e.subscribe(()=>{history.scrollRestoration="manual"}),h(window,"beforeunload").subscribe(()=>{history.scrollRestoration="auto"}),t.pipe(ee("offset"),_e(100)).subscribe(({offset:p})=>{history.replaceState(p,"")}),s}var oi=Lt(qr());function ni(e){let t=e.separator.split("|").map(n=>n.replace(/(\(\?[!=<][^)]+\))/g,"").length===0?"\uFFFD":n).join("|"),r=new RegExp(t,"img"),o=(n,i,a)=>`${i}<mark data-md-highlight>${a}</mark>`;return n=>{n=n.replace(/[\s*+\-:~^]+/g," ").trim();let i=new RegExp(`(^|${e.separator}|)(${n.replace(/[|\\{}()[\]^$+*?.-]/g,"\\$&").replace(r,"|")})`,"img");return a=>(0,oi.default)(a).replace(i,o).replace(/<\/mark>(\s+)<mark[^>]*>/img,"$1")}}function jt(e){return e.type===1}function dr(e){return e.type===3}function ii(e,t){let r=gn(e);return O(I(location.protocol!=="file:"),ze("search")).pipe(Ae(o=>o),v(()=>t)).subscribe(({config:o,docs:n})=>r.next({type:0,data:{config:o,docs:n,options:{suggest:B("search.suggest")}}})),r}function ai({document$:e}){let t=xe(),r=je(new URL("../versions.json",t.base)).pipe(de(()=>S)),o=r.pipe(m(n=>{let[,i]=t.base.match(/([^/]+)\/?$/);return n.find(({version:a,aliases:s})=>a===i||s.includes(i))||n[0]}));r.pipe(m(n=>new Map(n.map(i=>[`${new URL(`../${i.version}/`,t.base)}`,i]))),v(n=>h(document.body,"click").pipe(b(i=>!i.metaKey&&!i.ctrlKey),re(o),v(([i,a])=>{if(i.target instanceof Element){let s=i.target.closest("a");if(s&&!s.target&&n.has(s.href)){let p=s.href;return!i.target.closest(".md-version")&&n.get(p)===a?S:(i.preventDefault(),I(p))}}return S}),v(i=>ur(new URL(i)).pipe(m(a=>{let p=ye().href.replace(t.base,i);return a.has(p.split("#")[0])?new URL(p):new URL(i)})))))).subscribe(n=>lt(n,!0)),z([r,o]).subscribe(([n,i])=>{R(".md-header__topic").appendChild(An(n,i))}),e.pipe(v(()=>o)).subscribe(n=>{var a;let i=__md_get("__outdated",sessionStorage);if(i===null){i=!0;let s=((a=t.version)==null?void 0:a.default)||"latest";Array.isArray(s)||(s=[s]);e:for(let p of s)for(let c of n.aliases.concat(n.version))if(new RegExp(p,"i").test(c)){i=!1;break e}__md_set("__outdated",i,sessionStorage)}if(i)for(let s of ae("outdated"))s.hidden=!1})}function is(e,{worker$:t}){let{searchParams:r}=ye();r.has("q")&&(Je("search",!0),e.value=r.get("q"),e.focus(),ze("search").pipe(Ae(i=>!i)).subscribe(()=>{let i=ye();i.searchParams.delete("q"),history.replaceState({},"",`${i}`)}));let o=et(e),n=O(t.pipe(Ae(jt)),h(e,"keyup"),o).pipe(m(()=>e.value),K());return z([n,o]).pipe(m(([i,a])=>({value:i,focus:a})),G(1))}function si(e,{worker$:t}){let r=new g,o=r.pipe(Z(),ie(!0));z([t.pipe(Ae(jt)),r],(i,a)=>a).pipe(ee("value")).subscribe(({value:i})=>t.next({type:2,data:i})),r.pipe(ee("focus")).subscribe(({focus:i})=>{i&&Je("search",i)}),h(e.form,"reset").pipe(U(o)).subscribe(()=>e.focus());let n=R("header [for=__search]");return h(n,"click").subscribe(()=>e.focus()),is(e,{worker$:t}).pipe(w(i=>r.next(i)),_(()=>r.complete()),m(i=>$({ref:e},i)),G(1))}function ci(e,{worker$:t,query$:r}){let o=new g,n=rn(e.parentElement).pipe(b(Boolean)),i=e.parentElement,a=R(":scope > :first-child",e),s=R(":scope > :last-child",e);ze("search").subscribe(l=>s.setAttribute("role",l?"list":"presentation")),o.pipe(re(r),Ur(t.pipe(Ae(jt)))).subscribe(([{items:l},{value:f}])=>{switch(l.length){case 0:a.textContent=f.length?Ee("search.result.none"):Ee("search.result.placeholder");break;case 1:a.textContent=Ee("search.result.one");break;default:let u=sr(l.length);a.textContent=Ee("search.result.other",u)}});let p=o.pipe(w(()=>s.innerHTML=""),v(({items:l})=>O(I(...l.slice(0,10)),I(...l.slice(10)).pipe(Be(4),Vr(n),v(([f])=>f)))),m(Mn),pe());return p.subscribe(l=>s.appendChild(l)),p.pipe(ne(l=>{let f=fe("details",l);return typeof f=="undefined"?S:h(f,"toggle").pipe(U(o),m(()=>f))})).subscribe(l=>{l.open===!1&&l.offsetTop<=i.scrollTop&&i.scrollTo({top:l.offsetTop})}),t.pipe(b(dr),m(({data:l})=>l)).pipe(w(l=>o.next(l)),_(()=>o.complete()),m(l=>$({ref:e},l)))}function as(e,{query$:t}){return t.pipe(m(({value:r})=>{let o=ye();return o.hash="",r=r.replace(/\s+/g,"+").replace(/&/g,"%26").replace(/=/g,"%3D"),o.search=`q=${r}`,{url:o}}))}function pi(e,t){let r=new g,o=r.pipe(Z(),ie(!0));return r.subscribe(({url:n})=>{e.setAttribute("data-clipboard-text",e.href),e.href=`${n}`}),h(e,"click").pipe(U(o)).subscribe(n=>n.preventDefault()),as(e,t).pipe(w(n=>r.next(n)),_(()=>r.complete()),m(n=>$({ref:e},n)))}function li(e,{worker$:t,keyboard$:r}){let o=new g,n=Se("search-query"),i=O(h(n,"keydown"),h(n,"focus")).pipe(ve(se),m(()=>n.value),K());return o.pipe(He(i),m(([{suggest:s},p])=>{let c=p.split(/([\s-]+)/);if(s!=null&&s.length&&c[c.length-1]){let l=s[s.length-1];l.startsWith(c[c.length-1])&&(c[c.length-1]=l)}else c.length=0;return c})).subscribe(s=>e.innerHTML=s.join("").replace(/\s/g,"&nbsp;")),r.pipe(b(({mode:s})=>s==="search")).subscribe(s=>{switch(s.type){case"ArrowRight":e.innerText.length&&n.selectionStart===n.value.length&&(n.value=e.innerText);break}}),t.pipe(b(dr),m(({data:s})=>s)).pipe(w(s=>o.next(s)),_(()=>o.complete()),m(()=>({ref:e})))}function mi(e,{index$:t,keyboard$:r}){let o=xe();try{let n=ii(o.search,t),i=Se("search-query",e),a=Se("search-result",e);h(e,"click").pipe(b(({target:p})=>p instanceof Element&&!!p.closest("a"))).subscribe(()=>Je("search",!1)),r.pipe(b(({mode:p})=>p==="search")).subscribe(p=>{let c=Ie();switch(p.type){case"Enter":if(c===i){let l=new Map;for(let f of P(":first-child [href]",a)){let u=f.firstElementChild;l.set(f,parseFloat(u.getAttribute("data-md-score")))}if(l.size){let[[f]]=[...l].sort(([,u],[,d])=>d-u);f.click()}p.claim()}break;case"Escape":case"Tab":Je("search",!1),i.blur();break;case"ArrowUp":case"ArrowDown":if(typeof c=="undefined")i.focus();else{let l=[i,...P(":not(details) > [href], summary, details[open] [href]",a)],f=Math.max(0,(Math.max(0,l.indexOf(c))+l.length+(p.type==="ArrowUp"?-1:1))%l.length);l[f].focus()}p.claim();break;default:i!==Ie()&&i.focus()}}),r.pipe(b(({mode:p})=>p==="global")).subscribe(p=>{switch(p.type){case"f":case"s":case"/":i.focus(),i.select(),p.claim();break}});let s=si(i,{worker$:n});return O(s,ci(a,{worker$:n,query$:s})).pipe(Re(...ae("search-share",e).map(p=>pi(p,{query$:s})),...ae("search-suggest",e).map(p=>li(p,{worker$:n,keyboard$:r}))))}catch(n){return e.hidden=!0,Ye}}function fi(e,{index$:t,location$:r}){return z([t,r.pipe(Q(ye()),b(o=>!!o.searchParams.get("h")))]).pipe(m(([o,n])=>ni(o.config)(n.searchParams.get("h"))),m(o=>{var a;let n=new Map,i=document.createNodeIterator(e,NodeFilter.SHOW_TEXT);for(let s=i.nextNode();s;s=i.nextNode())if((a=s.parentElement)!=null&&a.offsetHeight){let p=s.textContent,c=o(p);c.length>p.length&&n.set(s,c)}for(let[s,p]of n){let{childNodes:c}=x("span",null,p);s.replaceWith(...Array.from(c))}return{ref:e,nodes:n}}))}function ss(e,{viewport$:t,main$:r}){let o=e.closest(".md-grid"),n=o.offsetTop-o.parentElement.offsetTop;return z([r,t]).pipe(m(([{offset:i,height:a},{offset:{y:s}}])=>(a=a+Math.min(n,Math.max(0,s-i))-n,{height:a,locked:s>=i+n})),K((i,a)=>i.height===a.height&&i.locked===a.locked))}function Xr(e,o){var n=o,{header$:t}=n,r=ao(n,["header$"]);let i=R(".md-sidebar__scrollwrap",e),{y:a}=Ve(i);return C(()=>{let s=new g,p=s.pipe(Z(),ie(!0)),c=s.pipe(Le(0,me));return c.pipe(re(t)).subscribe({next([{height:l},{height:f}]){i.style.height=`${l-2*a}px`,e.style.top=`${f}px`},complete(){i.style.height="",e.style.top=""}}),c.pipe(Ae()).subscribe(()=>{for(let l of P(".md-nav__link--active[href]",e)){if(!l.clientHeight)continue;let f=l.closest(".md-sidebar__scrollwrap");if(typeof f!="undefined"){let u=l.offsetTop-f.offsetTop,{height:d}=ce(f);f.scrollTo({top:u-d/2})}}}),ue(P("label[tabindex]",e)).pipe(ne(l=>h(l,"click").pipe(ve(se),m(()=>l),U(p)))).subscribe(l=>{let f=R(`[id="${l.htmlFor}"]`);R(`[aria-labelledby="${l.id}"]`).setAttribute("aria-expanded",`${f.checked}`)}),ss(e,r).pipe(w(l=>s.next(l)),_(()=>s.complete()),m(l=>$({ref:e},l)))})}function ui(e,t){if(typeof t!="undefined"){let r=`https://api.github.com/repos/${e}/${t}`;return st(je(`${r}/releases/latest`).pipe(de(()=>S),m(o=>({version:o.tag_name})),De({})),je(r).pipe(de(()=>S),m(o=>({stars:o.stargazers_count,forks:o.forks_count})),De({}))).pipe(m(([o,n])=>$($({},o),n)))}else{let r=`https://api.github.com/users/${e}`;return je(r).pipe(m(o=>({repositories:o.public_repos})),De({}))}}function di(e,t){let r=`https://${e}/api/v4/projects/${encodeURIComponent(t)}`;return st(je(`${r}/releases/permalink/latest`).pipe(de(()=>S),m(({tag_name:o})=>({version:o})),De({})),je(r).pipe(de(()=>S),m(({star_count:o,forks_count:n})=>({stars:o,forks:n})),De({}))).pipe(m(([o,n])=>$($({},o),n)))}function hi(e){let t=e.match(/^.+github\.com\/([^/]+)\/?([^/]+)?/i);if(t){let[,r,o]=t;return ui(r,o)}if(t=e.match(/^.+?([^/]*gitlab[^/]+)\/(.+?)\/?$/i),t){let[,r,o]=t;return di(r,o)}return S}var cs;function ps(e){return cs||(cs=C(()=>{let t=__md_get("__source",sessionStorage);if(t)return I(t);if(ae("consent").length){let o=__md_get("__consent");if(!(o&&o.github))return S}return hi(e.href).pipe(w(o=>__md_set("__source",o,sessionStorage)))}).pipe(de(()=>S),b(t=>Object.keys(t).length>0),m(t=>({facts:t})),G(1)))}function bi(e){let t=R(":scope > :last-child",e);return C(()=>{let r=new g;return r.subscribe(({facts:o})=>{t.appendChild(Ln(o)),t.classList.add("md-source__repository--active")}),ps(e).pipe(w(o=>r.next(o)),_(()=>r.complete()),m(o=>$({ref:e},o)))})}function ls(e,{viewport$:t,header$:r}){return ge(document.body).pipe(v(()=>mr(e,{header$:r,viewport$:t})),m(({offset:{y:o}})=>({hidden:o>=10})),ee("hidden"))}function vi(e,t){return C(()=>{let r=new g;return r.subscribe({next({hidden:o}){e.hidden=o},complete(){e.hidden=!1}}),(B("navigation.tabs.sticky")?I({hidden:!1}):ls(e,t)).pipe(w(o=>r.next(o)),_(()=>r.complete()),m(o=>$({ref:e},o)))})}function ms(e,{viewport$:t,header$:r}){let o=new Map,n=P(".md-nav__link",e);for(let s of n){let p=decodeURIComponent(s.hash.substring(1)),c=fe(`[id="${p}"]`);typeof c!="undefined"&&o.set(s,c)}let i=r.pipe(ee("height"),m(({height:s})=>{let p=Se("main"),c=R(":scope > :first-child",p);return s+.8*(c.offsetTop-p.offsetTop)}),pe());return ge(document.body).pipe(ee("height"),v(s=>C(()=>{let p=[];return I([...o].reduce((c,[l,f])=>{for(;p.length&&o.get(p[p.length-1]).tagName>=f.tagName;)p.pop();let u=f.offsetTop;for(;!u&&f.parentElement;)f=f.parentElement,u=f.offsetTop;let d=f.offsetParent;for(;d;d=d.offsetParent)u+=d.offsetTop;return c.set([...p=[...p,l]].reverse(),u)},new Map))}).pipe(m(p=>new Map([...p].sort(([,c],[,l])=>c-l))),He(i),v(([p,c])=>t.pipe(Fr(([l,f],{offset:{y:u},size:d})=>{let y=u+d.height>=Math.floor(s.height);for(;f.length;){let[,M]=f[0];if(M-c<u||y)l=[...l,f.shift()];else break}for(;l.length;){let[,M]=l[l.length-1];if(M-c>=u&&!y)f=[l.pop(),...f];else break}return[l,f]},[[],[...p]]),K((l,f)=>l[0]===f[0]&&l[1]===f[1])))))).pipe(m(([s,p])=>({prev:s.map(([c])=>c),next:p.map(([c])=>c)})),Q({prev:[],next:[]}),Be(2,1),m(([s,p])=>s.prev.length<p.prev.length?{prev:p.prev.slice(Math.max(0,s.prev.length-1),p.prev.length),next:[]}:{prev:p.prev.slice(-1),next:p.next.slice(0,p.next.length-s.next.length)}))}function gi(e,{viewport$:t,header$:r,main$:o,target$:n}){return C(()=>{let i=new g,a=i.pipe(Z(),ie(!0));if(i.subscribe(({prev:s,next:p})=>{for(let[c]of p)c.classList.remove("md-nav__link--passed"),c.classList.remove("md-nav__link--active");for(let[c,[l]]of s.entries())l.classList.add("md-nav__link--passed"),l.classList.toggle("md-nav__link--active",c===s.length-1)}),B("toc.follow")){let s=O(t.pipe(_e(1),m(()=>{})),t.pipe(_e(250),m(()=>"smooth")));i.pipe(b(({prev:p})=>p.length>0),He(o.pipe(ve(se))),re(s)).subscribe(([[{prev:p}],c])=>{let[l]=p[p.length-1];if(l.offsetHeight){let f=cr(l);if(typeof f!="undefined"){let u=l.offsetTop-f.offsetTop,{height:d}=ce(f);f.scrollTo({top:u-d/2,behavior:c})}}})}return B("navigation.tracking")&&t.pipe(U(a),ee("offset"),_e(250),Ce(1),U(n.pipe(Ce(1))),ct({delay:250}),re(i)).subscribe(([,{prev:s}])=>{let p=ye(),c=s[s.length-1];if(c&&c.length){let[l]=c,{hash:f}=new URL(l.href);p.hash!==f&&(p.hash=f,history.replaceState({},"",`${p}`))}else p.hash="",history.replaceState({},"",`${p}`)}),ms(e,{viewport$:t,header$:r}).pipe(w(s=>i.next(s)),_(()=>i.complete()),m(s=>$({ref:e},s)))})}function fs(e,{viewport$:t,main$:r,target$:o}){let n=t.pipe(m(({offset:{y:a}})=>a),Be(2,1),m(([a,s])=>a>s&&s>0),K()),i=r.pipe(m(({active:a})=>a));return z([i,n]).pipe(m(([a,s])=>!(a&&s)),K(),U(o.pipe(Ce(1))),ie(!0),ct({delay:250}),m(a=>({hidden:a})))}function yi(e,{viewport$:t,header$:r,main$:o,target$:n}){let i=new g,a=i.pipe(Z(),ie(!0));return i.subscribe({next({hidden:s}){e.hidden=s,s?(e.setAttribute("tabindex","-1"),e.blur()):e.removeAttribute("tabindex")},complete(){e.style.top="",e.hidden=!0,e.removeAttribute("tabindex")}}),r.pipe(U(a),ee("height")).subscribe(({height:s})=>{e.style.top=`${s+16}px`}),h(e,"click").subscribe(s=>{s.preventDefault(),window.scrollTo({top:0})}),fs(e,{viewport$:t,main$:o,target$:n}).pipe(w(s=>i.next(s)),_(()=>i.complete()),m(s=>$({ref:e},s)))}function xi({document$:e,viewport$:t}){e.pipe(v(()=>P(".md-ellipsis")),ne(r=>tt(r).pipe(U(e.pipe(Ce(1))),b(o=>o),m(()=>r),Te(1))),b(r=>r.offsetWidth<r.scrollWidth),ne(r=>{let o=r.innerText,n=r.closest("a")||r;return n.title=o,B("content.tooltips")?mt(n,{viewport$:t}).pipe(U(e.pipe(Ce(1))),_(()=>n.removeAttribute("title"))):S})).subscribe(),B("content.tooltips")&&e.pipe(v(()=>P(".md-status")),ne(r=>mt(r,{viewport$:t}))).subscribe()}function Ei({document$:e,tablet$:t}){e.pipe(v(()=>P(".md-toggle--indeterminate")),w(r=>{r.indeterminate=!0,r.checked=!1}),ne(r=>h(r,"change").pipe(Dr(()=>r.classList.contains("md-toggle--indeterminate")),m(()=>r))),re(t)).subscribe(([r,o])=>{r.classList.remove("md-toggle--indeterminate"),o&&(r.checked=!1)})}function us(){return/(iPad|iPhone|iPod)/.test(navigator.userAgent)}function wi({document$:e}){e.pipe(v(()=>P("[data-md-scrollfix]")),w(t=>t.removeAttribute("data-md-scrollfix")),b(us),ne(t=>h(t,"touchstart").pipe(m(()=>t)))).subscribe(t=>{let r=t.scrollTop;r===0?t.scrollTop=1:r+t.offsetHeight===t.scrollHeight&&(t.scrollTop=r-1)})}function Ti({viewport$:e,tablet$:t}){z([ze("search"),t]).pipe(m(([r,o])=>r&&!o),v(r=>I(r).pipe(Ge(r?400:100))),re(e)).subscribe(([r,{offset:{y:o}}])=>{if(r)document.body.setAttribute("data-md-scrolllock",""),document.body.style.top=`-${o}px`;else{let n=-1*parseInt(document.body.style.top,10);document.body.removeAttribute("data-md-scrolllock"),document.body.style.top="",n&&window.scrollTo(0,n)}})}Object.entries||(Object.entries=function(e){let t=[];for(let r of Object.keys(e))t.push([r,e[r]]);return t});Object.values||(Object.values=function(e){let t=[];for(let r of Object.keys(e))t.push(e[r]);return t});typeof Element!="undefined"&&(Element.prototype.scrollTo||(Element.prototype.scrollTo=function(e,t){typeof e=="object"?(this.scrollLeft=e.left,this.scrollTop=e.top):(this.scrollLeft=e,this.scrollTop=t)}),Element.prototype.replaceWith||(Element.prototype.replaceWith=function(...e){let t=this.parentNode;if(t){e.length===0&&t.removeChild(this);for(let r=e.length-1;r>=0;r--){let o=e[r];typeof o=="string"?o=document.createTextNode(o):o.parentNode&&o.parentNode.removeChild(o),r?t.insertBefore(this.previousSibling,o):t.replaceChild(o,this)}}}));function ds(){return location.protocol==="file:"?Tt(`${new URL("search/search_index.js",Zr.base)}`).pipe(m(()=>__index),G(1)):je(new URL("search/search_index.json",Zr.base))}document.documentElement.classList.remove("no-js");document.documentElement.classList.add("js");var ot=Bo(),Wt=an(),Mt=pn(Wt),eo=nn(),Oe=vn(),hr=Pt("(min-width: 960px)"),Oi=Pt("(min-width: 1220px)"),Mi=ln(),Zr=xe(),Li=document.forms.namedItem("search")?ds():Ye,to=new g;Xn({alert$:to});var ro=new g;B("navigation.instant")&&ri({location$:Wt,viewport$:Oe,progress$:ro}).subscribe(ot);var Si;((Si=Zr.version)==null?void 0:Si.provider)==="mike"&&ai({document$:ot});O(Wt,Mt).pipe(Ge(125)).subscribe(()=>{Je("drawer",!1),Je("search",!1)});eo.pipe(b(({mode:e})=>e==="global")).subscribe(e=>{switch(e.type){case"p":case",":let t=fe("link[rel=prev]");typeof t!="undefined"&&lt(t);break;case"n":case".":let r=fe("link[rel=next]");typeof r!="undefined"&&lt(r);break;case"Enter":let o=Ie();o instanceof HTMLLabelElement&&o.click()}});xi({viewport$:Oe,document$:ot});Ei({document$:ot,tablet$:hr});wi({document$:ot});Ti({viewport$:Oe,tablet$:hr});var rt=Qn(Se("header"),{viewport$:Oe}),Ft=ot.pipe(m(()=>Se("main")),v(e=>Bn(e,{viewport$:Oe,header$:rt})),G(1)),hs=O(...ae("consent").map(e=>xn(e,{target$:Mt})),...ae("dialog").map(e=>zn(e,{alert$:to})),...ae("header").map(e=>Kn(e,{viewport$:Oe,header$:rt,main$:Ft})),...ae("palette").map(e=>Gn(e)),...ae("progress").map(e=>Jn(e,{progress$:ro})),...ae("search").map(e=>mi(e,{index$:Li,keyboard$:eo})),...ae("source").map(e=>bi(e))),bs=C(()=>O(...ae("announce").map(e=>yn(e)),...ae("content").map(e=>Nn(e,{viewport$:Oe,target$:Mt,print$:Mi})),...ae("content").map(e=>B("search.highlight")?fi(e,{index$:Li,location$:Wt}):S),...ae("header-title").map(e=>Yn(e,{viewport$:Oe,header$:rt})),...ae("sidebar").map(e=>e.getAttribute("data-md-type")==="navigation"?Nr(Oi,()=>Xr(e,{viewport$:Oe,header$:rt,main$:Ft})):Nr(hr,()=>Xr(e,{viewport$:Oe,header$:rt,main$:Ft}))),...ae("tabs").map(e=>vi(e,{viewport$:Oe,header$:rt})),...ae("toc").map(e=>gi(e,{viewport$:Oe,header$:rt,main$:Ft,target$:Mt})),...ae("top").map(e=>yi(e,{viewport$:Oe,header$:rt,main$:Ft,target$:Mt})))),_i=ot.pipe(v(()=>bs),Re(hs),G(1));_i.subscribe();window.document$=ot;window.location$=Wt;window.target$=Mt;window.keyboard$=eo;window.viewport$=Oe;window.tablet$=hr;window.screen$=Oi;window.print$=Mi;window.alert$=to;window.progress$=ro;window.component$=_i;})();
//# sourceMappingURL=bundle.56dfad97.min.js.map
This source diff could not be displayed because it is too large. You can view the blob instead.
!function(e,t){"function"==typeof define&&define.amd?define(t):"object"==typeof exports?module.exports=t():t()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");e.el=function(){this.pipeline.reset(),void 0===this.searchPipeline&&this.pipeline.add(e.el.trimmer,e.el.normilizer),this.pipeline.add(e.el.stopWordFilter,e.el.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(e.el.stemmer))},e.el.wordCharacters="A-Za-zΑαΒβΓγΔδΕεΖζΗηΘθΙιΚκΛλΜμΝνΞξΟοΠπΡρΣσςΤτΥυΦφΧχΨψΩωΆάΈέΉήΊίΌόΎύΏώΪΐΫΰΐΰ",e.el.trimmer=e.trimmerSupport.generateTrimmer(e.el.wordCharacters),e.Pipeline.registerFunction(e.el.trimmer,"trimmer-el"),e.el.stemmer=function(){function e(e){return s.test(e)}function t(e){return/[ΑΕΗΙΟΥΩ]$/.test(e)}function r(e){return/[ΑΕΗΙΟΩ]$/.test(e)}function n(n){var s=n;if(n.length<3)return s;if(!e(n))return s;if(i.indexOf(n)>=0)return s;var u=new RegExp("(.*)("+Object.keys(l).join("|")+")$"),o=u.exec(s);return null!==o&&(s=o[1]+l[o[2]]),null!==(o=/^(.+?)(ΑΔΕΣ|ΑΔΩΝ)$/.exec(s))&&(s=o[1],/(ΟΚ|ΜΑΜ|ΜΑΝ|ΜΠΑΜΠ|ΠΑΤΕΡ|ΓΙΑΓΙ|ΝΤΑΝΤ|ΚΥΡ|ΘΕΙ|ΠΕΘΕΡ|ΜΟΥΣΑΜ|ΚΑΠΛΑΜ|ΠΑΡ|ΨΑΡ|ΤΖΟΥΡ|ΤΑΜΠΟΥΡ|ΓΑΛΑΤ|ΦΑΦΛΑΤ)$/.test(o[1])||(s+="ΑΔ")),null!==(o=/^(.+?)(ΕΔΕΣ|ΕΔΩΝ)$/.exec(s))&&(s=o[1],/(ΟΠ|ΙΠ|ΕΜΠ|ΥΠ|ΓΗΠ|ΔΑΠ|ΚΡΑΣΠ|ΜΙΛ)$/.test(o[1])&&(s+="ΕΔ")),null!==(o=/^(.+?)(ΟΥΔΕΣ|ΟΥΔΩΝ)$/.exec(s))&&(s=o[1],/(ΑΡΚ|ΚΑΛΙΑΚ|ΠΕΤΑΛ|ΛΙΧ|ΠΛΕΞ|ΣΚ|Σ|ΦΛ|ΦΡ|ΒΕΛ|ΛΟΥΛ|ΧΝ|ΣΠ|ΤΡΑΓ|ΦΕ)$/.test(o[1])&&(s+="ΟΥΔ")),null!==(o=/^(.+?)(ΕΩΣ|ΕΩΝ|ΕΑΣ|ΕΑ)$/.exec(s))&&(s=o[1],/^(Θ|Δ|ΕΛ|ΓΑΛ|Ν|Π|ΙΔ|ΠΑΡ|ΣΤΕΡ|ΟΡΦ|ΑΝΔΡ|ΑΝΤΡ)$/.test(o[1])&&(s+="Ε")),null!==(o=/^(.+?)(ΕΙΟ|ΕΙΟΣ|ΕΙΟΙ|ΕΙΑ|ΕΙΑΣ|ΕΙΕΣ|ΕΙΟΥ|ΕΙΟΥΣ|ΕΙΩΝ)$/.exec(s))&&o[1].length>4&&(s=o[1]),null!==(o=/^(.+?)(ΙΟΥΣ|ΙΑΣ|ΙΕΣ|ΙΟΣ|ΙΟΥ|ΙΟΙ|ΙΩΝ|ΙΟΝ|ΙΑ|ΙΟ)$/.exec(s))&&(s=o[1],(t(s)||s.length<2||/^(ΑΓ|ΑΓΓΕΛ|ΑΓΡ|ΑΕΡ|ΑΘΛ|ΑΚΟΥΣ|ΑΞ|ΑΣ|Β|ΒΙΒΛ|ΒΥΤ|Γ|ΓΙΑΓ|ΓΩΝ|Δ|ΔΑΝ|ΔΗΛ|ΔΗΜ|ΔΟΚΙΜ|ΕΛ|ΖΑΧΑΡ|ΗΛ|ΗΠ|ΙΔ|ΙΣΚ|ΙΣΤ|ΙΟΝ|ΙΩΝ|ΚΙΜΩΛ|ΚΟΛΟΝ|ΚΟΡ|ΚΤΗΡ|ΚΥΡ|ΛΑΓ|ΛΟΓ|ΜΑΓ|ΜΠΑΝ|ΜΠΡ|ΝΑΥΤ|ΝΟΤ|ΟΠΑΛ|ΟΞ|ΟΡ|ΟΣ|ΠΑΝΑΓ|ΠΑΤΡ|ΠΗΛ|ΠΗΝ|ΠΛΑΙΣ|ΠΟΝΤ|ΡΑΔ|ΡΟΔ|ΣΚ|ΣΚΟΡΠ|ΣΟΥΝ|ΣΠΑΝ|ΣΤΑΔ|ΣΥΡ|ΤΗΛ|ΤΙΜ|ΤΟΚ|ΤΟΠ|ΤΡΟΧ|ΦΙΛ|ΦΩΤ|Χ|ΧΙΛ|ΧΡΩΜ|ΧΩΡ)$/.test(o[1]))&&(s+="Ι"),/^(ΠΑΛ)$/.test(o[1])&&(s+="ΑΙ")),null!==(o=/^(.+?)(ΙΚΟΣ|ΙΚΟΝ|ΙΚΕΙΣ|ΙΚΟΙ|ΙΚΕΣ|ΙΚΟΥΣ|ΙΚΗ|ΙΚΗΣ|ΙΚΟ|ΙΚΑ|ΙΚΟΥ|ΙΚΩΝ|ΙΚΩΣ)$/.exec(s))&&(s=o[1],(t(s)||/^(ΑΔ|ΑΛ|ΑΜΑΝ|ΑΜΕΡ|ΑΜΜΟΧΑΛ|ΑΝΗΘ|ΑΝΤΙΔ|ΑΠΛ|ΑΤΤ|ΑΦΡ|ΒΑΣ|ΒΡΩΜ|ΓΕΝ|ΓΕΡ|Δ|ΔΙΚΑΝ|ΔΥΤ|ΕΙΔ|ΕΝΔ|ΕΞΩΔ|ΗΘ|ΘΕΤ|ΚΑΛΛΙΝ|ΚΑΛΠ|ΚΑΤΑΔ|ΚΟΥΖΙΝ|ΚΡ|ΚΩΔ|ΛΟΓ|Μ|ΜΕΡ|ΜΟΝΑΔ|ΜΟΥΛ|ΜΟΥΣ|ΜΠΑΓΙΑΤ|ΜΠΑΝ|ΜΠΟΛ|ΜΠΟΣ|ΜΥΣΤ|Ν|ΝΙΤ|ΞΙΚ|ΟΠΤ|ΠΑΝ|ΠΕΤΣ|ΠΙΚΑΝΤ|ΠΙΤΣ|ΠΛΑΣΤ|ΠΛΙΑΤΣ|ΠΟΝΤ|ΠΟΣΤΕΛΝ|ΠΡΩΤΟΔ|ΣΕΡΤ|ΣΗΜΑΝΤ|ΣΤΑΤ|ΣΥΝΑΔ|ΣΥΝΟΜΗΛ|ΤΕΛ|ΤΕΧΝ|ΤΡΟΠ|ΤΣΑΜ|ΥΠΟΔ|Φ|ΦΙΛΟΝ|ΦΥΛΟΔ|ΦΥΣ|ΧΑΣ)$/.test(o[1])||/(ΦΟΙΝ)$/.test(o[1]))&&(s+="ΙΚ")),"ΑΓΑΜΕ"===s&&(s="ΑΓΑΜ"),null!==(o=/^(.+?)(ΑΓΑΜΕ|ΗΣΑΜΕ|ΟΥΣΑΜΕ|ΗΚΑΜΕ|ΗΘΗΚΑΜΕ)$/.exec(s))&&(s=o[1]),null!==(o=/^(.+?)(ΑΜΕ)$/.exec(s))&&(s=o[1],/^(ΑΝΑΠ|ΑΠΟΘ|ΑΠΟΚ|ΑΠΟΣΤ|ΒΟΥΒ|ΞΕΘ|ΟΥΛ|ΠΕΘ|ΠΙΚΡ|ΠΟΤ|ΣΙΧ|Χ)$/.test(o[1])&&(s+="ΑΜ")),null!==(o=/^(.+?)(ΑΓΑΝΕ|ΗΣΑΝΕ|ΟΥΣΑΝΕ|ΙΟΝΤΑΝΕ|ΙΟΤΑΝΕ|ΙΟΥΝΤΑΝΕ|ΟΝΤΑΝΕ|ΟΤΑΝΕ|ΟΥΝΤΑΝΕ|ΗΚΑΝΕ|ΗΘΗΚΑΝΕ)$/.exec(s))&&(s=o[1],/^(ΤΡ|ΤΣ)$/.test(o[1])&&(s+="ΑΓΑΝ")),null!==(o=/^(.+?)(ΑΝΕ)$/.exec(s))&&(s=o[1],(r(s)||/^(ΒΕΤΕΡ|ΒΟΥΛΚ|ΒΡΑΧΜ|Γ|ΔΡΑΔΟΥΜ|Θ|ΚΑΛΠΟΥΖ|ΚΑΣΤΕΛ|ΚΟΡΜΟΡ|ΛΑΟΠΛ|ΜΩΑΜΕΘ|Μ|ΜΟΥΣΟΥΛΜΑΝ|ΟΥΛ|Π|ΠΕΛΕΚ|ΠΛ|ΠΟΛΙΣ|ΠΟΡΤΟΛ|ΣΑΡΑΚΑΤΣ|ΣΟΥΛΤ|ΤΣΑΡΛΑΤ|ΟΡΦ|ΤΣΙΓΓ|ΤΣΟΠ|ΦΩΤΟΣΤΕΦ|Χ|ΨΥΧΟΠΛ|ΑΓ|ΟΡΦ|ΓΑΛ|ΓΕΡ|ΔΕΚ|ΔΙΠΛ|ΑΜΕΡΙΚΑΝ|ΟΥΡ|ΠΙΘ|ΠΟΥΡΙΤ|Σ|ΖΩΝΤ|ΙΚ|ΚΑΣΤ|ΚΟΠ|ΛΙΧ|ΛΟΥΘΗΡ|ΜΑΙΝΤ|ΜΕΛ|ΣΙΓ|ΣΠ|ΣΤΕΓ|ΤΡΑΓ|ΤΣΑΓ|Φ|ΕΡ|ΑΔΑΠ|ΑΘΙΓΓ|ΑΜΗΧ|ΑΝΙΚ|ΑΝΟΡΓ|ΑΠΗΓ|ΑΠΙΘ|ΑΤΣΙΓΓ|ΒΑΣ|ΒΑΣΚ|ΒΑΘΥΓΑΛ|ΒΙΟΜΗΧ|ΒΡΑΧΥΚ|ΔΙΑΤ|ΔΙΑΦ|ΕΝΟΡΓ|ΘΥΣ|ΚΑΠΝΟΒΙΟΜΗΧ|ΚΑΤΑΓΑΛ|ΚΛΙΒ|ΚΟΙΛΑΡΦ|ΛΙΒ|ΜΕΓΛΟΒΙΟΜΗΧ|ΜΙΚΡΟΒΙΟΜΗΧ|ΝΤΑΒ|ΞΗΡΟΚΛΙΒ|ΟΛΙΓΟΔΑΜ|ΟΛΟΓΑΛ|ΠΕΝΤΑΡΦ|ΠΕΡΗΦ|ΠΕΡΙΤΡ|ΠΛΑΤ|ΠΟΛΥΔΑΠ|ΠΟΛΥΜΗΧ|ΣΤΕΦ|ΤΑΒ|ΤΕΤ|ΥΠΕΡΗΦ|ΥΠΟΚΟΠ|ΧΑΜΗΛΟΔΑΠ|ΨΗΛΟΤΑΒ)$/.test(o[1]))&&(s+="ΑΝ")),null!==(o=/^(.+?)(ΗΣΕΤΕ)$/.exec(s))&&(s=o[1]),null!==(o=/^(.+?)(ΕΤΕ)$/.exec(s))&&(s=o[1],(r(s)||/(ΟΔ|ΑΙΡ|ΦΟΡ|ΤΑΘ|ΔΙΑΘ|ΣΧ|ΕΝΔ|ΕΥΡ|ΤΙΘ|ΥΠΕΡΘ|ΡΑΘ|ΕΝΘ|ΡΟΘ|ΣΘ|ΠΥΡ|ΑΙΝ|ΣΥΝΔ|ΣΥΝ|ΣΥΝΘ|ΧΩΡ|ΠΟΝ|ΒΡ|ΚΑΘ|ΕΥΘ|ΕΚΘ|ΝΕΤ|ΡΟΝ|ΑΡΚ|ΒΑΡ|ΒΟΛ|ΩΦΕΛ)$/.test(o[1])||/^(ΑΒΑΡ|ΒΕΝ|ΕΝΑΡ|ΑΒΡ|ΑΔ|ΑΘ|ΑΝ|ΑΠΛ|ΒΑΡΟΝ|ΝΤΡ|ΣΚ|ΚΟΠ|ΜΠΟΡ|ΝΙΦ|ΠΑΓ|ΠΑΡΑΚΑΛ|ΣΕΡΠ|ΣΚΕΛ|ΣΥΡΦ|ΤΟΚ|Υ|Δ|ΕΜ|ΘΑΡΡ|Θ)$/.test(o[1]))&&(s+="ΕΤ")),null!==(o=/^(.+?)(ΟΝΤΑΣ|ΩΝΤΑΣ)$/.exec(s))&&(s=o[1],/^ΑΡΧ$/.test(o[1])&&(s+="ΟΝΤ"),/ΚΡΕ$/.test(o[1])&&(s+="ΩΝΤ")),null!==(o=/^(.+?)(ΟΜΑΣΤΕ|ΙΟΜΑΣΤΕ)$/.exec(s))&&(s=o[1],/^ΟΝ$/.test(o[1])&&(s+="ΟΜΑΣΤ")),null!==(o=/^(.+?)(ΙΕΣΤΕ)$/.exec(s))&&(s=o[1],/^(Π|ΑΠ|ΣΥΜΠ|ΑΣΥΜΠ|ΑΚΑΤΑΠ|ΑΜΕΤΑΜΦ)$/.test(o[1])&&(s+="ΙΕΣΤ")),null!==(o=/^(.+?)(ΕΣΤΕ)$/.exec(s))&&(s=o[1],/^(ΑΛ|ΑΡ|ΕΚΤΕΛ|Ζ|Μ|Ξ|ΠΑΡΑΚΑΛ|ΠΡΟ|ΝΙΣ)$/.test(o[1])&&(s+="ΕΣΤ")),null!==(o=/^(.+?)(ΗΘΗΚΑ|ΗΘΗΚΕΣ|ΗΘΗΚΕ)$/.exec(s))&&(s=o[1]),null!==(o=/^(.+?)(ΗΚΑ|ΗΚΕΣ|ΗΚΕ)$/.exec(s))&&(s=o[1],(/(ΣΚΩΛ|ΣΚΟΥΛ|ΝΑΡΘ|ΣΦ|ΟΘ|ΠΙΘ)$/.test(o[1])||/^(ΔΙΑΘ|Θ|ΠΑΡΑΚΑΤΑΘ|ΠΡΟΣΘ|ΣΥΝΘ)$/.test(o[1]))&&(s+="ΗΚ")),null!==(o=/^(.+?)(ΟΥΣΑ|ΟΥΣΕΣ|ΟΥΣΕ)$/.exec(s))&&(s=o[1],(t(s)||/^(ΦΑΡΜΑΚ|ΧΑΔ|ΑΓΚ|ΑΝΑΡΡ|ΒΡΟΜ|ΕΚΛΙΠ|ΛΑΜΠΙΔ|ΛΕΧ|Μ|ΠΑΤ|Ρ|Λ|ΜΕΔ|ΜΕΣΑΖ|ΥΠΟΤΕΙΝ|ΑΜ|ΑΙΘ|ΑΝΗΚ|ΔΕΣΠΟΖ|ΕΝΔΙΑΦΕΡ)$/.test(o[1])||/(ΠΟΔΑΡ|ΒΛΕΠ|ΠΑΝΤΑΧ|ΦΡΥΔ|ΜΑΝΤΙΛ|ΜΑΛΛ|ΚΥΜΑΤ|ΛΑΧ|ΛΗΓ|ΦΑΓ|ΟΜ|ΠΡΩΤ)$/.test(o[1]))&&(s+="ΟΥΣ")),null!==(o=/^(.+?)(ΑΓΑ|ΑΓΕΣ|ΑΓΕ)$/.exec(s))&&(s=o[1],(/^(ΑΒΑΣΤ|ΠΟΛΥΦ|ΑΔΗΦ|ΠΑΜΦ|Ρ|ΑΣΠ|ΑΦ|ΑΜΑΛ|ΑΜΑΛΛΙ|ΑΝΥΣΤ|ΑΠΕΡ|ΑΣΠΑΡ|ΑΧΑΡ|ΔΕΡΒΕΝ|ΔΡΟΣΟΠ|ΞΕΦ|ΝΕΟΠ|ΝΟΜΟΤ|ΟΛΟΠ|ΟΜΟΤ|ΠΡΟΣΤ|ΠΡΟΣΩΠΟΠ|ΣΥΜΠ|ΣΥΝΤ|Τ|ΥΠΟΤ|ΧΑΡ|ΑΕΙΠ|ΑΙΜΟΣΤ|ΑΝΥΠ|ΑΠΟΤ|ΑΡΤΙΠ|ΔΙΑΤ|ΕΝ|ΕΠΙΤ|ΚΡΟΚΑΛΟΠ|ΣΙΔΗΡΟΠ|Λ|ΝΑΥ|ΟΥΛΑΜ|ΟΥΡ|Π|ΤΡ|Μ)$/.test(o[1])||/(ΟΦ|ΠΕΛ|ΧΟΡΤ|ΛΛ|ΣΦ|ΡΠ|ΦΡ|ΠΡ|ΛΟΧ|ΣΜΗΝ)$/.test(o[1])&&!/^(ΨΟΦ|ΝΑΥΛΟΧ)$/.test(o[1])||/(ΚΟΛΛ)$/.test(o[1]))&&(s+="ΑΓ")),null!==(o=/^(.+?)(ΗΣΕ|ΗΣΟΥ|ΗΣΑ)$/.exec(s))&&(s=o[1],/^(Ν|ΧΕΡΣΟΝ|ΔΩΔΕΚΑΝ|ΕΡΗΜΟΝ|ΜΕΓΑΛΟΝ|ΕΠΤΑΝ|Ι)$/.test(o[1])&&(s+="ΗΣ")),null!==(o=/^(.+?)(ΗΣΤΕ)$/.exec(s))&&(s=o[1],/^(ΑΣΒ|ΣΒ|ΑΧΡ|ΧΡ|ΑΠΛ|ΑΕΙΜΝ|ΔΥΣΧΡ|ΕΥΧΡ|ΚΟΙΝΟΧΡ|ΠΑΛΙΜΨ)$/.test(o[1])&&(s+="ΗΣΤ")),null!==(o=/^(.+?)(ΟΥΝΕ|ΗΣΟΥΝΕ|ΗΘΟΥΝΕ)$/.exec(s))&&(s=o[1],/^(Ν|Ρ|ΣΠΙ|ΣΤΡΑΒΟΜΟΥΤΣ|ΚΑΚΟΜΟΥΤΣ|ΕΞΩΝ)$/.test(o[1])&&(s+="ΟΥΝ")),null!==(o=/^(.+?)(ΟΥΜΕ|ΗΣΟΥΜΕ|ΗΘΟΥΜΕ)$/.exec(s))&&(s=o[1],/^(ΠΑΡΑΣΟΥΣ|Φ|Χ|ΩΡΙΟΠΛ|ΑΖ|ΑΛΛΟΣΟΥΣ|ΑΣΟΥΣ)$/.test(o[1])&&(s+="ΟΥΜ")),null!=(o=/^(.+?)(ΜΑΤΟΙ|ΜΑΤΟΥΣ|ΜΑΤΟ|ΜΑΤΑ|ΜΑΤΩΣ|ΜΑΤΩΝ|ΜΑΤΟΣ|ΜΑΤΕΣ|ΜΑΤΗ|ΜΑΤΗΣ|ΜΑΤΟΥ)$/.exec(s))&&(s=o[1]+"Μ",/^(ΓΡΑΜ)$/.test(o[1])?s+="Α":/^(ΓΕ|ΣΤΑ)$/.test(o[1])&&(s+="ΑΤ")),null!==(o=/^(.+?)(ΟΥΑ)$/.exec(s))&&(s=o[1]+"ΟΥ"),n.length===s.length&&null!==(o=/^(.+?)(Α|ΑΓΑΤΕ|ΑΓΑΝ|ΑΕΙ|ΑΜΑΙ|ΑΝ|ΑΣ|ΑΣΑΙ|ΑΤΑΙ|ΑΩ|Ε|ΕΙ|ΕΙΣ|ΕΙΤΕ|ΕΣΑΙ|ΕΣ|ΕΤΑΙ|Ι|ΙΕΜΑΙ|ΙΕΜΑΣΤΕ|ΙΕΤΑΙ|ΙΕΣΑΙ|ΙΕΣΑΣΤΕ|ΙΟΜΑΣΤΑΝ|ΙΟΜΟΥΝ|ΙΟΜΟΥΝΑ|ΙΟΝΤΑΝ|ΙΟΝΤΟΥΣΑΝ|ΙΟΣΑΣΤΑΝ|ΙΟΣΑΣΤΕ|ΙΟΣΟΥΝ|ΙΟΣΟΥΝΑ|ΙΟΤΑΝ|ΙΟΥΜΑ|ΙΟΥΜΑΣΤΕ|ΙΟΥΝΤΑΙ|ΙΟΥΝΤΑΝ|Η|ΗΔΕΣ|ΗΔΩΝ|ΗΘΕΙ|ΗΘΕΙΣ|ΗΘΕΙΤΕ|ΗΘΗΚΑΤΕ|ΗΘΗΚΑΝ|ΗΘΟΥΝ|ΗΘΩ|ΗΚΑΤΕ|ΗΚΑΝ|ΗΣ|ΗΣΑΝ|ΗΣΑΤΕ|ΗΣΕΙ|ΗΣΕΣ|ΗΣΟΥΝ|ΗΣΩ|Ο|ΟΙ|ΟΜΑΙ|ΟΜΑΣΤΑΝ|ΟΜΟΥΝ|ΟΜΟΥΝΑ|ΟΝΤΑΙ|ΟΝΤΑΝ|ΟΝΤΟΥΣΑΝ|ΟΣ|ΟΣΑΣΤΑΝ|ΟΣΑΣΤΕ|ΟΣΟΥΝ|ΟΣΟΥΝΑ|ΟΤΑΝ|ΟΥ|ΟΥΜΑΙ|ΟΥΜΑΣΤΕ|ΟΥΝ|ΟΥΝΤΑΙ|ΟΥΝΤΑΝ|ΟΥΣ|ΟΥΣΑΝ|ΟΥΣΑΤΕ|Υ||ΥΑ|ΥΣ|Ω|ΩΝ|ΟΙΣ)$/.exec(s))&&(s=o[1]),null!=(o=/^(.+?)(ΕΣΤΕΡ|ΕΣΤΑΤ|ΟΤΕΡ|ΟΤΑΤ|ΥΤΕΡ|ΥΤΑΤ|ΩΤΕΡ|ΩΤΑΤ)$/.exec(s))&&(/^(ΕΞ|ΕΣ|ΑΝ|ΚΑΤ|Κ|ΠΡ)$/.test(o[1])||(s=o[1]),/^(ΚΑ|Μ|ΕΛΕ|ΛΕ|ΔΕ)$/.test(o[1])&&(s+="ΥΤ")),s}var l={"ΦΑΓΙΑ":"ΦΑ","ΦΑΓΙΟΥ":"ΦΑ","ΦΑΓΙΩΝ":"ΦΑ","ΣΚΑΓΙΑ":"ΣΚΑ","ΣΚΑΓΙΟΥ":"ΣΚΑ","ΣΚΑΓΙΩΝ":"ΣΚΑ","ΣΟΓΙΟΥ":"ΣΟ","ΣΟΓΙΑ":"ΣΟ","ΣΟΓΙΩΝ":"ΣΟ","ΤΑΤΟΓΙΑ":"ΤΑΤΟ","ΤΑΤΟΓΙΟΥ":"ΤΑΤΟ","ΤΑΤΟΓΙΩΝ":"ΤΑΤΟ","ΚΡΕΑΣ":"ΚΡΕ","ΚΡΕΑΤΟΣ":"ΚΡΕ","ΚΡΕΑΤΑ":"ΚΡΕ","ΚΡΕΑΤΩΝ":"ΚΡΕ","ΠΕΡΑΣ":"ΠΕΡ","ΠΕΡΑΤΟΣ":"ΠΕΡ","ΠΕΡΑΤΑ":"ΠΕΡ","ΠΕΡΑΤΩΝ":"ΠΕΡ","ΤΕΡΑΣ":"ΤΕΡ","ΤΕΡΑΤΟΣ":"ΤΕΡ","ΤΕΡΑΤΑ":"ΤΕΡ","ΤΕΡΑΤΩΝ":"ΤΕΡ","ΦΩΣ":"ΦΩ","ΦΩΤΟΣ":"ΦΩ","ΦΩΤΑ":"ΦΩ","ΦΩΤΩΝ":"ΦΩ","ΚΑΘΕΣΤΩΣ":"ΚΑΘΕΣΤ","ΚΑΘΕΣΤΩΤΟΣ":"ΚΑΘΕΣΤ","ΚΑΘΕΣΤΩΤΑ":"ΚΑΘΕΣΤ","ΚΑΘΕΣΤΩΤΩΝ":"ΚΑΘΕΣΤ","ΓΕΓΟΝΟΣ":"ΓΕΓΟΝ","ΓΕΓΟΝΟΤΟΣ":"ΓΕΓΟΝ","ΓΕΓΟΝΟΤΑ":"ΓΕΓΟΝ","ΓΕΓΟΝΟΤΩΝ":"ΓΕΓΟΝ","ΕΥΑ":"ΕΥ"},i=["ΑΚΡΙΒΩΣ","ΑΛΑ","ΑΛΛΑ","ΑΛΛΙΩΣ","ΑΛΛΟΤΕ","ΑΜΑ","ΑΝΩ","ΑΝΑ","ΑΝΑΜΕΣΑ","ΑΝΑΜΕΤΑΞΥ","ΑΝΕΥ","ΑΝΤΙ","ΑΝΤΙΠΕΡΑ","ΑΝΤΙΟ","ΑΞΑΦΝΑ","ΑΠΟ","ΑΠΟΨΕ","ΑΡΑ","ΑΡΑΓΕ","ΑΥΡΙΟ","ΑΦΟΙ","ΑΦΟΥ","ΑΦΟΤΟΥ","ΒΡΕ","ΓΕΙΑ","ΓΙΑ","ΓΙΑΤΙ","ΓΡΑΜΜΑ","ΔΕΗ","ΔΕΝ","ΔΗΛΑΔΗ","ΔΙΧΩΣ","ΔΥΟ","ΕΑΝ","ΕΓΩ","ΕΔΩ","ΕΔΑ","ΕΙΘΕ","ΕΙΜΑΙ","ΕΙΜΑΣΤΕ","ΕΙΣΑΙ","ΕΙΣΑΣΤΕ","ΕΙΝΑΙ","ΕΙΣΤΕ","ΕΙΤΕ","ΕΚΕΙ","ΕΚΟ","ΕΛΑ","ΕΜΑΣ","ΕΜΕΙΣ","ΕΝΤΕΛΩΣ","ΕΝΤΟΣ","ΕΝΤΩΜΕΤΑΞΥ","ΕΝΩ","ΕΞΙ","ΕΞΙΣΟΥ","ΕΞΗΣ","ΕΞΩ","ΕΟΚ","ΕΠΑΝΩ","ΕΠΕΙΔΗ","ΕΠΕΙΤΑ","ΕΠΙ","ΕΠΙΣΗΣ","ΕΠΟΜΕΝΩΣ","ΕΠΤΑ","ΕΣΑΣ","ΕΣΕΙΣ","ΕΣΤΩ","ΕΣΥ","ΕΣΩ","ΕΤΣΙ","ΕΥΓΕ","ΕΦΕ","ΕΦΕΞΗΣ","ΕΧΤΕΣ","ΕΩΣ","ΗΔΗ","ΗΜΙ","ΗΠΑ","ΗΤΟΙ","ΘΕΣ","ΙΔΙΩΣ","ΙΔΗ","ΙΚΑ","ΙΣΩΣ","ΚΑΘΕ","ΚΑΘΕΤΙ","ΚΑΘΟΛΟΥ","ΚΑΘΩΣ","ΚΑΙ","ΚΑΝ","ΚΑΠΟΤΕ","ΚΑΠΟΥ","ΚΑΤΑ","ΚΑΤΙ","ΚΑΤΟΠΙΝ","ΚΑΤΩ","ΚΕΙ","ΚΙΧ","ΚΚΕ","ΚΟΛΑΝ","ΚΥΡΙΩΣ","ΚΩΣ","ΜΑΚΑΡΙ","ΜΑΛΙΣΤΑ","ΜΑΛΛΟΝ","ΜΑΙ","ΜΑΟ","ΜΑΟΥΣ","ΜΑΣ","ΜΕΘΑΥΡΙΟ","ΜΕΣ","ΜΕΣΑ","ΜΕΤΑ","ΜΕΤΑΞΥ","ΜΕΧΡΙ","ΜΗΔΕ","ΜΗΝ","ΜΗΠΩΣ","ΜΗΤΕ","ΜΙΑ","ΜΙΑΣ","ΜΙΣ","ΜΜΕ","ΜΟΛΟΝΟΤΙ","ΜΟΥ","ΜΠΑ","ΜΠΑΣ","ΜΠΟΥΦΑΝ","ΜΠΡΟΣ","ΝΑΙ","ΝΕΣ","ΝΤΑ","ΝΤΕ","ΞΑΝΑ","ΟΗΕ","ΟΚΤΩ","ΟΜΩΣ","ΟΝΕ","ΟΠΑ","ΟΠΟΥ","ΟΠΩΣ","ΟΣΟ","ΟΤΑΝ","ΟΤΕ","ΟΤΙ","ΟΥΤΕ","ΟΧΙ","ΠΑΛΙ","ΠΑΝ","ΠΑΝΟ","ΠΑΝΤΟΤΕ","ΠΑΝΤΟΥ","ΠΑΝΤΩΣ","ΠΑΝΩ","ΠΑΡΑ","ΠΕΡΑ","ΠΕΡΙ","ΠΕΡΙΠΟΥ","ΠΙΑ","ΠΙΟ","ΠΙΣΩ","ΠΛΑΙ","ΠΛΕΟΝ","ΠΛΗΝ","ΠΟΤΕ","ΠΟΥ","ΠΡΟ","ΠΡΟΣ","ΠΡΟΧΤΕΣ","ΠΡΟΧΘΕΣ","ΡΟΔΙ","ΠΩΣ","ΣΑΙ","ΣΑΣ","ΣΑΝ","ΣΕΙΣ","ΣΙΑ","ΣΚΙ","ΣΟΙ","ΣΟΥ","ΣΡΙ","ΣΥΝ","ΣΥΝΑΜΑ","ΣΧΕΔΟΝ","ΤΑΔΕ","ΤΑΞΙ","ΤΑΧΑ","ΤΕΙ","ΤΗΝ","ΤΗΣ","ΤΙΠΟΤΑ","ΤΙΠΟΤΕ","ΤΙΣ","ΤΟΝ","ΤΟΤΕ","ΤΟΥ","ΤΟΥΣ","ΤΣΑ","ΤΣΕ","ΤΣΙ","ΤΣΟΥ","ΤΩΝ","ΥΠΟ","ΥΠΟΨΗ","ΥΠΟΨΙΝ","ΥΣΤΕΡΑ","ΦΕΤΟΣ","ΦΙΣ","ΦΠΑ","ΧΑΦ","ΧΘΕΣ","ΧΤΕΣ","ΧΩΡΙΣ","ΩΣ","ΩΣΑΝ","ΩΣΟΤΟΥ","ΩΣΠΟΥ","ΩΣΤΕ","ΩΣΤΟΣΟ"],s=new RegExp("^[ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ]+$");return function(e){return"function"==typeof e.update?e.update(function(e){return n(e.toUpperCase()).toLowerCase()}):n(e.toUpperCase()).toLowerCase()}}(),e.Pipeline.registerFunction(e.el.stemmer,"stemmer-el"),e.el.stopWordFilter=e.generateStopWordFilter("αλλα αν αντι απο αυτα αυτεσ αυτη αυτο αυτοι αυτοσ αυτουσ αυτων για δε δεν εαν ειμαι ειμαστε ειναι εισαι ειστε εκεινα εκεινεσ εκεινη εκεινο εκεινοι εκεινοσ εκεινουσ εκεινων ενω επι η θα ισωσ κ και κατα κι μα με μετα μη μην να ο οι ομωσ οπωσ οσο οτι παρα ποια ποιεσ ποιο ποιοι ποιοσ ποιουσ ποιων που προσ πωσ σε στη στην στο στον τα την τησ το τον τοτε του των ωσ".split(" ")),e.Pipeline.registerFunction(e.el.stopWordFilter,"stopWordFilter-el"),e.el.normilizer=function(){var e={"Ά":"Α","ά":"α","Έ":"Ε","έ":"ε","Ή":"Η","ή":"η","Ί":"Ι","ί":"ι","Ό":"Ο","ο":"ο","Ύ":"Υ","ύ":"υ","Ώ":"Ω","ώ":"ω","Ϊ":"Ι","ϊ":"ι","Ϋ":"Υ","ϋ":"υ","ΐ":"ι","ΰ":"υ"};return function(t){if("function"==typeof t.update)return t.update(function(t){for(var r="",n=0;n<t.length;n++)r+=e[t.charAt(n)]||t.charAt(n);return r});for(var r="",n=0;n<t.length;n++)r+=e[t.charAt(n)]||t.charAt(n);return r}}(),e.Pipeline.registerFunction(e.el.normilizer,"normilizer-el")}});
\ No newline at end of file
!function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r():r()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");e.he=function(){this.pipeline.reset(),this.pipeline.add(e.he.trimmer,e.he.stopWordFilter,e.he.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(e.he.stemmer))},e.he.wordCharacters="֑-״א-תa-zA-Za-zA-Z0-90-9",e.he.trimmer=e.trimmerSupport.generateTrimmer(e.he.wordCharacters),e.Pipeline.registerFunction(e.he.trimmer,"trimmer-he"),e.he.stemmer=function(){var e=this;return e.result=!1,e.preRemoved=!1,e.sufRemoved=!1,e.pre={pre1:"ה ו י ת",pre2:"ב כ ל מ ש כש",pre3:"הב הכ הל המ הש בש לכ",pre4:"וב וכ ול ומ וש",pre5:"מה שה כל",pre6:"מב מכ מל ממ מש",pre7:"בה בו בי בת כה כו כי כת לה לו לי לת",pre8:"ובה ובו ובי ובת וכה וכו וכי וכת ולה ולו ולי ולת"},e.suf={suf1:"ך כ ם ן נ",suf2:"ים ות וך וכ ום ון ונ הם הן יכ יך ינ ים",suf3:"תי תך תכ תם תן תנ",suf4:"ותי ותך ותכ ותם ותן ותנ",suf5:"נו כם כן הם הן",suf6:"ונו וכם וכן והם והן",suf7:"תכם תכן תנו תהם תהן",suf8:"הוא היא הם הן אני אתה את אנו אתם אתן",suf9:"ני נו כי כו כם כן תי תך תכ תם תן",suf10:"י ך כ ם ן נ ת"},e.patterns=JSON.parse('{"hebrewPatterns": [{"pt1": [{"c": "ה", "l": 0}]}, {"pt2": [{"c": "ו", "l": 0}]}, {"pt3": [{"c": "י", "l": 0}]}, {"pt4": [{"c": "ת", "l": 0}]}, {"pt5": [{"c": "מ", "l": 0}]}, {"pt6": [{"c": "ל", "l": 0}]}, {"pt7": [{"c": "ב", "l": 0}]}, {"pt8": [{"c": "כ", "l": 0}]}, {"pt9": [{"c": "ש", "l": 0}]}, {"pt10": [{"c": "כש", "l": 0}]}, {"pt11": [{"c": "בה", "l": 0}]}, {"pt12": [{"c": "וב", "l": 0}]}, {"pt13": [{"c": "וכ", "l": 0}]}, {"pt14": [{"c": "ול", "l": 0}]}, {"pt15": [{"c": "ומ", "l": 0}]}, {"pt16": [{"c": "וש", "l": 0}]}, {"pt17": [{"c": "הב", "l": 0}]}, {"pt18": [{"c": "הכ", "l": 0}]}, {"pt19": [{"c": "הל", "l": 0}]}, {"pt20": [{"c": "המ", "l": 0}]}, {"pt21": [{"c": "הש", "l": 0}]}, {"pt22": [{"c": "מה", "l": 0}]}, {"pt23": [{"c": "שה", "l": 0}]}, {"pt24": [{"c": "כל", "l": 0}]}]}'),e.execArray=["cleanWord","removeDiacritics","removeStopWords","normalizeHebrewCharacters"],e.stem=function(){var r=0;for(e.result=!1,e.preRemoved=!1,e.sufRemoved=!1;r<e.execArray.length&&1!=e.result;)e.result=e[e.execArray[r]](),r++},e.setCurrent=function(r){e.word=r},e.getCurrent=function(){return e.word},e.cleanWord=function(){return!!new RegExp("[^֑-״א-ת]").test("")},e.removeDiacritics=function(){var r=new RegExp("[ְ-ֿ]","g");return e.word=e.word.replace(r,""),!1},e.removeStopWords=function(){if("אבל או אולי אותו אותי אותך אותם אותן אותנו אז אחר אחרות אחרי אחריכן אחרים אחרת אי איזה איך אין איפה אל אלה אלו אם אנחנו אני אף אפשר את אתה אתכם אתכן אתם אתן באיזה באיזו בגלל בין בלבד בעבור בעזרת בכל בכן בלי במידה במקום שבו ברוב בשביל בשעה ש בתוך גם דרך הוא היא היה היי היכן היתה היתי הם הן הנה הסיבה שבגללה הרי ואילו ואת זאת זה זות יהיה יוכל יוכלו יותר מדי יכול יכולה יכולות יכולים יכל יכלה יכלו יש כאן כאשר כולם כולן כזה כי כיצד כך כל כלל כמו כן כפי כש לא לאו לאיזותך לאן לבין לה להיות להם להן לו לזה לזות לי לך לכם לכן למה למעלה למעלה מ למטה למטה מ למעט למקום שבו למרות לנו לעבר לעיכן לפיכך לפני מאד מאחורי מאיזו סיבה מאין מאיפה מבלי מבעד מדוע מה מהיכן מול מחוץ מי מידע מכאן מכל מכן מלבד מן מנין מסוגל מעט מעטים מעל מצד מקום בו מתחת מתי נגד נגר נו עד עז על עלי עליו עליה עליהם עליך עלינו עם עצמה עצמהם עצמהן עצמו עצמי עצמם עצמן עצמנו פה רק שוב של שלה שלהם שלהן שלו שלי שלך שלכה שלכם שלכן שלנו שם תהיה תחת".split(" ").indexOf(e.word)>=0)return!0},e.normalizeHebrewCharacters=function(){return e.word=e.word.replace("ך","כ"),e.word=e.word.replace("ם","מ"),e.word=e.word.replace("ן","נ"),e.word=e.word.replace("ף","פ"),e.word=e.word.replace("ץ","צ"),!1},function(r){return"function"==typeof r.update?r.update(function(r){return e.setCurrent(r),e.stem(),e.getCurrent()}):(e.setCurrent(r),e.stem(),e.getCurrent())}}(),e.Pipeline.registerFunction(e.he.stemmer,"stemmer-he"),e.he.stopWordFilter=e.generateStopWordFilter("אבל או אולי אותו אותי אותך אותם אותן אותנו אז אחר אחרות אחרי אחריכן אחרים אחרת אי איזה איך אין איפה אל אלה אלו אם אנחנו אני אף אפשר את אתה אתכם אתכן אתם אתן באיזה באיזו בגלל בין בלבד בעבור בעזרת בכל בכן בלי במידה במקום שבו ברוב בשביל בשעה ש בתוך גם דרך הוא היא היה היי היכן היתה היתי הם הן הנה הסיבה שבגללה הרי ואילו ואת זאת זה זות יהיה יוכל יוכלו יותר מדי יכול יכולה יכולות יכולים יכל יכלה יכלו יש כאן כאשר כולם כולן כזה כי כיצד כך כל כלל כמו כן כפי כש לא לאו לאיזותך לאן לבין לה להיות להם להן לו לזה לזות לי לך לכם לכן למה למעלה למעלה מ למטה למטה מ למעט למקום שבו למרות לנו לעבר לעיכן לפיכך לפני מאד מאחורי מאיזו סיבה מאין מאיפה מבלי מבעד מדוע מה מהיכן מול מחוץ מי מידע מכאן מכל מכן מלבד מן מנין מסוגל מעט מעטים מעל מצד מקום בו מתחת מתי נגד נגר נו עד עז על עלי עליו עליה עליהם עליך עלינו עם עצמה עצמהם עצמהן עצמו עצמי עצמם עצמן עצמנו פה רק שוב של שלה שלהם שלהן שלו שלי שלך שלכה שלכם שלכן שלנו שם תהיה תחת".split(" ")),e.Pipeline.registerFunction(e.he.stopWordFilter,"stopWordFilter-he")}});
\ No newline at end of file
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment