2026-01-30 10:58:56 +00:00
<!DOCTYPE html>
< html lang = "de" >
< head >
< meta charset = "UTF-8" >
< meta name = "viewport" content = "width=device-width, initial-scale=1.0" >
< title > Benutzerverwaltung< / title >
<!-- INFORMATION
Kontakt: P. Seidel (ZenIT)
Version: 1.7
Dokumentation: im Code, readme.md & mandanten_matrix.md
-->
< style >
2026-01-30 20:27:50 +00:00
/* === STYLING === */
2026-01-30 10:58:56 +00:00
body { font-family: 'Segoe UI', Arial, sans-serif; background-color: #f4f7f6; padding: 20px; color: #333; }
form { background: #fff; max-width: 900px; margin: 0 auto; padding: 40px; box-shadow: 0 4px 15px rgba(0,0,0,0.1); border-radius: 8px; }
.field-grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; }
.field-grid-2 { display: grid; grid-template-columns: repeat(2, 1fr); gap: 15px; }
.input-wrapper { display: flex; flex-direction: column; margin-bottom: 12px; }
input:not([type="radio"]):not([type="checkbox"]), select, textarea {
padding: 10px; border: 1px solid #ccc; border-radius: 4px; width: 100%; box-sizing: border-box; font-size: 14px; transition: border-color 0.3s;
}
input:focus, select:focus, textarea:focus { border-color: #008B00; outline: none; }
label { margin-bottom: 5px; font-weight: 500; }
label.main-label { display: block; font-weight: bold; margin-bottom: 8px; margin-top: 15px; color: #2c3e50; border-bottom: 1px solid #eee; padding-bottom: 2px;}
.radio-group, .checkbox-group { display: flex; gap: 20px; flex-wrap: wrap; align-items: center; margin-top: 5px; }
.form-grouping { background-color: #F9FDF9; padding: 20px; border-radius: 6px; margin-bottom: 30px; border: 1px solid #dcecdb; }
.form-grouping h3 { margin-top: 0; border-bottom: 3px solid #008B00; padding-bottom: 8px; color: #008B00; font-size: 18px; text-transform: uppercase; letter-spacing: 0.5px; }
.sub-group { background-color: #fff; padding: 15px; border-radius: 4px; margin-top: 15px; border: 1px solid #eee; }
.header-row { display: flex; justify-content: space-between; align-items: center; font-weight: bold; margin-bottom: 10px; color: #555; }
hr { border: 0; border-top: 1px solid #ddd; margin-bottom: 25px; }
.name-row { display: flex; gap: 15px; }
.wrapper-titel { flex: 1; }
.wrapper-name { flex: 3; }
.hidden { display: none !important; }
.required-label::after { content: ' *'; color: #d9534f; font-weight: bold; }
button {
color: white; border: none; padding: 12px 20px;
font-size: 15px; border-radius: 5px; cursor: pointer; display: inline-block; transition: background 0.2s; font-weight: 600;
}
button:hover { opacity: 0.9; transform: translateY(-1px); }
.btn-green { background-color: #008B00; width: 100%; font-size: 18px; padding: 15px; box-shadow: 0 4px 6px rgba(0,0,0,0.1); }
.btn-blue { background-color: #3498db; }
.btn-orange { background-color: #f39c12; }
.process-info { background-color: #e3f2fd; border-left: 5px solid #2196F3; padding: 15px; margin-bottom: 25px; border-radius: 4px; color: #0d47a1; }
.storage-area { background-color: #f8f9fa; border: 1px solid #e9ecef; padding: 20px; border-radius: 8px; margin-top: 50px; }
.storage-controls { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; margin-top: 15px; }
2026-01-30 20:27:50 +00:00
/* === TOOLTIP mit MOUSE OVER === */
2026-01-30 10:58:56 +00:00
.info-icon {
display: inline-flex;
justify-content: center;
align-items: center;
width: 18px;
height: 18px;
2026-01-30 20:27:50 +00:00
background-color: #008B00;
2026-01-30 10:58:56 +00:00
color: white;
border-radius: 50%;
font-size: 12px;
font-weight: bold;
font-family: sans-serif;
margin-left: 8px;
cursor: help;
position: relative; /* Wichtig für die Positionierung des Textes */
}
.info-icon .tooltip-text {
visibility: hidden;
width: 220px;
2026-01-30 20:27:50 +00:00
background-color: #333;
2026-01-30 10:58:56 +00:00
color: #fff;
text-align: center;
border-radius: 6px;
padding: 8px 10px;
/* Positionierung */
position: absolute;
z-index: 100;
bottom: 135%; /* Schwebt über dem Icon */
left: 50%;
margin-left: -110px; /* Zentriert die Box */
/* Animation */
opacity: 0;
transition: opacity 0.3s;
font-size: 12px;
font-weight: normal;
line-height: 1.4;
box-shadow: 0 4px 8px rgba(0,0,0,0.2);
}
/* Kleiner Pfeil nach unten */
.info-icon .tooltip-text::after {
content: "";
position: absolute;
top: 100%;
left: 50%;
margin-left: -5px;
border-width: 5px;
border-style: solid;
border-color: #333 transparent transparent transparent;
}
/* Einblenden beim Drüberfahren */
.info-icon:hover .tooltip-text {
visibility: visible;
opacity: 1;
}
/* === FIX FÜR EINZELNE CHECKBOXEN === */
.input-wrapper.checkbox-left {
flex-direction: row !important; /* Zwingt Elemente nebeneinander */
align-items: center; /* Vertikal mittig ausrichten */
justify-content: flex-start; /* Alles strikt linksbündig */
}
/* Damit die Checkbox nicht so breit gezogen wird wie ein Textfeld */
.input-wrapper.checkbox-left input[type="checkbox"] {
width: auto !important;
margin: 0 10px 0 0; /* Kleiner Abstand rechts zum Text */
order: -1; /* Trick: Zwingt die Checkbox IMMER vor den Text, egal wie es im HTML steht */
}
/* Label-Abstand korrigieren */
.input-wrapper.checkbox-left label {
margin-bottom: 0 !important;
cursor: pointer;
2026-01-30 20:27:50 +00:00
/* Falls du das Label fett gedruckt hast, wird es hiermit evtl. normal, Geschmackssache: */
2026-01-30 10:58:56 +00:00
/* font-weight: normal; */
}
#version-warning {
display: none;
background-color: #d9534f;
color: white;
padding: 15px;
text-align: center;
font-weight: bold;
border-bottom: 5px solid #a94442;
}
< / style >
< / head >
< body >
< div id = "version-warning" >
2026-01-30 20:27:50 +00:00
⚠️ VERALTETE VERSION! Bitte laden Sie die aktuelle Vorlage im Intranet/CMS [URL folgt] herunter.
2026-01-30 10:58:56 +00:00
< div id = "critical-msg" style = "display:none; color: yellow;" >
Diese Version ist zu alt und gesperrt.
< / div >
< / div >
< form id = "onboardingForm" >
< div class = "header-row" >
< div class = "header-left" > Benutzerverwaltung (BNV)< / div >
< div class = "header-center" id = "headerOrgaText" > ZenIT< / div >
< div class = "header-right" > < img src = "https://zenit-intern.lvnbb.de/sixcms/media.php/244/justiz_brandenburg_logo.jpg" alt = "Logo Justiz Brandenburg" width = "150" > < / div >
< / div >
< hr >
2026-01-30 20:27:50 +00:00
<!-- Allgemeine Ausfüllhinweise, Kasten oben -->
2026-01-30 10:58:56 +00:00
< div class = "process-info" >
< strong > Ablauf beim Senden:< / strong > < br >
1. Ein < b > PDF< / b > wird erstellt und heruntergeladen.< br >
2. Ihr E-Mail-Programm öffnet sich.< br >
3. Bitte fügen Sie das PDF < b > manuell< / b > als Anhang hinzu.
< / div >
< div class = "form-grouping" id = "gruppeGrund" >
< h3 > Grund< / h3 >
< div class = "radio-group" >
< label > < input type = "radio" name = "grund" value = "Neuanlage" > Neuanlage< / label >
< label > < input type = "radio" name = "grund" value = "Aktivierung" > Aktivierung< / label >
< label > < input type = "radio" name = "grund" value = "Änderung" > Änderung< / label >
< label > < input type = "radio" name = "grund" value = "Deaktivierung" > Deaktivierung< / label >
< label > < input type = "radio" name = "grund" value = "Löschung" > Löschung< / label >
< / div >
< / div >
2026-01-30 20:27:50 +00:00
<!-- erscheint nur, wenn Änderung ausgewählt wurde -->
2026-01-30 10:58:56 +00:00
< div class = "form-grouping hidden" id = "gruppeAenderungsart" >
< h3 > Art der Änderung< / h3 >
< div class = "radio-group" >
< label > < input type = "radio" name = "aenderungsart" value = "Name" > Name< / label >
< label > < input type = "radio" name = "aenderungsart" value = "Dienstort" > Dienstort / Raum / Telefon< / label >
< label > < input type = "radio" name = "aenderungsart" value = "Fachanwendung" > Anwendung / Fachanwendung / mobiles Arbeiten< / label >
< label data-areas = "DEBUG,JVA" > < input type = "radio" name = "aenderungsart" id = "aenderungsart_bg" value = "Berechtigungsgruppe" > Berechtigungsgruppe 1/2
< span class = "info-icon" > i
< span class = "tooltip-text" >
Berechtigungsgruppe 2 - Zugriff auf dienstlich notwendige Internetseiten< br >
< br >
Berechtigungsgruppe 1 - freies Internet für berechtigte Dienstposten
< / span >
< / span >
< / label >
< / div >
< / div >
< div class = "form-grouping hidden" id = "gruppeBisherigeDaten" >
< h3 > Bisherige Daten< / h3 >
< div class = "input-wrapper" id = "row_bisheriger_vorname" >
< label for = "bisheriger_vorname" > Bisheriger Vorname< / label >
< input type = "text" id = "bisheriger_vorname" name = "Bisheriger Vorname" >
< / div >
< div class = "input-wrapper" id = "row_bisheriger_nachname" >
< label for = "bisheriger_nachname" > Bisheriger Nachname< / label >
< input type = "text" id = "bisheriger_nachname" name = "Bisheriger Nachname" >
< / div >
< / div >
< div class = "form-grouping hidden" id = "gruppeNutzerdaten" >
< h3 > Nutzerdaten< / h3 >
< label class = "main-label" > Name des Mitarbeiters / der Mitarbeiterin< / label >
< div class = "name-row" >
< div class = "input-wrapper wrapper-titel" id = "row_titel" >
< label for = "titel" > Titel< / label >
< input type = "text" id = "titel" name = "titel" placeholder = "Dr." >
< / div >
< div class = "input-wrapper wrapper-name" id = "row_vorname" >
< label for = "vorname" > Vorname< / label >
< input type = "text" id = "vorname" name = "vorname" placeholder = "Max" >
< / div >
< div class = "input-wrapper wrapper-name" id = "row_nachname" >
< label for = "nachname" > Nachname< / label >
< input type = "text" id = "nachname" name = "nachname" placeholder = "Mustermann" >
< / div >
< / div >
< div class = "input-wrapper" id = "row_termin" >
< label class = "main-label" for = "termin" > Termin (14 Tage Vorlaufzeit)< / label >
< input type = "date" id = "termin" name = "termin" style = "max-width: 250px;" >
< / div >
< div id = "row_h_zugriff" >
< label class = "main-label" > Hardware / Zugriff / Bereitstellung< / label >
< div class = "checkbox-group" >
< label > < input type = "checkbox" name = "h_zugriff" value = "Drucker" id = "cbDrucker" > Netzwerkdrucker
< span class = "info-icon" > i
< span class = "tooltip-text" > zentrales drucken auf Etagendrucker ermöglichen< / span >
< / span >
< / label >
< label > < input type = "checkbox" name = "h_zugriff" value = "Postfächer" id = "cbPostfaecher" > Postfächer/Laufwerke
< span class = "info-icon" > i
< span class = "tooltip-text" > Zugriff auf Funktionspostfächer oder zentralen Laufwerken< / span >
< / span >
< / label >
< label > < input type = "checkbox" name = "h_zugriff" value = "Dongle" id = "cbDongle" data-areas = "DEBUG,ZENIT" > Dongle (Zutritt Brandenburg)
< span class = "info-icon" > i
< span class = "tooltip-text" > für Zutritt am Standort Brandenburg erforderlich< / span >
< / span >
< / label >
< label > < input type = "checkbox" name = "h_zugriff" value = "Nebenrollen" id = "cbVGnebenrollen" data-areas = "DEBUG,VG,ARBG" > Nebenrollen
< span class = "info-icon" > i
< span class = "tooltip-text" > ---< / span >
< / span >
< / label >
< label > < input type = "checkbox" name = "h_zugriff" value = "Kammern" id = "cbVGKammern" data-areas = "DEBUG,VG" > Kammern
< span class = "info-icon" > i
< span class = "tooltip-text" > ---< / span >
< / span >
< / label >
< label > < input type = "checkbox" name = "h_zugriff" value = "Dezernate" id = "cbVGDezernate" data-areas = "DEBUG,VG" > Dezernate
< span class = "info-icon" > i
< span class = "tooltip-text" > ---< / span >
< / span >
< / label >
< label > < input type = "checkbox" name = "h_zugriff" value = "Verteilerlisten" id = "cbVGVerteilerlisten" data-areas = "DEBUG,VG" > Verteilerlisten
< span class = "info-icon" > i
< span class = "tooltip-text" > ---< / span >
< / span >
< / label >
< label > < input type = "checkbox" name = "h_zugriff" value = "Ergänzungen" id = "cbErgaenzungen" > Ergänzungen
< span class = "info-icon" > i
< span class = "tooltip-text" > zusätzliche Angaben & Hinweise< / span >
< / span >
< / label >
< / div >
< / div >
2026-01-30 20:27:50 +00:00
<!-- Liste der Fachverfahren und Spezialanwendungen in den Geschäftsbereichen -->
<!-- Liste muss hier vollständig erfasst sein, damit eine Steuerung erfolgen kann -->
<!-- Grundsätzlich ist die Liste für alle sichtbar (Mandanten entsprechend ergänzen), erst die einzelenen Checkboxen werden dann gesteuert -->
2026-01-30 10:58:56 +00:00
< div id = "row_anwendungen" data-areas = "DEBUG,ZENIT,JVA,OLG,VG,ARBG,SDJ,FG,SD,GSTA" >
< label class = "main-label" > Fachverfahren / Fachanwendungen< / label >
< div class = "checkbox-group" >
< label > < input type = "checkbox" name = "anwendungen" value = "AUREG/VIS" id = "cbAUREG" data-areas = "DEBUG,OLG" > AUREG / VIS< / label >
< label > < input type = "checkbox" name = "anwendungen" value = "Basis-Web" id = "cbBasis-Web" data-areas = "DEBUG,JVA" > Basis-Web< / label >
< label > < input type = "checkbox" name = "anwendungen" value = "Ehefähigkeit" id = "cbEhefaehigkeit" data-areas = "DEBUG,OLG" > Ehefähigkeit< / label >
< label > < input type = "checkbox" name = "anwendungen" value = "ELA" id = "cbELA" data-areas = "DEBUG,OLG" > ELA< / label >
< label > < input type = "checkbox" name = "anwendungen" value = "EurekaFach" id = "cbEurekaFach" data-areas = "DEBUG,ARBG,VG" > EurekaFach< / label >
< label > < input type = "checkbox" name = "anwendungen" value = "FAER/KBA" id = "cbFEARKBA" data-areas = "DEBUG,OLG" > FEAR/KBA< / label >
< label > < input type = "checkbox" name = "anwendungen" value = "ForumSTAR" id = "cbForumSTAR" data-areas = "DEBUG,OLG" > ForumSTAR< / label >
< label > < input type = "checkbox" name = "anwendungen" value = "Gisbo Timer" id = "cbGisboTimer" data-areas = "DEBUG,JVA" > Gisbo Timer< / label >
< label > < input type = "checkbox" name = "anwendungen" value = "MEGA" id = "cbMEGA" data-areas = "DEBUG,OLG" > MEGA< / label >
< label > < input type = "checkbox" name = "anwendungen" value = "NEXUS" id = "cbNEXUS" data-areas = "DEBUG,JVA" > Nexus.Kammer< / label >
< label > < input type = "checkbox" name = "anwendungen" value = "QM ConSense" id = "cbQMConSense" data-areas = "DEBUG,JVA" > QM ConSense< / label >
< label > < input type = "checkbox" name = "anwendungen" value = "SFirm" id = "cbSFirm" data-areas = "DEBUG,JVA" > SFirm< / label >
< label > < input type = "checkbox" name = "anwendungen" value = "SPATZ" id = "cbSPATZ" data-areas = "DEBUG,ZENIT,JVA,OLG,SG,ARBG" > SPATZ< / label >
< label > < input type = "checkbox" name = "anwendungen" value = "SGVS-Pers" id = "cbSGVSPers" data-areas = "DEBUG,JVA" > SGVS Personalregistratur< / label >
< label > < input type = "checkbox" name = "anwendungen" value = "SGVS-Sach" id = "cbSGVSSach" data-areas = "DEBUG,JVA" > SGVS Sachregistratur< / label >
< label > < input type = "checkbox" name = "anwendungen" value = "SolumSTAR" id = "cbSolumSTAR" data-areas = "DEBUG,OLG" > SolumSTAR< / label >
< label > < input type = "checkbox" name = "anwendungen" value = "SoPart" id = "cbSoPart" data-areas = "DEBUG,OLG,SDJ" > SoPart< / label >
< label > < input type = "checkbox" name = "anwendungen" value = "VW-Akten" id = "cbVW-Akten" data-areas = "DEBUG,ZENIT" > VW-Akten< / label >
< label > < input type = "checkbox" name = "anwendungen" value = "WebKASH" id = "cbWebKASH" data-areas = "DEBUG,OLG,ARBG" > WebKASH< / label >
< label > < input type = "checkbox" name = "anwendungen" value = "Keine" id = "cbFachAnwKeine" data-areas = "DEBUG,FG,GSTA,SG" checked disabled > keine Produkte vorhanden< / label >
< / div >
< label class = "main-label" > Spracherkennung< / label >
< div class = "checkbox-group" >
< label > < input type = "checkbox" name = "anwendungen" value = "Digta" id = "cbDigta" data-areas = "DEBUG,OLG,SDJ" > Digta< / label >
< label > < input type = "checkbox" name = "anwendungen" value = "Dragon" id = "cbDragon" data-areas = "DEBUG,JVA,OLG,SDJ" > Dragon< / label >
< label > < input type = "checkbox" name = "anwendungen" value = "Keine" id = "cbSpracheKeine" data-areas = "DEBUG,VG,ARBG,FG,GSTA,SG,ZENIT" checked disabled > Keine Produkte vorhanden< / label >
< / div >
< label class = "main-label" > Onlinezugänge< / label >
< div class = "checkbox-group" >
< label > < input type = "checkbox" name = "anwendungen" value = "Beck Online" id = "cbBeck" data-areas = "DEBUG,ZENIT,JVA,OLG,VG,ARBG" > Beck Online< / label >
< label > < input type = "checkbox" name = "anwendungen" value = "Juris" id = "cbJuris" data-areas = "DEBUG,ZENIT,JVA,OLG,VG,ARBG" > Juris< / label >
< label > < input type = "checkbox" name = "anwendungen" value = "LMR" id = "cbLMR" data-areas = "DEBUG,JVA,OLG,SDJ" > LMR< / label >
< label > < input type = "checkbox" name = "anwendungen" value = "MAIS" id = "cbMAIS" data-areas = "DEBUG,OLG" > MAIS< / label >
< label > < input type = "checkbox" name = "anwendungen" value = "SAFE" id = "cbSAFE" data-areas = "DEBUG,OLG" > SAFE< / label >
< label > < input type = "checkbox" name = "anwendungen" value = "Keine" id = "cbOnlineZugKeine" data-areas = "DEBUG,FG,GSTA,SG" checked disabled > Keine Produkte vorhanden< / label >
< / div >
< label class = "main-label" > mobiles Arbeiten< / label >
< div class = "checkbox-group" >
< label > < input type = "checkbox" name = "anwendungen" value = "mobiles Arbeiten std." id = "cbMobArb" data-areas = "DEBUG,ZENIT,JVA,OLG,VG,ARBG" > mobiles Arbeiten standard< / label >
< label > < input type = "checkbox" name = "anwendungen" value = "mobiles Arbeiten MEGA-Inso" id = "cbMobArbMEGAInso" data-areas = "DEBUG,OLG" > mobiles Arbeiten MEGA-Inso< / label >
< label > < input type = "checkbox" name = "anwendungen" value = "mobiles Arbeiten SAP" id = "cbMobArbSAP" data-areas = "DEBUG,OLG" > mobiles Arbeiten SAP< / label >
< label > < input type = "checkbox" name = "anwendungen" value = "Keine" id = "cbMobArbKeine" data-areas = "DEBUG,SDJ,FG,GSTA,SG" checked disabled > keine Produkte vorhanden< / label >
< / div >
< label class = "main-label" > zusätzliche Anwendungen< / label >
< div class = "checkbox-group" >
< label > < input type = "checkbox" name = "anwendungen" value = "factro" id = "cbFactro" data-areas = "DEBUG,ZENIT" > factro< / label >
< label > < input type = "checkbox" name = "anwendungen" value = "JVP" id = "cbJVP" data-areas = "DEBUG,ZENIT" > JVP< / label >
< label > < input type = "checkbox" name = "anwendungen" value = "MS Teams" id = "cbTeams" data-areas = "DEBUG,ZENIT" > MS Teams< / label >
< label > < input type = "checkbox" name = "anwendungen" value = "Keine" id = "cbZusatzKeine" data-areas = "DEBUG,JVA,OLG,VG,ARBG,SDJ,FG,GSTA,SG" checked disabled > keine Produkte vorhanden< / label >
< / div >
< / div >
< / div >
2026-01-30 20:27:50 +00:00
<!-- Liste der Dienstbezeichnungen ist ziemlich vollständig & kann je nach Mandant einzelne Einträge gesteuert werden -->
2026-01-30 10:58:56 +00:00
< div class = "form-grouping hidden" id = "gruppeAnwenderdetails" >
< h3 > Anwenderdetails< / h3 >
< div class = "field-grid-3" >
< div class = "input-wrapper" id = "row_mitarbeiter_detail" data-areas = "DEBUG,OLG,VG,ARBG" >
< label for = "ma_dienstbezeichnung" > Dienstbezeichnung< / label >
< select id = "ma_dienstbezeichnung" name = "ma_dienstbezeichnung" data-areas = "DEBUG,OLG,VG,ARBG" >
< option value = "" > Bitte wählen...< / option >
< option value = "Vors. Richter/in am OLG" data-areas = "DEBUG,OLG" > Vors. Richter/in am OLG< / option >
< option value = "Vors. Richter/in am LG" data-areas = "DEBUG,OLG" > Vors. Richter/in am LG< / option >
< option value = "Vors. Richter/in am AG" data-areas = "DEBUG,OLG" > Vors. Richter/in am AG< / option >
< option value = "Richter/in am OLG" data-areas = "DEBUG,OLG" > Richter/in am OLG< / option >
< option value = "Richter/in am LG" data-areas = "DEBUG,OLG" > Richter/in am LG< / option >
< option value = "Richter/in am AG" data-areas = "DEBUG,OLG" > Richter/in am AG< / option >
< option value = "Richter/-in" data-areas = "DEBUG,OLG,VG,ARBG" > Richter/-in< / option >
< option value = "Richter/in auf Probe" data-areas = "DEBUG,OLG,VG,ARBG" > Richter/in auf Probe< / option >
< option value = "Vorsitzende/r Richter/in" data-areas = "DEBUG,VG" > Vorsitzende/r Richter/in< / option >
< option value = "Leitender/-e Regierungsdirektor/-in" data-areas = "DEBUG,OLG,VG,ARBG" > Leitender/-e Regierungsdirektor/-in< / option >
< option value = "Regierungsdirektor/-in" data-areas = "DEBUG,OLG,VG,ARBG" > Regierungsdirektor/-in< / option >
< option value = "Regierungsoberrat/-rätin" data-areas = "DEBUG,VG" > Regierungsoberrat/-rätin< / option >
< option value = "Oberregierungsrat/-rätin" data-areas = "DEBUG,OLG,ARBG" > Oberregierungsrat/-rätin< / option >
< option value = "Regierungsrat/-rätin" data-areas = "DEBUG,OLG,VG,ARBG" > Regierungsrat/-rätin< / option >
< option value = "Justizoberamtsrat/-rätin" data-areas = "DEBUG,OLG,VG,ARBG" > Justizoberamtsrat/-rätin< / option >
< option value = "Justizamtsrat/-rätin" data-areas = "DEBUG,OLG,VG,ARBG" > Justizamtsrat/-rätin< / option >
< option value = "Justizamtmann/-frau" data-areas = "DEBUG,OLG,VG,ARBG" > Justizamtmann/-frau< / option >
< option value = "Justizoberinspektor/-in" data-areas = "DEBUG,OLG,VG,ARBG" > Justizoberinspektor/-in< / option >
< option value = "Justizinspektor/-in" data-areas = "DEBUG,OLG,VG,ARBG" > Justizinspektor/-in< / option >
< option value = "Justizamtsinspektor/-in" data-areas = "DEBUG,OLG,VG,ARBG" > Justizamtsinspektor/-in< / option >
< option value = "Justizhauptsektretär/-in" data-areas = "DEBUG,OLG,VG,ARBG" > Justizhauptsektretär/-in< / option >
< option value = "Justizobersektretär/-in" data-areas = "DEBUG,OLG,VG,ARBG" > Justizobersektretär/-in< / option >
< option value = "Justizsektretär/-in" data-areas = "DEBUG,OLG,VG,ARBG" > Justizsektretär/-in< / option >
< option value = "1.Justizhauptwachtmeister/-in" data-areas = "DEBUG,OLG,VG,ARBG" > 1.Justizhauptwachtmeister/-in< / option >
< option value = "Justizhauptwachtmeister/-in" data-areas = "DEBUG,OLG,VG,ARBG" > Justizhauptwachtmeister/-in< / option >
< option value = "Justizwachtmeister/-in" data-areas = "DEBUG,OLG,VG,ARBG" > Justizwachtmeister/-in< / option >
< option value = "Sozialoberamtsrat/-rätin" data-areas = "DEBUG,OLG,VG,ARBG" > Sozialoberamtsrat/-rätin< / option >
< option value = "Sozialamtsrat/-rätin" data-areas = "DEBUG,OLG,VG,ARBG" > Sozialamtsrat/-rätin< / option >
< option value = "Sozialamtmann/-frau" data-areas = "DEBUG,OLG,VG,ARBG" > Sozialamtmann/-frau< / option >
< option value = "Sozialoberinspektor/-in" data-areas = "DEBUG,OLG,VG,ARBG" > Sozialoberinspektor/-in< / option >
< option value = "Sozialinspektor/-in" data-areas = "DEBUG,OLG,VG,ARBG" > Sozialinspektor/-in< / option >
< option value = "Justizbeschäftigter/-e" data-areas = "DEBUG,OLG,VG,ARBG" > Justizbeschäftigter/-e< / option >
< option value = "Rechtspflerger/in" data-areas = "DEBUG,OLG,VG,ARBG" > Rechtspflerger/in< / option >
< option value = "Obergerichtsvollzieher/-in" data-areas = "DEBUG,OLG" > Obergerichtsvollzieher/-in< / option >
< option value = "Gerichtsvollzieher/-in" data-areas = "DEBUG,OLG" > Gerichtsvollzieher/-in< / option >
< option value = "Verwaltungsgerichtbeschäftigte/r" data-areas = "DEBUG,VG" > Verwaltungsgerichtbeschäftigte/r< / option >
< / select >
< / div >
2026-01-30 20:27:50 +00:00
<!-- Liste der Funktion entsprechend ergänzen und über Mandant steuern -->
2026-01-30 10:58:56 +00:00
< div class = "input-wrapper" id = "row_mitarbeiter_funktion" data-areas = "DEBUG,OLG,VG,ARBG" >
< label for = "ma_funktion" > Funktion< / label >
< select id = "ma_funktion" name = "ma_funktion" >
< option value = "" > Bitte wählen...< / option >
< option value = "Richter" data-areas = "DEBUG,OLG,VG,ARBG" > Richter< / option >
< option value = "Rechtspfleger" data-areas = "DEBUG,OLG,ARBG" > Rechtspfleger< / option >
< option value = "Schreibkraft" data-areas = "DEBUG,VG" > Schreibkraft< / option >
< option value = "Serviceeinheit" data-areas = "DEBUG,ARBG" > Serviceeinheit< / option >
< option value = "Anwärter / Azubi" data-areas = "DEBUG,OLG" > Anwärter / Azubi< / option >
< option value = "Geschäftsstelle" data-areas = "DEBUG,OLG" > Geschäftsstelle< / option >
< option value = "Wache" data-areas = "DEBUG,OLG" > Wache< / option >
< option value = "Grundbuch" data-areas = "DEBUG,OLG" > Grundbuch< / option >
< option value = "Praktikant" data-areas = "DEBUG,OLG" > Praktikant< / option >
< option value = "Verwaltung" data-areas = "DEBUG,VG" > Verwaltung< / option >
< option value = "Wachtmeister" data-areas = "DEBUG,VG" > Wachtmeister< / option >
< / select >
< / div >
2026-01-30 20:27:50 +00:00
<!-- Dienstort entweder Anschrift oder Behördenbezeichnung -->
<!-- ZenIT vollständig -->
2026-01-30 10:58:56 +00:00
< div class = "input-wrapper" id = "row_dienstort_ZENIT" data-areas = "DEBUG,ZENIT" >
< label for = "dienstort_ZENIT" > Dienstort< / label >
< select id = "dienstort_ZENIT" name = "dienstort_ZENIT" >
< option value = "" > Bitte wählen...< / option >
< option value = "Feldmannstr. 1" > ZenIT - Feldmannstr. 1< / option >
< option value = "Magdeburger Str. 51" > ZenIT - Magdeburger Str. 51< / option >
< option value = "Steinstr. 104-106" > ZenIT - Steinstr. 104-106< / option >
< option value = "Thiemstr. 130" > ZenIT - Thiemstr. 130< / option >
< option value = "Gartenstr. 3" > ZenIT - Gartenstr. 3< / option >
< / select >
< / div >
2026-01-30 20:27:50 +00:00
<!-- OLG vollständig -->
2026-01-30 10:58:56 +00:00
< div class = "input-wrapper" id = "row_dienstort_OLG" data-areas = "OLG" >
< label for = "dienstort_OLG" > Dienstort< / label >
< select id = "dienstort_OLG" name = "dienstort_OLG" >
< option value = "" > Bitte wählen...< / option >
< option value = "AG Bad Freienwalde" > AG Bad Freienwalde< / option >
< option value = "AG Bad Liebenwerda - Burgplatz 4" > AG Bad Liebenwerda - Burgplatz 4< / option >
< option value = "AG Bad Liebenwerda - Burgplatz 5" > AG Bad Liebenwerda - Burgplatz 5< / option >
< option value = "AG Bernau" > AG Bernau< / option >
< option value = "AG Brandenburg an der Havel" > AG Brandenburg an der Havel< / option >
< option value = "AG Cottbus - Gerichtsplatz 2" > AG Cottbus - Gerichtsplatz 2< / option >
< option value = "AG Cottbus - Nebenstelle Guben" > AG Cottbus - Nebenstelle Guben< / option >
< option value = "AG Cottbus - Thiemstr. 130" > AG Cottbus - Thiemstr. 130< / option >
< option value = "AG Eberswalde - Tramper Chaussee 7, Haus 12" > AG Eberswalde - Tramper Chaussee 7, Haus 12< / option >
< option value = "AG Frankfurt (Oder) ZSt EH - Diehloer Str. 62" > AG Frankfurt (Oder) ZSt EH - Diehloer Str. 62< / option >
< option value = "AG Frankfurt (Oder) ZSt EH - K.-Marx-Ster. 35c" > AG Frankfurt (Oder) ZSt EH - K.-Marx-Ster. 35c< / option >
< option value = "AG Frankfurt (Oder)" > AG Frankfurt (Oder)< / option >
< option value = "AG Fürstenwalde" > AG Fürstenwalde< / option >
< option value = "AG Königs Wusterhausen - NSt Wildau" > AG Königs Wusterhausen - NSt Wildau< / option >
< option value = "AG Königs Wusterhausen - Schlossplatz 4" > AG Königs Wusterhausen - Schlossplatz 4< / option >
< option value = "AG Lübben" > AG Lübben< / option >
< option value = "AG Luckenwalde - Lindenallee 16" > AG Luckenwalde - Lindenallee 16< / option >
< option value = "AG Luckenwalde - Markt 25" > AG Luckenwalde - Markt 25< / option >
< option value = "AG Nauen" > AG Nauen< / option >
< option value = "AG Neuruppin" > AG Neuruppin< / option >
< option value = "AG Oranienburg" > AG Oranienburg< / option >
< option value = "AG Perleberg" > AG Perleberg< / option >
< option value = "AG Potsdam - Hegelallee 8" > AG Potsdam - Hegelallee 8< / option >
< option value = "AG Potsdam - Jägerallee 10-12" > AG Potsdam - Jägerallee 10-12< / option >
< option value = "AG Potsdam - Jägerallee 26" > AG Potsdam - Jägerallee 26< / option >
< option value = "AG Prenzlau" > AG Prenzlau< / option >
< option value = "AG Rathenow" > AG Rathenow< / option >
< option value = "AG Schwedt" > AG Schwedt< / option >
< option value = "AG Senftenberg - Roßkaupe 10" > AG Senftenberg - Roßkaupe 10< / option >
< option value = "AG Senftenberg - Steindamm 8" > AG Senftenberg - Steindamm 8< / option >
< option value = "AG Strausberg" > AG Strausberg< / option >
< option value = "AG Zehdenick" > AG Zehdenick< / option >
< option value = "AG Zossen - Gerichtstr. 10" > AG Zossen - Gerichtstr. 10< / option >
< option value = "AG Zossen - Hauptallee 116" > AG Zossen - Hauptallee 116< / option >
< option value = "Justizakademie des Landes Brandenburg" > Justizakademie des Landes Brandenburg< / option >
< option value = "LG Cottbus" > LG Cottbus< / option >
< option value = "LG Frankfurt (Oder)" > LG Frankfurt (Oder)< / option >
< option value = "LG Neuruppin" > LG Neuruppin< / option >
< option value = "LG Potsdam" > LG Potsdam< / option >
< option value = "OLG Brandenburg" > OLG Brandenburg< / option >
< / select >
< / div >
2026-01-30 20:27:50 +00:00
<!-- JVA vollständig -->
2026-01-30 10:58:56 +00:00
< div class = "input-wrapper" id = "row_dienstort_JVA" data-areas = "JVA" >
< label for = "dienstort_JVA" > Dienstort< / label >
< select id = "dienstort_JVA" name = "dienstort_JVA" >
< option value = "" > Bitte wählen...< / option >
< option value = "JVA Brandenburg an der Havel" > JVA Brandenburg an der Havel< / option >
< option value = "JVA Cottbus-Dissenchen" > JVA Cottbus-Dissenchen< / option >
< option value = "JVA Luckau-Duben" > JVA Luckau-Duben< / option >
< option value = "JVA Luckau-Duben AS Spremberg" > JVA Luckau-Duben AS Spremberg< / option >
< option value = "JVA Nord-Brandenburg TA Wulkow" > JVA Nord-Brandenburg TA Wulkow< / option >
< option value = "JVA Nord-Brandenburg TA Wriezen" > JVA Nord-Brandenburg TA Wriezen< / option >
< / select >
< / div >
2026-01-30 20:27:50 +00:00
<!-- SDJ vollständig -->
2026-01-30 10:58:56 +00:00
< div class = "input-wrapper" id = "row_dienstort_SDJ" data-areas = "SDJ" >
< label for = "dienstort_SDJ" > Dienstort< / label >
< select id = "dienstort_SDJ" name = "dienstort_SDJ" >
< option value = "" > Bitte wählen...< / option >
< option value = "SDJ Bad Liebenwerda" > SDJ Bad Liebenwerda< / option >
< option value = "SDJ Bernau" > SDJ Bernau< / option >
< option value = "SDJ Brandenburg" > SDJ Brandenburg< / option >
< option value = "SDJ Cottbus" > SDJ Cottbus< / option >
< option value = "SDJ Eberswalde" > SDJ Eberswalde< / option >
< option value = "SDJ Frankfurt (Oder)" > SDJ Frankfurt (Oder)< / option >
< option value = "SDJ Fürstenwalde" > SDJ Fürstenwalde< / option >
< option value = "SDJ Königs Wusterhausen" > SDJ Königs Wusterhausen< / option >
< option value = "SDJ Luckenwalde" > SDJ Luckenwalde< / option >
< option value = "SDJ Nauen" > SDJ Nauen< / option >
< option value = "SDJ Neuruppin" > SDJ Neuruppin< / option >
< option value = "SDJ Oranienburg" > SDJ Oranienburg< / option >
< option value = "SDJ Perleberg" > SDJ Perleberg< / option >
< option value = "SDJ Potsdam" > SDJ Potsdam< / option >
< option value = "SDJ Prenzlau" > SDJ Prenzlau< / option >
< option value = "SDJ Pritzwalk" > SDJ Pritzwalk< / option >
< option value = "SDJ Schwedt" > SDJ Schwedt< / option >
< option value = "SDJ Senftenberg" > SDJ Senftenberg< / option >
< option value = "SDJ Strausberg" > SDJ Strausberg< / option >
< / select >
< / div >
2026-01-30 20:27:50 +00:00
<!-- VG vollständig -->
2026-01-30 10:58:56 +00:00
< div class = "input-wrapper" id = "row_dienstort_VG" data-areas = "VG" >
< label for = "dienstort_VG" > Dienstort< / label >
< select id = "dienstort_VG" name = "dienstort_VG" >
< option value = "" > Bitte wählen...< / option >
< option value = "VG Cottbus" > VG Cottbus< / option >
< option value = "VG Frankfurt" > VG Frankfurt (Oder)< / option >
< option value = "VG Potsdam" > VG Potsdam< / option >
< / select >
< / div >
2026-01-30 20:27:50 +00:00
<!-- GSTA ACHTUNG unvollständig -->
2026-01-30 10:58:56 +00:00
< div class = "input-wrapper" id = "row_dienstort_GSTA" data-areas = "GSTA" >
< label for = "dienstort_GSTA" > Dienstort< / label >
< select id = "dienstort_GSTA" name = "dienstort_GSTA" >
< option value = "" > Bitte wählen...< / option >
< option value = "Feldmannstr. 1" > GSTA - Feldmannstr. 1< / option >
< option value = "Magdeburger Str. 51" > ZenIT - Magdeburger Str. 51< / option >
< option value = "Steinstr. 104-106" > ZenIT - Steinstr. 104-106< / option >
< option value = "Thiemstr. 130" > ZenIT - Thiemstr. 130< / option >
< option value = "Gartenstr. 3" > ZenIT - Gartenstr. 3< / option >
< / select >
< / div >
2026-01-30 20:27:50 +00:00
<!-- FG ACHTUNG unvollständig -->
2026-01-30 10:58:56 +00:00
< div class = "input-wrapper" id = "row_dienstort_FG" data-areas = "FG" >
< label for = "dienstort_FG" > Dienstort< / label >
< select id = "dienstort_FG" name = "dienstort_FG" >
< option value = "" > Bitte wählen...< / option >
< option value = "Feldmannstr. 1" > FG - Feldmannstr. 1< / option >
< option value = "Magdeburger Str. 51" > ZenIT - Magdeburger Str. 51< / option >
< option value = "Steinstr. 104-106" > ZenIT - Steinstr. 104-106< / option >
< option value = "Thiemstr. 130" > ZenIT - Thiemstr. 130< / option >
< option value = "Gartenstr. 3" > ZenIT - Gartenstr. 3< / option >
< / select >
< / div >
2026-01-30 20:27:50 +00:00
<!-- SG ACHTUNG unvollständig -->
2026-01-30 10:58:56 +00:00
< div class = "input-wrapper" id = "row_dienstort_SG" data-areas = "SG" >
< label for = "dienstort_SG" > Dienstort< / label >
< select id = "dienstort_SG" name = "dienstort_SG" >
< option value = "" > Bitte wählen...< / option >
< option value = "Feldmannstr. 1" > SG - Feldmannstr. 1< / option >
< option value = "Magdeburger Str. 51" > ZenIT - Magdeburger Str. 51< / option >
< option value = "Steinstr. 104-106" > ZenIT - Steinstr. 104-106< / option >
< option value = "Thiemstr. 130" > ZenIT - Thiemstr. 130< / option >
< option value = "Gartenstr. 3" > ZenIT - Gartenstr. 3< / option >
< / select >
< / div >
2026-01-30 20:27:50 +00:00
<!-- ARBG vollständig -->
2026-01-30 10:58:56 +00:00
< div class = "input-wrapper" id = "row_dienstort_ARBG" data-areas = "ARBG" >
< label for = "dienstort_ARBG" > Dienstort< / label >
< select id = "dienstort_ARBG" name = "dienstort_ARBG" >
< option value = "" > Bitte wählen...< / option >
< option value = "ArbG Brandenburg" > Arbeitsgericht Brandenburg< / option >
< option value = "ArbG Cottbus" > Arbeitsgericht Cottbus< / option >
< option value = "ArbG Frankfurt (Oder)" > Arbeitsgericht Frankfurt (Oder)< / option >
< option value = "ArbG Neuruppin" > Arbeitsgericht Neuruppin< / option >
< option value = "ArbG Potsdam" > Arbeitsgericht Potsdam< / option >
< / select >
< / div >
< div class = "input-wrapper" id = "row_sachgebiet" data-areas = "DEBUG,ZENIT" >
< label for = "sachgebiet" > Sachgebiet< / label >
< input type = "text" id = "sachgebiet" name = "sachgebiet" >
< / div >
< div class = "input-wrapper" id = "row_spez_funktion" data-areas = "DEBUG,ZENIT" >
< label for = "spez_funktion" > Spezielle Funktion< / label >
< select id = "spez_funktion" name = "spez_funktion" >
< option value = "" > Keine< / option >
< option value = "Praktikant" > Praktikant< / option >
< option value = "ext. Mitarbeiter" > ext. Mitarbeiter< / option >
< / select >
< / div >
< div class = "input-wrapper" id = "row_raum_nr" >
< label for = "raum_nr" > Raum Nr.< / label >
< input type = "text" id = "raum_nr" name = "raum_nr" >
< / div >
< div class = "input-wrapper" id = "row_telefon_nr" >
< label for = "telefon_nr" > Telefon Nr.< / label >
< input type = "text" id = "telefon_nr" name = "telefon_nr" >
< / div >
< div class = "input-wrapper" id = "row_jvp_id" data-areas = "DEBUG,ZENIT,OLG" >
< label for = "jvp_id" > JVP Mitarbeiter ID< / label >
< input type = "text" id = "jvp_id" name = "jvp_id" >
< / div >
< div class = "input-wrapper" id = "row_dst_nr" >
< label for = "dst_nr" > Dst. Nr.< / label >
< input type = "text" id = "dst_nr" name = "dst_nr" >
< / div >
< div class = "input-wrapper" id = "row_befristung_art" >
< label for = "befristung_art" > Abord. / Befr. / Dienstl.-Auftr.< / label >
< select id = "befristung_art" name = "befristung_art" >
< option value = "" > Keine< / option >
< option value = "Abordnung" > Abordnung< / option >
< option value = "Befristung" > Befristung< / option >
< option value = "Dienstleistungsauftrag" > Dienstleistungsauftrag< / option >
< / select >
< / div >
< div class = "input-wrapper hidden" id = "row_befristet_bis" >
< label for = "befristet_bis" > abgeordnet / befristet bis< / label >
< input type = "date" id = "befristet_bis" name = "befristet_bis" >
< / div >
< div class = "input-wrapper hidden" id = "row_befristet_anteil" >
< label for = "befristet_anteil" > Anteil< / label >
< input type = "text" id = "befristet_anteil" name = "befristet_anteil" >
< / div >
< div class = "input-wrapper hidden" id = "row_bg_1" data-areas = "DEBUG,JVA" >
< label for = "berechtigungsgruppe" > Berechtigungsgruppe
< span class = "info-icon" > i
< span class = "tooltip-text" >
Berechtigungsgruppe 2 - Zugriff auf dienstlich notwendige Internetseiten< br >
< br >
Berechtigungsgruppe 1 - freies Internet für berechtigte Dienstposten
< / span >
< / span >
< / label >
< select id = "berechtigungsgruppe" name = "Berechtigungsgruppe" >
< option value = "BrG2" > Berechtigungsgruppe 2 (BrG2)< / option >
< option value = "BrG1" > Berechtigungsgruppe 1 (BrG1)< / option >
< / select >
< label for = "JVA_Berechtigung_Details" > Details (z.B. Dienstposten) für Berechtigungsgruppe 1< / label >
< input type = "text" id = "JVA_Berechtigung_Details" name = "JVA_Berechtigung_Details" >
< / div >
< div class = "input-wrapper hidden" id = "row_mac_adresse" data-areas = "DEBUG,ZENIT" >
< label for = "tel_mac_adresse" > Telefon MAC Adresse< / label >
< input type = "text" id = "tel_mac_adresse" name = "tel_mac_adresse" >
< / div >
< div class = "input-wrapper hidden" id = "row_bisheriger_raum" data-areas = "DEBUG,ZENIT" >
< label for = "tel_bisheriger_raum" > Telefon bisheriger Raum< / label >
< input type = "text" id = "tel_bisheriger_raum" name = "tel_bisheriger_raum" >
< / div >
< div class = "input-wrapper hidden" id = "row_bisheriger_nutzer" data-areas = "DEBUG,ZENIT" >
< label for = "tel_bisheriger_nutzer" > Telefon bisheriger Nutzer< / label >
< input type = "text" id = "tel_bisheriger_nutzer" name = "tel_bisheriger_nutzer" >
< / div >
< div class = "input-wrapper" id = "row_hardware_check" style = "grid-column: span 3;" >
< label for = "hardware_vorhanden" > Hardware vorhanden? (Notebook/PC;Display;Drucker;etc.)< / label >
< div class = "radio-group" >
< label > < input type = "radio" id = "hardware_vorhanden" name = "hardware_vorhanden" value = "Ja" > Ja< / label >
< label > < input type = "radio" name = "hardware_vorhanden" value = "Nein" > Nein< / label >
< / div >
< / div >
< div class = "input-wrapper hidden" id = "row_pc_name" style = "grid-column: span 3;" >
< label for = "pc_name" > PC Name< / label >
< input type = "text" id = "pc_name" name = "pc_name" >
< / div >
< / div >
< div class = "sub-group hidden" id = "gruppeNeueHardware" >
< label class = "main-label" > Nur neu zu liefernde Hardware< / label >
< div class = "field-grid-3" style = "grid-template-columns: 1fr 1fr 1fr 1fr;" >
< div class = "input-wrapper" >
< label for = "rechnertyp" > Rechnertyp< / label >
< div class = "radio-group" style = "gap:10px;" >
< label > < input type = "radio" name = "rechnertyp" id = "rechnertyp" value = "PC" > PC< / label >
< label > < input type = "radio" name = "rechnertyp" value = "Notebook" > Notebook< / label >
< / div >
< / div >
< div class = "input-wrapper" >
< label for = "mon_normal" > Anzahl Display - Normal< / label >
< select id = "mon_normal" name = "mon_normal" >
< option value = "0" > 0< / option >
< option value = "1" > 1< / option >
< option value = "2" > 2< / option >
< option value = "3" > 3< / option >
< / select >
< / div >
< div class = "input-wrapper" data-areas = "DEBUG,ZENIT,OLG,VG,ARBG,SG,FG,GSTA" >
< label for = "mon_touch" > Anzahl Display - Touch< / label >
< select id = "mon_touch" name = "mon_touch" >
< option value = "0" > 0< / option >
< option value = "1" > 1< / option >
< option value = "2" > 2< / option >
< / select >
< / div >
< div class = "input-wrapper" >
< label for = "druckertyp" > Arbeitsplatz Drucker< / label >
< div class = "radio-group" style = "gap:10px;" >
< label > < input type = "radio" name = "druckertyp" id = "druckertyp" value = "Nein" > Nein< / label >
< label > < input type = "radio" name = "druckertyp" value = "Klein" > Klein< / label >
< label > < input type = "radio" name = "druckertyp" value = "Groß" > Groß< / label >
< / div >
< / div >
< / div >
< / div >
< / div >
< div class = "form-grouping hidden" id = "gruppeDrucker" >
< h3 > Netzwerkdrucker< / h3 >
< div class = "field-grid-2" >
< div class = "input-wrapper" >
< label for = "d_name1" > Druckername 1< / label >
< input type = "text" id = "d_name1" name = "druckername1" >
< / div >
< div class = "input-wrapper" >
< label for = "d_raum1" > Raum 1< / label >
< input type = "text" id = "d_raum1" name = "druckerraum1" >
< / div >
< div class = "input-wrapper" >
< label for = "d_name2" > Druckername 2< / label >
< input type = "text" id = "d_name2" name = "druckername2" >
< / div >
< div class = "input-wrapper" >
< label for = "d_raum2" > Raum 2< / label >
< input type = "text" id = "d_raum2" name = "druckerraum2" >
< / div >
< div class = "input-wrapper" >
< label for = "d_name1" > Druckername 3< / label >
< input type = "text" id = "d_name1" name = "druckername1" >
< / div >
< div class = "input-wrapper" >
< label for = "d_raum1" > Raum 3< / label >
< input type = "text" id = "d_raum1" name = "druckerraum1" >
< / div >
< div class = "input-wrapper" >
< label for = "d_name1" > Druckername 4< / label >
< input type = "text" id = "d_name1" name = "druckername1" >
< / div >
< div class = "input-wrapper" >
< label for = "d_raum1" > Raum 4< / label >
< input type = "text" id = "d_raum1" name = "druckerraum1" >
< / div >
< div class = "input-wrapper" >
< label for = "d_name1" > Druckername 5< / label >
< input type = "text" id = "d_name1" name = "druckername1" >
< / div >
< div class = "input-wrapper" >
< label for = "d_raum1" > Raum 5< / label >
< input type = "text" id = "d_raum1" name = "druckerraum1" >
< / div >
< / div >
< / div >
< div class = "form-grouping hidden" id = "gruppeBerechtigungsgruppe" data-areas = "DEBUG,JVA" >
< h3 > Berechtigungsgruppe< / h3 >
< div class = "radio-group" >
< label > < input type = "radio" name = "Berechtigungsgruppe" value = "BG1" id = "bg1" > BG1 (Berechtigungsgruppe 1)
< span class = "info-icon" > i
< span class = "tooltip-text" > Berechtigungsgruppe 1 - Internet ohne Beschränkungen (zulässig für bestimmte Dienstposten< / span >
< / span >
< / label >
< label > < input type = "radio" name = "Berechtigungsgruppe" value = "BG2" > BG2 (Berechtigungsgruppe 2)
< span class = "info-icon" > i
< span class = "tooltip-text" > Berechtigungsgruppe 2 - nur dientlich notwendige Internetseiten (Standard)< / span >
< / span >
< / label >
< / div >
< / div >
< div class = "form-grouping hidden" id = "gruppeDongle" data-areas = "DEBUG,ZENIT" >
< h3 > Dongle für den Zutritt am Standort Brandenburg< / h3 >
< div class = "input-wrapper" >
< label for = "dongle_zugang" > Welche Zugänge, Räume etc. werden benötigt?< / label >
< textarea id = "dongle_zugang" name = "dongle_zugang" rows = "3" > < / textarea >
< / div >
< / div >
< div class = "form-grouping hidden" id = "gruppePostfaecher" >
< h3 > Funktionspostfächer< / h3 >
< div class = "field-grid-2" >
< div class = "input-wrapper" >
< label for = "pf_name1" > Funktionspostfach 1< / label >
< input type = "text" id = "pf_name1" name = "postfach1" >
< / div >
< div class = "input-wrapper" >
< label for = "pf_recht1" > Recht 1< / label >
< select id = "pf_recht1" name = "pf_recht1" >
< option value = "" > Wählen< / option >
< option value = "voll" > voll< / option >
< option value = "lesen" > lesen< / option >
< option value = "löschen" > löschen< / option >
< / select >
< / div >
< div class = "input-wrapper" >
< label for = "pf_name2" > Funktionspostfach 2< / label >
< input type = "text" id = "pf_name2" name = "postfach2" >
< / div >
< div class = "input-wrapper" >
< label for = "pf_recht2" > Recht 2< / label >
< select id = "pf_recht2" name = "pf_recht2" >
< option value = "" > Wählen< / option >
< option value = "voll" > voll< / option >
< option value = "lesen" > lesen< / option >
< option value = "löschen" > löschen< / option >
< / select >
< / div >
< div class = "input-wrapper" >
< label for = "pf_name3" > Funktionspostfach 3< / label >
< input type = "text" id = "pf_name3" name = "postfach3" >
< / div >
< div class = "input-wrapper" >
< label for = "pf_recht3" > Recht 3< / label >
< select id = "pf_recht3" name = "pf_recht3" >
< option value = "" > Wählen< / option >
< option value = "voll" > voll< / option >
< option value = "lesen" > lesen< / option >
< option value = "löschen" > löschen< / option >
< / select >
< / div >
< / div >
< h3 > Laufwerke< / h3 >
< div class = "field-grid-2" >
< div class = "input-wrapper" >
< label for = "lw_name1" > Laufwerk 1< / label >
< input type = "text" id = "lw_name1" name = "laufwerk1" >
< / div >
< div class = "input-wrapper" >
< label for = "lw_recht1" > Recht 1< / label >
< select id = "lw_recht1" name = "lw_recht1" >
< option value = "" > Wählen< / option >
< option value = "voll" > voll< / option >
< option value = "lesen" > lesen< / option >
< option value = "löschen" > löschen< / option >
< / select >
< / div >
< div class = "input-wrapper" >
< label for = "lw_name2" > Laufwerk 2< / label >
< input type = "text" id = "lw_name2" name = "laufwerk2" >
< / div >
< div class = "input-wrapper" >
< label for = "lw_recht2" > Recht 2< / label >
< select id = "lw_recht2" name = "lw_recht2" >
< option value = "" > Wählen< / option >
< option value = "voll" > voll< / option >
< option value = "lesen" > lesen< / option >
< option value = "löschen" > löschen< / option >
< / select >
< / div >
< div class = "input-wrapper" >
< label for = "lw_name2" > Laufwerk 3< / label >
< input type = "text" id = "lw_name3" name = "laufwerk3" >
< / div >
< div class = "input-wrapper" >
< label for = "lw_recht3" > Recht 3< / label >
< select id = "lw_recht3" name = "lw_recht3" >
< option value = "" > Wählen< / option >
< option value = "voll" > voll< / option >
< option value = "lesen" > lesen< / option >
< option value = "löschen" > löschen< / option >
< / select >
< / div >
< / div >
< / div >
< div class = "form-grouping hidden" id = "gruppeAUREG" data-areas = "OLG,DEBUG" >
< h3 > Fachverfahren AUREG< / h3 >
< div class = "field-grid-2" >
< div class = "input-wrapper" >
< label > Dienstbezeichnung (Wird automatisch übernommen)< / label >
< input type = "text" id = "aureg_dienstbezeichnung_copy" name = "AUREG_Dienstbezeichnung"
readonly
style="background-color: #e9ecef; cursor: not-allowed; color: #555;">
< / div >
< div class = "input-wrapper" >
< label > Funktion (Wird automatisch übernommen)< / label >
< input type = "text" id = "aureg_funktion_copy" name = "AUREG_Funktion"
readonly
style="background-color: #e9ecef; cursor: not-allowed; color: #555;">
< / div >
< div class = "input-wrapper" >
< label for = "aureg_signatur" > Signatur beantragt< / label >
< input type = "checkbox" id = "aureg_signatur" name = "AUREG_Signatur" >
< / div >
< div class = "input-wrapper" >
< label for = "aureg_schulung" > Schulung angemeldet< / label >
< input type = "checkbox" id = "aureg_schulung" name = "AUREG_Schulung" >
< / div >
< / div >
< / div >
< div class = "form-grouping hidden" id = "gruppeBasisWeb" data-areas = "JVA,DEBUG" >
< h3 > Basis-Web< / h3 >
< div class = "input-wrapper" data-areas = "DEBUG,JVA" >
< label for = "basisweb_info" > keine weiteren Angaben erforderlich< / label >
< input type = "text" id = "basisweb_info" name = "Basis-Web Info"
readonly
style="background-color: #e9ecef; cursor: not-allowed; color: #555;">
< / div >
< / div >
< div class = "form-grouping hidden" id = "gruppeBeck" data-areas = "DEBUG,OLG,ARBG,VG,JVA,ZENIT" >
< h3 > Beck Online< / h3 >
< div class = "field-grid-2" >
< div class = "input-wrapper" data-areas = "DEBUG,OLG,ARBG" >
< label for = "beck_private_email" > private E-Mail-Adresse< / label >
< input type = "email" id = "beck_private_email" name = "BECK_private_EMail"
pattern="[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,}$"
title="Bitte eine gültige E-Mail-Adresse eingeben">
< / div >
< div class = "input-wrapper" data-areas = "DEBUG,ZENIT,JVA,VG" >
< label for = "beck_info" > keine weiteren Angaben erforderlich< / label >
< input type = "text" id = "beck_info" name = "beck_info"
readonly
style="background-color: #e9ecef; cursor: not-allowed; color: #555;">
< / div >
< / div >
< / div >
< div class = "form-grouping hidden" id = "gruppeDragon" data-areas = "DEBUG,OLG,VG,JVA" >
< h3 > Dragon Naturally< / h3 >
< div class = "field-grid-2" >
< div class = "input-wrapper" >
< label for = "dragon_pc_name_copy" > PC-Name< / label >
< input type = "text" id = "dragon_pc_name_copy" name = "Dragon_PC_Name" >
< / div >
< div class = "input-wrapper" >
<!-- <label for="Dragon_Headset">Headset benötigt?</label> -->
< label > Headset benötigt?< / label >
< input type = "checkbox" id = "Dragon_Headset" name = "Dragon_Headset" >
< / div >
< / div >
< / div >
< div class = "form-grouping hidden" id = "gruppeDigta" >
< h3 > Digta< / h3 >
< div class = "field-grid-2" >
< div class = "input-wrapper" >
< label for = "digta_pc_name_copy" > PC-Name< / label >
< input type = "text" id = "digta_pc_name_copy" name = "Digta_PC_Name" >
< / div >
< div class = "input-wrapper" >
< label for = "Digta_Kammer" > Kammer< / label >
< input type = "text" id = "Digta_Kammer" name = "Digta_Kammer" >
< / div >
< / div >
< / div >
< div class = "form-grouping hidden" id = "gruppeEhefaehigkeit" data-areas = "OLG,DEBUG" >
< h3 > Ehefähigkeit< / h3 >
< div class = "input-wrapper" data-areas = "DEBUG,OLG" >
< label for = "ehefaehigkeit_info" > keine weiteren Angaben erforderlich< / label >
< input type = "text" id = "ehefaehigkeit_info" name = "Ehefähigkeit Info"
readonly
style="background-color: #e9ecef; cursor: not-allowed; color: #555;">
< / div >
< / div >
< div class = "form-grouping hidden" id = "gruppeELA" data-areas = "OLG,DEBUG" >
< h3 > ELA< / h3 >
< div class = "input-wrapper" data-areas = "DEBUG,OLG" >
< label for = "ela_info" > keine weiteren Angaben erforderlich< / label >
< input type = "text" id = "ela_info" name = "ELA Info"
readonly
style="background-color: #e9ecef; cursor: not-allowed; color: #555;">
< / div >
< / div >
< div class = "form-grouping hidden" id = "gruppeEurekaFach" data-areas = "ARBG,VG,DEBUG" >
< h3 > EurekaFach< / h3 >
< div class = "input-wrapper" data-areas = "DEBUG,ARBG,VG" >
< label for = "eurekafach_info" > keine weiteren Angaben erforderlich< / label >
< input type = "text" id = "eurekafach_info" name = "EurekaFach Info"
readonly
style="background-color: #e9ecef; cursor: not-allowed; color: #555;">
< / div >
< / div >
< div class = "form-grouping hidden" id = "gruppeFEARKBA" data-areas = "DEBUG,OLG" >
< h3 > FEAR (Fahreignungsregister) / KBA (Kraftfahrtbundesamt)< / h3 >
< div class = "input-wrapper" data-areas = "DEBUG,OLG" >
< label for = "fearkba_info" > keine weiteren Angaben erforderlich< / label >
< input type = "text" id = "fearkba_info" name = "FEAR / KBA Info"
readonly
style="background-color: #e9ecef; cursor: not-allowed; color: #555;">
< / div >
< / div >
< div class = "form-grouping hidden" id = "gruppeForumSTAR" >
< h3 > ForumSTAR< / h3 >
< div class = "field-grid-2" >
< div class = "input-wrapper checkbox-left" >
< label style = "color:red" for = "FSTAR_nur_lesend" > nur lesend< / label >
< input type = "checkbox" id = "FSTAR_nur_lesend" name = "FSTAR_nur_lesend" >
< / div >
< div class = "input-wrapper" >
< label for = "FSTAR-Senat-Kammer-Abteilung" > Senat / Kammer / Abteilung (OE)< / label >
< input type = "text" id = "FSTAR-Senat-Kammer-Abteilung" name = "FSTAR-Senat-Kammer-Abteilung" >
< / div >
< / div >
< div class = "main-label" >
< label class = "main-label" > ForumSTAR Module< / label >
< div class = "checkbox-group" >
< label > < input type = "checkbox" id = "cbFSZIV" name = "FSTAR_ZIV" > ZIV< / label >
< label > < input type = "checkbox" id = "cbFSSTRAF" name = "FSTAR_STRAF" > STRAF< / label >
< label > < input type = "checkbox" id = "cbFSFAM" name = "FSTAR_FAM" > FAM< / label >
< label > < input type = "checkbox" id = "cbFSNACH" name = "FSTAR_NACH" > NACH< / label >
< label > < input type = "checkbox" id = "cbFSVSMOB" name = "FSTAR_VSMOB" > VSMOB< / label >
< label > < input type = "checkbox" id = "cbFSVORM" name = "FSTAR_VORM" > VORM< / label >
< label > < input type = "checkbox" id = "cbFSVSIMM" name = "FSTAR_VSIMM" > VSIMM< / label >
< label > < input type = "checkbox" id = "cbFSZenVG" name = "FSTAR_ZenVG" > ZenVG< / label >
< label > < input type = "checkbox" id = "cbFSVSINS" name = "FSTAR_VSINS" > VSINS< / label >
< / div >
< / div >
< / div >
< div class = "form-grouping hidden" id = "gruppeGisboTimer" data-areas = "JVA,DEBUG" >
< h3 > Gisbo Timer< / h3 >
< div class = "input-wrapper" data-areas = "DEBUG,JVA" >
< label for = "gisbotimer_info" > keine weiteren Angaben erforderlich< / label >
< input type = "text" id = "gisbotimer_info" name = "Gisbo Timer Info"
readonly
style="background-color: #e9ecef; cursor: not-allowed; color: #555;">
< / div >
< / div >
< div class = "form-grouping hidden" id = "gruppeLMR" >
< h3 > Landesmelderegister (LMR)< / h3 >
< div class = "checkbox-left" >
< label > < input type = "checkbox" id = "cbLMRBis" name = "LMR BIS Standard" checked > BIS Standard< / label >
< / div >
< div class = "main-label" >
< label class = "main-label" > LMR Module< / label >
< div class = "checkbox-group" >
< label > < input type = "checkbox" id = "cbLMR_einfach" name = "LMR einfache Behördenauskunft" > einfache Behördenauskunft< / label >
< label > < input type = "checkbox" id = "cbLMR_Sicherheitsbehoerde" name = "LMR Sicherheitsbehörde" > Sicherheitsbehörde< / label >
< / div >
< / div >
< / div >
< div class = "form-grouping hidden" id = "gruppeMEGA" >
< h3 > MEGA< / h3 >
< div class = "input-wrapper" >
< label for = "MEGA-Senat-Kammer" > Senat / Kammer< / label >
< input type = "text" id = "MEGA-Senat-Kammer" name = "MEGA-Senat-Kammer" >
< / div >
< div class = "main-label" >
< label class = "main-label" > MEGA Module< / label >
< div class = "checkbox-group" >
< label > < input type = "checkbox" id = "cbMEGA_Zivil" name = "MEGA Zivil" > Zivil< / label >
< label > < input type = "checkbox" id = "cbMEGA_Familie" name = "MEGA Familie" > Familie< / label >
< label > < input type = "checkbox" id = "cbMEGA_Nachlass" name = "MEGA Nachlass" > Nachlass< / label >
< label > < input type = "checkbox" id = "cbMEGA_Strafe" name = "MEGA Strafe" > Strafe< / label >
< label > < input type = "checkbox" id = "cbMEGA_Betreuung" name = "MEGA Betreuung" > Betreuung< / label >
< label > < input type = "checkbox" id = "cbMEGA_Vollstreckung" name = "MEGA Vollstreckung" > Vollstreckung< / label >
< label > < input type = "checkbox" id = "cbMEGA_INSO" name = "MEGA INSO" > INSO< / label >
< / div >
< / div >
< / div >
< div class = "form-grouping hidden" id = "gruppeNexusKammer" data-areas = "JVA,DEBUG" >
< h3 > Nexus.Kammer< / h3 >
< div class = "input-wrapper" data-areas = "DEBUG,JVA" >
< label for = "nexuskammer_info" > keine weiteren Angaben erforderlich< / label >
< input type = "text" id = "nexuskammer_info" name = "Nexus.Kammer Info"
readonly
style="background-color: #e9ecef; cursor: not-allowed; color: #555;">
< / div >
< / div >
< div class = "form-grouping hidden" id = "gruppeQMConsense" data-areas = "JVA,DEBUG" >
< h3 > QM Consense< / h3 >
< div class = "input-wrapper" data-areas = "DEBUG,JVA" >
< label for = "qmconsense_info" > keine weiteren Angaben erforderlich< / label >
< input type = "text" id = "qmconsense_info" name = "QM Consense Info"
readonly
style="background-color: #e9ecef; cursor: not-allowed; color: #555;">
< / div >
< / div >
< div class = "form-grouping hidden" id = "gruppeSAFE" >
< h3 > SAFE< / h3 >
< div class = "field-grid-2" >
< div class = "input-wrapper" >
< label for = "SAFE-User-ID" > SAFE User ID< / label >
< input type = "text" id = "SAFE-User-ID" name = "SAFE-User-ID" >
< / div >
< div class = "input-wrapper" >
< label > Funktion (Wird automatisch übernommen)< / label >
< input type = "text" id = "safe_funktion_copy" name = "SAFE_Funktion"
readonly
style="background-color: #e9ecef; cursor: not-allowed; color: #555;">
< / div >
< / div >
< div class = "main-label" >
< label class = "main-label" > SAFE Module< / label >
< div class = "checkbox-group" >
< label > < input type = "checkbox" id = "cbSAFE_Insoportal_EP_Sachbearbeitung" name = "SAFE Insoportal-EP Sachbearbeitung" > Insoportal-EP 'Sachbearbeitung'< / label >
< label > < input type = "checkbox" id = "cbSAFE_Insoportal_EP_Direktloeschung" name = "SAFE Insoportal-EP Direktlöschung" > Insoportal-EP 'Direktlöschung'< / label >
< label > < input type = "checkbox" id = "cbSAFE_zentrales_Testamentsregister" name = "SAFE zentrales Testamentsregister" > Zentrales Testamentsregister< / label >
< label > < input type = "checkbox" id = "cbSAFE_zentrales_Schutzschriftenregister" name = "SAFE zentrales Schutzschriftenregister" > Zentrales Schutzschriftenregister< / label >
< label > < input type = "checkbox" id = "cbSAFE_zentrales_Vorsorgeregister" name = "SAFE zentrales Vorsorgeregister" > Zentrales Vorsorgeregister< / label >
< label > < input type = "checkbox" id = "cbSAFE_zentrales_Wettbewerbsregister" name = "SAFE zentrales Wettbewerbsregister" > Zentrales Wettbewerbsregister< / label >
< / div >
< / div >
< / div >
< div class = "form-grouping hidden" id = "gruppeSFirm" data-areas = "JVA,DEBUG" >
< h3 > SFirm< / h3 >
< div class = "input-wrapper" data-areas = "DEBUG,JVA" >
< label for = "sfirm_info" > keine weiteren Angaben erforderlich< / label >
< input type = "text" id = "sfirm_info" name = "SFirm Info"
readonly
style="background-color: #e9ecef; cursor: not-allowed; color: #555;">
< / div >
< / div >
< div class = "form-grouping hidden" id = "gruppeSolumSTAR" >
< h3 > SolumSTAR< / h3 >
< div class = "field-grid-3" >
< div class = "input-wrapper" >
< label > Dienstbezeichnung (Wird automatisch übernommen)< / label >
< input type = "text" id = "solumstar_dienstbezeichnung_copy" name = "SolumSTAR_Dienstbezeichnung"
readonly
style="background-color: #e9ecef; cursor: not-allowed; color: #555;">
< / div >
< div class = "input-wrapper" >
< label > Dienstort (Wird automatisch übernommen)< / label >
< input type = "text" id = "solumstar_dienstort_copy" name = "SolumSTAR_Dienstort"
readonly
style="background-color: #e9ecef; cursor: not-allowed; color: #555;">
< / div >
< div class = "input-wrapper" >
< label > Funktion (Wird automatisch übernommen)< / label >
< input type = "text" id = "solumstar_funktion_copy" name = "SolumSTAR_Funktion"
readonly
style="background-color: #e9ecef; cursor: not-allowed; color: #555;">
< / div >
< div class = "input-wrapper" >
< label for = "SolumSTAR_PC_Name" > PC Name< / label >
< input type = "text" id = "SolumSTAR_PC_Name" name = "SolumSTAR_PC_Name" >
< / div >
< div class = "input-wrapper" >
< label for = "SolumSTAR_IP_Adresse" > IP Adresse< / label >
< input type = "text" id = "SolumSTAR_IP_Adresse" name = "SolumSTAR_IP_Adresse" >
< / div >
< / div >
< / div >
< div class = "form-grouping hidden" id = "gruppeSoPart" >
< h3 > SoPart< / h3 >
< div class = "field-grid-2" >
< div class = "input-wrapper" id = "row_sopart_fachbereich" >
< label for = "sopart_fachbereich" > Fachbereich< / label >
< select id = "sopart_fachbereich" name = "sopart_fachbereich" >
< option value = "" > bitte wählen< / option >
< option value = "Bewährungshelfer" > Bewährungshelfer< / option >
< option value = "Gerichtshelfer" > Gerichtshelfer< / option >
< option value = "Täter-Opfer-Ausgleich" > Täter-Opfer-Ausgleich< / option >
< / select >
< / div >
< div class = "input-wrapper" >
< label for = "SoPart-auch-tätig-bei-SDJ" > auch tätig bei SDJ< / label >
< input type = "text" id = "SoPart-auch-tätig-bei-SDJ" name = "SoPart-auch-tätig-bei-SDJ" >
< / div >
< div class = "input-wrapper" >
< label for = "SoPart-Zuständigkeit-Leiter" > Zuständigkeit Leiter und Gruppenleiter< / label >
< input type = "text" id = "SoPart-Zuständigkeit-Leiter" name = "SoPart-Zuständigkeit-Leiter" >
< / div >
< div class = "input-wrapper" >
< label for = "SoPart-Kennzahl-BwHe" > Kennzahl des BwHe< / label >
< input type = "text" id = "SoPart-Kennzahl-BwHe" name = "SoPart-Kennzahl-BwHe" >
< / div >
< div class = "input-wrapper" >
< label for = "SoPart-Arbeitszeit" > Arbeitszeit (Std)< / label >
< input type = "text" id = "SoPart-Arbeitszeit" name = "SoPart-Arbeitszeit" >
< / div >
< div class = "input-wrapper" >
< label for = "SoPart-Pensum" > Pensum (%)< / label >
< input type = "text" id = "SoPart-Pensum" name = "SoPart-Pensum" >
< / div >
< div class = "input-wrapper" >
< label > Funktion (Wird automatisch übernommen)< / label >
< input type = "text" id = "sopart_funktion_copy" name = "SoPart_Funktion"
readonly
style="background-color: #e9ecef; cursor: not-allowed; color: #555;">
< / div >
< div class = "input-wrapper" id = "row_sopart_geschlecht" >
< label for = "sopart_geschlecht" > Geschlecht< / label >
< select id = "sopart_geschlecht" name = "sopart_geschlecht" >
< option value = "" > bitte wählen< / option >
< option value = "männlich" > männlich< / option >
< option value = "weiblich" > weiblich< / option >
< option value = "divers" > divers< / option >
< option value = "ohne Angaben" > ohne Angaben< / option >
< option value = "kein Eintrag" > kein Eintrag< / option >
< / select >
< / div >
< div class = "input-wrapper" id = "row_sopart_rollen" >
< label for = "sopart_rollen" > Rollen in SoPart-Justiz< / label >
< select id = "sopart_rollen" name = "sopart_rollen" >
< option value = "" > bitte wählen< / option >
< option value = "Bewährungshelfer/-in" > Bewährungshelfer/-in< / option >
< option value = "Gerichtshelfer/-in" > Gerichtshelfer/-in< / option >
< option value = "Büro- und Kanzleikraft" > Büro- und Kanzleikraft< / option >
< option value = "Geschäftsprüfer/-in" > Geschäftsprüfer/-in< / option >
< option value = "Mitarbeiter/-in FAS" > Mitarbeiter/-in FAS< / option >
< option value = "Leiter/-in FASt" > Leiter/-in FASt< / option >
< option value = "Dienststellen-Administartor/-in" > Dienststellen-Administartor/-in< / option >
< option value = "Kurzzeitpraktikant" > Kurzzeitpraktikant< / option >
< option value = "Langzeit-/Jahrespraktikant" > Langzeit-/Jahrespraktikant< / option >
< / select >
< / div >
< div class = "input-wrapper" id = "row_sopart_termin" >
< label for = "sopart_termin" > Endtermin< / label >
< input type = "date" id = "sopart_termin" name = "sopart_termin" style = "max-width: 250px;" >
< / div >
< / div >
< / div >
< div class = "form-grouping hidden" id = "gruppeSPATZ" data-areas = "DEBUG,ARBG,OLG,SDJ,VG,ZENIT,JVA" >
< h3 > SPATZ für 2nd Level Support< / h3 >
< div class = "field-grid-3" >
< div class = "input-wrapper" >
< label for = "sva1" > 1. Service Abteilung< / label >
< select id = "sva1" name = "sva1" > < option value = "" > Wählen< / option > < / select >
< / div >
< div class = "input-wrapper" >
< label for = "sva2" > 2. Service Abteilung< / label >
< select id = "sva2" name = "sva2" > < option value = "" > Wählen< / option > < / select >
< / div >
< div class = "input-wrapper" >
< label for = "sva3" > 3. Service Abteilung< / label >
< select id = "sva3" name = "sva3" > < option value = "" > Wählen< / option > < / select >
< / div >
< / div >
< div class = "input-wrapper" style = "margin-top: 15px;" >
< label for = "spatz_bemerkungen" > Bemerkungen< / label >
< textarea id = "spatz_bemerkungen" name = "spatz_bemerkungen" rows = "3" > < / textarea >
< / div >
< div class = "checkbox-group" >
< label > < input type = "checkbox" name = "SPATZ_Schulung" value = "SPATZ Schulung" id = "cbSPATZSchulung" data-areas = "DEBUG,ZENIT,JVA" > Schulung Grundlagen< / label >
< / div >
< / div >
< div class = "form-grouping hidden" id = "gruppeSGVSPersonal" data-areas = "JVA,DEBUG" >
< h3 > SGVS Personalregistratur< / h3 >
< div class = "input-wrapper" data-areas = "DEBUG,JVA" >
< label for = "sgvs_personal_info" > keine weiteren Angaben erforderlich< / label >
< input type = "text" id = "sgvs_personal_info" name = "SGVS Personalregistratur Info"
readonly
style="background-color: #e9ecef; cursor: not-allowed; color: #555;">
< / div >
< / div >
< div class = "form-grouping hidden" id = "gruppeSGVSSach" data-areas = "JVA,DEBUG" >
< h3 > SGVS Sachregistratur< / h3 >
< div class = "input-wrapper" data-areas = "DEBUG,JVA" >
< label for = "sgva_sach_info" > keine weiteren Angaben erforderlich< / label >
< input type = "text" id = "sgvs_sach_info" name = "SGVS Sachregistratur Info"
readonly
style="background-color: #e9ecef; cursor: not-allowed; color: #555;">
< / div >
< / div >
< div class = "form-grouping hidden" id = "gruppeVWAkten" data-areas = "ZENIT,DEBUG" >
< h3 > VW-Akten< / h3 >
< div class = "input-wrapper" data-areas = "DEBUG,ZENIT" >
< label for = "vwakten_info" > keine weiteren Angaben erforderlich< / label >
< input type = "text" id = "vwakten_info" name = "VW-Akten Info"
readonly
style="background-color: #e9ecef; cursor: not-allowed; color: #555;">
< / div >
< / div >
< div class = "form-grouping hidden" id = "gruppeNebenrollen" >
< h3 > Nebenrollen< / h3 >
< div class = "input-wrapper" id = "row_vg_nebenrollen" style = "grid-column: span 3;" data-areas = "DEBUG,VG" >
< div id = "row_h_vg_nebenrollen" >
< div class = "checkbox-group" >
< label > < input type = "checkbox" name = "nebenrollen" value = "VG Anonymisierung" id = "cbVGAnonymsierung" data-areas = "DEBUG,VG" > Anonymisierung< / label >
< label > < input type = "checkbox" name = "nebenrollen" value = "VG Aussonderung" id = "cbVGAussonderung" data-areas = "DEBUG,VG" > Aussonderung< / label >
< label > < input type = "checkbox" name = "nebenrollen" value = "VG Bibliothek" id = "cbVGBibliothek" data-areas = "DEBUG,VG" > Bibliothek< / label >
< label > < input type = "checkbox" name = "nebenrollen" value = "VG EReg" id = "cbVGEReg" data-areas = "DEBUG,VG" > EReg< / label >
< label > < input type = "checkbox" name = "nebenrollen" value = "VG Eureka Admins" id = "cbVGEurekaAdmins" data-areas = "DEBUG,VG" > Eureka Admins< / label >
< label > < input type = "checkbox" name = "nebenrollen" value = "VG Eureka SAT" id = "cbVGEurekaSAT" data-areas = "DEBUG,VG" > Eureka SAT< / label >
< label > < input type = "checkbox" name = "nebenrollen" value = "VG Generalakten" id = "cbVGGeneralakten" data-areas = "DEBUG,VG" > Generalakten< / label >
< label > < input type = "checkbox" name = "nebenrollen" value = "VG Haushalt" id = "cbVGHaushalt" data-areas = "DEBUG,VG" > Haushalt< / label >
< label > < input type = "checkbox" name = "nebenrollen" value = "VG Intranet-Redaktion" id = "cbVGIntranetRedaktion" data-areas = "DEBUG,VG" > Intranet-Redaktion< / label >
< label > < input type = "checkbox" name = "nebenrollen" value = "VG Personalpflege" id = "cbVGPersonalpflege" data-areas = "DEBUG,VG" > Personalpflege< / label >
< label > < input type = "checkbox" name = "nebenrollen" value = "VG Richterrat" id = "cbVGRichterrat" data-areas = "DEBUG,VG" > Richterrat< / label >
< label > < input type = "checkbox" name = "nebenrollen" value = "VG Statistik" id = "cbStatistik" data-areas = "DEBUG,VG" > Statistik< / label >
< / div >
< / div >
< / div >
< div class = "input-wrapper" id = "row_arbg_nebenrollen" style = "grid-column: span 3;" data-areas = "DEBUG,ARBG" >
< div id = "row_h_arbg_nebenrollen" >
< div class = "checkbox-group" >
< label > < input type = "checkbox" name = "nebenrollen" value = "ARBG Bibliothek" id = "cbARBGBibliothek" data-areas = "DEBUG,ARBG" > Bibliothek< / label >
< label > < input type = "checkbox" name = "nebenrollen" value = "ARBG Direktor" id = "cbARBGDirektor" data-areas = "DEBUG,ARBG" > Direktor< / label >
< label > < input type = "checkbox" name = "nebenrollen" value = "ARBG ehrenamtliche Richter" id = "cbARBGehrenamtRichter" data-areas = "DEBUG,ARBG" > ehrenamtliche Richter< / label >
< label > < input type = "checkbox" name = "nebenrollen" value = "ARBG Gleichstellungsbeauftragter" id = "cbARBGGleichstellung" data-areas = "DEBUG,ARBG" > Gleichstellungsbeauftragter< / label >
< label > < input type = "checkbox" name = "nebenrollen" value = "ARBG Haushaltskosten" id = "cbARBGHaushaltskosten" data-areas = "DEBUG,ARBG" > Haushaltskosten< / label >
< label > < input type = "checkbox" name = "nebenrollen" value = "ARBG Poststelle" id = "cbARBGPoststelle" data-areas = "DEBUG,ARBG" > Poststelle< / label >
< label > < input type = "checkbox" name = "nebenrollen" value = "ARBG Statistik" id = "cbARBGStatistik" data-areas = "DEBUG,ARBG" > Statistik< / label >
< label > < input type = "checkbox" name = "nebenrollen" value = "ARBG Systemverwalter" id = "cbARBGSystemverwalter" data-areas = "DEBUG,ARBG" > Systemverwalter< / label >
< label > < input type = "checkbox" name = "nebenrollen" value = "ARBG Verwaltung" id = "cbARBGVerwaltung" data-areas = "DEBUG,ARBG" > Verwaltung< / label >
< label > < input type = "checkbox" name = "nebenrollen" value = "ARBG ZeTime" id = "cbARBGZeTime" data-areas = "DEBUG,ARBG" > ZeTime< / label >
< / div >
< / div >
< / div >
< / div >
< / div >
< div class = "form-grouping hidden" id = "gruppeVGKammer" >
< h3 > Kammerzugehörigkeit< / h3 >
< div class = "input-wrapper" id = "row_vg_kammer" style = "grid-column: span 3;" data-areas = "DEBUG,VG" >
< div id = "row_h_vg_kammer" >
< div class = "checkbox-group" >
< label > < input type = "checkbox" name = "vg_kammer" value = "VG Kammer 1" id = "cbVGKammer1" data-areas = "DEBUG,VG" > 1< / label >
< label > < input type = "checkbox" name = "vg_kammer" value = "VG Kammer 2" id = "cbVGKammer2" data-areas = "DEBUG,VG" > 2< / label >
< label > < input type = "checkbox" name = "vg_kammer" value = "VG Kammer 3" id = "cbVGKammer3" data-areas = "DEBUG,VG" > 3< / label >
< label > < input type = "checkbox" name = "vg_kammer" value = "VG Kammer 4" id = "cbVGKammer4" data-areas = "DEBUG,VG" > 4< / label >
< label > < input type = "checkbox" name = "vg_kammer" value = "VG Kammer 5" id = "cbVGKammer5" data-areas = "DEBUG,VG" > 5< / label >
< label > < input type = "checkbox" name = "vg_kammer" value = "VG Kammer 6" id = "cbVGKammer6" data-areas = "DEBUG,VG" > 6< / label >
< label > < input type = "checkbox" name = "vg_kammer" value = "VG Kammer 7" id = "cbVGKammer7" data-areas = "DEBUG,VG" > 7< / label >
< label > < input type = "checkbox" name = "vg_kammer" value = "VG Kammer 8" id = "cbVGKammer8" data-areas = "DEBUG,VG" > 8< / label >
< label > < input type = "checkbox" name = "vg_kammer" value = "VG Kammer 9" id = "cbVGKammer9" data-areas = "DEBUG,VG" > 9< / label >
< label > < input type = "checkbox" name = "vg_kammer" value = "VG Kammer 10" id = "cbVGKammer10" data-areas = "DEBUG,VG" > 10< / label >
< label > < input type = "checkbox" name = "vg_kammer" value = "VG Kammer 11" id = "cbVGKammer11" data-areas = "DEBUG,VG" > 11< / label >
< label > < input type = "checkbox" name = "vg_kammer" value = "VG Kammer 12" id = "cbVGKammer12" data-areas = "DEBUG,VG" > 12< / label >
< label > < input type = "checkbox" name = "vg_kammer" value = "VG Kammer 13" id = "cbVGKammer13" data-areas = "DEBUG,VG" > 13< / label >
< label > < input type = "checkbox" name = "vg_kammer" value = "VG Kammer 14" id = "cbVGKammer14" data-areas = "DEBUG,VG" > 14< / label >
< label > < input type = "checkbox" name = "vg_kammer" value = "VG Kammer 15" id = "cbVGKammer15" data-areas = "DEBUG,VG" > 15< / label >
< label > < input type = "checkbox" name = "vg_kammer" value = "VG Kammer 16" id = "cbVGKammer16" data-areas = "DEBUG,VG" > 16< / label >
< label > < input type = "checkbox" name = "vg_kammer" value = "VG Kammer 17" id = "cbVGKammer17" data-areas = "DEBUG,VG" > 17< / label >
< label > < input type = "checkbox" name = "vg_kammer" value = "VG Kammer 18" id = "cbVGKammer18" data-areas = "DEBUG,VG" > 18< / label >
< label > < input type = "checkbox" name = "vg_kammer" value = "VG Kammer 19" id = "cbVGKammer19" data-areas = "DEBUG,VG" > 19< / label >
< label > < input type = "checkbox" name = "vg_kammer" value = "VG Kammer 20" id = "cbVGKammer20" data-areas = "DEBUG,VG" > 20< / label >
< label > < input type = "checkbox" name = "vg_kammer" value = "VG Kammer 21" id = "cbVGKammer21" data-areas = "DEBUG,VG" > 21< / label >
< label > < input type = "checkbox" name = "vg_kammer" value = "VG Kammer Gütegericht" id = "cbVGKammerGuetegericht" data-areas = "DEBUG,VG" > Gütegericht< / label >
< / div >
< / div >
< / div >
< / div >
< div class = "form-grouping hidden" id = "gruppeVGDezernat" >
< h3 > Zugriff Dezernat< / h3 >
< div class = "input-wrapper" id = "row_vg_dezernat" style = "grid-column: span 3;" data-areas = "DEBUG,VG" >
< div id = "row_h_vg_dezernat" >
< div class = "checkbox-group" >
< label > < input type = "checkbox" name = "vg_dezernat" value = "VG Dezernat 1" id = "cbVGDezernat1" data-areas = "DEBUG,VG" > 1< / label >
< label > < input type = "checkbox" name = "vg_dezernat" value = "VG Dezernat 2" id = "cbVGDezernat2" data-areas = "DEBUG,VG" > 2< / label >
< label > < input type = "checkbox" name = "vg_dezernat" value = "VG Dezernat 3" id = "cbVGDezernat3" data-areas = "DEBUG,VG" > 3< / label >
< label > < input type = "checkbox" name = "vg_dezernat" value = "VG Dezernat 4" id = "cbVGDezernat4" data-areas = "DEBUG,VG" > 4< / label >
< label > < input type = "checkbox" name = "vg_dezernat" value = "VG Dezernat 5" id = "cbVGDezernat5" data-areas = "DEBUG,VG" > 5< / label >
< label > < input type = "checkbox" name = "vg_dezernat" value = "VG Dezernat 6" id = "cbVGDezernat6" data-areas = "DEBUG,VG" > 6< / label >
< label > < input type = "checkbox" name = "vg_dezernat" value = "VG Dezernat 7" id = "cbVGDezernat7" data-areas = "DEBUG,VG" > 7< / label >
< label > < input type = "checkbox" name = "vg_dezernat" value = "VG Dezernat 8" id = "cbVGDezernat8" data-areas = "DEBUG,VG" > 8< / label >
< label > < input type = "checkbox" name = "vg_dezernat" value = "VG Dezernat 9" id = "cbVGDezernat9" data-areas = "DEBUG,VG" > 9< / label >
< label > < input type = "checkbox" name = "vg_dezernat" value = "VG Dezernat 10" id = "cbVGDezernat10" data-areas = "DEBUG,VG" > 10< / label >
< label > < input type = "checkbox" name = "vg_dezernat" value = "VG Dezernat 11" id = "cbVGDezernat11" data-areas = "DEBUG,VG" > 11< / label >
< label > < input type = "checkbox" name = "vg_dezernat" value = "VG Dezernat 12" id = "cbVGDezernat12" data-areas = "DEBUG,VG" > 12< / label >
< / div >
< / div >
< / div >
< / div >
< div class = "form-grouping hidden" id = "gruppeVGVerteilerlisten" >
< h3 > Verteilerlisten< / h3 >
< div class = "input-wrapper" id = "row_vg_verteilerlisten" style = "grid-column: span 3;" data-areas = "DEBUG,VG" >
< label > Standort Cottbus< / label >
< div id = "row_h_vg_verteilerlisten_cb" >
< div class = "checkbox-group" >
< label > < input type = "checkbox" name = "vg_verteilerlisten_cb" value = "VL VGCB Justizhelfer" id = "cbVGCBJustizhelfer" data-areas = "DEBUG,VG" > VL VGCB Justizhelfer< / label >
< label > < input type = "checkbox" name = "vg_verteilerlisten_cb" value = "VL VGCB Mitarbeiter der Verwaltung" id = "cbVGCBMitarbeiterVerwaltung" data-areas = "DEBUG,VG" > VL VGCB Mitarbeiter der Verwaltung< / label >
< label > < input type = "checkbox" name = "vg_verteilerlisten_cb" value = "VL VGCB nichtrichterlich" id = "cbVGCBnichtrichterlich" data-areas = "DEBUG,VG" > VL VGCB nichtrichterlich< / label >
< label > < input type = "checkbox" name = "vg_verteilerlisten_cb" value = "VL VGCB Praesidium" id = "cbVGCBPraesidium" data-areas = "DEBUG,VG" > VL VGCB Präsidium< / label >
< label > < input type = "checkbox" name = "vg_verteilerlisten_cb" value = "VL VGCB Richter" id = "cbVGCBRichter" data-areas = "DEBUG,VG" > VL VGCB Richter< / label >
< label > < input type = "checkbox" name = "vg_verteilerlisten_cb" value = "VL VGCB Richter und Richterinnen ausser Vorsitzende" id = "cbVGCBRichterausserVorsitz" data-areas = "DEBUG,VG" > VL VGCB Richter und Richterinnen außer Vorsitzende< / label >
< label > < input type = "checkbox" name = "vg_verteilerlisten_cb" value = "VL VGCB Serviceeinheiten" id = "cbVGCBServiceeinheiten" data-areas = "DEBUG,VG" > VL VGCB Serviceeinheiten< / label >
< label > < input type = "checkbox" name = "vg_verteilerlisten_cb" value = "VL VGCB Verwaltung" id = "cbVGCBVerwaltung" data-areas = "DEBUG,VG" > VL VGCB Verwaltung< / label >
< label > < input type = "checkbox" name = "vg_verteilerlisten_cb" value = "VL VGCB vorsitzende Richter" id = "cbVGCBvorsRichter" data-areas = "DEBUG,VG" > VL VGCB vorsitzende Richter< / label >
< / div >
< / div >
< label > < br > Standort Frankfurt< / label >
< div id = "row_h_vg_verteilerlisten_ff" >
< div class = "checkbox-group" >
< label > < input type = "checkbox" name = "vg_verteilerlisten_ff" value = "VL VGFF Kostenbeamte" id = "cbVGFFJustizhelfer" data-areas = "DEBUG,VG" > VL VGCB Justizhelfer< / label >
< label > < input type = "checkbox" name = "vg_verteilerlisten_ff" value = "VL VGFF Mitarbeiter der Verwaltung" id = "cbVGFFMitarbeiterVerwaltung" data-areas = "DEBUG,VG" > VL VGCB Mitarbeiter der Verwaltung< / label >
< label > < input type = "checkbox" name = "vg_verteilerlisten_ff" value = "VL VGFF nichtrichterlich" id = "cbVGFFnichtrichterlich" data-areas = "DEBUG,VG" > VL VGCB nichtrichterlich< / label >
< label > < input type = "checkbox" name = "vg_verteilerlisten_ff" value = "VL VGFF Richter" id = "cbVGFFRichter" data-areas = "DEBUG,VG" > VL VGCB Richter< / label >
< label > < input type = "checkbox" name = "vg_verteilerlisten_ff" value = "VL VGFF Richter und Richterinnen ausser Vorsitzende" id = "cbVGFFRichterausserVorsitz" data-areas = "DEBUG,VG" > VL VGCB Richter und Richterinnen außer Vorsitzende< / label >
< label > < input type = "checkbox" name = "vg_verteilerlisten_ff" value = "VL VGFF SAP" id = "cbVGFFSAP" data-areas = "DEBUG,VG" > VL VGFF SAP< / label >
< label > < input type = "checkbox" name = "vg_verteilerlisten_ff" value = "VL VGFF Serviceeinheiten" id = "cbVGFFServiceeinheiten" data-areas = "DEBUG,VG" > VL VGCB Serviceeinheiten< / label >
< label > < input type = "checkbox" name = "vg_verteilerlisten_ff" value = "VL VGFF vorsitzende Richter" id = "cbVGFFvorsRichter" data-areas = "DEBUG,VG" > VL VGCB vorsitzende Richter< / label >
< / div >
< / div >
< label > < br > Standort Potsdam< / label >
< div id = "row_h_vg_verteilerlisten_pd" >
< div class = "checkbox-group" >
< label > < input type = "checkbox" name = "vg_verteilerlisten_pd" value = "VL VGP Gruppenleitung" id = "cbVGPDGruppenleitung" data-areas = "DEBUG,VG" > VL VGP Gruppenleitung< / label >
< label > < input type = "checkbox" name = "vg_verteilerlisten_pd" value = "VL VGP Haushalt" id = "cbVGPDHaushalt" data-areas = "DEBUG,VG" > VL VGP Haushalt< / label >
< label > < input type = "checkbox" name = "vg_verteilerlisten_pd" value = "VL VGP nichtrichterlich" id = "cbVGPDnichtrichterlich" data-areas = "DEBUG,VG" > VL VGP nichtrichterlich< / label >
< label > < input type = "checkbox" name = "vg_verteilerlisten_pd" value = "VL VGP Richterinnen Richter" id = "cbVGPDRichter" data-areas = "DEBUG,VG" > VL VGP Richterinnen Richter< / label >
< label > < input type = "checkbox" name = "vg_verteilerlisten_pd" value = "VL VGP Richterinnen und Richter ausser Vorsitzende" id = "cbVGPDRichterausserVorsitz" data-areas = "DEBUG,VG" > VL VGP Richterinnen und Richter außer Vorsitzende< / label >
< label > < input type = "checkbox" name = "vg_verteilerlisten_pd" value = "VL VGP Richterinnen und Tarifbeschaeftigte" id = "cbVGPDRichterinnenTarif" data-areas = "DEBUG,VG" > VL VGP Richterinnen und Tarifbeschäftigte< / label >
< label > < input type = "checkbox" name = "vg_verteilerlisten_pd" value = "VL VGP Serviceeinheiten" id = "cbVGPDServiceeinheiten" data-areas = "DEBUG,VG" > VL VGP Serviceeinheiten< / label >
< label > < input type = "checkbox" name = "vg_verteilerlisten_pd" value = "VL VGP vorsitzende Richterinnen Richter" id = "cbVGPDvorsRichter" data-areas = "DEBUG,VG" > VL VGP vorsitzende Richterinnen Richter< / label >
< / div >
< / div >
< / div >
< / div >
< div class = "form-grouping hidden" id = "gruppeWebKASH" >
< h3 > WebKASH< / h3 >
< div class = "field-grid-2" >
< div class = "input-wrapper" >
< label > Dienstbezeichnung (Wird automatisch übernommen)< / label >
< input type = "text" id = "webkash_dienstbezeichnung_copy" name = "WebKASH_Dienstbezeichnung"
readonly
style="background-color: #e9ecef; cursor: not-allowed; color: #555;">
< / div >
< div class = "input-wrapper" >
< label for = "WebKASH_Registerzeichen" > Registerzeichen< / label >
< input type = "text" id = "WebKASH_Registerzeichen" name = "WebKASH_Registerzeichen" >
< / div >
< div class = "input-wrapper" id = "row_webkash_sonderrechte" >
< label for = "webkash_sonderrechte" > Sonderrechte< / label >
< select id = "webkash_sonderrechte" name = "webkash_sonderrechte" >
< option value = "" > bitte wählen< / option >
< option value = "Ausbildung Grundbuch" > Ausbildung Grundbuch< / option >
< option value = "Ausbildung Normal" > Ausbildung Normal< / option >
< option value = "Datenaustausch LJK mit Kost" > Datenaustausch LJK mit Kost< / option >
< option value = "Datenaustausch LJK ohne Kost" > Datenaustausch LJK ohne Kost< / option >
< option value = "Gast (Leserecht)" > Gast (Leserecht)< / option >
< / select >
< / div >
< / div >
< / div >
< div class = "form-grouping hidden" id = "gruppeErgaenzungen" >
< h3 > Ergänzungen< / h3 >
< div class = "input-wrapper" >
< label for = "ergaenzungen_text" > Bitte beschreiben Sie die benötigten Ergänzungen im Detail (sonstige Zugänge, Rechte, Hinweise, etc.):< / label >
< textarea id = "ergaenzungen_text" name = "ergaenzungen_text" rows = "5" > < / textarea >
< / div >
< / div >
< button type = "button" class = "btn-green" onclick = "handleFormAction()" > PDF Download & E-Mail öffnen< / button >
< div class = "storage-area" >
< strong style = "color: #2c3e50; font-size: 16px;" > Zwischenspeicherung (Datei)< / strong >
< p style = "font-size: 13px; margin: 5px 0 15px 0; color: #555;" >
Sie können den aktuellen Stand als Datei auf Ihrem PC speichern und später wieder laden.< br >
Voraussetzung: < b > Vorname< / b > und < b > Nachname< / b > müssen ausgefüllt sein.
< / p >
< div class = "storage-controls" >
< input type = "file" id = "fileLoader" accept = ".json" style = "display: none;" onchange = "loadFromFile(this)" >
< button type = "button" class = "btn-blue" onclick = "document.getElementById('fileLoader').click()" > 📂 Entwurf laden< / button >
< button type = "button" class = "btn-orange" onclick = "saveToFile()" > 💾 Entwurf speichern< / button >
< / div >
< / div >
< br >
< p align = right > < i > © ZenIT - FB2< / i >
< / form >
< script >
/** jsPDF v2.5.1 Quelle: https://cdnjs.cloudflare.com/ajax/libs/jspdf/2.5.1/jspdf.umd.min.jshttps://cdnjs.cloudflare.com/ajax/libs/jspdf/2.5.1/jspdf.umd.min.js
* stellt alle erforderlichen Script Teile / Snippets / Bibliotheken bereit für das Script welches sich um die Funktion in der Datei kümmert. Es muss zwingend
' vor dem Script der HTML Datei kommen.
* NICHT LÖSCHEN! NICHT MODIFIZIEREN!
2026-01-30 20:27:50 +00:00
*
* Script für die Funktion der HTML Datei folgt, nach diesem Script
2026-01-30 10:58:56 +00:00
* Script welches modigiziert werden darf beginnt mit Kommentar: SCRIPT BNV
*
* BEGINN ORIGINAL SCRIPT:
*/
/** @license
*
* jsPDF - PDF Document creation from JavaScript
* Version 2.5.1 Built on 2022-01-28T15:37:57.789Z
* CommitID 00000000
*
* Copyright (c) 2010-2021 James Hall < james @ parall . ax > , https://github.com/MrRio/jsPDF
* 2015-2021 yWorks GmbH, http://www.yworks.com
* 2015-2021 Lukas Holländer < lukas.hollaender @ yworks . com > , https://github.com/HackbrettXXX
* 2016-2018 Aras Abbasi < aras.abbasi @ gmail . com >
* 2010 Aaron Spike, https://github.com/acspike
* 2012 Willow Systems Corporation, https://github.com/willowsystems
* 2012 Pablo Hess, https://github.com/pablohess
* 2012 Florian Jenett, https://github.com/fjenett
* 2013 Warren Weckesser, https://github.com/warrenweckesser
* 2013 Youssef Beddad, https://github.com/lifof
* 2013 Lee Driscoll, https://github.com/lsdriscoll
* 2013 Stefan Slonevskiy, https://github.com/stefslon
* 2013 Jeremy Morel, https://github.com/jmorel
* 2013 Christoph Hartmann, https://github.com/chris-rock
* 2014 Juan Pablo Gaviria, https://github.com/juanpgaviria
* 2014 James Makes, https://github.com/dollaruw
* 2014 Diego Casorran, https://github.com/diegocr
* 2014 Steven Spungin, https://github.com/Flamenco
* 2014 Kenneth Glassey, https://github.com/Gavvers
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files (the
* "Software"), to deal in the Software without restriction, including
* without limitation the rights to use, copy, modify, merge, publish,
* distribute, sublicense, and/or sell copies of the Software, and to
* permit persons to whom the Software is furnished to do so, subject to
* the following conditions:
*
* The above copyright notice and this permission notice shall be
* included in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
* LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
* OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
* WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
* Contributor(s):
* siefkenj, ahwolf, rickygu, Midnith, saintclair, eaparango,
* kim3er, mfo, alnorth, Flamenco
*/
!function(t,e){"object"==typeof exports& & "undefined"!=typeof module?e(exports):"function"==typeof define& & define.amd?define(["exports"],e):e((t=t||self).jspdf={})}(this,(function(t){"use strict";function e(t){return(e="function"==typeof Symbol& & "symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t& & "function"==typeof Symbol& & t.constructor===Symbol& & t!==Symbol.prototype?"symbol":typeof t})(t)}var r=function(){return"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this}();function n(){r.console& & "function"==typeof r.console.log& & r.console.log.apply(r.console,arguments)}var i={log:n,warn:function(t){r.console& & ("function"==typeof r.console.warn?r.console.warn.apply(r.console,arguments):n.call(null,arguments))},error:function(t){r.console& & ("function"==typeof r.console.error?r.console.error.apply(r.console,arguments):n(t))}};function a(t,e,r){var n=new XMLHttpRequest;n.open("GET",t),n.responseType="blob",n.onload=function(){l(n.response,e,r)},n.onerror=function(){i.error("could not download file")},n.send()}function o(t){var e=new XMLHttpRequest;e.open("HEAD",t,!1);try{e.send()}catch(t){}return e.status>=200& & e.status< =299}function s(t){try{t.dispatchEvent(new MouseEvent("click"))}catch(r){var e=document.createEvent("MouseEvents");e.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),t.dispatchEvent(e)}}var c,u,l=r.saveAs||("object"!==("undefined"==typeof window?"undefined":e(window))||window!==r?function(){}:"undefined"!=typeof HTMLAnchorElement& & "download"in HTMLAnchorElement.prototype?function(t,e,n){var i=r.URL||r.webkitURL,c=document.createElement("a");e=e||t.name||"download",c.download=e,c.rel="noopener","string"==typeof t?(c.href=t,c.origin!==location.origin?o(c.href)?a(t,e,n):s(c,c.target="_blank"):s(c)):(c.href=i.createObjectURL(t),setTimeout((function(){i.revokeObjectURL(c.href)}),4e4),setTimeout((function(){s(c)}),0))}:"msSaveOrOpenBlob"in navigator?function(t,r,n){if(r=r||t.name||"download","string"==typeof t)if(o(t))a(t,r,n);else{var c=document.createElement("a");c.href=t,c.target="_blank",setTimeout((function(){s(c)}))}else navigator.msSaveOrOpenBlob(function(t,r){return void 0===r?r={autoBom:!1}:"object"!==e(r)& & (i.warn("Deprecated: Expected third argument to be a object"),r={autoBom:!r}),r.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*; .*charset\s*=\s*utf-8/i.test(t.type)?new Blob([String.fromCharCode(65279),t],{type:t.type}):t}(t,n),r)}:function(t,n,i,o){if((o=o||open("","_blank"))& & (o.document.title=o.document.body.innerText="downloading..."),"string"==typeof t)return a(t,n,i);var s="application/octet-stream"===t.type,c=/constructor/i.test(r.HTMLElement)||r.safari,u=/CriOS\/[\d]+/.test(navigator.userAgent);if((u||s& & c)& & "object"===("undefined"==typeof FileReader?"undefined":e(FileReader))){var l=new FileReader;l.onloadend=function(){var t=l.result;t=u?t:t.replace(/^data:[^;]*;/,"data:attachment/file;"),o?o.location.href=t:location=t,o=null},l.readAsDataURL(t)}else{var h=r.URL||r.webkitURL,f=h.createObjectURL(t);o?o.location=f:location.href=f,o=null,setTimeout((function(){h.revokeObjectURL(f)}),4e4)}});
/**
* A class to parse color values
* @author Stoyan Stefanov < sstoo @ gmail . com >
* {@link http://www.phpied.com/rgb-color-parser-in-javascript/}
* @license Use it if you like it
*/function h(t){var e;t=t||"",this.ok=!1,"#"==t.charAt(0)&&(t=t.substr(1,6)); t={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"00ffff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000000",blanchedalmond:"ffebcd",blue:"0000ff",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"00ffff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dodgerblue:"1e90ff",feldspar:"d19275",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"ff00ff",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgrey:"d3d3d3",lightgreen:"90ee90",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslateblue:"8470ff",lightslategray:"778899",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"00ff00",limegreen:"32cd32",linen:"faf0e6",magenta:"ff00ff",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370d8",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"d87093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",red:"ff0000",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",violetred:"d02090",wheat:"f5deb3",white:"ffffff",whitesmoke:"f5f5f5",yellow:"ffff00",yellowgreen:"9acd32"}[t=(t=t.replace(/ /g,"")).toLowerCase()]||t;for(var r=[{re:/^rgb\((\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3})\)$/,example:["rgb(123, 234, 45)","rgb(255,234,245)"],process:function(t){return[parseInt(t[1]),parseInt(t[2]),parseInt(t[3])]}},{re:/^(\w{2})(\w{2})(\w{2})$/,example:["#00ff00","336699"],process:function(t){return[parseInt(t[1],16),parseInt(t[2],16),parseInt(t[3],16)]}},{re:/^(\w{1})(\w{1})(\w{1})$/,example:["#fb0","f0f"],process:function(t){return[parseInt(t[1]+t[1],16),parseInt(t[2]+t[2],16),parseInt(t[3]+t[3],16)]}}],n=0;n< r.length ; n + + ) { var i = r[n].re,a=r[n].process,o=i.exec(t);o&&(e=a(o),this.r=e[0],this.g=e[1],this.b=e[2],this.ok=!0)}this.r=this.r<0||isNaN(this.r)?0:this.r > 255?255:this.r,this.g=this.g< 0 | | isNaN ( this . g ) ? 0:this . g > 255?255:this.g,this.b=this.b< 0 | | isNaN ( this . b ) ? 0:this . b > 255?255:this.b,this.toRGB=function(){return"rgb("+this.r+", "+this.g+", "+this.b+")"},this.toHex=function(){var t=this.r.toString(16),e=this.g.toString(16),r=this.b.toString(16);return 1==t.length& & (t="0"+t),1==e.length& & (e="0"+e),1==r.length& & (r="0"+r),"#"+t+e+r}}
/**
* @license
* Joseph Myers does not specify a particular license for his work.
*
* Author: Joseph Myers
* Accessed from: http://www.myersdaily.org/joseph/javascript/md5.js
*
* Modified by: Owen Leong
*/
function f(t,e){var r=t[0],n=t[1],i=t[2],a=t[3];r=p(r,n,i,a,e[0],7,-680876936),a=p(a,r,n,i,e[1],12,-389564586),i=p(i,a,r,n,e[2],17,606105819),n=p(n,i,a,r,e[3],22,-1044525330),r=p(r,n,i,a,e[4],7,-176418897),a=p(a,r,n,i,e[5],12,1200080426),i=p(i,a,r,n,e[6],17,-1473231341),n=p(n,i,a,r,e[7],22,-45705983),r=p(r,n,i,a,e[8],7,1770035416),a=p(a,r,n,i,e[9],12,-1958414417),i=p(i,a,r,n,e[10],17,-42063),n=p(n,i,a,r,e[11],22,-1990404162),r=p(r,n,i,a,e[12],7,1804603682),a=p(a,r,n,i,e[13],12,-40341101),i=p(i,a,r,n,e[14],17,-1502002290),r=g(r,n=p(n,i,a,r,e[15],22,1236535329),i,a,e[1],5,-165796510),a=g(a,r,n,i,e[6],9,-1069501632),i=g(i,a,r,n,e[11],14,643717713),n=g(n,i,a,r,e[0],20,-373897302),r=g(r,n,i,a,e[5],5,-701558691),a=g(a,r,n,i,e[10],9,38016083),i=g(i,a,r,n,e[15],14,-660478335),n=g(n,i,a,r,e[4],20,-405537848),r=g(r,n,i,a,e[9],5,568446438),a=g(a,r,n,i,e[14],9,-1019803690),i=g(i,a,r,n,e[3],14,-187363961),n=g(n,i,a,r,e[8],20,1163531501),r=g(r,n,i,a,e[13],5,-1444681467),a=g(a,r,n,i,e[2],9,-51403784),i=g(i,a,r,n,e[7],14,1735328473),r=m(r,n=g(n,i,a,r,e[12],20,-1926607734),i,a,e[5],4,-378558),a=m(a,r,n,i,e[8],11,-2022574463),i=m(i,a,r,n,e[11],16,1839030562),n=m(n,i,a,r,e[14],23,-35309556),r=m(r,n,i,a,e[1],4,-1530992060),a=m(a,r,n,i,e[4],11,1272893353),i=m(i,a,r,n,e[7],16,-155497632),n=m(n,i,a,r,e[10],23,-1094730640),r=m(r,n,i,a,e[13],4,681279174),a=m(a,r,n,i,e[0],11,-358537222),i=m(i,a,r,n,e[3],16,-722521979),n=m(n,i,a,r,e[6],23,76029189),r=m(r,n,i,a,e[9],4,-640364487),a=m(a,r,n,i,e[12],11,-421815835),i=m(i,a,r,n,e[15],16,530742520),r=v(r,n=m(n,i,a,r,e[2],23,-995338651),i,a,e[0],6,-198630844),a=v(a,r,n,i,e[7],10,1126891415),i=v(i,a,r,n,e[14],15,-1416354905),n=v(n,i,a,r,e[5],21,-57434055),r=v(r,n,i,a,e[12],6,1700485571),a=v(a,r,n,i,e[3],10,-1894986606),i=v(i,a,r,n,e[10],15,-1051523),n=v(n,i,a,r,e[1],21,-2054922799),r=v(r,n,i,a,e[8],6,1873313359),a=v(a,r,n,i,e[15],10,-30611744),i=v(i,a,r,n,e[6],15,-1560198380),n=v(n,i,a,r,e[13],21,1309151649),r=v(r,n,i,a,e[4],6,-145523070),a=v(a,r,n,i,e[11],10,-1120210379),i=v(i,a,r,n,e[2],15,718787259),n=v(n,i,a,r,e[9],21,-343485551),t[0]=S(r,t[0]),t[1]=S(n,t[1]),t[2]=S(i,t[2]),t[3]=S(a,t[3])}function d(t,e,r,n,i,a){return e=S(S(e,t),S(n,a)),S(e< < i | e > >>32-i,r)}function p(t,e,r,n,i,a,o){return d(e& r|~e& n,t,e,i,a,o)}function g(t,e,r,n,i,a,o){return d(e& n|r& ~n,t,e,i,a,o)}function m(t,e,r,n,i,a,o){return d(e^r^n,t,e,i,a,o)}function v(t,e,r,n,i,a,o){return d(r^(e|~n),t,e,i,a,o)}function b(t){var e,r=t.length,n=[1732584193,-271733879,-1732584194,271733878];for(e=64;e< =t.length;e+=64)f(n,y(t.substring(e-64,e)));t=t.substring(e-64);var i=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];for(e=0;e< t.length ; e + + ) i [ e > >2]|=t.charCodeAt(e)< < (e%4< < 3 ) ; if ( i [ e > >2]|=128< < (e%4< < 3 ) , e > 55)for(f(n,i),e=0;e< 16 ; e + + ) i [ e ] = 0 ; return i [ 14 ] = 8 * r , f ( n , i ) , n } function y ( t ) { var e , r = [];for(e=0;e<64;e+=4)r[e > >2]=t.charCodeAt(e)+(t.charCodeAt(e+1)< < 8 ) + ( t . charCodeAt ( e + 2 ) < < 16 ) + ( t . charCodeAt ( e + 3 ) < < 24 ) ; return r } c = r.atob.bind(r),u=r.btoa.bind(r);var w = "0123456789abcdef" . split ( " " ) ; function N ( t ) { for ( var e = "" , r = 0;r<4;r++)e+=w[t > >8*r+4&15]+w[t>>8*r&15]; return e}function L(t){return String.fromCharCode((255& t)>>0,(65280& t)>>8,(16711680& t)>>16,(4278190080& t)>>24)}function A(t){return function(t){return t.map(L).join("")}(b(t))}var x="5d41402abc4b2a76b9719d911017c592"!=function(t){for(var e=0;e< t.length ; e + + ) t [ e ] = N ( t [ e ] ) ; return t . join ( " " ) } ( b ( " hello " ) ) ; function S ( t , e ) { if ( x ) { var r = (65535&t)+(65535&e);return(t > >16)+(e>>16)+(r>>16)< < 16 | 65535 & r } return t + e & 4294967295 }
/**
* @license
* FPDF is released under a permissive license: there is no usage restriction.
* You may embed it freely in your application (commercial or not), with or
* without modifications.
*
* Reference: http://www.fpdf.org/en/script/script37.php
*/function _(t,e){var r,n,i,a;if(t!==r){for(var o=(i=t,a=1+(256/t.length>>0),new Array(a+1).join(i)),s=[],c=0;c< 256 ; c + + ) s [ c ] = c ; var u = 0;for(c=0;c<256;c++){var l = s[c];u=(u+l+o.charCodeAt(c))%256,s[c]=s[u],s[u]=l}r=t,n=s}else s = n;var h = e.length,f=0,d=0,p="";for(c=0;c<h;c++)d=(d+(l=s[f=(f+1)%256]))%256,s[f]=s[d],s[d]=l,o=s[(s[f]+s[d])%256],p+=String.fromCharCode(e.charCodeAt(c)^o);return p }
/**
* @license
* Licensed under the MIT License.
* http://opensource.org/licenses/mit-license
* Author: Owen Leong (@owenl131)
* Date: 15 Oct 2020
* References:
* https://www.cs.cmu.edu/~dst/Adobe/Gallery/anon21jul01-pdf-encryption.txt
* https://github.com/foliojs/pdfkit/blob/master/lib/security.js
* http://www.fpdf.org/en/script/script37.php
*/var P={print:4,modify:8,copy:16,"annot-forms":32};function k(t,e,r,n){this.v=1,this.r=2;var i=192;t.forEach((function(t){if(void 0!==P.perm)throw new Error("Invalid permission: "+t);i+=P[t]})),this.padding="(¿N^Nu Ad\0NVÿú \b..\0¶Ðh> /\f©þdSiz";var a=(e+this.padding).substr(0,32),o=(r+this.padding).substr(0,32);this.O=this.processOwnerPassword(a,o),this.P=-(1+(255^i)),this.encryptionKey=A(a+this.O+this.lsbFirstWord(this.P)+this.hexToBytes(n)).substr(0,5),this.U=_(this.encryptionKey,this.padding)}function F(t){if(/[^\u0000-\u00ff]/.test(t))throw new Error("Invalid PDF Name Object: "+t+", Only accept ASCII characters.");for(var e="",r=t.length,n=0;n< r ; n + + ) { var i = t.charCodeAt(n);if(i<33||35===i||37===i||40===i||41===i||47===i||60===i||62===i||91===i||93===i||123===i||125===i||i > 126)e+="#"+("0"+i.toString(16)).slice(-2);else e+=t[n]}return e}function I(t){if("object"!==e(t))throw new Error("Invalid Context passed to initialize PubSub (jsPDF-module)");var n={};this.subscribe=function(t,e,r){if(r=r||!1,"string"!=typeof t||"function"!=typeof e||"boolean"!=typeof r)throw new Error("Invalid arguments passed to PubSub.subscribe (jsPDF-module)");n.hasOwnProperty(t)||(n[t]={});var i=Math.random().toString(35);return n[t][i]=[e,!!r],i},this.unsubscribe=function(t){for(var e in n)if(n[e][t])return delete n[e][t],0===Object.keys(n[e]).length& & delete n[e],!0;return!1},this.publish=function(e){if(n.hasOwnProperty(e)){var a=Array.prototype.slice.call(arguments,1),o=[];for(var s in n[e]){var c=n[e][s];try{c[0].apply(t,a)}catch(t){r.console& & i.error("jsPDF PubSub Error",t.message,t)}c[1]& & o.push(s)}o.length& & o.forEach(this.unsubscribe)}},this.getTopics=function(){return n}}function C(t){if(!(this instanceof C))return new C(t);var e="opacity,stroke-opacity".split(",");for(var r in t)t.hasOwnProperty(r)&&e.indexOf(r)>=0&&(this[r]=t[r]); this.id="",this.objectNumber=-1}function j(t,e){this.gState=t,this.matrix=e,this.id="",this.objectNumber=-1}function O(t,e,r,n,i){if(!(this instanceof O))return new O(t,e,r,n,i);this.type="axial"===t?2:3,this.coords=e,this.colors=r,j.call(this,n,i)}function B(t,e,r,n,i){if(!(this instanceof B))return new B(t,e,r,n,i);this.boundingBox=t,this.xStep=e,this.yStep=r,this.stream="",this.cloneIndex=0,j.call(this,n,i)}function M(t){var n,a="string"==typeof arguments[0]?arguments[0]:"p",o=arguments[1],s=arguments[2],c=arguments[3],f=[],d=1,p=16,g="S",m=null;"object"===e(t=t||{})& & (a=t.orientation,o=t.unit||o,s=t.format||s,c=t.compress||t.compressPdf||c,null!==(m=t.encryption||null)& & (m.userPassword=m.userPassword||"",m.ownerPassword=m.ownerPassword||"",m.userPermissions=m.userPermissions||[]),d="number"==typeof t.userUnit?Math.abs(t.userUnit):1,void 0!==t.precision& & (n=t.precision),void 0!==t.floatPrecision&&(p=t.floatPrecision),g=t.defaultPathOperation||"S"),f=t.filters||(!0===c?["FlateEncode"]:f),o=o||"mm",a=(""+(a||"P")).toLowerCase(); var v=t.putOnlyUsedFonts||!1,b={},y={internal:{},__private__:{}};y.__private__.PubSub=I;var w="1.3",N=y.__private__.getPdfVersion=function(){return w};y.__private__.setPdfVersion=function(t){w=t};var L={a0:[2383.94,3370.39],a1:[1683.78,2383.94],a2:[1190.55,1683.78],a3:[841.89,1190.55],a4:[595.28,841.89],a5:[419.53,595.28],a6:[297.64,419.53],a7:[209.76,297.64],a8:[147.4,209.76],a9:[104.88,147.4],a10:[73.7,104.88],b0:[2834.65,4008.19],b1:[2004.09,2834.65],b2:[1417.32,2004.09],b3:[1000.63,1417.32],b4:[708.66,1000.63],b5:[498.9,708.66],b6:[354.33,498.9],b7:[249.45,354.33],b8:[175.75,249.45],b9:[124.72,175.75],b10:[87.87,124.72],c0:[2599.37,3676.54],c1:[1836.85,2599.37],c2:[1298.27,1836.85],c3:[918.43,1298.27],c4:[649.13,918.43],c5:[459.21,649.13],c6:[323.15,459.21],c7:[229.61,323.15],c8:[161.57,229.61],c9:[113.39,161.57],c10:[79.37,113.39],dl:[311.81,623.62],letter:[612,792],"government-letter":[576,756],legal:[612,1008],"junior-legal":[576,360],ledger:[1224,792],tabloid:[792,1224],"credit-card":[153,243]};y.__private__.getPageFormats=function(){return L};var A=y.__private__.getPageFormat=function(t){return L[t]};s=s||"a4";var x={COMPAT:"compat",ADVANCED:"advanced"},S=x.COMPA
/**
* @license
* Copyright (c) 2014 Steven Spungin (TwelveTone LLC) steven@twelvetone.tv
*
* Licensed under the MIT License.
* http://opensource.org/licenses/mit-license
*/
function(t){var e=function(t){if(void 0!==t&&""!=t)return!0}; M.API.events.push(["addPage",function(t){this.internal.getPageInfo(t.pageNumber).pageContext.annotations=[]}]),t.events.push(["putPage",function(t){for(var r,n,i,a=this.internal.getCoordinateString,o=this.internal.getVerticalCoordinateString,s=this.internal.getPageInfoByObjId(t.objId),c=t.pageContext.annotations,u=!1,l=0;l< c.length & & ! u ; l + + ) switch ( ( r = c[l]).type){case"link":(e(r.options.url)||e(r.options.pageNumber))&&(u=!0);break;case"reference":case"text":case"freetext":u=!0}if(0!=u){this.internal.write("/Annots [ " ) ; for ( var h = 0;h<c.length;h++){r=c[h];var f = this.internal.pdfEscape,d=this.internal.getEncryptor(t.objId);switch(r.type){case"reference":this.internal.write(" " + r . object . objId + " 0 R " ) ; break ; case " text " :var p = this.internal.newAdditionalObject(),g=this.internal.newAdditionalObject(),m=this.internal.getEncryptor(p.objId),v=r.title||"Note";i="<</Type / Annot / Subtype / Text " + ( n = "/Rect [" + a ( r . bounds . x ) + " " + o ( r . bounds . y + r . bounds . h ) + " " + a ( r . bounds . x + r . bounds . w ) + " " + o ( r . bounds . y ) + " ] " ) + " / Contents ( " + f ( m ( r . contents ) ) + " ) " , i + = " / Popup " + g . objId + " 0 R " , i + = " / P " + s . objId + " 0 R " , i + = " / T ( " + f ( m ( v ) ) + " ) > >",p.content=i;var b=p.objId+" 0 R";i="< < /Type /Annot /Subtype /Popup "+(n="/Rect ["+a(r.bounds.x+30)+" "+o(r.bounds.y+r.bounds.h)+" "+a(r.bounds.x+r.bounds.w+30)+" "+o(r.bounds.y)+"] ")+" /Parent "+b,r.open& & (i+=" /Open true"),i+=" >>",g.content=i,this.internal.write(p.objId,"0 R",g.objId,"0 R");break;case"freetext":n="/Rect ["+a(r.bounds.x)+" "+o(r.bounds.y)+" "+a(r.bounds.x+r.bounds.w)+" "+o(r.bounds.y+r.bounds.h)+"] ";var y=r.color||"#000000";i="< < /Type /Annot /Subtype /FreeText "+n+"/Contents ("+f(d(r.contents))+")",i+=" /DS(font: Helvetica,sans-serif 12.0pt; text-align:left; color:#"+y+")",i+=" /Border [0 0 0]",i+=" >>",this.internal.write(i);break;case"link":if(r.options.name){var w=this.annotations._nameMap[r.options.name];r.options.pageNumber=w.page,r.options.top=w.y}else r.options.top||(r.options.top=0);if(n="/Rect ["+r.finalBounds.x+" "+r.finalBounds.y+" "+r.finalBounds.w+" "+r.finalBounds.h+"] ",i="",r.options.url)i="< < /Type /Annot /Subtype /Link "+n+"/Border [0 0 0] /A < < /S /URI /URI ("+f(d(r.options.url))+") >>";else if(r.options.pageNumber){switch(i="< < /Type /Annot /Subtype /Link "+n+"/Border [0 0 0] /Dest ["+this.internal.getPageInfo(r.options.pageNumber).objId+" 0 R",r.options.magFactor=r.options.magFactor||"XYZ",r.options.magFactor){case"Fit":i+=" /Fit]";break;case"FitH":i+=" /FitH "+r.options.top+"]";break;case"FitV":r.options.left=r.options.left||0,i+=" /FitV "+r.options.left+"]";break;case"XYZ":default:var N=o(r.options.top);r.options.left=r.options.left||0,void 0===r.options.zoom& & (r.options.zoom=0),i+=" /XYZ "+r.options.left+" "+N+" "+r.options.zoom+"]"}}""!=i& & (i+=" >>",this.internal.write(i))}}this.internal.write("]")}}]),t.createAnnotation=function(t){var e=this.internal.getCurrentPageInfo();switch(t.type){case"link":this.link(t.bounds.x,t.bounds.y,t.bounds.w,t.bounds.h,t);break;case"text":case"freetext":e.pageContext.annotations.push(t)}},t.link=function(t,e,r,n,i){var a=this.internal.getCurrentPageInfo(),o=this.internal.getCoordinateString,s=this.internal.getVerticalCoordinateString;a.pageContext.annotations.push({finalBounds:{x:o(t),y:s(e),w:o(t+r),h:s(e+n)},options:i,type:"link"})},t.textWithLink=function(t,e,r,n){var i,a,o=this.getTextWidth(t),s=this.internal.getLineHeight()/this.internal.scaleFactor;if(void 0!==n.maxWidth){a=n.maxWidth;var c=this.splitTextToSize(t,a).length;i=Math.ceil(s*c)}else a=o,i=s;return this.text(t,e,r,n),r+=.2*s,"center"===n.align& & (e-=o/2),"right"===n.align& & (e-=o),this.link(e,r-s,a,i,n),o},t.getTextWidth=function(t){var e=this.internal.getFontSize();return this.getStringUnitWidth(t)*e/this.internal.scaleFactor}}(M.API),
/**
* @license
* Copyright (c) 2017 Aras Abbasi
*
* Licensed under the MIT License.
* http://opensource.org/licenses/mit-license
*/
function(t){var e={1569:[65152],1570:[65153,65154],1571:[65155,65156],1572:[65157,65158],1573:[65159,65160],1574:[65161,65162,65163,65164],1575:[65165,65166],1576:[65167,65168,65169,65170],1577:[65171,65172],1578:[65173,65174,65175,65176],1579:[65177,65178,65179,65180],1580:[65181,65182,65183,65184],1581:[65185,65186,65187,65188],1582:[65189,65190,65191,65192],1583:[65193,65194],1584:[65195,65196],1585:[65197,65198],1586:[65199,65200],1587:[65201,65202,65203,65204],1588:[65205,65206,65207,65208],1589:[65209,65210,65211,65212],1590:[65213,65214,65215,65216],1591:[65217,65218,65219,65220],1592:[65221,65222,65223,65224],1593:[65225,65226,65227,65228],1594:[65229,65230,65231,65232],1601:[65233,65234,65235,65236],1602:[65237,65238,65239,65240],1603:[65241,65242,65243,65244],1604:[65245,65246,65247,65248],1605:[65249,65250,65251,65252],1606:[65253,65254,65255,65256],1607:[65257,65258,65259,65260],1608:[65261,65262],1609:[65263,65264,64488,64489],1610:[65265,65266,65267,65268],1649:[64336,64337],1655:[64477],1657:[64358,64359,64360,64361],1658:[64350,64351,64352,64353],1659:[64338,64339,64340,64341],1662:[64342,64343,64344,64345],1663:[64354,64355,64356,64357],1664:[64346,64347,64348,64349],1667:[64374,64375,64376,64377],1668:[64370,64371,64372,64373],1670:[64378,64379,64380,64381],1671:[64382,64383,64384,64385],1672:[64392,64393],1676:[64388,64389],1677:[64386,64387],1678:[64390,64391],1681:[64396,64397],1688:[64394,64395],1700:[64362,64363,64364,64365],1702:[64366,64367,64368,64369],1705:[64398,64399,64400,64401],1709:[64467,64468,64469,64470],1711:[64402,64403,64404,64405],1713:[64410,64411,64412,64413],1715:[64406,64407,64408,64409],1722:[64414,64415],1723:[64416,64417,64418,64419],1726:[64426,64427,64428,64429],1728:[64420,64421],1729:[64422,64423,64424,64425],1733:[64480,64481],1734:[64473,64474],1735:[64471,64472],1736:[64475,64476],1737:[64482,64483],1739:[64478,64479],1740:[64508,64509,64510,64511],1744:[64484,64485,64486,64487],1746:[64430,64431],1747:[64432,64433]},r={65247:{65154:65269,65156:65271,65160:65273,65166:65275},65248:{65154:65270,65156:65272,65160:65274,65166:65276},65165:{65247:{65248:{65258:65010}}},1617:{1612:64606,1613:64607,1614:64608,1615:64609,1616:64610}},n={1612:64606,1613:64607,1614:64608,1615:64609,1616:64610},i=[1570,1571,1573,1575];t.__arabicParser__={};var a=t.__arabicParser__.isInArabicSubstitutionA=function(t){return void 0!==e[t.charCodeAt(0)]},o=t.__arabicParser__.isArabicLetter=function(t){return"string"==typeof t& & /^[\u0600-\u06FF\u0750-\u077F\u08A0-\u08FF\uFB50-\uFDFF\uFE70-\uFEFF]+$/.test(t)},s=t.__arabicParser__.isArabicEndLetter=function(t){return o(t)& & a(t)& & e[t.charCodeAt(0)].length< =2},c=t.__arabicParser__.isArabicAlfLetter=function(t){return o(t)&&i.indexOf(t.charCodeAt(0))>=0}; t.__arabicParser__.arabicLetterHasIsolatedForm=function(t){return o(t)&&a(t)&&e[t.charCodeAt(0)].length>=1}; var u=t.__arabicParser__.arabicLetterHasFinalForm=function(t){return o(t)&&a(t)&&e[t.charCodeAt(0)].length>=2}; t.__arabicParser__.arabicLetterHasInitialForm=function(t){return o(t)&&a(t)&&e[t.charCodeAt(0)].length>=3}; var l=t.__arabicParser__.arabicLetterHasMedialForm=function(t){return o(t)& & a(t)& & 4==e[t.charCodeAt(0)].length},h=t.__arabicParser__.resolveLigatures=function(t){var e=0,n=r,i="",a=0;for(e=0;e< t.length ; e + = 1 ) void 0 ! = = n [ t . charCodeAt ( e ) ] ? ( a + + , " number " = = typeof ( n = n[t.charCodeAt(e)])&&(i+=String.fromCharCode(n),n=r,a=0),e===t.length-1&&(n=r,i+=t.charAt(e-(a-1)),e-=a-1,a=0)):(n=r,i+=t.charAt(e-a),e-=a,a=0);return i } ; t . __arabicParser__ . isArabicDiacritic = function(t){return void 0 ! = = t & & void 0 ! = = n [ t . charCodeAt ( 0 ) ] } ; var f = t.__arabicParser__.getCorrectForm=function(t,e,r){return o ( t ) ? ! 1 = ==a(t)?-1:!u(t)||!o(e)&&!o(r)||!o(r)&&s(e)||s(t)&&!o(e)||s(t)&&c(e)||s(t)&&s(e)?0:l(t)&&o(e)&&!s(e)&&o(r)&&u(r)?3:s(t)||!o(r)?1:2:-1},d=function(t){var r = 0,n=0,i=0,a="",s="",c="",u=(t=t||"").split("\\s+"),l=[];for(r=0;r<u.length;r+=1){for(l.push(""),n=0;n<u[r].length;n+=1)a=u[r][n],s=u[r][n-1],c=u[r][n+1],o(a)?(i=f(a,s,c),l[r]+=-1!==i?String.fromCharCode(e[a.charCodeAt(0)][i]):a):l[r]+=a;l[r]=h(l[r])}return l . join
/** @license
* jsPDF Autoprint Plugin
*
* Licensed under the MIT License.
* http://opensource.org/licenses/mit-license
*/
function(t){t.autoPrint=function(t){var e;switch((t=t||{}).variant=t.variant||"non-conform",t.variant){case"javascript":this.addJS("print({});");break;case"non-conform":default:this.internal.events.subscribe("postPutResources",(function(){e=this.internal.newObject(),this.internal.out("< < "),this.internal.out("/S /Named"),this.internal.out("/Type /Action"),this.internal.out("/N /Print"),this.internal.out(">>"),this.internal.out("endobj")})),this.internal.events.subscribe("putCatalog",(function(){this.internal.out("/OpenAction "+e+" 0 R")}))}return this}}(M.API),
/**
* @license
* Copyright (c) 2014 Steven Spungin (TwelveTone LLC) steven@twelvetone.tv
*
* Licensed under the MIT License.
* http://opensource.org/licenses/mit-license
*/
function(t){var e=function(){var t=void 0;Object.defineProperty(this,"pdf",{get:function(){return t},set:function(e){t=e}});var e=150;Object.defineProperty(this,"width",{get:function(){return e},set:function(t){e=isNaN(t)||!1===Number.isInteger(t)||t< 0 ? 150:t , this . getContext ( " 2d " ) . pageWrapXEnabled & & ( this . getContext ( " 2d " ) . pageWrapX = e+1)}});var r = 300;Object.defineProperty(this,"height",{get:function(){return r } , set:function ( t ) { r = isNaN(t)||!1===Number.isInteger(t)||t<0?300:t,this.getContext("2d").pageWrapYEnabled&&(this.getContext("2d").pageWrapY=r+1)}});var n = [];Object.defineProperty(this,"childNodes",{get:function(){return n } , set:function ( t ) { n = t}});var i = {};Object.defineProperty(this,"style",{get:function(){return i } , set:function ( t ) { i = t}}),Object.defineProperty(this,"parentNode",{})};e.prototype.getContext=function(t,e){var r ; if ( " 2d " ! = = ( t = t||"2d"))return null ; for ( r in e ) this . pdf . context2d . hasOwnProperty ( r ) & & ( this . pdf . context2d [ r ] = e [ r ] ) ; return this . pdf . context2d . _canvas = this,this.pdf.context2d},e.prototype.toDataURL=function(){throw new Error ( " toDataURL is not implemented . " ) } , t . events . push ( [ " initialized " , function ( ) { this . canvas = new e , this . canvas . pdf = this}])}(M.API),function(t){var r = {left:0,top:0,bottom:0,right:0},n=!1,i=function(){void 0 = ==this.internal.__cell__&&(this.internal.__cell__={},this.internal.__cell__.padding=3,this.internal.__cell__.headerFunction=void 0 , this . internal . __cell__ . margins = Object.assign({},r),this.internal.__cell__.margins.width=this.getPageWidth(),a.call(this))},a=function(){this.internal.__cell__.lastCell=new o , this . internal . __cell__ . pages = 1},o=function(){var t = arguments[0];Object.defineProperty(this,"x",{enumerable:!0,get:function(){return t } , set:function ( e ) { t = e}});var e = arguments[1];Object.defineProperty(this,"y",{enumerable:!0,get:function(){return e } , set:function ( t ) { e = t}});var r = arguments[2];Object.defineProperty(this,"width",{enumerable:!0,get:function(){return r } , set:function ( t ) { r = t}});var n = arguments[3];Object.defineProperty(this,"height",{enumerable:!0,get:function(){return n } , set:function ( t ) { n = t}});var i = arguments[4];Object.defineProperty(this,"text",{enumerable:!0,get:function(){return i } , set:function ( t ) { i = t}});var a = arguments[5];Object.defineProperty(this,"lineNumber",{enumerable:!0,get:function(){return a } , set:function ( t ) { a = t}});var o = arguments[6];return Object . defineProperty ( this , " align " , { enumerable: ! 0 , get:function ( ) { return o } , set:function ( t ) { o = t}}),this};o.prototype.clone=function(){return new o ( this . x , this . y , this . width , this . height , this . text , this . lineNumber , this . align ) } , o . prototype . toArray = function(){return[this.x,this.y,this.width,this.height,this.text,this.lineNumber,this.align]},t.setHeaderFunction=function(t){return i . call ( this ) , this . internal . __cell__ . headerFunction = "function" = = typeof t ? t:void 0 , this } , t . getTextDimensions = function(t,e){i.call(this);var r = (e=e||{}).fontSize||this.getFontSize(),n=e.font||this.getFont(),a=e.scaleFactor||this.internal.scaleFactor,o=0,s=0,c=0,u=this;if(!Array.isArray(t)&&"string"!=typeof t ) { if ( " number " ! = typeof t ) throw new Error ( " getTextDimensions expects text-parameter to be of type String or type Number or an Array of Strings . " ) ; t = String(t)}var l = e.maxWidth;l > 0?"string"==typeof t?t=this.splitTextToSize(t,l):"[object Array]"===Object.prototype.toString.call(t)& & (t=t.reduce((function(t,e){return t.concat(u.splitTextToSize(e,l))}),[])):t=Array.isArray(t)?t:[t];for(var h=0;h< t.length ; h + + ) o < ( c = this.getStringUnitWidth(t[h],{font:n})*r)&&(o=c);return 0 ! = = o & & ( s = t.length),{w:o/=a,h:Math.max((s*r*this.getLineHeightFactor()-r*(this.getLineHeightFactor()-1))/a,0)}},t.cellAddPage=function(){i.call(this),this.addPage();var t = this.internal.__cell__.margins||r;return this . internal . __cell__ . lastCell = new o ( t . left , t . top , void 0 , void 0 ) , this . internal . __cell__ . pages + = 1 , this } ; var s = t.cell=function(){var t ; t = arguments[0]instanceof o ? arguments [ 0 ] :new o ( arguments [ 0 ] , arguments [ 1 ] , arguments [ 2 ] , arguments [ 3 ] , arguments [ 4 ] , arguments [ 5 ] ) , i . call ( this ) ; var e = this.internal.__cell__.lastCell,a=this.internal.__cell__.padding,s=this.internal.__cell__.margins||r,c=this.internal.__cell__.tab
/**
* @license
* jsPDF filters PlugIn
* Copyright (c) 2014 Aras Abbasi
*
* Licensed under the MIT License.
* http://opensource.org/licenses/mit-license
*/!function(t){var e=function(t){var e,r,n,i,a,o,s,c,u,l;for(/[^\x00-\xFF]/.test(t),r=[],n=0,i=(t+=e="\0\0\0\0".slice(t.length%4||4)).length;i>n;n+=4)0!==(a=(t.charCodeAt(n)< < 24 ) + ( t . charCodeAt ( n + 1 ) < < 16 ) + ( t . charCodeAt ( n + 2 ) < < 8 ) + t . charCodeAt ( n + 3 ) ) ? ( o = (a=((a=((a=((a=(a-(l=a%85))/85)-(u=a%85))/85)-(c=a%85))/85)-(s=a%85))/85)%85,r.push(o+33,s+33,c+33,u+33,l+33)):r.push(122);return function ( t , e ) { for ( var r = e;r > 0;r--)t.pop()}(r,e.length),String.fromCharCode.apply(String,r)+"~>"},r=function(t){var e,r,n,i,a,o=String,s="length",c=255,u="charCodeAt",l="slice",h="replace";for(t[l](-2),t=t[l](0,-2)[h](/\s/g,"")[h]("z","!!!!!"),n=[],i=0,a=(t+=e="uuuuu"[l](t[s]%5||5))[s];a>i;i+=5)r=52200625*(t[u](i)-33)+614125*(t[u](i+1)-33)+7225*(t[u](i+2)-33)+85*(t[u](i+3)-33)+(t[u](i+4)-33),n.push(c&r>>24,c&r>>16,c&r>>8,c&r); return function(t,e){for(var r=e;r>0;r--)t.pop()}(n,e[s]),o.fromCharCode.apply(o,n)},n=function(t){var e=new RegExp(/^([0-9A-Fa-f]{2})+$/);if(-1!==(t=t.replace(/\s/g,"")).indexOf(">")&&(t=t.substr(0,t.indexOf(">"))),t.length%2&&(t+="0"),!1===e.test(t))return""; for(var r="",n=0;n< t.length ; n + = 2 ) r + = String . fromCharCode ( " 0x " + ( t [ n ] + t [ n + 1 ] ) ) ; return r } , i = function(t){for(var e = new Uint8Array ( t . length ) , r = t.length;r--;)e[r]=t.charCodeAt(r);return t = (e=_e(e)).reduce((function(t,e){return t + String . fromCharCode ( e ) } ) , " " ) } ; t . processDataByFilters = function(t,a){var o = 0,s=t||"",c=[];for("string"==typeof(a=a||[])&&(a=[a]),o=0;o<a.length;o+=1)switch(a[o]){case"ASCII85Decode":case"/ASCII85Decode":s=r(s),c.push("/ASCII85Encode");break;case"ASCII85Encode":case"/ASCII85Encode":s=e(s),c.push("/ASCII85Decode");break;case"ASCIIHexDecode":case"/ASCIIHexDecode":s=n(s),c.push("/ASCIIHexEncode");break;case"ASCIIHexEncode":case"/ASCIIHexEncode":s=s.split("").map((function(t){return("0"+t.charCodeAt().toString(16)).slice(-2)})).join("")+" > ",c.push("/ASCIIHexDecode");break;case"FlateEncode":case"/FlateEncode":s=i(s),c.push("/FlateDecode");break;default:throw new Error('The filter: "'+a[o]+'" is not implemented')}return{data:s,reverseChain:c.reverse().join(" ")}}}(M.API),
/**
* @license
* jsPDF fileloading PlugIn
* Copyright (c) 2018 Aras Abbasi (aras.abbasi@gmail.com)
*
* Licensed under the MIT License.
* http://opensource.org/licenses/mit-license
*/
function(t){t.loadFile=function(t,e,r){return function(t,e,r){e=!1!==e,r="function"==typeof r?r:function(){};var n=void 0;try{n=function(t,e,r){var n=new XMLHttpRequest,i=0,a=function(t){var e=t.length,r=[],n=String.fromCharCode;for(i=0;i< e ; i + = 1 ) r . push ( n ( 255 & t . charCodeAt ( i ) ) ) ; return r . join ( " " ) } ; if ( n . open ( " GET " , t , ! e ) , n . overrideMimeType ( " text / plain ; charset = x-user-defined"),!1===e&&(n.onload=function(){200===n.status?r(a(this.responseText)):r(void 0 ) } ) , n . send ( null ) , e & & 200 = ==n.status)return a ( n . responseText ) } ( t , e , r ) } catch ( t ) { } return n } ( t , e , r ) } , t . loadImageFile = t.loadFile}(M.API),function(n){function i ( ) { return ( r . html2canvas ? Promise . resolve ( r . html2canvas ) : " object " = = = ( void 0 = ==t?"undefined":e(t))&&"undefined"!=typeof module ? new Promise ( ( function ( t , e ) { try { t ( require ( " html2canvas " ) ) } catch ( t ) { e ( t ) } } ) ) : " function " = = typeof define & & define . amd ? new Promise ( ( function ( t , e ) { try { require ( [ " html2canvas " ] , t ) } catch ( t ) { e ( t ) } } ) ) :Promise . reject ( new Error ( " Could not load html2canvas " ) ) ) . catch ( ( function ( t ) { return Promise . reject ( new Error ( " Could not load html2canvas: " + t ) ) } ) ) . then ( ( function ( t ) { return t . default ? t . default:t } ) ) } function a ( ) { return ( r . DOMPurify ? Promise . resolve ( r . DOMPurify ) : " object " = = = ( void 0 = ==t?"undefined":e(t))&&"undefined"!=typeof module ? new Promise ( ( function ( t , e ) { try { t ( require ( " dompurify " ) ) } catch ( t ) { e ( t ) } } ) ) : " function " = = typeof define & & define . amd ? new Promise ( ( function ( t , e ) { try { require ( [ " dompurify " ] , t ) } catch ( t ) { e ( t ) } } ) ) :Promise . reject ( new Error ( " Could not load dompurify " ) ) ) . catch ( ( function ( t ) { return Promise . reject ( new Error ( " Could not load dompurify: " + t ) ) } ) ) . then ( ( function ( t ) { return t . default ? t . default:t } ) ) } var o = function(t){var r = e(t);return"undefined"===r?"undefined":"string"===r||t instanceof String ? " string " : " number " = = = r | | t instanceof Number ? " number " : " function " = = = r | | t instanceof Function ? " function " :t & & t . constructor = ==Array?"array":t&&1===t.nodeType?"element":"object"===r?"object":"unknown"},s=function(t,e){var r = document.createElement(t);for(var n in e . className & & ( r . className = e.className),e.innerHTML&&e.dompurify&&(r.innerHTML=e.dompurify.sanitize(e.innerHTML)),e.style)r.style[n]=e.style[n];return r } , c = function t ( e ) { var r = Object.assign(t.convert(Promise.resolve()),JSON.parse(JSON.stringify(t.template))),n=t.convert(Promise.resolve(),r);return n = (n=n.setProgress(1,t,1,[t])).set(e)};(c.prototype=Object.create(Promise.prototype)).constructor=c,c.convert=function(t,e){return t . __proto__ = e||c.prototype,t},c.template={prop:{src:null,container:null,overlay:null,canvas:null,img:null,pdf:null,pageSize:null,callback:function(){}},progress:{val:0,state:null,n:0,stack:[]},opt:{filename:"file.pdf",margin:[0,0,0,0],enableLinks:!0,x:0,y:0,html2canvas:{},jsPDF:{},backgroundColor:"transparent"}},c.prototype.from=function(t,e){return this . then ( ( function ( ) { switch ( e = e||function(t){switch(o(t)){case"string":return"string";case"element":return"canvas"===t.nodeName.toLowerCase()?"canvas":"element";default:return"unknown"}}(t)){case"string":return this . then ( a ) . then ( ( function ( e ) { return this . set ( { src:s ( " div " , { innerHTML:t , dompurify:e } ) } ) } ) ) ; case " element " :return this . set ( { src:t } ) ; case " canvas " :return this . set ( { canvas:t } ) ; case " img " :return this . set ( { img:t } ) ; default:return this . error ( " Unknown source type . " ) } } ) ) } , c . prototype . to = function(t){switch(t){case"container":return this . toContainer ( ) ; case " canvas " :return this . toCanvas ( ) ; case " img " :return this . toImg ( ) ; case " pdf " :return this . toPdf ( ) ; default:return this . error ( " Invalid target . " ) } } , c . prototype . toContainer = function(){return this . thenList ( [ function ( ) { return this . prop . src | | this . error ( " Cannot duplicate - no source HTML . " ) } , function ( ) { return this . prop . pageSize | | this . setPageSize ( ) } ] ) . then ( ( function ( ) { var t = {position:"relative",display:"inline-block",width:("number"!=typeof this . opt . width | | isNaN ( this . opt . width ) | | " number " ! = typeof this . opt . windowWidth | | isNaN ( this . opt . windowWidth ) ? Math . max ( this . prop . src . clientWidth , this . prop . src . scrollWidth , this . prop . src . offsetWidth ) :this . opt . windowWidth ) + " px " , left:0 , right:0 , top:0 , margin: " auto " , backgroundColor:this . opt . backgroundColor } , e = function t ( e , r ) { for ( var n = 3===e.nodeType?document.crea
/**
* @license
* ====================================================================
* Copyright (c) 2013 Youssef Beddad, youssef.beddad@gmail.com
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files (the
* "Software"), to deal in the Software without restriction, including
* without limitation the rights to use, copy, modify, merge, publish,
* distribute, sublicense, and/or sell copies of the Software, and to
* permit persons to whom the Software is furnished to do so, subject to
* the following conditions:
*
* The above copyright notice and this permission notice shall be
* included in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
* LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
* OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
* WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
* ====================================================================
*/
function(t){var e,r,n;t.addJS=function(t){return n=t,this.internal.events.subscribe("postPutResources",(function(){e=this.internal.newObject(),this.internal.out("< < "),this.internal.out("/Names [(EmbeddedJS) "+(e+1)+" 0 R]"),this.internal.out(">>"),this.internal.out("endobj"),r=this.internal.newObject(),this.internal.out("< < "),this.internal.out("/S /JavaScript"),this.internal.out("/JS ("+n+")"),this.internal.out(">>"),this.internal.out("endobj")})),this.internal.events.subscribe("putCatalog",(function(){void 0!==e& & void 0!==r& & this.internal.out("/Names < < /JavaScript "+e+" 0 R>>")})),this}}(M.API),
/**
* @license
* Copyright (c) 2014 Steven Spungin (TwelveTone LLC) steven@twelvetone.tv
*
* Licensed under the MIT License.
* http://opensource.org/licenses/mit-license
*/
function(t){var e;t.events.push(["postPutResources",function(){var t=this,r=/^(\d+) 0 obj$/;if(this.outline.root.children.length>0)for(var n=t.outline.render().split(/\r\n/),i=0;i< n.length ; i + + ) { var a = n[i],o=r.exec(a);if(null!=o){var s = o[1];t.internal.newObjectDeferredBegin(s,!1)}t.internal.write(a)}if(this.outline.createNamedDestinations){var c = this.internal.pages.length,u=[];for(i=0;i<c;i++){var l = t.internal.newObject();u.push(l);var h = t.internal.getPageInfo(i+1);t.internal.write("<< / D [ " + h . objId + " 0 R / XYZ null null null ] > > endobj")}var f=t.internal.newObject();t.internal.write("< < /Names [ ");for(i=0;i< u.length ; i + + ) t . internal . write ( " ( page_ " + ( i + 1 ) + " ) " + u [ i ] + " 0 R " ) ; t . internal . write ( " ] > >","endobj"),e=t.internal.newObject(),t.internal.write("< < /Dests "+f+" 0 R"),t.internal.write(">>","endobj")}}]),t.events.push(["putCatalog",function(){this.outline.root.children.length>0& & (this.internal.write("/Outlines",this.outline.makeRef(this.outline.root)),this.outline.createNamedDestinations& & this.internal.write("/Names "+e+" 0 R"))}]),t.events.push(["initialized",function(){var t=this;t.outline={createNamedDestinations:!1,root:{children:[]}},t.outline.add=function(t,e,r){var n={title:e,options:r,children:[]};return null==t& & (t=this.root),t.children.push(n),n},t.outline.render=function(){return this.ctx={},this.ctx.val="",this.ctx.pdf=t,this.genIds_r(this.root),this.renderRoot(this.root),this.renderItems(this.root),this.ctx.val},t.outline.genIds_r=function(e){e.id=t.internal.newObjectDeferred();for(var r=0;r< e.children.length ; r + + ) this . genIds_r ( e . children [ r ] ) } , t . outline . renderRoot = function(t){this.objStart(t),this.line("/Type / Outlines " ) , t . children . length > 0& & (this.line("/First "+this.makeRef(t.children[0])),this.line("/Last "+this.makeRef(t.children[t.children.length-1]))),this.line("/Count "+this.count_r({count:0},t)),this.objEnd()},t.outline.renderItems=function(e){for(var r=this.ctx.pdf.internal.getVerticalCoordinateString,n=0;n< e.children.length ; n + + ) { var i = e.children[n];this.objStart(i),this.line("/Title " + this . makeString ( i . title ) ) , this . line ( " / Parent " + this . makeRef ( e ) ) , n > 0& & this.line("/Prev "+this.makeRef(e.children[n-1])),n< e.children.length-1 & & this . line ( " / Next " + this . makeRef ( e . children [ n + 1 ] ) ) , i . children . length > 0& & (this.line("/First "+this.makeRef(i.children[0])),this.line("/Last "+this.makeRef(i.children[i.children.length-1])));var a=this.count=this.count_r({count:0},i);if(a>0& & this.line("/Count "+a),i.options& & i.options.pageNumber){var o=t.internal.getPageInfo(i.options.pageNumber);this.line("/Dest ["+o.objId+" 0 R /XYZ 0 "+r(0)+" 0]")}this.objEnd()}for(var s=0;s< e.children.length ; s + + ) this . renderItems ( e . children [ s ] ) } , t . outline . line = function(t){this.ctx.val+=t+"\r\n"},t.outline.makeRef=function(t){return t . id + " 0 R " } , t . outline . makeString = function(e){return"("+t.internal.pdfEscape(e)+")"},t.outline.objStart=function(t){this.ctx.val+="\r\n"+t.id+" 0 obj \ r \ n < < \ r \ n " } , t . outline . objEnd = function(){this.ctx.val+=" > > \r\nendobj\r\n"},t.outline.count_r=function(t,e){for(var r=0;r< e.children.length ; r + + ) t . count + + , this . count_r ( t , e . children [ r ] ) ; return t . count } } ] ) } ( M . API ) ,
/**
* @license
*
* Licensed under the MIT License.
* http://opensource.org/licenses/mit-license
*/
function(t){var e=[192,193,194,195,196,197,198,199];t.processJPEG=function(t,r,n,i,a,o){var s,c=this.decode.DCT_DECODE,u=null;if("string"==typeof t||this.__addimage__.isArrayBuffer(t)||this.__addimage__.isArrayBufferView(t)){switch(t=a||t,t=this.__addimage__.isArrayBuffer(t)?new Uint8Array(t):t,(s=function(t){for(var r,n=256*t.charCodeAt(4)+t.charCodeAt(5),i=t.length,a={width:0,height:0,numcomponents:1},o=4;o< i ; o + = 2 ) { if ( o + = n , -1 ! = = e . indexOf ( t . charCodeAt ( o + 1 ) ) ) { r = 256*t.charCodeAt(o+5)+t.charCodeAt(o+6),a={width:256*t.charCodeAt(o+7)+t.charCodeAt(o+8),height:r,numcomponents:t.charCodeAt(o+9)};break}n=256*t.charCodeAt(o+2)+t.charCodeAt(o+3)}return a } ( t = this.__addimage__.isArrayBufferView(t)?this.__addimage__.arrayBufferToBinaryString(t):t)).numcomponents){case 1:o = this.color_spaces.DEVICE_GRAY;break;case 4:o = this.color_spaces.DEVICE_CMYK;break;case 3:o = this.color_spaces.DEVICE_RGB}u={data:t,width:s.width,height:s.height,colorSpace:o,bitsPerComponent:8,filter:c,index:r,alias:n}}return u } } ( M . API ) ; var ke , Fe , Ie , Ce , je , Oe = function(){var t , e , n ; function i ( t ) { var e , r , n , i , a , o , s , c , u , l , h , f , d , p ; for ( this . data = t,this.pos=8,this.palette=[],this.imgData=[],this.transparency={},this.animation=null,this.text={},o=null;;){switch(e=this.readUInt32(),u=function(){var t , e ; for ( e = [],t=0;t<4;++t)e.push(String.fromCharCode(this.data[this.pos++]));return e } . call ( this ) . join ( " " ) ) { case " IHDR " :this . width = this.readUInt32(),this.height=this.readUInt32(),this.bits=this.data[this.pos++],this.colorType=this.data[this.pos++],this.compressionMethod=this.data[this.pos++],this.filterMethod=this.data[this.pos++],this.interlaceMethod=this.data[this.pos++];break;case"acTL":this.animation={numFrames:this.readUInt32(),numPlays:this.readUInt32()||1/0,frames:[]};break;case"PLTE":this.palette=this.read(e);break;case"fcTL":o&&this.animation.frames.push(o),this.pos+=4,o={width:this.readUInt32(),height:this.readUInt32(),xOffset:this.readUInt32(),yOffset:this.readUInt32()},a=this.readUInt16(),i=this.readUInt16()||100,o.delay=1e3*a/i,o.disposeOp=this.data[this.pos++],o.blendOp=this.data[this.pos++],o.data=[];break;case"IDAT":case"fdAT":for("fdAT"===u&&(this.pos+=4,e-=4),t=(null!=o?o.data:void 0 ) | | this . imgData , f = 0;0<=e?f<e:f > e;0< =e?++f:--f)t.push(this.data[this.pos++]);break;case"tRNS":switch(this.transparency={},this.colorType){case 3:if(n=this.palette.length/3,this.transparency.indexed=this.read(e),this.transparency.indexed.length>n)throw new Error("More transparent colors than palette size");if((l=n-this.transparency.indexed.length)>0)for(d=0;0< =l?d< l:d > l;0< =l?++d:--d)this.transparency.indexed.push(255);break;case 0:this.transparency.grayscale=this.read(e)[0];break;case 2:this.transparency.rgb=this.read(e)}break;case"tEXt":s=(h=this.read(e)).indexOf(0),c=String.fromCharCode.apply(String,h.slice(0,s)),this.text[c]=String.fromCharCode.apply(String,h.slice(s+1));break;case"IEND":return o& & this.animation.frames.push(o),this.colors=function(){switch(this.colorType){case 0:case 3:case 4:return 1;case 2:case 6:return 3}}.call(this),this.hasAlphaChannel=4===(p=this.colorType)||6===p,r=this.colors+(this.hasAlphaChannel?1:0),this.pixelBitlength=this.bits*r,this.colorSpace=function(){switch(this.colors){case 1:return"DeviceGray";case 3:return"DeviceRGB"}}.call(this),void(this.imgData=new Uint8Array(this.imgData));default:this.pos+=e}if(this.pos+=4,this.pos>this.data.length)throw new Error("Incomplete or corrupt PNG file")}}i.prototype.read=function(t){var e,r;for(r=[],e=0;0< =t?e< t:e > t;0< =t?++e:--e)r.push(this.data[this.pos++]);return r},i.prototype.readUInt32=function(){return this.data[this.pos++]< < 24 | this . data [ this . pos + + ] < < 16 | this . data [ this . pos + + ] < < 8 | this . data [ this . pos + + ] } , i . prototype . readUInt16 = function(){return this . data [ this . pos + + ] < < 8 | this . data [ this . pos + + ] } , i . prototype . decodePixels = function(t){var e = this.pixelBitlength/8,r=new Uint8Array ( this . width * this . height * e ) , n = 0,i=this;if(null==t&&(t=this.imgData),0===t.length)return new Uint8Array ( 0 ) ; function a ( a , o , s , c ) { var u , l , h , f , d , p , g , m , v , b , y , w , N , L , A , x , S , _ , P , k , F , I = Math.ceil((i.width-a)/s),C=Math.ceil((i.height-o)/c),j=i.width==I&&i.height=
/**
* @license
*
* Copyright (c) 2014 James Robb, https://github.com/jamesbrobb
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files (the
* "Software"), to deal in the Software without restriction, including
* without limitation the rights to use, copy, modify, merge, publish,
* distribute, sublicense, and/or sell copies of the Software, and to
* permit persons to whom the Software is furnished to do so, subject to
* the following conditions:
*
* The above copyright notice and this permission notice shall be
* included in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
* LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
* OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
* WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
* ====================================================================
*/
/**
* @license
* (c) Dean McNamee < dean @ gmail . com > , 2013.
*
* https://github.com/deanm/omggif
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to
* deal in the Software without restriction, including without limitation the
* rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
* sell copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
* IN THE SOFTWARE.
*
* omggif is a JavaScript implementation of a GIF 89a encoder and decoder,
* including animation and compression. It does not rely on any specific
* underlying system, so should run in the browser, Node, or Plask.
*/
function Be(t){var e=0;if(71!==t[e++]||73!==t[e++]||70!==t[e++]||56!==t[e++]||56!=(t[e++]+1& 253)||97!==t[e++])throw new Error("Invalid GIF 87a/89a header.");var r=t[e++]|t[e++]< < 8 , n = t[e++]|t[e++]<<8,i=t[e++],a=i > >7,o=1< < (7&i)+1; t[e++];t[e++];var s=null,c=null;a&&(s=e,c=o,e+=3*o); var u=!0,l=[],h=0,f=null,d=0,p=null;for(this.width=r,this.height=n;u&&e<t.length; )switch(t[e++]){case 33:switch(t[e++]){case 255:if(11!==t[e]||78==t[e+1]&&69==t[e+2]&&84==t[e+3]&&83==t[e+4]&&67==t[e+5]&&65==t[e+6]&&80==t[e+7]&&69==t[e+8]&&50==t[e+9]&&46==t[e+10]&&48==t[e+11]&&3==t[e+12]&&1==t[e+13]&&0==t[e+16])e+=14,p=t[e++]|t[e++]<<8,e++; else for(e+=12;;){if(!((P=t[e++])>=0))throw Error("Invalid block size");if(0===P)break;e+=P}break;case 249:if(4!==t[e++]||0!==t[e+4])throw new Error("Invalid graphics extension block.");var g=t[e++];h=t[e++]|t[e++]< < 8 , f = t[e++],0==(1&g)&&(f=null),d=g > >2&7,e++; break;case 254:for(;;){if(!((P=t[e++])>=0))throw Error("Invalid block size");if(0===P)break;e+=P}break;default:throw new Error("Unknown graphic control label: 0x"+t[e-1].toString(16))}break;case 44:var m=t[e++]|t[e++]< < 8 , v = t[e++]|t[e++]<<8,b=t[e++]|t[e++]<<8,y=t[e++]|t[e++]<<8,w=t[e++],N=w > >6&1,L=1<<(7&w)+1,A=s,x=c,S=!1; if(w>>7){S=!0;A=e,x=L,e+=3*L}var _=e;for(e++;;){var P;if(!((P=t[e++])>=0))throw Error("Invalid block size");if(0===P)break;e+=P}l.push({x:m,y:v,width:b,height:y,has_local_palette:S,palette_offset:A,palette_size:x,data_offset:_,data_length:e-_,transparent_index:f,interlaced:!!N,delay:h,disposal:d});break;case 59:u=!1;break;default:throw new Error("Unknown gif block: 0x"+t[e-1].toString(16))}this.numFrames=function(){return l.length},this.loopCount=function(){return p},this.frameInfo=function(t){if(t< 0 | | t > =l.length)throw new Error("Frame index out of range.");return l[t]},this.decodeAndBlitFrameBGRA=function(e,n){var i=this.frameInfo(e),a=i.width*i.height,o=new Uint8Array(a);Me(t,i.data_offset,o,a);var s=i.palette_offset,c=i.transparent_index;null===c&&(c=256); var u=i.width,l=r-u,h=u,f=4*(i.y*r+i.x),d=4*((i.y+i.height)*r+i.x),p=f,g=4*l;!0===i.interlaced&&(g+=4*r*7); for(var m=8,v=0,b=o.length;v< b ; + + v ) { var y = o[v];if(0===h&&(h=u,(p+=g) > =d&&(g=4*l+4*r*(m-1),p=f+(u+l)*(m<<1),m>>=1)),y===c)p+=4; else{var w=t[s+3*y],N=t[s+3*y+1],L=t[s+3*y+2];n[p++]=L,n[p++]=N,n[p++]=w,n[p++]=255}--h}},this.decodeAndBlitFrameRGBA=function(e,n){var i=this.frameInfo(e),a=i.width*i.height,o=new Uint8Array(a);Me(t,i.data_offset,o,a);var s=i.palette_offset,c=i.transparent_index;null===c&&(c=256); var u=i.width,l=r-u,h=u,f=4*(i.y*r+i.x),d=4*((i.y+i.height)*r+i.x),p=f,g=4*l;!0===i.interlaced&&(g+=4*r*7); for(var m=8,v=0,b=o.length;v< b ; + + v ) { var y = o[v];if(0===h&&(h=u,(p+=g) > =d&&(g=4*l+4*r*(m-1),p=f+(u+l)*(m<<1),m>>=1)),y===c)p+=4; else{var w=t[s+3*y],N=t[s+3*y+1],L=t[s+3*y+2];n[p++]=w,n[p++]=N,n[p++]=L,n[p++]=255}--h}}}function Me(t,e,r,n){for(var a=t[e++],o=1< < a , s = o+1,c=s+1,u=a+1,l=(1<<u)-1,h=0,f=0,d=0,p=t[e++],g=new Int32Array ( 4096 ) , m = null;;){for(;h<16&&0!==p;)f|=t[e++]<<h,h+=8,1===p?p=t[e++]:--p;if(h<u)break;var v = f&l;if(f > >=u,h-=u,v!==o){if(v===s)break;for(var b=v< c ? v:m , y = 0,w=b;w > o;)w=g[w]>>8,++y;var N=w;if(d+y+(b!==v?1:0)>n)return void i.log("Warning, gif stream longer than expected.");r[d++]=N;var L=d+=y;for(b!==v&&(r[d++]=N),w=b; y--;)w=g[w],r[--L]=255&w,w>>=8; null!==m& & c< 4096 & & ( g [ c + + ] = m < < 8 | N , c > =l+1& & u< 12 & & ( + + u , l = l<<1|1)),m=v}else c = s+1,l=(1<<(u=a+1))-1,m=null}return d ! = = n & & i . log ( " Warning , gif stream shorter than expected . " ) , r }
/**
* @license
Copyright (c) 2008, Adobe Systems Incorporated
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
* Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
* Neither the name of Adobe Systems Incorporated nor the names of its
contributors may be used to endorse or promote products derived from
this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/function Ee(t){var e,r,n,i,a,o=Math.floor,s=new Array(64),c=new Array(64),u=new Array(64),l=new Array(64),h=new Array(65535),f=new Array(65535),d=new Array(64),p=new Array(64),g=[],m=0,v=7,b=new Array(64),y=new Array(64),w=new Array(64),N=new Array(256),L=new Array(2048),A=[0,1,5,6,14,15,27,28,2,4,7,13,16,26,29,42,3,8,12,17,25,30,41,43,9,11,18,24,31,40,44,53,10,19,23,32,39,45,52,54,20,22,33,38,46,51,55,60,21,34,37,47,50,56,59,61,35,36,48,49,57,58,62,63],x=[0,0,1,5,1,1,1,1,1,1,0,0,0,0,0,0,0],S=[0,1,2,3,4,5,6,7,8,9,10,11],_=[0,0,2,1,3,3,2,4,3,5,5,4,4,0,0,1,125],P=[1,2,3,0,4,17,5,18,33,49,65,6,19,81,97,7,34,113,20,50,129,145,161,8,35,66,177,193,21,82,209,240,36,51,98,114,130,9,10,22,23,24,25,26,37,38,39,40,41,42,52,53,54,55,56,57,58,67,68,69,70,71,72,73,74,83,84,85,86,87,88,89,90,99,100,101,102,103,104,105,106,115,116,117,118,119,120,121,122,131,132,133,134,135,136,137,138,146,147,148,149,150,151,152,153,154,162,163,164,165,166,167,168,169,170,178,179,180,181,182,183,184,185,186,194,195,196,197,198,199,200,201,202,210,211,212,213,214,215,216,217,218,225,226,227,228,229,230,231,232,233,234,241,242,243,244,245,246,247,248,249,250],k=[0,0,3,1,1,1,1,1,1,1,1,1,0,0,0,0,0],F=[0,1,2,3,4,5,6,7,8,9,10,11],I=[0,0,2,1,2,4,4,3,4,7,5,4,4,0,1,2,119],C=[0,1,2,3,17,4,5,33,49,6,18,65,81,7,97,113,19,34,50,129,8,20,66,145,161,177,193,9,35,51,82,240,21,98,114,209,10,22,36,52,225,37,241,23,24,25,26,38,39,40,41,42,53,54,55,56,57,58,67,68,69,70,71,72,73,74,83,84,85,86,87,88,89,90,99,100,101,102,103,104,105,106,115,116,117,118,119,120,121,122,130,131,132,133,134,135,136,137,138,146,147,148,149,150,151,152,153,154,162,163,164,165,166,167,168,169,170,178,179,180,181,182,183,184,185,186,194,195,196,197,198,199,200,201,202,210,211,212,213,214,215,216,217,218,226,227,228,229,230,231,232,233,234,242,243,244,245,246,247,248,249,250];function j(t,e){for(var r=0,n=0,i=new Array,a=1;a< =16;a++){for(var o=1;o< =t[a];o++)i[e[n]]=[],i[e[n]][0]=r,i[e[n]][1]=a,n++,r++;r*=2}return i}function O(t){for(var e=t[0],r=t[1]-1;r>=0;)e& 1< < r & & ( m | = 1 < < v ) , r-- , --v < 0 & & ( 255 = =m?(B(255),B(0)):B(m),v=7,m=0)}function B ( t ) { g . push ( t ) } function M ( t ) { B ( t > >8& 255),B(255& t)}function E(t,e,r,n,i){for(var a,o=i[0],s=i[240],c=function(t,e){var r,n,i,a,o,s,c,u,l,h,f=0;for(l=0;l< 8 ; + + l ) { r = t[f],n=t[f+1],i=t[f+2],a=t[f+3],o=t[f+4],s=t[f+5],c=t[f+6];var p = r+(u=t[f+7]),g=r-u,m=n+c,v=n-c,b=i+s,y=i-s,w=a+o,N=a-o,L=p+w,A=p-w,x=m+b,S=m-b;t[f]=L+x,t[f+4]=L-x;var _ = .707106781*(S+A);t[f+2]=A+_,t[f+6]=A-_;var P = .382683433*((L=N+y)-(S=v+g)),k=.5411961*L+P,F=1.306562965*S+P,I=.707106781*(x=y+v),C=g+I,j=g-I;t[f+5]=j+k,t[f+3]=j-k,t[f+1]=C+F,t[f+7]=C-F,f+=8}for(f=0,l=0;l<8;++l){r=t[f],n=t[f+8],i=t[f+16],a=t[f+24],o=t[f+32],s=t[f+40],c=t[f+48];var O = r+(u=t[f+56]),B=r-u,M=n+c,E=n-c,q=i+s,D=i-s,R=a+o,T=a-o,U=O+R,z=O-R,H=M+q,W=M-q;t[f]=U+H,t[f+32]=U-H;var V = .707106781*(W+z);t[f+16]=z+V,t[f+48]=z-V;var G = .382683433*((U=T+D)-(W=E+B)),Y=.5411961*U+G,J=1.306562965*W+G,X=.707106781*(H=D+E),K=B+X,Z=B-X;t[f+40]=Z+Y,t[f+24]=Z-Y,t[f+8]=K+J,t[f+56]=K-J,f++}for(l=0;l<64;++l)h=t[l]*e[l],d[l]=h > 0?h+.5|0:h-.5|0;return d}(t,e),u=0;u< 64 ; + + u ) p [ A [ u ] ] = c [ u ] ; var l = p[0]-r;r=p[0],0==l?O(n[0]):(O(n[f[a=32767+l]]),O(h[a]));for(var g = 63;g > 0&&0==p[g]; )g--;if(0==g)return O(o),r;for(var m,v=1;v< =g;){for(var b=v;0==p[v]&&v<=g; )++v;var y=v-b;if(y>=16){m=y>>4;for(var w=1;w< =m;++w)O(s);y& =15}a=32767+p[v],O(i[(y< < 4 ) + f [ a ] ] ) , O ( h [ a ] ) , v + + } return 63 ! = g & & O ( o ) , r } function q ( t ) { ( t = Math.min(Math.max(t,1),100),a!=t)&&(!function(t){for(var e = [16,11,10,16,24,40,51,61,12,12,14,19,26,58,60,55,14,13,16,24,40,57,69,56,14,17,22,29,51,87,80,62,18,22,37,56,68,109,103,77,24,35,55,64,81,104,113,92,49,64,78,87,103,121,120,101,72,92,95,98,112,100,103,99],r=0;r<64;r++){var n = o((e[r]*t+50)/100);n=Math.min(Math.max(n,1),255),s[A[r]]=n}for(var i = [17,18,24,47,99,99,99,99,18,21,26,66,99,99,99,99,24,26,56,99,99,99,99,99,47,66,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99],a=0;a<64;a++){var h = o((i[a]*t+50)/100);h=Math.min(Math.max(h,1),255),c[A[a]]=h}for(var f = [1,1.387039845,1.306562965,1.175875602,1,.785694958,
/**
* @license
* Copyright (c) 2017 Aras Abbasi
*
* Licensed under the MIT License.
* http://opensource.org/licenses/mit-license
*/function qe(t,e){if(this.pos=0,this.buffer=t,this.datav=new DataView(t.buffer),this.is_with_alpha=!!e,this.bottom_up=!0,this.flag=String.fromCharCode(this.buffer[0])+String.fromCharCode(this.buffer[1]),this.pos+=2,-1===["BM","BA","CI","CP","IC","PT"].indexOf(this.flag))throw new Error("Invalid BMP File");this.parseHeader(),this.parseBGR()}function De(t){function e(t){if(!t)throw Error("assert :P")}function r(t,e,r){for(var n=0;4>n;n++)if(t[e+n]!=r.charCodeAt(n))return!0;return!1}function n(t,e,r,n,i){for(var a=0;a< i ; a + + ) t [ e + a ] = r [ n + a ] } function i ( t , e , r , n ) { for ( var i = 0;i<n;i++)t[e+i]=r}function a ( t ) { return new Int32Array ( t ) } function o ( t , e ) { for ( var r = [],n=0;n<t;n++)r.push(new e ) ; return r } function s ( t , e ) { var r = [];return function t ( r , n , i ) { for ( var a = i[n],o=0;o<a&&(r.push(i.length > n+1?[]:new e),!(i.length< n + 1 ) ) ; o + + ) t ( r [ o ] , n + 1 , i ) } ( r , 0 , t ) , r } var c = function(){var t = this;function c ( t , e ) { for ( var r = 1<<e-1 > >>0;t&r; )r>>>=1;return r?(t& r-1)+r:t}function u(t,r,n,i,a){e(!(i%n));do{t[r+(i-=n)]=a}while(0< i ) } function l ( t , r , n , i , o ) { if ( e ( 2328 > =o),512>=o)var s=a(512);else if(null==(s=a(o)))return 0;return function(t,r,n,i,o,s){var l,f,d=r,p=1< < n , g = a(16),m=a(16);for(e(0!=o),e(null!=i),e(null!=t),e(0<n),f=0;f<o;++f){if(15<i[f])return 0 ; + + g [ i [ f ] ] } if ( g [ 0 ] = = o ) return 0 ; for ( m [ 1 ] = 0 , l = 1;15 > l;++l){if(g[l]>1< < l ) return 0 ; m [ l + 1 ] = m [ l ] + g [ l ] } for ( f = 0;f<o;++f)l=i[f],0<i[f]&&(s[m[l]++]=f);if(1==m[15])return(i=new h ) . g = 0,i.value=s[0],u(t,d,1,p,i),p;var v , b = -1,y=p-1,w=0,N=1,L=1,A=1<<n;for(f=0,l=1,o=2;l<=n;++l,o<<=1){if(N+=L<<=1,0 > (L-=g[l]))return 0;for(;0< g [ l ] ; --g [ l ] ) ( i = new h ) . g = l,i.value=s[f++],u(t,d+w,o,A,i),w=c(w,l)}for(l=n+1,o=2;15 > =l;++l,o< < =1){if(N+=L< < =1,0>(L-=g[l]))return 0;for(;0< g [ l ] ; --g [ l ] ) { if ( i = new h , ( w & y ) ! = b ) { for ( d + = A , v = 1<<(b=l)-n;15 > b&&!(0>=(v-=g[b])); )++b,v< < =1;p+=A=1< < (v=b-n),t[r+(b=w& y)].g=v+n,t[r+b].value=d-r-b}i.g=l-n,i.value=s[f++],u(t,d+(w>>n),o,A,i),w=c(w,l)}}return N!=2*m[15]-1?0:p}(t,r,n,i,o,s)}function h(){this.value=this.g=0}function f(){this.value=this.g=0}function d(){this.G=o(5,h),this.H=a(5),this.jc=this.Qb=this.qb=this.nd=0,this.pd=o(Dr,f)}function p(t,r,n,i){e(null!=t),e(null!=r),e(2147483648>i),t.Ca=254,t.I=0,t.b=-8,t.Ka=0,t.oa=r,t.pa=n,t.Jd=r,t.Yc=n+i,t.Zc=4< =i?n+i-4+1:n,_(t)}function g(t,e){for(var r=0;0< e-- ; ) r | = k ( t , 128 ) < < e ; return r } function m ( t , e ) { var r = g(t,e);return P ( t ) ? -r:r } function v ( t , r , n , i ) { var a , o = 0;for(e(null!=t),e(null!=r),e(4294967288 > i),t.Sb=i,t.Ra=0,t.u=0,t.h=0,4< i & & ( i = 4),a=0;a<i;++a)o+=r[n+a]<<8*a;t.Ra=o,t.bb=i,t.oa=r,t.pa=n}function b ( t ) { for ( ; 8 < = t . u & & t . bb < t . Sb ; ) t . Ra > >>=8,t.Ra+=t.oa[t.pa+t.bb]< < Ur-8 > >>0,++t.bb,t.u-=8;A(t)& & (t.h=1,t.u=0)}function y(t,r){if(e(0< =r),!t.h& & r< =Tr){var n=L(t)&Rr[r]; return t.u+=r,b(t),n}return t.h=1,t.u=0}function w(){this.b=this.Ca=this.I=0,this.oa=[],this.pa=0,this.Jd=[],this.Yc=0,this.Zc=[],this.Ka=0}function N(){this.Ra=0,this.oa=[],this.h=this.u=this.bb=this.Sb=this.pa=0}function L(t){return t.Ra>>>(t.u& Ur-1)>>>0}function A(t){return e(t.bb< =t.Sb),t.h||t.bb==t.Sb& & t.u>Ur}function x(t,e){t.u=e,t.h=A(t)}function S(t){t.u>=zr& & (e(t.u>=zr),b(t))}function _(t){e(null!=t& & null!=t.oa),t.pa< t.Zc ? ( t . I = (t.oa[t.pa++]|t.I<<8) > >>0,t.b+=8):(e(null!=t& & null!=t.oa),t.pa< t.Yc ? ( t . b + = 8 , t . I = t.oa[t.pa++]|t.I<<8):t.Ka?t.b=0:(t.I<<=8,t.b+=8,t.Ka=1))}function P ( t ) { return g ( t , 1 ) } function k ( t , e ) { var r = t.Ca;0 > t.b&&_(t); var n=t.b,i=r*e>>>8,a=(t.I>>>n>i)+0;for(a?(r-=i,t.I-=i+1< < n > >>0):r=i+1,n=r,i=0;256< =n;)i+=8,n>>=8;return n=7^i+Hr[n],t.b-=n,t.Ca=(r< < n ) -1 , a } function F ( t , e , r ) { t [ e + 0 ] = r > >24& 255,t[e+1]=r>>16& 255,t[e+2]=r>>8& 255,t[e+3]=r>>0& 255}function I(t,e){return t[e+0]< < 0 | t [ e + 1 ] < < 8 } function C ( t , e ) { return I ( t , e ) | t [ e + 2 ] < < 16 } function j ( t , e ) { return I ( t , e ) | I ( t , e + 2 ) < < 16 } function O ( t , r ) { var n = 1<<r;return e ( null ! = t ) , e ( 0 < r ) , t . X = a(n),null==t.X?0:(t.Mb=32-r,t.Xa=r,1)}function B ( t , r ) { e ( null ! = t ) , e ( null ! = r ) , e ( t . Xa = =r.Xa),n(r.X,0,t.X,0,1<<r.Xa)}function M ( ) { this . X = [],this.Xa=this.Mb=0}function E ( t , r , n , i ) { e ( null ! = n ) , e ( null ! = i ) ; var a = n[0],o=i[0];return 0 = =a&&(a=(t*o+r/2)/r),0==o&&(o=(r*a+t/2)/t),0 > =a||0>=o?0:(n[0]=a,i[0]=o,1)}function q(t,e){return t+(1< < e ) -1 > >>e}function D(t,e){return((4278255360& t)+(4278255360& e)>>>0& 42782553
/** @license
* Copyright (c) 2017 Dominik Homberger
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
https://webpjs.appspot.com
WebPRiffParser dominikhlbg@gmail.com
*/
function(t,e,r,n){for(var i=0;i< n ; i + + ) if ( t [ e + i ] ! = r . charCodeAt ( i ) ) return ! 0 ; return ! 1 } ( t , e , " RIFF " , 4 ) ) { var s , c ; h ( t , e + = 4 ) ; for ( e + = 8 ; e < t . length ; ) { var f = u(t,e),d=h(t,e+=4);e+=4;var p = d+(1&d);switch(f){case"VP8 " :case " VP8L " :void 0 = ==r.frames[n]&&(r.frames[n]={});(v=r.frames[n]).src_off=i?o:e-8,v.src_size=a+d+8,n++,i&&(i=!1,a=0,o=0);break;case"VP8X":(v=r.header={}).feature_flags=t[e];var g = e+4;v.canvas_width=1+l(t,g);g+=3;v.canvas_height=1+l(t,g);g+=3;break;case"ALPH":i=!0,a=p+8,o=e-8;break;case"ANIM":(v=r.header).bgcolor=h(t,e);g=e+4;v.loop_count=(s=t)[(c=g)+0]<<0|s[c+1]<<8;g+=2;break;case"ANMF":var m , v ; ( v = r.frames[n]={}).offset_x=2*l(t,e),e+=3,v.offset_y=2*l(t,e),e+=3,v.width=1+l(t,e),e+=3,v.height=1+l(t,e),e+=3,v.duration=l(t,e),e+=3,m=t[e++],v.dispose=1&m,v.blend=m > >1& 1}"ANMF"!=f& & (e+=p)}return r}}(m,0);v.response=m,v.rgbaoutput=!0,v.dataurl=!1;var b=v.header?v.header:null,y=v.frames?v.frames:null;if(b){b.loop_counter=b.loop_count,f=[b.canvas_height],d=[b.canvas_width];for(var w=0;w< y.length & & 0 ! = y [ w ] . blend ; w + + ) ; } var N = y[0],L=g.WebPDecodeRGBA(m,N.src_off,N.src_size,d,f);N.rgba=L,N.imgwidth=d[0],N.imgheight=f[0];for(var A = 0;A<d[0]*f[0]*4;A++)p[A]=L[A];return this . width = d,this.height=f,this.data=p,this}!function(t){var e = function(){return!0},r=function(e,r,i,u){var l = 4,h=o;switch(u){case t . image_compression . FAST:l = 1,h=a;break;case t . image_compression . MEDIUM:l = 6,h=s;break;case t . image_compression . SLOW:l = 9,h=c}var f = _e(e=n(e,r,i,h),{level:l});return t . __addimage__ . arrayBufferToBinaryString ( f ) } , n = function(t,e,r,n){for(var i , a , o , s = t.length/e,c=new Uint8Array ( t . length + s ) , u = l(),f=0;f<s;f+=1){if(o=f*e,i=t.subarray(o,o+e),n)c.set(n(i,r,a),o+f);else{for(var d , p = u.length,g=[];d<p;d+=1)g[d]=u[d](i,r,a);var m = h(g.concat());c.set(g[m],o+f)}a=i}return c } , i = function(t){var e = Array.apply([],t);return e . unshift ( 0 ) , e } , a = function(t,e){var r , n = [],i=t.length;n[0]=1;for(var a = 0;a<i;a+=1)r=t[a-e]||0,n[a+1]=t[a]-r+256&255;return n } , o = function(t,e,r){var n , i = [],a=t.length;i[0]=2;for(var o = 0;o<a;o+=1)n=r&&r[o]||0,i[o+1]=t[o]-n+256&255;return i } , s = function(t,e,r){var n , i , a = [],o=t.length;a[0]=3;for(var s = 0;s<o;s+=1)n=t[s-e]||0,i=r&&r[s]||0,a[s+1]=t[s]+256-(n+i > >>1)&255; return a},c=function(t,e,r){var n,i,a,o,s=[],c=t.length;s[0]=4;for(var l=0;l< c ; l + = 1 ) n = t[l-e]||0,i=r&&r[l]||0,a=r&&r[l-e]||0,o=u(n,i,a),s[l+1]=t[l]-o+256&255;return s } , u = function(t,e,r){if(t===e&&e===r)return t ; var n = Math.abs(e-r),i=Math.abs(t-r),a=Math.abs(t+e-r-r);return n < = i & & n < = a ? t:i < = a ? e:r } , l = function(){return[i,a,o,s,c]},h=function(t){var e = t.map((function(t){return t . reduce ( ( function ( t , e ) { return t + Math . abs ( e ) } ) , 0 ) } ) ) ; return e . indexOf ( Math . min . apply ( null , e ) ) } ; t . processPNG = function(n,i,a,o){var s , c , u , l , h , f , d , p , g , m , v , b , y , w , N , L = this.decode.FLATE_DECODE,A="";if(this.__addimage__.isArrayBuffer(n)&&(n=new Uint8Array ( n ) ) , this . __addimage__ . isArrayBufferView ( n ) ) { if ( n = (u=new Oe ( n ) ) . imgData , c = u.bits,s=u.colorSpace,h=u.colors,-1!==[4,6].indexOf(u.colorType)){if(8===u.bits){g=(p=32==u.pixelBitlength?new Uint32Array ( u . decodePixels ( ) . buffer ) :16 = =u.pixelBitlength?new Uint16Array ( u . decodePixels ( ) . buffer ) :new Uint8Array ( u . decodePixels ( ) . buffer ) ) . length , v = new Uint8Array ( g * u . colors ) , m = new Uint8Array ( g ) ; var x , S = u.pixelBitlength-u.bits;for(w=0,N=0;w<g;w++){for(y=p[w],x=0;x<S;)v[N++]=y > >>x&255,x+=u.bits; m[w]=y>>>x& 255}}if(16===u.bits){g=(p=new Uint32Array(u.decodePixels().buffer)).length,v=new Uint8Array(g*(32/u.pixelBitlength)*u.colors),m=new Uint8Array(g*(32/u.pixelBitlength)),b=u.colors>1,w=0,N=0;for(var _=0;w< g ; ) y = p[w++],v[N++]=y > >>0&255,b&&(v[N++]=y>>>16&255,y=p[w++],v[N++]=y>>>0&255),m[_++]=y>>>16&255; c=8}o!==t.image_compression.NONE& & e()?(n=r(v,u.width*u.colors,u.colors,o),d=r(m,u.width,1,o)):(n=v,d=m,L=void 0)}if(3===u.colorType& & (s=this.color_spaces.INDEXED,f=u.palette,u.transparency.indexed)){var P=u.transparency.indexed,k=0;for(w=0,g=P.length;w< g ; + + w ) k + = P [ w ] ; if ( ( k / = 255 ) = = = g-1 & & -1 ! = = P . indexOf ( 0 ) ) l = [P.indexOf(0)];else if ( k ! = = g ) { for ( p = u.decodePixels(),m=new Uint8Array ( p . length ) , w = 0,g=p.length;w<g;w++)m[w]=P[p[w]];d=r(m,u.width,1)}}var F = function(e){var r ; switch ( e ) { case t . image_compression . FAST:r = 11;br
/**
* @license
* Copyright (c) 2018 Aras Abbasi
*
* Licensed under the MIT License.
* http://opensource.org/licenses/mit-license
*/
function(t){t.processBMP=function(e,r,n,i){var a=new qe(e,!1),o=a.width,s=a.height,c={data:a.getData(),width:o,height:s},u=new Ee(100).encode(c,100);return t.processJPEG.call(this,u,r,n,i)}}(M.API),De.prototype.getData=function(){return this.data},
/**
* @license
* Copyright (c) 2019 Aras Abbasi
*
* Licensed under the MIT License.
* http://opensource.org/licenses/mit-license
*/
function(t){t.processWEBP=function(e,r,n,i){var a=new De(e,!1),o=a.width,s=a.height,c={data:a.getData(),width:o,height:s},u=new Ee(100).encode(c,100);return t.processJPEG.call(this,u,r,n,i)}}(M.API),
/**
* @license
*
* Copyright (c) 2021 Antti Palola, https://github.com/Pantura
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files (the
* "Software"), to deal in the Software without restriction, including
* without limitation the rights to use, copy, modify, merge, publish,
* distribute, sublicense, and/or sell copies of the Software, and to
* permit persons to whom the Software is furnished to do so, subject to
* the following conditions:
*
* The above copyright notice and this permission notice shall be
* included in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
* LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
* OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
* WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
* ====================================================================
*/
function(t){t.processRGBA=function(t,e,r){for(var n=t.data,i=n.length,a=new Uint8Array(i/4*3),o=new Uint8Array(i/4),s=0,c=0,u=0;u< i ; u + = 4 ) { var l = n[u],h=n[u+1],f=n[u+2],d=n[u+3];a[s++]=l,a[s++]=h,a[s++]=f,o[c++]=d}var p = this.__addimage__.arrayBufferToBinaryString(a);return{alpha:this.__addimage__.arrayBufferToBinaryString(o),data:p,index:e,alias:r,colorSpace:"DeviceRGB",bitsPerComponent:8,width:t.width,height:t.height}}}(M.API),
/**
* @license
* Licensed under the MIT License.
* http://opensource.org/licenses/mit-license
*/
function(t){t.setLanguage=function(t){return void 0===this.internal.languageSettings& & (this.internal.languageSettings={},this.internal.languageSettings.isSubscribed=!1),void 0!=={af:"Afrikaans",sq:"Albanian",ar:"Arabic (Standard)","ar-DZ":"Arabic (Algeria)","ar-BH":"Arabic (Bahrain)","ar-EG":"Arabic (Egypt)","ar-IQ":"Arabic (Iraq)","ar-JO":"Arabic (Jordan)","ar-KW":"Arabic (Kuwait)","ar-LB":"Arabic (Lebanon)","ar-LY":"Arabic (Libya)","ar-MA":"Arabic (Morocco)","ar-OM":"Arabic (Oman)","ar-QA":"Arabic (Qatar)","ar-SA":"Arabic (Saudi Arabia)","ar-SY":"Arabic (Syria)","ar-TN":"Arabic (Tunisia)","ar-AE":"Arabic (U.A.E.)","ar-YE":"Arabic (Yemen)",an:"Aragonese",hy:"Armenian",as:"Assamese",ast:"Asturian",az:"Azerbaijani",eu:"Basque",be:"Belarusian",bn:"Bengali",bs:"Bosnian",br:"Breton",bg:"Bulgarian",my:"Burmese",ca:"Catalan",ch:"Chamorro",ce:"Chechen",zh:"Chinese","zh-HK":"Chinese (Hong Kong)","zh-CN":"Chinese (PRC)","zh-SG":"Chinese (Singapore)","zh-TW":"Chinese (Taiwan)",cv:"Chuvash",co:"Corsican",cr:"Cree",hr:"Croatian",cs:"Czech",da:"Danish",nl:"Dutch (Standard)","nl-BE":"Dutch (Belgian)",en:"English","en-AU":"English (Australia)","en-BZ":"English (Belize)","en-CA":"English (Canada)","en-IE":"English (Ireland)","en-JM":"English (Jamaica)","en-NZ":"English (New Zealand)","en-PH":"English (Philippines)","en-ZA":"English (South Africa)","en-TT":"English (Trinidad & Tobago)","en-GB":"English (United Kingdom)","en-US":"English (United States)","en-ZW":"English (Zimbabwe)",eo:"Esperanto",et:"Estonian",fo:"Faeroese",fj:"Fijian",fi:"Finnish",fr:"French (Standard)","fr-BE":"French (Belgium)","fr-CA":"French (Canada)","fr-FR":"French (France)","fr-LU":"French (Luxembourg)","fr-MC":"French (Monaco)","fr-CH":"French (Switzerland)",fy:"Frisian",fur:"Friulian",gd:"Gaelic (Scots)","gd-IE":"Gaelic (Irish)",gl:"Galacian",ka:"Georgian",de:"German (Standard)","de-AT":"German (Austria)","de-DE":"German (Germany)","de-LI":"German (Liechtenstein)","de-LU":"German (Luxembourg)","de-CH":"German (Switzerland)",el:"Greek",gu:"Gujurati",ht:"Haitian",he:"Hebrew",hi:"Hindi",hu:"Hungarian",is:"Icelandic",id:"Indonesian",iu:"Inuktitut",ga:"Irish",it:"Italian (Standard)","it-CH":"Italian (Switzerland)",ja:"Japanese",kn:"Kannada",ks:"Kashmiri",kk:"Kazakh",km:"Khmer",ky:"Kirghiz",tlh:"Klingon",ko:"Korean","ko-KP":"Korean (North Korea)","ko-KR":"Korean (South Korea)",la:"Latin",lv:"Latvian",lt:"Lithuanian",lb:"Luxembourgish",mk:"North Macedonia",ms:"Malay",ml:"Malayalam",mt:"Maltese",mi:"Maori",mr:"Marathi",mo:"Moldavian",nv:"Navajo",ng:"Ndonga",ne:"Nepali",no:"Norwegian",nb:"Norwegian (Bokmal)",nn:"Norwegian (Nynorsk)",oc:"Occitan",or:"Oriya",om:"Oromo",fa:"Persian","fa-IR":"Persian/Iran",pl:"Polish",pt:"Portuguese","pt-BR":"Portuguese (Brazil)",pa:"Punjabi","pa-IN":"Punjabi (India)","pa-PK":"Punjabi (Pakistan)",qu:"Quechua",rm:"Rhaeto-Romanic",ro:"Romanian","ro-MO":"Romanian (Moldavia)",ru:"Russian","ru-MO":"Russian (Moldavia)",sz:"Sami (Lappish)",sg:"Sango",sa:"Sanskrit",sc:"Sardinian",sd:"Sindhi",si:"Singhalese",sr:"Serbian",sk:"Slovak",sl:"Slovenian",so:"Somani",sb:"Sorbian",es:"Spanish","es-AR":"Spanish (Argentina)","es-BO":"Spanish (Bolivia)","es-CL":"Spanish (Chile)","es-CO":"Spanish (Colombia)","es-CR":"Spanish (Costa Rica)","es-DO":"Spanish (Dominican Republic)","es-EC":"Spanish (Ecuador)","es-SV":"Spanish (El Salvador)","es-GT":"Spanish (Guatemala)","es-HN":"Spanish (Honduras)","es-MX":"Spanish (Mexico)","es-NI":"Spanish (Nicaragua)","es-PA":"Spanish (Panama)","es-PY":"Spanish (Paraguay)","es-PE":"Spanish (Peru)","es-PR":"Spanish (Puerto Rico)","es-ES":"Spanish (Spain)","es-UY":"Spanish (Uruguay)","es-VE":"Spanish (Venezuela)",sx:"Sutu",sw:"Swahili",sv:"Swedish","sv-FI":"Swedish (Finland)","sv-SV":"Swedish (Sweden)",ta:"Tamil",tt:"Tatar",te:"Teluga",th:"Thai",tig:"Tigre",ts:"Tsonga",tn:"Tswana",tr:"Turkish",tk:"Turkmen",uk:"Ukrainian",hsb:"Upper Sorbian",ur:"Urdu",ve:"Venda",vi:"Vietnamese",vo:"Volapuk",wa:"Walloon",cy:"Welsh",xh:"Xhosa",ji:"Yiddish",zu:"Zulu"}[t]& & (this.internal.languageSettings.languageCode=t,!1===this.internal.languageSetting
/**
* @license
* Licensed under the MIT License.
* http://opensource.org/licenses/mit-license
*/
function(t){var e=function(t){for(var e=t.length,r=new Uint8Array(e),n=0;n< e ; n + + ) r [ n ] = t . charCodeAt ( n ) ; return r } ; t . API . events . push ( [ " addFont " , function ( r ) { var n = void 0 , i = r.font,a=r.instance;if(!i.isStandardFont){if(void 0 = ==a)throw new Error ( " Font does not exist in vFS , import fonts or remove declaration doc . addFont ( ' " + i . postScriptName + " ' ) . " ) ; if ( " string " ! = typeof ( n = !1===a.existsFileInVFS(i.postScriptName)?a.loadFile(i.postScriptName):a.getFileFromVFS(i.postScriptName)))throw new Error ( " Font is not stored as string-data in vFS , import fonts or remove declaration doc . addFont ( ' " + i . postScriptName + " ' ) . " ) ; ! function ( r , n ) { n = /^\x00\x01\x00\x00/.test(n)?e(n):e(c(n)),r.metadata=t.API.TTFFont.open(n),r.metadata.Unicode=r.metadata.Unicode||{encoding:{},kerning:{},widths:[]},r.metadata.glyIdsUsed=[0]}(i,n)}}])}(M),function(n){function a ( ) { return ( r . canvg ? Promise . resolve ( r . canvg ) : " object " = = = ( void 0 = ==t?"undefined":e(t))&&"undefined"!=typeof module ? new Promise ( ( function ( t , e ) { try { t ( require ( " canvg " ) ) } catch ( t ) { e ( t ) } } ) ) : " function " = = typeof define & & define . amd ? new Promise ( ( function ( t , e ) { try { require ( [ " canvg " ] , t ) } catch ( t ) { e ( t ) } } ) ) :Promise . reject ( new Error ( " Could not load canvg " ) ) ) . catch ( ( function ( t ) { return Promise . reject ( new Error ( " Could not load canvg: " + t ) ) } ) ) . then ( ( function ( t ) { return t . default ? t . default:t } ) ) } n . addSvgAsImage = function(t,e,r,n,o,s,c,u){if(isNaN(e)||isNaN(r))throw i . error ( " jsPDF . addSvgAsImage: Invalid coordinates " , arguments ) , new Error ( " Invalid coordinates passed to jsPDF . addSvgAsImage " ) ; if ( isNaN ( n ) | | isNaN ( o ) ) throw i . error ( " jsPDF . addSvgAsImage: Invalid measurements " , arguments ) , new Error ( " Invalid measurements ( width and / or height ) passed to jsPDF . addSvgAsImage " ) ; var l = document.createElement("canvas");l.width=n,l.height=o;var h = l.getContext("2d");h.fillStyle="#fff",h.fillRect(0,0,l.width,l.height);var f = {ignoreMouse:!0,ignoreAnimation:!0,ignoreDimensions:!0},d=this;return a ( ) . then ( ( function ( e ) { return e . fromString ( h , t , f ) } ) , ( function ( ) { return Promise . reject ( new Error ( " Could not load canvg . " ) ) } ) ) . then ( ( function ( t ) { return t . render ( f ) } ) ) . then ( ( function ( ) { d . addImage ( l . toDataURL ( " image / jpeg " , 1 ) , e , r , n , o , c , u ) } ) ) } } ( M . API ) ,
/**
* @license
* ====================================================================
* Copyright (c) 2013 Eduardo Menezes de Morais, eduardo.morais@usp.br
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files (the
* "Software"), to deal in the Software without restriction, including
* without limitation the rights to use, copy, modify, merge, publish,
* distribute, sublicense, and/or sell copies of the Software, and to
* permit persons to whom the Software is furnished to do so, subject to
* the following conditions:
*
* The above copyright notice and this permission notice shall be
* included in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
* LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
* OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
* WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
* ====================================================================
*/
function(t){t.putTotalPages=function(t){var e,r=0;parseInt(this.internal.getFont().id.substr(1),10)< 15 ? ( e = new RegExp ( t , " g " ) , r = this.internal.getNumberOfPages()):(e=new RegExp ( this . pdfEscape16 ( t , this . internal . getFont ( ) ) , " g " ) , r = this.pdfEscape16(this.internal.getNumberOfPages()+"",this.internal.getFont()));for(var n = 1;n<=this.internal.getNumberOfPages();n++)for(var i = 0;i<this.internal.pages[n].length;i++)this.internal.pages[n][i]=this.internal.pages[n][i].replace(e,r);return this } } ( M . API ) , function ( t ) { t . viewerPreferences = function(t,r){var n ; t = t||{},r=r||!1;var i , a , o , s = {HideToolbar:{defaultValue:!1,value:!1,type:"boolean",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.3},HideMenubar:{defaultValue:!1,value:!1,type:"boolean",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.3},HideWindowUI:{defaultValue:!1,value:!1,type:"boolean",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.3},FitWindow:{defaultValue:!1,value:!1,type:"boolean",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.3},CenterWindow:{defaultValue:!1,value:!1,type:"boolean",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.3},DisplayDocTitle:{defaultValue:!1,value:!1,type:"boolean",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.4},NonFullScreenPageMode:{defaultValue:"UseNone",value:"UseNone",type:"name",explicitSet:!1,valueSet:["UseNone","UseOutlines","UseThumbs","UseOC"],pdfVersion:1.3},Direction:{defaultValue:"L2R",value:"L2R",type:"name",explicitSet:!1,valueSet:["L2R","R2L"],pdfVersion:1.3},ViewArea:{defaultValue:"CropBox",value:"CropBox",type:"name",explicitSet:!1,valueSet:["MediaBox","CropBox","TrimBox","BleedBox","ArtBox"],pdfVersion:1.4},ViewClip:{defaultValue:"CropBox",value:"CropBox",type:"name",explicitSet:!1,valueSet:["MediaBox","CropBox","TrimBox","BleedBox","ArtBox"],pdfVersion:1.4},PrintArea:{defaultValue:"CropBox",value:"CropBox",type:"name",explicitSet:!1,valueSet:["MediaBox","CropBox","TrimBox","BleedBox","ArtBox"],pdfVersion:1.4},PrintClip:{defaultValue:"CropBox",value:"CropBox",type:"name",explicitSet:!1,valueSet:["MediaBox","CropBox","TrimBox","BleedBox","ArtBox"],pdfVersion:1.4},PrintScaling:{defaultValue:"AppDefault",value:"AppDefault",type:"name",explicitSet:!1,valueSet:["AppDefault","None"],pdfVersion:1.6},Duplex:{defaultValue:"",value:"none",type:"name",explicitSet:!1,valueSet:["Simplex","DuplexFlipShortEdge","DuplexFlipLongEdge","none"],pdfVersion:1.7},PickTrayByPDFSize:{defaultValue:!1,value:!1,type:"boolean",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.7},PrintPageRange:{defaultValue:"",value:"",type:"array",explicitSet:!1,valueSet:null,pdfVersion:1.7},NumCopies:{defaultValue:1,value:1,type:"integer",explicitSet:!1,valueSet:null,pdfVersion:1.7}},c=Object.keys(s),u=[],l=0,h=0,f=0;function d ( t , e ) { var r , n = !1;for(r=0;r<t.length;r+=1)t[r]===e&&(n=!0);return n } if ( void 0 = ==this.internal.viewerpreferences&&(this.internal.viewerpreferences={},this.internal.viewerpreferences.configuration=JSON.parse(JSON.stringify(s)),this.internal.viewerpreferences.isSubscribed=!1),n=this.internal.viewerpreferences.configuration,"reset"===t||!0===r){var p = c.length;for(f=0;f<p;f+=1)n[c[f]].value=n[c[f]].defaultValue,n[c[f]].explicitSet=!1}if("object"===e(t))for(a in t ) if ( o = t[a],d(c,a)&&void 0 ! = = o ) { if ( " boolean " = = = n [ a ] . type & & " boolean " = = typeof o ) n [ a ] . value = o;else if ( " name " = = = n [ a ] . type & & d ( n [ a ] . valueSet , o ) ) n [ a ] . value = o;else if ( " integer " = = = n [ a ] . type & & Number . isInteger ( o ) ) n [ a ] . value = o;else if ( " array " = = = n [ a ] . type ) { for ( l = 0;l<o.length;l+=1)if(i=!0,1===o[l].length&&"number"==typeof o [ l ] [ 0 ] ) u . push ( String ( o [ l ] -1 ) ) ; else if ( o [ l ] . length > 1){for(h=0;h< o [ l ] . length ; h + = 1 ) " number " ! = typeof o [ l ] [ h ] & & ( i = !1);!0===i&&u.push([o[l][0]-1,o[l][1]-1].join(" " ) ) } n [ a ] . value = "[" + u . join ( " " ) + " ] " } else n [ a ] . value = n[a].defaultValue;n[a].explicitSet=!0}return!1===this.internal.viewerpreferences.isSubscribed&&(this.internal.events.subscribe("putCatalog",(function(){var t , e = [];for(t in n ) ! 0 = ==n[t].explicitSet&&("name"===n[t].type?e.push("/"+t+" / " + n [ t ] . value ) :e . push ( " / " + t + " " + n [ t ] . value ) ) ; 0 ! = = e . length & & this . internal . write ( " / ViewerPreferences \ n < < \ n " + e . join ( " \ n " ) + " \ n > >")})),this.internal.viewerpreferences.isSubscribed=!0),this.inte
/** ====================================================================
* @license
* jsPDF XMP metadata plugin
* Copyright (c) 2016 Jussi Utunen, u-jussi@suomi24.fi
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files (the
* "Software"), to deal in the Software without restriction, including
* without limitation the rights to use, copy, modify, merge, publish,
* distribute, sublicense, and/or sell copies of the Software, and to
* permit persons to whom the Software is furnished to do so, subject to
* the following conditions:
*
* The above copyright notice and this permission notice shall be
* included in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
* LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
* OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
* WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
* ====================================================================
*/
function(t){var e=function(){var t='< rdf:RDF xmlns:rdf = "http://www.w3.org/1999/02/22-rdf-syntax-ns#" > < rdf:Description rdf:about = "" xmlns:jspdf = "'+this.internal.__metadata__.namespaceuri+'" > < jspdf:metadata > ',e=unescape(encodeURIComponent('< x:xmpmeta xmlns:x = "adobe:ns:meta/" > ')),r=unescape(encodeURIComponent(t)),n=unescape(encodeURIComponent(this.internal.__metadata__.metadata)),i=unescape(encodeURIComponent("< / jspdf:metadata > < / rdf:Description > < / rdf:RDF > ")),a=unescape(encodeURIComponent("< / x:xmpmeta > ")),o=r.length+n.length+i.length+e.length+a.length;this.internal.__metadata__.metadata_object_number=this.internal.newObject(),this.internal.write("< < /Type /Metadata /Subtype /XML /Length "+o+" >>"),this.internal.write("stream"),this.internal.write(e+r+n+i+a),this.internal.write("endstream"),this.internal.write("endobj")},r=function(){this.internal.__metadata__.metadata_object_number& & this.internal.write("/Metadata "+this.internal.__metadata__.metadata_object_number+" 0 R")};t.addMetadata=function(t,n){return void 0===this.internal.__metadata__& & (this.internal.__metadata__={metadata:t,namespaceuri:n||"http://jspdf.default.namespaceuri/"},this.internal.events.subscribe("putCatalog",r),this.internal.events.subscribe("postPutResources",e)),this}}(M.API),function(t){var e=t.API,r=e.pdfEscape16=function(t,e){for(var r,n=e.metadata.Unicode.widths,i=["","0","00","000","0000"],a=[""],o=0,s=t.length;o< s ; + + o ) { if ( r = e.metadata.characterToGlyph(t.charCodeAt(o)),e.metadata.glyIdsUsed.push(r),e.metadata.toUnicode[r]=t.charCodeAt(o),-1==n.indexOf(r)&&(n.push(r),n.push([parseInt(e.metadata.widthOfGlyph(r),10)])),"0"==r)return a . join ( " " ) ; r = r.toString(16),a.push(i[4-r.length],r)}return a . join ( " " ) } , n = function(t){var e , r , n , i , a , o , s ; for ( a = "/CIDInit /ProcSet findresource begin\n12 dict begin\nbegincmap\n/CIDSystemInfo <<\n /Registry (Adobe)\n /Ordering (UCS)\n /Supplement 0\n>> def\n/CMapName /Adobe-Identity-UCS def\n/CMapType 2 def\n1 begincodespacerange\n<0000><ffff>\nendcodespacerange" , n = [],o=0,s=(r=Object.keys(t).sort((function(t,e){return t-e } ) ) ) . length ; o < s ; o + + ) e = r[o],n.length > =100& & (a+="\n"+n.length+" beginbfchar\n"+n.join("\n")+"\nendbfchar",n=[]),void 0!==t[e]& & null!==t[e]& & "function"==typeof t[e].toString&&(i=("0000"+t[e].toString(16)).slice(-4),e=("0000"+(+e).toString(16)).slice(-4),n.push("<"+e+"><"+i+">")); return n.length& & (a+="\n"+n.length+" beginbfchar\n"+n.join("\n")+"\nendbfchar\n"),a+="endcmap\nCMapName currentdict /CMap defineresource pop\nend\nend"};e.events.push(["putFont",function(e){!function(e){var r=e.font,i=e.out,a=e.newObject,o=e.putStream;if(r.metadata instanceof t.API.TTFFont& & "Identity-H"===r.encoding){for(var s=r.metadata.Unicode.widths,c=r.metadata.subset.encode(r.metadata.glyIdsUsed,1),u="",l=0;l< c.length ; l + + ) u + = String . fromCharCode ( c [ l ] ) ; var h = a();o({data:u,addLength1:!0,objectId:h}),i("endobj");var f = a();o({data:n(r.metadata.toUnicode),addLength1:!0,objectId:f}),i("endobj");var d = a();i("<<"),i("/Type / FontDescriptor " ) , i ( " / FontName / " + F ( r . fontName ) ) , i ( " / FontFile2 " + h + " 0 R " ) , i ( " / FontBBox " + t . API . PDFObject . convert ( r . metadata . bbox ) ) , i ( " / Flags " + r . metadata . flags ) , i ( " / StemV " + r . metadata . stemV ) , i ( " / ItalicAngle " + r . metadata . italicAngle ) , i ( " / Ascent " + r . metadata . ascender ) , i ( " / Descent " + r . metadata . decender ) , i ( " / CapHeight " + r . metadata . capHeight ) , i ( " > >"),i("endobj");var p=a();i("< < "),i("/Type /Font"),i("/BaseFont /"+F(r.fontName)),i("/FontDescriptor "+d+" 0 R"),i("/W "+t.API.PDFObject.convert(s)),i("/CIDToGIDMap /Identity"),i("/DW 1000"),i("/Subtype /CIDFontType2"),i("/CIDSystemInfo"),i("< < "),i("/Supplement 0"),i("/Registry (Adobe)"),i("/Ordering ("+r.encoding+")"),i(">>"),i(">>"),i("endobj"),r.objectNumber=a(),i("< < "),i("/Type /Font"),i("/Subtype /Type0"),i("/ToUnicode "+f+" 0 R"),i("/BaseFont /"+F(r.fontName)),i("/Encoding /"+r.encoding),i("/DescendantFonts ["+p+" 0 R]"),i(">>"),i("endobj"),r.isAlreadyPutted=!0}}(e)}]);e.events.push(["putFont",function(e){!function(e){var r=e.font,i=e.out,a=e.newObject,o=e.putStream;if(r.metadata instanceof t.API.TTFFont& & "WinAnsiEncoding"===r.encoding){for(var s=r.metadata.rawData,c="",u=0
/**
* @license
* jsPDF virtual FileSystem functionality
*
* Licensed under the MIT License.
* http://opensource.org/licenses/mit-license
*/
function(t){var e=function(){return void 0===this.internal.vFS&&(this.internal.vFS={}),!0}; t.existsFileInVFS=function(t){return e.call(this),void 0!==this.internal.vFS[t]},t.addFileToVFS=function(t,r){return e.call(this),this.internal.vFS[t]=r,this},t.getFileFromVFS=function(t){return e.call(this),void 0!==this.internal.vFS[t]?this.internal.vFS[t]:null}}(M.API),
/**
* @license
* Unicode Bidi Engine based on the work of Alex Shensis (@asthensis)
* MIT License
*/
function(t){t.__bidiEngine__=t.prototype.__bidiEngine__=function(t){var r,n,i,a,o,s,c,u=e,l=[[0,3,0,1,0,0,0],[0,3,0,1,2,2,0],[0,3,0,17,2,0,1],[0,3,5,5,4,1,0],[0,3,21,21,4,0,1],[0,3,5,5,4,2,0]],h=[[2,0,1,1,0,1,0],[2,0,1,1,0,2,0],[2,0,2,1,3,2,0],[2,0,2,33,3,1,1]],f={L:0,R:1,EN:2,AN:3,N:4,B:5,S:6},d={0:0,5:1,6:2,7:3,32:4,251:5,254:6,255:7},p=["(",")","(","< ",">","< ","[","]","[","{","}","{","«","»","«","‹ ","› ","‹ ","⁅","⁆","⁅","⁽","⁾","⁽","₍","₎","₍","≤","≥","≤","〈","〉","〈","﹙","﹚","﹙","﹛","﹜","﹛","﹝","﹞","﹝","﹤","﹥","﹤"],g=new RegExp(/^([1-4|9]|1[0-9]|2[0-9]|3[0168]|4[04589]|5[012]|7[78]|159|16[0-9]|17[0-2]|21[569]|22[03489]|250)$/),m=!1,v=0;this.__bidiEngine__={};var b=function(t){var e=t.charCodeAt(),r=e>>8,n=d[r];return void 0!==n?u[256*n+(255& e)]:252===r||253===r?"AL":g.test(r)?"L":8===r?"R":"N"},y=function(t){for(var e,r=0;r< t.length ; r + + ) { if ( " L " = = = ( e = b(t.charAt(r))))return!1;if("R"===e)return!0}return!1},w=function(t,e,o,s){var c , u , l , h , f = e[s];switch(f){case"L":case"R":m=!1;break;case"N":case"AN":break;case"EN":m&&(f="AN");break;case"AL":m=!0,f="R";break;case"WS":f="N";break;case"CS":s<1||s+1 > =e.length||"EN"!==(c=o[s-1])&&"AN"!==c||"EN"!==(u=e[s+1])&&"AN"!==u?f="N":m&&(u="AN"),f=u===c?u:"N"; break;case"ES":f="EN"===(c=s>0?o[s-1]:"B")&&s+1<e.length&&"EN"===e[s+1]?"EN":"N"; break;case"ET":if(s>0&&"EN"===o[s-1]){f="EN"; break}if(m){f="N";break}for(l=s+1,h=e.length;l< h & & " ET " = = = e [ l ] ; ) l + + ; f = l<h&&"EN"===e[l]?"EN":"N";break;case"NSM":if(i&&!a){for(h=e.length,l=s+1;l<h&&"NSM"===e[l];)l++;if(l<h){var d = t[s],p=d > =1425&&d<=2303||64286===d; if(c=e[l],p&&("R"===c||"AL"===c)){f="R"; break}}}f=s< 1 | | " B " = = = ( c = e[s-1])?"N":o[s-1];break;case"B":m=!1,r=!0,f=v;break;case"S":n=!0,f="N";break;case"LRE":case"RLE":case"LRO":case"RLO":case"PDF":m=!1;break;case"BN":f="N"}return f } , N = function(t,e,r){var n = t.split("");return r & & L ( n , r , { hiLevel:v } ) , n . reverse ( ) , e & & e . reverse ( ) , n . join ( " " ) } , L = function(t,e,i){var a , o , s , c , u , d = -1,p=t.length,g=0,y=[],N=v?h:l,L=[];for(m=!1,r=!1,n=!1,o=0;o<p;o++)L[o]=b(t[o]);for(s=0;s<p;s++){if(u=g,y[s]=w(t,L,y,s),a=240&(g=N[u][f[y[s]]]),g&=15,e[s]=c=N[g][5],a > 0)if(16===a){for(o=d;o< s ; o + + ) e [ o ] = 1 ; d = -1}else d = -1;if(N[g][6])-1===d&&(d=s);else if ( d > -1){for(o=d;o< s ; o + + ) e [ o ] = c ; d = -1}"B"===L[s]&&(e[s]=0),i.hiLevel|=c}n&&function(t,e,r){for(var n = 0;n<r;n++)if("S"===t[n]){e[n]=v;for(var i = n-1;i > =0&&"WS"===t[i]; i--)e[i]=v}}(L,e,p)},A=function(t,e,n,i,a){if(!(a.hiLevel< t ) ) { if ( 1 = ==t&&1===v&&!r)return e . reverse ( ) , void ( n & & n . reverse ( ) ) ; for ( var o , s , c , u , l = e.length,h=0;h<l;){if(i[h] > =t){for(c=h+1;c< l & & i [ c ] > =t;)c++;for(u=h,s=c-1;u< s ; u + + , s-- ) o = e[u],e[u]=e[s],e[s]=o,n&&(o=n[u],n[u]=n[s],n[s]=o);h=c}h++}}},x=function(t,e,r){var n = t.split(""),i={hiLevel:v};return r | | ( r = []),L(n,r,i),function(t,e,r){if(0!==r.hiLevel&&c)for(var n , i = 0;i<t.length;i++)1===e[i]&&(n=p.indexOf(t[i])) > =0&&(t[i]=p[n+1])}(n,r,i),A(2,n,e,r,i),A(1,n,e,r,i),n.join("")}; return this.__bidiEngine__.doBidiReorder=function(t,e,r){if(function(t,e){if(e)for(var r=0;r< t.length ; r + + ) e [ r ] = r ; void 0 = ==a&&(a=y(t)),void 0 = ==s&&(s=y(t))}(t,e),i||!o||s)if(i&&o&&a^s)v=a?1:0,t=N(t,e,r);else if ( ! i & & o & & s ) v = a?1:0,t=x(t,e,r),t=N(t,e);else if ( ! i | | a | | o | | s ) { if ( i & & ! o & & a ^ s ) t = N(t,e),a?(v=0,t=x(t,e,r)):(v=1,t=x(t,e,r),t=N(t,e));else if ( i & & a & & ! o & & s ) v = 1,t=x(t,e,r),t=N(t,e);else if ( ! i & & ! o & & a ^ s ) { var n = c;a?(v=1,t=x(t,e,r),v=0,c=!1,t=x(t,e,r),c=n):(v=0,t=x(t,e,r),t=N(t,e),v=1,c=!1,t=x(t,e,r),c=n,t=N(t,e))}}else v = 0,t=x(t,e,r);else v = a?1:0,t=x(t,e,r);return t } , this . __bidiEngine__ . setOptions = function(t){t&&(i=t.isInputVisual,o=t.isOutputVisual,a=t.isInputRtl,s=t.isOutputRtl,c=t.isSymmetricSwapping)},this.__bidiEngine__.setOptions(t),this.__bidiEngine__};var e = ["BN","BN","BN","BN","BN","BN","BN","BN","BN","S","B","S","WS","B","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","B","B","B","S","WS","N","N","ET","ET","ET","N","N","N","N","N","ES","CS","ES","CS","CS","EN","EN","EN","EN","EN","EN","EN","EN","EN","EN","CS","N","N","N","N","N","N","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","N"
//# sourceMappingURL=jspdf.umd.min.js.map
< / script >
< script >
/** SCRIPT BNV */
// Deine lokale Version
const APP_VERSION_ID = 16;
function startVersionCheck() {
// Wir erstellen ein "unsichtbares" Script-Element
const script = document.createElement('script');
// HIER DEINE CMS-URL EINTRAGEN (Wichtig: Link zur .js Datei)
script.src = "https://zenit-intern.lvnbb.de/sixcms/media.php/244/version_check.js?t=" + Date.now();
// Wenn die Datei erfolgreich geladen wurde:
script.onload = function() {
if (window.REMOTE_VERSION_ID > APP_VERSION_ID) {
const warning = document.getElementById('version-warning');
warning.style.display = 'block';
// Eskalation: Wenn lokal mehr als 2 Versionen hinterher
if (window.REMOTE_VERSION_ID - APP_VERSION_ID >= 2) {
document.getElementById('critical-msg').style.display = 'block';
// Button sperren
const btn = document.querySelector('.btn-green');
if (btn) {
btn.disabled = true;
btn.style.opacity = "0.5";
btn.innerText = "VERSION VERALTET - SENDEN GESPERRT";
}
}
}
};
// Falls der Server nicht erreichbar ist (Offline), passiert einfach nichts
script.onerror = function() {
console.log("Version-Server nicht erreichbar.");
};
document.head.appendChild(script);
}
// Aufruf beim Start
document.addEventListener('DOMContentLoaded', startVersionCheck);
/** #########################################################
### KONFIGURATION MANDANT ###
######################################################### */
/** Hier das Kürzel eintragen (Steuert Sichtbarkeit & Titel) */
window.MANDANT = 'JVA';
// Mögliche Werte für Logik: 'DEBUG','OLG', 'GSTA', 'JVA', 'FG', 'VG', 'SG', 'JAK', 'ZENIT', 'ARBG', 'SDJ'
// #########################################################
// ### TEXT-KONFIGURATION (Mapping) ###
// #########################################################
// Hier definieren wir, welcher Text im Kopf & PDF angezeigt wird
const MANDANT_TEXTE = {
'DEBUG': '🚧 DEBUG MODUS - Alle Felder sichtbar 🚧',
'ZENIT': 'ZenIT - Zentraler IT-Dienstleister',
'OLG': 'Ordentliche Gerichtsbarkeit (OLG / LG / AG)',
'GSTA': 'Generalstaatsanwaltschaft / Staatsanwaltschaft',
'JVA': 'Justizvollzug',
'FG': 'Finanzgerichtsbarkeit',
'VG': 'Verwaltungsgerichtsbarkeit',
'SG': 'Sozialgerichtsbarkeit',
'JAK': 'Justizakademie',
'ARBG': 'Arbeitsgerichtsbarkeit',
'SDJ': 'Sozialen Dienste der Justiz'
};
document.addEventListener('DOMContentLoaded', () => {
// 1. HEADER TEXT SETZEN (Automatisch aus der Liste oben)
const headerElement = document.getElementById('headerOrgaText');
if(headerElement) {
// Langtext holen, sonst Fallback auf Kürzel
const langText = MANDANT_TEXTE[window.MANDANT] || window.MANDANT;
headerElement.innerText = langText;
}
// 2. LISTEN KONFIGURATION
const spatzAbteilungen = [
"Administrative Kennungen und Berechtigungen", "Alfresco-Bereinigung", "Anforderungsmanagement", "Application-Management", "AUREG",
"Benutzerverwaltung", "Bestand FG", "Bestand GStA", "Bestand JV", "Bestand SG", "Bestand VG", "BNV-Prozess", "Bußgeldliste", "BZR _VZR",
"Change Management", "Citrix", "Datenbanken", "e-justiz Basisdienste", "EGVP", "Ehefähigkeit", "eIP Fach", "eIP Technik", "EKP",
"e-justiz Basisdienste", "EKP", "ELA Nutzer", "ELA Technik", "Endbenutzer", "Endgeräte-Infrastruktur", "ERV", "EUREKA-GVPS",
"EUREKA-Team ArbG", "EUREKA-Team FG", "EUREKA-Team VG", "eVvD", "Externe Partner ZenIT", "Fachbereichsleitung 1", "Fachbereichsleitung 2",
"Fachbereichsleitung 3", "Fachbereichsleitung 4", "factro", "forumSTAR-Allgemein", "forumSTAR-Kern", "forumSTAR-Linie I", "forumSTAR-Linie II",
"forumSTAR-Technisch", "forumSTAR-Text", "GISBO Alarm", "Hardware OLG", "Haushalt und Beschaffung", "Hausleitung ZenIT", "Informationssicherheit ZenIT",
"Justine", "JVP", "KBA (Kraftfahrt-Bundesamt) / FAER", "LMR Zertifikate und Zugänge", "MAIS", "MDB Change", "MEGA", "MeStA", "Moodle-Schulungsplattform",
"myZenIT", "Netzwerk-Infrastruktur", "Onlineterminbuchung", "Problem Manager", "Saal und Video", "SAFE Portal", "SAFE Vollstreckungsportal",
"Schulungsmanagement", "Service Desk", "Signaturkarten", "solumSTAR", "solumWEB", "SoPart", "SPATZ", "Spracherkennung", "Sys AG BER", "Sys AG BRB",
"Sys AG CB", "Sys AG CB GUB", "Sys AG EH", "Sys AG EW", "Sys AG FF", "Sys AG FRW", "Sys AG FW", "Sys AG KW", "Sys AG LIB", "Sys AG LN", "Sys AG LUK",
"Sys AG NAU", "Sys AG NP", "Sys AG OR", "Sys AG P", "Sys AG PER", "Sys AG PZ", "Sys AG RN", "Sys AG SDT", "Sys AG SFB", "Sys AG SRB", "Sys AG ZEH",
"Sys AG ZS", "Sys ArbG BRB", "Sys ArbG CB", "Sys ArbG EW", "Sys ArbG FF", "Sys ArbG NP", "Sys FG", "Sys GStA (Administartoren", "Sys JVA BRB",
"Sys JVA CB", "Sys JVA LC", "Sys JVA LC SPB", "Sys JVA MOL", "Sys JVA NP", "Sys LG CB", "Sys LG FF", "Sys LG NP", "Sys LG P", "Sys LSG", "Sys OLG BRB",
"Sys SG CB", "Sys SG FF", "Sys SG NP", "Sys SG P", "Sys StA CB", "Sys StA FF", "Sys StA FF EW", "Sys StA NP", "Sys StA P", "Sys VG CB", "Sys VG FF",
"Sys VG FF", "Sys VG P", "Sys ZENIT P", "System-Infrastruktur", "System-Management", "Transkription", "VIS", "VPKS-Vollzug", "WebKASH", "WebKASH-Technik",
"Zeiterfassung Fachlich VG", "Zeiterfassung Technik OLG", "ZENIT Außenstelle BRB"
];
// Mapping von Behörde/Anschrift & Dienststellen Nr.
const dstMapping = {
// ZenIT
"ZenIT - Feldmannstr. 1": "04414",
"ZenIT - Magdeburger Str. 51": "04414",
"ZenIT - Steinstr. 104-106": "04414",
"ZenIT - Thiemstr. 130": "04414",
"ZenIT - Gartenstr. 3": "04414",
// OLG
"AG Bad Freienwalde": "04508",
"AG Bad Liebenwerda - Burgplatz 4": "04516",
"AG Bad Liebenwerda - Burgplatz 5": "04516",
"AG Bernau": "04506",
"AG Brandenburg an der Havel": "04522",
"AG Cottbus - Gerichtsplatz 2": "04517",
"AG Cottbus - Nebenstelle Guben": "04517",
"AG Cottbus - Thiemstr. 130": "04517",
"AG Eberswalde - Tramper Chaussee 7, Haus 12": "04507",
"AG Frankfurt (Oder) ZSt EH - Diehloer Str. 62": "04505",
"AG Frankfurt (Oder) ZSt EH - K.-Marx-Ster. 35c": "04505",
"AG Frankfurt (Oder)": "04505",
"AG Fürstenwalde": "04509",
"AG Königs Wusterhausen - NSt Wildau": "04524",
"AG Königs Wusterhausen - Schlossplatz 4": "04524",
"AG Lübben": "04519",
"AG Luckenwalde - Lindenallee 16": "04525",
"AG Luckenwalde - Markt 25": "04525",
"AG Nauen": "04526",
"AG Neuruppin": "04527",
"AG Oranienburg": "04528",
"AG Perleberg": "04529",
"AG Potsdam - Hegelallee 8": "04529",
"AG Potsdam - Jägerallee 10-12": "04529",
"AG Potsdam - Jägerallee 26": "04529",
"AG Prenzlau": "04510",
"AG Rathenow": "04530",
"AG Schwedt": "04513",
"AG Senftenberg - Roßkaupe 10": "04520",
"AG Senftenberg - Steindamm 8": "04520",
"AG Strausberg": "04511",
"AG Zehdenick": "04523",
"AG Zossen - Gerichtstr. 10": "04532",
"AG Zossen - Hauptallee 116": "04532",
"Justizakademie des Landes Brandenburg": "12401",
"LG Cottbus": "04502",
"LG Frankfurt (Oder)": "04504",
"LG Neuruppin": "04539",
"LG Potsdam": "04521",
"OLG Brandenburg": "04540",
// JVA
"JVA Brandenburg an der Havel": "04402",
"JVA Cottbus-Dissenchen": "04407",
"JVA Luckau-Duben": "04409",
"JVA Luckau-Duben AS Spremberg": "04411",
"JVA Nord-Brandenburg TA Wulkow": "04405",
"JVA Nord-Brandenburg TA Wriezen": "04412",
// SDJ
"SDJ Bad Liebenwerda": "04540",
"SDJ Bernau": "04540",
"SDJ Brandenburg": "04540",
"SDJ Cottbus": "04540",
"SDJ Eberswalde": "04540",
"SDJ Frankfurt (Oder)": "04540",
"SDJ Fürstenwalde": "04540",
"SDJ Königs Wusterhausen": "04540",
"SDJ Luckenwalde": "04540",
"SDJ Nauen": "04540",
"SDJ Neuruppin": "04540",
"SDJ Oranienburg": "04540",
"SDJ Perleberg": "04540",
"SDJ Potsdam": "04540",
"SDJ Prenzlau": "04540",
"SDJ Pritzwalk": "04540",
"SDJ Schwedt": "04540",
"SDJ Senftenberg": "04540",
"SDJ Strausberg": "04540",
// VG
"Verwaltungsgericht Cottbus": "04535",
"Verwaltungsgericht Frankfurt (Oder)": "04536",
"Verwaltungsgericht Potsdam": "04537",
// FG - VORBEREITUNG
"Finanzgericht Berlin-Brandenburg": "04533",
// GSTA - VORBEREITUNG
"Generalstaatsanwaltschaft": "04514",
"Staatsanwaltschaft Cottbus": "04501",
"Staatsanwaltschaft Frankfurt (Oder)": "04503",
"Staatsanwaltschaft Potsdam": "04515",
// SG - VORBEREITUNG
"Landessozialgericht Berlin Brandenburg": "04544",
"Sozialgericht Cottbus": "04545",
"Sozialgericht Frankfurt (Oder)": "04546",
"Sozialgericht Neuruppin": "04547",
"Sozialgericht Potsdam": "04548",
// ARBG - VORBEREITUNG
"Arbeitsgericht Brandenburg": "04542",
"Arbeitsgericht Cottbus": "04543",
"Arbeitsgericht Frankfurt (Oder)": "04550",
"Arbeitsgericht Neuruppin": "04551",
};
// 3. INITIALISIERUNG
const spatzSelectIds = ['sva1', 'sva2', 'sva3'];
spatzSelectIds.forEach(id => {
const select = document.getElementById(id);
if (select) {
spatzAbteilungen.forEach(abt => {
const opt = document.createElement('option');
opt.value = abt;
opt.textContent = abt;
select.appendChild(opt);
});
}
});
// ---------------------------------------------------------
// LIVE-SYNC: z.B. für AUREG
// ---------------------------------------------------------
const sourceField_aureg_dienstbezeichnung = document.getElementById('ma_dienstbezeichnung');
const targetField_aureg_dienstbezeichnung = document.getElementById('aureg_dienstbezeichnung_copy');
if (sourceField_aureg_dienstbezeichnung & & targetField_aureg_dienstbezeichnung) {
sourceField_aureg_dienstbezeichnung.addEventListener('change', function() {
targetField_aureg_dienstbezeichnung.value = this.value;
});
}
if (sourceField_aureg_dienstbezeichnung.value) {
targetField_aureg_dienstbezeichnung.value = sourceField_aureg_dienstbezeichnung.value;
}
// #########################################################
// ### HELFER-FUNKTION: FELDER VERBINDEN (Live-Sync) ###
// #########################################################
function verbindeFelder(quelleId, zielId) {
const quelle = document.getElementById(quelleId);
const ziel = document.getElementById(zielId);
if (!quelle || !ziel) return; // Abbruch, falls IDs nicht existieren
// Die Funktion, die den Wert rüber kopiert
const sync = () => {
ziel.value = quelle.value;
};
// Wir lauschen auf ALLES (Tippen 'input' und Auswählen 'change')
quelle.addEventListener('input', sync);
quelle.addEventListener('change', sync);
// Einmal sofort ausführen (damit beim Laden schon was drin steht)
sync();
}
// #########################################################
// ### HIER DIE VERBINDUNGEN DEFINIEREN ###
// ### Function('Quelle','Ziel') ###
// ### Ziel muss eindeutige ID haben ###
// #########################################################
// 1. Dienstbezeichnung
verbindeFelder('ma_dienstbezeichnung', 'aureg_dienstbezeichnung_copy');
verbindeFelder('ma_dienstbezeichnung', 'solumstar_dienstbezeichnung_copy');
verbindeFelder('ma_dienstbezeichnung', 'webkash_dienstbezeichnung_copy');
// 2. Funktion
verbindeFelder('ma_funktion', 'safe_funktion_copy');
verbindeFelder('ma_funktion', 'aureg_funktion_copy');
verbindeFelder('ma_funktion', 'solumstar_funktion_copy');
verbindeFelder('ma_funktion', 'sopart_funktion_copy');
// 3. Dienstort
verbindeFelder('dienstort_OLG', 'solumstar_dienstort_copy');
// 4. PC-Name
verbindeFelder('pc_name','digta_pc_name_copy')
verbindeFelder('pc_name','dragon_pc_name_copy')
// 4. DST NR AUTOMATIK (Für ALLE Dienstort-Selects)
// suche alle Selects, deren ID mit "dienstort" beginnt
const dienstortSelects = document.querySelectorAll('select[id^="dienstort"]');
dienstortSelects.forEach(sel => {
sel.addEventListener('change', function() {
const selectedOrt = this.value;
const dstInput = document.getElementById('dst_nr');
if (dstMapping[selectedOrt] & & dstInput) {
dstInput.value = dstMapping[selectedOrt];
}
});
});
// Globale Change Listener
const allInputs = document.querySelectorAll('input, select');
allInputs.forEach(el => el.addEventListener('change', refreshForm));
refreshForm();
});
function saveToFile() {
const mandant = window.MANDANT || 'Unbekannt';
const vorname = document.getElementById('vorname').value.trim();
const nachname = document.getElementById('nachname').value.trim();
if (!vorname || !nachname) {
alert("ACHTUNG: Zum Speichern müssen 'Vorname' und 'Nachname' ausgefüllt sein!");
document.getElementById('gruppeNutzerdaten').classList.remove('hidden');
if(!vorname) document.getElementById('vorname').focus();
else document.getElementById('nachname').focus();
return;
}
const data = {};
document.querySelectorAll('input, select, textarea').forEach(el => {
if (el.type === 'radio') {
if (el.checked) data['RADIO_' + el.name] = el.value;
} else if (el.type === 'checkbox') {
data['CHECK_' + el.id] = el.checked;
} else {
if (el.id) data['VAL_' + el.id] = el.value;
}
});
const jsonStr = JSON.stringify(data, null, 2);
const blob = new Blob([jsonStr], { type: "application/json" });
const url = URL.createObjectURL(blob);
const a = document.createElement('a');
a.href = url;
a.download = `Entwurf_${mandant}_${nachname}_${vorname}.json`;
document.body.appendChild(a);
a.click();
document.body.removeChild(a);
URL.revokeObjectURL(url);
}
function loadFromFile(input) {
const file = input.files[0];
if (!file) return;
const reader = new FileReader();
reader.onload = function(e) {
try {
const data = JSON.parse(e.target.result);
document.getElementById('onboardingForm').reset();
document.querySelectorAll('input, select, textarea').forEach(el => {
if (el.type === 'radio') {
if (data['RADIO_' + el.name] === el.value) el.checked = true;
} else if (el.type === 'checkbox') {
if (data['CHECK_' + el.id] !== undefined) el.checked = data['CHECK_' + el.id];
} else {
if (el.id & & data['VAL_' + el.id] !== undefined) el.value = data['VAL_' + el.id];
}
});
refreshForm();
alert(`Erfolg: Entwurf "${file.name}" wurde geladen.`);
} catch (err) {
alert("Fehler: Die Datei konnte nicht gelesen werden.");
console.error(err);
}
};
reader.readAsText(file);
input.value = '';
}
// ---------------------------------------------
// FUNKTION: Formular Logik (Sichtbarkeit)
// ---------------------------------------------
function refreshForm() {
try {
hideAll();
const mandant = window.MANDANT || 'ZENIT';
const grund = document.querySelector('input[name="grund"]:checked')?.value;
const aenderungsart = document.querySelector('input[name="aenderungsart"]:checked')?.value;
// 1. Dienstort ermitteln
let dienstort = "";
const allDienstortSelects = document.querySelectorAll('select[id^="dienstort_"]');
allDienstortSelects.forEach(sel => {
if (sel.value) dienstort = sel.value;
});
const hardwareStatus = document.querySelector('input[name="hardware_vorhanden"]:checked')?.value;
const befristung = document.getElementById('befristung_art').value;
let showList = [];
let requireList = [];
// 2. INTELLIGENTE LISTE ALLER DIENSTORTE
const relevantDienstortIDs = Array.from(document.querySelectorAll('[id^="row_dienstort_"]')).map(el => el.id);
const relevantDienstortSelects = Array.from(document.querySelectorAll('select[id^="dienstort_"]')).map(el => el.id);
// GRUND-Logik
if (grund === 'Neuanlage') {
showList.push(
'gruppeNutzerdaten', 'row_titel', 'row_vorname', 'row_nachname', 'row_termin', 'row_h_zugriff', 'row_anwendungen',
'row_mitarbeiter_detail', 'row_mitarbeiter_funktion', 'gruppeAnwenderdetails', 'row_sachgebiet', 'row_spez_funktion',
'row_raum_nr', 'row_telefon_nr', 'row_jvp_id', 'row_dst_nr', 'row_befristung_art', 'row_hardware_check', 'row_bg_1',
'row_mitarbeiter_detail_vg', 'row_vg_kammer', 'row_vg_dezernat', 'row_nebenrollen'
);
showList.push(...relevantDienstortIDs);
// Pflichtfelder Neuanlage
requireList.push(
'vorname', 'nachname', 'sachgebiet', 'raum_nr', 'telefon_nr', 'dst_nr','hardware_vorhanden','rechnertyp','mon_normal',
'druckertyp','d_name1','d_raum1','ma_dienstbezeichnung','ma_funktion',
);
requireList.push(...relevantDienstortSelects);
}
else if (grund === 'Aktivierung') {
showList.push(
'gruppeNutzerdaten', 'row_titel', 'row_vorname', 'row_nachname', 'row_termin', 'row_h_zugriff', 'row_anwendungen',
'gruppeAnwenderdetails', 'row_sachgebiet', 'row_raum_nr', 'row_telefon_nr', 'row_hardware_check'
);
showList.push(...relevantDienstortIDs);
// Pflichtfelder Aktivierung
requireList.push('vorname', 'nachname', 'termin', 'raum_nr', 'telefon_nr');
requireList.push(...relevantDienstortSelects);
}
else if (grund === 'Deaktivierung' || grund === 'Löschung') {
showList.push(
'gruppeNutzerdaten', 'row_titel', 'row_vorname', 'row_nachname', 'row_termin', 'row_h_zugriff', 'row_anwendungen',
'gruppeAnwenderdetails'
);
showList.push(...relevantDienstortIDs);
// Pflichtfelder Deaktivierung
requireList.push('vorname', 'nachname');
requireList.push(...relevantDienstortSelects);
}
else if (grund === 'Änderung') {
showList.push('gruppeAenderungsart');
if (aenderungsart === 'Name') {
showList.push(
'gruppeBisherigeDaten', 'row_bisheriger_nachname', 'row_bisheriger_vorname',
'gruppeNutzerdaten', 'row_titel', 'row_vorname', 'row_nachname'
);
// Pflichtfelder Änderung Name
requireList.push('bisheriger_nachname', 'bisheriger_vorname', 'vorname', 'nachname');
}
else if (aenderungsart === 'Dienstort') {
showList.push(
'gruppeNutzerdaten', 'row_titel', 'row_vorname', 'row_nachname',
'gruppeAnwenderdetails', 'row_raum_nr', 'row_telefon_nr', 'row_dst_nr'
);
showList.push(...relevantDienstortIDs);
// Pflichtfelder Änderung Dienstort
requireList.push('vorname', 'nachname', 'raum_nr', 'telefon_nr', 'dst_nr');
requireList.push(...relevantDienstortSelects);
}
else if (aenderungsart === 'Fachanwendung') {
showList.push(
'gruppeNutzerdaten', 'row_titel', 'row_vorname', 'row_nachname', 'row_anwendungen'
);
// Pflichtfelder Änderung Fachanwendung
requireList.push('vorname', 'nachname');
}
else if (aenderungsart === 'Berechtigungsgruppe') {
showList.push (
'gruppeNutzerdaten', 'row_titel', 'row_vorname', 'row_nachname', 'gruppeAnwenderdetails', 'row_bg_1'
);
showList.push(...relevantDienstortIDs);
// Pflichtfelder Änderung Berechtigungsgruppe (JVA)
requireList.push('vorname', 'nachname');
requireList.push(...relevantDienstortSelects);
}
}
// Befristung
if (showList.includes('row_befristung_art') & & (befristung === 'Befristung' || befristung === 'Abordnung' || befristung === 'Dienstleistungsauftrag')) {
showList.push('row_befristet_bis','row_befristet_anteil');
requireList.push('befristet_bis');
}
// Steinstrasse Spezial
if (dienstort === 'Steinstr. 104-106') {
if (grund === 'Neuanlage' || grund === 'Aktivierung') {
showList.push('row_mac_adresse', 'row_bisheriger_raum');
requireList.push('tel_mac_adresse', 'tel_bisheriger_raum');
if (grund === 'Neuanlage') {
showList.push('row_bisheriger_nutzer');
requireList.push('tel_bisheriger_nutzer');
}
}
}
// Hardware vorhanden
if (showList.includes('row_hardware_check')) {
if (hardwareStatus === 'Ja') {
showList.push('row_pc_name');
//requireList.push('pc_name');
} else if (hardwareStatus === 'Nein') {
showList.push('gruppeNeueHardware');
}
}
// Checkbox Gruppen
if (showList.includes('row_h_zugriff')) {
if (document.getElementById('cbDrucker').checked) showList.push('gruppeDrucker');
if (document.getElementById('cbDongle').checked) showList.push('gruppeDongle');
if (document.getElementById('cbPostfaecher').checked) showList.push('gruppePostfaecher');
if (document.getElementById('cbVGnebenrollen').checked) showList.push('gruppeNebenrollen');
if (document.getElementById('cbVGKammern').checked) showList.push('gruppeVGKammer');
if (document.getElementById('cbVGDezernate').checked) showList.push('gruppeVGDezernat');
if (document.getElementById('cbVGVerteilerlisten').checked) showList.push('gruppeVGVerteilerlisten');
if (document.getElementById('cbErgaenzungen').checked) {
showList.push('gruppeErgaenzungen');
requireList.push('ergaenzungen_text');
}
}
if (showList.includes('row_anwendungen')) {
const spatzCheckbox = document.getElementById('cbSPATZ');
if (document.getElementById('cbSPATZ').checked) showList.push('gruppeSPATZ');
const dragonCheckbox = document.getElementById('cbDragon');
if (dragonCheckbox & & dragonCheckbox.checked) showList.push('gruppeDragon');
const auregCheckbox = document.getElementById('cbAUREG');
if (auregCheckbox & & auregCheckbox.checked) showList.push('gruppeAUREG');
const beckCheckbox = document.getElementById('cbBeck');
if (beckCheckbox & & beckCheckbox.checked) showList.push('gruppeBeck');
const fstarCheckbox = document.getElementById('cbForumSTAR');
if (fstarCheckbox & & fstarCheckbox.checked) showList.push('gruppeForumSTAR');
const lmrCheckbox = document.getElementById('cbLMR');
if (lmrCheckbox & & lmrCheckbox.checked) showList.push('gruppeLMR');
const megaCheckbox = document.getElementById('cbMEGA');
if (megaCheckbox & & megaCheckbox.checked) showList.push('gruppeMEGA');
const safeCheckbox = document.getElementById('cbSAFE');
if (safeCheckbox & & safeCheckbox.checked) showList.push('gruppeSAFE');
const sopartCheckbox = document.getElementById('cbSoPart');
if (sopartCheckbox & & sopartCheckbox.checked) showList.push('gruppeSoPart');
const solumstarCheckbox = document.getElementById('cbSolumSTAR');
if (solumstarCheckbox & & solumstarCheckbox.checked) showList.push('gruppeSolumSTAR');
const webkashCheckbox = document.getElementById('cbWebKASH');
if (webkashCheckbox & & webkashCheckbox.checked) showList.push('gruppeWebKASH');
const digtaCheckbox = document.getElementById('cbDigta');
if (digtaCheckbox & & digtaCheckbox.checked) showList.push('gruppeDigta');
const basiswebCheckbox = document.getElementById('cbBasis-Web');
if (basiswebCheckbox & & basiswebCheckbox.checked) showList.push('gruppeBasisWeb');
const ehefaehigkeitCheckbox = document.getElementById('cbEhefaehigkeit');
if (ehefaehigkeitCheckbox & & ehefaehigkeitCheckbox.checked) showList.push('gruppeEhefaehigkeit');
const elaCheckbox = document.getElementById('cbELA');
if (elaCheckbox & & elaCheckbox.checked) showList.push('gruppeELA');
const eurekafachCheckbox = document.getElementById('cbEurekaFach');
if (eurekafachCheckbox & & eurekafachCheckbox.checked) showList.push('gruppeEurekaFach');
const fearkbaCheckbox = document.getElementById('cbFEARKBA');
if (fearkbaCheckbox & & fearkbaCheckbox.checked) showList.push('gruppeFEARKBAb');
const gisbotimerCheckbox = document.getElementById('cbGisboTimer');
if (gisbotimerCheckbox & & gisbotimerCheckbox.checked) showList.push('gruppeGisboTimer');
const nexuskammerCheckbox = document.getElementById('cbNEXUS');
if (nexuskammerCheckbox & & nexuskammerCheckbox.checked) showList.push('gruppeNexusKammer');
const qmconsenseCheckbox = document.getElementById('cbQMConSense');
if (qmconsenseCheckbox & & qmconsenseCheckbox.checked) showList.push('gruppeQMConsense');
const sfirmCheckbox = document.getElementById('cbSFirm');
if (sfirmCheckbox & & sfirmCheckbox.checked) showList.push('gruppeSFirm');
const sgvspersonalCheckbox = document.getElementById('cbSGVSPers');
if (sgvspersonalCheckbox & & sgvspersonalCheckbox.checked) showList.push('gruppeSGVSPersonal');
const sgvssachCheckbox = document.getElementById('cbSGVSSach');
if (sgvssachCheckbox & & sgvssachCheckbox.checked) showList.push('gruppeSGVSSach');
const vwaktenCheckbox = document.getElementById('cbVW-Akten');
if (vwaktenCheckbox & & vwaktenCheckbox.checked) showList.push('gruppeVWAkten');
}
// *** FILTER LOGIK FÜR HAUPTGRUPPEN (z.B. Dienstorte) ***
showList = showList.filter(id => {
const el = document.getElementById(id);
if (!el) return false;
const allowedAreas = el.getAttribute('data-areas');
if (!allowedAreas) return true;
if (mandant === 'DEBUG') return true;
const areaList = allowedAreas.split(',').map(s => s.trim());
return areaList.includes(mandant);
});
// Anzeigen
showList.forEach(id => {
const el = document.getElementById(id);
if (el) {
el.classList.remove('hidden');
// Inhalt von Zusatzgruppen anzeigen (UND JETZT AUCH FILTERN!)
const autoShowContentGroups = [
'gruppeDrucker', 'gruppeDongle', 'gruppePostfaecher', 'gruppeSPATZ', 'gruppeErgaenzungen', 'gruppeNeueHardware','gruppeDragon',
'gruppeAUREG','gruppeBeck', 'gruppeForumSTAR', 'gruppeLMR', 'gruppeMEGA', 'gruppeSAFE', 'gruppeSoPart', 'gruppeSolumSTAR',
'gruppeWebKASH', 'gruppeDigta', 'gruppeVGDezernat', 'gruppeVGKammer', 'gruppeNebenrollen', 'gruppeVGVerteilerlisten','gruppeBasisWeb',
'gruppeEhefaehigkeit', 'gruppeELA','gruppeEurekaFach','gruppeFEARKBA','gruppeGisboTimer','gruppeNexusKammer','gruppeQMConsense',
'gruppeSFirm','gruppeSGVSPersonal','gruppeSGVSSach','gruppeVWAkten'
];
if (autoShowContentGroups.includes(id)) {
el.querySelectorAll('.input-wrapper').forEach(child => {
// Wir prüfen jedes einzelne Feld in der Gruppe auf Mandanten-Rechte
const childAreas = child.getAttribute('data-areas');
if (childAreas) {
// NEU: DEBUG-MODUS
if (mandant !== 'DEBUG') {
const allowed = childAreas.split(',').map(s => s.trim());
if (!allowed.includes(mandant)) return;
}
}
// Wenn keine Einschränkung oder Mandant erlaubt: Anzeigen
child.classList.remove('hidden');
});
}
}
});
// #########################################################
// ### 3. EINZEL-OPTIONEN FILTER (Checkboxen & Radios) ###
// #########################################################
// Hier fügen wir 'gruppeAenderungsart' zur Liste hinzu
const filteredGroups = ['row_h_zugriff', 'row_anwendungen', 'gruppeAenderungsart'];
filteredGroups.forEach(groupId => {
const container = document.getElementById(groupId);
if (container & & !container.classList.contains('hidden')) {
// Wir suchen nach data-areas sowohl an Inputs (wie bisher) als auch an Labels (neu)
const restrictedElements = container.querySelectorAll('input[data-areas], label[data-areas]');
restrictedElements.forEach(el => {
const allowed = el.getAttribute('data-areas').split(',').map(s => s.trim());
// Wir brauchen das Label zum Verstecken und das Input zum Auswahl-Reset
const label = (el.tagName === 'LABEL') ? el : el.closest('label');
const input = (el.tagName === 'INPUT') ? el : el.querySelector('input');
if (mandant === 'DEBUG' || allowed.includes(mandant)) {
// Mandant darf die Option sehen
if (label) label.classList.remove('hidden');
} else {
// Mandant darf die Option NICHT sehen
if (label) label.classList.add('hidden');
// Auswahl aufheben, falls dieses Feld markiert war
if (input) input.checked = false;
}
});
}
});
// #########################################################
// ### 4. OPTIONEN-FILTER (Dropdown-Inhalte) ###
// #########################################################
const dropdownsWithFilters = document.querySelectorAll('select option[data-areas]');
dropdownsWithFilters.forEach(opt => {
const selectEl = opt.parentElement;
const allowed = opt.getAttribute('data-areas').split(',').map(s => s.trim());
if (mandant === 'DEBUG' || allowed.includes(mandant)) {
// Einblenden
opt.style.display = "";
opt.disabled = false;
opt.hidden = false;
} else {
// Ausblenden
opt.style.display = "none";
opt.disabled = true;
opt.hidden = true;
// Falls die ungültige Option gerade ausgewählt ist -> Auswahl zurücksetzen
if (selectEl.value === opt.value) {
selectEl.value = "";
}
}
});
// Requirements setzen
requireList.forEach(id => {
const el = document.getElementById(id);
if (el & & !el.classList.contains('hidden')) {
const wrapper = el.closest('.input-wrapper') || el.closest('.form-grouping');
if (wrapper & & !wrapper.classList.contains('hidden') & & !wrapper.closest('.hidden')) {
const label = document.querySelector(`label[for="${id}"]`);
el.setAttribute('required', 'required');
if (label) label.classList.add('required-label');
}
}
});
} catch (e) {
console.error("Fehler im Formular-Skript:", e);
}
}
// ... hideAll Funktion bleibt unverändert ...
function hideAll() {
const selectors = ['.form-grouping', '.input-wrapper', '.sub-group', '#row_h_zugriff', '#row_anwendungen'];
const allElements = document.querySelectorAll(selectors.join(','));
allElements.forEach(el => {
if (el.id !== 'gruppeGrund') el.classList.add('hidden');
});
document.querySelectorAll('[required]').forEach(el => {
if (el.name !== 'grund' & & el.name !== 'aenderungsart') el.removeAttribute('required');
});
document.querySelectorAll('.required-label').forEach(el => el.classList.remove('required-label'));
}
// ... handleFormAction und generateAndDownloadPDF bleiben unverändert ...
async function handleFormAction() {
const form = document.getElementById('onboardingForm');
if (!form.checkValidity()) {
form.reportValidity();
return;
}
const formData = collectFormData();
await generateAndDownloadPDF(formData);
openFullMailClient(formData);
}
function collectFormData() {
const grund = document.querySelector('input[name="grund"]:checked')?.value || 'Kein Grund gewählt';
const aenderungsart = document.querySelector('input[name="aenderungsart"]:checked')?.value;
const vorname = document.getElementById('vorname').value || '';
const nachname = document.getElementById('nachname').value || '';
const dienstort_pdf = document.getElementById('dienstort_ARBG').value || document.getElementById('dienstort_FG').value || document.getElementById('dienstort_GSTA').value || document.getElementById('dienstort_JVA').value || document.getElementById('dienstort_OLG').value || document.getElementById('dienstort_SDJ').value || document.getElementById('dienstort_SG').value || document.getElementById('dienstort_VG').value || document.getElementById('dienstort_ZENIT').value || '';
const mandant = window.MANDANT || '';
let data = {
title: `BNV - ${grund}`,
lines: []
};
if (grund === 'Änderung' & & aenderungsart) data.title += ` (${aenderungsart})`;
if (nachname || vorname) data.title += ` - ${nachname}, ${vorname}, ${dienstort_pdf}`;
data.lines.push(`Grund: ${grund}`);
data.lines.push(`Kunde: ${mandant}`);
if (grund === 'Änderung' & & aenderungsart) {
data.lines.push(`Art der Änderung: ${aenderungsart}`);
}
data.lines.push('');
const visibleGroups = document.querySelectorAll('.form-grouping:not(.hidden)');
visibleGroups.forEach(group => {
if (group.id === 'gruppeGrund' || group.id === 'gruppeAenderungsart') return;
const groupTitle = group.querySelector('h3')?.innerText || 'Abschnitt';
data.lines.push(`[ ${groupTitle.toUpperCase()} ]`);
const inputs = group.querySelectorAll('input, select, textarea');
let processedNames = [];
inputs.forEach(input => {
const wrapper = input.closest('.input-wrapper') || input.closest('#row_h_zugriff') || input.closest('#row_anwendungen');
if (!wrapper || wrapper.classList.contains('hidden')) return;
// WICHTIG: Filter für Mandanten
// NEU: Wenn DEBUG, wird der Filter ignoriert!
if (wrapper.hasAttribute('data-areas') & & mandant !== 'DEBUG') {
const allowed = wrapper.getAttribute('data-areas').split(',').map(s=>s.trim());
if(!allowed.includes(mandant)) return;
}
if (processedNames.includes(input.name)) return;
let labelText = "";
let valueText = "";
const label = wrapper.querySelector('label') || document.querySelector(`label[for="${input.id}"]`);
if (label) labelText = label.innerText.replace('*', '').trim();
if (input.type === 'radio') {
const checked = group.querySelector(`input[name="${input.name}"]:checked`);
if (checked) { valueText = checked.value; processedNames.push(input.name); }
} else if (input.type === 'checkbox') {
const checkedBoxes = group.querySelectorAll(`input[name="${input.name}"]:checked`);
if (checkedBoxes.length > 0) {
let values = [];
checkedBoxes.forEach(cb => {
// Wenn die Checkbox den Standardwert "on" hat (kein value-Attribut gesetzt),
// wird von einer Ja/Nein-Abfrage aus und schreiben "Ja".
if (cb.value === 'on') {
values.push("Ja");
} else {
// Wenn ein value gesetzt ist (z.B. bei Anwendungen),
// Übernahme Text des Labels (z.B. "AUREG")
const cbLabelText = cb.parentElement.innerText.trim();
values.push(cbLabelText || cb.value);
}
});
valueText = values.join(', ');
processedNames.push(input.name);
}
} else {
if (input.type === 'date' & & input.value) {
const parts = input.value.split('-');
valueText = (parts.length === 3) ? `${parts[2]}.${parts[1]}.${parts[0]}` : input.value;
} else {
valueText = input.value;
}
processedNames.push(input.name);
}
if (valueText) {
if (!labelText & & input.name === 'h_zugriff') labelText = "Hardware & Zugriff";
if (!labelText & & input.name === 'anwendungen') labelText = "Anwendungen";
data.lines.push(`${labelText}: ${valueText}`);
}
});
data.lines.push('');
});
return data;
}
function generateAndDownloadPDF(formData) {
const { jsPDF } = window.jspdf;
const doc = new jsPDF();
const vorname = document.getElementById('vorname').value.trim() || 'Leer';
const nachname = document.getElementById('nachname').value.trim() || 'Leer';
const mandant = window.MANDANT || 'Unbekannt';
const mandantLang = (typeof MANDANT_TEXTE !== 'undefined' & & MANDANT_TEXTE[mandant]) ? MANDANT_TEXTE[mandant] : mandant;
doc.setFontSize(16);
doc.text(`Benutzerverwaltung (BNV) - ${mandantLang}`, 10, 20);
doc.setFontSize(12);
doc.text(formData.title, 10, 30);
doc.line(10, 32, 200, 32);
let y = 40;
doc.setFontSize(10);
formData.lines.forEach(line => {
if (y > 280) { doc.addPage(); y = 20; }
if (line.startsWith('[') & & line.endsWith(']')) { doc.setFont("helvetica", "bold"); y += 5; }
else { doc.setFont("helvetica", "normal"); }
const splitText = doc.splitTextToSize(line, 190);
doc.text(splitText, 10, y);
y += (splitText.length * 5);
});
doc.save(`BNV_Antrag_${mandant}_${nachname}_${vorname}.pdf`);
}
function openFullMailClient(formData) {
let body = `Anbei übersende ich den BNV-Antrag als PDF.\n\n`;
body += `WICHTIG FÜR DEN ABSENDER:\nDie PDF-Datei muss manuell an diese E-Mail angefügt werden!\nSie finden die Datei in Ihrem Download-Ordner.`;
const recipient = "";
const mailtoLink = `mailto:${recipient}?subject=${encodeURIComponent(formData.title)}&body=${encodeURIComponent(body)}`;
window.location.href = mailtoLink;
}
< / script >
< / body >
2026-01-30 07:33:42 +00:00
< / html >