@crystaldesign/diva-web-planner-react 25.13.3 → 25.13.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/*! For license information please see 7334.diva-web-planner-react.umd.min.js.LICENSE.txt */
|
|
2
|
-
(self.webpackChunkCrystaldesignDivaWebPlannerReact=self.webpackChunkCrystaldesignDivaWebPlannerReact||[]).push([[7334],{75311:(e,t,r)=>{"use strict";const n=r(39437),{NAMESPACES:a}=r(34734);function generatePrefix(e,t,r){const n=`ns${r}`;return e[t]=[n],n}function preferredPrefixString(e,t,r){const n=e[t];return n?n.includes(r)?r:n[n.length-1]:null}function serializeAttributeValue(e){return null===e?"":e.replace(/&/gu,"&").replace(/"/gu,""").replace(/</gu,"<").replace(/>/gu,">").replace(/\t/gu,"	").replace(/\n/gu,"
").replace(/\r/gu,"
")}e.exports.preferredPrefixString=preferredPrefixString,e.exports.generatePrefix=generatePrefix,e.exports.serializeAttributeValue=serializeAttributeValue,e.exports.serializeAttributes=function serializeAttributes(e,t,r,i,o,l){let s="";const u=Object.create(null);for(const c of e.attributes){if(o&&u[c.namespaceURI]&&u[c.namespaceURI].has(c.localName))throw new Error("Found duplicated attribute");u[c.namespaceURI]||(u[c.namespaceURI]=new Set),u[c.namespaceURI].add(c.localName);const e=c.namespaceURI;let g=null;if(null!==e)if(g=preferredPrefixString(t,e,c.prefix),e===a.XMLNS){if(c.value===a.XML||null===c.prefix&&i||null!==c.prefix&&r[c.localName]!==c.value&&t[c.value].includes(c.localName))continue;if(o&&c.value===a.XMLNS)throw new Error("The XMLNS namespace is reserved and cannot be applied as an element's namespace via XML parsing");if(o&&""===c.value)throw new Error("Namespace prefix declarations cannot be used to undeclare a namespace");"xmlns"===c.prefix&&(g="xmlns")}else null===g&&(g=generatePrefix(t,e,l.prefixIndex++),s+=` xmlns:${g}="${serializeAttributeValue(e)}"`);if(s+=" ",null!==g&&(s+=`${g}:`),o&&(c.localName.includes(":")||!n.name(c.localName)||"xmlns"===c.localName&&null===e))throw new Error("Invalid attribute localName value");s+=`${c.localName}="${serializeAttributeValue(c.value)}"`}return s}},34734:e=>{"use strict";e.exports.NAMESPACES={HTML:"http://www.w3.org/1999/xhtml",XML:"http://www.w3.org/XML/1998/namespace",XMLNS:"http://www.w3.org/2000/xmlns/"},e.exports.NODE_TYPES={ELEMENT_NODE:1,ATTRIBUTE_NODE:2,TEXT_NODE:3,CDATA_SECTION_NODE:4,ENTITY_REFERENCE_NODE:5,ENTITY_NODE:6,PROCESSING_INSTRUCTION_NODE:7,COMMENT_NODE:8,DOCUMENT_NODE:9,DOCUMENT_TYPE_NODE:10,DOCUMENT_FRAGMENT_NODE:11,NOTATION_NODE:12},e.exports.VOID_ELEMENTS=new Set(["area","base","basefont","bgsound","br","col","embed","frame","hr","img","input","keygen","link","menuitem","meta","param","source","track","wbr"])},68122:(e,t,r)=>{"use strict";const n=r(39437),a=r(75311),{NAMESPACES:i,VOID_ELEMENTS:o,NODE_TYPES:l}=r(34734),s=/^(\x09|\x0A|\x0D|[\x20-\uD7FF]|[\uE000-\uFFFD]|[\u{10000}-\u{10FFFF}])*$/u,u=/^(\x20|\x0D|\x0A|[a-zA-Z0-9]|[-'()+,./:=?;!*#@$_%])*$/u;function serializeElement(e,t,r,l,s){if(l&&(e.localName.includes(":")||!n.name(e.localName)))throw new Error("Failed to serialize XML: element node localName is not a valid XML name.");let u="<",c="",g=!1,m=!1;const h={...r},p=Object.create(null),d=function recordNamespaceInformation(e,t,r){let n=null;for(let a=0;a<e.attributes.length;++a){const o=e.attributes[a];if(o.namespaceURI===i.XMLNS){if(null===o.prefix){n=o.value;continue}let e=o.value;if(e===i.XML)continue;if(null===e&&(e=""),e in t&&t[e].includes(o.localName))continue;e in t||(t[e]=[]),t[e].push(o.localName),r[o.localName]=e}}return n}(e,h,p);let f=t;const F=e.namespaceURI;if(f===F)null!==d&&(m=!0),c=F===i.XML?`xml:${e.localName}`:e.localName,u+=c;else{let{prefix:t}=e,r=a.preferredPrefixString(h,F,t);if("xmlns"===t){if(l)throw new Error('Failed to serialize XML: element nodes can\'t have a prefix of "xmlns".');r="xmlns"}null!==r?(c=`${r}:${e.localName}`,null!==d&&d!==i.XML&&(f=""===d?null:d),u+=c):null!==t?(t in p&&(t=a.generatePrefix(h,F,s.prefixIndex++)),h[F]?h[F].push(t):h[F]=[t],c=`${t}:${e.localName}`,u+=`${c} xmlns:${t}="${a.serializeAttributeValue(F,l)}"`,null!==d&&(f=""===d?null:d)):null===d||d!==F?(m=!0,c=e.localName,f=F,u+=`${c} xmlns="${a.serializeAttributeValue(F,l)}"`):(c=e.localName,f=F,u+=c)}if(u+=a.serializeAttributes(e,h,p,m,l,s),F===i.HTML&&0===e.childNodes.length&&o.has(e.localName)?(u+=" /",g=!0):F!==i.HTML&&0===e.childNodes.length&&(u+="/",g=!0),u+=">",g)return u;if(F===i.HTML&&"template"===e.localName)u+=xmlSerialization(e.content,f,h,l,s);else for(const t of e.childNodes)u+=xmlSerialization(t,f,h,l,s);return u+=`</${c}>`,u}function xmlSerialization(e,t,r,n,a){switch(e.nodeType){case l.ELEMENT_NODE:return serializeElement(e,t,r,n,a);case l.DOCUMENT_NODE:return function serializeDocument(e,t,r,n,a){if(n&&null===e.documentElement)throw new Error("Failed to serialize XML: document does not have a document element.");let i="";for(const o of e.childNodes)i+=xmlSerialization(o,t,r,n,a);return i}(e,t,r,n,a);case l.COMMENT_NODE:return function serializeComment(e,t,r,n){if(n&&!s.test(e.data))throw new Error("Failed to serialize XML: comment node data is not well-formed.");if(n&&(e.data.includes("--")||e.data.endsWith("-")))throw new Error("Failed to serialize XML: found hyphens in illegal places in comment node data.");return`\x3c!--${e.data}--\x3e`}(e,0,0,n);case l.TEXT_NODE:return function serializeText(e,t,r,n){if(n&&!s.test(e.data))throw new Error("Failed to serialize XML: text node data is not well-formed.");return e.data.replace(/&/gu,"&").replace(/</gu,"<").replace(/>/gu,">")}(e,0,0,n);case l.DOCUMENT_FRAGMENT_NODE:return function serializeDocumentFragment(e,t,r,n,a){let i="";for(const o of e.childNodes)i+=xmlSerialization(o,t,r,n,a);return i}(e,t,r,n,a);case l.DOCUMENT_TYPE_NODE:return function serializeDocumentType(e,t,r,n){if(n&&!u.test(e.publicId))throw new Error("Failed to serialize XML: document type node publicId is not well-formed.");if(n&&(!s.test(e.systemId)||e.systemId.includes('"')&&e.systemId.includes("'")))throw new Error("Failed to serialize XML: document type node systemId is not well-formed.");let a=`<!DOCTYPE ${e.name}`;return""!==e.publicId?a+=` PUBLIC "${e.publicId}"`:""!==e.systemId&&(a+=" SYSTEM"),""!==e.systemId&&(a+=` "${e.systemId}"`),`${a}>`}(e,0,0,n);case l.PROCESSING_INSTRUCTION_NODE:return function serializeProcessingInstruction(e,t,r,n){if(n&&(e.target.includes(":")||function asciiCaseInsensitiveMatch(e,t){if(e.length!==t.length)return!1;for(let r=0;r<e.length;++r)if((32|e.charCodeAt(r))!=(32|t.charCodeAt(r)))return!1;return!0}(e.target,"xml")))throw new Error("Failed to serialize XML: processing instruction node target is not well-formed.");if(n&&(!s.test(e.data)||e.data.includes("?>")))throw new Error("Failed to serialize XML: processing instruction node data is not well-formed.");return`<?${e.target} ${e.data}?>`}(e,0,0,n);case l.ATTRIBUTE_NODE:return"";case l.CDATA_SECTION_NODE:return function serializeCDATASection(e){return`<![CDATA[${e.data}]]>`}(e);default:throw new TypeError("Failed to serialize XML: only Nodes can be serialized.")}}e.exports=(e,{requireWellFormed:t=!1}={})=>{const r=Object.create(null);return r["http://www.w3.org/XML/1998/namespace"]=["xml"],xmlSerialization(e,null,r,t,{prefixIndex:1})}},39437:(e,t)=>{"use strict";t.name=e=>/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\u{EFFFF}][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\u{EFFFF}\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/u.test(e),t.qname=e=>/(?:^[A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\u{EFFFF}][A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\u{EFFFF}\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*:[A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\u{EFFFF}][A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\u{EFFFF}\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$)|(?:^[A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\u{EFFFF}][A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\u{EFFFF}\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$)/u.test(e)},33266:(e,t,r)=>{"use strict";r.d(t,{Z:()=>c});var n=r(13125),a=r(43860),i=r(98457),o=r(64357),l=r(80248),s=function(){function DockingPoint(e,t,r,a,i,o,s,u){(0,n.Z)(this,DockingPoint),(0,l.Z)(this,"dockingPoint",void 0),(0,l.Z)(this,"layer",void 0),(0,l.Z)(this,"isDisabled",void 0),(0,l.Z)(this,"plannerconfig",void 0),this.plannerconfig=s;var c=r.split("_");this.isDisabled=!1;var g=-1;if(c.length>=2)for(var m=1;m<c.length;m++){var h=parseInt(c[m]);if(!isNaN(h)){g=h;break}}else if(r.length>3){var p=parseInt(r.substring(3));isNaN(p)||(g=p)}this.dockingPoint={dpId:t+"_"+r,elementId:e,type:t,name:r,ignoreLayer:"AVR"==t||"AVL"==t||r.indexOf("_IL")>=0,localWorldPos:a,rotDeg:i,isDocking:!1,dpFilter:u},g>=0&&(this.dockingPoint.number=g),this.layer=o}return(0,a.Z)(DockingPoint,[{key:"clone",value:function clone(){var e=new DockingPoint(this.dockingPoint.elementId,this.dockingPoint.type,this.dockingPoint.name,this.dockingPoint.localWorldPos,this.dockingPoint.rotDeg,this.layer,this.plannerconfig,this.dockingPoint.dpFilter);return e.dockingPoint.dpId=this.dockingPoint.dpId,e.dockingPoint.ignoreLayer=this.dockingPoint.ignoreLayer,e.dockingPoint.isDocking=this.dockingPoint.isDocking,e.dockingPoint.number=this.dockingPoint.number,e.dockingPoint.onDP=this.dockingPoint.onDP,e.dockingPoint.onElementId=this.dockingPoint.onElementId,e}},{key:"ElementId",get:function get(){return this.dockingPoint.elementId}},{key:"Name",get:function get(){return this.dockingPoint.name}},{key:"LocalWorldPos",get:function get(){return this.dockingPoint.localWorldPos}},{key:"RotDeg",get:function get(){return this.dockingPoint.rotDeg}},{key:"Type",get:function get(){return this.dockingPoint.type}},{key:"IsDocking",get:function get(){return this.dockingPoint.isDocking}},{key:"Layer",get:function get(){return this.layer}},{key:"IgnoreLayer",get:function get(){return this.dockingPoint.ignoreLayer}},{key:"HasNumber",get:function get(){return null!=this.dockingPoint.number}},{key:"Number",get:function get(){return this.dockingPoint.number}},{key:"PlannerConfig",get:function get(){return this.plannerconfig}},{key:"IsDisabled",get:function get(){return this.isDisabled}},{key:"DPFilter",get:function get(){return this.dockingPoint.dpFilter}},{key:"doDock",value:function doDock(e,t){this.dockingPoint.isDocking=!0,this.dockingPoint.onDP=e,this.dockingPoint.onElementId=t}},{key:"undock",value:function undock(){this.dockingPoint.isDocking=!1,this.dockingPoint.onDP=void 0,this.dockingPoint.onElementId=void 0}},{key:"disableDP",value:function disableDP(e){this.isDisabled=e}},{key:"OnDP",get:function get(){return this.dockingPoint.onDP}},{key:"OnElementId",get:function get(){return this.dockingPoint.onElementId}},{key:"DpId",get:function get(){return this.dockingPoint.dpId}}])}(),u=i.ZP.initLog("Planner","WEB-PLANNER-LOGIC");const c=new(function(){return(0,a.Z)((function DockingPointHandler(){(0,n.Z)(this,DockingPointHandler)}),[{key:"getRotOfDP",value:function getRotOfDP(e,t){var r=o.FM.getDirection(t,e),n=new o.FM(0,1),a=o.FM.angleDeg(n,r);return r.x>0?360-a:a}},{key:"getReferenceDPType",value:function getReferenceDPType(e){switch(e){case"AVR":return"AVL";case"AVL":return"AVR";case"AVO":return"AVU";case"AVU":return"AVO";case"AVC":return"AVC";case"AVS":return"AVN";case"AVN":return"AVS"}return""}},{key:"sortDockingPoints",value:function sortDockingPoints(e,t){return"LEFT_TO_RIGHT"==e?t.sort((function(e,t){return e.LocalWorldPos.x>t.LocalWorldPos.x?1:-1})):t.sort((function(e,t){return e.LocalWorldPos.x<t.LocalWorldPos.x?1:-1}))}},{key:"checkDPAVLFilterDoMatch",value:function checkDPAVLFilterDoMatch(e,t){var r=e.FilterAVR,n=t.FilterAVL;if(0==n.length&&0==r.length)return!0;for(var a=0;a<r.length;a++)for(var i=0;i<n.length;i++)if(r[a]==n[i])return!0;return!1}},{key:"checkDPAVRFilterDoMatch",value:function checkDPAVRFilterDoMatch(e,t){var r=e.FilterAVL,n=t.FilterAVR;if(0==r.length&&0==n.length)return!0;for(var a=0;a<r.length;a++)for(var i=0;i<n.length;i++)if(r[a]==n[i])return!0;return!1}},{key:"checkDPsDoMatch",value:function checkDPsDoMatch(e,t,r,n){var a=this.checkDPAVRFilterDoMatch(r,n),i=this.checkDPAVLFilterDoMatch(r,n),o=this.getReferenceDPType(e.Type);if("AVL"==o&&!i)return!1;if("AVR"==o&&!a)return!1;if(t.Type!=o)return!1;if(e.IsDocking||t.IsDocking)return!1;if(!e.IgnoreLayer||!t.IgnoreLayer){var l=!0;if(!e.PlannerConfig.ignoreLayerAVC||"AVC"!=e.Type&&"AVC"!=t.Type||(l=!1),!e.PlannerConfig.ignoreLayerAVOAVU||"AVO"!=e.Type&&"AVU"!=e.Type||"AVO"!=t.Type&&"AVU"!=t.Type||(l=!1),!e.PlannerConfig.ignoreLayerAVNAVS||"AVN"!=e.Type&&"AVS"!=e.Type||"AVN"!=t.Type&&"AVS"!=t.Type||(l=!1),l&&t.Layer==e.Layer)return!1}return!e.HasNumber||!t.HasNumber||e.Number==t.Number}},{key:"doDock",value:function doDock(e,t,r,n){e.doDock(t,n),t.doDock(e,r)}},{key:"initDockingPointsFromSvg",value:function initDockingPointsFromSvg(e,t,r,n){e.saveCurrentDPState(),this.removeDockingPointRelations(e),e.clearAllDockingPoints();for(var a=0;a<t.length;a++){var l=t[a],u=new o.FM((l.x1-r.svgMinXVal)/i.ZP.UnitRecalc,(l.y1-r.svgMinYVal)/i.ZP.UnitRecalc),c=new o.FM((l.x2-r.svgMinXVal)/i.ZP.UnitRecalc,(l.y2-r.svgMinYVal)/i.ZP.UnitRecalc),g=this.getRotOfDP(u,c),m=void 0;"AVL"==l.dockingType?m=e.getFilterAVL():"AVR"==l.dockingType&&(m=e.getFilterAVR());var h=new s(e.getElementId(),l.dockingType,l.dockingName,new o.P(u.x,0,u.y),g,e.Layer,n,m);e.addDockingPoint(h)}}},{key:"removeDockingPointRelations",value:function removeDockingPointRelations(e){for(var t=e.getDockingPoints(),r=0;r<t.length;r++){var n=t[r];if(n.IsDocking)n.OnDP.undock(),n.undock()}}},{key:"removeDockingPointRelationsByType",value:function removeDockingPointRelationsByType(e,t){for(var r=[],n=e.getDockingPoints(),a=0;a<n.length;a++){var i=n[a];if(t.indexOf(i.Type)>-1&&i.IsDocking){var o=i.OnDP;r.push(o.ElementId),o.undock(),i.undock()}}return r}},{key:"searchDockableElementsInArea",value:function searchDockableElementsInArea(e,t,r){for(var n=e.getAllDockingPoints(),a=new Map,i=0;i<t.length;i++){var o=t[i];if(e.getElementId()!=o.getElementId())for(var l=0;l<n.length;l++)for(var s=n[l],u=this.getReferenceDPType(s.Type),c=o.getFreeDockingPointsByType(u),g=0;g<c.length;g++){var m=c[g];if(this.checkDPsDoMatch(s,m,e,o)){var h=e.getWorldPosOfDP(s.DpId),p=o.getWorldPosOfDP(m.DpId),d=Math.sqrt(Math.pow(h.x-p.x,2)+Math.pow(h.z-p.z,2));0!=r&&(r==1/0||d<r)&&(a.has(s.Type)?d<a.get(s.Type).distance&&a.set(s.Type,{sourceDP:s,targetDP:m,distance:d}):a.set(s.Type,{sourceDP:s,targetDP:m,distance:d}))}}}return a}},{key:"tryDockElement",value:function tryDockElement(e,t,r){var n=e.getDockingPointsByType(t);if(!n)return!1;for(var a=this.getReferenceDPType(t),i=0;i<r.length;i++){var o=r[i];if(o.ElementId!=e.ElementId&&((e.IsAccessoire||!o.IsAccessoire||o.getParentElementId()==e.getElementId())&&(!e.IsAccessoire||o.getAccessoires().includes(e.ArticleCodex)))){var l=o.getDockingPointsByType(a);if((e.getIsDockedAccessoire()||e.IsAccessoire)&&(l=this.sortDockingPoints("LEFT_TO_RIGHT",l)),l)for(var s=0;s<l.length;s++)for(var u=l[s],c=0;c<n.length;c++){var g=n[c];if(this.checkDPsDoMatch(g,u,e,o))return this.doDock(g,u,e.ElementId,o.ElementId),g}}}return!1}},{key:"tryDockElementToDP",value:function tryDockElementToDP(e,t,r){var n=this.getReferenceDPType(r.Type),a=e.getFreeDockingPointsByType(n);if(!a)return!1;for(var i=0;i<a.length;i++)if(this.checkDPsDoMatch(a[i],r,e,t))return this.doDock(a[i],r,e.ElementId,t.ElementId),a[i];return!1}},{key:"tryDockElementDPToDP",value:function tryDockElementDPToDP(e,t,r,n){return!!this.checkDPsDoMatch(r,n,e,t)&&(this.doDock(r,n,e.getElementId(),t.getElementId()),!0)}},{key:"updateDockingRelations",value:function updateDockingRelations(e){var t=[],r=[];e.forEach((function(e,n){e.IsDockedAccessoire?r.push(e):t[e.PosNr-1]=e})),t=t.concat(r);for(var n=[],a=0;a<t.length;a++)if(t[a])for(var i=t[a],o=i.getTempDockingPoints(),l=0;l<o.length;l++){var s=o[l];if(s.IsDocking&&s.OnElementId){var u=i.getDockingPointById(s.DpId);if(null==u){var c=e.get(s.OnElementId),g=i.getFreeDockingPointsByType(s.Type);if(1==g.length){var m=null==c?void 0:c.getFreeDockingPointsByType(this.getReferenceDPType(s.Type));if(1==(null==m?void 0:m.length)){this.tryDockElementDPToDP(i,c,g[0],m[0]);continue}}c&&n.push(c);continue}if(e.has(s.OnElementId)){var h=e.get(s.OnElementId),p=null==h?void 0:h.getDockingPointById(s.OnDP.DpId);this.tryDockElementDPToDP(i,h,u,p)}}}for(a=0;a<t.length;a++)t[a]&&t[a].clearTempDockingPoints();return n}},{key:"initDockingPointRelationByArea",value:function initDockingPointRelationByArea(e,t,r){if(e.getFreeDockingPointsByType(r).length>0){var n=this.searchDockableElementsInArea(e,[t],1/0);if(n.has(r)){var a=n.get(r);if(a)this.tryDockElementDPToDP(e,t,a.sourceDP,a.targetDP)||u.debug("Error when initializing docking Points. Two dockingpoints could not be matched. sourceDP: "+a.sourceDP.DpId+"; sourceRlementId: "+a.sourceDP.ElementId+"; targetDP: "+a.targetDP.DpId+" targetElemId: "+a.targetDP.ElementId)}}}},{key:"checkElementsAreDocking",value:function checkElementsAreDocking(e,t){for(var r=e.getDockingDockingPoints(),n=0;n<r.length;n++){if(r[n].OnElementId==t.getElementId())return!0}return!1}}])}())},24829:(e,t,r)=>{"use strict";r.d(t,{Z:()=>A});var n=r(84658),a=r(13125),i=r(43860),o=r(80248),l=r(50747),s=r.n(l),u=r(12952),c=r(63846),g=r(98457),m=r(68122),h=r.n(m),p=r(64357),d=g.ZP.initLog("Planner","WEB-PLANNER-LOGIC"),f=function(){return(0,i.Z)((function SVGUtils(){(0,a.Z)(this,SVGUtils)}),[{key:"removeOLFFromSvg",value:function removeOLFFromSvg(e){var t,r=(t=(new DOMParser).parseFromString(e,"application/xml")).evaluate("//*[starts-with(@id,'VIF')]",t,null,7,null);if(r.snapshotLength>0)for(var n=0;n<r.snapshotLength;n++){var a;null===(a=r.snapshotItem(n).parentElement)||void 0===a||a.removeChild(r.snapshotItem(n))}var i=t.evaluate("//*[starts-with(@id,'OLF')]",t,null,7,null);if(i.snapshotLength>0)for(n=0;n<i.snapshotLength;n++){var o;null===(o=i.snapshotItem(n).parentElement)||void 0===o||o.removeChild(i.snapshotItem(n))}return"undefined"!=typeof XMLSerializer?(new XMLSerializer).serializeToString(t):h()(t)}},{key:"getDPsInSVG",value:function getDPsInSVG(e){var t=[],r=(new DOMParser).parseFromString(e,"application/xml"),n=r.evaluate("//*[starts-with(@id,'AV')]",r,null,7,null);if(n.snapshotLength>0)for(var a=0;a<n.snapshotLength;a++){var i=n.snapshotItem(a);if("line"!==(null==i?void 0:i.nodeName))throw new Error("nodename type: "+i.nodeName+" not implemented");t.push({x1:Number(i.getAttribute("x1")),y1:Number(i.getAttribute("y1")),x2:Number(i.getAttribute("x2")),y2:Number(i.getAttribute("y2")),dockingName:i.getAttribute("id"),dockingType:i.getAttribute("id").substring(0,3)})}return t.sort((function(e,t){return"AVL"===e.dockingType||"AVR"===e.dockingType&&["AVR","AVC","AVU","AVO","AVS","AVN"].includes(t.dockingType)?-1:0})),t}},{key:"getPointOfPoligonById",value:function getPointOfPoligonById(e,t){var r=[],n=(new DOMParser).parseFromString(e,"application/xml"),a=n.evaluate("//*[starts-with(@id,'"+t+"')]",n,null,7,null);if(!(a.snapshotLength>1||0==a.snapshotLength)){for(var i=0;i<a.snapshotLength;i++){var o=a.snapshotItem(i);if("polygon"===(null==o?void 0:o.nodeName)){var l=o.getAttribute("points");if(!l)return;for(var s=l.split(" "),u=0;u<s.length;u++){var c=s[u].split(",");2===c.length&&r.push(new p.FM(Number(c[0]),Number(c[1])))}}}return r}}},{key:"getBoundingBoxOfPoints",value:function getBoundingBoxOfPoints(e){var t=e.map((function(e){return e.x})),r=e.map((function(e){return e.y})),n=Math.min.apply(Math,(0,u.Z)(t)),a=Math.max.apply(Math,(0,u.Z)(t)),i=Math.min.apply(Math,(0,u.Z)(r));return{width:a-n,height:Math.max.apply(Math,(0,u.Z)(r))-i}}},{key:"removeMaskFromSvg",value:function removeMaskFromSvg(e){if(e.toLowerCase().indexOf("mask")>=0){for(var t,r=(t=(new DOMParser).parseFromString(e,"image/svg+xml")).evaluate('//*["mask"=local-name()]',t,null,7,null),n=0;n<r.snapshotLength;n++){var a;null===(a=r.snapshotItem(n).parentElement)||void 0===a||a.removeChild(r.snapshotItem(n))}var i=t.evaluate("//*[@mask]",t,null,7,null);for(n=0;n<i.snapshotLength;n++){var o;null===(o=i.snapshotItem(n).parentElement)||void 0===o||o.removeChild(i.snapshotItem(n))}return"undefined"!=typeof XMLSerializer?(new XMLSerializer).serializeToString(t):h()(t)}return e}},{key:"ccCheckStretchAreas",value:function ccCheckStretchAreas(e,t,r,n,a,i,o){var l,s,u,m,p,f,F,v=g.ZP.UnitRecalc,A=t*v,b=r*v,D=[],P=[],y=[],k=[],x=0,L=0,w=0,E=0,S=0,O=0,T=0,I=0,N=!1,V=0,M=0,C="",R=new RegExp("svg","g"),B=(e=e.replace(R,"xxx"),new DOMParser);l=B.parseFromString(e,"application/xml"),s=l.getElementsByTagName("xxx")[0],R=new RegExp("xxx","g"),function correctSVG(e){var t=e.getAttribute("viewBox");t&&null==e.getAttribute("width")&&e.setAttribute("width",t.split(" ")[2]);t&&null==e.getAttribute("height")&&e.setAttribute("height",t.split(" ")[3]);var r,n=e.getAttribute("width");n.indexOf("mm")>0?(r=parseFloat(n.substring(0,n.length-2)),r*=v):r=n.indexOf("px")>0?parseFloat(n.substring(0,n.length-2)):parseFloat(n);e.setAttribute("width",r.toString());var a,i=e.getAttribute("height");i.indexOf("mm")>0?(a=parseFloat(i.substring(0,i.length-2)),a*=v):a=i.indexOf("px")>0?parseFloat(i.substring(0,i.length-2)):parseFloat(i);e.setAttribute("height",a.toString()),t||e.setAttribute("viewBox","0 0 "+r+" "+a)}(s),F=function calcScaleFactorSvgViewBox(e){var t=e.getAttribute("viewBox"),r=1,n=1;if(null!=t){var a=Number(e.getAttribute("width")),i=t.split(" "),o=Number(i[2]);r=a/o;var l=Number(e.getAttribute("height")),s=Number(i[3]);n=l/s}return new c.fabric.Point(r,n)}(s),function recalcScaleFactorSvgViewBox(e){if(null!=e.getAttribute("viewBox")){var t,r=Math.ceil(parseFloat(e.getAttribute("width"))),n=Math.ceil(parseFloat(e.getAttribute("height"))),a=e.getAttribute("x");a?(a.indexOf("mm")>0?(t=parseFloat(a.substring(0,a.length-2)),t*=v):t=a.indexOf("px")>0?parseFloat(a.substring(0,a.length-2)):parseFloat(a),t=Math.ceil(t)):t=0;var i,o=e.getAttribute("y");o?(o.indexOf("mm")>0?(i=parseFloat(o.substring(0,o.length-2)),i*=v):i=o.indexOf("px")>0?parseFloat(o.substring(0,o.length-2)):parseFloat(o),i=Math.ceil(i)):i=0,e.setAttribute("viewBox",t+" "+i+" "+r+" "+n)}}(s),function correctSVGViewBoxScale(e,t){if(1==t.x&&1==t.y)return;var r=e.children;if(!r)return;for(var n=0;n<r.length;n++){switch(r[n].tagName){case"rect":correctViewBoxScaleRectangle(r[n],t);break;case"polygon":correctViewBoxScalePolygon(r[n],t);break;case"path":correctViewBoxScalePath(r[n],t);break;case"line":correctViewBoxScaleLine(r[n],t);break;case"style":correctViewBoxScaleStyle(r[n],t)}correctSVGViewBoxScale(r[n],t)}}(s,F);var z=Math.round(parseFloat(s.getAttribute("width"))/v*100)/100,_=Math.round(parseFloat(s.getAttribute("height"))/v*100)/100;function correctViewBoxScaleStyle(e,t){"text/css"!=e.getAttribute("type")&&d.debug("Warnung komisches style Element bei diesem CSS.");for(var r=e.innerHTML.split("{"),n="",a=0;a<r.length;a++){var i=r[a].indexOf("width");if(i>=0){for(var o="",l=-1,s=-1,u=i+"width".length;u<r[a].length;u++){if(";"==r[a][u]||"}"==r[a][u]){s=u;break}l>-1&&(o+=r[a][u]),":"==r[a][u]&&(l=u)}var c=parseFloat(o)*t.x,g=r[a].substring(0,l+1)+c+r[a].substring(s,r[a].lenght);r[a]=g}var m=r[a].indexOf("height");if(m>=0){for(o="",l=-1,s=-1,u=m+"height".length;u<r[a].length;u++){if(";"==r[a][u]||"}"==r[a][u]){s=u;break}l>-1&&(o+=r[a][u]),":"==r[a][u]&&(l=u)}c=parseFloat(o)*t.y,g=r[a].substring(0,l+1)+c+r[a].substring(s,r[a].lenght);r[a]=g}n+=r[a],a<r.length-1&&(n+="{")}e.innerHTML=n}function correctViewBoxScaleLine(e,t){var r=e.getAttribute("x1");r||(r=0);var n=e.getAttribute("x2"),a=e.getAttribute("y1");a||(a=0);var i=e.getAttribute("y2");e.setAttribute("x1",parseFloat(r)*t.x),e.setAttribute("y1",parseFloat(a)*t.y),e.setAttribute("x2",parseFloat(n)*t.x),e.setAttribute("y2",parseFloat(i)*t.y)}function correctViewBoxScalePath(e,t){var r=getPathStringFromPathElement(createPathElement(e.getAttribute("d"),t));e.setAttribute("d",r)}function correctViewBoxScalePolygon(e,t){var r=createPolygonElement(e.getAttribute("points"),t);e.setAttribute("points",r.points)}function correctViewBoxScaleRectangle(e,t){var r=e.getAttribute("x");r||(r=0);var n=e.getAttribute("y");n||(n=0);var a=e.getAttribute("width"),i=e.getAttribute("height");e.setAttribute("x",parseFloat(r)*t.x),e.setAttribute("y",parseFloat(n)*t.y),e.setAttribute("width",parseFloat(a)*t.x),e.setAttribute("height",parseFloat(i)*t.y)}function resizeXml(e,t,r,a){var i="OLT"==r?x:w,o="OLT"==r?L:E;if(!n&&P[0]&&t!=o){"OLT"==r?L=t:E=t;for(var l=round(t-o),u=0,c=0;c<P.length;c++)P[c].setAttribute("y",round(parseFloat(P[c].getAttribute("y"))+u)),P[c].setAttribute("height",round(l*k[c])),u+=round(l*k[c]);fixXMLObject(s,"SAV",r)}if(!n&&e!=i&&D[0]){"OLT"==r?x=e:w=e;var g=round(e-i),m=0;for(c=0;c<D.length;c++)"OLT"==r&&(D[c].setAttribute("x",round(parseFloat(D[c].getAttribute("x"))+m)),m+=round(g*y[c])),D[c].setAttribute("width",round(g*y[c]));fixXMLObject(s,"SAH",r)}var h=!1;n&&t!=o&&(f=t/o,h=!0,"OLT"==r?L=t:E=t),n&&e!=i&&(p=e/i,h=!0,"OLT"==r?x=e:w=e),h&&fixXMLObject(s,"GLOBAL_SCALE",r),a()}function fixXMLObject(e,t,r){var n,a;"OLT"==r?(n="VIF",a="OLF"):(n="VIT",a="OLT");for(var i=e.children,o=0;o<i.length;o++)if(i[o].getAttribute("id")!=n&&i[o].getAttribute("id")!=a){switch(i[o].localName){case"g":break;case"rect":(!i[o].hasAttribute("id")||"SAV"!=i[o].getAttribute("id").substring(0,3)&&"SAH"!=i[o].getAttribute("id").substring(0,3))&&e.replaceChild(fixRectangle(i[o],t),i[o]);break;case"path":var l=fixPath(createPathElement(i[o].getAttribute("d")),t);i[o].setAttribute("d",l);break;case"line":i[o].hasAttribute("id")&&"AV"==i[o].getAttribute("id").substring(0,2)?"OLT"==r&&e.replaceChild(fixLine(i[o],t),i[o]):e.replaceChild(fixLine(i[o],t),i[o]);break;case"polygon":case"polyline":var s=fixPolygon(createPolygonElement(i[o].getAttribute("points")),t);i[o].setAttribute("points",s);break;case"image":fixImage(i[o],t)}fixXMLObject(i[o],t,r)}}function fixImage(e,t){if(e.setAttribute("preserveAspectRatio","none"),"SAH"==t){var r=parseInt(e.getAttribute("width"),10),n=A/u;r=Math.round(r*n),e.setAttribute("width",r+"px")}else if("SAV"==t){var a=parseInt(e.getAttribute("height"),10),i=b/m;a=Math.round(a*i),e.setAttribute("height",a+"px")}}function fixLine(e,t){var r,n,a,i;if("SAH"==t)for(var o=0;o<D.length;o++){r=parseFloat(e.getAttribute("x1")),a=parseFloat(e.getAttribute("x2"));var l=parseFloat(D[o].getAttribute("x"));scaleLineX(r,a,l,round(l+parseFloat(D[o].getAttribute("width"))))}else if("SAV"==t)for(o=0;o<P.length;o++){n=parseFloat(e.getAttribute("y1")),i=parseFloat(e.getAttribute("y2"));var s=parseFloat(P[o].getAttribute("y"));scaleLineY(n,i,s,round(s+parseFloat(P[o].getAttribute("height"))))}else"GLOBAL_SCALE"==t&&(r=parseFloat(e.getAttribute("x1")),a=parseFloat(e.getAttribute("x2")),n=parseFloat(e.getAttribute("y1")),i=parseFloat(e.getAttribute("y2")),e.setAttribute("x1",round(r*p)),e.setAttribute("x2",round(a*p)),e.setAttribute("y1",round(n*f)),e.setAttribute("y2",round(i*f)));function scaleLineX(t,r,n,a){t>n?(e.setAttribute("x1",round(t+(a-n))),e.setAttribute("x2",round(r+(a-n)))):t<n&&r>n&&e.setAttribute("x2",round(r+(a-n)))}function scaleLineY(t,r,n,a){t>n?(e.setAttribute("y1",round(t+(a-n))),e.setAttribute("y2",round(r+(a-n)))):t<n&&r>n&&e.setAttribute("y2",round(r+(a-n)))}return e}function fixPolygon(e,t){if("SAH"==t)for(var r=0;r<D.length;r++)for(var n=parseFloat(D[r].getAttribute("x")),a=round(n+parseFloat(D[r].getAttribute("width"))),i=0;i<e.points.length;i++)e.points[i].x>n&&(e.points[i].x+=a-n);else if("SAV"==t)for(r=0;r<P.length;r++){var o=parseFloat(P[r].getAttribute("y")),l=round(o+parseFloat(P[r].getAttribute("height")));for(i=0;i<e.points.length;i++)e.points[i].y>o&&(e.points[i].y+=l-o)}else if("GLOBAL_SCALE"==t)for(i=0;i<e.points.length;i++)e.points[i].x=e.points[i].x*p,e.points[i].y=e.points[i].y*f;var s="";for(i=0;i<e.points.length;i++)s+=e.points[i].x+","+e.points[i].y+" ";return s}function fixRectangle(e,t){if("SAH"==t)for(var r=0;r<D.length;r++){var n=parseFloat(e.getAttribute("x")),a=round(n+parseFloat(e.getAttribute("width"))),i=parseFloat(D[r].getAttribute("x"));scaleRectX(n,a,i,round(i+parseFloat(D[r].getAttribute("width"))))}else if("SAV"==t)for(r=0;r<P.length;r++){var o=parseFloat(P[r].getAttribute("y")),l=round(o+parseFloat(P[r].getAttribute("height"))),s=parseFloat(e.getAttribute("y"));scaleRectY(s,round(s+parseFloat(e.getAttribute("height"))),o,l)}else if("GLOBAL_SCALE"==t){var u=parseFloat(e.getAttribute("x")),c=parseFloat(e.getAttribute("width")),g=parseFloat(e.getAttribute("y")),m=parseFloat(e.getAttribute("height"));e.setAttribute("x",round(u*p)),e.setAttribute("width",round(c*p)),e.setAttribute("y",round(g*f)),e.setAttribute("height",round(m*f))}function scaleRectX(t,r,n,a){t<=n&&r>=n?e.setAttribute("width",round(r-t+(a-n))):t>n&&e.setAttribute("x",round(t+(a-n)))}function scaleRectY(t,r,n,a){t<=n&&r>=n?e.setAttribute("height",round(r-t+(a-n))):t>n&&e.setAttribute("y",round(t+(a-n)))}return e}function fixPath(e,t){if("SAH"==t)for(var r=0;r<D.length;r++)for(var n,a=parseFloat(D[r].getAttribute("x")),i=round(a+parseFloat(D[r].getAttribute("width"))),o=0;o<e.elements.length;o++)switch(e.elements[o].command){case"M":case"L":case"H":n=e.elements[o].parameter[0],e.elements[o].parameter[0]>a&&(e.elements[o].parameter[0]=round(e.elements[o].parameter[0]+(i-a)));break;case"m":case"l":case"h":(l=e.elements[o].parameter[0])>=0&&n<a&&n+e.elements[o].parameter[0]>a?e.elements[o].parameter[0]=round(e.elements[o].parameter[0]+(i-a)):l<0&&n>=a&&n+e.elements[o].parameter[0]<a&&(e.elements[o].parameter[0]=round(e.elements[o].parameter[0]-(i-a))),n+=l;break;case"C":n=e.elements[o].parameter[4],e.elements[o].parameter[4]>a&&(e.elements[o].parameter[4]=round(e.elements[o].parameter[4]+(i-a)),e.elements[o].parameter[0]=round(e.elements[o].parameter[0]+(i-a)),e.elements[o].parameter[2]=round(e.elements[o].parameter[2]+(i-a)));break;case"c":var l=e.elements[o].parameter[4];(n<a&&e.elements[o].parameter[4]+n>a||l<0&&n>=a&&n+e.elements[o].parameter[0]<a)&&(e.elements[o].parameter[4]=round(e.elements[o].parameter[4]+(i-a)),e.elements[o].parameter[0]=round(e.elements[o].parameter[0]+(i-a)),e.elements[o].parameter[2]=round(e.elements[o].parameter[2]+(i-a))),n+=l;break;case"S":n=e.elements[o].parameter[2],e.elements[o].parameter[2]>a&&(e.elements[o].parameter[0]=round(e.elements[o].parameter[0]+(i-a)),e.elements[o].parameter[2]=round(e.elements[o].parameter[2]+(i-a)));break;case"s":l=e.elements[o].parameter[2];n<a&&e.elements[o].parameter[2]+n>a?(e.elements[o].parameter[0]=round(e.elements[o].parameter[0]+(i-a)),e.elements[o].parameter[2]=round(e.elements[o].parameter[2]+(i-a))):l<0&&n>=a&&n+e.elements[o].parameter[0]<a&&(e.elements[o].parameter[0]=round(e.elements[o].parameter[0]-(i-a)),e.elements[o].parameter[2]=round(e.elements[o].parameter[2]-(i-a))),n+=l}else if("SAV"==t)for(r=0;r<P.length;r++){var s,u=parseFloat(P[r].getAttribute("y")),c=round(u+parseFloat(P[r].getAttribute("height")));for(o=0;o<e.elements.length;o++)switch(e.elements[o].command){case"M":case"L":s=e.elements[o].parameter[1],e.elements[o].parameter[1]>u&&(e.elements[o].parameter[1]=round(e.elements[o].parameter[1]+(c-u)));break;case"m":case"l":l=e.elements[o].parameter[1];s<u&&e.elements[o].parameter[1]+s>u?e.elements[o].parameter[1]=round(e.elements[o].parameter[1]+(c-u)):l<0&&s>=u&&s+e.elements[o].parameter[1]<u&&(e.elements[o].parameter[1]=round(e.elements[o].parameter[1]-(c-u))),s+=l;break;case"V":s=e.elements[o].parameter[0],e.elements[o].parameter[0]>u&&(e.elements[o].parameter[0]=round(e.elements[o].parameter[0]+(c-u)));break;case"v":l=e.elements[o].parameter[0];s<u&&e.elements[o].parameter[0]+s>u?e.elements[o].parameter[0]=round(e.elements[o].parameter[0]+(c-u)):l<0&&s>=u&&s+e.elements[o].parameter[0]<u&&(e.elements[o].parameter[0]=round(e.elements[o].parameter[0]-(c-u))),s+=l;break;case"C":s=e.elements[o].parameter[5],e.elements[o].parameter[5]>u&&(e.elements[o].parameter[5]=round(e.elements[o].parameter[5]+(c-u)),e.elements[o].parameter[1]=round(e.elements[o].parameter[1]+(c-u)),e.elements[o].parameter[3]=round(e.elements[o].parameter[3]+(c-u)));break;case"c":l=e.elements[o].parameter[5];s<u&&e.elements[o].parameter[5]+s>u?(e.elements[o].parameter[5]=round(e.elements[o].parameter[5]+(c-u)),e.elements[o].parameter[1]=round(e.elements[o].parameter[1]+(c-u)),e.elements[o].parameter[3]=round(e.elements[o].parameter[3]+(c-u))):l<0&&s>=u&&s+e.elements[o].parameter[0]<u&&(e.elements[o].parameter[5]=round(e.elements[o].parameter[5]-(c-u)),e.elements[o].parameter[1]=round(e.elements[o].parameter[1]-(c-u)),e.elements[o].parameter[3]=round(e.elements[o].parameter[3]-(c-u))),s+=l;break;case"S":s=e.elements[o].parameter[3],e.elements[o].parameter[3]>u&&(e.elements[o].parameter[1]=round(e.elements[o].parameter[1]+(c-u)),e.elements[o].parameter[3]=round(e.elements[o].parameter[3]+(c-u)));break;case"s":l=e.elements[o].parameter[3];s<u&&e.elements[o].parameter[3]+s>u?(e.elements[o].parameter[1]=round(e.elements[o].parameter[1]+(c-u)),e.elements[o].parameter[3]=round(e.elements[o].parameter[3]+(c-u))):l<0&&s>=u&&s+e.elements[o].parameter[0]<u&&(e.elements[o].parameter[1]=round(e.elements[o].parameter[1]-(c-u)),e.elements[o].parameter[3]=round(e.elements[o].parameter[3]-(c-u))),s+=l}}else if("GLOBAL_SCALE"==t)for(o=0;o<e.elements.length;o++)switch(e.elements[o].command){case"M":case"m":case"l":case"L":e.elements[o].parameter[0]=round(e.elements[o].parameter[0]*p),e.elements[o].parameter[1]=round(e.elements[o].parameter[1]*f);break;case"v":case"V":e.elements[o].parameter[0]=round(e.elements[o].parameter[0]*f);break;case"h":case"H":e.elements[o].parameter[0]=round(e.elements[o].parameter[0]*p);break;case"C":case"c":e.elements[o].parameter[0]=round(e.elements[o].parameter[0]*p),e.elements[o].parameter[1]=round(e.elements[o].parameter[1]*f),e.elements[o].parameter[2]=round(e.elements[o].parameter[2]*p),e.elements[o].parameter[3]=round(e.elements[o].parameter[3]*f),e.elements[o].parameter[4]=round(e.elements[o].parameter[4]*p),e.elements[o].parameter[5]=round(e.elements[o].parameter[5]*f);break;case"S":case"s":e.elements[o].parameter[0]=round(e.elements[o].parameter[0]*p),e.elements[o].parameter[1]=round(e.elements[o].parameter[1]*f),e.elements[o].parameter[2]=round(e.elements[o].parameter[2]*p),e.elements[o].parameter[3]=round(e.elements[o].parameter[3]*f)}return getPathStringFromPathElement(e)}function getPathStringFromPathElement(e){for(var t="",r=0;r<e.elements.length;r++)if(t+=e.elements[r].command,"z"!=e.elements[r].command)for(var n=0;n<e.elements[r].parameter.length;n++)t+=e.elements[r].parameter[n],n!=e.elements[r].parameter.length-1&&(t+=",");return t}function fixViewBox(e,t,r){var n="",a=T+w>S+x?T+w:S+x,i=I+E>O+L?I+E:O+L;if(e.setAttribute("height",(Math.round(100*i)/100).toString()),e.setAttribute("width",(Math.round(100*a)/100).toString()),t=Math.round(100*t)/100,r=Math.round(100*r)/100,e.hasAttribute("x")&&e.hasAttribute("y"))n=Number.parseFloat(e.getAttribute("x").substring(0,e.getAttribute("x").length-2))+t+" "+(Number.parseFloat(e.getAttribute("y").substring(0,e.getAttribute("y").length-2))+r)+" "+Math.round(100*a)/100+" "+Math.round(100*i)/100;else{var o=e.getAttribute("viewBox").split(" ");n=Number.parseFloat(o[0])+t+" "+(Number.parseFloat(o[1])+r),n=D[0]?n+" "+Math.round(100*a)/100:n+" "+o[2],n=P[0]?n+" "+Math.round(100*i)/100:n+" "+o[3]}var l="new "+n;return e.setAttribute("x",t),e.setAttribute("y",r),e.setAttribute("viewBox",n),e.setAttribute("enable-background",l),e.setAttribute("style","enable-background:new "+n+";"),e}function createPolygonElement(e,t){var r=!0,n="",a="",i=[],o={},l=e.includes(",")?",":e.includes(" ")?" ":",";e=e.trimEnd().trimStart();for(var s=0;s<e.length;s++){var u=e.charAt(s);r||" "!=u?u==l?r=!1:r?n+=u:a+=u:""!=n&&(i.push(createPoint(n,a)),n="",a="",r=!0)}function createPoint(e,t){var r={};return r.x=parseFloat(e),r.y=parseFloat(t),r}return""!=n&&(!t||1==t.x&&1==t.y?i.push(createPoint(n,a)):i.push(createPoint(n,a)*t)),o.points=i,o}function createPathElement(e,t){for(var r,n,a=[],i=[],o=0,l={},s=0;s<e.length;s++){var u=e.charAt(s);" "==u&&s-1>0&&(1===(n=e.charAt(s-1)).length&&n.match(/[a-z]/i))||(" "==u||isNaN(u)&&"."!=u&&"-"!=u?","==u||" "==u?(null!=i[o]&&(i[o]=parseFloat(i[o])),isNaN(e.charAt(s+1))||" "==e.charAt(s+1)||o++):" "!=u&&"."!=u&&"-"!=u&&(null==r?r=u:(null!=i[o]&&(i[o]=parseFloat(i[o]),checkForSkippedLiterals(t),"z"==u&&a.push(createPoint("z",null))),r=u,i=[],o=0)):null!=i[o]&&"-"==u?(i[o]=parseFloat(i[o]),o++,i[o]=u):null!=i[o]?i[o]+=u:i[o]=u)}function checkForSkippedLiterals(e){var t=0;switch(r){case"M":case"m":case"L":case"l":t=2;break;case"H":case"h":case"V":case"v":t=1;break;case"C":case"c":t=6;break;case"S":case"s":t=4;break;default:return void d.error(new g.GE("svg path command: "+r+" unknown"))}for(var n=0;n<i.length;n+=t){for(var o=[],l=0;l<t;l++)o.push(i[n+l]);a.push(createPoint(r,o,e))}}function createPoint(e,t,r){var n={};if(n.command=e,n.parameter=t,r&&(1!=r.x||1!=r.y))switch(n.command){case"M":case"m":case"L":case"l":n.parameter[0]=n.parameter[0]*r.x,n.parameter[1]=n.parameter[1]*r.y;break;case"H":case"h":n.parameter[0]=n.parameter[0]*r.x;break;case"V":case"v":n.parameter[0]=n.parameter[0]*r.y;break;case"C":case"c":n.parameter[0]=n.parameter[0]*r.x,n.parameter[1]=n.parameter[1]*r.y,n.parameter[2]=n.parameter[2]*r.x,n.parameter[3]=n.parameter[3]*r.y,n.parameter[4]=n.parameter[4]*r.x,n.parameter[5]=n.parameter[5]*r.y;break;case"S":case"s":n.parameter[0]=n.parameter[0]*r.x,n.parameter[1]=n.parameter[1]*r.y,n.parameter[2]=n.parameter[2]*r.x,n.parameter[3]=n.parameter[3]*r.y}return n}return"z"!=e.charAt(e.length-1)&&checkForSkippedLiterals(t),l.elements=a,l}function round(e){return Math.round(1e3*e)/1e3}return 0==A&&(z=parseFloat(s.getAttribute("width"))),0==b&&(b=parseFloat(s.getAttribute("height"))),function correctTEAttributes(){var e=l.evaluate("//*[starts-with(@id,'TE')]",l,null,7,null);if(0==e.snapshotLength){var t=l.evaluate("//*[starts-with(@id,'OLT')]",l,null,7,null);if(t.snapshotLength>0)for(var r=0;r<t.snapshotLength;r++){var n;if("g"!=(null===(n=t.snapshotItem(r))||void 0===n?void 0:n.nodeName)){var a,i=null===(a=t.snapshotItem(r))||void 0===a?void 0:a.parentNode;"g"==i.tagName&&i.setAttribute("id","TE")}}e=l.evaluate("//*[starts-with(@id,'TE')]",l,null,7,null)}if(e.snapshotLength>0)for(r=0;r<e.snapshotLength;r++){var o;if("g"==(null===(o=e.snapshotItem(r))||void 0===o?void 0:o.nodeName))e.snapshotItem(r).setAttribute("display","none")}}(),function findStretchAreas(e,t,r){var n=0,a=0,i=0,o=l.evaluate("//*[starts-with(@id,'SAH')]",l,null,7,null),s=[];for(i=0;i<o.snapshotLength;i++)s.push(o.snapshotItem(i));for(i=0;i<s.length;i++)"polygon"==s[i].nodeName&&(s[i]=convertPolygonToRect(s[i],l)),"rect"==s[i].nodeName&&(s[i].setAttribute("style","fill:none;"),correctViewBoxScaleRectangle(s[i],t)),n+=parseFloat(s[i].getAttribute("width")),D.push(s[i]);var g=l.evaluate("//*[starts-with(@id,'SAV')]",l,null,7,null),h=[];for(i=0;i<g.snapshotLength;i++)h.push(g.snapshotItem(i));for(i=0;i<h.length;i++)"polygon"==h[i].nodeName&&(h[i]=convertPolygonToRect(h[i],l)),"rect"==h[i].nodeName&&(h[i].setAttribute("style","fill:none;"),correctViewBoxScaleRectangle(h[i],t)),a+=parseFloat(h[i].getAttribute("height")),P.push(h[i]);var p=l.evaluate("//*[starts-with(@id,'OLF')]",l,null,7,null);for(i=0;i<p.snapshotLength;i++)N=!0,calcOlfAndOlt(p.snapshotItem(i),"OLF");var d=l.evaluate("//*[starts-with(@id,'OLT')]",l,null,7,null);for(i=0;i<d.snapshotLength;i++){var f;d.snapshotLength>1&&"TE"!=(null===(f=d.snapshotItem(i))||void 0===f||null===(f=f.parentElement)||void 0===f?void 0:f.getAttribute("id"))||calcOlfAndOlt(d.snapshotItem(i),"OLT")}N&&(V=w-x,M=E-L);function convertPolygonToRect(e,t){var r=t.createElement("rect");r.setAttribute("id",e.getAttribute("id"));var n=createPolygonElement(e.getAttribute("points")).points;if(n.length>0){for(var a=n[0].x,i=n[0].x,o=n[0].y,l=n[0].y,s=1;s<n.length;s++)n[s].x<a?a=n[s].x:n[s].x>i&&(i=n[s].x),n[s].y<o?o=n[s].y:n[s].y>l&&(l=n[s].y);r.setAttribute("x",a),r.setAttribute("y",o),r.setAttribute("width",i-a),r.setAttribute("height",l-o),e.parentElement.appendChild(r),r.parentElement.removeChild(e)}return r}function calcOlfAndOlt(e,t,r){switch(e.localName){case"rect":e.hasAttribute("x")||e.setAttribute("x","0"),null==!e.hasAttribute("y")&&e.setAttribute("y","0"),"OLT"==t?(x=parseFloat(e.getAttribute("width")),L=parseFloat(e.getAttribute("height"))):"OLF"==t&&(w=parseFloat(e.getAttribute("width")),E=parseFloat(e.getAttribute("height")));break;case"polygon":var n,a,i=createPolygonElement(e.getAttribute("points")),o=0,l=0;i.points[0]&&(n=i.points[0].x,a=i.points[0].y);for(var s=0;s<i.points.length;s++)i.points[s].x>o&&(o=i.points[s].x),i.points[s].y>l&&(l=i.points[s].y),i.points[s].x<n&&(n=i.points[s].x),i.points[s].y<a&&(a=i.points[s].y);"OLT"==t?(x=o-n,L=l-a,S=n,O=a):"OLF"==t&&(w=o-n,E=l-a,T=n,I=a);break;case"path":var u=new c.fabric.Path(e.getAttribute("d"));"OLT"==t?(x=u.width,L=u.height):"OLF"==t&&(w=u.width,E=u.height);break;case"g":var g=e.children;e.setAttribute("id","");for(s=0;s<g.length;s++){switch(g[s].localName){case"rect":case"path":case"polygon":g[s].setAttribute("id",t),calcOlfAndOlt(g[s],t)}break}}}u=x,m=L,function sortSA(){for(var e=0;e<D.length;e++){for(var t=e,r=e+1;r<D.length;r++)parseFloat(D[r].getAttribute("x"))<parseFloat(D[t].getAttribute("x"))&&(t=r);if(t>e){var n=D[e];D[e]=D[t],D[t]=n}}for(e=0;e<P.length;e++){for(t=e,r=e+1;r<P.length;r++)parseFloat(P[r].getAttribute("y"))<parseFloat(P[t].getAttribute("y"))&&(t=r);if(t>e){n=P[e];P[e]=P[t],P[t]=n}}}(),function calcRatioSA(e,t){if(e>0)for(var r=0;r<D.length;r++)y[r]=parseFloat(D[r].getAttribute("width"))/e;if(t>0)for(r=0;r<P.length;r++)k[r]=parseFloat(P[r].getAttribute("height"))/t}(n,a),function clearSA(){for(var e=0;e<D.length;e++)D[e].setAttribute("width","0");for(e=0;e<P.length;e++)P[e].setAttribute("height","0")}(),r()}(s.children,F,(function(){var e;(A/=F.x,b/=F.y,t==z&&r==_)?(e=(e="undefined"!=typeof XMLSerializer?(new XMLSerializer).serializeToString(l):h()(l)).replace(R,"svg"),o(e)):resizeXml(A,b,"OLT",(function(){N?resizeXml(A+V,b+M,"OLF",(function(){s=fixViewBox(s,a,i),C=(C="undefined"!=typeof XMLSerializer?(new XMLSerializer).serializeToString(l):h()(l)).replace(R,"svg"),o(C)})):(s=fixViewBox(s,a,i),C=(C="undefined"!=typeof XMLSerializer?(new XMLSerializer).serializeToString(l):h()(l)).replace(R,"svg"),o(C))}))})),{heightOLF:E,widthOLF:w,heightOLT:L,widthOLT:x}}}])}(),F=r(33266),v=g.ZP.initLog("Planner","WEB-PLANNER-LOGIC");const A=new(function(){return(0,i.Z)((function PlannerHandler2D(){(0,a.Z)(this,PlannerHandler2D),(0,o.Z)(this,"svgUtils",void 0),this.svgUtils=new f}),[{key:"checkCollision",value:function checkCollision(e,t){if(g.ZP.startSpanOfApm("PlannerHandler2D checkCollision"),e.Layer!=t.Layer)return!1;var r=e.getWorld2DBBoxOutline(),n=t.getWorld2DBBoxOutline(),a=function checkCollisionPolygonPolygon(e,t){for(var r=0;r<e.length;r++)for(var n=e[r],a=e[(r+1)%e.length],i=0;i<t.length;i++){var o=t[i],l=t[(i+1)%t.length];if("Intersection"==c.fabric.Intersection.intersectLineLine(new c.fabric.Point(n.x,n.y),new c.fabric.Point(a.x,a.y),new c.fabric.Point(o.x,o.y),new c.fabric.Point(l.x,l.y)).status)return!0}return!1};if(a(r,n)){if(!e.HasOLTPolygon&&!e.HasOLFPolygon)return v.error(new g.GE("checkCollision PlannerHandler2D - The element with id: "+e.getElementId()+" has no OLT AND no OLF",{code:"WC_0012"})),g.ZP.endSpanOfApm("PlannerHandler2D checkCollision"),!1;if(!t.HasOLTPolygon&&!t.HasOLFPolygon)return v.error(new g.GE("checkCollision PlannerHandler2D - The element with id: "+t.getElementId()+" has no OLT AND no OLF",{code:"WC_0012"})),g.ZP.endSpanOfApm("PlannerHandler2D checkCollision"),!1;var i=e.HasOLFPolygon?e.getOLFPolygonWorldPos():e.getOLTPolygonWorldPos(),o=t.HasOLFPolygon?t.getOLFPolygonWorldPos():t.getOLTPolygonWorldPos();return g.ZP.endSpanOfApm("PlannerHandler2D checkCollision"),a(i,o)}return g.ZP.endSpanOfApm("PlannerHandler2D checkCollision"),function checkPolygonInsidePolygon(e,t){for(var r=0,n=0,a=0;a<e.length;a++){for(var i=e[a],o=new p.FM(i.x+999999,i.y),l=0,s=0;s<t.length;s++){var u=t[s],g=t[(s+1)%t.length];"Intersection"==c.fabric.Intersection.intersectLineLine(new c.fabric.Point(i.x,i.y),new c.fabric.Point(o.x,o.y),new c.fabric.Point(u.x,u.y),new c.fabric.Point(g.x,g.y)).status&&l++}if(l%2==0?r++:n++,r>0&&n>0)return!1}return!(r>0&&n>0)&&n==e.length}(r,n)}},{key:"caluclatePNGOfSVG",value:function caluclatePNGOfSVG(e){g.ZP.startSpanOfApm("PlannerHandler2D caluclatePNGOfSVG"),document.createElement("canvas").id="helperCanvasConverter";var t=new c.fabric.Canvas("helperCanvasConverter");t.backgroundColor="#fff",t.setWidth(g.ZP.UnitRecalc*e.getWidthOLT()),t.setHeight(g.ZP.UnitRecalc*e.getHeightOLT());var r=e.getSVGShapeOLT2D();t.add(r),r.bringToFront(),t.renderAll();var n=t.toDataURL({format:"jpeg",quality:1});e.SvgDataOLTBase64=n}},{key:"parseSvg",value:function parseSvg(e,t,r,n,a){var i=this;t=this.svgUtils.removeMaskFromSvg(t),F.Z.initDockingPointsFromSvg(e,this.svgUtils.getDPsInSVG(t),r,n);var o=this.svgUtils.removeOLFFromSvg(t),l=this.svgUtils.getPointOfPoligonById(t,"OLT");null!=l&&l.length||v.error(new g.GE("no olt fount in svg for element"+e.ArticleCodex+" with id "+e.getElementId())),e.OLTPolygon=l;var s=this.svgUtils.getPointOfPoligonById(t,"OLF");if(null!=s&&s.length){var u=this.svgUtils.getBoundingBoxOfPoints(s),m=u.width,h=u.height;e.setupOLF(s,m,h)}else null!=a&&a.heightOLF,null!=a&&a.widthOLF?e.setupOLF(s,null==a?void 0:a.widthOLF,null==a?void 0:a.heightOLF):e.clearOLF();if("undefined"!=typeof window)return new Promise((function(r,n){c.fabric.loadSVGFromString(t,(function(n,a){e.cleanShapeOLF2D();for(var l=[],s=0,u=0,m=0,h=0,p=0;p<n.length;p++){var d=n[p];if(d.setCoords(),d.id)switch(d.id.toString().substring(0,3)){case"OLF":d.stroke="none";break;case"OLT":d.stroke="none",s=d.top,u=d.left,m=d.width,h=d.height}l.push(d)}var f=c.fabric.util.groupSVGElements(l,a);f.set({originX:"left",originY:"top",lockRotation:!0,hasRotatingPoint:!0,lockUniScaling:!0,lockScalingX:!0,lockScalingY:!0,scaleX:1,scaleY:1,left:0,top:0}),e.DoSetWidthFromSVG&&f.width&&(e.WidthFromSVG=f.width/g.ZP.UnitRecalc),e.DoSetDepthFromSVG&&f.height&&(e.DepthFromSVG=f.height/g.ZP.UnitRecalc),e.SvgShapeOLF2D=f,e.OLTDepth=h,e.OLTWidth=m,e.OLTTop=s,e.OLTLeft=u,e.SvgData=t,c.fabric.loadSVGFromString(o,(function(t,a){e.cleanShapeOLT2D();for(var o=0;o<n.length;o++){var l=n[o];l.id&&l.id.toString().startsWith("OLT")&&(a.height=l.height,a.width=l.width)}var s=c.fabric.util.groupSVGElements(t,a);s.set({originX:"left",originY:"top",lockRotation:!0,hasRotatingPoint:!0,lockUniScaling:!0,lockScalingX:!0,lockScalingY:!0,scaleX:1,scaleY:1,left:0,top:0}),e.SvgShapeOLT2D=s,i.caluclatePNGOfSVG(e),r()}))}))}))}},{key:"getMinBorderSVG",value:function getMinBorderSVG(e){return"undefined"==typeof window?{svgMinXVal:0,svgMinYVal:0}:new Promise((function(t,r){var n=Number.POSITIVE_INFINITY,a=Number.POSITIVE_INFINITY;c.fabric.loadSVGFromString(e,(function(e,r){for(var i,o=0;o<e.length;o++){var l=e[o];l.id&&(i=l.id.toString()),null!=i&&i.startsWith("AV")||(n>l.left&&(n=l.left),a>l.top&&(a=l.top))}t({svgMinXVal:n,svgMinYVal:a})}))}))}},{key:"loadSVG",value:(e=(0,n.Z)(s().mark((function _callee(e,t){var r,n,a,i,o,l,u,c,m,h=this;return s().wrap((function _callee$(s){for(;;)switch(s.prev=s.next){case 0:if(r=e.SvgFileName){s.next=3;break}return s.abrupt("return",!1);case 3:if(!t.CatalogData.isIDMFormat){s.next=9;break}return s.next=6,t.api.fetchData(r,{method:"GET",config:{},data:{}});case 6:n=s.sent,s.next=16;break;case 9:return s.next=11,t.api.getDataCache(this.getSVGUrl(r,t.CatalogData.mediaUrl),void 0,t.CatalogData.accountSessionGuid);case 11:if(!(i=s.sent).Error){s.next=14;break}throw new Error(i.Error);case 14:"success"==i.Result.toLowerCase()&&(a=i.Content),n=g.ZP.decodeBase64(a);case 16:if(n||v.error(new g.GE("Fehler beim laden des SVGs ",{code:"WC_0009",custom:{svgFile:r}})),e.svgBefore=n,o=e.Width,-1===(l=e.Depth)&&-1!==e.Height&&(l=e.Height),!(null!=o&&o>0&&null!=l&&l>0)){s.next=33;break}return s.next=24,this.getMinBorderSVG(n);case 24:return c=s.sent,m="",s.next=28,new Promise((function(e,r){u=h.svgUtils.ccCheckStretchAreas(n,o,l,t.CatalogData.useGlobalSVGScale,c.svgMinXVal,c.svgMinYVal,(function(t){m=t,e()}))}));case 28:return e.svgAfter=m,s.next=31,this.parseSvg(e,m,c,t.CatalogData.getPlannerConfig(),u);case 31:s.next=36;break;case 33:return e.svgAfter=n,s.next=36,this.parseSvg(e,n,{svgMinXVal:0,svgMinYVal:0},t.CatalogData.getPlannerConfig());case 36:return s.abrupt("return",!0);case 37:case"end":return s.stop()}}),_callee,this)}))),function loadSVG(t,r){return e.apply(this,arguments)})},{key:"getSVGUrl",value:function getSVGUrl(e,t){var r=t+"pln_"+e,n=r.indexOf("/files/");return r=r.substring(n),"function=GetFileAsString&fileUrl="+encodeURIComponent(r)}}]);var e}())},95126:()=>{},95678:()=>{},18265:()=>{}}]);
|
|
2
|
+
(self.webpackChunkCrystaldesignDivaWebPlannerReact=self.webpackChunkCrystaldesignDivaWebPlannerReact||[]).push([[7334],{75311:(e,t,r)=>{"use strict";const n=r(39437),{NAMESPACES:a}=r(34734);function generatePrefix(e,t,r){const n=`ns${r}`;return e[t]=[n],n}function preferredPrefixString(e,t,r){const n=e[t];return n?n.includes(r)?r:n[n.length-1]:null}function serializeAttributeValue(e){return null===e?"":e.replace(/&/gu,"&").replace(/"/gu,""").replace(/</gu,"<").replace(/>/gu,">").replace(/\t/gu,"	").replace(/\n/gu,"
").replace(/\r/gu,"
")}e.exports.preferredPrefixString=preferredPrefixString,e.exports.generatePrefix=generatePrefix,e.exports.serializeAttributeValue=serializeAttributeValue,e.exports.serializeAttributes=function serializeAttributes(e,t,r,i,o,l){let s="";const u=Object.create(null);for(const c of e.attributes){if(o&&u[c.namespaceURI]&&u[c.namespaceURI].has(c.localName))throw new Error("Found duplicated attribute");u[c.namespaceURI]||(u[c.namespaceURI]=new Set),u[c.namespaceURI].add(c.localName);const e=c.namespaceURI;let g=null;if(null!==e)if(g=preferredPrefixString(t,e,c.prefix),e===a.XMLNS){if(c.value===a.XML||null===c.prefix&&i||null!==c.prefix&&r[c.localName]!==c.value&&t[c.value].includes(c.localName))continue;if(o&&c.value===a.XMLNS)throw new Error("The XMLNS namespace is reserved and cannot be applied as an element's namespace via XML parsing");if(o&&""===c.value)throw new Error("Namespace prefix declarations cannot be used to undeclare a namespace");"xmlns"===c.prefix&&(g="xmlns")}else null===g&&(g=generatePrefix(t,e,l.prefixIndex++),s+=` xmlns:${g}="${serializeAttributeValue(e)}"`);if(s+=" ",null!==g&&(s+=`${g}:`),o&&(c.localName.includes(":")||!n.name(c.localName)||"xmlns"===c.localName&&null===e))throw new Error("Invalid attribute localName value");s+=`${c.localName}="${serializeAttributeValue(c.value)}"`}return s}},34734:e=>{"use strict";e.exports.NAMESPACES={HTML:"http://www.w3.org/1999/xhtml",XML:"http://www.w3.org/XML/1998/namespace",XMLNS:"http://www.w3.org/2000/xmlns/"},e.exports.NODE_TYPES={ELEMENT_NODE:1,ATTRIBUTE_NODE:2,TEXT_NODE:3,CDATA_SECTION_NODE:4,ENTITY_REFERENCE_NODE:5,ENTITY_NODE:6,PROCESSING_INSTRUCTION_NODE:7,COMMENT_NODE:8,DOCUMENT_NODE:9,DOCUMENT_TYPE_NODE:10,DOCUMENT_FRAGMENT_NODE:11,NOTATION_NODE:12},e.exports.VOID_ELEMENTS=new Set(["area","base","basefont","bgsound","br","col","embed","frame","hr","img","input","keygen","link","menuitem","meta","param","source","track","wbr"])},68122:(e,t,r)=>{"use strict";const n=r(39437),a=r(75311),{NAMESPACES:i,VOID_ELEMENTS:o,NODE_TYPES:l}=r(34734),s=/^(\x09|\x0A|\x0D|[\x20-\uD7FF]|[\uE000-\uFFFD]|[\u{10000}-\u{10FFFF}])*$/u,u=/^(\x20|\x0D|\x0A|[a-zA-Z0-9]|[-'()+,./:=?;!*#@$_%])*$/u;function serializeElement(e,t,r,l,s){if(l&&(e.localName.includes(":")||!n.name(e.localName)))throw new Error("Failed to serialize XML: element node localName is not a valid XML name.");let u="<",c="",g=!1,m=!1;const h={...r},p=Object.create(null),d=function recordNamespaceInformation(e,t,r){let n=null;for(let a=0;a<e.attributes.length;++a){const o=e.attributes[a];if(o.namespaceURI===i.XMLNS){if(null===o.prefix){n=o.value;continue}let e=o.value;if(e===i.XML)continue;if(null===e&&(e=""),e in t&&t[e].includes(o.localName))continue;e in t||(t[e]=[]),t[e].push(o.localName),r[o.localName]=e}}return n}(e,h,p);let f=t;const F=e.namespaceURI;if(f===F)null!==d&&(m=!0),c=F===i.XML?`xml:${e.localName}`:e.localName,u+=c;else{let{prefix:t}=e,r=a.preferredPrefixString(h,F,t);if("xmlns"===t){if(l)throw new Error('Failed to serialize XML: element nodes can\'t have a prefix of "xmlns".');r="xmlns"}null!==r?(c=`${r}:${e.localName}`,null!==d&&d!==i.XML&&(f=""===d?null:d),u+=c):null!==t?(t in p&&(t=a.generatePrefix(h,F,s.prefixIndex++)),h[F]?h[F].push(t):h[F]=[t],c=`${t}:${e.localName}`,u+=`${c} xmlns:${t}="${a.serializeAttributeValue(F,l)}"`,null!==d&&(f=""===d?null:d)):null===d||d!==F?(m=!0,c=e.localName,f=F,u+=`${c} xmlns="${a.serializeAttributeValue(F,l)}"`):(c=e.localName,f=F,u+=c)}if(u+=a.serializeAttributes(e,h,p,m,l,s),F===i.HTML&&0===e.childNodes.length&&o.has(e.localName)?(u+=" /",g=!0):F!==i.HTML&&0===e.childNodes.length&&(u+="/",g=!0),u+=">",g)return u;if(F===i.HTML&&"template"===e.localName)u+=xmlSerialization(e.content,f,h,l,s);else for(const t of e.childNodes)u+=xmlSerialization(t,f,h,l,s);return u+=`</${c}>`,u}function xmlSerialization(e,t,r,n,a){switch(e.nodeType){case l.ELEMENT_NODE:return serializeElement(e,t,r,n,a);case l.DOCUMENT_NODE:return function serializeDocument(e,t,r,n,a){if(n&&null===e.documentElement)throw new Error("Failed to serialize XML: document does not have a document element.");let i="";for(const o of e.childNodes)i+=xmlSerialization(o,t,r,n,a);return i}(e,t,r,n,a);case l.COMMENT_NODE:return function serializeComment(e,t,r,n){if(n&&!s.test(e.data))throw new Error("Failed to serialize XML: comment node data is not well-formed.");if(n&&(e.data.includes("--")||e.data.endsWith("-")))throw new Error("Failed to serialize XML: found hyphens in illegal places in comment node data.");return`\x3c!--${e.data}--\x3e`}(e,0,0,n);case l.TEXT_NODE:return function serializeText(e,t,r,n){if(n&&!s.test(e.data))throw new Error("Failed to serialize XML: text node data is not well-formed.");return e.data.replace(/&/gu,"&").replace(/</gu,"<").replace(/>/gu,">")}(e,0,0,n);case l.DOCUMENT_FRAGMENT_NODE:return function serializeDocumentFragment(e,t,r,n,a){let i="";for(const o of e.childNodes)i+=xmlSerialization(o,t,r,n,a);return i}(e,t,r,n,a);case l.DOCUMENT_TYPE_NODE:return function serializeDocumentType(e,t,r,n){if(n&&!u.test(e.publicId))throw new Error("Failed to serialize XML: document type node publicId is not well-formed.");if(n&&(!s.test(e.systemId)||e.systemId.includes('"')&&e.systemId.includes("'")))throw new Error("Failed to serialize XML: document type node systemId is not well-formed.");let a=`<!DOCTYPE ${e.name}`;return""!==e.publicId?a+=` PUBLIC "${e.publicId}"`:""!==e.systemId&&(a+=" SYSTEM"),""!==e.systemId&&(a+=` "${e.systemId}"`),`${a}>`}(e,0,0,n);case l.PROCESSING_INSTRUCTION_NODE:return function serializeProcessingInstruction(e,t,r,n){if(n&&(e.target.includes(":")||function asciiCaseInsensitiveMatch(e,t){if(e.length!==t.length)return!1;for(let r=0;r<e.length;++r)if((32|e.charCodeAt(r))!=(32|t.charCodeAt(r)))return!1;return!0}(e.target,"xml")))throw new Error("Failed to serialize XML: processing instruction node target is not well-formed.");if(n&&(!s.test(e.data)||e.data.includes("?>")))throw new Error("Failed to serialize XML: processing instruction node data is not well-formed.");return`<?${e.target} ${e.data}?>`}(e,0,0,n);case l.ATTRIBUTE_NODE:return"";case l.CDATA_SECTION_NODE:return function serializeCDATASection(e){return`<![CDATA[${e.data}]]>`}(e);default:throw new TypeError("Failed to serialize XML: only Nodes can be serialized.")}}e.exports=(e,{requireWellFormed:t=!1}={})=>{const r=Object.create(null);return r["http://www.w3.org/XML/1998/namespace"]=["xml"],xmlSerialization(e,null,r,t,{prefixIndex:1})}},39437:(e,t)=>{"use strict";t.name=e=>/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\u{EFFFF}][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\u{EFFFF}\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/u.test(e),t.qname=e=>/(?:^[A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\u{EFFFF}][A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\u{EFFFF}\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*:[A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\u{EFFFF}][A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\u{EFFFF}\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$)|(?:^[A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\u{EFFFF}][A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\u{EFFFF}\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$)/u.test(e)},33266:(e,t,r)=>{"use strict";r.d(t,{Z:()=>c});var n=r(13125),a=r(43860),i=r(98457),o=r(64357),l=r(80248),s=function(){function DockingPoint(e,t,r,a,i,o,s,u){(0,n.Z)(this,DockingPoint),(0,l.Z)(this,"dockingPoint",void 0),(0,l.Z)(this,"layer",void 0),(0,l.Z)(this,"isDisabled",void 0),(0,l.Z)(this,"plannerconfig",void 0),this.plannerconfig=s;var c=r.split("_");this.isDisabled=!1;var g=-1;if(c.length>=2)for(var m=1;m<c.length;m++){var h=parseInt(c[m]);if(!isNaN(h)){g=h;break}}else if(r.length>3){var p=parseInt(r.substring(3));isNaN(p)||(g=p)}this.dockingPoint={dpId:t+"_"+r,elementId:e,type:t,name:r,ignoreLayer:"AVR"==t||"AVL"==t||r.indexOf("_IL")>=0,localWorldPos:a,rotDeg:i,isDocking:!1,dpFilter:u},g>=0&&(this.dockingPoint.number=g),this.layer=o}return(0,a.Z)(DockingPoint,[{key:"clone",value:function clone(){var e=new DockingPoint(this.dockingPoint.elementId,this.dockingPoint.type,this.dockingPoint.name,this.dockingPoint.localWorldPos,this.dockingPoint.rotDeg,this.layer,this.plannerconfig,this.dockingPoint.dpFilter);return e.dockingPoint.dpId=this.dockingPoint.dpId,e.dockingPoint.ignoreLayer=this.dockingPoint.ignoreLayer,e.dockingPoint.isDocking=this.dockingPoint.isDocking,e.dockingPoint.number=this.dockingPoint.number,e.dockingPoint.onDP=this.dockingPoint.onDP,e.dockingPoint.onElementId=this.dockingPoint.onElementId,e}},{key:"ElementId",get:function get(){return this.dockingPoint.elementId}},{key:"Name",get:function get(){return this.dockingPoint.name}},{key:"LocalWorldPos",get:function get(){return this.dockingPoint.localWorldPos}},{key:"RotDeg",get:function get(){return this.dockingPoint.rotDeg}},{key:"Type",get:function get(){return this.dockingPoint.type}},{key:"IsDocking",get:function get(){return this.dockingPoint.isDocking}},{key:"Layer",get:function get(){return this.layer}},{key:"IgnoreLayer",get:function get(){return this.dockingPoint.ignoreLayer}},{key:"HasNumber",get:function get(){return null!=this.dockingPoint.number}},{key:"Number",get:function get(){return this.dockingPoint.number}},{key:"PlannerConfig",get:function get(){return this.plannerconfig}},{key:"IsDisabled",get:function get(){return this.isDisabled}},{key:"DPFilter",get:function get(){return this.dockingPoint.dpFilter}},{key:"doDock",value:function doDock(e,t){this.dockingPoint.isDocking=!0,this.dockingPoint.onDP=e,this.dockingPoint.onElementId=t}},{key:"undock",value:function undock(){this.dockingPoint.isDocking=!1,this.dockingPoint.onDP=void 0,this.dockingPoint.onElementId=void 0}},{key:"disableDP",value:function disableDP(e){this.isDisabled=e}},{key:"OnDP",get:function get(){return this.dockingPoint.onDP}},{key:"OnElementId",get:function get(){return this.dockingPoint.onElementId}},{key:"DpId",get:function get(){return this.dockingPoint.dpId}}])}(),u=i.ZP.initLog("Planner","WEB-PLANNER-LOGIC");const c=new(function(){return(0,a.Z)((function DockingPointHandler(){(0,n.Z)(this,DockingPointHandler)}),[{key:"getRotOfDP",value:function getRotOfDP(e,t){var r=o.FM.getDirection(t,e),n=new o.FM(0,1),a=o.FM.angleDeg(n,r);return r.x>0?360-a:a}},{key:"getReferenceDPType",value:function getReferenceDPType(e){switch(e){case"AVR":return"AVL";case"AVL":return"AVR";case"AVO":return"AVU";case"AVU":return"AVO";case"AVC":return"AVC";case"AVS":return"AVN";case"AVN":return"AVS"}return""}},{key:"sortDockingPoints",value:function sortDockingPoints(e,t){return"LEFT_TO_RIGHT"==e?t.sort((function(e,t){return e.LocalWorldPos.x>t.LocalWorldPos.x?1:-1})):t.sort((function(e,t){return e.LocalWorldPos.x<t.LocalWorldPos.x?1:-1}))}},{key:"checkDPAVLFilterDoMatch",value:function checkDPAVLFilterDoMatch(e,t){var r=e.FilterAVR,n=t.FilterAVL;if(0==n.length&&0==r.length)return!0;for(var a=0;a<r.length;a++)for(var i=0;i<n.length;i++)if(r[a]==n[i])return!0;return!1}},{key:"checkDPAVRFilterDoMatch",value:function checkDPAVRFilterDoMatch(e,t){var r=e.FilterAVL,n=t.FilterAVR;if(0==r.length&&0==n.length)return!0;for(var a=0;a<r.length;a++)for(var i=0;i<n.length;i++)if(r[a]==n[i])return!0;return!1}},{key:"checkDPsDoMatch",value:function checkDPsDoMatch(e,t,r,n){var a=this.checkDPAVRFilterDoMatch(r,n),i=this.checkDPAVLFilterDoMatch(r,n),o=this.getReferenceDPType(e.Type);if("AVL"==o&&!i)return!1;if("AVR"==o&&!a)return!1;if(t.Type!=o)return!1;if(e.IsDocking||t.IsDocking)return!1;if(!e.IgnoreLayer||!t.IgnoreLayer){var l=!0;if(!e.PlannerConfig.ignoreLayerAVC||"AVC"!=e.Type&&"AVC"!=t.Type||(l=!1),!e.PlannerConfig.ignoreLayerAVOAVU||"AVO"!=e.Type&&"AVU"!=e.Type||"AVO"!=t.Type&&"AVU"!=t.Type||(l=!1),!e.PlannerConfig.ignoreLayerAVNAVS||"AVN"!=e.Type&&"AVS"!=e.Type||"AVN"!=t.Type&&"AVS"!=t.Type||(l=!1),l&&t.Layer==e.Layer)return!1}return!e.HasNumber||!t.HasNumber||e.Number==t.Number}},{key:"doDock",value:function doDock(e,t,r,n){e.doDock(t,n),t.doDock(e,r)}},{key:"initDockingPointsFromSvg",value:function initDockingPointsFromSvg(e,t,r,n){e.saveCurrentDPState(),this.removeDockingPointRelations(e),e.clearAllDockingPoints();for(var a=0;a<t.length;a++){var l=t[a],u=new o.FM((l.x1-r.svgMinXVal)/i.ZP.UnitRecalc,(l.y1-r.svgMinYVal)/i.ZP.UnitRecalc),c=new o.FM((l.x2-r.svgMinXVal)/i.ZP.UnitRecalc,(l.y2-r.svgMinYVal)/i.ZP.UnitRecalc),g=this.getRotOfDP(u,c),m=void 0;"AVL"==l.dockingType?m=e.getFilterAVL():"AVR"==l.dockingType&&(m=e.getFilterAVR());var h=new s(e.getElementId(),l.dockingType,l.dockingName,new o.P(u.x,0,u.y),g,e.Layer,n,m);e.addDockingPoint(h)}}},{key:"removeDockingPointRelations",value:function removeDockingPointRelations(e){for(var t=e.getDockingPoints(),r=0;r<t.length;r++){var n=t[r];if(n.IsDocking)n.OnDP.undock(),n.undock()}}},{key:"removeDockingPointRelationsByType",value:function removeDockingPointRelationsByType(e,t){for(var r=[],n=e.getDockingPoints(),a=0;a<n.length;a++){var i=n[a];if(t.indexOf(i.Type)>-1&&i.IsDocking){var o=i.OnDP;r.push(o.ElementId),o.undock(),i.undock()}}return r}},{key:"searchDockableElementsInArea",value:function searchDockableElementsInArea(e,t,r){for(var n=e.getAllDockingPoints(),a=new Map,i=0;i<t.length;i++){var o=t[i];if(e.getElementId()!=o.getElementId())for(var l=0;l<n.length;l++)for(var s=n[l],u=this.getReferenceDPType(s.Type),c=o.getFreeDockingPointsByType(u),g=0;g<c.length;g++){var m=c[g];if(this.checkDPsDoMatch(s,m,e,o)){var h=e.getWorldPosOfDP(s.DpId),p=o.getWorldPosOfDP(m.DpId),d=Math.sqrt(Math.pow(h.x-p.x,2)+Math.pow(h.z-p.z,2));0!=r&&(r==1/0||d<r)&&(a.has(s.Type)?d<a.get(s.Type).distance&&a.set(s.Type,{sourceDP:s,targetDP:m,distance:d}):a.set(s.Type,{sourceDP:s,targetDP:m,distance:d}))}}}return a}},{key:"tryDockElement",value:function tryDockElement(e,t,r){var n=e.getDockingPointsByType(t);if(!n)return!1;for(var a=this.getReferenceDPType(t),i=0;i<r.length;i++){var o=r[i];if(o.ElementId!=e.ElementId&&((e.IsAccessoire||!o.IsAccessoire||o.getParentElementId()==e.getElementId())&&(!e.IsAccessoire||o.getAccessoires().includes(e.ArticleCodex)))){var l=o.getDockingPointsByType(a);if((e.getIsDockedAccessoire()||e.IsAccessoire)&&(l=this.sortDockingPoints("LEFT_TO_RIGHT",l)),l)for(var s=0;s<l.length;s++)for(var u=l[s],c=0;c<n.length;c++){var g=n[c];if(this.checkDPsDoMatch(g,u,e,o))return this.doDock(g,u,e.ElementId,o.ElementId),g}}}return!1}},{key:"tryDockElementToDP",value:function tryDockElementToDP(e,t,r){var n=this.getReferenceDPType(r.Type),a=e.getFreeDockingPointsByType(n);if(!a)return!1;for(var i=0;i<a.length;i++)if(this.checkDPsDoMatch(a[i],r,e,t))return this.doDock(a[i],r,e.ElementId,t.ElementId),a[i];return!1}},{key:"tryDockElementDPToDP",value:function tryDockElementDPToDP(e,t,r,n){return!!this.checkDPsDoMatch(r,n,e,t)&&(this.doDock(r,n,e.getElementId(),t.getElementId()),!0)}},{key:"updateDockingRelations",value:function updateDockingRelations(e){var t=[],r=[];e.forEach((function(e,n){e.IsDockedAccessoire?r.push(e):t[e.PosNr-1]=e})),t=t.concat(r);for(var n=[],a=0;a<t.length;a++)if(t[a])for(var i=t[a],o=i.getTempDockingPoints(),l=0;l<o.length;l++){var s=o[l];if(s.IsDocking&&s.OnElementId){var u=i.getDockingPointById(s.DpId);if(null==u){var c=e.get(s.OnElementId),g=i.getFreeDockingPointsByType(s.Type);if(1==g.length){var m=null==c?void 0:c.getFreeDockingPointsByType(this.getReferenceDPType(s.Type));if(1==(null==m?void 0:m.length)){this.tryDockElementDPToDP(i,c,g[0],m[0]);continue}}c&&n.push(c);continue}if(e.has(s.OnElementId)){var h=e.get(s.OnElementId),p=null==h?void 0:h.getDockingPointById(s.OnDP.DpId);this.tryDockElementDPToDP(i,h,u,p)}}}for(a=0;a<t.length;a++)t[a]&&t[a].clearTempDockingPoints();return n}},{key:"initDockingPointRelationByArea",value:function initDockingPointRelationByArea(e,t,r){if(e.getFreeDockingPointsByType(r).length>0){var n=this.searchDockableElementsInArea(e,[t],1/0);if(n.has(r)){var a=n.get(r);if(a)this.tryDockElementDPToDP(e,t,a.sourceDP,a.targetDP)||u.debug("Error when initializing docking Points. Two dockingpoints could not be matched. sourceDP: "+a.sourceDP.DpId+"; sourceRlementId: "+a.sourceDP.ElementId+"; targetDP: "+a.targetDP.DpId+" targetElemId: "+a.targetDP.ElementId)}}}},{key:"checkElementsAreDocking",value:function checkElementsAreDocking(e,t){for(var r=e.getDockingDockingPoints(),n=0;n<r.length;n++){if(r[n].OnElementId==t.getElementId())return!0}return!1}}])}())},24829:(e,t,r)=>{"use strict";r.d(t,{Z:()=>A});var n=r(84658),a=r(13125),i=r(43860),o=r(80248),l=r(50747),s=r.n(l),u=r(12952),c=r(63846),g=r(98457),m=r(68122),h=r.n(m),p=r(64357),d=g.ZP.initLog("Planner","WEB-PLANNER-LOGIC"),f=function(){return(0,i.Z)((function SVGUtils(){(0,a.Z)(this,SVGUtils)}),[{key:"removeOLFFromSvg",value:function removeOLFFromSvg(e){var t,r=(t=(new DOMParser).parseFromString(e,"application/xml")).evaluate("//*[starts-with(@id,'VIF')]",t,null,7,null);if(r.snapshotLength>0)for(var n=0;n<r.snapshotLength;n++){var a;null===(a=r.snapshotItem(n).parentElement)||void 0===a||a.removeChild(r.snapshotItem(n))}var i=t.evaluate("//*[starts-with(@id,'OLF')]",t,null,7,null);if(i.snapshotLength>0)for(n=0;n<i.snapshotLength;n++){var o;null===(o=i.snapshotItem(n).parentElement)||void 0===o||o.removeChild(i.snapshotItem(n))}return"undefined"!=typeof XMLSerializer?(new XMLSerializer).serializeToString(t):h()(t)}},{key:"getDPsInSVG",value:function getDPsInSVG(e){var t=[],r=(new DOMParser).parseFromString(e,"application/xml"),n=r.evaluate("//*[starts-with(@id,'AV')]",r,null,7,null);if(n.snapshotLength>0)for(var a=0;a<n.snapshotLength;a++){var i=n.snapshotItem(a);if("line"!==(null==i?void 0:i.nodeName))throw new Error("nodename type: "+i.nodeName+" not implemented");t.push({x1:Number(i.getAttribute("x1")),y1:Number(i.getAttribute("y1")),x2:Number(i.getAttribute("x2")),y2:Number(i.getAttribute("y2")),dockingName:i.getAttribute("id"),dockingType:i.getAttribute("id").substring(0,3)})}return t.sort((function(e,t){return"AVL"===e.dockingType||"AVR"===e.dockingType&&["AVR","AVC","AVU","AVO","AVS","AVN"].includes(t.dockingType)?-1:0})),t}},{key:"getPointOfPoligonById",value:function getPointOfPoligonById(e,t){var r=[],n=(new DOMParser).parseFromString(e,"application/xml"),a=n.evaluate("//*[starts-with(@id,'"+t+"')]",n,null,7,null);if(!(a.snapshotLength>1||0==a.snapshotLength)){for(var i=0;i<a.snapshotLength;i++){var o=a.snapshotItem(i);if("polygon"===(null==o?void 0:o.nodeName)){var l=o.getAttribute("points");if(!l)return;for(var s=l.split(" "),u=0;u<s.length;u++){var c=s[u].split(",");2===c.length&&r.push(new p.FM(Number(c[0]),Number(c[1])))}}}return r}}},{key:"getBoundingBoxOfPoints",value:function getBoundingBoxOfPoints(e){var t=e.map((function(e){return e.x})),r=e.map((function(e){return e.y})),n=Math.min.apply(Math,(0,u.Z)(t)),a=Math.max.apply(Math,(0,u.Z)(t)),i=Math.min.apply(Math,(0,u.Z)(r));return{width:a-n,height:Math.max.apply(Math,(0,u.Z)(r))-i}}},{key:"removeMaskFromSvg",value:function removeMaskFromSvg(e){if(e.toLowerCase().indexOf("mask")>=0){for(var t,r=(t=(new DOMParser).parseFromString(e,"image/svg+xml")).evaluate('//*["mask"=local-name()]',t,null,7,null),n=0;n<r.snapshotLength;n++){var a;null===(a=r.snapshotItem(n).parentElement)||void 0===a||a.removeChild(r.snapshotItem(n))}var i=t.evaluate("//*[@mask]",t,null,7,null);for(n=0;n<i.snapshotLength;n++){var o;null===(o=i.snapshotItem(n).parentElement)||void 0===o||o.removeChild(i.snapshotItem(n))}return"undefined"!=typeof XMLSerializer?(new XMLSerializer).serializeToString(t):h()(t)}return e}},{key:"ccCheckStretchAreas",value:function ccCheckStretchAreas(e,t,r,n,a,i,o){var l,s,u,m,p,f,F,v=g.ZP.UnitRecalc,A=t*v,b=r*v,D=[],P=[],y=[],k=[],x=0,L=0,w=0,S=0,E=0,O=0,T=0,I=0,N=!1,V=0,M=0,C="",R=new RegExp("svg","g"),B=(e=e.replace(R,"xxx"),new DOMParser);l=B.parseFromString(e,"application/xml"),s=l.getElementsByTagName("xxx")[0],R=new RegExp("xxx","g"),function correctSVG(e){var t=e.getAttribute("viewBox");t&&null==e.getAttribute("width")&&e.setAttribute("width",t.split(" ")[2]);t&&null==e.getAttribute("height")&&e.setAttribute("height",t.split(" ")[3]);var r,n=e.getAttribute("width");n.indexOf("mm")>0?(r=parseFloat(n.substring(0,n.length-2)),r*=v):r=n.indexOf("px")>0?parseFloat(n.substring(0,n.length-2)):parseFloat(n);e.setAttribute("width",r.toString());var a,i=e.getAttribute("height");i.indexOf("mm")>0?(a=parseFloat(i.substring(0,i.length-2)),a*=v):a=i.indexOf("px")>0?parseFloat(i.substring(0,i.length-2)):parseFloat(i);e.setAttribute("height",a.toString()),t||e.setAttribute("viewBox","0 0 "+r+" "+a)}(s),F=function calcScaleFactorSvgViewBox(e){var t=e.getAttribute("viewBox"),r=1,n=1;if(null!=t){var a=Number(e.getAttribute("width")),i=t.split(" "),o=Number(i[2]);r=a/o;var l=Number(e.getAttribute("height")),s=Number(i[3]);n=l/s}return new c.fabric.Point(r,n)}(s),function recalcScaleFactorSvgViewBox(e){if(null!=e.getAttribute("viewBox")){var t,r=Math.ceil(parseFloat(e.getAttribute("width"))),n=Math.ceil(parseFloat(e.getAttribute("height"))),a=e.getAttribute("x");a?(a.indexOf("mm")>0?(t=parseFloat(a.substring(0,a.length-2)),t*=v):t=a.indexOf("px")>0?parseFloat(a.substring(0,a.length-2)):parseFloat(a),t=Math.ceil(t)):t=0;var i,o=e.getAttribute("y");o?(o.indexOf("mm")>0?(i=parseFloat(o.substring(0,o.length-2)),i*=v):i=o.indexOf("px")>0?parseFloat(o.substring(0,o.length-2)):parseFloat(o),i=Math.ceil(i)):i=0,e.setAttribute("viewBox",t+" "+i+" "+r+" "+n)}}(s),function correctSVGViewBoxScale(e,t){if(1==t.x&&1==t.y)return;var r=e.children;if(!r)return;for(var n=0;n<r.length;n++){switch(r[n].tagName){case"rect":correctViewBoxScaleRectangle(r[n],t);break;case"polygon":correctViewBoxScalePolygon(r[n],t);break;case"path":correctViewBoxScalePath(r[n],t);break;case"line":correctViewBoxScaleLine(r[n],t);break;case"style":correctViewBoxScaleStyle(r[n],t)}correctSVGViewBoxScale(r[n],t)}}(s,F);var z=Math.round(parseFloat(s.getAttribute("width"))/v*100)/100,_=Math.round(parseFloat(s.getAttribute("height"))/v*100)/100;function correctViewBoxScaleStyle(e,t){"text/css"!=e.getAttribute("type")&&d.debug("Warnung komisches style Element bei diesem CSS.");for(var r=e.innerHTML.split("{"),n="",a=0;a<r.length;a++){var i=r[a].indexOf("width");if(i>=0){for(var o="",l=-1,s=-1,u=i+"width".length;u<r[a].length;u++){if(";"==r[a][u]||"}"==r[a][u]){s=u;break}l>-1&&(o+=r[a][u]),":"==r[a][u]&&(l=u)}var c=parseFloat(o)*t.x,g=r[a].substring(0,l+1)+c+r[a].substring(s,r[a].lenght);r[a]=g}var m=r[a].indexOf("height");if(m>=0){for(o="",l=-1,s=-1,u=m+"height".length;u<r[a].length;u++){if(";"==r[a][u]||"}"==r[a][u]){s=u;break}l>-1&&(o+=r[a][u]),":"==r[a][u]&&(l=u)}c=parseFloat(o)*t.y,g=r[a].substring(0,l+1)+c+r[a].substring(s,r[a].lenght);r[a]=g}n+=r[a],a<r.length-1&&(n+="{")}e.innerHTML=n}function correctViewBoxScaleLine(e,t){var r=e.getAttribute("x1");r||(r=0);var n=e.getAttribute("x2"),a=e.getAttribute("y1");a||(a=0);var i=e.getAttribute("y2");e.setAttribute("x1",parseFloat(r)*t.x),e.setAttribute("y1",parseFloat(a)*t.y),e.setAttribute("x2",parseFloat(n)*t.x),e.setAttribute("y2",parseFloat(i)*t.y)}function correctViewBoxScalePath(e,t){var r=getPathStringFromPathElement(createPathElement(e.getAttribute("d"),t));e.setAttribute("d",r)}function correctViewBoxScalePolygon(e,t){var r=createPolygonElement(e.getAttribute("points"),t);e.setAttribute("points",r.points)}function correctViewBoxScaleRectangle(e,t){var r=e.getAttribute("x");r||(r=0);var n=e.getAttribute("y");n||(n=0);var a=e.getAttribute("width"),i=e.getAttribute("height");e.setAttribute("x",parseFloat(r)*t.x),e.setAttribute("y",parseFloat(n)*t.y),e.setAttribute("width",parseFloat(a)*t.x),e.setAttribute("height",parseFloat(i)*t.y)}function resizeXml(e,t,r,a){var i="OLT"==r?x:w,o="OLT"==r?L:S;if(!n&&P[0]&&t!=o){"OLT"==r?L=t:S=t;for(var l=round(t-o),u=0,c=0;c<P.length;c++)P[c].setAttribute("y",round(parseFloat(P[c].getAttribute("y"))+u)),P[c].setAttribute("height",round(l*k[c])),u+=round(l*k[c]);fixXMLObject(s,"SAV",r)}if(!n&&e!=i&&D[0]){"OLT"==r?x=e:w=e;var g=round(e-i),m=0;for(c=0;c<D.length;c++)"OLT"==r&&(D[c].setAttribute("x",round(parseFloat(D[c].getAttribute("x"))+m)),m+=round(g*y[c])),D[c].setAttribute("width",round(g*y[c]));fixXMLObject(s,"SAH",r)}var h=!1;n&&t!=o&&(f=t/o,h=!0,"OLT"==r?L=t:S=t),n&&e!=i&&(p=e/i,h=!0,"OLT"==r?x=e:w=e),h&&fixXMLObject(s,"GLOBAL_SCALE",r),a()}function fixXMLObject(e,t,r){var n,a;"OLT"==r?(n="VIF",a="OLF"):(n="VIT",a="OLT");for(var i=e.children,o=0;o<i.length;o++)if(i[o].getAttribute("id")!=n&&i[o].getAttribute("id")!=a){switch(i[o].localName){case"g":break;case"rect":(!i[o].hasAttribute("id")||"SAV"!=i[o].getAttribute("id").substring(0,3)&&"SAH"!=i[o].getAttribute("id").substring(0,3))&&e.replaceChild(fixRectangle(i[o],t),i[o]);break;case"path":var l=fixPath(createPathElement(i[o].getAttribute("d")),t);i[o].setAttribute("d",l);break;case"line":i[o].hasAttribute("id")&&"AV"==i[o].getAttribute("id").substring(0,2)?"OLT"==r&&e.replaceChild(fixLine(i[o],t),i[o]):e.replaceChild(fixLine(i[o],t),i[o]);break;case"polygon":case"polyline":var s=fixPolygon(createPolygonElement(i[o].getAttribute("points")),t);i[o].setAttribute("points",s);break;case"image":fixImage(i[o],t)}fixXMLObject(i[o],t,r)}}function fixImage(e,t){if(e.setAttribute("preserveAspectRatio","none"),"SAH"==t){var r=parseInt(e.getAttribute("width"),10),n=A/u;r=Math.round(r*n),e.setAttribute("width",r+"px")}else if("SAV"==t){var a=parseInt(e.getAttribute("height"),10),i=b/m;a=Math.round(a*i),e.setAttribute("height",a+"px")}}function fixLine(e,t){var r,n,a,i;if("SAH"==t)for(var o=0;o<D.length;o++){r=parseFloat(e.getAttribute("x1")),a=parseFloat(e.getAttribute("x2"));var l=parseFloat(D[o].getAttribute("x"));scaleLineX(r,a,l,round(l+parseFloat(D[o].getAttribute("width"))))}else if("SAV"==t)for(o=0;o<P.length;o++){n=parseFloat(e.getAttribute("y1")),i=parseFloat(e.getAttribute("y2"));var s=parseFloat(P[o].getAttribute("y"));scaleLineY(n,i,s,round(s+parseFloat(P[o].getAttribute("height"))))}else"GLOBAL_SCALE"==t&&(r=parseFloat(e.getAttribute("x1")),a=parseFloat(e.getAttribute("x2")),n=parseFloat(e.getAttribute("y1")),i=parseFloat(e.getAttribute("y2")),e.setAttribute("x1",round(r*p)),e.setAttribute("x2",round(a*p)),e.setAttribute("y1",round(n*f)),e.setAttribute("y2",round(i*f)));function scaleLineX(t,r,n,a){t>n?(e.setAttribute("x1",round(t+(a-n))),e.setAttribute("x2",round(r+(a-n)))):t<n&&r>n&&e.setAttribute("x2",round(r+(a-n)))}function scaleLineY(t,r,n,a){t>n?(e.setAttribute("y1",round(t+(a-n))),e.setAttribute("y2",round(r+(a-n)))):t<n&&r>n&&e.setAttribute("y2",round(r+(a-n)))}return e}function fixPolygon(e,t){if("SAH"==t)for(var r=0;r<D.length;r++)for(var n=parseFloat(D[r].getAttribute("x")),a=round(n+parseFloat(D[r].getAttribute("width"))),i=0;i<e.points.length;i++)e.points[i].x>n&&(e.points[i].x+=a-n);else if("SAV"==t)for(r=0;r<P.length;r++){var o=parseFloat(P[r].getAttribute("y")),l=round(o+parseFloat(P[r].getAttribute("height")));for(i=0;i<e.points.length;i++)e.points[i].y>o&&(e.points[i].y+=l-o)}else if("GLOBAL_SCALE"==t)for(i=0;i<e.points.length;i++)e.points[i].x=e.points[i].x*p,e.points[i].y=e.points[i].y*f;var s="";for(i=0;i<e.points.length;i++)s+=e.points[i].x+","+e.points[i].y+" ";return s}function fixRectangle(e,t){if("SAH"==t)for(var r=0;r<D.length;r++){var n=parseFloat(e.getAttribute("x")),a=round(n+parseFloat(e.getAttribute("width"))),i=parseFloat(D[r].getAttribute("x"));scaleRectX(n,a,i,round(i+parseFloat(D[r].getAttribute("width"))))}else if("SAV"==t)for(r=0;r<P.length;r++){var o=parseFloat(P[r].getAttribute("y")),l=round(o+parseFloat(P[r].getAttribute("height"))),s=parseFloat(e.getAttribute("y"));scaleRectY(s,round(s+parseFloat(e.getAttribute("height"))),o,l)}else if("GLOBAL_SCALE"==t){var u=parseFloat(e.getAttribute("x")),c=parseFloat(e.getAttribute("width")),g=parseFloat(e.getAttribute("y")),m=parseFloat(e.getAttribute("height"));e.setAttribute("x",round(u*p)),e.setAttribute("width",round(c*p)),e.setAttribute("y",round(g*f)),e.setAttribute("height",round(m*f))}function scaleRectX(t,r,n,a){t<=n&&r>=n?e.setAttribute("width",round(r-t+(a-n))):t>n&&e.setAttribute("x",round(t+(a-n)))}function scaleRectY(t,r,n,a){t<=n&&r>=n?e.setAttribute("height",round(r-t+(a-n))):t>n&&e.setAttribute("y",round(t+(a-n)))}return e}function fixPath(e,t){if("SAH"==t)for(var r=0;r<D.length;r++)for(var n,a=parseFloat(D[r].getAttribute("x")),i=round(a+parseFloat(D[r].getAttribute("width"))),o=0;o<e.elements.length;o++)switch(e.elements[o].command){case"M":case"L":case"H":n=e.elements[o].parameter[0],e.elements[o].parameter[0]>a&&(e.elements[o].parameter[0]=round(e.elements[o].parameter[0]+(i-a)));break;case"m":case"l":case"h":(l=e.elements[o].parameter[0])>=0&&n<a&&n+e.elements[o].parameter[0]>a?e.elements[o].parameter[0]=round(e.elements[o].parameter[0]+(i-a)):l<0&&n>=a&&n+e.elements[o].parameter[0]<a&&(e.elements[o].parameter[0]=round(e.elements[o].parameter[0]-(i-a))),n+=l;break;case"C":n=e.elements[o].parameter[4],e.elements[o].parameter[4]>a&&(e.elements[o].parameter[4]=round(e.elements[o].parameter[4]+(i-a)),e.elements[o].parameter[0]=round(e.elements[o].parameter[0]+(i-a)),e.elements[o].parameter[2]=round(e.elements[o].parameter[2]+(i-a)));break;case"c":var l=e.elements[o].parameter[4];(n<a&&e.elements[o].parameter[4]+n>a||l<0&&n>=a&&n+e.elements[o].parameter[0]<a)&&(e.elements[o].parameter[4]=round(e.elements[o].parameter[4]+(i-a)),e.elements[o].parameter[0]=round(e.elements[o].parameter[0]+(i-a)),e.elements[o].parameter[2]=round(e.elements[o].parameter[2]+(i-a))),n+=l;break;case"S":n=e.elements[o].parameter[2],e.elements[o].parameter[2]>a&&(e.elements[o].parameter[0]=round(e.elements[o].parameter[0]+(i-a)),e.elements[o].parameter[2]=round(e.elements[o].parameter[2]+(i-a)));break;case"s":l=e.elements[o].parameter[2];n<a&&e.elements[o].parameter[2]+n>a?(e.elements[o].parameter[0]=round(e.elements[o].parameter[0]+(i-a)),e.elements[o].parameter[2]=round(e.elements[o].parameter[2]+(i-a))):l<0&&n>=a&&n+e.elements[o].parameter[0]<a&&(e.elements[o].parameter[0]=round(e.elements[o].parameter[0]-(i-a)),e.elements[o].parameter[2]=round(e.elements[o].parameter[2]-(i-a))),n+=l}else if("SAV"==t)for(r=0;r<P.length;r++){var s,u=parseFloat(P[r].getAttribute("y")),c=round(u+parseFloat(P[r].getAttribute("height")));for(o=0;o<e.elements.length;o++)switch(e.elements[o].command){case"M":case"L":s=e.elements[o].parameter[1],e.elements[o].parameter[1]>u&&(e.elements[o].parameter[1]=round(e.elements[o].parameter[1]+(c-u)));break;case"m":case"l":l=e.elements[o].parameter[1];s<u&&e.elements[o].parameter[1]+s>u?e.elements[o].parameter[1]=round(e.elements[o].parameter[1]+(c-u)):l<0&&s>=u&&s+e.elements[o].parameter[1]<u&&(e.elements[o].parameter[1]=round(e.elements[o].parameter[1]-(c-u))),s+=l;break;case"V":s=e.elements[o].parameter[0],e.elements[o].parameter[0]>u&&(e.elements[o].parameter[0]=round(e.elements[o].parameter[0]+(c-u)));break;case"v":l=e.elements[o].parameter[0];s<u&&e.elements[o].parameter[0]+s>u?e.elements[o].parameter[0]=round(e.elements[o].parameter[0]+(c-u)):l<0&&s>=u&&s+e.elements[o].parameter[0]<u&&(e.elements[o].parameter[0]=round(e.elements[o].parameter[0]-(c-u))),s+=l;break;case"C":s=e.elements[o].parameter[5],e.elements[o].parameter[5]>u&&(e.elements[o].parameter[5]=round(e.elements[o].parameter[5]+(c-u)),e.elements[o].parameter[1]=round(e.elements[o].parameter[1]+(c-u)),e.elements[o].parameter[3]=round(e.elements[o].parameter[3]+(c-u)));break;case"c":l=e.elements[o].parameter[5];s<u&&e.elements[o].parameter[5]+s>u?(e.elements[o].parameter[5]=round(e.elements[o].parameter[5]+(c-u)),e.elements[o].parameter[1]=round(e.elements[o].parameter[1]+(c-u)),e.elements[o].parameter[3]=round(e.elements[o].parameter[3]+(c-u))):l<0&&s>=u&&s+e.elements[o].parameter[0]<u&&(e.elements[o].parameter[5]=round(e.elements[o].parameter[5]-(c-u)),e.elements[o].parameter[1]=round(e.elements[o].parameter[1]-(c-u)),e.elements[o].parameter[3]=round(e.elements[o].parameter[3]-(c-u))),s+=l;break;case"S":s=e.elements[o].parameter[3],e.elements[o].parameter[3]>u&&(e.elements[o].parameter[1]=round(e.elements[o].parameter[1]+(c-u)),e.elements[o].parameter[3]=round(e.elements[o].parameter[3]+(c-u)));break;case"s":l=e.elements[o].parameter[3];s<u&&e.elements[o].parameter[3]+s>u?(e.elements[o].parameter[1]=round(e.elements[o].parameter[1]+(c-u)),e.elements[o].parameter[3]=round(e.elements[o].parameter[3]+(c-u))):l<0&&s>=u&&s+e.elements[o].parameter[0]<u&&(e.elements[o].parameter[1]=round(e.elements[o].parameter[1]-(c-u)),e.elements[o].parameter[3]=round(e.elements[o].parameter[3]-(c-u))),s+=l}}else if("GLOBAL_SCALE"==t)for(o=0;o<e.elements.length;o++)switch(e.elements[o].command){case"M":case"m":case"l":case"L":e.elements[o].parameter[0]=round(e.elements[o].parameter[0]*p),e.elements[o].parameter[1]=round(e.elements[o].parameter[1]*f);break;case"v":case"V":e.elements[o].parameter[0]=round(e.elements[o].parameter[0]*f);break;case"h":case"H":e.elements[o].parameter[0]=round(e.elements[o].parameter[0]*p);break;case"C":case"c":e.elements[o].parameter[0]=round(e.elements[o].parameter[0]*p),e.elements[o].parameter[1]=round(e.elements[o].parameter[1]*f),e.elements[o].parameter[2]=round(e.elements[o].parameter[2]*p),e.elements[o].parameter[3]=round(e.elements[o].parameter[3]*f),e.elements[o].parameter[4]=round(e.elements[o].parameter[4]*p),e.elements[o].parameter[5]=round(e.elements[o].parameter[5]*f);break;case"S":case"s":e.elements[o].parameter[0]=round(e.elements[o].parameter[0]*p),e.elements[o].parameter[1]=round(e.elements[o].parameter[1]*f),e.elements[o].parameter[2]=round(e.elements[o].parameter[2]*p),e.elements[o].parameter[3]=round(e.elements[o].parameter[3]*f)}return getPathStringFromPathElement(e)}function getPathStringFromPathElement(e){for(var t="",r=0;r<e.elements.length;r++)if(t+=e.elements[r].command,"z"!=e.elements[r].command)for(var n=0;n<e.elements[r].parameter.length;n++)t+=e.elements[r].parameter[n],n!=e.elements[r].parameter.length-1&&(t+=",");return t}function fixViewBox(e,t,r){var n="",a=T+w>E+x?T+w:E+x,i=I+S>O+L?I+S:O+L;if(e.setAttribute("height",(Math.round(100*i)/100).toString()),e.setAttribute("width",(Math.round(100*a)/100).toString()),t=Math.round(100*t)/100,r=Math.round(100*r)/100,e.hasAttribute("x")&&e.hasAttribute("y"))n=Number.parseFloat(e.getAttribute("x").substring(0,e.getAttribute("x").length-2))+t+" "+(Number.parseFloat(e.getAttribute("y").substring(0,e.getAttribute("y").length-2))+r)+" "+Math.round(100*a)/100+" "+Math.round(100*i)/100;else{var o=e.getAttribute("viewBox").split(" ");n=Number.parseFloat(o[0])+t+" "+(Number.parseFloat(o[1])+r),n=D[0]?n+" "+Math.round(100*a)/100:n+" "+o[2],n=P[0]?n+" "+Math.round(100*i)/100:n+" "+o[3]}var l="new "+n;return e.setAttribute("x",t),e.setAttribute("y",r),e.setAttribute("viewBox",n),e.setAttribute("enable-background",l),e.setAttribute("style","enable-background:new "+n+";"),e}function createPolygonElement(e,t){var r=!0,n="",a="",i=[],o={},l=e.includes(",")?",":e.includes(" ")?" ":",";e=e.trimEnd().trimStart();for(var s=0;s<e.length;s++){var u=e.charAt(s);r||" "!=u?u==l?r=!1:r?n+=u:a+=u:""!=n&&(i.push(createPoint(n,a)),n="",a="",r=!0)}function createPoint(e,t){var r={};return r.x=parseFloat(e),r.y=parseFloat(t),r}return""!=n&&(!t||1==t.x&&1==t.y?i.push(createPoint(n,a)):i.push(createPoint(n,a)*t)),o.points=i,o}function createPathElement(e,t){for(var r,n,a=[],i=[],o=0,l={},s=0;s<e.length;s++){var u=e.charAt(s);" "==u&&s-1>0&&(1===(n=e.charAt(s-1)).length&&n.match(/[a-z]/i))||(" "==u||isNaN(u)&&"."!=u&&"-"!=u?","==u||" "==u?(null!=i[o]&&(i[o]=parseFloat(i[o])),isNaN(e.charAt(s+1))||" "==e.charAt(s+1)||o++):" "!=u&&"."!=u&&"-"!=u&&(null==r?r=u:(null!=i[o]&&(i[o]=parseFloat(i[o]),checkForSkippedLiterals(t),"z"==u&&a.push(createPoint("z",null))),r=u,i=[],o=0)):null!=i[o]&&"-"==u?(i[o]=parseFloat(i[o]),o++,i[o]=u):null!=i[o]?i[o]+=u:i[o]=u)}function checkForSkippedLiterals(e){var t=0;switch(r){case"M":case"m":case"L":case"l":t=2;break;case"H":case"h":case"V":case"v":t=1;break;case"C":case"c":t=6;break;case"S":case"s":t=4;break;default:return void d.error(new g.GE("svg path command: "+r+" unknown"))}for(var n=0;n<i.length;n+=t){for(var o=[],l=0;l<t;l++)o.push(i[n+l]);a.push(createPoint(r,o,e))}}function createPoint(e,t,r){var n={};if(n.command=e,n.parameter=t,r&&(1!=r.x||1!=r.y))switch(n.command){case"M":case"m":case"L":case"l":n.parameter[0]=n.parameter[0]*r.x,n.parameter[1]=n.parameter[1]*r.y;break;case"H":case"h":n.parameter[0]=n.parameter[0]*r.x;break;case"V":case"v":n.parameter[0]=n.parameter[0]*r.y;break;case"C":case"c":n.parameter[0]=n.parameter[0]*r.x,n.parameter[1]=n.parameter[1]*r.y,n.parameter[2]=n.parameter[2]*r.x,n.parameter[3]=n.parameter[3]*r.y,n.parameter[4]=n.parameter[4]*r.x,n.parameter[5]=n.parameter[5]*r.y;break;case"S":case"s":n.parameter[0]=n.parameter[0]*r.x,n.parameter[1]=n.parameter[1]*r.y,n.parameter[2]=n.parameter[2]*r.x,n.parameter[3]=n.parameter[3]*r.y}return n}return"z"!=e.charAt(e.length-1)&&checkForSkippedLiterals(t),l.elements=a,l}function round(e){return Math.round(1e3*e)/1e3}return 0==A&&(z=parseFloat(s.getAttribute("width"))),0==b&&(b=parseFloat(s.getAttribute("height"))),function correctTEAttributes(){var e=l.evaluate("//*[starts-with(@id,'TE')]",l,null,7,null);if(0==e.snapshotLength){var t=l.evaluate("//*[starts-with(@id,'OLT')]",l,null,7,null);if(t.snapshotLength>0)for(var r=0;r<t.snapshotLength;r++){var n;if("g"!=(null===(n=t.snapshotItem(r))||void 0===n?void 0:n.nodeName)){var a,i=null===(a=t.snapshotItem(r))||void 0===a?void 0:a.parentNode;"g"==i.tagName&&i.setAttribute("id","TE")}}e=l.evaluate("//*[starts-with(@id,'TE')]",l,null,7,null)}if(e.snapshotLength>0)for(r=0;r<e.snapshotLength;r++){var o;if("g"==(null===(o=e.snapshotItem(r))||void 0===o?void 0:o.nodeName))e.snapshotItem(r).setAttribute("display","none")}}(),function findStretchAreas(e,t,r){var n=0,a=0,i=0,o=l.evaluate("//*[starts-with(@id,'SAH')]",l,null,7,null),s=[];for(i=0;i<o.snapshotLength;i++)s.push(o.snapshotItem(i));for(i=0;i<s.length;i++)"polygon"==s[i].nodeName&&(s[i]=convertPolygonToRect(s[i],l)),"rect"==s[i].nodeName&&(s[i].setAttribute("style","fill:none;"),correctViewBoxScaleRectangle(s[i],t)),n+=parseFloat(s[i].getAttribute("width")),D.push(s[i]);var g=l.evaluate("//*[starts-with(@id,'SAV')]",l,null,7,null),h=[];for(i=0;i<g.snapshotLength;i++)h.push(g.snapshotItem(i));for(i=0;i<h.length;i++)"polygon"==h[i].nodeName&&(h[i]=convertPolygonToRect(h[i],l)),"rect"==h[i].nodeName&&(h[i].setAttribute("style","fill:none;"),correctViewBoxScaleRectangle(h[i],t)),a+=parseFloat(h[i].getAttribute("height")),P.push(h[i]);var p=l.evaluate("//*[starts-with(@id,'OLF')]",l,null,7,null);for(i=0;i<p.snapshotLength;i++)N=!0,calcOlfAndOlt(p.snapshotItem(i),"OLF");var d=l.evaluate("//*[starts-with(@id,'OLT')]",l,null,7,null);for(i=0;i<d.snapshotLength;i++){var f;d.snapshotLength>1&&"TE"!=(null===(f=d.snapshotItem(i))||void 0===f||null===(f=f.parentElement)||void 0===f?void 0:f.getAttribute("id"))||calcOlfAndOlt(d.snapshotItem(i),"OLT")}N&&(V=w-x,M=S-L);function convertPolygonToRect(e,t){var r=t.createElement("rect");r.setAttribute("id",e.getAttribute("id"));var n=createPolygonElement(e.getAttribute("points")).points;if(n.length>0){for(var a=n[0].x,i=n[0].x,o=n[0].y,l=n[0].y,s=1;s<n.length;s++)n[s].x<a?a=n[s].x:n[s].x>i&&(i=n[s].x),n[s].y<o?o=n[s].y:n[s].y>l&&(l=n[s].y);r.setAttribute("x",a),r.setAttribute("y",o),r.setAttribute("width",i-a),r.setAttribute("height",l-o),e.parentElement.appendChild(r),r.parentElement.removeChild(e)}return r}function calcOlfAndOlt(e,t,r){switch(e.localName){case"rect":e.hasAttribute("x")||e.setAttribute("x","0"),null==!e.hasAttribute("y")&&e.setAttribute("y","0"),"OLT"==t?(x=parseFloat(e.getAttribute("width")),L=parseFloat(e.getAttribute("height"))):"OLF"==t&&(w=parseFloat(e.getAttribute("width")),S=parseFloat(e.getAttribute("height")));break;case"polygon":var n,a,i=createPolygonElement(e.getAttribute("points")),o=0,l=0;i.points[0]&&(n=i.points[0].x,a=i.points[0].y);for(var s=0;s<i.points.length;s++)i.points[s].x>o&&(o=i.points[s].x),i.points[s].y>l&&(l=i.points[s].y),i.points[s].x<n&&(n=i.points[s].x),i.points[s].y<a&&(a=i.points[s].y);"OLT"==t?(x=o-n,L=l-a,E=n,O=a):"OLF"==t&&(w=o-n,S=l-a,T=n,I=a);break;case"path":var u=new c.fabric.Path(e.getAttribute("d"));"OLT"==t?(x=u.width,L=u.height):"OLF"==t&&(w=u.width,S=u.height);break;case"g":var g=e.children;e.setAttribute("id","");for(s=0;s<g.length;s++){switch(g[s].localName){case"rect":case"path":case"polygon":g[s].setAttribute("id",t),calcOlfAndOlt(g[s],t)}break}}}u=x,m=L,function sortSA(){for(var e=0;e<D.length;e++){for(var t=e,r=e+1;r<D.length;r++)parseFloat(D[r].getAttribute("x"))<parseFloat(D[t].getAttribute("x"))&&(t=r);if(t>e){var n=D[e];D[e]=D[t],D[t]=n}}for(e=0;e<P.length;e++){for(t=e,r=e+1;r<P.length;r++)parseFloat(P[r].getAttribute("y"))<parseFloat(P[t].getAttribute("y"))&&(t=r);if(t>e){n=P[e];P[e]=P[t],P[t]=n}}}(),function calcRatioSA(e,t){if(e>0)for(var r=0;r<D.length;r++)y[r]=parseFloat(D[r].getAttribute("width"))/e;if(t>0)for(r=0;r<P.length;r++)k[r]=parseFloat(P[r].getAttribute("height"))/t}(n,a),function clearSA(){for(var e=0;e<D.length;e++)D[e].setAttribute("width","0");for(e=0;e<P.length;e++)P[e].setAttribute("height","0")}(),r()}(s.children,F,(function(){var e;(A/=F.x,b/=F.y,t==z&&r==_)?(e=(e="undefined"!=typeof XMLSerializer?(new XMLSerializer).serializeToString(l):h()(l)).replace(R,"svg"),o(e)):resizeXml(A,b,"OLT",(function(){N?resizeXml(A+V,b+M,"OLF",(function(){s=fixViewBox(s,a,i),C=(C="undefined"!=typeof XMLSerializer?(new XMLSerializer).serializeToString(l):h()(l)).replace(R,"svg"),o(C)})):(s=fixViewBox(s,a,i),C=(C="undefined"!=typeof XMLSerializer?(new XMLSerializer).serializeToString(l):h()(l)).replace(R,"svg"),o(C))}))})),{heightOLF:S,widthOLF:w,heightOLT:L,widthOLT:x}}}])}(),F=r(33266),v=g.ZP.initLog("Planner","WEB-PLANNER-LOGIC");const A=new(function(){return(0,i.Z)((function PlannerHandler2D(){(0,a.Z)(this,PlannerHandler2D),(0,o.Z)(this,"svgUtils",void 0),this.svgUtils=new f}),[{key:"checkCollision",value:function checkCollision(e,t){if(g.ZP.startSpanOfApm("PlannerHandler2D checkCollision"),e.Layer!=t.Layer)return!1;var r=e.getWorld2DBBoxOutline(),n=t.getWorld2DBBoxOutline(),a=function checkCollisionPolygonPolygon(e,t){for(var r=0;r<e.length;r++)for(var n=e[r],a=e[(r+1)%e.length],i=0;i<t.length;i++){var o=t[i],l=t[(i+1)%t.length];if("Intersection"==c.fabric.Intersection.intersectLineLine(new c.fabric.Point(n.x,n.y),new c.fabric.Point(a.x,a.y),new c.fabric.Point(o.x,o.y),new c.fabric.Point(l.x,l.y)).status)return!0}return!1};if(a(r,n)){if(!e.HasOLTPolygon&&!e.HasOLFPolygon)return v.error(new g.GE("checkCollision PlannerHandler2D - The element with id: "+e.getElementId()+" has no OLT AND no OLF",{code:"WC_0012"})),g.ZP.endSpanOfApm("PlannerHandler2D checkCollision"),!1;if(!t.HasOLTPolygon&&!t.HasOLFPolygon)return v.error(new g.GE("checkCollision PlannerHandler2D - The element with id: "+t.getElementId()+" has no OLT AND no OLF",{code:"WC_0012"})),g.ZP.endSpanOfApm("PlannerHandler2D checkCollision"),!1;var i=e.HasOLFPolygon?e.getOLFPolygonWorldPos():e.getOLTPolygonWorldPos(),o=t.HasOLFPolygon?t.getOLFPolygonWorldPos():t.getOLTPolygonWorldPos();return g.ZP.endSpanOfApm("PlannerHandler2D checkCollision"),a(i,o)}return g.ZP.endSpanOfApm("PlannerHandler2D checkCollision"),function checkPolygonInsidePolygon(e,t){for(var r=0,n=0,a=0;a<e.length;a++){for(var i=e[a],o=new p.FM(i.x+999999,i.y),l=0,s=0;s<t.length;s++){var u=t[s],g=t[(s+1)%t.length];"Intersection"==c.fabric.Intersection.intersectLineLine(new c.fabric.Point(i.x,i.y),new c.fabric.Point(o.x,o.y),new c.fabric.Point(u.x,u.y),new c.fabric.Point(g.x,g.y)).status&&l++}if(l%2==0?r++:n++,r>0&&n>0)return!1}return!(r>0&&n>0)&&n==e.length}(r,n)}},{key:"caluclatePNGOfSVG",value:function caluclatePNGOfSVG(e){g.ZP.startSpanOfApm("PlannerHandler2D caluclatePNGOfSVG"),document.createElement("canvas").id="helperCanvasConverter";var t=new c.fabric.Canvas("helperCanvasConverter");t.backgroundColor="#fff",t.setWidth(g.ZP.UnitRecalc*e.getWidthOLT()),t.setHeight(g.ZP.UnitRecalc*e.getHeightOLT());var r=e.getSVGShapeOLT2D();t.add(r),r.bringToFront(),t.renderAll();var n=t.toDataURL({format:"jpeg",quality:1});e.SvgDataOLTBase64=n}},{key:"parseSvg",value:function parseSvg(e,t,r,n,a){var i=this;t=this.svgUtils.removeMaskFromSvg(t),F.Z.initDockingPointsFromSvg(e,this.svgUtils.getDPsInSVG(t),r,n);var o=this.svgUtils.removeOLFFromSvg(t),l=this.svgUtils.getPointOfPoligonById(t,"OLT");null!=l&&l.length||v.warn("no olt fount in svg for element"+e.ArticleCodex+" with id "+e.getElementId()),e.OLTPolygon=l;var s=this.svgUtils.getPointOfPoligonById(t,"OLF");if(null!=s&&s.length){var u=this.svgUtils.getBoundingBoxOfPoints(s),m=u.width,h=u.height;e.setupOLF(s,m,h)}else null!=a&&a.heightOLF,null!=a&&a.widthOLF?e.setupOLF(s,null==a?void 0:a.widthOLF,null==a?void 0:a.heightOLF):e.clearOLF();if("undefined"!=typeof window)return new Promise((function(r,n){c.fabric.loadSVGFromString(t,(function(n,a){e.cleanShapeOLF2D();for(var l=[],s=0,u=0,m=0,h=0,p=0;p<n.length;p++){var d=n[p];if(d.setCoords(),d.id)switch(d.id.toString().substring(0,3)){case"OLF":d.stroke="none";break;case"OLT":d.stroke="none",s=d.top,u=d.left,m=d.width,h=d.height}l.push(d)}var f=c.fabric.util.groupSVGElements(l,a);f.set({originX:"left",originY:"top",lockRotation:!0,hasRotatingPoint:!0,lockUniScaling:!0,lockScalingX:!0,lockScalingY:!0,scaleX:1,scaleY:1,left:0,top:0}),e.DoSetWidthFromSVG&&f.width&&(e.WidthFromSVG=f.width/g.ZP.UnitRecalc),e.DoSetDepthFromSVG&&f.height&&(e.DepthFromSVG=f.height/g.ZP.UnitRecalc),e.SvgShapeOLF2D=f,e.OLTDepth=h,e.OLTWidth=m,e.OLTTop=s,e.OLTLeft=u,e.SvgData=t,c.fabric.loadSVGFromString(o,(function(t,a){e.cleanShapeOLT2D();for(var o=0;o<n.length;o++){var l=n[o];l.id&&l.id.toString().startsWith("OLT")&&(a.height=l.height,a.width=l.width)}var s=c.fabric.util.groupSVGElements(t,a);s.set({originX:"left",originY:"top",lockRotation:!0,hasRotatingPoint:!0,lockUniScaling:!0,lockScalingX:!0,lockScalingY:!0,scaleX:1,scaleY:1,left:0,top:0}),e.SvgShapeOLT2D=s,i.caluclatePNGOfSVG(e),r()}))}))}))}},{key:"getMinBorderSVG",value:function getMinBorderSVG(e){return"undefined"==typeof window?{svgMinXVal:0,svgMinYVal:0}:new Promise((function(t,r){var n=Number.POSITIVE_INFINITY,a=Number.POSITIVE_INFINITY;c.fabric.loadSVGFromString(e,(function(e,r){for(var i,o=0;o<e.length;o++){var l=e[o];l.id&&(i=l.id.toString()),null!=i&&i.startsWith("AV")||(n>l.left&&(n=l.left),a>l.top&&(a=l.top))}t({svgMinXVal:n,svgMinYVal:a})}))}))}},{key:"loadSVG",value:(e=(0,n.Z)(s().mark((function _callee(e,t){var r,n,a,i,o,l,u,c,m,h=this;return s().wrap((function _callee$(s){for(;;)switch(s.prev=s.next){case 0:if(r=e.SvgFileName){s.next=3;break}return s.abrupt("return",!1);case 3:if(!t.CatalogData.isIDMFormat){s.next=9;break}return s.next=6,t.api.fetchData(r,{method:"GET",config:{},data:{}});case 6:n=s.sent,s.next=16;break;case 9:return s.next=11,t.api.getDataCache(this.getSVGUrl(r,t.CatalogData.mediaUrl),void 0,t.CatalogData.accountSessionGuid);case 11:if(!(i=s.sent).Error){s.next=14;break}throw new Error(i.Error);case 14:"success"==i.Result.toLowerCase()&&(a=i.Content),n=g.ZP.decodeBase64(a);case 16:if(n||v.error(new g.GE("Fehler beim laden des SVGs ",{code:"WC_0009",custom:{svgFile:r}})),e.svgBefore=n,o=e.Width,-1===(l=e.Depth)&&-1!==e.Height&&(l=e.Height),!(null!=o&&o>0&&null!=l&&l>0)){s.next=33;break}return s.next=24,this.getMinBorderSVG(n);case 24:return c=s.sent,m="",s.next=28,new Promise((function(e,r){u=h.svgUtils.ccCheckStretchAreas(n,o,l,t.CatalogData.useGlobalSVGScale,c.svgMinXVal,c.svgMinYVal,(function(t){m=t,e()}))}));case 28:return e.svgAfter=m,s.next=31,this.parseSvg(e,m,c,t.CatalogData.getPlannerConfig(),u);case 31:s.next=36;break;case 33:return e.svgAfter=n,s.next=36,this.parseSvg(e,n,{svgMinXVal:0,svgMinYVal:0},t.CatalogData.getPlannerConfig());case 36:return s.abrupt("return",!0);case 37:case"end":return s.stop()}}),_callee,this)}))),function loadSVG(t,r){return e.apply(this,arguments)})},{key:"getSVGUrl",value:function getSVGUrl(e,t){var r=t+"pln_"+e,n=r.indexOf("/files/");return r=r.substring(n),"function=GetFileAsString&fileUrl="+encodeURIComponent(r)}}]);var e}())},95126:()=>{},95678:()=>{},18265:()=>{}}]);
|