{"version":3,"sources":["webpack:////src/pages/Simulator/index.vue?1f68","webpack:///(webpack)/buildin/amd-options.js","webpack:////src/pages/Simulator/index.vue","webpack:////src/pages/Simulator/js/methods.js","webpack:////src/pages/Simulator/js/computed.js","webpack:////node_modules/vue-multipane/dist/vue-multipane.esm.js","webpack:///src/pages/Simulator/index.vue","webpack:////src/pages/Simulator/index.vue?007b","webpack:////src/pages/Simulator/index.vue?bebc","webpack:////node_modules/js-md5/src/md5.js"],"names":["module","exports","__webpack_amd_options__","render","_vm","this","_c","_self","staticClass","attrs","loading","class","_e","showMiniCanvas","mode","zoomAction","configKonva","on","ZOOM","token","width","dimensions","height","fill","cell","id","mouseDownEvent","MudarTamanhoDesenho","FimDesenho","_l","grid","item","indice","key","_objectSpread","visible","gridVisible","handleDrag","triangleGeometry","geometry","draggable","currentGeometry","x","y","geometricFill","properties","image","fillPatternImage","fillPatternRepeat","fillPatternScale","relationship","handleTransform","handleTransformStart","mouseDownTransformEvent","$event","setSelectedTokenAction","circleGeometry","blockGeometry","SourcesList","source","FluxList","flux","viewMode","transmittance_normal_flux","center","ref","staticRenderFns","methods","geometryBordered","objeto","content","stroke","Object","assign","mapActions","event","transformerNode","$refs","transformer","getNode","stage","getStage","updateTransformer","stopDrag","InicioDesenho","setKonvaStageAction","addSource","Transformer","e","currentStart","target","size","scaleX","console","log","rotation","shape","setCurrentGeometrySizeWidth","setCurrentGeometrySizeHeight","scaleY","setCurrentGeometryRadius","radius","setCurrentGeometryRotation","parseFloat","toFixed","setCurrentGeometryPosX","Number","currentTarget","setCurrentGeometryPosY","arguments","length","undefined","pos","getPointerPosition","md5","hex","Date","now","toString","oldScale","PosicaoInicial","name","className","fluxData","type","fcen","nfreq","df","run_norm","z","transmittance_flux","reflected_flux","newSource","frequency","waveLength","fwidth","integrated","waveWidth","component","waveSize","sourceType","posX","posY","dragBoundFunc","children","currentScale","VueComponent","$store","getters","posicaoX","absolutePosition","posicaoY","FluxListAppend","SourcesListAppend","drawing","pointer","setCurrentGeometryAction","GeometryList","color","epsilon","materialId","concat","elements","geometricFillPattern","closed","points","sides","setDrawingStatusAction","GeometryListAppendAction","CurrentElement","posicaoInicialX","posicaoInicialY","posicalMouseX","posicalMouseY","AtualGeometry","DinamicPos","selectedShapeName","clickedOnTransformer","getParent","_this","selectedNode","findOne","node","getAttr","selectedToken","attachTo","rotateEnabled","window","addEventListener","GeometryListRemove","detach","getLayer","batchDraw","mapGetters","LAYOUT_HORIZONTAL","LAYOUT_VERTICAL","__vue_module__","props","layout","String","default","data","isResizing","computed","classnames","slice","cursor","userSelect","onMouseDown","t","i","pageX","n","pageY","match","s","o","$el","a","u","previousElementSibling","r","offsetWidth","l","offsetHeight","d","style","c","p","removeEventListener","m","clientWidth","clientHeight","_","$emit","h","f","document","head","getElementsByTagName","createElement","styleSheet","cssText","appendChild","createTextNode","__$__vue_module__","$createElement","mousedown","_t","prototype","MultipaneResizer","Vue","components","Loading","NavbarDrawing","SideNavSimulator","RightNavSimulator","LoadingModal","PreviewSimulationModal","multipane","Multipane","watch","filter","val","updateState","beforeDestroy","keyPressAction","keySolveAction","created","_created","_asyncToGenerator","_regeneratorRuntime","mark","_callee","wrap","_context","prev","next","stop","apply","mounted","_mounted","_callee2","_context2","init","setPageInfo","_document$querySelect","title","querySelector","setAttribute","blockReload","onbeforeunload","_init","_callee3","_context3","api","get","$route","params","then","response","setState","err","Swal","fire","text","message","setInterval","geometryFrom","listaDeTodasAsGeometrias","geometryInsideVerify","constructGrid","push","strokeWidth","ERROR","WINDOW","root","JS_MD5_NO_WINDOW","WEB_WORKER","self","NODE_JS","JS_MD5_NO_NODE_JS","process","versions","global","COMMON_JS","JS_MD5_NO_COMMON_JS","AMD","ARRAY_BUFFER","JS_MD5_NO_ARRAY_BUFFER","ArrayBuffer","HEX_CHARS","split","EXTRA","SHIFT","OUTPUT_TYPES","BASE64_ENCODE_CHAR","blocks","buffer8","buffer","Uint8Array","Uint32Array","Array","isArray","obj","call","JS_MD5_NO_ARRAY_BUFFER_IS_VIEW","isView","constructor","createOutputMethod","outputType","Md5","update","createMethod","method","nodeWrap","create","crypto","eval","Buffer","nodeMethod","createHash","digest","sharedMemory","h0","h1","h2","h3","start","bytes","hBytes","finalized","hashed","first","notString","code","index","charCodeAt","lastByteIndex","hash","finalize","b","bc","da","array","arrayBuffer","base64","v1","v2","v3","base64Str"],"mappings":"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","file":"js/chunk-c8392788.40c34be7.js","sourcesContent":["export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&id=24624326&prod&lang=scss\"","/* globals __webpack_amd_options__ */\nmodule.exports = __webpack_amd_options__;\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',{staticClass:\"fill-height\"},[_c('Loading',{attrs:{\"image\":2,\"loading\":_vm.loading}}),_c('div',{staticClass:\"Drawing\",class:_vm.loading ? 'fill-height' : 'simulator-container',attrs:{\"id\":\"Drawing\"}},[(1 < 1)?_c('MobileAlert'):_vm._e(),(!_vm.loading)?_c('NavbarDrawing'):_vm._e(),(!_vm.loading)?_c('multipane',{staticClass:\"resizer-content\",attrs:{\"layout\":\"vertical\"}},[_c('div',{staticClass:\"multipane-content\"},[_c('SideNavSimulator')],1),_c('multipane-resizer'),_c('div',{staticClass:\"multipane-content center\"},[_c('div',{staticClass:\"container-canvas\"},[(!_vm.showMiniCanvas)?_c('v-stage',{class:_vm.mode + ' ' + _vm.zoomAction,attrs:{\"config\":_vm.configKonva},on:{\"wheel\":_vm.ZOOM}},[_c('v-layer',[_c('v-rect',{attrs:{\"config\":{\n token: 'main',\n width: _vm.dimensions.width,\n height: _vm.dimensions.height,\n fill: _vm.cell.fill,\n id: 'mainRect'\n }},on:{\"mousedown\":_vm.mouseDownEvent,\"mousemove\":_vm.MudarTamanhoDesenho,\"mouseup\":_vm.FimDesenho}}),_vm._l((_vm.grid),function(item,indice){return _c('v-rect',{key:indice,attrs:{\"config\":{ ...item, visible: _vm.gridVisible }},on:{\"mousedown\":_vm.mouseDownEvent,\"dragmove\":_vm.handleDrag,\"mousemove\":_vm.MudarTamanhoDesenho,\"mouseup\":_vm.FimDesenho}})}),_vm._l((_vm.triangleGeometry),function(geometry){return _c('v-regular-polygon',{key:geometry.token,attrs:{\"config\":{\n ...geometry,\n draggable:\n _vm.currentGeometry.x + _vm.currentGeometry.width >=\n _vm.dimensions.width || _vm.currentGeometry.x <= 0\n ? false\n : _vm.currentGeometry.y + _vm.currentGeometry.height >=\n _vm.dimensions.height || _vm.currentGeometry.y <= 0\n ? false\n : _vm.mode === 'transform' && _vm.mode !== 'handle'\n ? true\n : false,\n fill:\n geometry.geometricFill.properties.image == ''\n ? geometry.fill\n : '',\n fillPatternImage: geometry.geometricFill.properties.image,\n fillPatternRepeat: 'repeat',\n fillPatternScale: {\n x:\n (geometry.geometricFill.properties.width /\n _vm.dimensions.relationship.x) *\n 1.5,\n y:\n (geometry.geometricFill.properties.height /\n _vm.dimensions.relationship.y) *\n 1.5\n }\n }},on:{\"transform\":_vm.handleTransform,\"transformstart\":_vm.handleTransformStart,\"dragmove\":_vm.handleDrag,\"mousedown\":_vm.mouseDownTransformEvent,\"click\":function($event){return _vm.setSelectedTokenAction(geometry.token)}}})}),_vm._l((_vm.circleGeometry),function(geometry){return _c('v-circle',{key:geometry.token,attrs:{\"config\":{\n ...geometry,\n draggable:\n _vm.currentGeometry.x + _vm.currentGeometry.width >=\n _vm.dimensions.width || _vm.currentGeometry.x <= 0\n ? false\n : _vm.currentGeometry.y + _vm.currentGeometry.height >=\n _vm.dimensions.height || _vm.currentGeometry.y <= 0\n ? false\n : _vm.mode === 'transform' && _vm.mode !== 'handle'\n ? true\n : false,\n fill:\n geometry.geometricFill.properties.image == ''\n ? geometry.fill\n : '',\n fillPatternImage: geometry.geometricFill.properties.image,\n fillPatternRepeat: 'repeat',\n fillPatternScale: {\n x:\n (geometry.geometricFill.properties.width /\n _vm.dimensions.relationship.x) *\n 1.5,\n y:\n (geometry.geometricFill.properties.height /\n _vm.dimensions.relationship.y) *\n 1.5\n }\n }},on:{\"transform\":_vm.handleTransform,\"transformstart\":_vm.handleTransformStart,\"dragmove\":_vm.handleDrag,\"mousedown\":_vm.mouseDownTransformEvent,\"click\":function($event){return _vm.setSelectedTokenAction(geometry.token)}}})}),_vm._l((_vm.blockGeometry),function(geometry){return _c('v-rect',{key:geometry.token,attrs:{\"config\":{\n ...geometry,\n draggable:\n _vm.currentGeometry.x + _vm.currentGeometry.width >=\n _vm.dimensions.width || _vm.currentGeometry.x <= 0\n ? false\n : _vm.currentGeometry.y + _vm.currentGeometry.height >=\n _vm.dimensions.height || _vm.currentGeometry.y <= 0\n ? false\n : _vm.mode === 'transform' && _vm.mode !== 'handle'\n ? true\n : false,\n fill:\n geometry.geometricFill.properties.image == ''\n ? geometry.fill\n : '',\n fillPatternImage: geometry.geometricFill.properties.image,\n fillPatternRepeat: 'repeat',\n fillPatternScale: {\n x:\n (geometry.geometricFill.properties.width /\n _vm.dimensions.relationship.x) *\n 1.5,\n y:\n (geometry.geometricFill.properties.height /\n _vm.dimensions.relationship.y) *\n 1.5\n }\n }},on:{\"transform\":_vm.handleTransform,\"transformstart\":_vm.handleTransformStart,\"dragmove\":_vm.handleDrag,\"mousedown\":_vm.mouseDownTransformEvent,\"click\":function($event){return _vm.setSelectedTokenAction(geometry.token)}}})}),_vm._l((_vm.SourcesList),function(source){return _c('v-circle',{key:source.token,attrs:{\"config\":{\n ...source,\n draggable:\n _vm.currentGeometry.x + _vm.currentGeometry.width >\n _vm.dimensions.width || _vm.currentGeometry.x <= 0\n ? false\n : _vm.currentGeometry.y + _vm.currentGeometry.height >=\n _vm.dimensions.height || _vm.currentGeometry.y <= 0\n ? false\n : _vm.mode === 'transform' && _vm.mode !== 'handle'\n ? true\n : false\n }},on:{\"transform\":_vm.handleTransform,\"transformstart\":_vm.handleTransformStart,\"dragmove\":_vm.handleDrag,\"mousedown\":_vm.mouseDownTransformEvent}})}),_vm._l((_vm.FluxList),function(flux){return _c('v-circle',{key:flux.token,attrs:{\"config\":{\n ...flux,\n visible: _vm.viewMode === 'flux' ? true : false,\n draggable:\n _vm.currentGeometry.x + _vm.currentGeometry.width >\n _vm.dimensions.width || _vm.currentGeometry.x <= 0\n ? false\n : _vm.currentGeometry.y + _vm.currentGeometry.height >=\n _vm.dimensions.height || _vm.currentGeometry.y <= 0\n ? false\n : _vm.mode === 'transform' && _vm.mode !== 'handle'\n ? true\n : false\n }},on:{\"transform\":_vm.handleTransform,\"transformstart\":_vm.handleTransformStart,\"dragmove\":_vm.handleDrag,\"mousedown\":_vm.mouseDownTransformEvent}})}),_vm._l((_vm.FluxList),function(flux){return _c('v-circle',{key:flux.token,attrs:{\"config\":{\n ...flux,\n ...flux.transmittance_normal_flux.center,\n width: 3,\n height: 3,\n fill: '#FF00FF',\n visible: _vm.viewMode === 'flux' ? true : false,\n draggable:\n _vm.currentGeometry.x + _vm.currentGeometry.width >\n _vm.dimensions.width || _vm.currentGeometry.x <= 0\n ? false\n : _vm.currentGeometry.y + _vm.currentGeometry.height >=\n _vm.dimensions.height || _vm.currentGeometry.y <= 0\n ? false\n : _vm.mode === 'transform' && _vm.mode !== 'handle'\n ? true\n : false\n }},on:{\"transform\":_vm.handleTransform,\"transformstart\":_vm.handleTransformStart,\"dragmove\":_vm.handleDrag,\"mousedown\":_vm.mouseDownTransformEvent}})}),_vm._l((_vm.FluxList),function(flux){return _c('v-circle',{key:flux.token,attrs:{\"config\":{\n ...flux,\n ...flux.transmittance_normal_flux.center,\n fill: '#00FF00',\n visible: _vm.viewMode === 'flux' ? true : false,\n draggable:\n _vm.currentGeometry.x + _vm.currentGeometry.width >\n _vm.dimensions.width || _vm.currentGeometry.x <= 0\n ? false\n : _vm.currentGeometry.y + _vm.currentGeometry.height >=\n _vm.dimensions.height || _vm.currentGeometry.y <= 0\n ? false\n : _vm.mode === 'transform' && _vm.mode !== 'handle'\n ? true\n : false\n }},on:{\"transform\":_vm.handleTransform,\"transformstart\":_vm.handleTransformStart,\"dragmove\":_vm.handleDrag,\"mousedown\":_vm.mouseDownTransformEvent}})}),_c('v-transformer',{ref:\"transformer\",attrs:{\"id\":\"transformer\"}})],2)],1):_vm._e()],1)]),_c('div',{staticClass:\"multipane-content right\"},[_c('RightNavSimulator')],1)],1):_vm._e(),_c('LoadingModal'),_c('PreviewSimulationModal')],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import md5 from \"js-md5\";\r\nimport { mapActions } from \"vuex\";\r\n\r\nconst methods = {\r\n geometryBordered: function (objeto) {\r\n const content = {\r\n stroke: \"#3eb772\",\r\n };\r\n return Object.assign(content, objeto);\r\n },\r\n ...mapActions(\"simulator\", [\r\n \"GeometryListAppendAction\",\r\n \"setGeometryList\",\r\n \"updateState\",\r\n \"setDrawingStatusAction\",\r\n \"setKonvaStageAction\",\r\n \"setState\",\r\n \"setSelectedTokenAction\",\r\n \"setCurrentGeometryAction\",\r\n \"ZOOM\",\r\n \"keyPressAction\",\r\n \"keySolveAction\",\r\n \"GeometryListRemove\",\r\n \"setCurrentGeometryData\",\r\n \"setCurrentGeometrySizeWidth\",\r\n \"setCurrentGeometrySizeHeight\",\r\n \"setCurrentGeometryRadius\",\r\n \"SourcesListAppend\",\r\n \"setCurrentGeometryPosX\",\r\n \"setCurrentGeometryPosY\",\r\n \"FluxListAppend\",\r\n \"setCurrentGeometryRotation\"\r\n ]),\r\n mouseDownEvent: function (event) {\r\n if (this.mode === \"create\") {\r\n const transformerNode = this.$refs.transformer.getNode();\r\n const stage = transformerNode.getStage();\r\n this.setSelectedTokenAction(\"\");\r\n this.updateTransformer();\r\n stage.stopDrag();\r\n this.InicioDesenho(event);\r\n this.setKonvaStageAction(this.$refs.transformer.getNode().getStage());\r\n } else if (this.mode === \"sources\") {\r\n const transformerNode = this.$refs.transformer.getNode();\r\n const stage = transformerNode.getStage();\r\n this.setSelectedTokenAction(\"\");\r\n this.updateTransformer();\r\n stage.stopDrag();\r\n this.addSource(event);\r\n this.setKonvaStageAction(this.$refs.transformer.getNode().getStage());\r\n } else if (this.mode === \"flux\") {\r\n const transformerNode = this.$refs.transformer.getNode();\r\n const stage = transformerNode.getStage();\r\n this.setSelectedTokenAction(\"\");\r\n this.updateTransformer();\r\n stage.stopDrag();\r\n this.addSource(event, true);\r\n this.setKonvaStageAction(this.$refs.transformer.getNode().getStage());\r\n } else if (this.mode === \"zoom\") {\r\n this.ZOOM(event);\r\n } else if (this.mode === \"transform\") {\r\n this.setSelectedTokenAction(\"\");\r\n }\r\n },\r\n\r\n mouseDownTransformEvent: function (event) {\r\n if (this.mode === \"transform\") {\r\n this.Transformer(event);\r\n this.setKonvaStageAction(this.$refs.transformer.getNode().getStage());\r\n }\r\n },\r\n handleTransformStart: function (e) {\r\n this.currentStart = {\r\n width: e.target.size().width,\r\n scaleX: e.target.scaleX(),\r\n };\r\n },\r\n\r\n handleTransform: function (e) {\r\n console.log(e.target.attrs.rotation);\r\n if (e.target.attrs.shape == \"block\") {\r\n this.setCurrentGeometrySizeWidth(\r\n e.target.attrs.width * e.target.attrs.scaleX\r\n );\r\n this.setCurrentGeometrySizeHeight(\r\n e.target.attrs.height * e.target.attrs.scaleY\r\n );\r\n } else if (e.target.attrs.shape == \"sphere\") {\r\n this.setCurrentGeometryRadius(\r\n e.target.attrs.radius * e.target.attrs.scaleY\r\n );\r\n }\r\n if (e.target.attrs.rotation) this.setCurrentGeometryRotation(parseFloat(e.target.attrs.rotation.toFixed(3)));\r\n },\r\n handleDrag: function (e) {\r\n this.setCurrentGeometryPosX(Number(e.currentTarget.attrs.x.toFixed(2)));\r\n this.setCurrentGeometryPosY(Number(e.currentTarget.attrs.y.toFixed(2)));\r\n },\r\n addSource: function (event, flux = false) {\r\n const stage = event.target.getStage();\r\n const pos = stage.getPointerPosition();\r\n let token = md5.hex(Date.now().toString());\r\n var oldScale = event.target.getStage().scaleX();\r\n var PosicaoInicial = {\r\n x: (pos.x - event.target.getStage().x()) / oldScale,\r\n y: (pos.y - event.target.getStage().y()) / oldScale,\r\n };\r\n var name = \"Source \" + (this.SourcesList.length + 1);\r\n var fill = \"#FF0000\";\r\n var className = \"source\";\r\n var fluxData = {};\r\n if (flux) {\r\n name = \"Flux \" + (this.FluxList.length + 1);\r\n fill = \"#0000FF\";\r\n className = \"flux\";\r\n fluxData = {\r\n type: 'transmittance_spectrum',\r\n fcen: 0,\r\n nfreq: 0,\r\n df: 0,\r\n run_norm: 0,\r\n transmittance_normal_flux: {\r\n center: {\r\n x: PosicaoInicial.x,\r\n y: PosicaoInicial.y,\r\n z: 0,\r\n },\r\n size: {\r\n x: 0,\r\n y: 0,\r\n z: 0\r\n }\r\n },\r\n transmittance_flux: {\r\n center: {\r\n x: PosicaoInicial.x,\r\n y: PosicaoInicial.y,\r\n z: 0,\r\n },\r\n size: {\r\n x: 0,\r\n y: 0,\r\n z: 0\r\n }\r\n },\r\n reflected_flux: {\r\n center: {\r\n x: PosicaoInicial.x,\r\n y: PosicaoInicial.y,\r\n z: 0,\r\n },\r\n size: {\r\n x: 0,\r\n y: 0,\r\n z: 0\r\n }\r\n }\r\n }\r\n }\r\n\r\n var newSource = {\r\n ...fluxData,\r\n width: 5,\r\n height: 5,\r\n radius: 10,\r\n token,\r\n frequency: 0,\r\n waveLength: 0,\r\n fwidth: 0,\r\n integrated: 0,\r\n waveWidth: 0,\r\n component: \"Ez\",\r\n waveSize: [0, 0],\r\n name,\r\n fill,\r\n sourceType: \"continuous\",\r\n class: className,\r\n shape: \"sphere\",\r\n x: PosicaoInicial.x,\r\n y: PosicaoInicial.y,\r\n posX: PosicaoInicial.x,\r\n posY: PosicaoInicial.y,\r\n dragBoundFunc: function (pos) {\r\n const content = event.target.getStage().children[0].children[0];\r\n const currentScale = this.VueComponent.$store.getters[\r\n \"simulator/getCurrentScale\"\r\n ];\r\n var posicaoX =\r\n pos.x <= content.absolutePosition().x ||\r\n pos.x >=\r\n content.size().width * currentScale +\r\n content.absolutePosition().x -\r\n this.size().width * currentScale\r\n ? this.absolutePosition().x\r\n : pos.x;\r\n\r\n var posicaoY =\r\n pos.y <= content.absolutePosition().y ||\r\n pos.y >=\r\n content.absolutePosition().y +\r\n content.size().height * currentScale -\r\n this.size().height * currentScale\r\n ? this.absolutePosition().y\r\n : pos.y;\r\n\r\n return {\r\n x: posicaoX,\r\n y: posicaoY,\r\n };\r\n },\r\n };\r\n if (flux) {\r\n this.FluxListAppend(newSource);\r\n } else {\r\n this.SourcesListAppend(newSource);\r\n }\r\n },\r\n InicioDesenho: function (event) {\r\n if (this.mode != \"create\") return false;\r\n if (this.drawing) return false;\r\n let token = md5.hex(Date.now().toString());\r\n var oldScale = event.target.getStage().scaleX();\r\n var pointer = event.target.getStage().getPointerPosition();\r\n\r\n var PosicaoInicial = {\r\n x: (pointer.x - event.target.getStage().x()) / oldScale,\r\n y: (pointer.y - event.target.getStage().y()) / oldScale,\r\n };\r\n\r\n\r\n this.setCurrentGeometryAction({\r\n name: this.shape + \" \" + (this.GeometryList.length + 1),\r\n token: token,\r\n x: PosicaoInicial.x,\r\n y: PosicaoInicial.y,\r\n fill: this.color,\r\n shape: this.shape,\r\n epsilon: 12,\r\n class: \"geometry\",\r\n width: 0,\r\n height: 0,\r\n materialId: 0,\r\n radius: 0,\r\n rotation: 0,\r\n scaleX: 1,\r\n scaleY: 1,\r\n geometricFill: {\r\n properties: {\r\n name: `Default ${this.shape + \" \" + (this.GeometryList.length + 1)}`,\r\n width: 1,\r\n height: 1,\r\n image: ''\r\n },\r\n elements: []\r\n },\r\n geometricFillPattern: []\r\n });\r\n\r\n if (this.shape == \"triangle\") {\r\n this.currentGeometry.closed = true;\r\n this.currentGeometry.points = [0, 0, 0, 0, 0];\r\n this.currentGeometry.sides = 3;\r\n this.currentGeometry.visible = true;\r\n }\r\n\r\n this.setDrawingStatusAction(true);\r\n this.GeometryListAppendAction(this.currentGeometry);\r\n },\r\n MudarTamanhoDesenho: function (event) {\r\n if (!this.drawing) return false;\r\n\r\n var CurrentElement = this.GeometryList.length - 1;\r\n let posicaoInicialX = this.GeometryList[CurrentElement].x;\r\n let posicaoInicialY = this.GeometryList[CurrentElement].y;\r\n\r\n var oldScale = event.target.getStage().scaleX();\r\n var pointer = event.target.getStage().getPointerPosition();\r\n\r\n let posicalMouseX = (pointer.x - event.target.getStage().x()) / oldScale;\r\n let posicalMouseY = (pointer.y - event.target.getStage().y()) / oldScale;\r\n\r\n let shape = this.GeometryList[CurrentElement].shape;\r\n var AtualGeometry = this.GeometryList[CurrentElement];\r\n\r\n let DinamicPos = {\r\n height: posicalMouseY - posicaoInicialY,\r\n width: posicalMouseX - posicaoInicialX,\r\n };\r\n\r\n if (shape == \"triangle\") {\r\n AtualGeometry.points[3] = DinamicPos.height;\r\n AtualGeometry.points[4] = DinamicPos.width;\r\n AtualGeometry.points[5] = DinamicPos.height;\r\n }\r\n\r\n if (shape == \"sphere\") {\r\n AtualGeometry.radius = DinamicPos.width < 0 ? 1 : DinamicPos.width;\r\n AtualGeometry.height = DinamicPos.height < 0 ? 1 : DinamicPos.height;\r\n AtualGeometry.width = DinamicPos.width < 0 ? 1 : DinamicPos.width;\r\n } else {\r\n AtualGeometry.radius = DinamicPos.width;\r\n AtualGeometry.height = DinamicPos.height;\r\n AtualGeometry.width = DinamicPos.width;\r\n }\r\n },\r\n FimDesenho: function () {\r\n this.setDrawingStatusAction(false);\r\n if (this.mode !== \"transform\") {\r\n // this.setSelectedTokenAction(\r\n // this.GeometryList[this.GeometryList.length - 1].Geometry.token\r\n // );\r\n }\r\n this.setKonvaStageAction(this.$refs.transformer.getNode().getStage());\r\n },\r\n Transformer: function (e) {\r\n if (e.target === e.target.getStage() || e.target.attrs.token == \"main\") {\r\n this.selectedShapeName = \"\";\r\n this.updateTransformer();\r\n return;\r\n }\r\n\r\n const clickedOnTransformer =\r\n e.target.getParent().className === \"Transformer\";\r\n if (clickedOnTransformer) {\r\n return;\r\n }\r\n\r\n const token = e.target.attrs.token;\r\n if (token != \"\") {\r\n this.setSelectedTokenAction(token);\r\n } else {\r\n this.setSelectedTokenAction(\"\");\r\n }\r\n this.updateTransformer();\r\n },\r\n updateTransformer: function () {\r\n const transformerNode = this.$refs.transformer.getNode();\r\n const stage = transformerNode.getStage();\r\n var selectedNode = stage.findOne((node) => {\r\n return node.getAttr(\"token\") === this.selectedToken;\r\n });\r\n\r\n if (selectedNode === transformerNode.node()) {\r\n return;\r\n }\r\n\r\n if (selectedNode) {\r\n transformerNode.attachTo(selectedNode);\r\n transformerNode.rotateEnabled(true);\r\n\r\n if (selectedNode.x() > 600) {\r\n selectedNode.draggable(false);\r\n } else {\r\n selectedNode.draggable(true);\r\n }\r\n\r\n window.addEventListener(\"keydown\", (e) => {\r\n if (e.key == \"Delete\") {\r\n this.GeometryListRemove(this.selectedToken);\r\n this.updateTransformer();\r\n }\r\n });\r\n } else {\r\n transformerNode.detach();\r\n }\r\n this.updateTransformer();\r\n\r\n transformerNode.getLayer().batchDraw();\r\n }\r\n};\r\nexport default methods;","import { mapGetters } from \"vuex\";\r\nexport default {\r\n ...mapGetters(\"simulator\", [\r\n \"getCurrentScale\",\r\n \"GeometryList\",\r\n \"drawing\",\r\n \"configKonva\",\r\n \"currentGeometry\",\r\n \"mode\",\r\n \"zoomAction\",\r\n \"currentScale\",\r\n \"shape\",\r\n \"color\",\r\n \"gridVisible\",\r\n \"geometryData\",\r\n \"selectedToken\",\r\n \"SourcesList\",\r\n \"viewMode\",\r\n \"cell\",\r\n \"dimensions\",\r\n \"scene_simulation\",\r\n \"view_simulation\",\r\n \"FluxList\",\r\n \"showMiniCanvas\"\r\n ]),\r\n}","var LAYOUT_HORIZONTAL=\"horizontal\",LAYOUT_VERTICAL=\"vertical\",__vue_module__={name:\"multipane\",props:{layout:{type:String,default:LAYOUT_VERTICAL}},data:function(){return{isResizing:!1}},computed:{classnames:function(){return[\"multipane\",\"layout-\"+this.layout.slice(0,1),this.isResizing?\"is-resizing\":\"\"]},cursor:function(){return this.isResizing?this.layout==LAYOUT_VERTICAL?\"col-resize\":\"row-resize\":\"\"},userSelect:function(){return this.isResizing?\"none\":\"\"}},methods:{onMouseDown:function(e){var t=e.target,i=e.pageX,n=e.pageY;if(t.className&&t.className.match(\"multipane-resizer\")){var s=this,o=s.$el,a=s.layout,u=t.previousElementSibling,r=u.offsetWidth,l=u.offsetHeight,d=!!(u.style.width+\"\").match(\"%\"),c=window.addEventListener,p=window.removeEventListener,m=function(e,t){if(void 0===t&&(t=0),a==LAYOUT_VERTICAL){var i=o.clientWidth,n=e+t;return u.style.width=d?n/i*100+\"%\":n+\"px\"}if(a==LAYOUT_HORIZONTAL){var s=o.clientHeight,r=e+t;return u.style.height=d?r/s*100+\"%\":r+\"px\"}};s.isResizing=!0;var _=m();s.$emit(\"paneResizeStart\",u,t,_);var h=function(e){var o=e.pageX,d=e.pageY;_=a==LAYOUT_VERTICAL?m(r,o-i):m(l,d-n),s.$emit(\"paneResize\",u,t,_)},f=function(){_=m(a==LAYOUT_VERTICAL?u.clientWidth:u.clientHeight),s.isResizing=!1,p(\"mousemove\",h),p(\"mouseup\",f),s.$emit(\"paneResizeStop\",u,t,_)};c(\"mousemove\",h),c(\"mouseup\",f)}}}};!function(){if(\"undefined\"!=typeof document){var e=document.head||document.getElementsByTagName(\"head\")[0],t=document.createElement(\"style\"),i=\".multipane { display: flex; } .multipane.layout-h { flex-direction: column; } .multipane.layout-v { flex-direction: row; } .multipane > div { position: relative; z-index: 1; } .multipane-resizer { display: block; position: relative; z-index: 2; } .layout-h > .multipane-resizer { width: 100%; height: 10px; margin-top: -10px; top: 5px; cursor: row-resize; } .layout-v > .multipane-resizer { width: 10px; height: 100%; margin-left: -10px; left: 5px; cursor: col-resize; } \";t.type=\"text/css\",t.styleSheet?t.styleSheet.cssText=i:t.appendChild(document.createTextNode(i)),e.appendChild(t)}}();var __$__vue_module__=Object.assign(__vue_module__,{render:function(){var e=this,t=e.$createElement;return(e._self._c||t)(\"div\",{class:e.classnames,style:{cursor:e.cursor,userSelect:e.userSelect},on:{mousedown:e.onMouseDown}},[e._t(\"default\")],2)},staticRenderFns:[]});__$__vue_module__.prototype=__vue_module__.prototype,function(){if(\"undefined\"!=typeof document){var e=document.head||document.getElementsByTagName(\"head\")[0],t=document.createElement(\"style\");t.type=\"text/css\",t.styleSheet?t.styleSheet.cssText=\"\":t.appendChild(document.createTextNode(\"\")),e.appendChild(t)}}();var MultipaneResizer={render:function(){var e=this,t=e.$createElement;return(e._self._c||t)(\"div\",{staticClass:\"multipane-resizer\"},[e._t(\"default\")],2)},staticRenderFns:[]};\"undefined\"!=typeof window&&window.Vue&&(window.Vue.component(\"multipane\",__$__vue_module__),window.Vue.component(\"multipane-resizer\",MultipaneResizer));export{__$__vue_module__ as Multipane,MultipaneResizer};\n","\r\n\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=24624326\"\nimport script from \"./index.vue?vue&type=script&lang=js\"\nexport * from \"./index.vue?vue&type=script&lang=js\"\nimport style0 from \"./index.vue?vue&type=style&index=0&id=24624326&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","/**\n * [js-md5]{@link https://github.com/emn178/js-md5}\n *\n * @namespace md5\n * @version 0.7.3\n * @author Chen, Yi-Cyuan [emn178@gmail.com]\n * @copyright Chen, Yi-Cyuan 2014-2017\n * @license MIT\n */\n(function () {\n 'use strict';\n\n var ERROR = 'input is invalid type';\n var WINDOW = typeof window === 'object';\n var root = WINDOW ? window : {};\n if (root.JS_MD5_NO_WINDOW) {\n WINDOW = false;\n }\n var WEB_WORKER = !WINDOW && typeof self === 'object';\n var NODE_JS = !root.JS_MD5_NO_NODE_JS && typeof process === 'object' && process.versions && process.versions.node;\n if (NODE_JS) {\n root = global;\n } else if (WEB_WORKER) {\n root = self;\n }\n var COMMON_JS = !root.JS_MD5_NO_COMMON_JS && typeof module === 'object' && module.exports;\n var AMD = typeof define === 'function' && define.amd;\n var ARRAY_BUFFER = !root.JS_MD5_NO_ARRAY_BUFFER && typeof ArrayBuffer !== 'undefined';\n var HEX_CHARS = '0123456789abcdef'.split('');\n var EXTRA = [128, 32768, 8388608, -2147483648];\n var SHIFT = [0, 8, 16, 24];\n var OUTPUT_TYPES = ['hex', 'array', 'digest', 'buffer', 'arrayBuffer', 'base64'];\n var BASE64_ENCODE_CHAR = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'.split('');\n\n var blocks = [], buffer8;\n if (ARRAY_BUFFER) {\n var buffer = new ArrayBuffer(68);\n buffer8 = new Uint8Array(buffer);\n blocks = new Uint32Array(buffer);\n }\n\n if (root.JS_MD5_NO_NODE_JS || !Array.isArray) {\n Array.isArray = function (obj) {\n return Object.prototype.toString.call(obj) === '[object Array]';\n };\n }\n\n if (ARRAY_BUFFER && (root.JS_MD5_NO_ARRAY_BUFFER_IS_VIEW || !ArrayBuffer.isView)) {\n ArrayBuffer.isView = function (obj) {\n return typeof obj === 'object' && obj.buffer && obj.buffer.constructor === ArrayBuffer;\n };\n }\n\n /**\n * @method hex\n * @memberof md5\n * @description Output hash as hex string\n * @param {String|Array|Uint8Array|ArrayBuffer} message message to hash\n * @returns {String} Hex string\n * @example\n * md5.hex('The quick brown fox jumps over the lazy dog');\n * // equal to\n * md5('The quick brown fox jumps over the lazy dog');\n */\n /**\n * @method digest\n * @memberof md5\n * @description Output hash as bytes array\n * @param {String|Array|Uint8Array|ArrayBuffer} message message to hash\n * @returns {Array} Bytes array\n * @example\n * md5.digest('The quick brown fox jumps over the lazy dog');\n */\n /**\n * @method array\n * @memberof md5\n * @description Output hash as bytes array\n * @param {String|Array|Uint8Array|ArrayBuffer} message message to hash\n * @returns {Array} Bytes array\n * @example\n * md5.array('The quick brown fox jumps over the lazy dog');\n */\n /**\n * @method arrayBuffer\n * @memberof md5\n * @description Output hash as ArrayBuffer\n * @param {String|Array|Uint8Array|ArrayBuffer} message message to hash\n * @returns {ArrayBuffer} ArrayBuffer\n * @example\n * md5.arrayBuffer('The quick brown fox jumps over the lazy dog');\n */\n /**\n * @method buffer\n * @deprecated This maybe confuse with Buffer in node.js. Please use arrayBuffer instead.\n * @memberof md5\n * @description Output hash as ArrayBuffer\n * @param {String|Array|Uint8Array|ArrayBuffer} message message to hash\n * @returns {ArrayBuffer} ArrayBuffer\n * @example\n * md5.buffer('The quick brown fox jumps over the lazy dog');\n */\n /**\n * @method base64\n * @memberof md5\n * @description Output hash as base64 string\n * @param {String|Array|Uint8Array|ArrayBuffer} message message to hash\n * @returns {String} base64 string\n * @example\n * md5.base64('The quick brown fox jumps over the lazy dog');\n */\n var createOutputMethod = function (outputType) {\n return function (message) {\n return new Md5(true).update(message)[outputType]();\n };\n };\n\n /**\n * @method create\n * @memberof md5\n * @description Create Md5 object\n * @returns {Md5} Md5 object.\n * @example\n * var hash = md5.create();\n */\n /**\n * @method update\n * @memberof md5\n * @description Create and update Md5 object\n * @param {String|Array|Uint8Array|ArrayBuffer} message message to hash\n * @returns {Md5} Md5 object.\n * @example\n * var hash = md5.update('The quick brown fox jumps over the lazy dog');\n * // equal to\n * var hash = md5.create();\n * hash.update('The quick brown fox jumps over the lazy dog');\n */\n var createMethod = function () {\n var method = createOutputMethod('hex');\n if (NODE_JS) {\n method = nodeWrap(method);\n }\n method.create = function () {\n return new Md5();\n };\n method.update = function (message) {\n return method.create().update(message);\n };\n for (var i = 0; i < OUTPUT_TYPES.length; ++i) {\n var type = OUTPUT_TYPES[i];\n method[type] = createOutputMethod(type);\n }\n return method;\n };\n\n var nodeWrap = function (method) {\n var crypto = eval(\"require('crypto')\");\n var Buffer = eval(\"require('buffer').Buffer\");\n var nodeMethod = function (message) {\n if (typeof message === 'string') {\n return crypto.createHash('md5').update(message, 'utf8').digest('hex');\n } else {\n if (message === null || message === undefined) {\n throw ERROR;\n } else if (message.constructor === ArrayBuffer) {\n message = new Uint8Array(message);\n }\n }\n if (Array.isArray(message) || ArrayBuffer.isView(message) ||\n message.constructor === Buffer) {\n return crypto.createHash('md5').update(new Buffer(message)).digest('hex');\n } else {\n return method(message);\n }\n };\n return nodeMethod;\n };\n\n /**\n * Md5 class\n * @class Md5\n * @description This is internal class.\n * @see {@link md5.create}\n */\n function Md5(sharedMemory) {\n if (sharedMemory) {\n blocks[0] = blocks[16] = blocks[1] = blocks[2] = blocks[3] =\n blocks[4] = blocks[5] = blocks[6] = blocks[7] =\n blocks[8] = blocks[9] = blocks[10] = blocks[11] =\n blocks[12] = blocks[13] = blocks[14] = blocks[15] = 0;\n this.blocks = blocks;\n this.buffer8 = buffer8;\n } else {\n if (ARRAY_BUFFER) {\n var buffer = new ArrayBuffer(68);\n this.buffer8 = new Uint8Array(buffer);\n this.blocks = new Uint32Array(buffer);\n } else {\n this.blocks = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];\n }\n }\n this.h0 = this.h1 = this.h2 = this.h3 = this.start = this.bytes = this.hBytes = 0;\n this.finalized = this.hashed = false;\n this.first = true;\n }\n\n /**\n * @method update\n * @memberof Md5\n * @instance\n * @description Update hash\n * @param {String|Array|Uint8Array|ArrayBuffer} message message to hash\n * @returns {Md5} Md5 object.\n * @see {@link md5.update}\n */\n Md5.prototype.update = function (message) {\n if (this.finalized) {\n return;\n }\n\n var notString, type = typeof message;\n if (type !== 'string') {\n if (type === 'object') {\n if (message === null) {\n throw ERROR;\n } else if (ARRAY_BUFFER && message.constructor === ArrayBuffer) {\n message = new Uint8Array(message);\n } else if (!Array.isArray(message)) {\n if (!ARRAY_BUFFER || !ArrayBuffer.isView(message)) {\n throw ERROR;\n }\n }\n } else {\n throw ERROR;\n }\n notString = true;\n }\n var code, index = 0, i, length = message.length, blocks = this.blocks;\n var buffer8 = this.buffer8;\n\n while (index < length) {\n if (this.hashed) {\n this.hashed = false;\n blocks[0] = blocks[16];\n blocks[16] = blocks[1] = blocks[2] = blocks[3] =\n blocks[4] = blocks[5] = blocks[6] = blocks[7] =\n blocks[8] = blocks[9] = blocks[10] = blocks[11] =\n blocks[12] = blocks[13] = blocks[14] = blocks[15] = 0;\n }\n\n if (notString) {\n if (ARRAY_BUFFER) {\n for (i = this.start; index < length && i < 64; ++index) {\n buffer8[i++] = message[index];\n }\n } else {\n for (i = this.start; index < length && i < 64; ++index) {\n blocks[i >> 2] |= message[index] << SHIFT[i++ & 3];\n }\n }\n } else {\n if (ARRAY_BUFFER) {\n for (i = this.start; index < length && i < 64; ++index) {\n code = message.charCodeAt(index);\n if (code < 0x80) {\n buffer8[i++] = code;\n } else if (code < 0x800) {\n buffer8[i++] = 0xc0 | (code >> 6);\n buffer8[i++] = 0x80 | (code & 0x3f);\n } else if (code < 0xd800 || code >= 0xe000) {\n buffer8[i++] = 0xe0 | (code >> 12);\n buffer8[i++] = 0x80 | ((code >> 6) & 0x3f);\n buffer8[i++] = 0x80 | (code & 0x3f);\n } else {\n code = 0x10000 + (((code & 0x3ff) << 10) | (message.charCodeAt(++index) & 0x3ff));\n buffer8[i++] = 0xf0 | (code >> 18);\n buffer8[i++] = 0x80 | ((code >> 12) & 0x3f);\n buffer8[i++] = 0x80 | ((code >> 6) & 0x3f);\n buffer8[i++] = 0x80 | (code & 0x3f);\n }\n }\n } else {\n for (i = this.start; index < length && i < 64; ++index) {\n code = message.charCodeAt(index);\n if (code < 0x80) {\n blocks[i >> 2] |= code << SHIFT[i++ & 3];\n } else if (code < 0x800) {\n blocks[i >> 2] |= (0xc0 | (code >> 6)) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3];\n } else if (code < 0xd800 || code >= 0xe000) {\n blocks[i >> 2] |= (0xe0 | (code >> 12)) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | ((code >> 6) & 0x3f)) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3];\n } else {\n code = 0x10000 + (((code & 0x3ff) << 10) | (message.charCodeAt(++index) & 0x3ff));\n blocks[i >> 2] |= (0xf0 | (code >> 18)) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | ((code >> 12) & 0x3f)) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | ((code >> 6) & 0x3f)) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3];\n }\n }\n }\n }\n this.lastByteIndex = i;\n this.bytes += i - this.start;\n if (i >= 64) {\n this.start = i - 64;\n this.hash();\n this.hashed = true;\n } else {\n this.start = i;\n }\n }\n if (this.bytes > 4294967295) {\n this.hBytes += this.bytes / 4294967296 << 0;\n this.bytes = this.bytes % 4294967296;\n }\n return this;\n };\n\n Md5.prototype.finalize = function () {\n if (this.finalized) {\n return;\n }\n this.finalized = true;\n var blocks = this.blocks, i = this.lastByteIndex;\n blocks[i >> 2] |= EXTRA[i & 3];\n if (i >= 56) {\n if (!this.hashed) {\n this.hash();\n }\n blocks[0] = blocks[16];\n blocks[16] = blocks[1] = blocks[2] = blocks[3] =\n blocks[4] = blocks[5] = blocks[6] = blocks[7] =\n blocks[8] = blocks[9] = blocks[10] = blocks[11] =\n blocks[12] = blocks[13] = blocks[14] = blocks[15] = 0;\n }\n blocks[14] = this.bytes << 3;\n blocks[15] = this.hBytes << 3 | this.bytes >>> 29;\n this.hash();\n };\n\n Md5.prototype.hash = function () {\n var a, b, c, d, bc, da, blocks = this.blocks;\n\n if (this.first) {\n a = blocks[0] - 680876937;\n a = (a << 7 | a >>> 25) - 271733879 << 0;\n d = (-1732584194 ^ a & 2004318071) + blocks[1] - 117830708;\n d = (d << 12 | d >>> 20) + a << 0;\n c = (-271733879 ^ (d & (a ^ -271733879))) + blocks[2] - 1126478375;\n c = (c << 17 | c >>> 15) + d << 0;\n b = (a ^ (c & (d ^ a))) + blocks[3] - 1316259209;\n b = (b << 22 | b >>> 10) + c << 0;\n } else {\n a = this.h0;\n b = this.h1;\n c = this.h2;\n d = this.h3;\n a += (d ^ (b & (c ^ d))) + blocks[0] - 680876936;\n a = (a << 7 | a >>> 25) + b << 0;\n d += (c ^ (a & (b ^ c))) + blocks[1] - 389564586;\n d = (d << 12 | d >>> 20) + a << 0;\n c += (b ^ (d & (a ^ b))) + blocks[2] + 606105819;\n c = (c << 17 | c >>> 15) + d << 0;\n b += (a ^ (c & (d ^ a))) + blocks[3] - 1044525330;\n b = (b << 22 | b >>> 10) + c << 0;\n }\n\n a += (d ^ (b & (c ^ d))) + blocks[4] - 176418897;\n a = (a << 7 | a >>> 25) + b << 0;\n d += (c ^ (a & (b ^ c))) + blocks[5] + 1200080426;\n d = (d << 12 | d >>> 20) + a << 0;\n c += (b ^ (d & (a ^ b))) + blocks[6] - 1473231341;\n c = (c << 17 | c >>> 15) + d << 0;\n b += (a ^ (c & (d ^ a))) + blocks[7] - 45705983;\n b = (b << 22 | b >>> 10) + c << 0;\n a += (d ^ (b & (c ^ d))) + blocks[8] + 1770035416;\n a = (a << 7 | a >>> 25) + b << 0;\n d += (c ^ (a & (b ^ c))) + blocks[9] - 1958414417;\n d = (d << 12 | d >>> 20) + a << 0;\n c += (b ^ (d & (a ^ b))) + blocks[10] - 42063;\n c = (c << 17 | c >>> 15) + d << 0;\n b += (a ^ (c & (d ^ a))) + blocks[11] - 1990404162;\n b = (b << 22 | b >>> 10) + c << 0;\n a += (d ^ (b & (c ^ d))) + blocks[12] + 1804603682;\n a = (a << 7 | a >>> 25) + b << 0;\n d += (c ^ (a & (b ^ c))) + blocks[13] - 40341101;\n d = (d << 12 | d >>> 20) + a << 0;\n c += (b ^ (d & (a ^ b))) + blocks[14] - 1502002290;\n c = (c << 17 | c >>> 15) + d << 0;\n b += (a ^ (c & (d ^ a))) + blocks[15] + 1236535329;\n b = (b << 22 | b >>> 10) + c << 0;\n a += (c ^ (d & (b ^ c))) + blocks[1] - 165796510;\n a = (a << 5 | a >>> 27) + b << 0;\n d += (b ^ (c & (a ^ b))) + blocks[6] - 1069501632;\n d = (d << 9 | d >>> 23) + a << 0;\n c += (a ^ (b & (d ^ a))) + blocks[11] + 643717713;\n c = (c << 14 | c >>> 18) + d << 0;\n b += (d ^ (a & (c ^ d))) + blocks[0] - 373897302;\n b = (b << 20 | b >>> 12) + c << 0;\n a += (c ^ (d & (b ^ c))) + blocks[5] - 701558691;\n a = (a << 5 | a >>> 27) + b << 0;\n d += (b ^ (c & (a ^ b))) + blocks[10] + 38016083;\n d = (d << 9 | d >>> 23) + a << 0;\n c += (a ^ (b & (d ^ a))) + blocks[15] - 660478335;\n c = (c << 14 | c >>> 18) + d << 0;\n b += (d ^ (a & (c ^ d))) + blocks[4] - 405537848;\n b = (b << 20 | b >>> 12) + c << 0;\n a += (c ^ (d & (b ^ c))) + blocks[9] + 568446438;\n a = (a << 5 | a >>> 27) + b << 0;\n d += (b ^ (c & (a ^ b))) + blocks[14] - 1019803690;\n d = (d << 9 | d >>> 23) + a << 0;\n c += (a ^ (b & (d ^ a))) + blocks[3] - 187363961;\n c = (c << 14 | c >>> 18) + d << 0;\n b += (d ^ (a & (c ^ d))) + blocks[8] + 1163531501;\n b = (b << 20 | b >>> 12) + c << 0;\n a += (c ^ (d & (b ^ c))) + blocks[13] - 1444681467;\n a = (a << 5 | a >>> 27) + b << 0;\n d += (b ^ (c & (a ^ b))) + blocks[2] - 51403784;\n d = (d << 9 | d >>> 23) + a << 0;\n c += (a ^ (b & (d ^ a))) + blocks[7] + 1735328473;\n c = (c << 14 | c >>> 18) + d << 0;\n b += (d ^ (a & (c ^ d))) + blocks[12] - 1926607734;\n b = (b << 20 | b >>> 12) + c << 0;\n bc = b ^ c;\n a += (bc ^ d) + blocks[5] - 378558;\n a = (a << 4 | a >>> 28) + b << 0;\n d += (bc ^ a) + blocks[8] - 2022574463;\n d = (d << 11 | d >>> 21) + a << 0;\n da = d ^ a;\n c += (da ^ b) + blocks[11] + 1839030562;\n c = (c << 16 | c >>> 16) + d << 0;\n b += (da ^ c) + blocks[14] - 35309556;\n b = (b << 23 | b >>> 9) + c << 0;\n bc = b ^ c;\n a += (bc ^ d) + blocks[1] - 1530992060;\n a = (a << 4 | a >>> 28) + b << 0;\n d += (bc ^ a) + blocks[4] + 1272893353;\n d = (d << 11 | d >>> 21) + a << 0;\n da = d ^ a;\n c += (da ^ b) + blocks[7] - 155497632;\n c = (c << 16 | c >>> 16) + d << 0;\n b += (da ^ c) + blocks[10] - 1094730640;\n b = (b << 23 | b >>> 9) + c << 0;\n bc = b ^ c;\n a += (bc ^ d) + blocks[13] + 681279174;\n a = (a << 4 | a >>> 28) + b << 0;\n d += (bc ^ a) + blocks[0] - 358537222;\n d = (d << 11 | d >>> 21) + a << 0;\n da = d ^ a;\n c += (da ^ b) + blocks[3] - 722521979;\n c = (c << 16 | c >>> 16) + d << 0;\n b += (da ^ c) + blocks[6] + 76029189;\n b = (b << 23 | b >>> 9) + c << 0;\n bc = b ^ c;\n a += (bc ^ d) + blocks[9] - 640364487;\n a = (a << 4 | a >>> 28) + b << 0;\n d += (bc ^ a) + blocks[12] - 421815835;\n d = (d << 11 | d >>> 21) + a << 0;\n da = d ^ a;\n c += (da ^ b) + blocks[15] + 530742520;\n c = (c << 16 | c >>> 16) + d << 0;\n b += (da ^ c) + blocks[2] - 995338651;\n b = (b << 23 | b >>> 9) + c << 0;\n a += (c ^ (b | ~d)) + blocks[0] - 198630844;\n a = (a << 6 | a >>> 26) + b << 0;\n d += (b ^ (a | ~c)) + blocks[7] + 1126891415;\n d = (d << 10 | d >>> 22) + a << 0;\n c += (a ^ (d | ~b)) + blocks[14] - 1416354905;\n c = (c << 15 | c >>> 17) + d << 0;\n b += (d ^ (c | ~a)) + blocks[5] - 57434055;\n b = (b << 21 | b >>> 11) + c << 0;\n a += (c ^ (b | ~d)) + blocks[12] + 1700485571;\n a = (a << 6 | a >>> 26) + b << 0;\n d += (b ^ (a | ~c)) + blocks[3] - 1894986606;\n d = (d << 10 | d >>> 22) + a << 0;\n c += (a ^ (d | ~b)) + blocks[10] - 1051523;\n c = (c << 15 | c >>> 17) + d << 0;\n b += (d ^ (c | ~a)) + blocks[1] - 2054922799;\n b = (b << 21 | b >>> 11) + c << 0;\n a += (c ^ (b | ~d)) + blocks[8] + 1873313359;\n a = (a << 6 | a >>> 26) + b << 0;\n d += (b ^ (a | ~c)) + blocks[15] - 30611744;\n d = (d << 10 | d >>> 22) + a << 0;\n c += (a ^ (d | ~b)) + blocks[6] - 1560198380;\n c = (c << 15 | c >>> 17) + d << 0;\n b += (d ^ (c | ~a)) + blocks[13] + 1309151649;\n b = (b << 21 | b >>> 11) + c << 0;\n a += (c ^ (b | ~d)) + blocks[4] - 145523070;\n a = (a << 6 | a >>> 26) + b << 0;\n d += (b ^ (a | ~c)) + blocks[11] - 1120210379;\n d = (d << 10 | d >>> 22) + a << 0;\n c += (a ^ (d | ~b)) + blocks[2] + 718787259;\n c = (c << 15 | c >>> 17) + d << 0;\n b += (d ^ (c | ~a)) + blocks[9] - 343485551;\n b = (b << 21 | b >>> 11) + c << 0;\n\n if (this.first) {\n this.h0 = a + 1732584193 << 0;\n this.h1 = b - 271733879 << 0;\n this.h2 = c - 1732584194 << 0;\n this.h3 = d + 271733878 << 0;\n this.first = false;\n } else {\n this.h0 = this.h0 + a << 0;\n this.h1 = this.h1 + b << 0;\n this.h2 = this.h2 + c << 0;\n this.h3 = this.h3 + d << 0;\n }\n };\n\n /**\n * @method hex\n * @memberof Md5\n * @instance\n * @description Output hash as hex string\n * @returns {String} Hex string\n * @see {@link md5.hex}\n * @example\n * hash.hex();\n */\n Md5.prototype.hex = function () {\n this.finalize();\n\n var h0 = this.h0, h1 = this.h1, h2 = this.h2, h3 = this.h3;\n\n return HEX_CHARS[(h0 >> 4) & 0x0F] + HEX_CHARS[h0 & 0x0F] +\n HEX_CHARS[(h0 >> 12) & 0x0F] + HEX_CHARS[(h0 >> 8) & 0x0F] +\n HEX_CHARS[(h0 >> 20) & 0x0F] + HEX_CHARS[(h0 >> 16) & 0x0F] +\n HEX_CHARS[(h0 >> 28) & 0x0F] + HEX_CHARS[(h0 >> 24) & 0x0F] +\n HEX_CHARS[(h1 >> 4) & 0x0F] + HEX_CHARS[h1 & 0x0F] +\n HEX_CHARS[(h1 >> 12) & 0x0F] + HEX_CHARS[(h1 >> 8) & 0x0F] +\n HEX_CHARS[(h1 >> 20) & 0x0F] + HEX_CHARS[(h1 >> 16) & 0x0F] +\n HEX_CHARS[(h1 >> 28) & 0x0F] + HEX_CHARS[(h1 >> 24) & 0x0F] +\n HEX_CHARS[(h2 >> 4) & 0x0F] + HEX_CHARS[h2 & 0x0F] +\n HEX_CHARS[(h2 >> 12) & 0x0F] + HEX_CHARS[(h2 >> 8) & 0x0F] +\n HEX_CHARS[(h2 >> 20) & 0x0F] + HEX_CHARS[(h2 >> 16) & 0x0F] +\n HEX_CHARS[(h2 >> 28) & 0x0F] + HEX_CHARS[(h2 >> 24) & 0x0F] +\n HEX_CHARS[(h3 >> 4) & 0x0F] + HEX_CHARS[h3 & 0x0F] +\n HEX_CHARS[(h3 >> 12) & 0x0F] + HEX_CHARS[(h3 >> 8) & 0x0F] +\n HEX_CHARS[(h3 >> 20) & 0x0F] + HEX_CHARS[(h3 >> 16) & 0x0F] +\n HEX_CHARS[(h3 >> 28) & 0x0F] + HEX_CHARS[(h3 >> 24) & 0x0F];\n };\n\n /**\n * @method toString\n * @memberof Md5\n * @instance\n * @description Output hash as hex string\n * @returns {String} Hex string\n * @see {@link md5.hex}\n * @example\n * hash.toString();\n */\n Md5.prototype.toString = Md5.prototype.hex;\n\n /**\n * @method digest\n * @memberof Md5\n * @instance\n * @description Output hash as bytes array\n * @returns {Array} Bytes array\n * @see {@link md5.digest}\n * @example\n * hash.digest();\n */\n Md5.prototype.digest = function () {\n this.finalize();\n\n var h0 = this.h0, h1 = this.h1, h2 = this.h2, h3 = this.h3;\n return [\n h0 & 0xFF, (h0 >> 8) & 0xFF, (h0 >> 16) & 0xFF, (h0 >> 24) & 0xFF,\n h1 & 0xFF, (h1 >> 8) & 0xFF, (h1 >> 16) & 0xFF, (h1 >> 24) & 0xFF,\n h2 & 0xFF, (h2 >> 8) & 0xFF, (h2 >> 16) & 0xFF, (h2 >> 24) & 0xFF,\n h3 & 0xFF, (h3 >> 8) & 0xFF, (h3 >> 16) & 0xFF, (h3 >> 24) & 0xFF\n ];\n };\n\n /**\n * @method array\n * @memberof Md5\n * @instance\n * @description Output hash as bytes array\n * @returns {Array} Bytes array\n * @see {@link md5.array}\n * @example\n * hash.array();\n */\n Md5.prototype.array = Md5.prototype.digest;\n\n /**\n * @method arrayBuffer\n * @memberof Md5\n * @instance\n * @description Output hash as ArrayBuffer\n * @returns {ArrayBuffer} ArrayBuffer\n * @see {@link md5.arrayBuffer}\n * @example\n * hash.arrayBuffer();\n */\n Md5.prototype.arrayBuffer = function () {\n this.finalize();\n\n var buffer = new ArrayBuffer(16);\n var blocks = new Uint32Array(buffer);\n blocks[0] = this.h0;\n blocks[1] = this.h1;\n blocks[2] = this.h2;\n blocks[3] = this.h3;\n return buffer;\n };\n\n /**\n * @method buffer\n * @deprecated This maybe confuse with Buffer in node.js. Please use arrayBuffer instead.\n * @memberof Md5\n * @instance\n * @description Output hash as ArrayBuffer\n * @returns {ArrayBuffer} ArrayBuffer\n * @see {@link md5.buffer}\n * @example\n * hash.buffer();\n */\n Md5.prototype.buffer = Md5.prototype.arrayBuffer;\n\n /**\n * @method base64\n * @memberof Md5\n * @instance\n * @description Output hash as base64 string\n * @returns {String} base64 string\n * @see {@link md5.base64}\n * @example\n * hash.base64();\n */\n Md5.prototype.base64 = function () {\n var v1, v2, v3, base64Str = '', bytes = this.array();\n for (var i = 0; i < 15;) {\n v1 = bytes[i++];\n v2 = bytes[i++];\n v3 = bytes[i++];\n base64Str += BASE64_ENCODE_CHAR[v1 >>> 2] +\n BASE64_ENCODE_CHAR[(v1 << 4 | v2 >>> 4) & 63] +\n BASE64_ENCODE_CHAR[(v2 << 2 | v3 >>> 6) & 63] +\n BASE64_ENCODE_CHAR[v3 & 63];\n }\n v1 = bytes[i];\n base64Str += BASE64_ENCODE_CHAR[v1 >>> 2] +\n BASE64_ENCODE_CHAR[(v1 << 4) & 63] +\n '==';\n return base64Str;\n };\n\n var exports = createMethod();\n\n if (COMMON_JS) {\n module.exports = exports;\n } else {\n /**\n * @method md5\b\n * @description Md5 hash function, export to global in browsers.\n * @param {String|Array|Uint8Array|ArrayBuffer} message message to hash\n * @returns {String} md5 hashes\n * @example\n * md5(''); // d41d8cd98f00b204e9800998ecf8427e\n * md5('The quick brown fox jumps over the lazy dog'); // 9e107d9d372bb6826bd81d3542a419d6\n * md5('The quick brown fox jumps over the lazy dog.'); // e4d909c290d0fb1ca068ffaddf22cbd0\n *\n * // It also supports UTF-8 encoding\n * md5('中文'); // a7bac2239fcdcb3a067903d8077c4a07\n *\n * // It also supports byte `Array`, `Uint8Array`, `ArrayBuffer`\n * md5([]); // d41d8cd98f00b204e9800998ecf8427e\n * md5(new Uint8Array([])); // d41d8cd98f00b204e9800998ecf8427e\n */\n root.md5 = exports;\n if (AMD) {\n define(function () {\n return exports;\n });\n }\n }\n})();\n"],"sourceRoot":""}